Блокчейн — это прозрачная система, которую можно публично проверить. Данный тип систем меняет представление сообщества о том, как использовать доступные ресурсы, как следить за соблюдением договоров, как хранить и обмениваться информацией. Это общий реестр операций, которые называются транзакциями, обладающий высокой степенью защищенности и распределенный по сети между компьютерами, а не хранящийся на едином сервере. На корпоративном уровне блокчейн сотворил настоящую революцию, позволив создавать приложения нового типа. Но каждая блокчейн-платформа обладает своими преимуществами и недостатками, которые стоит учитывать при разработке ПО. В данной статье рассмотрены основные платформы, которые позволяют интегрировать логику блокчейна в любые приложения.
Ethereum
Ethereum — первая платформа для разработки децентрализованных приложений, стала своеобразным «золотым стандартом» для платформ следующего поколения [15]. Ethereum оказался во многом похож на Bitcoin, унаследовав при этом его основные недостатки (маленькая скорость транзакций и большое энергопотребление). Такое сходство обусловлено использованием одинакового механизма консенсуса — Proof — of — Work.
Плюсы:
– Открытость;
– Популярность;
– Простая интеграция с биржами;
Минусы:
– Сеть сильно подвержена перегрузкам;
– Ограничение производительности CPU;
– Невысокая скорость транзакций и большая энергозатратность, как следствие использования PoW;
– Масштабируемость;
– Элементы централизации и уязвимость;
– Умные контракты пишутся на узкоспециализированном языке Solidity [1];
NEM
New Economy Movement («Новое экономическое движение») — появилась в 2015 году и очень популярна в Японии и Малайзии. Обрабатывает до 4 тысяч транзакций в секунду, что позволяет успешно выдерживать рабочую нагрузку.
Особенность NEM — отсутствие майнинга, здесь его роль выполняет харвестинг, то есть все монеты заранее выпущены в сеть, и пользователи получают вознаграждение за подтверждение транзакций [2].
NEM работает на базе собственного механизма консенсуса — Proof of Importance. При осуществлении транзакции ей присваивается определенная степень приоритетности, которая определяется рядом факторов. Вот некоторые из них:
– Количество монет на счете пользователя;
– Сумма, которую пользователь хочет перевести;
– Прошлая активность данного пользователя;
Данная система призвана решить проблему встраивания блокчейна в свои сети, что раньше являлось довольно дорогим и трудоемким процессом. NEM не останавливается на финансовой индустрии и производит попытки по встраиванию блокчейна в розничную торговлю.
Плюсы:
– Учитывает ошибки Ethereum;
– Популярность в Японии и Малайзии способствует огромному вкладу в развитие со стороны мировых криптогигантов;
– Собственный алгоритм консенсуса Proof of Importance;
– Низкая энергозатратность;
– Надежность — при создании блока система осуществляет самопроверку и, как следствие, это помогает решить проблему двойного расходования и ошибки при создании блока;
Минусы:
– При консенсусе задействован довольно большой объем сети;
HyperledgerFabric
Hyperledger Fabric — блокчейн с корпоративным доступом обладающий достаточно большой гибкостью, чем привлекателен для бизнеса. Термин «смарт-контракт» заменен в данной системе и заменен на чейнкод. Написан на языке Golang, но также поддерживает такие языки как Java и JavaScript.
Рис.11: Архитектура HLF
Для работы в сети требуется авторизация и права соответствующего уровня. Узлы в данной сети бывают следующих ролей [3]:
– Endorosing Peer — исполняет код контракта, возвращает результаты выполнения клиентскому приложению вместе со своей подписью;
– Ordering Service — формирование новых блоков распределенного реестра и создание очередности исполнения транзакций;
– Commiting Peer — содержит локальную копию реестра, добавляет новые блоки к реестру, перед этим проверяя их на валидность;
Endorsement Policy — правила проверки транзакции на валидность. Реестр состоит из двух частей — BlockChain (записи о всех изменениях объектов реестра) и WorldState (хранит текущие объекты реестра).
Для того чтобы узнать, что все участники авторизированы, используется центр сертификации на основе X.509-стандарта и инфраструктуры публичных ключей Certification Authority.
Преимущества:
– Модульная архитектура;
– Гибкая настройка прав пользователей;
Недостатки:
– Возможность построения только приватных систем;
– Нестабильность;
Stellar
Stellar Smart Contracts обладают рядом отличий относительно смарт-контрактов написанных на платформе Ethereum. Они не являются поными по Тьюрингу и могут быть реализованы, как соглашение между несколькими сторонами. Одно из главных отличий в том, что 100 000 транзакций будут стоить всего 1 цент. SSC могут быть написаны на любом языке: официально доступны языки JavaScript, Golang, Java, но существуют и пользовательские SDK для языков Ruby, Scala, Python, C++ и других.
SSC по своей сути является композицией связанных транзакций, которые выполняются с учетом различных ограничений. Далее приведены примеры возможных ограничений [4]:
– Наличие множества подписей. какие стороны должны договориться для авторизации некоторой операции;
– Атомарность и пакетирование. Какие операции выполняются совместно и какие условия для закрытия контракта необходимы;
–Последовательность. Существует определенный порядок выполнения транзакций. Данная особенность реализована при помощи присвоения конкретных номеров транзакциям.
–Временные границы транзакций. Задает ограничения на период действительности транзакции.
Преимущества:
– Быстрые транзакции;
– Хорошая производительность;
– Безопасность;
Недостатки:
– Сложная интеграция с биржами;
Заключение
В рамках данной статьи были получены следующие результаты:
– Рассмотрены основные блокчейн платформы;
– Выявлены их конкурентные преимущества и недостатки;
Литература:
- Что такое криптовалюта Эфириум простыми словами? URL: https://tehnoobzor.com/cryptolife/ethereum/2603-chto-takoe-kriptovalyuta-efirium-prostymi-slovami.html#plyusy-i-minusy-sistemy-ethereum (online, accessed 29.04.19)
- NEM (cruptocurrency) URL: https://en.wikipedia.org/wiki/NEM_(cryptocurrency) (online, accessed 29.04.19)
- Hyperledger Fabric для Чайников — URL: https://habr.com/ru/company/ibm/blog/444874/ (online, accessed: 26.04.19)
- Stellar Smart Contracts — URL: https://www.stellar.org/developers/guides/walkthroughs/stellar-smart-contracts.html (online, accessed 29.04.19)