статья

Как написать смарт-контракт?

Ethereum, Solidity, Гейвин Вуд
Либертарианская концепция частных денег нобелевского лауреата Хайека постепенно находит свое воплощение в технологиях наподобие Блокчейн и Etherеum. И если Хайек описывал только лишь концептуальную возможность замены государственных финансовых инструментов частными, то современные технологии пошли гораздо дальше. Информатика и возможности современных компьютеров придали довольно абстрактной идее обрамление в виде конкретной реализации. Криптовалютные системы обросли множеством технологических нюансов, одним из которых является использование так называемых умных, или смарт-контрактов. Что это такое?



Что такое смарт-контракт?

Идеологически смарт-контракт ни чем не отличается от контракта обыкновенного. В нем прописаны участники сторон (подписанты), условия заключения контракта, а также предмет сделки. Однако за концептуальной схожестью скрываются принципиальные различия в деталях. Смарт-контракт – это не бумажная форма, с перечнем пунктов и подпунктов, по сути это специальная компьютерная программа, написанная на особом языке программирования, разработанном для платформы Ethereum. Назвали этот язык – «Solidity», что довольно символично, учитывая его назначение. При написании программ на Solidity учитываются принципиальные особенности систем криптовалют, например, механизмы защиты информации контрактов при помощи алгоритмов «цифровой подписи». А также то, что такие системы являются распределенными.

Семантика и синтаксис Solidity были предложены Гэйвином Вудом, а первую практическую реализацию этого JavaScript-подобного языка выполнил Кристиан Райтвизнер специально для проекта Ethereum. Таким образом, из стандартизированной бумажной спецификации контракт превратился в компьютерный алгоритм на особом объектно-ориентрованном языке со статической типизацией. Такая его специфика предъявляет к оформителю контракта особые требования: он, как минимум, не должен быть профаном в области программирования.


Можно ли составить смарт-контракт самостоятельно?

Как было сказано в знаменитом новогоднем советском еще фильме: «Можно и зайца научит курить». Только станет ли от этого хорошо зайцу? Если вы готовы:

  • Изучить программирование в объеме достаточном для составления смарт-контрактов.
  • Нести финансовую ответственность за собственную невнимательность и возможные ошибки в коде на Solidity.
  • Тратить время и силы на занятия, в сущности, не входящие в круг ваших потребностей и интересов.

Тогда можно смело садиться за штудирование «толмуда» по Solidity, изучению понятий инкапсуляции, полиморфизма и наследования и прояснению для себя тонкостей внутренней архитектуры платформы Ethereum. Если же вы не настолько расточительны и самоуверенны – воспользуйтесь услугами специалистов. Поверьте, это не только позволит сэкономить время и деньги, но и даст возможность быстрее заработать на операциях с криптовалютой.