Использование kubernetes для разработки блокчейн проектов на Hyperledger Fabric
Добрый день, дорогие хабровчане.
Я являюсь разработчиком научно-технического центра IBM в Москве. Мы ведем разработку продуктов IBM совместно с другими лабораториями по всему миру. Если позволяет время и есть желание, то у нас разрешено использовать часть рабочего времени на проекты, которые не являются основной занятостью. Такой подход расширяет кругозор и поддерживает творческий настрой. Для меня такой областью является разработка блокчейн-решений на Hyperledger Fabric. Тем более, что такие проекты стали востребованы на нашем рынке.
Надеюсь, что статья будет не о блокчейне, а о том, что мы используем для разработки таких решений, но тем не менее стоит все-таки начать с предметной области.
Статья не претендует на полноту и нацелена на создание рабочего облачного окружения для разработки блокчейн-проектов на Hyperledger Composer. В результате наших практических изысканий мы должны получить следующую инфраструктуру:
Немного о Hyperledger Fabric
Существует большое количество блокчейн-платформ, которые можно сравнивать до бесконечности. Скорее всего универсальной платформы не существует, есть выбранная для текущей задачи. Для себя из блокчейн-платформ я выбрал Hyperledger Fabric. С одной стороны потому, что платформа интересна мне с технической точки зрения, с другой — IBM активно участвует в консорциуме Hyperledger.
Hyperledger — это консорциум в рамках проекта Linux Foundation. Hyperledger Fabric (HLF) — реализация технологии блокчейн для построения различных решений. Она является блокчейн-платформой с контролируемым доступом (permissioned). Это означает, что добавление новых участников контролируется. Участники определяются на этапе проектирования сети и могут иметь различные роли. Наиболее понятными сценариями для таких сетей являются цепочки поставок, в которых участвует множество независимых компаний. Для примера можно изучить опыт Walmart, JD.com, IBM и Tsinghua University в организации цепочки поставок продуктов питания.
С технической точки зрения каждый участник имеет развернутый участок сети у себя в организации (или в облачной инфраструктуре), но не имеет доступа к участкам сети, развернутым в других компаниях.
Как видно из схемы — каждый участник имеет:
В приложении пользователи авторизуются с помощью своих ключей или связки логин и пароль и получают доступ к смарт-контракту.
Смарт-контракт – это запрограммированная бизнес-логика и правила взаимодействия с данными, которые размещены в распределенном реестре (ledger). Реестр содержит цепочку блоков транзакций, которые совершили участники сети. Каждый последующий блок хранит хэш предыдущего блока, за счет чего обеспечивается невозможность изменения части информации. Процесс согласования корректности блока и добавления его в распределенный реестр называется консенсусом. Различные блокчейн-платформы имеют различные механизмы консенсуса: proof of work (PoW), proof of stake (PoS), byzantine fault tolerance (BFT) и прочие.
Начиная с версии 1.0 HLF специфична наличием Ordering Service, который является распределенным между участниками кластером и отвечает за очередность транзакций в формирующемся блоке. По сконфигурированным параметрам он собирает транзакции в сети и формирует блок. В случае отказа Ordering Service транзакции в сети перестанут регистрироваться, но сами данные останутся неизменными.
Теперь, разобравшись с основными понятиями, мы можем переходить к практике.
Как развернуть свою собственную HLF сеть
Все компоненты HLF работают в Docker-контейнерах и могут быть развернуты как с помощью Docker Compose, так и с помощью Kubernetes. Кроме того, сами смарт-контракты тоже запускаются в Docker-контейнерах.
Для того, чтобы развернуть HLF можно использовать уже существующую kubernetes-сеть, minikube или воспользоваться одним из облачных Kubernetes as a Service.
В облачной инфраструктуре IBM можно развернуть свою kubernetes-сеть бесплатно.
Как развернуть kubernetes сеть в IBM Cloud.
Для того, чтобы начать пользоваться IBM Cloud необходимо:
После регистрации в IBM Cloud вы получите доступ в графический интерфейс управления вашей инфраструктурой. Вам будут доступны сотни сервисов и десятки подходов для размещения ваших приложений (Cloud Foundry, Kubernetes, OpenWhisk, виртуальные машины и выделенные сервера). Для использования виртуальных машин и выделенных серверов необходимо добавить кредитную карту, а вот небольшой кусочек kubernetes можно получить бесплатно (с купоном выше).
Для этого необходимо в левом верхнем углу нажать на кнопку меню и выбрать Containers.
Перед вами откроется панель управления кластерами kubernetes, Docker registry и helm-чартами.
Выбрав слева в меню пункт Cluster, вы увидите интерфейс создания кластера kubernetes и выбор региона, в котором кластер будет развернут. Вы можете создать бесплатный кластер в каждом регионе.
После нажатия кнопки Create cluster следует выбрать тип кластера Free и придумать ему название.
Создание кластера займет некоторое время, которое вы можете потратить на переход в консоль (заварить кофе вы не успеете). Установив IBM Cloud CLI (bx tool) вам необходимо сконфигурировать его для работы с вашим аккаунтом:
Теперь вы готовы к тому, чтобы начать использовать ваш kubernetes-кластер для любых целей. Кластер является бесплатным, и в его функционале есть некоторые ограничения, которые нам не помешают развернуть свою блокчейн-сеть:
Для тех, кто первый раз использует kubernetes, возможно, стоит поэкспериментировать с разворачиванием первых Deployment и сервисов. Те, кто уже готов окунутся в мир разработки блокчейн-проектов, могут переходить к следующим шагам.
Разворачиваем контейнеры HLF в kubernetes
Для тех, кто не так давно работает с Docker и Kubernetes напомню, что для разворачивания любого приложения в kubernetes нам необходимы 2 вещи:
Open Source сообщество разработчиков Hypeledger Fabric сделало за нас эту работу. Docker Images с HLF уже лежат на DockerHub и автоматически загрузятся в наш кластер. А вся yaml-конфигурация находится в github репозитории. На момент написания статьи репозиторий содержит конфигурацию для Hyperledger Fabric 1.0.3. Возвращаемся в консоль и выполняем следующие команды:
Что такое Hyperledger Composer
Composer является инструментом для разработчиков блокчейн-решений. С его помощью можно повысить скорость разработки блокчейн-решений с месяцев до недель. Существует онлайн-песочница Composer Playground, но вся бизнес-логика, спроектированная в ней, будет запускаться у вас в браузере (эмуляция блокчейн). В нашем случае Composer будет подключен к работающей сети Hyperledger Fabric, развернутой в kubernetes.
Для создания модели в Hyperledger Composer необходимо описать участников (participant), активов (asset) и транзакций (transaction). Данный подход позволяет перевести разработку блокчейн-проекта в термины вашей задачи, а не выбранной платформы или используемого инструмента. Код транзакций (бизнес-логика) пишется на JavaScript, и при запуске нового смарт-контракта не создается новый Docker-контейнер, а код транзакции передается на интерпретацию в существующий контейнер.
Еще одним достоинством Hyperledger Composer является автоматическое создание REST-интерфейсов на основе описанных активов и транзакций, что позволяет вам сразу начинать писать пользовательский интерфейс (и соответственно получить MVP ).
Запуск первого блокчейн проекта
После запуска Hyperledger Composer в IBM Cloud вы сможете зайти в его веб интерфейс по адресу
:31080. По умолчанию все необходимые контейнеры Docker проброшены на публичный доступ по технологии NodePort (мы же не забываем, что разворачиваем окружение для разработчика).
Composer подключен к github-проету, и вы можете развернуть один из существующих проектов или начать разрабатывать свой.
В результате мы получили бесплатное облачное окружение для разработки проектов на базе Hyperledger Fabric.
Как и в любом технически непростом проекте всегда есть много деталей и дополнительных вещей. Данная статья является ознакомительной и призвана помочь в самом начале изучения. Надеюсь, что время и силы позволят мне написать несколько статей с более детальной информацией как по kubernetes в IBM Cloud, так и про разработку для Hyperledger Fabric.
Вступление¶
В общих чертах, блокчейн это неизменяемый транзакционный реестр (immutable transaction ledger), поддерживаемый распределенной сетью узлов (пиров, peers, nodes). Каждый из этих узлов поддерживает копию блокчейна, применяя транзакции, подтвержденные протоколом консенсуса и сгруппированные в блоки, включающие в себя хэш, связывающий каждый новый блок с предыдущим.
По мере роста популярности Bitcoin, Ethereum и других, производных от них технологий, растет и интерес к применению технологии блокчейна, распределенного реестра и распределенных платформ для более инновационного промышленного использования. Однако для многих кейсов требуется применение характеристик, которыми permissionless-технологии на данный момент не обладают. Также во многих случаях личность участников имеет большое значение, как, например, в случае финансовых транзакций, где соблюдаются принципы Know-Your-Customer (KYC) и Anti-Money-Laundering (AML).
Для промышленного использования нужно учитывать следующие требования:
В отличие от многих блокчейн-платформ, которые сейчас подстраиваются на ходу под использование в индустрии, Hyperledger Fabric был с самого начала создан для промышленной эксплуатации. Последующие разделы описывают, чем Hyperledger Fabric отличается от других блокчейн платформ, и обосновывают некоторые архитектурные решения.
Hyperledger Fabric¶
Fabric имеет крайне модульную и конфигурабельную архитектуру, предоставляя пространство для инноваций и оптимизаций для большого набора юзкейсов, в том числе для банкинга, финансов, страхования, здравоохранения, HR, логистики и даже цифровой доставки музыки.
Fabric может использовать протоколы консенсуса, которые не требуют встроенной криптовалюты для того, чтобы обеспечивать ей работу ресурсоемкого майнинга или исполнения смартконтрактов на топливе. Отказ от криптовалюты убирает некоторые важные векторы атак и рисков, а отсутствие криптографических операций по майнингу означает, что платформа может быть развернута примерно с такими же операционными затратами, что и любая другая распределенная система.
Совокупность этих отличительных черт делает Fabric одной из лучших действующих платформ по скорости обработки и подтверждения транзакций, также она предоставляет приватность и конфиденциальность транзакций и смартконтрактов (в Fabric “chaincode”).
Давайте более детально рассмотрим эти отличительные черты.
Модульность¶
Fabric состоит из следующих модульных компонентов:
Permissioned vs Permissionless¶
В permissionless-блокчейне участвовать может практически каждый, и каждый участник анонимен. В таком случае не может быть никакого доверия кроме того, который следует из неизменяемости состояния блокчейна. Чтобы восполнить это отсутствие доверия, permissionless-блокчейны вводят встроенную криптовалюту, которую можно майнить, или плату за транзакции, чтобы создать экономический BFT консенус на основе “Proof of Work” (PoW).
С другой стороны, permissioned-блокчейны оперируют блокчейном среди набора известных, идентифицируемых и зачастую проверенных участников, работающих под моделью управления с каким-то уровнем доверия. Permissioned-блокчейны позволяют обезопасить взаимодействия между группой сущностей, преследующих общую цель, но не доверяющих друг другу полностью. Полагаясь на учетные записи участников, permissioned-блокчейн может использовать более традиционные CFT или BFT консенсус-протоколы, которые не нуждаются в ресурсоемком майнинге.
В дополнение к этому, в такой permissioned-модели риск того, что участник умышленно введет вредоносный код через смартконтракт исчезает. Участники знают друг друга и все действия записываются, будь это отправление транзакции, модификация конфигурации сети или развертывание смартконтракта, при этом действия проходят проверку согласно политикам подтверждения, установленным в сети для конкретного типа транзакции. Вместо того, чтобы быть полностью анонимным, виновный участник может быть легко опознан, а инцидент обработан согласно протоколу управляющей модели.
Смартконтракты¶
Существует три ключевых пункта, относящихся к смартконтрактам, особенно существующим на платформе:
Большинство существующих платформ, поддерживающих смарт контракты, следуют архитектуре order-execure (упорядочить-выполнить), в которой консенсус-протокол: валидирует и упорядочивает, а потом распространяет их по всем узлам, каждый узел потом исполняет транзакции в заданном порядке.
Архитектура order-execute может быть обнаружена в практически всех существующих блокчейн-системах, от public permissionless-платформ как Ethereum с PoW консенсусом, до permissioned платформ как Tendermint, Chain, и Quorum.
смартконтракты выполняемые в блокчейне, который действует под архитектурой order-execute должны быть детерминированными, иначе к консенсусу можно никогда так и не прийти.
Чтобы справиться с этой проблемой, многие платформы требуют, чтобы смартконтракты были написаны на нестандартном языке или DSL (как в случае Solidity), чтобы не допустить недетерминированных операций. Такой подход мешает широкому распространению среди разработчиков, так как им требуется выучить новый язык. Также такой подход может привести к многочисленным ошибкам в коде.
Так как все транзакции выполняются последовательно всеми узлами, производительность и масштабируемость ограничены. Факт того, что смартконтракт исполняется на каждом узле требует принятия комплексных мер по обеспечению безопасности всей системы от потенциально вредоносных контрактов.
Новый подход¶
Fabric представляет новую архитектуру для транзакций, которую мы называем execute-order-validate (выполнить-упорядочить-валидировать). Она решает проблемы гибкости, масштабируемости, производительности и конфиденциальности, присутствующие в архитектуре order-execute, разбивая транзакционный поток на три шага:
Такой дизайн радикально отличается от парадигмы order-execute в том, что Fabric выполняет транзакции до определения их конечного порядка.
В Fabric, определенная для каждого типа транзакций политика подтверждения указывает на то, какие узлы и в каком количестве должны поручиться за корректность выполнения определенного смартконтракта. Так, каждая транзакция должна быть выполнена (подтверждена) только на подмножестве узлов, чтобы удовлетворить политике подтверждения. Это позволяет использовать параллельное выполнение, увеличивая общую производительность системы. Эта фаза также убирает весь недетерминизм, так как противоречивые результаты будут отфильтрованы перед ordering’ом.
Приватность и конфиденциальность¶
Как мы уже обсудили, в public permissionless-блокчейнах сети, использующей PoW, транзакции выполняются на каждом узле. Это означает, что невозможна конфиденциальность ни самих контрактов, ни транзакционных данных, которыми они оперируют. Каждая транзакция и код, который ее осуществляет, видны каждому узлу в сети. В этом случае, мы принесли конфиденциальность контрактов и данных на BFT-консенсус, обеспечиваемый PoW.
Как второй пример рассмотрим индустрию ценных бумаг, где продавец, составляющий предложение (или отказывающийся от него) не захочет, чтобы его соперники видели это, иначе они будут стремиться войти в игру, ослабляя гамбит трейдера.
Чтобы решить эту проблему отсутствия конфиденциальности и приватности ради цели достижения требований промышленных юзкейсов, блокчейн платформы пришли к нескольким решениям. Все имеют свои минусы.
В permissioned-модели, в которой возможны альтернативные формы консенсуса, можно обнаружить подходы, которые ограничивают распространение конфиденциальной информации только к авторизованным узлам.
Hyperledger Fabric, будучи permissioned-платформой, предоставляет конфиденциальность через архитектуру каналов (channels) и механизм приватных данных (private data). В каналах, определенные участники Fabric-сети создают подсеть, где каждый участник видит только определенный набор транзакций. Так, только узлы, участвующие в канале, имеют доступ к смартконтрактам (chaincode) и передаваемым данным, сохраняя приватность и конфиденциальность обоих. Приватные данные предоставляют возможность создания коллекций между участниками канала, гарантируя примерно ту же защиту, что и каналы, но без необходимости в создании и поддержке отдельной подсети.
Сменный консенсус¶
Ordering транзакций передан модульному компоненту, чтобы консенсус был логически отделен от пиров, выполняющих транзакции и поддерживающих реестр. Ordering передан компоненту под названием ordering service (ordering-служба). Так как консенсус модульный, он может быть реализован с определенным знанием доверия в конкретной системе. Такая архитектура позволяет платформе использовать хорошо отработанные инструменты для CFT- или BFT-ordering’а.
В текущем состоянии Fabric предоставляет реализацию CFT ordering-службы, базирующуюся на библиотеке etcd протокола Raft. Для информации о доступных на данный момент ordering-службах, смотрите документацию по ordering’у.
Заметьте, что такие службы не являются взаимно-исключающими. Сеть Fabric может иметь несколько ordering-служб, чтобы удовлетворить возможным требованиям приложений.
Производительность и масштабирование¶
Производительность блокчейн-платформ может зависеть от множества факторов: размера транзакции, размера блока, размера сети, от ограничения оборудования, и т.д. Группа по работе над производительностью и масштабированием работает над banchmarking-инструментом Hyperledger Caliper.
Существуют исследовательские публикации, изучающие и тестирующие производительность Hyperledger Fabric. Последняя такая статья: scaled Fabric to 20,000 transactions per second.
Заключение¶
Уникальный набор возможностей Hyperledger Fabric делает ее крайне масштабируемой системой для permissioned-блокчейнов, поддерживающей гибкие формы доверия, которые делают платформу пригодной для широкого спектра промышленных сценариев, начиная государственными службами и кончая финансами, логистикой, здравоохранением и еще многим другим.
Благодарности¶
© Copyright Hyperledger 2020.
Что такое Hyperledger Fabric?
Гибкая среда блокчейна, лежащая в основе IBM Blockchain Platform, помогает новаторам кардинально менять бизнес во всем мире
Что такое Hyperledger Fabric?
Hyperledger Fabric — это проект Linux Foundation с открытым исходным кодом, который предлагает модульную среду блокчейна и является стандартом де-факто для корпоративных платформ блокчейна. Открытая модульная архитектура, которая создавалась как основа для разработки приложений корпоративного класса и отраслевых решений, использует готовые компоненты для решения широкого спектра задач.
Hyperledger Fabric, в разработке которого принимало участие более 120000 организаций и более 15000 проектировщиков, предлагает уникальный подход к достижению консенсуса, который обеспечивает производительность в требуемом масштабе без ущерба для конфиденциальности данных.
Принцип работы Hyperledger Fabric
Hyperledger Fabric — это открытая и надежная платформа распределенного реестра корпоративного класса. Она предлагает расширенные средства обеспечения конфиденциальности — доступом к общим данным обладают только разрешенные (известные) участники сети.
Смарт-контракты описывают бизнес-процессы, которые требуется автоматизировать с помощью самовыполняющихся соглашений между сторонами, представленных в виде строк кода. Код и соглашения смарт-контрактов размещаются в распределенной, децентрализованной сети блокчейна. Отслеживаемые и необратимые транзакции укрепляют доверие между организациями. В результате компании получают возможность быстрее принимать более обоснованные решения, экономя время, сокращая расходы и уменьшая риски.
Преимущества Hyperledger Fabric
Контролируемая сеть
Формирование децентрализованного доверия в сети с известными участниками, а не в открытой сети с анонимными участниками.
Конфиденциальные транзакции
Предоставление доступа только к тем данным, которыми вы хотите поделиться с конкретными участниками.
Подключаемая архитектура
Подключаемая архитектура позволяет с большей эффективностью адаптировать блокчейн к отраслевым потребностям по сравнению с решением, подходящим на все случаи жизни.
Простое начало работы
Для программирования смарт-контрактов можно использовать те же языки, на которых уже работают ваши разработчики — нет необходимости изучать специализированные языки и архитектуры.
What We Do
Hyperledger Foundation is a non profit organization that brings together all the necessary resources and infrastructure to ensure thriving and stable ecosystems around open source software blockchain projects.
Hyperledger Foundation hosts a number of enterprise-grade blockchain software projects. The projects are conceived and built by the developer community for vendors, end user organizations, service providers, start-ups, academics and others to use to build and deploy blockchain networks or commercial solutions. The Hyperledger Foundation staff is part of a larger Linux Foundation team that has years of experience in providing program management services for open source projects.
All Hyperledger projects follow the same design philosophy:
Complete with APIs
Hyperledger Foundation Goals
Provide a neutral, open community around enterprise blockchain supported by technical and business Governance
Foster the development and adoption of cross-industry platforms powered by distributed ledgers
Educate the public about the market opportunity for business blockchain technology
Why Enterprise Blockchain, Why Hyperledger?
Blockchain solves a core problem: many organizations want to share data in a distributed database, but no single owner will be trusted by every user. Blockchain technologies enable direct transactions in a secure, transparent way, baking trust into systems that operate with the efficiency of a peer-to-peer network.
For enterprises, adopting this technology is making a foundational change in how they conduct business. When used as an enterprise software solution, it enables trust where it didn’t exist before and removes layers and layers of inefficiency. The technologies are building blocks for core, cross industry systems that will only scale in size and complexity as well as in effectiveness and value. Because Hyperledger technologies are open source code bases built with collaborative design and governance, enterprises have embraced them as trusted infrastructure for building blockchain solutions.
Что такое Hyperledger? Полное руководство по Hyperledger Fabric, Sawtooth и другим проектам
Дата обновления: 06.09.2021 в 11:06
Фонд Linux запустил блокчейн проект с открытым исходным кодом «Hyperledger» еще в 2015 году. Проект имеет важное значение в мире блокчейна.
Благодаря множеству различных модулей, небольшие компании имеют много возможностей для интеграции приложений блокчейна.
Несмотря на то, что понять, что такое криптовалюты, такие как Биткоин и даже Эфириум, относительно просто, гораздо сложнее разобраться в инициативе Hyperledger.
Далее в статье мы расскажем, что такое Hyperledger, как он работает и для чего он нужен!
Что такое Hyperledger? Краткое руководство по Hyperledger
Hyperledger не поддерживает Биткойн или любую другую криптовалюту. Но разработчики платформы заинтересованы технологией блокчейна.
Веб-сайт утверждает, что со времени создания сети «технология Hyperledger обещала более широкую и фундаментальную революцию, чем технология блокчейна». Блокчейн обладает потенциалом для «создания нового поколения транзакционных приложений, которые устанавливают доверие, подотчетность и прозрачность в своей основе, оптимизируя бизнес-процессы и правовые ограничения».
С помощью Hyperledger Linux Foundation стремится создать среду, в которой сообщества разработчиков программного обеспечения и компаний встречаются и координируют свои действия для создания блокчейн-фреймворков.
Фонд Linux Foundation основал эту платформу в декабре 2015 года. В феврале 2016 года она объявила о первых членах-учредителях, а в марте 2016 года к ней присоединились еще десять участников.
Сегодня Hyperledger имеет внушительный список из более чем 100 участников. Этот список охватывает широкий круг хорошо известных лидеров отрасли.
В него входят такие гиганты мобильных технологий, как Airbus и Daimler, IT-компании, такие как IBM, Fujitsu, SAP, Huawei, Nokia, Intel и Samsung, финансовые учреждения, такие как Deutsche Börse, American Express, JP Morgan, BBVA, BNP Paribas и Well Fargo, а также как блокчейн стартапы, такие как Blockstream, Netki, Lykke, Factom, bloq и Consensys.
Среди лидеров можно найти следующих: Apache Foundation и W3C, а также разработчиков из IBM и многих других компаний.
Некоторые члены Hyperledgers, такие как Ричард Браун и Тамас Блюмер, уже много лет работают с блокчейном. Для своих участников Hyperledger предоставляет не только технические знания и программные платформы, но и различные контакты с отраслями промышленности и разработчиками.
У исполнительного директора Брайана Белендорфа спросили: «появится ли в будущем Hyperledger Coin, денежная единица, работающая на блокчейнах Hyperledger?». Белендорф ответил, что сам проект Hyperledger никогда не будет создавать свою собственную криптовалюту.
«Вы никогда не увидите монету Hyperledger. Мы избегаем политических проблем, связанных с необходимостью поддерживать цифровую валюту»
Это решение сильно повлияло на стратегические цели Hyperledger по созданию промышленных приложений технологии блокчейн и резко отделило ее от схем привлечения денег, в отличие от других проектов, которые развиваются на основе создания криптовалюты.
Кроме того, в «Уставе» изложены цели Hyperledger, как в руководстве к миссии. В соответствии с этим, платформа нацелена на «создание корпоративной инфраструктуры распределенной бухгалтерской книги с открытым исходным кодом и кодовой базы», а также на создание, продвижение и поддержку открытой инфраструктуры.
Вроде мы видим цели, но они какие-то расплывчатые. Проект описывает какую-то программу, но не отвечает на главные вопросы: что делают все эти ведущие мировые компании и лидеры в Hyperledger? Какие проекты они продвигают? Кто участвует?
Проекты Hyperledger
Hyperledger инкубирует и продвигает целый ряд бизнес-блокчейн-технологий, фреймворков, библиотек, интерфейсов и приложений. В настоящее время Hyperledger разрабатывает следующие проекты.
Hyperledger Sawtooth
Hyperledger Iroha
Hyperledger Fabric (Hyperledger IBM)
Hyperledger Burrow
Hyperledger Composer
Hyperledger Explorer
Разработанный для создания удобного веб-приложения, Hyperledger Explorer может просматривать, вызывать, развертывать или запрашивать блоки, транзакции и связанные с ними данные, сетевую информацию (имя, статус, список узлов), коды цепочек и семейства транзакций, а также любую другую соответствующую информацию, хранящуюся в главной книге.
Hyperledger Indy
Hyperledger Cello
Hyperledger Cello – это модель развертывания блокчейна как сервиса.
Помимо этих проектов, Hyperledger имеет несколько инструментальных проектов, направленных на упрощение и повышение эффективности доступа к блокчейнам и их разработки.
Итак, мы более подробно рассмотрим два самых известных проекта: Sawtooth и Fabric.
Hyperledger Sawtooth (Intel)
PoET использует новую безопасную инструкцию процессора, которая все больше и больше доступна в новых процессорах, таких как Intel build.
С помощью этих инструкций PoET обеспечивает безопасный и случайный выбор так называемого «лидера». Это можно сравнить с майнингом Биткоина, в котором майнеры борются за единовременный доступ для записи блокчейна. Также PoET не нуждается в специализированном оборудовании для майнинга.
Еще одним новшеством Sawtooth Lake является построение и распространение сделок. Клиент создает транзакции и передает их валидаторам. Валидаторы пакетно группируют транзакции.
Это похожий, но не идентичный процесс, как когда майнеры криптовалюты группируют транзакции в блок. С помощью этой пакетной группировки обработка Sawtooth решает проблему надежной проверки транзакций, которые зависят друг от друга.
Приложения Sawtooth
На сегодняшний день Sawtooth протестирован в нескольких приложениях. Одно из таких приложений – это регистрация перемещения морепродуктов «от океана к столу» с использованием IoT и отслеживания параметров по всей цепочке поставок, от рыбака до супермаркета.
Покупатель может получить доступ к полной и достоверной записи всей живой цепочки. Этот пример использования в цепочке поставок и истории продуктов все чаще обсуждается для блокчейнов.
Sawtooth также протестирован, чтобы упростить процесс передачи облигаций. Разработчики создали пользовательский интерфейс для отслеживания и передачи облигаций. Благодаря этому, пользователи могут управлять целым портфелем облигаций на блокчейне.
Разработчики построили платформу для управления владением цифровыми активами на блокчейне Sawtooth, которая могла бы управлять широким спектром цифровых активов.
Связующим звеном между этим приложением Sawtooth, по-видимому, является рынок цифровых активов любого рода, который встроен в блокчейн и уже имеет графический интерфейс для пользователей.
Несмотря на то, что эти тесты продолжаются, а Sawtooth пользуется широким интересом в отрасли, проект, похоже, набирает меньше популярности, чем вклад IBM в Hyperledger.
Hyperledger Fabric
Fabric разработан для предоставления структуры, с помощью которой предприятия могут создавать свою собственную, индивидуальную сеть блокчейнов, которая может быстро масштабироваться до более чем 1000 транзакций в секунду.
Что такое Fabric и как она работает?
Фреймворк реализован в Go. Он создан для включения консорциумных блокчейнов с различными степенями разрешений. Fabric в значительной степени полагается на смарт контрактную систему Chaincode, которую каждый одноранговый узел сети запускает в контейнерах Docker.
Fabric позволяет предприятиям создавать части блокчейна, если не весь блокчейн, разрешенными. Участники обычно должны зарегистрироваться, чтобы получить разрешение на присоединение и выпуск транзакций на блокчейне на основе Fabric.
Чтобы использовать ресурсы более эффективно, Fabric имеет меньше узлов, чем публичная цепочка, и вычисляет данные массово параллельно, что делает масштабирование Fabric намного лучше, чем публичные блокчейны.
Кроме того, его базовая архитектура поддерживает конфиденциальные данные, предоставляя своим членам больше конфиденциальности, чем они получат в публичном блокчейне.
Возможно, наиболее важным является разделение между так называемыми «Endorsers» и «узлами консенсуса». Если вы знакомы с криптовалютами, такими как Биткойн, вы заметите разделение между майнерами и узлами.
Endorsers имеет состояние и создает, проверяет и распространяет транзакции и код цепочки, в то время как узлы консенсуса заказывают уже проверенные транзакции.
Хотя это разделение не было концепцией первой блокчейн-концепции Сатоши Накамото, но оно стало нежелательной реальностью в большинстве криптовалют, Fabric является одним из первых, кто сделал это разделение принципом конструкции.
Это позволяет Fabric, например, реализовать лучшее разделение труда, так что не каждый одноранговый узел сети должен выполнять ту же самую работу.
Несмотря на отсутствие собственной валюты, Fabric позволяет пользователю определять активы со стороны клиента и использовать их с помощью Fabric Composer.
Структура смарт-контрактов Chaincode Fabric похожа на Ethereum: Chaincode определяет бизнес-логику активов, правила считывания и изменения так называемого состояния активов.
Подобно Ethereum, Fabric поддерживает не набор неизрасходованных выходных данных, как это делает Биткойн, а состояние блокчейна, которое не ограничивается транзакционными данными.
Кроме общедоступных блокчейнов криптовалюты, Fabric позволяет участникам создавать отдельный канал для своих активов и, следовательно, изолировать и сегрегировать транзакции и бухгалтерскую книгу.
Fabric использует инфраструктуру открытых ключей для создания криптографических сертификатов, связанных с организациями и пользователями. Таким образом, можно ограничить доступ к данным и каналам для определенных участников.
Сильной стороной структуры, по-видимому, является высокая степень гибкости в отношении разрешений и конфиденциальности при одновременном обеспечении высокой масштабируемости за счет более сложного разделения труда участников сети.
Для IBM, Fabric служит флагманским проектом по разработке блокчейнов. IT-гигант использует Fabric для различных собственных проектов и для сотрудничества с несколькими деловыми партнерами.
В марте 2017 года IBM запустила IBM Blockchain – сервис, который позволяет разработчикам «быстро создавать и размещать сети с высокой степенью безопасности в блоке IBM Cloud». Этим шагом IBM догоняет Microsoft, которая давно интегрировала блокчейны в свое облако Azure.
Основа неденежной, промышленной технологии блокчейна?
Хотя по Sawtooth и Fabric доступно много информации, о других проектах известно меньше.
Возможно, эти проекты сначала должны развиваться и становиться предметом медиа-релизов, тестов и реальных приложений. Но самые известные проекты, Sawtooth и Fabric, интересны и, похоже, поддерживаются сильными IT-компаниями.
Будет интересно посмотреть, удастся ли Hyperledger соединить эти блокчейны, например, разработав инструменты, которые можно использовать со всеми инфраструктурами блокчейнов Hyperledger.
Вывод
В то время, как большинство других блокчейн проектов ориентированы на криптовалюты и токены, проекты вокруг Hyperledger демонстрируют большой потенциал для создания основы не денежных, масштабируемых промышленных приложений технологии блокчейн.















