Смарт-контракты чаще всего ассоциируются с эфириумом. Однако самая популярная Dapp-платформа все же имеет недостатки в работе с цифровыми контрактами. Появившиеся альтернативные решения рассмотрел Майкл Малдерс ‒ специалист компании The Ledger. Но для начала разберем рабочие платформы.
Недостатки эфириума
Умные контракты Ethereum дорабатываются и совершенствуются. Наиболее часто они используются в проведении ICO, где необходимы гарантии качественного функционирования системы. Стандарт токена ERC20, который создается смарт-контрактом, имеет серьезный недостаток в проведении транзакции ‒ она проходит в два этапа:
- Отправка токена на кошелек методом transfer().
- Депозит токена в контракт методами approve() + transferFrom().
Если отправка токена была осуществлена сразу в смарт-контракт, то он примет данную транзакцию, но кошелек не пополнится токенами. Так можно безвозвратно потерять деньги, что уже случалось не раз.
Возможные решения проблемы были представлены еще в ноябре 2017. Это новые стандарты:
- ERC223 ‒ решает вышеописанную проблему через объединение функций в одну ‒ transfer() ‒ для исключения ошибки пользователя.
- ERC777 ‒ расширит возможности массовой адаптации пользователей через добавление инструментов обработки транзакций.
Несмотря на эти уязвимости, смарт-контракт эфириума все же считается самым надежным решением для взаимодействия с блокчейном. Спорить с этим трудно, так как найденные ошибки в большей степени относятся к человеческому фактору.
Главное преимущество смарт-контрактов эфириума заключается в гибкости ‒ совершенно любая идея может быть запрограммирована в код, после чего реализована на блокчейне. В доказательство этому сотни готовых блокчейн-приложений на базе Ethereum.
Nxt
Смарт-контракты Nxt доступны в ограниченном количестве, их невозможно изменять или создавать новые. Но рабочие шаблоны успешно применяются в различных сферах деятельности: ЭПС, торговые площадки, мессенджеры. Для работы с этими шаблонами достаточно ввести необходимые параметры.
Преимущества смарт-контрактов Nxt:
- Экономическая эффективность и надежность.
- Легкость использования.
Успех Nxt зависит от количества уже готовых решений, так как написание собственных программ не предусмотрено.
Neo
Смарт-контракты Neo используют виртуальную машину, как и эфириум. Отличие состоит в том, что вычисления VM Neo направлены на оптимизацию кода контрактов перед его выполнением. Таким образом достигается максимальный КПД при выполнении задач в блокчейне, но время на их подготовку уходит больше. Программирование смарт-контрактов ведется на нескольких ЯП.
Qtum
Смарт-контракты Qtum разработаны на основе Ethereum и называются мастер-контрактами. Китайская платформа реализовала гибрид эфириума и биткойна, в котором управление сделками на блокчейне осуществляется полностью на сторонах участников.
NEM
Смарт-контракты NEM выполняются непосредственно в коде блокчейна, что дает возможность обновления контракта после его имплементации в блокчейн. В Ethereum для этого необходимо вызвать новый смарт-контракт. В Nem также действует система смарт-активов, благодаря которой возможно создание некоторых видов блокчейн-приложений в несколько нажатий клавиш.
Hyperledger Fabric
Смарт-контракты Hyperledger называются чейн-кодом.
Разработка ведется на языке программирования Go, который известен высокой скоростью компиляции, что является преимуществом Hyperledger. Проект изначально создавался для внедрения блокчейна в корпоративные сети, где он и нашел свое применение.
Малдерс отмечает четыре главные возможности чейн-кодов:
- Удаление.
- Возвращение.
- Создание.
- Запрос истории изменений.
Hyperledger использует базу данных состояний для того чтобы записывать ключи и значения ключей, не затрагивая блокчейн.
Stellar
Тьюринг полные умные контракты не используются в сети Stellar, что уменьшает уровень уязвимости. Плата за имплементирование контракта в блокчейн намного меньше, чем у эфириума.
Другим важным преимуществом является возможность программирования на четырех ЯП. Такая возможность может привлечь разработчиков и популяризировать платформу, учитывая хорошие показатели масштабируемости.
Neblio
Как и Hyperledger, данный проект ориентирован на внедрение смарт-контрактов в бизнес. Только Neblio собирается использовать целых 8 языков программирования, а для работы пользователям необходимо приобретать кошелек в виде микроконтроллера Raspberry Pi. У каждого пользователя, использующего Neblio, будет своя полная нода, синхронизация с блокчейном которой проходит за одну минуту.
Решение проблемы сложности языка программирования
Между человеком и смарт-контрактами возникает барьер ‒ знание языков программирования. Есть несколько способов решения этой проблемы:
- Изучение ЯП. Проблема ‒ на это уходит масса времени.
- Использование готовых решений. Проблема ‒ неуверенность в правильности редактирования кода.
- Применение таких шаблонов, которые предлагает Nxt. Проблема ‒ ограниченные возможности.
- Оплата работы программиста. Проблема ‒ качественный программист смарт-контрактов берет за свою работу большие деньги, так как работы в криптомире сейчас достаточно.
Наиболее оптимальное решение создается в проекте iOlite, который делает движок для преобразования обычного языка в код контракта.
Этот инструмент называется Fast Adaptation Engine и стремится аменить работу кодеров. Структуры языковых выражений привязываются к частям кода, затем соединяются и перерабатываются, создавая целостную программу. Для этого подключена огромная база данных. Данные в эту базу вносятся разработчиками. Если часть кода, внесенного программистом, была успешно применена в разработке смарт контракта, он получает бонус в токенах iOlite.
С одной стороны, специалистам этой сферы выгоднее выполнять частные заказы, но, с другой стороны, очевидно, что программирование со временем будет максимально автоматизировано. На данный момент работа ведется в направлении перевода английского на Solidity.
Подводя итоги, необходимо выделить Hyperledger Fabric как платформу, которая активно используется уже сейчас, предоставляя разработчикам гибкие инструменты для применения смарт-контрактов.
Источник: https://bitcryptonews.ru/blogs/blokchejn/platformyi-dlya-smart-kontraktov