ETHEREUM VS HYPERLEDGER: какую платформу выбрать?
В технологической среде сейчас активно развиваются две Blockchain платформы. При этом, они довольно разные по происхождению и использованию. В этой статье мы объясним основные различия и проанализируем, какую из них выбрать.
Что такое Блокчейн ?
Блокчейн или DLT (Distributed Ledger Technology) возник как общедоступная открытая сеть блокчейнов. Но для того, чтобы объяснить, что это такое и как его использовать, нам нужно немного предыстории.
ПРОИСХОЖДЕНИЕ СЕТИ BITCOIN
Банковский кризис 2008 года был очень значительным, и многие потеряли свои деньги. Риски существующей банковской системы стали очевидными, поэтому довольно много людей пытались разработать альтернативную систему. Целью разработчиков стало создание системы, в которой банки и правительства не могли бы оказывать влияние на их капиталы. Биткойн родился в результате таких идей борьбы за свободу.
ТРЕБОВАНИЯ К ДЕЦЕНТРАЛИЗОВАННОЙ ПЛАТЕЖНОЙ СЕТИ
Один разработчик или группа под псевдонимом «Сатоши Накамото» создали сеть Биткойн. Это была peer-to-peer (P2P), т.н. одноранговая сеть, в которой пользователи могли отправлять цифровые деньги другим пользователям без какого-либо вмешательства со стороны банков и правительств. Перед разработчиками стояла задача внедрить 4 основных требования, а именно:
- Сеть P2P должна быть децентрализована и не контролироваться какими-либо участниками.
- Хакеры не должны иметь возможности похитить конфиденциальную информацию отдельных участников сети.
- Децентрализованная сеть должна быть стабильной.
- Валюта является цифровой и не имеет физической формы, и гарантий со стороны правительства. Учитывая это, участники не должны иметь возможность тратить одни и те же цифровые деньги дважды, что называется проблемой двойных расходов.
КАК ЭТИ ТРЕБОВАНИЯ БЫЛИ ВЫПОЛНЕНЫ BITCOIN СЕТЬЮ?
Сатоши Накамото легко выполнил первое требование, создав сеть P2P. У него не было центрального сервера, потому что все участники имеют равные права. Для выполнения второго требования команда использовала цифровую подпись с шифрованием с открытым ключом и личным ключом. У участников есть 2 ключа. Открытый ключ может быть передан любому. Это адрес, по которому другой участник может отправлять цифровые валюты, например, биткойны (BTC). Тем самым, закрытый ключ является уникальным и секретным. Эти два ключа связаны друг с другом. Создать открытый ключ из закрытого ключа легко, а в обратную сторону это невероятно сложно. Давайте теперь разберемся со структурой блокчейна и с тем, как решаются требования три и четыре.
СЕТЕВЫЕ БЛОКИ БИТКОИН И ЦЕПЬ
Биткойн-транзакции хранятся в промежуточном хранилище, называемом «mempool». Когда транзакции проверяются, они группируются в структуру данных, которая называется «блок». Сеть использует криптографические хеш-функции. Они преобразуют данные блока в зашифрованную буквенно-цифровую строку, называемую «хэш». Создать хеш из набора данных легко, но невозможно воссоздать данные из хеша. Даже небольшое изменение данных приводит к совершенно другому хэшу.
У блока есть свои данные транзакции; кроме того, он также имеет криптографический хэш предыдущего блока. Как видите, только первый биткойн-блок не имеет хеша предыдущего блока. Кроме того, блок также имеет ответ на сложную криптографическую головоломку. Мы обсудим эту головоломку чуть позже. Каждый блок имеет ссылку на предыдущий блок, поэтому мы можем видеть формирование воображаемой цепи, которая называется «Блокчейн».
Это и есть децентрализованная сеть со всеми участниками, имеющими равные полномочия. Все участники, то есть их компьютеры имеют все данные в сети. Они называются «узлами», и каждый узел может просматривать весь набор блоков в распределенной базе данных. Она называется «Distributed Ledger Technology» (DLT).
Как видите, с равными правами каждый узел может создавать новые блоки в соответствии со своими предпочтениями. Это создает риск, потому что узлы часто разветвляются с новой сетью, которая может создать нестабильность. Кроме того, любой узел может потратить одну и ту же цифровую валюту дважды, т. е. использовать слабость «двойных расходов». Введите согласованный алгоритм!
АЛГОРИТМ СОГЛАСОВАННОГО “ДОКАЗАТЕЛЬСТВА РАБОТЫ”
Создатели Биткойна использовали согласованный алгоритм, который называется «Доказательство работы» (POW). Хотя все узлы имеют одинаковые полномочия, для создания нового блока с транзакциями узел должен решить ту сложную математическую задачу, о которой мы упоминали ранее. Это не требует навыков, но это требует быстрого перебора одного числа за другим. Загадку сложно решить, но возможно. Это асимметричная головоломка, то есть проверить решение очень легко. Это требует очень большого количества вычислительной мощности. Решение этой головоломки и создание блока таким способом называется «майнингом», а мы называем узлы «майнерами». Когда майнер решает головоломку, он транслирует ее в сеть. Другие проверяют, и как только подтверждают, майнер получает возможность создать новый блок. Существует награда в виде доли нового созданного биткойна. Как видите, новые блоки можно создавать только тогда, когда решается сложная математическая задача.
Если майнер попытается создать новый блок без соблюдения стандартов, другие майнеры его отклонят. Разветвиться с частью сети не просто! Чтобы хакеры могли атаковать эту сеть, они должны захватить большую часть вычислительной мощности в этой децентрализованной сети. Это очень сложно, когда на многих узлах работают компьютеры с высокой вычислительной мощностью.-
КАК СЕТЬ BITCOIN ПРЕПЯТСТВУЕТ «ДВОЙНОМУ РАСХОДУ»?
Предположим, что хакер выбрал транзакцию в 519-м блоке биткойнов для манипуляции. Как только хакер изменит эту транзакцию, он должен снова решить головоломку. Трудно убедить других майнеров, потому что они примут ответ только с небольшим хэш-значением. Небольшое хеш-значение содержит много ведущих нулей, и его очень трудно найти. Давайте предположим, что хакер находит его.
Теперь, так как хакер изменил данные в 519-м блоке, хэш был изменен. Теперь хакер должен обновить 520-й блок, чтобы включить в него этот новый хэш 519-го блока. В противном случае новый блок будет в очень короткой цепочке. Майнеры сразу же отклонят эту цепочку, поскольку они знают, что только самая длинная цепочка является истинной.
Как только хакер меняет 520-й блок, хэш для этого также меняется. Таким образом, хакер должен изменить 521-й блок. Эта проблема продолжается! К тому времени, когда хакер изменит множество блоков, все в сети узнают об этом, и план провалился провалится!
Чем отличается сеть Ethereum Blockchain?
Виталик Бутерин и его команда создали сеть Ethereum Blockchain, следуя основным принципам сети Биткойн. Он использует блоки такого же типа, сеть P2P, шифрование с открытым ключом и закрытым ключом, а также алгоритм согласования POW. Его родная криптовалюта - Эфир (ETH). Однако, в отличие от просто платежной сети P2P, использующей криптовалюты, блокчейн Ethereum может предложить больше.
ETHEREUM "SMART CONTRACTS"
Сеть Ethereum Blockchain представила концепцию «SMART CONTRACTS ». Smart contracts - это программы. У них есть условия «If-Then-Else», на основе которых они проверяют, выполнено ли условие. Затем они передают крипто активы. Это программы с открытым исходным кодом, как и программы протоколов Blockchain.
Smart contracts хранятся как часть блоков блокчейна Ethereum, и никто не может вносить коррективы в них после развертывания. Результаты выполнения постоянно записываются в блокчейн, что делает его необратимым. Интеллектуальные контракты Ethereum кодируются на языке Solidity, собственном языке Ethereum.
"ETHEREUM VIRTUAL MACHINE" (EVM)
Проект Ethereum также использует свою платформу под названием «Виртуальная машина ETHEREUM» (EVM). Разработчики могут создавать «Распределенные приложения» (DApps), используя эту платформу. Виртуальные машины выполняют smart contracts, поэтому эти DApps могут выполнять бизнес-функции, отличные от отправки цифровой валюты с одного адреса на другой.
ETHEREUM DAPPS
DApps похожи на веб-приложения, однако у них есть несколько отличительных характеристик. В то время как интерфейс может быть на любом языке, DApps должны иметь smart contracts в качестве кода их бэкэнда.
DApps должны быть с открытым исходным кодом, кроме того, они должны использовать крипто токен, созданный с использованием стандартного криптографического алгоритма. Ни одна сущность не может содержать большинство крипто токенов, и ни одна сущность не может контролировать будущее DApp. Это выполняется автономно. Кроме того, любые изменения должны быть одобрены сообществом пользователей путем согласия. DApp также должен хранить свои данные в децентрализованной цепочке блоков, следуя криптографическим стандартам.
CRYPTO токены на основе сети ETHEREUM
Разработчики также могут создавать крипто токены, используя платформу Ethereum. Для этого они используют соответствующие стандарты шифрования токенов, такие как ERC 20. Пользователи DApps могут получить доступ к этим приложениям с помощью криптографических токенов. В вычислениях в основной сети Ethereum по-прежнему используется нативный криптовалютный Ether.
Децентрализованные бизнес-модели с использованием сети ETHEREUM
EVM, smart contracts и DApps позволили разработчикам и стартапам Blockchain-crypto создавать новые децентрализованные бизнес-модели и разрушать существующие централизованные предприятия. Эти DApps позволяют пользователям осуществлять операции между собой без центрального контролирующего органа, взимающего непомерные сборы. Транзакции происходят с использованием крипто токена DApp.
Есть много примеров. Сотни крипто стартапов предложили свои продукты, построенные на платформе Ethereum, и выпустили свои «Первичные предложения монет» (ICO). Примером является LockTrip, который представляет собой рынок аренды жилья с комиссией 0%. Они намерены потеснить существующие торговые площадки, такие как Booking.com и Airbnb.
Ограничения публичных блокчейнов, таких как Биткойн и Эфириум
Децентрализация допускает одноранговые транзакции, в то время как согласованные алгоритмы обеспечивают неизменяемые записи в открытых цепочках блоков, таких как Биткойн и Эфириум. Однако они также накладывают на них ограничения, а именно:
- Все узлы хранят полные данные, поэтому активация нового узла может занять несколько дней!
- Проверка транзакции требует участия всех узлов. Поскольку разные узлы используют разные вычислительные мощности и пропускную способность сети, сеть может работать только так быстро, как самый медленный узел! Эта проблема масштабируемости становится более заметной по мере присоединения большего количества узлов. Биткойн может обрабатывать всего 3-5 транзакций в секунду (TPS), тогда как Ethereum лишь незначительно лучше с его 7-15 TPS.
- Согласованный алгоритм POW требует высокой вычислительной мощности, что приводит к огромным потребностям в электроэнергии. Все майнеры Bitcoin требуют больше электричества, чем потребление электроэнергии в некоторых странах!
В то время как криптовалютные сети до сих пор использовали публичные цепочки блоков, эти ограничения препятствуют их использованию в контексте предприятий.
Требования к корпоративной цепочке блоков
Предприятия и крупные компании предъявляют заметно отличающиеся требования к сетям Blockchain, но у большинства компаний есть некоторые общие черты.
КОНФИДЕНЦИАЛЬНОСТЬ ДАННЫХ
Предприятия часто работают в строго регулируемых отраслях, где ключевой проблемой является конфиденциальность данных. Публичные общедоступные блокчейны делают все данные видимыми для всех узлов. Это одна из причин, почему предприятия не могут их использовать. Корпоративным блокчейнам нужна конфиденциальность данных.
КОНТРОЛЬ ДОСТУПА
Публичные цепочки блоков позволяют присоединиться к сети всем, даже анонимным пользователям. Вычисления в программе протокола Blockchain и методы шифрования данных обеспечивают доверие к системе, а не к участникам. Предприятия не могут предоставлять такой неограниченный доступ к своим системам, поскольку у них есть конфиденциальные данные. Им нужен контроль доступа.
КОНСЕНСУС
Поскольку общедоступные цепочки блоков открыты анонимным и псевдонимным пользователям, им может потребоваться слишком много времени для защиты сети. Это требует энергоемких консенсусных алгоритмов, таких как POW. С другой стороны, предприятия допускают в свою сеть только доверенных участников, кроме того, такие участники связаны нормами взаимодействия в предприятии. Согласованные алгоритмы, такие как POW, здесь не актуальны. Им нужны алгоритмы,которые соответствуют их рабочему процессу, ролям и обязанностям.
МАСШТАБИРУЕМОСТЬ
Предприятия часто требуют 1000 или более транзакций в секунду, что означает, что им нужна лучшая масштабируемость, чем в общедоступных цепочках блоков.
УПРАВЛЕНИЕ
Никто не владеет сетью Биткойн. Несмотря на критику в отношении алгоритма энергопотребления POW и устойчивую централизацию пулов майнинга, Биткойн, вероятно, будет использовать этот процесс в обозримом будущем. В то время как Ethereum Foundation наблюдает за развитием событий в сети Ethereum, то DApps децентрализованы. Предприятиям и компаниям нужна более жесткая структура управления в сети Blockchain. Публично зарегистрированные компании должны быть очень прозрачными со своими акционерами, сообществами инвесторов и регуляторами.
Платформа Hyperledger Blockchain
Hyperledger - это совместная работа. Он включает в себя несколько проектов платформы Blockchain с открытым исходным кодом, например, Hyperledger Fabric, Hyperledger Indy и т. д. Linux Foundation хостит платформу, однако многие компании из широкого спектра отраслей участвуют в этом проекте. IBM, SAP, Accenture, Cisco, Daimler, American Express - это лишь некоторые из компаний, в то время как список участников огромен!
Hyperledger Fabric - один из самых известных проектов. Он довольно зрелый, это реализация платформы Blockchain для предприятий. IBM и Digital Asset впервые создали его совместно. В оставшейся части этой статьи мы будем использовать Hyperledger Fabric для сравнения с Ethereum.
Что общего между Ethereum и Hyperledger Fabric?
Есть несколько сходств между Ethereum и Hyperledger Fabric:
- Шифрование данных. Обе сети Blockchain используют продвинутые криптографические методы для шифрования данных.
- Распределенный реестр: оба реализовали концепцию распределенного реестра, однако в случае с Hyperledger она реализована совершенно по-другому. Подробнее об этом позже.
- Smart contracts: Подобно Ethereum, Hyperledger Fabric их тоже использует . Они называются «цепными кодами».
Ключевые различия между Ethereum и Hyperledger
Ethereum и Hyperledger Fabric имеют некоторые важные различия. Давайте рассмотрим их.
ВАЛЮТА
Ethereum имеет свою собственную криптовалюту для подпитки вычислений в сети. Пользователям сети Ethereum необходимо заплатить «цену за газ» для выполнения транзакций в этой сети. Они оплачиваются в Ether. Как уже объяснялось ранее в этой статье, вы также можете создать свой DApp со smart contracts Ethereum с помощью крипто токена. Это токен, созданный на платформе Ethereum, однако помните, что он отделен от Ether.
Hyperledger Fabric не подходит для криптовалют и не имеет их. Он для корпоративного использования. Предприятия обычно не имеют варианта использования криптовалюты. В их транзакциях B2C или B2B уже указаны условия оплаты. Предприятия намерены использовать Blockchain для эффективности и простоты процессов.
УПРАВЛЕНИЕ
Фонд Ethereum пытается внедрить консенсусное управление, однако это не так просто. Заинтересованные стороны Ethereum и первоначальная команда проекта не единогласны в вопросах управления.
Предприятия не могут работать с децентрализованной моделью управления. Когда какое-то предприятие внедряет свой собственный блокчейн, оно следует модели управления в своей организации. С другой стороны, когда несколько предприятий работают вместе и внедряют консорциум Blockchain для конкретного случая использования, они совместно управляют им. Примером является платформа доставки Maersk-IBM Blockchain.
ЯЗЫКИ РАЗВИТИЯ
Smart contracts Ethereum - это коды на языках Solidity или Vyper. Это приоритетные языки Ethereum. Однако цепной код в Hyperledger Fabric может быть разработан на различных популярных языках программирования. Обе платформы с открытым исходным кодом.
КОНСЕНСУС
Основная сеть Ethereum использует согласованный алгоритм POW. Тем не менее, некоторые разработчики используют боковые цепи для своих DApps, чтобы получить лучшую масштабируемость. Loom Network, стартап Blockchain, предоставляет SDK для разработки «DAppChains», то есть специфических боковых цепей DApp. Разработчики могут использовать другой согласованный алгоритм в своих боковых цепях.
С другой стороны, Hyperledger Fabric моделирует согласованный алгоритм в соответствии с типичным рабочим бизнес-процессом. Процесс транзакции состоит из трех этапов:
- Распределенная логическая обработка с использованием цепных кодов.
- Заказ транзакций.
- Подтверждение транзакции и принятие.
Существуют различные роли и задачи, связанные с транзакцией, распределенной по этим ролям. Это выполняется следующим образом:
- Запрашивающая сторона отправляет запрос на транзакцию.
- Индоссант определяет количество и комбинацию подтверждений, необходимых для данного типа транзакции.
- Индоссанты отправляют транзакции партнерам по каналу «чтение / запись». Это делается с помощью цепных кодов.
- Теперь индоссанты отправляют ответы на предложения с цифровой подписью, которые также называются «одобрения».
- На этом этапе клиент отправляет транзакцию заказчику.
- Заказчик создает блок транзакций и отправляет его партнерам.
- Партнер проверяет наличие одобрений и наличие конфликтующих транзакций. Когда все условия выполнены, вторая сторона фиксирует транзакцию в блокчейне.
Подписи и «наборы чтения / записи» являются единственными наборами данных, которые перемещаются по сети вперед и назад. Это помогает в улучшении масштабируемости и производительности. Индоссанты и партнеры - единственные люди, которые видят транзакцию при сохранении конфиденциальности данных.
SMART CONTRACTS
Обе платформы используют smart contracts. Ранее упоминалась разница в отношении языка программирования «smart contracts». Есть еще одно ключевое отличие. Hyperledger Fabric использует контейнерную технологию для размещения smart contracts, тогда как Ethereum просто использует контрактные учетные записи и сохраняет их в блокчейне.
Кто выигрывает? Ethereum Blockchain или Hyperledger Fabric?
Обе платформы Blockchain были созданы для совершенно разных целей. Что касается полностью прозрачных децентрализованных сетей Blockchain, Ethereum остается лучшим выбором для предпринимателей и разработчиков. За последние пару лет большинство крипто-ICO Blockchain использовали платформу Ethereum для своих новых децентрализованных бизнес-моделей.
С другой стороны, у предприятий совершенно другие требования, как уже упоминалось ранее. Hyperledger Fabric обеспечивает конфиденциальность данных, контроль доступа, масштабируемость и высокую пропускную способность транзакций. Это подходит компаниям. Fabric также имеет несколько других преимуществ для предприятий, а именно:
- Модульная архитектура, в которой разработчики могут разрабатывать и использовать такие компоненты, как алгоритм консенсуса, в режиме plug-n-play.
- Hyperledger использует «каналы» для разделения данных, поскольку он очень подходит для строго регулируемых отраслей, таких как банковское дело и здравоохранение.
- Hyperledger предлагает очень хорошие функции запросов с использованием LevelDB и дополнительной CouchDB.
- В Fabric имеется аппаратный модуль безопасности (HSM), который повышает безопасность цифровых ключей для чувствительных случаев использования, таких как управление идентификацией.
Заключение
Блокчейн не является универсальным решением для всех бизнес-задач. Необходимо тщательно оценить бизнес-модель для его применения. Если вам нужна полностью прозрачная и полностью децентрализованная сеть Blockchain с крипто токенами, Ethereum может быть правильным выбором. Вам нужно будет решить проблемы с масштабируемостью и пропускной способностью транзакций.
С другой стороны, если вы находитесь в корпоративной среде и работаете с нормативными актами, вам нужна конфиденциальность данных и контроль доступа. Добавьте к этому типичные требования предприятий к высокой пропускной способности транзакций. Hyperledger Fabric - хороший выбор для вас в таких ситуациях.
Хотите получить опыт в команде, отлично знакомой с этими технологиями - следите за актуальными вакансиями! https://www.zfort.com.ua/vacancy/