Hyperledger — блокчейн-технология с открытым исходным кодом


Блокчейн позволяет дешевле и быстрее преодолевать трудности, которые возникают при оптимизации бизнес-процессов. Если их внимательно изучить, мы не только найдём множество точек применения блокчейна, но и сможем воплотить их в готовых решениях. Рассмотрим наиболее популярные варианты.
  • Верификация действий — благодаря блокчейну можно реализовать продукт, где люди, принимающие решения, будут подтверждать старт определённых процессов. При отсутствии такой верификации от хотя бы одного из задействованных лиц процессы не запустятся. В качестве дополнения есть возможность проводить проверку на предмет соблюдения обязательных условий для старта. Если хотя бы одно не выполняется — система запретит верифицировать процесс.
  • Сохранность информации — используя блокчейн, можно разработать решение для хранения данных, где будут фиксироваться любые модификации документов.
  • Уступка прав собственности и выполнение смарт-контрактов — через блокчейн можно реализовать продукт, позволяющий отслеживать процесс исполнения условий цифрового договора. И лишь после фиксации каждого из них менять статус договора на «закрыт» и передавать право собственности или переводить оплату.

Hyperledger — платформа для создания блокчейн-продуктов для решения подобных задач.

Hyperledger: Что это означает?

Hyperledger является чем-то вроде центрального узла для открытого улучшения отраслевых блокчейнов.

В целом, это совместный проект с открытым исходным кодом, созданный для разработки и продвижения новых технологий в качестве массового пользователя посредством реализации функций, необходимых для открытого, межотраслевого стандарта распределенных реестров. Платформа включает в себя людей со всего мира и сама компания является международным проектом, который имеет дело с ведущими компаниями в следующих сферах: экономика, финансов, IoT (Интернет вещей), сфер логистики и производства.

Hyperledger не поддерживает и не продвигает биткойны (BTC), Ethereum (ETH) или любые другие криптовалюты или токены, но платформа работает с технологией блокчейна как единая обширная экосистема. Основатели Hyperledger неоднократно подчеркивали, что их проект не является ICO и у них нет никаких намерений выпускать собственную криптовалюту. Это технологическая платформа для реализации блокчейна и смарт контрактов. Участники сообщества Hyperledger разрабатывают проекты именно как информационные продукты.

В основе всех проектов лежит модульная структура, которая позволяет добавлять или удалять необходимые модули в зависимости от запросов пользователей.

Модульная архитектура, поддерживающая подключаемые компоненты

Hyperledger Fabric даёт возможность разработчикам создавать встраиваемые компоненты в свою архитектуру. Например, вы можете сжать какие то компоненты по мере необходимости и в один из самых быстрых способов.

Такая модульность обеспечивается благодаря своей прочной архитектуре, которая учитывает перспективы развития новой технологии blockchain. Это очень удобно, когда вы хотите получить доступ к системе, например, к пользовательской системе управления идентификационными данными, чтобы пользователи могли использовать платформу blockchain, построенную поверх Hyperledger Fabric.

Модульная архитектура: Fabric имеет модульную архитектуру и обеспечивает большую гибкость в зависимости от того, что вы хотите использовать.

Модульность архитектуры Hyperledger Fabric позволяет разработчикам сети использовать различные решения для компонентов, что является значительным преимуществом. Одной из наиболее востребованных областей модульности является идентификация узлов. В некоторых сетях с несколькими компаниями уже есть управление идентификацией и они хотят повторно использовать то что имеют, а не перестраивать. Другие компоненты архитектуры, которые могут быть легко подключены, включают в себя консенсус или шифрование.

Прозрачный процесс: транзакции могут быть непрозрачными, но процесс разработки наоборот. «На этом этапе основные команды Hyperledger были чрезвычайно готовы сбалансировать потребности, чтобы получить возможности с открытым и прозрачным процессом развития», — заметил основатель Skuchain Заки Маниан.

История проекта и его команды

Объявление о создании проекта Hyperledger произошло в конце 2015 года, а окончательный вариант совета директоров и команды учредителей был представлен в марте 2016 года. На данный момент в состав совета управляющих входят двадцать один человек во главе с Blythe Masters.

Комитет лидеров — это исполнительная ветвь Hyperledger, в которую входят более 10 членов, большинство из которых приобрели жизненно важные навыки, работая в нескольких отраслях. Кроме того, есть также специалисты из технологических компаний, таких как IBM и многие другие ИТ-гиганты. Члены Hyperledger являются профессионалами в своей области, например, Ричард Браун и Тамас Блумер имеют большой опыт работы с блокчейном, помогая компаниям внедрять новые технологии в своем бизнесе. Для этих участников Hyperledger предоставляет не только техническое образование и программное обеспечение для структур блокчейна, но и обеспечивает различные коммуникации с видными деятелями отрасли.

В настоящее время членами Hyperledger являются большое количество авторитетных компаний со всего мира, многие из которых занимают лидирующие позиции в своих отраслях. Это технологические гиганты, такие как Airbus и Daimler, Intel, IBM, разработчики мобильных телефонов, такие как Huawei и Samsung, финансово-экономические предприятия в рядах American Express и одно из крупнейших банковских учреждений JP Morgan Chase.

Windows vs Linux – теперь с блокчейном

Возможное противостояние двух конгломератов с присоединением Microsoft к R3 приобрело еще одну интересную черту. Вспомните, кто является организатором проекта Hyperledger? Не кто иной, как Linux Foundation – некоммерческий фонд, одной из целей которого является развитие и продвижение свободного программного обеспечения.

Microsoft принял верное стратегическое решение, выждав нужный момент и присоединившись к R3 – потенциальных конкурентов из ИТ-сектора там нет, а финансовые возможности значительно больше.

С другой стороны, Linux Foundation отлично организовал работу над универсальной платформой, которая покрывает все возможности блокчейна и со временем имеет шанс стать глобальным стандартом.

Увидим ли мы фанатов Hyperledger, пишущих на форумах и в соцсетях «R3 must die»? Возможно. Будет ли победитель в очередной схватке, или этой борьбе суждено быть вечной?

Цели и задачи Hyperledger

Основатели и руководители проекта уверены, что Интернет в целом и блокчейн в частности — это те прорывы, которые могут существенно изменить и улучшить наше будущее.

Блокчейн открывает огромные возможности для создания прозрачных, защищенных от фальсификации, бизнес-процессов, юридических документов и финансовых транзакций .

По словам разработчиков и аналитиков Hyperledger, на рынках давно нужны инструменты, которые могут упростить и удешевить обмен данными, проведение финансовых транзакций, процессы регистрации и другие неотъемлемые компоненты менеджмента и бизнеса. Блокчейн, основанный на открытом исходном коде и децентрализации, может удовлетворить эти запросы на прозрачность, надежность и защищенность.

В целом, конечной целью проекта Linux Foundation является координация деятельности заинтересованных сторон, разработчиков программного обеспечения и компаний, принадлежащих к различным отраслям, на одной платформе, а также содействие развитию межсекторального сотрудничества:

  • В финансовой сфере использование этой технологии может помочь упростить расчеты, повысить ликвидность, повысить прозрачность, освоить новые товары и рынки.
  • В медицине использование технологии блокчейн помогает унифицировать разрозненные процессы, увеличить поток обрабатываемых данных, снизить затраты и улучшить качество обслуживания пациентов.
  • В системе логистики и доставки она позволяет отслеживать порядок поставок товаров, источники происхождения товаров, обеспечивать их подлинность, блокировать подделки, избегать конфликтные ситуации.

Короче говоря, проект Linux Foundation посвящен координации заинтересованных сторон, разработчиков программного обеспечения и компаний, принадлежащих к различным отраслям, на одной платформе, а также развитию межсекторального сотрудничества.

Официально цели и задачи Hyperledger заключаются в следующем:

  • Создание базы данных на основе распределительной технологии для поддержки транзакций, совершаемых субъектами хозяйствования.
  • Предоставление нейтральной и прозрачной инфраструктуры для удовлетворения потребностей сообщества, управляемой техническим и опытным управленческим персоналом.
  • Создание профессионального сообщества, которое стремится улучшить блокчейн и распределенные базы данных.
  • Образовательная работа по возможностям рынка блокчейн-технологий.
  • Продвижение идей сообщества и совместимости инструментов с другими платформами.

Члены и руководство

Среди первых участников инициативы были независимые поставщики программного обеспечения для блокчейнов (Blockchain, ConsenSys, Цифровой актив, R3, Onchain), известные технологические платформы компаний (Cisco, Fujitsu, Hitachi, IBM, Intel, NEC, ДАННЫЕ NTT, Красная шляпа, VMware), фирмы финансовых услуг (ABN AMRO, ANZ Bank, BNY Mellon, Группа CLS, CME Group, то Депозитарная трастовая и клиринговая корпорация (DTCC), Deutsche Börse Group, Дж. П. Морган, State Street, БЫСТРЫЙ, Уэлс Фарго, Сбербанк), компании-разработчики программного обеспечения для бизнеса, такие как SAP, академические учреждения (Кембриджский центр альтернативных финансов, Blockchain в Колумбии, UCLA Blockchain Lab), системные интеграторы и другие (Accenture, Каластон, Wipro, Кредиты, Guardtime, ИнтеллектЕУ, Фонд Nxt, Симбионт, Лаборатория Смарт Блок).[12]

Правление Hyperledger Project состоит из двадцати членов под председательством Роберта Палатника (управляющий директор и главный технологический архитектор DTCC) и Технического руководящего комитета из двенадцати членов под председательством Дэна Миддлтона, главного инженера Intel.

Особенности технологии Hyperledger

Теперь давайте разберемся, что предлагает платформа:

  • Hyperledger позволяет вам создавать приватный, а не публичный блокчейн
  • Нет необходимости в майнинге и выпуске токенов. Проверяющие узлы самостоятельно уведомляют друг друга об операциях, достигают консенсуса и создают новые блоки.
  • Гибкая настройка прав доступа к сети, возможность создания частных систем для получения блоков доступа — посторонние не смогут получать данные из них.
  • Конфиденциальные транзакции доступны для просмотра только избранным пользователям, имеющим необходимые ключи шифрования.
  • Большой выбор доступных языков программирования : C ++, JavaScript, Python, Golang, Java.

Hyperledger может использоваться для создания блокчейна общего назначения, в то время как конкурирующие решения предназначены для конкретных задач:

  • Ripple — организация платежных систем.
  • R3 CEV — традиционные сделки и соглашения.
  • Ethereum — создание виртуальной машины для использования умных контрактов

Известные фреймворки

Hyperledger Fabric

Hyperledger Fabric — это разрешенная инфраструктура блокчейна, первоначально предоставленная IBM и Цифровой актив, обеспечивая модульную архитектуру с разграничением ролей между узлами в инфраструктуре, выполнение Смарт-контракты (называемый «цепным кодом» в Fabric) и настраиваемые службы консенсуса и членства. Сеть Fabric состоит из (1) «одноранговых узлов», которые выполняют чейнкод, получают доступ к данным реестра, подтверждают транзакции и взаимодействуют с приложениями; (2) «Узлы-заказчики», которые обеспечивают согласованность блокчейна и доставляют подтвержденные транзакции партнерам сети; и (3) поставщики услуг членства (MSP), каждый из которых, как правило, реализован как центр сертификации, управляющий X.509 сертификаты, которые используются для аутентификации личности и ролей участников.[13] Hyperledger Fabric позволяет использовать различные алгоритмы консенсуса, но алгоритм консенсуса, который чаще всего используется с платформой, — это Practical Byzantine Fault Tolerance (PBFT).[14]

Fabric в первую очередь нацелена на интеграционные проекты, в которых требуется технология распределенной книги (DLT), не предлагающая никаких услуг для пользователей, кроме SDK для Node.js, Ява и Идти.

Fabric поддерживает чейнкод в Go и JavaScript (через Композитор Hyperledger, или изначально, начиная с версии 1.1), и другие языки, такие как Java, путем установки соответствующих модулей. Следовательно, он потенциально более гибкий, чем конкуренты, которые поддерживают только язык закрытых смарт-контрактов.

Hyperledger Ироха

Hyperledger Iroha используется в Камбодже для создания новой платежной системы наряду с Национальным банком Камбоджи,[15] а также в различных других проектах в области здравоохранения, финансов и управления идентификацией.

Hyperledger Sawtooth

Первоначально созданный Intel, Sawtooth включает функцию динамического консенсуса, позволяющую выполнять согласованные алгоритмы горячей замены в работающей сети. Среди вариантов консенсуса — новый протокол консенсуса, известный как «Доказательство истекшего времени», протокол консенсуса, разработанный для лотереи, который, возможно, основывается на доверенных средах выполнения, предоставляемых Intel Расширения Software Guard (SGX).[16] Sawtooth поддерживает смарт-контракты Ethereum через «seth» (процессор транзакций Sawtooth, интегрирующий Hyperledger Burrow EVM).[17] Помимо поддержки Solidity, Sawtooth включает SDK для Python, Go, Javascript, Rust, Java и C ++.[18]

Hyperledger Besu

Бесу — это предприятие уровня предприятия Ethereum кодовая база.[19]

Hyperledger Frameworks

Все проекты основаны на модульной структуре, которая позволяет добавлять или удалять необходимые модули в зависимости от пользовательских запросов.

Hyperledger Sawtooth

Технология Sawtooth — это инновационная модульная платформа для создания, использования и запуска распределенных реестров. Основное внимание уделяется гибкому использованию в различных областях бизнеса. Платформа поддерживает пользовательские модели данных для создания копий текущего состояния реестра, транзакций для изменения состояния реестра и согласование методов подтверждения транзакций.

Sawtooth использует новую концепцию, называемую семейством транзакций. Пользователи Sawtooth могут создавать свое собственное специализированное «семейство транзакций» с уникальными моделями данных и языками транзакций. Чтобы упростить первоначальное использование, Sawtooth предлагает три встроенных семейства транзакций, которые реализуют наиболее распространенные сценарии использования и предоставляют реестр, готовый к полноценному применению на рынке цифровых активов.

Особенности Hyperledger Sawtooth

  • Внедрение и использование интеллектуальных контрактов для автоматизации бизнес-процедур и голосования по изменению конфигурации блокчейна (например, для добавления новых участников и интеллектуальных контрактов).
  • Усовершенствованный механизм выполнения транзакций, который обеспечивает параллельную обработку транзакций для ускорения формирования блоков и их проверки
  • Поддержка интеграции с инструментами платформы Ethereum и возможность запуска сторонних смарт-контрактов.
  • Возможность обновлять или заменять протокол формирования консенсуса по мере роста распределенной сети. Например, вы можете переключиться на более масштабируемые алгоритмы вычисления консенсуса по мере их появления.
  • Возможность создавать умные контракты, используя различные методы и языки программирования, в том числе Go, JavaScript и Python .

Hyperledger Iroha

Проект был в основном разработан японскими организациями, в частности Hitachi и Soramitsu, поскольку они внесли большой вклад в его создание. Конечной целью платформы является разработка других сред Hyperledger, таких как IBM Fabric и Intel Sawtooth Lake.

Используя Iroha, коммерческие корпорации могут создавать и управлять обычными цифровыми валютами, такими как например фиатные или криптовалюты или сложные активы — сертификаты, патенты и другие документы, подтверждающие права интеллектуальной собственности.

Типичные примеры использования Irohi включают следующие операции: платформа позволяет создавать документы, удостоверяющие личность и подлинность дипломов, выданных отдельным лицам университетами и институтами.

Кроме того, в экосистеме Iroha есть различные цифровые аватары (графическое изображение клиента или его психологический портрет) реальные активы могут создаваться и перемещаться с низкой комиссией за транзакцию или даже без какой-либо комиссии.

Например, владелец бывшего в употреблении автомобиля может создать цифровой актив, а затем зарегистрировать право собственности на него с помощью нескольких подписей в аккаунте. Как только другая сторона заинтересована в этом предложении, она принимает предложение, завершает транзакцию посредством перевода валюты текущему владельцу и получает право собственности на автомобиль.

Еще одна область, в которой можно использовать функции Iroha, — это управление идентификацией для требований Know Your Customer (KYC), которые уже являются обязательными во многих проектах. Клиентам не нужно подавать документы, как это обычно происходит в большинстве проектов. Вместо этого они могут создать необходимую идентификацию в цепочке узлов, к которой могут применяться различные квалифицирующие учреждения, которые следуют процедуре KYC.

Iroha предоставляет быстрое обслуживание, а также комплексную комбинацию библиотек кода для ИТ-специалистов для создания надежной разработки приложений, защищенного мониторинга, управления активами и архитектуры модульного проектирования, чтобы вывести экосистему блокчейна на новый уровень.

Iroha отличается от других широко используемых проектов, основанных на блокчейне, таких как крупнейшая в мире криптовалюта Биткойн и ее конкуренты Ethereum или Ripple, поскольку последние работают как бездисковые регистры, тем что позволяют вам присоединяться и предоставлять доступ к любой сетевой платформе.

Hyperledger Burrow

Intel и Monx разработали Hyperledger Burrow пять лет назад в 2014 году, основная идея которого заключалась в том, чтобы выпустить проект для нужд коммерческих компаний, чтобы они могли воспользоваться преимуществами умных контрактов.

Barrow — это код, основанный на платформе Ethereum, которая предоставляет первый в своем роде клиентский блокчейн-модуль с интерпретатором умных контрактов.

Генеральный директор Monax,Кейси Кульман, считает, что благодаря проекту Burrow компании получат возможность создавать приложения с широким набором функций и потенциальных услуг, которые невозможно внедрить в платформы, не связанные с умными контрактами.

Важно то, что Burrow расширяет список своих стратегических партнеров и одним из наиболее важных союзников является команда разработчиков Ethereum, в которую входят специалисты Enterprise Ethereum Alliance (EEA).

Hyperledger Indy

Hyperledger Indy — это распределенный реестр, используемый для децентрализованной идентификации. Это совокупность инструментов, библиотек и повторно используемых компонентов для создания и реализации независимых децентрализованных цифровых идентификаторов, которые совместимы с различными административными областями, приложениями и т. Д.

Blockchain-identity запуска команды Evernym запустил проект в начале 2022 года на фоне непрекращающегося скандала, связанного с утечкой пользовательских данных Facebook . Код Hyperledger Indy, как и другие проекты консорциума, опубликован на GitHub.

Hyperledger Fabric

Hyperledger Fabric — лучшая структура для создания программ и специализированных деловых соглашений на основе блокчейна.

Hyperledger Fabric является основой для децентрализованных систем, где все клиенты имеют идентификаторы. Если вы хотите внедрить децентрализованную сеть, следует выяснить, нужен ли вашей компании блокчейн для соблюдения правил защиты данных.

Большая часть Hyperledger Fabric в секторах финансовых и социальных услуг регулируется законами о защите данных. Кроме того, проект был запущен компанией для организаций, поэтому вход «разрешен только по приглашению». Участник сети должен получить сертификат и быть идентифицированным, однако разным участникам могут быть предоставлены разные права, ограничения и преимущества.

Производительность, масштабируемость и уровень доверия

Hyperledger Fabric построен на модульной архитектуре, которая делит обработку транзакций на три этапа: распределенную логическую обработку и соглашение («цепочный код»), упорядочение транзакций, а также на проверку и подтверждение транзакций. Такое разделение дает несколько преимуществ: для типов узлов требуется меньшее количество уровней доверия и верификации, а децентрализация сети и производительность оптимизированы.

В структуре Hyperledger Fabric транзакции обрабатываются то совершенно иначе, чем в других структурах. Основное внимание здесь уделяется уменьшению уровней доверия и количеству проверок, которые должна иметь транзакция. Это позволяет совершать транзакции быстрее и эффективно.

Чтобы проиллюстрировать это, рассмотрим поток транзакций в версии 1.0 Hyperledger Fabric, показанный на рисунке ниже.

Начиная слева от рисунка:

  1. Предложение о транзакции отправляется заявкой на одобряющий одноранговый узел.
  2. В правилах одобрения указано, сколько и / или какая комбинация подтверждений требуется для подписи заявки. Подтверждение выполняет цепочный код для имитации предложения в сетевом одноранговом узле, создавая набор для чтения / записи.
  3. Затем подтверждающие узлы отправляют обратно одобрения в заявку.
  4. Приложение отправляет транзакции и подписи в службу заказа.
  5. Служба заказов создает пакет или блокирует транзакции и доставляет их для совершения узлов.
  6. Когда получающий одноранговый узел получает пакет транзакций, для каждой транзакции он проверяет, была ли выполнена политика одобрения, проверки в наборах чтения / записи обнаруживают конфликтующие транзакции.
  7. Если обе проверки пройдены, блок фиксируется в регистре, а обновления состояния для каждой транзакции отражаются в базе данных состояния.

Поскольку в сети с новой архитектурой v1.0 отправляются только сигнатуры и набор для чтения / записи, оптимизируются масштабируемость и производительность. Кроме того, поскольку только подтверждения и узлы действительно видят транзакцию, требуется меньшее количество уровней доверия в разных частях системы Blockchain, что обеспечивает большую безопасность.

Например, на фондовом рынке с ценными бумагами, обеспеченными активами или купленными и продаваемыми облигациями, объем сделок увеличился из-за растущего числа участников. Для увеличения количества транзакций в блокчейн системе требуется улучшенная масштабируемость и производительность, что и v1.0 от Hyperledger Fabric частично объясняется расщеплением выполнения цепочки.

Разделение выполнения цепочки также обеспечивает динамический рост в сети. В версии 1.0 Hyperledger Fabric узлы могут добавляться динамически и программно, а не статически, как в v0.6. Например, предположим, что компания, которая управляет валютными курсами, имеет новый банк для добавления в сеть. С Hyperledger Fabric v1.0 они могут сделать это программно, что увеличивает эффективность структуры.

Ethereum или Hyperledger Fabric: что выбрать?

Чтобы лучше ознакомиться с возможностями Hyperledger Fabric, вы можете сравнить его с сетью Ethereum. Отличительными чертами Ethereum являются децентрализованные программы (приложения или dApps ), умные контракты и публичный блокчейн. В целом, они нацелены на удовлетворение потребительского спроса или так называемого рынка B2C.

Между тем, организации желающие разрабатывать блокчейн-приложения обеспечивающие конфиденциальность и децентрализованность, руководствуются Hyperledger Fabric. Он лучше всего подходит для разработки программ, основанных на идеи блокчейн и создания смарт контрактов, поддержки рекомендаций по безопасности и консенсуса. Модульная конструкция Fabric обеспечивает гибкость и ориентирована на предприятия, которые хотят оптимизировать рабочий процесс, используя инновации в блокчейне.

Hyperledger в сотрудничестве со своими партнерами в основном работает с приложениями на основе транзакций. Несмотря на это, Ethereum также ориентируется на корпоративных клиентов. В качестве примера мы можем взглянуть на Quorum, созданный и управляемый JP Morgan. Quorum — разрешенный продукт на основе Эфириума — это то, что называется форк блокчейна Ethereum.

В состав Ethereum Enterprise, запущенного в начале 2022 года, входят более 20 компаний из списка Fortune 500 , а также предприятия, инноваторы, поставщики технологий и специалисты Ethereum. Среди наиболее заметных участников — ИТ-кластеры Intel и Cisco, консалтинговая компания Accenture и автомобильный гигант Toyota.

Сотрудничество или соперничество

Несмотря на то, что оба проекта работают в одной сфере с одной и той же технологией, их направленность несколько различается.

Проект R3 выражает интересы крупного капитала. Он значительно более закрытый и сфокусирован на разработках в области финансов. Они работают над поставленной задачей и для ее решения не боятся ломать основные принципы блокчейна, так как им в первую очередь нужна быстрота, надежность и управляемость потоков финансовых транзакций.

Hyperledger в основном состоит из компаний технологического сектора. Он более открытый и включает множество мелких стартапов. Приоритетной задачей декларируется техническая стандартизация и разработка универсального решения, которое ляжет в основу самых различных продуктов. Этот проект старается охватить и другие сферы применения блокчейна, в том числе Интернет вещей.

Пока рано говорить о соперничестве между этими двумя проектами, тем более, что многие компании участвуют сразу в обоих. Но амбиции R3, выпустившего платформу Corda, явно конкурирующую с «чистым» блокчейном, а значит и основной в Hyperledger платформой Sawtooth Lake для применения в финансах, позволяют допустить, что конкуренция может иметь место, если эти два мощнейших конгломерата не договорятся о взаимодействии и выработке общих стандартов, или по крайней мере о разделе сфер влияния.

Инструменты Hyperledger

У Hyperledger есть несколько прикладных проектов, цель которых — сделать доступ к разработке блокчейнов более простым и продуктивным.

ИТ-специалисты преимущественно используют инструменты, а сами проекты используются независимо от специализации компании.

Caliper

Hyperledger Caliper планируется блокчейн, который дает вам возможность оценить выполнение конкретной системы. Caliper может генерировать отчеты, содержащие показатели эффективности, например, TPS (транзакций в секунду), задержку транзакций, использование активов и т. д. Цель разработки этого инструмента — дать пользователям возможность оценить и выбрать конкретный проект с учетом указанных параметров.

Hyperledger Caliper представляли ИТ-специалисты из Huawei , Oracle, IBM и многих других влиятельных игроков в технологической отрасли. Образовательные учреждения, такие как Венгерский технологический и экономический университет, также сыграли важную роль в развитии Caliper.

Cello

Этот инструмент поддерживает множество сетей поверх различных инфраструктур, таких как «bare metal» и другие контейнерные платформы.

Hyperledger Cello стремится популяризировать свою систему для пользователя, чтобы клиенты могли присоединиться к ее преимуществам, таким как сокращение усилий, необходимых для создания, управления и прекращения цепочки.

Composer

Hyperledger Composer — это своего рода хаб с открытым набором инструментов для удобного использования блокчейна. С помощью этой платформы технология блокчейна может быть легко интегрирована в существующие бизнес-системы.

Это инструмент для создания блокчейна и интеллектуальных контрактов для бизнеса, позволяющий создавать собственные приложения через Hyperledger Fabric.

Explorer

Hyperledger Explorer — это инструмент для исследования блокчейна, разработанный членами консорциума и предназначенный для создания удобных для пользователя веб-приложений. Используя Explorer, вы можете просматривать всю информацию, хранящуюся в блокчейне: транзакции, блоки, а также любые другие данные, хранящиеся в регистре. Этот инструмент находится в стадии становления.

Quilt

Hyperledger Quilt обеспечивает взаимодействие между системами реестров с использованием протокола Interledger (ILP), который позволяет неограниченное количество транзакций между различными реестрами с использованием криптографического депонирования и специализированного протокола двухфазного подтверждения.

Протокол Interledger позволяет вам соединять различные цепочки блоков, используя атомные перестановки. Этот инструмент также находится в стадии разработки.

Ursa

Это модульная криптографическая библиотека, которая предназначена для того, чтобы предоставить разработчикам отдельный инструментарий обеспечивающий безопасность блокчейна.

Проект должен предотвратить бесполезную трату времени на работу с дублирующимися решениями, а также повысить безопасность за счет упрощения анализа и сокращения вероятности того, что менее опытные клиенты создают в своих собственных рисковых условиях.

Также принято, что Ursa проведет специальную оценку полного криптографического кода и улучшит межэтапное сходство, так как проекты будут использовать стандартную библиотеку.

Библиотека разделена на 2 небольших раздела:

  • Первый касается простых стандартизированных модульных криптографических алгоритмов.
  • Второе необычно в определенной степени. Примеры этого включают, например SNARK и агрегированные подписи.

Код Ursa написан в основном на языке Rust, но программное обеспечение будет работать также со всеми языками, широко используемыми в Hyperledger.

Z-Mix

Это партнерский проект Ursa, который добавляет поддержку определенных криптографических алгоритмов, таких как SNARK или агрегированные подписи.

Русские Блоги

Как использовать Hyperledger Fabric и Composer для построения сети блокчейнов, это руководство для начинающих разработчиков блокчейнов. Перед началом работы следует отметить, что Hyperledger Fabric работает только в операционных системах на основе Unix. Поэтому он не будет работать в Windows, что ограничит количество операций, которые вы можете выполнять. Если вы используете Windows, прежде чем продолжить, я предлагаю вам настроить виртуальную машину.

В этой статье предполагается, что у вас есть некоторые знания Javascript. Это не учебник для начинающих программистов, а программист для начинающих в области блокчейна.

Что мы строим?

Итак, вы хотите создать блокчейн-приложение, но не знаете с чего начать? не волнуйся. С помощью этого руководства мы создадим сеть торговых карточек. С игроками в бейсбол, футбол и крикетTradingCardразница сTraderСможете торговать карточками друг с другом.

Мы также настроим сервер API REST, чтобы клиентское программное обеспечение могло взаимодействовать с нашей бизнес-сетью. Наконец, мы также создадим приложение Angular 4, которое использует REST API для взаимодействия с нашей сетью.

Ты можешьGithubНайдите полный окончательный код, который мы хотим построить.

Вы готовы начать?

оглавление

  • Введение в Hyperledger Fabric и связанные приложения.
  • Предварительные условия установки, инструменты и среда выполнения Fabric.
  • Создайте и разверните нашу бизнес-сеть.
  • Проверьте нашу деловую сеть.
  • Генерация REST API сервера.
  • Генерация приложения Angular с использованием REST API.

Введение в Hyperledger Fabric и связанные приложения

Hyperledger FabricЭто платформа с открытым исходным кодом для создания частных (лицензированных) бизнес-сетей с блокчейном, в которых личности и роли участников известны другим участникам. Сеть на основе фабрики используется в качестве серверной части для разработки клиентских приложений. SDK можно использовать в Nodejs и Java для создания клиентских приложений, и вскоре он будет поддерживать Python и Golang.

Hyperledger ComposerЭто набор инструментов и сценариев на основе Javascript, которые могут упростить создание сетей Hyperledger Fabric. Используя эти инструменты, мы можем создавать архивы бизнес-сетей (BNA) для нашей сети. Композитор широко охватывает следующие компоненты:

  • Бизнес Сеть Архив (BNA)
  • Composer Playground
  • Композитор REST-сервер

Business Network Archive(BNA)-Composer позволяет нам упаковать несколько разных файлов и создать архив, который затем может быть развернут в сети Fabric. Для создания этого архива нам нужно:

  • Сетевая модель: определение ресурсов, которые существуют в сети. Эти ресурсы включают активы, участников и транзакции. Мы вернемся к этому содержанию позже.
  • Бизнес-логика: логика транзакционной функции.
  • Ограничения контроля доступа. Содержит различные правила, которые определяют права доступа разных участников сети. Это включает, но не ограничивается определением активов, которыми могут управлять участники.
  • Файл запроса (необязательно): набор запросов, которые можно запускать в сети. Их можно считать похожими на запросы SQL. Ты можешьЧитать здесьПодробнее о запросах.

Composer PlaygroundЭто веб-интерфейс, который мы можем использовать для моделирования и тестирования нашей бизнес-сети. Площадка подходит для простого моделирования, потому что она использует локальное хранилище браузера для симуляции цепочки блоков. Однако, если мы запустим локальную среду исполнения Fabric и развернем для нее сеть, мы также сможем получить к ней доступ с помощью Playground. В этом случае Playground не моделирует сеть, оно напрямую связывается с локальной средой исполнения Fabric.

Composer REST ServerЭто инструмент, который позволяет нам генерировать REST API-серверы на основе определений бизнес-сетей. Клиентские приложения могут использовать этот API и позволяют нам интегрировать в сеть приложения, не являющиеся блокчейнами.

Предварительные условия установки, инструменты и среда выполнения Fabric

Установите Prereqs

Теперь, когда у нас есть высокая степень понимания того, что необходимо для построения этих сетей, мы можем приступить к разработке. Однако, прежде чем мы сделаем это, мы должны убедиться, что в системе установлены необходимые компоненты. допустимыйВотНайти обновленный список.

  • Docker Engine и Docker Compose
  • Нодейс и НПМ
  • Git
  • Python 2.7.x

Для пользователей Ubuntu в Hyperledger есть скрипт bash, который может сделать этот процесс очень простым. Запустите следующую команду в терминале:

curl -O https://hyperledger.github.io/composer/latest/prereqs-ubuntu.sh chmod u+x prereqs-ubuntu.sh ./prereqs-ubuntu.sh

К сожалению, пользователи Mac должны вручную установить вышеупомянутые инструменты и убедиться, что у них есть все необходимые условия для системы.Эта страницаБудьте в курсе инструкций по установке.

Установите инструменты для упрощения разработки

Запустите следующую команду в терминале и убедитесь, что не используете sudo при запуске команды npm.

npm install -g composer-cli npm install -g composer-rest-server npm install -g composer-playground npm install -g yo generator-hyperledger-composer

composer-cli является единственным необходимым пакетом. Остальные не являются основными компонентами, но со временем они станут очень полезными. Мы узнаем больше о том, что делают все, когда сталкиваются с ними.

Установите локальную среду исполнения Hyperledger Fabric

mkdir ~/fabric-dev-servers cd ~/fabric-dev-servers curl -O https://raw.githubusercontent.com/hyperledger/composer-tools/master/packages/fabric-dev-servers/fabric-dev-servers.tar.gz tar -xvf fabric-dev-servers.tar.gz export FABRIC_VERSION=hlfv12 ./downloadFabric.sh ./startFabric.sh ./createPeerAdminCard.sh
Давайте посмотрим на команды и посмотрим, что они значат. Сначала мы создаем и вводим новый каталог. Затем мы загружаем и распаковываем инструменты, необходимые для установки Hyperledger Fabric.

Затем мы указываем желаемую версию Fabric. На момент написания статьи нам нужна версия 1.2, поэтомуhlfv12, Затем мы загружаем среду выполнения структуры и запускаем ее.

Наконец, мы генерируемPeerAdminоткрытка. Участники сети Fabric могут иметь визитные карточки, похожие на визитки в реальной жизни. Как мы уже упоминали ранее, Fabric — это базовый уровень построения частного блокчейна. Владельцы визитных карточек PeerAdmin имеют право развертывать, удалять и управлять бизнес-сетями в этой среде выполнения Fabric (то есть вы!).

Если все идет хорошо, вы должны увидеть результат примерно так:

Кроме того, если вы введетеlsты увидишь:

В основном все, что мы делаем здесь, это загружаем и запускаем локальную сеть Fabric. Если мы хотим, мы можем перестать использовать./stopFabric.sh, В конце нашей сессии разработки, мы должны запустить./teardownFabric.sh。

Примечание. Эта локальная среда выполнения должна часто запускаться, останавливаться и уничтожаться для разработки. Для среды выполнения с более постоянным состоянием необходимо развернуть сеть за пределами среды разработки. Вы можете сделать это, запустив сеть в Kubernetes или на хостинговой платформе, такой как IBM Blockchain. Тем не менее, вы должны сначала прочитать этот учебник, чтобы получить представление.

Создать и развернуть нашу бизнес-сеть

Помните пакет, который мы установили ранееyoс участиемgenerator-hyperledger-composer?

yoПредоставляет нам экосистему генератора, где генератор представляет собой плагин, который можно запустить с помощью команды yo. Это используется для настройки примеров приложений для различных проектов.generator-hyperledger-composerЭто генератор Yo, который мы будем использовать, поскольку он содержит спецификации для создания шаблонов бизнес-сетей.

Создать бизнес-сеть

Откройте терминал в выбранном каталоге и введитеyo hyperledger-composer:

Вас будут приветствовать такие вещи, как выше. ВыбратьBusiness NetworkИ назовите этоcards-trading-network,Следующим образом:

Модель нашей бизнес-сети

Первым и наиболее важным шагом в создании деловой сети является выявление существующих ресурсов. У нас есть четыре типа ресурсов на языке моделирования:

  • активы
  • участники
  • сделка
  • мероприятие

За нашихcards-trading-network, Мы определим тип активаTradingCardТип участникаTrader,сделкаTradeCardИ событияTradeNotification。

Продолжайте и откройте сгенерированный файл в выбранном редакторе кода. включиorg.example.biznet.cto, Это файл моделирования. Удалите весь код, который существует в нем, потому что мы хотим переписать его (за исключением объявления пространства имен).

/** * The asset participants will be trading. * Each card has certain properties such as name, * description, and type which can * be used for the frontend application */ asset TradingCard identified by cardId { o String cardId o String cardName o String cardDescription o GameType cardType default=»Baseball» // If no value is provided, it takes the default value o Boolean forTrade } /** * Enumerated types are used to specify a type * which can have 1 or N possible values, and nothing else. */ enum GameType { o Baseball o Football o Cricket }

Это включает в себя наши активыTradingCardХарактеристики. Все активы и участники должны быть уникальным идентификатором, который мы указали в коде, в нашем случае этоcardId。

Кроме того, наши активы имеютGameType cardTypeАтрибут основан на перечислителе, определенном ниже. Перечисление используется для указания типа, который может иметь до N возможных значений, но ничего больше. В нашем примере нетTradingCardМожет иметь кромеBaseball,FootballилиCricketза пределамиcardType。

Теперь, чтобы указать нашTraderТип ресурса участника, пожалуйста, добавьте следующий код в файл моделирования:

/** * The participant model for a Trader */ participant Trader identified by traderId { o String traderId o String traderName }

Это относительно просто и легко понять. У нас есть тип участникаTraderОни сделаны имиTrader IDУникально идентифицирует.

Теперь нам нужно добавитьTradingCardЧтобы получить ссылку на его владельца, чтобы мы знали, кому принадлежит карта. Для этого, пожалуйстаTradingCardДобавьте следующую строку в актив:

—> Trader owner

Итак, код выглядит так:

asset TradingCard identified by cardId { o String cardId o String cardName o String cardDescription o GameType cardType default=»Baseball» // If no value is provided, it takes the default value o Boolean forTrade —> Trader owner }

Это наше первое использование—>Вам должно быть интересно, что это. Это указатель отношения.oс участием—>Именно так мы различаем связь между собственными атрибутами ресурса и другим типом ресурса. Поскольку владелец является участником сетиTraderМы надеемся процитировать это напрямуюTrader, Это точно—>。

Наконец, продолжайте добавлять этот код в файл моделирования, в котором указаны параметры, необходимые для проведения транзакций и выдачи событий.

/** * A transaction which allows Traders to buy other * Traders’ cards if they’re available for trade */ transaction TradeCard { —> TradingCard card —> Trader newOwner } /** * A notification event to be emitted whenever * any card is traded */ event TradeNotification { —> TradingCard card }

Добавьте логику в нашу транзакцию

БытьTradeCardДобавьте логику за функцию, нам нужен файл логики Javascript. Создайте файл с именемlibНовый каталог и создайте файл с именемlogic.jsНовый файл:

/** * Buy card transaction * @param {org.example.biznet.TradeCard} trade * @transaction */ async function buyCard(trade) { if (trade.card.forTrade) { // If card is available for trade trade.card.owner = trade.newOwner; return getAssetRegistry(«org.example.biznet.TradingCard») .then(assetRegistry => { return assetRegistry.update(trade.card); // Update the network registry }) .then(() => { let event = getFactory().newEvent( «org.example.biznet», «TradeNotification» ); // Get a reference to the event specified in the modeling language event.card = trade.card; emit(event); // Fire off the event }); } }

Примечание: декоратор в комментарии над функцией очень важен. если нет@param {org.example.biznet.TradingCard} trade, Функция не знает, на какой код ссылается язык моделированияTransaction, Кроме того, обязательно передайте имя параметра (т.е.trade) Имя параметра, которое вы передаете в определении функции.

Этот код в основном проверяет, имеет ли указанная картаforTrade==trueИ в этом случае обновите владельца карты. Тогда это вызовет картыTradeNotificationмероприятие.

Определите права доступа и правила доступа.

вpermissions.aclДобавьте новые правила, чтобы участники могли получить доступ к своим ресурсам. В производстве вы хотите ужесточить эти правила доступа. Ты можешьВотЧитайте больше связанной информации.

rule AllParticipantsHaveAccessToAllResources { description: «Allow all participants to have access to all resources and make transactions» participant: «ANY» operation: ALL resource: «org.example.biznet.*» action: ALLOW }

Создать архив бизнес-сети (BNA)

Теперь, когда все кодирование завершено, пришло время создать архивный файл для нашей бизнес-сети, чтобы мы могли развернуть его в нашей локальной среде исполнения Fabric. Для этого откройте Терминал в каталоге проекта и введите следующее:

composer archive create —sourceType dir —sourceName

Эта команда сообщает Hyperledger Composer, что мы хотим построить BNA из каталога, который является нашей текущей корневой папкой.

Примечание: название и версия BNA происходят отpackage.jsonфайл. При добавлении дополнительного кода необходимо изменить номер версии, чтобы развернуть уникальный архив, который может обновить существующую бизнес-сеть.

Установите и разверните файлы BNA

Мы можем использоватьPeerAdminПользователи устанавливают и внедряют сеть в нашу локальную среду исполнения Fabric. Чтобы установить бизнес-сеть, введите:

composer network install —archiveFile —card

Чтобы развернуть бизнес-сеть, введите

composer network start —networkName cards-trading-network —networkVersion 0.0.1 —networkAdmin admin —networkAdminEnrollSecret adminpw —card —file cards-trading-admin.card

networkNameс участиемnetworkVersionДолжно бытьpackage.jsonУкажите то же самое, иначе оно не будет работать должным образом.

—fileПолучите имя файла, который будет создан для визитной карточки ЭТОЙ сети. Затем вам нужно ввести эту карту для использования, набрав

composer card import —file cards-trading-admin.card

удивительный. Теперь мы можем подтвердить, что наша сеть работает, набрав

composer network ping —card

—cardНа этот раз нам нужно пропинговать карту управления сети, которую мы хотим пропинговать.

Если все идет хорошо, вы должны увидеть что-то вроде:

Ваша веб-версия будет иметь версию 0.0.1 или любую другую, указанную в вашем package.json. Я действительно забыл этот скриншот и загрузил его после того, как закончил написание учебника и отредактировал его.

Проверьте нашу бизнес-сеть

Теперь, когда наша сеть работает на Fabric, мы можем начатьComposer PlaygroundВзаимодействовать с этим. Для этого наберите в терминалеcomposer-playgroundИ открыть в браузереhttps://localhost:8080/, Вы должны увидеть что-то похожее на это:

Нажмите подключиться сейчасИ вы увидите этот экран:

DefineНа странице определения можно вносить изменения в код, развертывать эти изменения для обновления сети и экспортировать архивы бизнес-сети.

Перейти из верхнего менюTestСтраница, вы увидите:

Выберите из участниковTraderНажмите Создать нового участника в правом верхнем углу.Create New ParticipantА затем создать новый, похожий на этотTrader:

Давай, давай большеTrader, Ниже приведены имена моих трех торговцев: имена Хаардик, Джон и Тайрон.

Теперь давайте сделаем некоторые активы. Нажмите на меню слеваTradingCardзатем нажмитеCreate New AssetСоздать новые активы. осторожностьownerПоля особенно интересны здесь и выглядят так:

Это отношения. Это—>значение. Мы указываем точный тип ресурса, затем его уникальный идентификатор и вуаля, у нас есть указатель отношения.

Продолжайте завершать похожее на этоTradingCard:

осторожностьownerКак поле указываетTrader#1 aka Haardik, Продолжайте делать несколько карт и пусть параforTradeУстановите в true.

Пожалуйста, обратите внимание на моеCard#2:forTrade == true。

Теперь, для чего-то интересного, давайте попробуем обменять карты: D.

Нажмите Отправить транзакцию слева и поместитеcardнаправлениеTradingCard#2,newOwnerнаправлениеTrader#3Следующим образом:

Нажмите отправить и просмотреть вашTradingCard,ты увидишьCard#2Теперь владеет владельцемTrader#3

Рейтинг
( 1 оценка, среднее 5 из 5 )
Понравилась статья? Поделиться с друзьями: