Hyperledger Besu – публичный блокчейн Hyperledger с открытым исходным кодом

Хотите узнать о Hyperledger Besu? Если да, то вы попали в нужное место.

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

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

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

Встречайте Hyperledger Besu, новый проект с открытым исходным кодом, который недавно был добавлен в список проектов Hyperledger.. 

Что такое Hyperledger Besu?

Hyperledger Besu – первый публичный блокчейн-проект, официально присоединившийся к Hyperledger. До прихода к власти он был известен как Пантеон ConsenSys. Новый член был впервые предложен для добавления в консорциум 8 августа..

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

29 августа 2019 года было объявлено, что Hyperledger Besu станет частью консорциума. Это было отличным дополнением, учитывая, что это первый публичный блокчейн, пополнивший ряды Hyperledger, где только разрешенные блокчейны являются частью.. 

Итак, что такое Hyperledger Besu?

Это клиент Ethereum с открытым исходным кодом, разработанный с лицензией Apache 2.0. Он также написан на Java и использует общедоступную сеть Ethereum. Другие ключевые технологии, используемые для обеспечения функциональности Besu, включают Gorli, Rinkeby и Ropsten..

Когда дело доходит до метода консенсуса, он использует Proof of Authority (Clique и IBFT 2.0) и Proof of Work (Ethash)..

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

Что такое клиент Ethereum?


Если вы обратили внимание, вы уже знаете, что мы упомянули Besu как клиента Ethereum. Итак, что это за клиент Ethereum? Давай исследуем.

Клиент Ethereum – это программное обеспечение, которое используется для реализации протокола Ethereum. Проще говоря, с его помощью можно делать следующие вещи:

  • Создайте среду исполнения в блокчейне Ethereum для обработки транзакций
  • Постоянное хранение данных, включая хранение выполнения транзакции
  • Включить одноранговую (P2P) сетевую связь между узлами
  • Предлагает API для безопасной разработки и взаимодействия с блокчейном..

Что вы можете делать с Hyperledger Besu? Примеры использования Hyperledger Besu

Чтобы лучше понять, что такое блокчейн Hyperledger Besu, давайте узнаем, что можно сделать с помощью сети Hyperledger Besu..

Первое, что вы заметите в Besu, – это его интерфейс командной строки. Он также предлагает JSON-RPC API. Оба они могут использоваться для мониторинга, отладки, обслуживания и запуска узлов в сети Ethereum..

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

  • Разработка децентрализованных приложений (dApp)
  • Разработка смарт-контрактов
  • Эфирный майнинг

Что касается технической поддержки, он предлагает общие инструменты для разработки dApp и смарт-контрактов. Он поддерживает такие инструменты, как Remix, Truffle и web3j. Однако вы можете не найти поддержки по управлению ключами в Besu. Для этого вам нужно использовать EthSigner, который безупречно с ним работает, предоставляя вам инструмент для правильного управления ключами. Сеть Hyperledger Besu идеально подходит для корпоративных нужд, а это означает, что существует множество вариантов использования Hyperledger Besu..

Ключевые особенности Besu: как работает Hyperledger Besu

Теперь, когда мы стали лучше понимать сеть Hyperledger Besu, пришло время обсудить ее особенности. Изучив функции, вы также сможете понять, что делает Бесу важным членом консорциума Hyperledger..

Спецификация EEA (Enterprise Ethereum Alliance)

→ Он реализует спецификацию EEA (Enterprise Ethereum Alliance). Спецификация гарантирует, что он может подключаться к другим проектам Ethereum, которые могут быть как закрытыми, так и открытыми. Спецификация очень важна, так как гарантирует, что проектам не придется беспокоиться о проблемах привязки к поставщику. Кроме того, вы также получаете стандартный интерфейс для бесшовного создания приложений. Besu отлично работает с EEA и преуспевает в предоставлении корпоративных функций.

EVM (виртуальная машина Ethereum)

EVM лежит в основе блокчейна Hyperledger Besu. Это полный Тьюринг. Это помогает в выполнении смарт-контрактов через транзакции блокчейна Ethereum..

Консенсусные алгоритмы

Hyperledger Besu предлагает хорошие варианты, когда дело доходит до алгоритма консенсуса. По умолчанию вы получаете поддержку алгоритмов консенсуса Proof of Work и Proof of Authority. Алгоритмы используются для транзакций в сети Ethereum..

Proof of Work → С Proof of Work майнеры могут заниматься майнингом в основной сети Ethereum. Для этого используется Ethash..

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

  • Из коробки вы можете использовать IBFT 2.0. Утвержденные аккаунты заботятся о блоках и проверке транзакций. Утвержденные учетные записи называются валидаторами. Группа валидаторов затем действует как субъект власти, где они могут голосовать за добавление / удаление валидаторов. Одним из ограничений является то, что IBFT 2.0 не допускает форков, и всегда будет одна основная цепочка..
  • Clique – это алгоритм защиты, обеспечивающий отказоустойчивость. Он может выдержать до половины сбойных валидаторов. Для IBFT 2.0 необходимо запустить не менее 2/3 валидаторов, чтобы продолжить процесс создания блока..

Место хранения

Сеть Hyperledger Besu отличается гибкостью в том, что касается поддержки хранилищ. Как и в других решениях на основе блокчейнов, в нем также используется подход «ключ-значение». Изначально он использует базу данных «ключ-значение» RocksDB. Это помогает обеспечить постоянство данных. Однако сохраненные данные можно разделить на две подкатегории..

Блокчейн

→ Заголовки блоков используются для формирования цепочки. Информация в заголовках блоков используется для криптографической проверки состояния цепочки блоков..

→ Тела блоков, с другой стороны, содержат список транзакций заказа для каждого блока.

→ Метаданные выполнения транзакции хранятся в квитанции транзакции.

Мировое государство

→ Хеш stateRoot используется заголовком каждого блока для ссылки на состояние мира..

→ Это отображение учетных записей для адресации

→ Баланс эфира хранится на внешних счетах

→ Смарт-контракты содержат код и хранилище

P2P сети

Когда дело доходит до P2P-сетей, Besu реализует сетевой протокол devp2p Ethereum. Протокол обеспечивает межклиентскую связь. Он также действует как дополнительный подпротокол IBFT2. Обнаружение осуществляется с использованием протокола на основе UDP, аналогичного тому, что делает сеть Интернет. Для связи он использует RLPx – протокол на основе TCP. RLPx, с другой стороны, использует различные подпротоколы, включая протокол ETH Wire (для синхронизации состояния транзакции) и подпротокол IBF (для принятия консенсусных решений).

Пользовательские API

Besu имеет отличные API. API-интерфейсы, которые он предоставляет по протоколу HTTP и WebSocket, включают API-интерфейсы EEA JSON-RPC и API-интерфейсы Ethereum для основной сети. Он также поддерживает GraphQL API..

Мониторинг

Блокчейн Hyperledger Besu поддерживает функции мониторинга, включая мониторинг производительности сети и узлов. Prometheus используется для мониторинга производительности узла. Также метод JSON-RPC API можно использовать для debug_metrics..

Когда дело доходит до производительности сети, используются инструменты Alethi, включая EthStats Network Monitor или Block Explorer..

Конфиденциальность

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

Разрешение

Наконец, он предлагает правильное управление разрешениями, которое гарантирует, что только узлы, которым разрешено участвовать. 

Архитектура Hyperledger Besu

Архитектура Hyperledger Besu проста и эффективна. Мы обсудили все ключевые компоненты в разделе функций.

Ключевые три основных компонента Besu включают в себя следующие.

  • Место хранения
  • Ядро Эфириума
  • Сети

Давайте сначала обсудим ядро ​​Ethereum. Ядро состоит из виртуальной машины Ethereum (EVM). Он несет ответственность за выполнение любой транзакции. Помимо EVM есть Tx Processor, который помогает EVM эффективно и действенно функционировать..

Методы консенсуса также являются частью ядра Ethereum. Здесь у нас есть методы консенсуса, включая PoW, Clique и IBFT2. Два других основных компонента ядра Ethereum включают:

  • Пул транзакций → Пул транзакций хранит информацию, связанную с транзакциями
  • Синхронизатор → помогает синхронизировать все узлы и сеть.

Как ни странно, у нас есть блокчейн и состояние мира. Мировое состояние состоит из состояния учетной записи, хранилища учетной записи и хранилища кода..

Наконец, есть сеть, которая работает с использованием протокола Ethereum devp2p. Четыре основных компонента включают:

  • Открытие
  • RLPx
  • Подпротокол ETH
  • Суб-протокол IBF

Системные требования для Besu

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

Но, по большей части, вам понадобятся следующие.

  • 4 ГБ оперативной памяти. Если вы решили запустить сеть Ethereum Mainnet, вам потребуется 8 ГБ ОЗУ.
  • Что касается дискового пространства, вам потребуется не менее 3 ТБ для полной синхронизации при работе с основной сетью Ethereum.

Если вы все еще не уверены, вам нужно использовать Prometheus для мониторинга узла, чтобы узнать точные требования к диску и процессору. Кроме того, панель управления Grafana работает с Besu, которую вы можете легко использовать для мониторинга..

Дорожная карта Hyperledger Besu

Тот факт, что он стал открытым исходным кодом с октября 2018 года, теперь открыт для внесения кем угодно. Интересно выглядит дорожная карта Hyperledger Besu. Ниже приведены ключевые этапы дорожной карты, к которым они стремятся..

→ Создание групп конфиденциальности, разрешение учетной записи, пользовательский интерфейс разрешения, обновление сети Стамбула

: Hyperledger Besu 1.2, 31 июля 2019 г.

→ Поддержка потоковой передачи, пользовательский мониторинг для IBFT, управление разрешениями: Hyperledger Besu 1.3, 7 октября 2019 г.

→ Сетевой клиент Multi Ethereum, Cross-Privacy Group, Расширенные функции конфиденциальности, Корпоративная интеграция, Ethereum 2.0, начало 2020 г..

Установка двоичного дистрибутива, сборка из исходников и запуск Besu

В этом разделе мы узнаем, как установить Besu, собрать и запустить его на MacOS и других операционных системах..

Установка двоичного распределения

Если вы используете Mac OS, вам необходимо иметь Homebrew и Java JDK для начала. Вам также понадобится Java 11+, так как более ранние версии Java не поддерживаются..

Теперь выполните следующую команду для установки с помощью Homebrew.

кран для заваривания Hyperledger / besu

варить установить бесу

Чтобы проверить, успешно ли установлен Besu, проверьте с помощью следующей команды.

besu –help

Если вы используете Unix / Linux / Windows, то вам необходимо скачать Besu упакованные двоичные файлы. После загрузки распакуйте файлы и перейдите в каталог besu-. 

Чтобы убедиться, что Besu установлен правильно, используйте besu –help команда.

Сборка из исходного кода

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

git clone –рекурсивный https://github.com/hyperledger/besu.git

Как только клонирование будет выполнено, мы удалим тесты, используя следующую команду:

./ gradlew build -x тест

Теперь перейдите в каталог распространения с помощью команды:

сборка компакт-диска / дистрибьюторы /

Оттуда вам нужно расширить архив распространения с помощью следующей команды.

tar -xzf besu-.tar.gz

Теперь, когда файлы раскрыты, перейдите в новую папку..

cd besu- /

bin / besu –help

Если последняя команда выполняется успешно, вы успешно выполнили сборку из исходного кода..

Для Windows процесс почти такой же. Вы начинаете с клонирования репозитория, удаления тестов, перехода в каталог распространения, его расширения и, наконец, проверки успешности установки..

Запуск Бесу

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

  • Данные локального блока
  • Конфигурация Genesis
  • Подтвердите, что узел работает или нет
  • Запустить узел для тестирования

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

Вы можете удалить данные локального блока из каталога besu / build / distribution / besu-. Там удалите каталог базы данных, и все готово.!

Если вы используете Mainnet, Goerli, Rinkeby или Ropsten, то конфигурация Genesis указывается при подключении к ним.. 

Кроме того, вы можете указать атрибут –network = dev, чтобы начать конфигурацию Genesis с пустыми загрузочными узлами. Кроме того, он устанавливает конфигурацию генезиса с фиксированной низкой сложностью..

Чтобы убедиться, что узел запущен, вам нужно использовать параметр –rpc – http-enabled. После этого используйте cURL, а затем вызовите методы API JSON-RPC. Если есть ответ, значит, узел работает.

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

besu –network = dev –miner-enabled –miner-coinbase = 0xfe3b557e8fb62b89f4916b721be55ceb828dbd73 –rpc-http-cors-origins = ”all” –host-whitelist = ”*” –rpc-ws-enabled –rpc-http-enabled –data путь = / tmp / tmpDatdir

Конфиденциальность в Hyperledger Besu

Разрешенные сети известны своими функциями конфиденциальности. Besu ничем не отличается, поскольку предлагает отличные варианты конфиденциальности прямо из коробки. С Бесу вы можете использовать Конфиденциальность в соответствии с требованиями ЕЭЗ или Бесу-расширенная конфиденциальность.

Для создания групп конфиденциальности и управления ими вы можете использовать уже доступные методы JSON-RPC API. Эти методы можно использовать для создания групп конфиденциальности и управления ими.

  • priv_createPrivacyGroup
  • Priv_findPrivacyGroup
  • Priv_deletePrivacyGroup

Что касается транзакций, Besu реализует только ограниченные транзакции. Это сделано для обеспечения конфиденциальности и обеспечения конфиденциальности транзакций..

Транзакции подписываются определенным ключом или случайным ключом. Если вы хотите войти в систему с определенным ключом, вам необходимо использовать файл -privacy-marker-transaction-signed-key-file, который доступен в Hyperledger Besu.. 

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

Разрешение в Hyperledger Besu

Разрешения – важная часть любой структуры корпоративной цепочки блоков. То же самое и с Бесу. Любая разрешенная сеть основана на идее разрешения только определенных узлов. Они участвуют и активируют сеть, выполняя транзакцию или разрешая транзакции.. 

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

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

Блокчейн Hyperledger Besu предоставляет как локальную, так и внутреннюю цепочку.

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

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

Заголовок: Как работает локальный и разрешенный OnChain

Вы также можете следить это руководство, чтобы узнать, как настроить разрешающую сеть в Бесу.

Другие вещи, о которых стоит упомянуть

Hyperledger Besu GitHub: Если вы думаете, что можете внести свой вклад в Hyperledger Besu, вы можете проверить репозиторий Hyperledger Besu на GitHub. здесь.

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

Вывод

На этом мы подошли к концу нашего руководства по началу работы с Hyperledger Besu. Здесь мы много чего рассказали о Бесу.

Скоро мы расскажем о Hyperledger Fabric vs Besu. Так что не забудьте подписаться на нашу рассылку новостей.

Кроме того, что вы думаете об этом? Прокомментируйте ниже и дайте нам знать.

Mike Owergreen Administrator
Sorry! The Author has not filled his profile.
follow me
Like this post? Please share to your friends:
Adblock
detector
map