Что такое смарт-контракты простыми словами: разработка и применение, преимущества и недостатки + перспективы смарт-контрактов
Здравствуйте! В этой статье мы поговорим про смарт-контракты.
Блокчейн-технологии все глубже проникают в нашу жизнь. Началось все с обычного вызова обществу и создания новой платежной системы. Но уже сейчас на блокчейне создается много интересных проектов, которые могут сделать нашу жизнь лучше. Об одной из таких технологий я и хочу вам рассказать. Из этой статьи вы узнаете, что такое смарт-контракты, зачем они нужны, как с ними работать и каковы перспективы их развития.
Содержание
Что такое смарт-контракты простыми словами
Смарт-контракты — это компьютерный алгоритм, предназначенный для заключения и поддержания коммерческих контрактов в технологии блокчейн.
Простым языком, смарт-контракты — это сделка, записанная через блокчейн, условия которой невозможно нарушить. Все заранее прописывается в соглашении между сторонами. После этого проверяется выполнение заданных условий. И если все правильно, сделка считается действительной. Если была какая-то ошибка, и один из участников что-то не выполнил, контракт сразу же аннулируется.
Первая страна, которая официально внедрила смарт-контракты — Беларусь.
Смарт-контракты — интересный и перспективный инструмент. Он конкурирует сразу с двумя крупными сферами: предоставление гарантий и страхование. Если контракты выйдут в массы, и компании начнут их активно использовать, то это сражение будет выиграно, даже не начавшись. Гарантии и страхование обходятся слишком дорого. А если будет автоматическая система, которая позволяет все контролировать с минимальными вложениями, старым способам придется уйти.
Но пока это вопрос далекого будущего. Не все готовы применять новые модели заключения сделок. Кто-то боится, что партнеры его не так поймут. Кто-то не совсем понимает, как правильно нужно работать со смарт-контрактами. А некоторые и вовсе считают их чем-то ненадежным. Но со временем, когда сервис будет доработан и начнет активно внедряться в повседневный бизнес, смарт-контракты должны захватить рынок.
Как возникли смарт-контракты
Идея смарт-контрактов возникла еще в 1994 году. Ник Сабо придумал концепцию, но у него не хватило ресурсов, чтобы реализовать ее. Но именно его принято считать основателем индустрии смарт-контрактов.
Практически реализовать все задумки Ника можно было только в 2008 году с появлением биткоина и блокчейна. Но тогда на эту «игрушку» еще никто не обратил внимания. А зря.
Пользователи биткоина хотели реализовать на своей площадке систему умных контрактов. У них не получилось это сделать. Так что проект был отложен вплоть до 2013 года. Тогда основатель журнала Bitcoin Magazine Виталик Бутерин пришел к выводу, что технологию блокчейн можно использовать не только в криптовалютах. Так появилась монета Ethereum и первые смарт-контракты.
Концепция была в следующем: можно создавать любые операции на новой платформе. Главное, чтобы условия были понятны и описаны математическим языком.
Потом эта концепция еще какое-то время доводилась до ума и предстала в финальной версии на суд общественности. Смарт-контракты эфира стали первыми, которые в точности сделали то, что описывал Ник Сабо еще в 1994 году.
Криптовалюты со смарт-контрактами
Кроме эфира, смарт-контракты ввели и другие криптовалюты. Среди них:
- Форки (отдельные ветви) биткоина — Super Bitcoin, Bitcoin God.
- NEO — китайский аналог эфира. Криптовалюты идентичны практически во всем, но NEO, помимо основного функционала, позволяет еще работать с популярными языками программирования вроде Java, Python, GO.
- NXT — криптовалюта с возможностью выбора смарт-контракта из шаблонов. Пока их очень мало, но в будущем планируют расширяться и добавлять функцию кастомизации контрактов.
- Cardano — криптовалюта, которая позиционируется как «блокчейн третьего поколения». Смарт-контракты практически ничем не отличаются от эфириума.
- Sawtooth — новый проект, который появился в конце 2018 года. Поддерживает умные контракты на языке Solidity.
Несмотря на большое количество конкурентов, Ethereum все еще остается главным в индустрии умных контрактов. Реальных конкурентов, которые могли бы похвастаться капитализацией, доверием инвесторов и пользователей, все еще не придумали. Сможет ли эфириум найти себе конкурента, или создатели криптовалюты на ICO так и будут впустую рассказывать о том, что они сместят с рынка Ethereum, покажет время.
Принципы работы умных контрактов
Прежде чем говорить о принципах работы смарт-контрактов, нужно понять одну вещь:
Транзакция в блокчейне — это не только перевод денег из одного кошелька в другой. Это передача информации или совершение какого-то действия.
Теперь о том, как работают смарт-контракты:
- Пользователь составляет контракт и загружает его в систему.
- Контракт посылают в сеть.
- Большая сеть компьютеров (НОДы), которые подключены к системе, проверяют этот контракт.
- Если все правильно, то они отправляют его на исполнение.
- Программное обеспечение, которое лежит в основе контрактов, отслеживает выполнение операции.
- Условия контракта зависают в системе. Но это проще рассказать на примере. Вы хотите получить акции и расплатиться деньгами. В контракте это прописано. Теперь ваши деньги зависают в системе, вы не можете ничего сделать. Вам продают акции, которые система также принимает и оставляет у себя.
- Если все правильно, то обе стороны получают то, что прописано в условиях контракта. В нашем примере — покупатель получает акции, а продавец — деньги.
- Контракт считается выполненным.
Для того чтобы получать внешние данные и сравнивать их с условия контракта, есть специальные программы — Оракулы. Причина их появления — в блокчейне нет многих данных, таких как курсы валют, платежей, статуса работ и так далее. Ethereum чаще всего пользуется Oraclize.
Главное в этой схеме — подтверждение информации ото всех участников сети. Блокчейн — открытая система, где каждый может получить доступ ко всем данным. И при проверке нодами они сверяются со своим алгоритмом, ищут, все ли было сделано, и если большинство проголосовало «за», контракт будет исполнен.
Такая проверка позволяет исключить все уязвимости внутри системы. Если при единичной проверке возможны сбои и играл бы свою роль человеческий фактор, то при массовой проверке всеми машинами вероятность ошибки стремится к 0. Единственный случай, когда блокчейн может дать сбой — уязвимость на 51%. Это если бы один человек или какая-то компания владела более половиной мощности всей сети. Но для этого нужны огромные ресурсы, которых нет ни у кого в мире.
Преимущества и недостатки смарт-контрактов
Смарт-контракт, как и любой продукт, имеют свои преимущества и недостатки.
Поговорим сначала о плюсах:
- Надежность. Несмотря на то, что компьютерные программы имеют свои слабые места, блокчейн сейчас — самый надежный способ работы с данными.
- Независимость. Не нужны третьи лица, которые будут контролировать сделки.
- Открытый доступ к информации. Во-первых, это публичность, которая нужна многим финансовым сферам, а во-вторых, данные хранятся на множестве компьютеров сразу, поэтому уничтожить их попросту невозможно.
- Экономия денег и времени. Исключая посредников, мы уже экономим значительную часть бюджета и времени на постоянное согласование. Но и сами транзакции в системе стоят дешево.
- Точность. При написании контрактов практически исключается человеческий фактор. Есть только программист, но его работу можно проконтролировать в тестовой версии.
Плюсы действительно весомые. Но недостатки тоже существенны:
- Линейность. Смарт-контракты могут работать только с простыми вещами, у которых есть заранее заданные условия, от которых нельзя отступать.
- Слабое регулирование. Нет экосистемы, которая могла бы позволить смарт-контрактам стать полноценным инструментом. Это не юридический документ, он не имеет силы. Государство не признает смарт-контракт как полноценный договор.
- Ошибки и баги. это сразу два минуса. Если контракт написан неправильно, его нельзя изменить, придется создавать новый. А инструмент не до конца изучен, поэтому баги тоже придется постоянно тестировать.
- Медленная работа. Большинство криптовалют не могут похвастаться быстрой передачей информации. Скорость передачи транзакций эфира — 20 штук в секунду. Думаете, это много? Visa проводит 24 000 операций в секунду.
Глобальные недостатки смарт-контрактов тоже есть. Но они касаются социальных и экономических сфер, а не работы продукта. Вот пара примеров:
- Полное вытеснение с рынка отдельных сфер. Это приведет к тому, что страхование и банковские гарантии станут менее выгодными, компании начнут закрываться, а альтернативы этому рынку, с точки зрения рабочих мест и взаимодействия с людьми, пока нет.
- Смарт-контракты могут быть объектом воздействия извне. Как и любая компьютерная система, она имеет свои уязвимости, даже несмотря на стабильность работы. Мы уже говорили об уязвимости 51%, и сейчас над этим активно думают, ведь в один момент все-таки может оказаться такая ситуация, когда в руках человека или компании будет доступ к целому токену.
Несмотря на все разговоры о том, что смарт-контракты — это прорыв, который полностью изменит наше будущее, сейчас они далеки от совершенства. Законодательное регулирование — главная проблема, которую нужно как-то решать. Но компании, которые занимаются разработкой блокчейн-проектов, вообще никак не могут влиять на политическую систему страны. Поэтому остается надеяться, что через несколько лет страны начнут приходить к тому, что блокчейн-сфера — будущее. И когда-нибудь власть найдет способ контролировать ее, не меняя принципов работы.
Виды смарт-контрактов
Смарт-контракты классифицирует по степени автоматизации. Всего три вида:
- Полностью автоматизированные. Никаких письменных документов не хранится.
- Частично автоматизированные, когда хранится только письменная копия контракта.
- Частично автоматизированные, когда все документы хранятся в письменном виде, а смарт-контракт — всего лишь инструмент для контроля.
На практике чаще всего применяют именно третий вариант. Это связано с тем, что сфера умных контрактов на законодательном уровне плохо регулируется, а договоры в таком виде не будут иметь юридической силы, если их не зафиксировать на каком-то носителе.
Да и обращаться в суд с компьютерным кодом будет проблематично. В любом случае потребуются письменные документы и подтверждения.
Где применяются смарт-контракты
Пока еще смарт-контракты не получили должного внимания со стороны крупных компаний и фирм в финансовом и юридическом поле. Инструмент новый, не все ему доверяют, а те, кто верит в успех, все еще может сомневаться, ведь историй о том, как мошенники получили огромные суммы из-за уязвимости блокчейна, в сети не один десяток. Смарт-контракты используют лишь те, кому нужно выполнение каких-то простых условий, или те, кто работает с технологией блокчейн.
Самая удобная ниша для использования смарт-контрактов — привлечение средств в собственный проект.
Очень просто создавать контракты для инвестирования. Можно задавать линейные условия, которые программа будет автоматически запоминать и исполнять. Смарт-контракты сейчас активно используют при ICO (предварительном выпуске криптовалют).
Программа сама запоминает инвесторов, начисляет им «акции» на необходимую сумму и ведет всю бухгалтерию. А каждый участник в системе получает возможность продавать и покупать акции у других. А еще это хорошая защита от внутреннего мошенничества со стороны компании. В интерфейсе смарт-контрактов невозможно выпустить дополнительные акции или продать что-то по сниженной цене. Такую машину тяжело обмануть, а публичность данных и транзакций делает все попытки бессмысленными.
Рекомендуем прочитать: Заработок на акциях: где купить ценные бумаги, как получать с них дивиденды + в какие акции лучше инвестировать.
Менее популярны смарт-контракты в других нишах: создание и распределение денег в кошельках с несколькими владельцами; в лотереях; казино; при внедрении новых финансовых инструментов; при заключении пари (если программа может проконтролировать условия) и т. д. Практически всю финансовую сферу можно автоматизировать с помощью смарт-контрактов.
Смарт-контракты можно использовать для честных финансовых пирамид и сетевого бизнеса. Если, конечно, слово «честность» здесь, вообще, применимо. Система автоматически будет запоминать вклады, а потом зачислять деньги первоначальному клиенту, который приведет других. Это облегчает бухгалтерию для компании, а вкладчиков защищает от того, что в один момент все деньги просто испарятся.
Смарт-контракты предоставляют гарантии конечным пользователям. Это программа, которая не может обанкротиться, заболеть, уехать в другую страну, и с ней не может приключиться какая-нибудь беда. Если в контракте не будет какого-то неожиданного поворота, все могут посмотреть, где находятся их деньги и какой результат они могут получить от своих действий.
Как создать смарт-контракт
Смарт-контракты пишутся с помощью языков программирования. Вам нужно сначала выбрать систему, в которой вы пишете (криптовалюту), а затем узнать, как там создаются контракты, на каком языке и в каком интерфейсе. Если вы разбираетесь в этом, можете сделать самостоятельно, но если не уверены в своих силах, лучше нанять программиста на аутсорсе.
Смарт-контракты Ethereum составляются на языке Solidity, в интерфейсе программы Remix. Разработчики рекомендуют заливать написанный контракт на тестовую версию, чтобы протестировать стабильность работы и найти баги.
Умные контракты линейны, поэтому чаще всего пишутся с помощью переменных «if — then» (если — то) и «when — do» (когда — сделать). Давайте разберем это на популярном примере, который чаще всего озвучивают при описании смарт-контрактов. Есть торговый автомат. Вы опускаете в него монету. Запускается следующий цикл: если вы опустили монету, то получаете возможность выбрать товар. Когда вы выбрали товар — сделать так, чтобы товар упал покупателю. Примерно такая логика действует в смарт-контрактах.
Вот пример смарт-контракта:
На сайте etherscan.io есть много исходников для создания смарт-контрактов — тысячи примеров того, как можно сделать. Они годны для того, чтобы понять логику построения контрактов и работы по шаблонам.
В 2017 году запустили проект Etherparty, который задумывался как средство для начинающих программистов, чтобы они могли писать свои контракты. Но он не получился таким, как задумывался, ввел свои токены, и основной цели так и не достиг.
Перспективы смарт-контрактов
С криптовалютой в ближайшем будущем все очень сложно. С одной стороны, криптовалюта — перспективный инструмент, и все прекрасно это понимают. Но с другой, государства хотят контролировать крипту. В ближайшем будущем, всем криптовалютные инструменты не будут активно внедряться в сферы бизнеса. Пока к этому инструменту нет должного доверия. И для этого есть повод. В сети можно найти огромное количество историй о том, как уязвимости в криптовалютной системе приносили огромные убытки компаниям.
Если мы говорим о более далеком будущем, то сферы применения смарт-контрактов довольно широки:
- Вся финансовая сфера.
- Наиболее простые области юриспруденции.
- Логистика.
- Любые выборки.
- Идентификации.
- И другие сферы, в которых можно составлять простые контракты.
Умные контракты все еще не приспособлены для того, чтобы их активно внедряли во многих сферах. Механизм создания слишком линейный, результат получается немного топорным, но если разработчикам удастся сделать так, чтобы можно было задавать плавающие условия и переменные, то инструмент можно активно использовать на рынке. А пока этого нет, умные контракты так и будут лишь инструментом для некоторых сделок.
Смарт-контракт — уже не новый, но все еще не до конца освоенный инструмент. Он дает возможность заключать сделки не привлекая посредников. С помощью смарт-контрактов можно контролировать условия выполнения сделки и не совершать ошибок. Инструмент можно внедрять во многие сферы, которые требуют постоянного надзора за исполнением обязательств и сверкой задач. Возможно, уже через пару лет умные контракты начнут вытеснять с рынка страховые компании и банки, предоставляющие гарантии.