Для того чтобы разработка смарт-контрактов была эффективной, необходимы знание и понимание разработчиками особенностей блокчейн-платформ. Целью написания статьи являлось проведение обзора текущего состояния платформ смарт-контрактов и их особенностей, влияющих на функциональность смарт-контракта.
Ключевые слова: блокчейн, блокчейн-платформы, смарт-контракты.
Впервые концепция смарт-контракта была изложена в 1997 году Ником Сабо в труде Formalizing and Securing Relationships on Public Networks . Смарт-контракт — это набор обещаний, указанных в цифровой форме, включая протоколы, в рамках которых стороны выполняют эти обещания. Ник Сабо, обосновывая целесообразность использования смарт-контрактов, писал, что основная идея интеллектуальных контрактов заключается в том, что в программное обеспечение могут быть встроены многие виды договорных положений, что делает невозможным невыполнение условий контракта. Принципы проектирования умных контрактов вытекают из правовых принципов и экономической теории. Использование технологии блокчейн и смарт-контрактов обеспечивает высокий уровень безопасности данных в сети, исключает необходимость в посредниках, предоставляет возможность установки прав участников сети и ускоряет взаимодействие пользователей системы за счет автоматизации процедуры заключения сделок.
Платформы для разработки смарт-контрактов
В настоящее время существует множество различных платформ для разработки смарт-контрактов. В этой статье платформы умных контрактов рассматриваются на основе нескольких характеристик:
Тип блокчейна. Существует публичный (public) и частный (private) блокчейны. Public Blockchain означает, что любой пользователь может участвовать в общедоступной цепочке блоков. Публичные цепочки блоков децентрализованы и они безопасны тем, что данные не могут быть изменены. Private Blockchain , наоборот, управляется одним объектом, а участвующим сторонам требуется разрешение на участие в сети.
Количество транзакций в секунду (TPS). Характеризует количество операций передачи данных, которые происходят в каждую секунду.
Алгоритм консенсуса. Представляет собой способ, с помощью которого все участники сети приходят к общему соглашению, чтобы обеспечить единое состояние сети.
Полнота по Тьюрингу. Тьюринг-полные смарт-контракты предоставляют возможности решать любые вычисляемые задачи. Тьюринг-неполные смарт-контракты предлагают только более простые инструменты.
Примечательные особенности нескольких платформ обсуждаются ниже, в то время как сводка более расширенного набора платформ представлена в Таблице 1.
Ethereum — одна из первых платформ, которая представила концепцию умных контрактов в блокчейне. Прелесть платформы заключается в степени стандартизации и поддержки, которую она предлагает. Ethereum опубликовал набор четко определенных правил, которым должны следовать разработчики, для того чтобы сделать разработку интеллектуальных контрактов более простой и менее рискованной. Ethereum разработал собственный язык программирования интеллектуальных контрактов, Solidity, который помогает в стандартизации и значительно упрощает настройку контрактов. Однако у Ethereum есть несколько недостатков. Разработчики обнаружили ряд проблем безопасности с кодом Ethereum, что привело к тому, что многие контракты были открыты для хакеров. Также отсутствие масштабируемости платформы приводит к низкой скорости транзакций. Языку Solidity не хватает гибкости. Он не поддерживает многомерные массивы и допускается только небольшое количество параметров в функции контракта, что значительно сказывается на методах разработки контрактов.
Проект Hyperledger Fabric начался в декабре 2015 года и был создан Linux Foundation. Это разрешенная инфраструктура блокчейнов, которая облегчает выполнение умных контрактов. Разработчики Hyperledger создали набор чрезвычайно полезных инструментов на основе Javascript, который позволяет создавать умные контракты намного проще и эффективнее с рядом других распространенных языков программирования, просто установив соответствующие модули. Hyperledger является разрешенной сетью, что означает, что все участники сети имеют известные идентификационные данные. Это позволяет создавать умные контракты с соблюдением закона о защите данных. Но у Hyperledger нет собственной системы токенов, то есть нет возможности разработать умные контракты, включающие необходимость перевода платежей.
EOS — децентрализованная операционная система, созданная Block.one для работы и разработки интеллектуальных контрактов, при этом система чрезвычайно быстрая при минимальных операционных затратах и платах для пользователей. EOS утверждает, что управляет миллионами транзакций в секунду благодаря своему механизму консенсуса DPOS (делегированное подтверждение ставок). Алгоритм повышает демократию сети и позволяет увеличить скорость транзакций и создания блоков, не ставя под угрозу децентрализованную структуру. EOS использует виртуальную машину Web Assembly, предназначенную для более быстрой загрузки, анализа и выполнения контракта, а также она позволяет создавать смарт-контракты на любом языке программирования, который может быть скомпилирован в WASM.
NEO, основанная Da Hongfei в 2014 году, предлагает возможности для создания децентрализованных приложений и умных контрактов. В отличие от других платформ, Neo использует децентрализованный алгоритм консенсуса византийской отказоустойчивости (dFBT). Этот механизм консенсуса оказался более энергоэффективным и позволяет совершать транзакции намного быстрее. NEO использует облегченную виртуальную машину в качестве интеллектуальной среды исполнения контрактов. Она ускоряет процесс и занимает небольшое количество ресурсов. Интеллектуальный контракт NEO может использоваться напрямую практически любым языком программирования высокого уровня. NEO предоставляет компиляторы и плагины для этих языков, которые используются для компиляции языков высокого уровня в наборы команд, поддерживаемые виртуальными машинами NEO.
Stellar — это платежная сеть, созданная в июле 2014 года Джедом Маккалебом. Контракты, предоставленные Stellar, не являются полными по Тьюрингу, что означает, что он предназначен выполнять только простые функции для базовых приложений. Тем не менее, для разработки базовых приложений и токенов Stellar является наиболее простым решением, не требующем много времени. Смарт-контракты могут быть написаны на любом языке, для которого сообщество Stellar предоставит API, например, JavaScript, Python, Golang, PHP.
Таблица 1
Таблица платформ для разработки смарт-контрактов
Платформа |
Тип блокчейна |
TPS |
Алгоритм консенсуса |
Тьюринг- полнота |
Языки программирования |
Cardano |
public |
1000 |
PoS |
да |
Solidity, Plutus |
EOS |
public |
50000 |
dPos |
да |
C, C++, а также Go, Rust |
Ethereum |
public |
25 |
PoW |
да |
Solidity |
Hyperledger Fabric |
private |
20000 |
PBFT |
да |
Go, Java, JavaScript |
Lisk |
private |
10000 |
DPoS |
да |
JavaScript |
Nem |
private |
4000 |
POI |
да |
JavaScript |
NEO |
public |
10000 |
dBFT |
да |
C#, Java, Kotlin, Python |
Stellar |
public |
1000 |
SCP |
нет |
JavaScript, Python, Golang |
Qtum |
public |
100 |
PoS |
да |
Solidity |
Waves |
private |
500 |
PoS |
нет |
Ride |
Ripple |
public |
70000 |
RPCA |
да |
Любой |
Вывод
Сложно назвать лучшую платформу для данной технологии, так как все платформы используются и выбираются в зависимости от индивидуальных потребностей каждого разработчика. Необходимо обращать внимание и на зрелость платформы, инструменты разработки и наличие доступной литературы. Смарт-контракты все еще новое направление, требующее качественного изучения и развития, и возможно, в скором будущем платформы для умных контрактов будут усовершенствованы и смарт-контракты станут неотъемлемой частью повседневной жизни.
Литература:
- Michael Brenner, Kurt Rohloff, Joseph Bonneau, Andrew Miller, Peter Y. A. Ryan, Vanessa Teague, Andrea Bracciali, Massimiliano Sala, Federico Pintore, Markus Jakobsson. Financial Cryptography and Data Security.// Apress. –– 2017
- Mohammad Ayoub Khan, Mohammad Tabrez Quasim, Fahad Algarni, Abdullah Alharthi. Decentralised Internet of Things: A Blockchain Perspective. // Apress. –– 2020
- Szabo Nick. Formalizing and Securing Relationships on Public Networks // First Monday. –– 1997.
- Smart Contract platforms –– Access mode: https://hashrating.com/ (online; accessed: 2020–07–01).