Смарт-контракт – это цифровой контракт, написанный с использованием условного компьютерного кода If-Then для определения соглашения между двумя или более сторонами с определенными правилами и штрафами, записанными в блокчейн. Договаривающиеся стороны анонимны, но сам договор транслируется в публичный реестр. Запускающее событие, такое как достижение страйк-цены или достижение даты истечения срока, запускает выполнение контракта в соответствии с условиями соглашения, закодированными в смарт-контракте..
Смарт-контракты – это средство прозрачного, безопасного, бесконфликтного обмена деньгами, акциями, имуществом или активами в любой форме при отсутствии необходимости в посредничестве посредника..
В этой статье мы рассмотрим наиболее широко используемые платформы смарт-контрактов, которые доказали свою эффективность и надежность в различных бизнес-приложениях. Если вы хотите узнать о смарт-контрактах и как они работают, у нас есть курс Академии согласованного интеллекта, в котором они подробно рассматриваются.
Самые популярные платформы смарт-контрактов
Эфириум (ETH)
Ethereum – это децентрализованная платформа на основе блокчейнов, которая запускает смарт-контракты, что также открыло двери для децентрализованных приложений (DApps). Виртуальная машина Ethereum (EVM) – это виртуальная машина, которая выполняет все смарт-контракты. EVM – это 256-битная виртуальная машина Turing Complete. Смарт-контракты на основе Ethereum кодируются с использованием Solidity, который является языком программирования Turing Complete, который позволяет кодировать операторы кода цикла и ветвления. Твердости "Полнота по Тьюрингу" делает Ethereum идеальным для кодирования смарт-контрактов со сложной логикой.
"Газ" является топливом смарт-контрактов Ethereum. Он определяет количество вычислительной мощности, необходимой для выполнения смарт-контрактов через EVM. Когда вы отправляете смарт-контракт, вы должны определить его стоимость в газе. Каждый шаг по коду смарт-контракта требует выполнения заранее определенного количества газа..
Смарт-контракты Ethereum могут:
– Вести себя как "мультиподпись" учетные записи ethereum, так что монеты тратятся только в том случае, если заранее определенное количество пользователей соглашается
– Предлагать полезность для других смарт-контрактов на блокчейне Ethereum
– Записывайте информацию о владении активами, регистрации домена, членских правах, правах приложений и многом другом.
– Управляйте соглашениями между несколькими сторонами, такими как аренда, деловое сотрудничество и страхование
– Быть закодированным для выпуска токенов, таких как токены ICO, используемые для краудфандинга. Существует несколько стандартов токенов, используемых для выпуска токенов на платформе Ethereum, включая стандарты ERC-20, ERC223 и ERC77. ERC-20 – это наиболее часто используемый стандарт для выпуска токенов для целей ICO, несмотря на его серьезные ошибки, которые уже привели к потерям в миллионы долларов в криптоиндустрии..
ERC-20 выполняет транзакцию токена одним из двух способов:
1- transfer (): эта функция запускает отправку токенов на адрес определенного пользователя.
2- Approve () + transferFrom (): эта функция запускает внесение токенов в заранее определенный смарт-контракт..
Однако, если функция transfer () случайно используется для отправки токенов в смарт-контракт, транзакция будет успешно выполнена, но эта транзакция никогда не будет распознана адресом смарт-контракта получателя. Эта ошибка вдохновила разработчиков на создание стандартов ERC223 и ERC77..
– ERC223: этот стандарт смягчает критическую ошибку ERC-20 путем изменения функции transfer (), чтобы она выдавала ошибку в ответ на недопустимые переводы и отменяла транзакцию, чтобы средства не терялись..
– ERC777: этот стандарт решает проблему ERC20, связанную с отсутствием операций обработки транзакций..
Ethereum – популярный выбор для создания смарт-контрактов, однако проблемы масштабируемости платформы делают ее непригодной для многих реальных приложений. Solidity не хватает гибкости кодирования, которая обеспечивается более поздними языками программирования. В Solidity отсутствует поддержка многомерных массивов как во входных, так и в выходных параметрах. Более того, Solidity поддерживает только 16 параметров в рамках функции смарт-контракта..
Несмотря на это, смарт-контракты на основе Ethereum используются в различных приложениях. Например, PCHAIN был первым блокчейн-проектом, в котором была создана собственная многоцепочечная система, полностью поддерживающая виртуальную машину Ethereum (EVM) – среду выполнения для смарт-контрактов Ethereum..
EOS
EOS все больше становится одной из самых популярных платформ смарт-контрактов. Платформа привлекла внимание криптосообщества по множеству причин, а именно: транзакции на платформе требуют почти нулевой комиссии и способность платформы обрабатывать миллионы транзакций в секунду..
Смарт-контракты программируются с использованием C ++, что повышает гибкость программирования. Смарт-контракты EOS реализованы в блокчейне в виде предварительно скомпилированной веб-сборки (WASM), которая способствует более быстрому выполнению контрактов по сравнению со смарт-контрактами на основе Ethereum. WASM компилируется на C / C ++ с помощью clang и LLVM. Разработчики должны знать C / C ++, чтобы иметь возможность кодировать смарт-контракты на блокчейне EOS. Несмотря на то, что C можно использовать для создания контрактов, настоятельно рекомендуется использовать EOS.IO C ++ API, который повышает безопасность контракта и делает его код легко читаемым. EOS использует механизм консенсуса делегированного подтверждения доли (dPoS), который действует с частичной оценкой и параллельным выполнением, чтобы предложить платформу смарт-контрактов с высокими уровнями масштабируемости и почти нулевыми комиссиями за транзакции..
Несмотря на то, что EOS намного менее популярна, чем Ethereum, она установила "сброс" модель в качестве конкурента модели краудфандинга ICO Ethereum.
Aion (AION):
Aion – это платформа смарт-контрактов, которая позволяет маршрутизировать транзакции и сообщения между различными блокчейнами с помощью инновационной "мосты" протоколы. Aion – это многоуровневая сеть, состоящая из следующих компонентов:
– Мосты
– Подключение сетей
– Межцепочные транзакции
– Сети-участники
Мосты Aion позволят осуществлять транзакции между несколькими блокчейнами (межцепочечные транзакции) через экосистему блокчейнов AION. Транзакции между цепями выполняются через мосты и соединительные сети. Соединительные сети представляют собой протоколы, с помощью которых все публичные и частные блокчейны могут взаимодействовать с экосистемой блокчейнов AION. Участвующие сети – это сети, которые выполнили особый набор требований, чтобы стать частью экосистемы блокчейна AION. Сети-участники должны поддерживать трансляцию атомарных транзакций и реализовывать время блокировки, которое позволит им заморозить транзакции, которые входят в состояние "О, держи".
Виртуальная машина Aion (AVM) позволяет выполнять смарт-контракты. AVM – это реализация JVM, предназначенная для выполнения логики цепочки. Язык Aion – это язык сценариев, используемый для программирования смарт-контрактов в AVM. В настоящее время ядро Aion работает на Java, поэтому разработчикам приходится использовать такие языки, как Python или Groovy, для кодирования смарт-контрактов на блокчейне Aion. Однако платформа в конечном итоге будет полагаться на язык Aion для написания смарт-контрактов..
Aion-1 – это отдельная платформа Aion, которая позволяет выполнять смарт-контракты, созданные на других блокчейнах. Прямо сейчас Aion полагается на EVM Ethereum, но в конечном итоге Aion-1 будет активирован и позволит разработчикам запускать свои смарт-контракты и DApps на основе Ethereum намного дешевле и быстрее, чем на EVM..
NEM
NEM – это платформа смарт-контрактов, которая более масштабируема, чем Ethereum. Если Ethereum может обрабатывать 15 транзакций в секунду, NEM может обрабатывать сотни транзакций в секунду. NEM быстрее, безопаснее и предоставляет простую технологию смарт-контрактов. NEM использует код вне блокчейна для программирования смарт-контрактов, что делает блокчейн NEM менее децентрализованным, чем Ethereum, но при этом способствует более высокому уровню безопасности, более быстрому подтверждению транзакций и более легкому программному коду. Сетевые функции безопасности NEM, такие как мультиподпись и интеллектуальные активы, решают эту проблему..
Умные активы – это уникальные приложения для управления данными, которые можно использовать для создания записей данных, токенов, систем голосования и новых монет с использованием простого программного кода. Экстремальная функциональность блокчейна NEM обеспечивается его мощным API, который позволяет использовать любой язык программирования (например, JS, Python и другие) для кодирования смарт-контрактов. API NEM используется для разработки "контракты вне сети", который можно обновлять в любое время, без связи с блокчейном NEM.
Звездный
Stellar – это платформа смарт-контрактов, где транзакции более безопасны, быстрее и дешевле, чем транзакции в блокчейне Ethereum. Звездные смарт-контракты (SSC) не являются полными по Тьюрингу и развертываются в форме запрограммированных соглашений между несколькими сторонами, которые принудительно выполняются транзакциями. Хотя для подтверждения транзакции в цепочке блоков Ethereum требуется около 3,5 минут, для подтверждения транзакции в цепочке блоков Stellar требуется всего около 5 секунд. Комиссия за транзакцию незначительна, в среднем около (0,0001 XLM ~ = 0,0000002 доллара США). SSC можно закодировать с использованием любого языка программирования, такого как Python, JS, PHP, Golang и других, через API Stellar. SSC состоит из транзакций, которые связаны между собой и выполняются с помощью множества ограничений, включая множественные подписи, пакетирование / атомарность, последовательность и временные рамки. Пакетная обработка позволяет включать несколько операций в одну транзакцию. Атомарность гарантирует, что при отправке серии операций в сеть Stellar все операции в транзакции завершатся ошибкой, если не удастся выполнить одну операцию. Последовательность – это уникальная концепция, представленная в блокчейне Stellar через "порядковый номер". С порядковыми номерами определенные транзакции потерпят неудачу, если альтернативная транзакция будет успешно выполнена. Временные рамки представляют собой ограничения на срок действия транзакции. Использование временных границ позволяет отображать периоды времени в SSC..
Hyperledger Fabric (HLF)
Hyperledger Fabric (HLF) – это разрешенный блокчейн, разработанный с повышенной гибкостью. Смарт-контракты HLF известны как "цепной код". HLF написан на языке Go, языке программирования с открытым исходным кодом Google, поэтому цепной код также неплохо поддерживает этот язык..
Корда
Corda – это платформа смарт-контрактов, которая идеально подходит для заключения финансовых соглашений. Смарт-контракты Corda – это действительные транзакции, которые должны приниматься смарт-контрактом для каждого из его состояний ввода и вывода. Смарт-контракты кодируются с использованием языка программирования JVM, такого как Java или Kotlin. Выполнение смарт-контракта является детерминированным, и его принятие транзакции зависит исключительно от содержимого транзакции. Иногда действительность транзакции зависит от внешней информации, такой как цена токена. В таком случае нужен оракул. Факт может быть закодирован как часть команды транзакции. Оракул представляет собой службу, которая подтверждает транзакцию только в том случае, если факт команды верен..
DApps Corda или CorDapps устанавливаются на уровне сетевых узлов, а не в самой сети блокчейн. CorDapps написаны с использованием Java или Kotlin. CorDapps запрограммированы для работы на платформе Corda. Это достигается за счет определения потоков, которые операторы узла Corda могут вызывать через вызовы RPC..
НЕО
NEO – это платформа смарт-контрактов, которая предлагает эффективные смарт-контракты с низкими комиссиями. Смарт-контракты можно кодировать с использованием множества языков программирования, включая C #, F #, Java, Python, VB.Net и Kotlin. NEO предлагает плагины и компиляторы для всех этих языков. В будущем будет реализована поддержка JS, языка Go, C и C ++..
Смарт-контракты NEO выполняются с помощью облегченной виртуальной машины NEO (NeoVM). Выполнение смарт-контрактов через NeoVM требует минимальных ресурсов. Статическая компиляция смарт-контрактов и кэширование смарт-контрактов горячих точек можно значительно улучшить с помощью компилятора реального времени JIT. В настоящее время блокчейн NEO включает Smart Contract 2.0, который может похвастаться поддержкой сложных структур данных и массивов. Кроме того, Smart Contract 2.0 обеспечивает масштабируемый подход за счет динамического разделения и высокого уровня параллелизма в сочетании с конструкцией с низким уровнем связи. Процедура низкого связывания смарт-контрактов выполняется в NeoVM и взаимодействует с системами вне сети через интерактивный уровень обслуживания. Таким образом, большая часть обновлений функций смарт-контрактов может быть достигнута с помощью специального API уровня интерактивных услуг..
Волны
Смарт-контракты Waves кодируются с помощью языка программирования RIDEON. Запуск смарт-контрактов Waves делится на два этапа. Первый этап уже был запущен в апреле прошлого года, что позволяет разрабатывать полные смарт-контракты не по Тьюрингу в тестовой сети. Полные смарт-контракты на первом этапе, не относящиеся к Тьюрингу, обеспечивают множество функций управления учетными записями, которые будут охватывать несколько вариантов использования, которые варьируются от обмена токенами на разных блокчейнах до обеспечения контроля общего бюджета. Одним из наиболее распространенных вариантов использования полных смарт-контрактов Waves, не основанных на Тьюринге, являются учетные записи с несколькими подписями. Кроме того, их можно использовать для реализации замораживания токена, которое включает отправку токена на адрес и обеспечение того, чтобы он оставался незаменимым, то есть непередаваемым, в течение заранее определенного периода времени. Это будет весьма полезно при реализации передачи токенов для создателей ICO после окончания краудсейла..
После того, как полные смарт-контракты первого этапа не по Тьюрингу были тщательно протестированы и активированы в основной сети Waves, будет запущен второй этап полных смарт-контрактов по Тьюрингу..
Стратис
Stratis использует популярную платформу .NET. Смарт-контракты кодируются с помощью языка программирования C #. Смарт-контракты должны выполняться детерминированно, поэтому они не могут использовать все возможности C # или все основные библиотеки .NET. Stratis также полагается на "газ" концепция, которая идентична концепции газа Ethereum.
Кардано
Cardano – это платформа смарт-контрактов, которая ориентирована на обеспечение гарантий того, что смарт-контракт работает точно так, как он закодирован, без каких-либо скрытых уязвимостей. Смарт-контракты можно кодировать с помощью Solidity или Plutus. Cardano предлагает уровень вычислений Cardano Computation Layer (CCL), который состоит из двух уровней – языковой структуры и формально указанной виртуальной машины. Языковая структура включает набор формально определенных языков программирования, которые облегчают автоматическую аутентификацию читаемого человеком кода смарт-контракта..
Тезос
Tezos – это платформа смарт-контрактов, которая поддерживает формальную проверку кода смарт-контракта в цепочке. Смарт-контракты кодируются с использованием нового языка программирования, известного как Michelson, который повышает безопасность. В отличие от Solidity, код Майкельсона ни для чего не компилируется; вместо этого он представляет собой законченный язык программирования Тьюринга на основе базового уровня, который интерпретируется непосредственно виртуальной машиной Tezos. Программируемые смарт-контракты Майкельсона позволяют кодировать конструкции высокого уровня, включая наборы, карты, криптографические примитивы, лямбды и операции, специфичные для контрактов, что делает код более удобочитаемым..
Далее (NXT)
Далее идет криптовалюта и платформа смарт-контрактов. Несмотря на то, что смарт-контракты Next не являются завершенными по Тьюрингу, платформа использует уникальный слой полного сценария Тьюринга, который позволяет пользователям легко создавать шаблонные смарт-контракты. Пользователи могут выбрать наиболее подходящий шаблон для своих нужд и изменить его параметры для создания своих собственных смарт-контрактов. Разработчики платформы Next считают, что эти шаблоны смарт-контрактов охватывают практически все бизнес-приложения, а также просты в кодировании и реализации..
Последние мысли
Существуют и другие криптовалюты, которые позволяют разрабатывать платформы смарт-контрактов, включая Quorum, Wanchain, Aeternity, Zen, Counterparty, Rootstock, RChain, Qtum, Ark, Neblio, DFINITY, BOSCoin, Agoras Tauchain, Burst, iOlite, ByteBall, XTRABYTES, PolkaDot, Radix, Exonum, Universa, Urbit, Soil, Expanse, Monax и, возможно, другие. Тем не менее, платформы, представленные в этой статье, наиболее широко используются и доказали свою надежность в различных приложениях..