Hyperledger Sawtooth в блокчейне

Новичок6/3/2024, 3:07:33 PM
Hyperledger Sawtooth - это предприятий блокчейн-платформа, которая может создавать распределенные сети реестров и приложений. В этой статье будет представлено, как работает платформа и ее основные характеристики, а также представлены сценарии ее применения.

Hyperledger Sawtooth — это корпоративная блокчейн-платформа, которая создает сети и приложения распределенного реестра. Философия проектирования сосредоточена на обслуживании распределенных реестров и обеспечении безопасности смарт-контрактов, особенно для корпоративных приложений. Sawtooth использует технологию блокчейн как услугу (BaaS).
Sawtooth также очень модульный. Эта модульность позволяет компаниям и консорциумам определять политику в своих соответствующих областях компетенции. Приложения могут выбирать транзакционные, разрешения и алгоритмы согласования, которые лучше всего соответствуют их уникальным бизнес-требованиям, благодаря фундаментальному дизайну Sawtooth. Большинство существующих сегодня блокчейн-систем хостят и выполняют как свои основные функции, так и свои приложения на одной и той же платформе, что может повлиять как на безопасность, так и на производительность.

Что такое Hyperledger Sawtooth?

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

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

Как работает Hyperledger Sawtooth?

Hyperledger Sawtooth - модульная платформа для создания, развертывания и управления распределенными реестрами (также называемыми блокчейнами). Она включает в себя новый алгоритм консенсуса под названием «Proof of Elapsed Time» (PoET), который использует доверенные среды выполнения (TEEs) для обеспечения достижения консенсуса честным и эффективным способом. Sawtooth также имеет модульную структуру, которая позволяет использовать различные алгоритмы консенсуса и поддерживает как разрешенные, так и неразрешенные сети.

  • Основным компонентом Sawtooth является распределенный реестр, который записывает журнал всех транзакций и выполнение смарт-контрактов. Реестр реплицируется на всех узлах сети, а транзакции обрабатываются параллельно для повышения производительности.
  • Sawtooth также включает механизм смарт-контрактов под названием "Sawtooth Lake", который обеспечивает простое развертывание и выполнение смарт-контрактов. Платформа также предоставляет RESTful API для взаимодействия с регистром и отправки транзакций.
  • Sawtooth разработан для обеспечения высокой масштабируемости и может поддерживать сети с тысячами узлов и миллионами транзакций в секунду.
  • В целом, Hyperledger Sawtooth - это гибкая, мощная платформа для создания и развертывания распределенных регистров, которые могут использоваться для широкого спектра приложений, таких как управление цепочкой поставок, отслеживание цифровых активов и системы голосования.
  • Hyperledger Sawtooth делает процесс разработки приложений проще, сохраняя при этом безопасность системы путем разделения основной системы учета от среды, важной для каждого приложения.
  • Разработчики приложений могут описать бизнес-правила, соответствующие их приложению, не будучи знакомыми с базовой архитектурой ядра системы. Этот дизайн позволяет разработчикам создавать приложения, которые могут быть размещены, управляемы и использованы за пределами основной сети блокчейна на их любимом языке программирования.

Алгоритмы консенсуса Hyperledger Sawtooth

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

Пропустить

  1. PoET (Proof of Elapsed Time): Это алгоритм консенсуса по умолчанию в Sawtooth. Он использует доверенные исполнительные среды (TEEs), чтобы обеспечить достижение консенсуса справедливым и эффективным способом. PoET использует процесс случайного выбора лидера и время ожидания, чтобы гарантировать, что у всех участников есть равные шансы быть выбранными в качестве лидера.
  2. PBFT (Practical Byzantine Fault Tolerance): Это классический алгоритм консенсуса, который широко используется в распределенных системах. Он использует процесс голосования реплик для обеспечения достижения сетью консенсуса. PBFT подходит для разрешенных сетей с известным набором участников.
  3. Raft: Разработанный для распределенных систем с высоким темпом изменений, Raft - это алгоритм согласования. Он использует методологию на основе лидеров и обеспечивает быстрое восстановление разделения сети.
  4. Devmode: Этот простой метод достижения консенсуса предназначен для тестирования и разработки. Без необходимости достижения консенсуса, он позволяет параллельную обработку транзакций.

Более продвинутые алгоритмы консенсуса, такие как PoA (Proof of Authority), PoS (Proof of Stake) и т. д., также могут быть использованы с Sawtooth, установив соответствующий движок консенсуса. \
В целом модульное проектирование Sawtooth позволяет использовать различные алгоритмы консенсуса в зависимости от конкретных требований приложения, таких как производительность, безопасность и модель доверия.

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

1. Разделение между уровнем приложения и основной системой

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

2. Возможности разрешения Sawtooth в частных сетях

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

3. Параллельное выполнение транзакций

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

4. Совместимость контрактов Ethereum с Seth

Платформа Sawtooth теперь совместима с Ethereum благодаря проекту интеграции Sawtooth-Ethereum, Seth. Семейство транзакций Seth позволяет развертывать умные контракты EVM (Ethereum Virtual Machine) на Sawtooth.

5. Динамическое согласование

Согласование в блокчейне означает достижение понимания среди участников сети. Для достижения согласия с произвольными дефектами алгоритмы обычно голосуют среди заранее определенной группы участников. Как Накамото-стиль согласия, так и вариации традиционных алгоритмов Byzantine Fault Tolerance (BFT) используют многочисленные раунды явного голосования для достижения согласия. Первый выбирает лидера с помощью своеобразной системы лотереи. Sawtooth разделяет согласование от семантики транзакций и абстрагирует фундаментальные идеи за согласованием. Как движки согласования, которые общаются с валидатором через API согласования, интерфейс согласования Sawtooth позволяет подключать различные реализации согласования.

6. Примеры семейств транзакций

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

  • Для тестирования развернутых реестров разработчики используют целочисленный ключ.
  • Настройки конфигурации on-chain могут быть сохранены с использованием предоставленной референсной реализации Settings.
  • Identity-Управляет разрешениями on-chain для ключей транзакций и валидаторов для упрощения обработки идентификаторов для коллекций списков открытых ключей.
  • Система событий: События могут быть созданы и переданы с использованием Hyperledger Sawtooth. Это позволяет приложениям:
    • Получайте уведомления о событиях, связанных с блокчейном, таких как фиксация нового блока или вилка.
    • Подписаться на события, специфические для приложения и определенные семейством транзакций.
    • Информировать клиентов о том, как была проведена транзакция, не сохраняя детали в состоянии.
    • Через сокет ZMQ подписки отправляются и поддерживаются.

Элементы архитектуры Hyperledger Sawtooth

Давайте обсудим основные элементы архитектуры Hyperledger Sawtooth:

1. Система мероприятий

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

2. Проект интеграции Sawtooth-Ethereum (Seth)

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

3. Подключаемые алгоритмы консенсуса

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

4. Модели семейства транзакций

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

  • Семья транзакций Block Info: Семья транзакций Block Info позволяет вам сохранять информацию, связанную с блоками.
  • Семейство небольших банковских транзакций: На практике это семейство лучше всего подходит для оценки и тестирования жизнеспособности вашей компании.
  • Настройка транзакционной семьи: Вы можете хранить ончейн установки с помощью семьи настроек, которая также дает вам образец для выполнения этого.
  • Семейство транзакций реестра валидаторов: используйте это, чтобы расширить валидаторы системы, добавив новых участников. Вы не можете добавить каких-либо валидаторов без использования этого. Поэтому это абсолютно необходимо.
  • Семейство транзакций Integer Key: одно из лучших семейств транзакций, позволяющее проводить тестирование всех развернутых реестров без затрат ресурсов.
  • Семейство транзакций XO: Это более забавное толкование всей сети. В Sawtooth также была включена игра в крестики-нолики, потому что создатели сети захотели добавить ей немного дополнительного блеска. Таким образом, вы можете играть с любым узлом, используя это.
  • Семейство транзакций идентификации: это в основном для сохранения данных. Конкретно, это данные, к которым допускаются валидаторы. Более важно то, что оно отслеживает детали о узлах, включая их открытые ключи и другие вещи.

На системе также есть две дополнительные семьи транзакций. Они являются относительно недавними добавлениями:

  • Семейство транзакций Сет: Благодаря семейству транзакций Сет вы можете использовать приложения, созданные для блокчейна Ethereum, в сети. Это означает, что вы можете использовать смарт-контракты, созданные на Solidity, или другие приложения.
  • Семья транзакций Sabre: Семья транзакций Sabre - еще один метод использования смарт-контрактов. Это можно использовать для запуска смарт-контрактов на WASM или виртуальных машинах WebAssembly. Это также позволяет выполнять смарт-контракты на цепи.

Применения Hyperledger Sawtooth

  • X O: Играет в крестики-нолики, чтобы показать, как создавать простые транзакции. Команды конструкции и выполнения транзакций в семействе транзакций X O предоставляют команду X O, позволяющую двум игрокам играть в игру. Вы можете проверить семейство транзакций X O для дополнительной информации.
  • Блокчейн Sawtooth: Цепочка поставок Sawtooth показывает, как отслеживать происхождение и другие соответствующие контекстные данные любого товара. Цепочка поставок предлагает образец приложения, которое включает веб-приложение, индивидуальный REST API и обработчик транзакций. Это пример приложения показывает, как синхронизировать состояние блокчейна с локальной базой данных для сложных запросов, а также децентрализованный способ подписи транзакций в браузере.
  • Рынок Sawtooth: На блокчейне рынок Sawtooth инструктирует пользователей, как обменивать определенные количества специализированных активов. С помощью валидатора Sawtooth и нескольких других компонентов это примерное приложение будет запускать блокчейн Sawtooth и предлагать простой RESTful API для взаимодействия с ним.

Поддерживаемые языки для процесса транзакции

Hyperledger Sawtooth поддерживает использование нескольких языков программирования для процесса транзакции. Некоторые из поддерживаемых языков включают в себя:

  1. Python: Sawtooth предоставляет библиотеку на Python, называемую “Sawtooth SDK”, которая позволяет разработчикам взаимодействовать с реестром и отправлять транзакции.
  2. JavaScript: Sawtooth поддерживает JavaScript с помощью «Sawtooth JavaScript SDK», который предоставляет набор API для взаимодействия с реестром.
  3. Go: Sawtooth также предоставляет поддержку для Go через "Sawtooth Go SDK", который позволяет легко интегрироваться с приложениями, основанными на Go.
  4. C++: Sawtooth также предоставляет поддержку для C++, с помощью «Sawtooth C++ SDK», который предоставляет API на C++ для взаимодействия с регистром.

Другие языки, такие как Java, Rust, Shell и т. д., также могут быть использованы с помощью предоставляемого Sawtooth RESTful API. Поддержка Sawtooth для нескольких языков программирования упрощает интеграцию с существующими системами и позволяет использовать широкий спектр сценариев использования.

Архитектура разработки Hyperledger Sawtooth

Модульная архитектура Hyperledger Sawtooth позволяет разделять ответственность между различными компонентами системы. Основные компоненты архитектуры Sawtooth:

  • Распределенная книга учета: Этот компонент отвечает за ведение журнала всех транзакций и выполнение смарт-контрактов. Книга учета реплицируется на всех узлах сети, и транзакции обрабатываются параллельно для повышения производительности.
  • Процессор транзакций: Этот компонент отвечает за обработку транзакций и обновление состояния регистра. Он также включает в себя движок смарт-контрактов под названием "Sawtooth Lake", который позволяет легко развертывать и выполнять смарт-контракты.
  • Алгоритм согласования: Этот компонент отвечает за обеспечение достижения согласия в сети относительно состояния регистра. Sawtooth поддерживает несколько алгоритмов согласования, включая PoET, PBFT, Raft и Devmode.
  • REST API: Этот компонент предоставляет RESTful API для взаимодействия с регистром и отправки транзакций. Он позволяет легко интегрироваться с существующими системами и поддерживает несколько языков программирования.
  • Валидатор: Этот компонент отвечает за проверку транзакций и блоков перед их добавлением в реестр. Он обеспечивает, что транзакции хорошо структурированы и соответствуют правилам смарт-контракта.
  • Планировщик транзакций: Этот компонент отвечает за планирование порядка обработки транзакций сетью. Он гарантирует, что конфликтующие транзакции обрабатываются таким образом, чтобы избежать конфликтов и поддерживать согласованность в реестре.
  • Движок консенсуса: У каждого алгоритма консенсуса есть свой собственный движок, который запускает протокол консенсуса и взаимодействует с другими компонентами системы.

Hyperledger Sawtooth на работе

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

  • Управление цепочкой поставок: Sawtooth можно использовать для создания неподдельной и прозрачной системы управления цепочкой поставок. Его можно использовать для отслеживания перемещения товаров от места происхождения до конечного пункта назначения, обеспечивая видимость и ответственность для всех вовлеченных сторон.
  • Финансовые услуги: Sawtooth можно использовать для создания безопасной и эффективной системы для финансовых транзакций и ведения записей. Его можно использовать для таких деятельностей, как торговое финансирование, управление цифровыми активами и отчетность по соблюдению законодательства
  • Здравоохранение: Sawtooth можно использовать для создания безопасной и конфиденциальной системы обмена медицинскими записями среди учреждений здравоохранения. Его можно использовать для обеспечения доступа к данным пациентов только авторизованным лицам, обеспечивая при этом эффективный способ обмена данными между врачами, больницами и страховыми компаниями
  • Управление идентификацией: Sawtooth можно использовать для создания децентрализованной и надежной системы управления идентификацией. Его можно использовать для хранения и проверки идентификационных данных и учетных данных, а также для обеспечения безопасного и конфиденциального доступа к услугам и ресурсам.
  • Управление энергией: Sawtooth можно использовать для создания системы управления и отслеживания производства, распределения и потребления энергии. Его можно использовать для обеспечения торговли энергией между равными, отслеживания и проверки кредитов на возобновляемую энергию и управления распределением энергии от микросетей.

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

Лето наступило, и пришло время повышать свои навыки! Более 5 000 учащихся сейчас завершили свой путь от основ DSA до программ развития на продвинутом уровне, таких как Full-Stack, Backend Development, Data Science.
\
И зачем идти куда-либо еще, когда наш DSA to Development: Руководство по кодированию поможет вам освоить все это за несколько месяцев! Подайте заявку сейчас на наш DSA в программу развитияи наши консультанты свяжутся с вами для дальнейшего руководства & поддержки.

Отказ от ответственности:

  1. Эта статья взята из [гиксфоргикс]. Все авторские права принадлежат оригинальному автору [geeksforgeeks]. Если есть возражения против этого перепечатывания, пожалуйста, свяжитесь с Gate Learnкоманды, и они незамедлительно решат эту проблему.
  2. Отказ от ответственности: Взгляды и мнения, высказанные в этой статье, являются исключительно точкой зрения автора и не являются инвестиционной рекомендацией.
  3. Переводы статьи на другие языки выполняются командой Gate Learn. Если не указано иное, копирование, распространение или плагиат переведенных статей запрещены.

Hyperledger Sawtooth в блокчейне

Новичок6/3/2024, 3:07:33 PM
Hyperledger Sawtooth - это предприятий блокчейн-платформа, которая может создавать распределенные сети реестров и приложений. В этой статье будет представлено, как работает платформа и ее основные характеристики, а также представлены сценарии ее применения.

Hyperledger Sawtooth — это корпоративная блокчейн-платформа, которая создает сети и приложения распределенного реестра. Философия проектирования сосредоточена на обслуживании распределенных реестров и обеспечении безопасности смарт-контрактов, особенно для корпоративных приложений. Sawtooth использует технологию блокчейн как услугу (BaaS).
Sawtooth также очень модульный. Эта модульность позволяет компаниям и консорциумам определять политику в своих соответствующих областях компетенции. Приложения могут выбирать транзакционные, разрешения и алгоритмы согласования, которые лучше всего соответствуют их уникальным бизнес-требованиям, благодаря фундаментальному дизайну Sawtooth. Большинство существующих сегодня блокчейн-систем хостят и выполняют как свои основные функции, так и свои приложения на одной и той же платформе, что может повлиять как на безопасность, так и на производительность.

Что такое Hyperledger Sawtooth?

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

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

Как работает Hyperledger Sawtooth?

Hyperledger Sawtooth - модульная платформа для создания, развертывания и управления распределенными реестрами (также называемыми блокчейнами). Она включает в себя новый алгоритм консенсуса под названием «Proof of Elapsed Time» (PoET), который использует доверенные среды выполнения (TEEs) для обеспечения достижения консенсуса честным и эффективным способом. Sawtooth также имеет модульную структуру, которая позволяет использовать различные алгоритмы консенсуса и поддерживает как разрешенные, так и неразрешенные сети.

  • Основным компонентом Sawtooth является распределенный реестр, который записывает журнал всех транзакций и выполнение смарт-контрактов. Реестр реплицируется на всех узлах сети, а транзакции обрабатываются параллельно для повышения производительности.
  • Sawtooth также включает механизм смарт-контрактов под названием "Sawtooth Lake", который обеспечивает простое развертывание и выполнение смарт-контрактов. Платформа также предоставляет RESTful API для взаимодействия с регистром и отправки транзакций.
  • Sawtooth разработан для обеспечения высокой масштабируемости и может поддерживать сети с тысячами узлов и миллионами транзакций в секунду.
  • В целом, Hyperledger Sawtooth - это гибкая, мощная платформа для создания и развертывания распределенных регистров, которые могут использоваться для широкого спектра приложений, таких как управление цепочкой поставок, отслеживание цифровых активов и системы голосования.
  • Hyperledger Sawtooth делает процесс разработки приложений проще, сохраняя при этом безопасность системы путем разделения основной системы учета от среды, важной для каждого приложения.
  • Разработчики приложений могут описать бизнес-правила, соответствующие их приложению, не будучи знакомыми с базовой архитектурой ядра системы. Этот дизайн позволяет разработчикам создавать приложения, которые могут быть размещены, управляемы и использованы за пределами основной сети блокчейна на их любимом языке программирования.

Алгоритмы консенсуса Hyperledger Sawtooth

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

Пропустить

  1. PoET (Proof of Elapsed Time): Это алгоритм консенсуса по умолчанию в Sawtooth. Он использует доверенные исполнительные среды (TEEs), чтобы обеспечить достижение консенсуса справедливым и эффективным способом. PoET использует процесс случайного выбора лидера и время ожидания, чтобы гарантировать, что у всех участников есть равные шансы быть выбранными в качестве лидера.
  2. PBFT (Practical Byzantine Fault Tolerance): Это классический алгоритм консенсуса, который широко используется в распределенных системах. Он использует процесс голосования реплик для обеспечения достижения сетью консенсуса. PBFT подходит для разрешенных сетей с известным набором участников.
  3. Raft: Разработанный для распределенных систем с высоким темпом изменений, Raft - это алгоритм согласования. Он использует методологию на основе лидеров и обеспечивает быстрое восстановление разделения сети.
  4. Devmode: Этот простой метод достижения консенсуса предназначен для тестирования и разработки. Без необходимости достижения консенсуса, он позволяет параллельную обработку транзакций.

Более продвинутые алгоритмы консенсуса, такие как PoA (Proof of Authority), PoS (Proof of Stake) и т. д., также могут быть использованы с Sawtooth, установив соответствующий движок консенсуса. \
В целом модульное проектирование Sawtooth позволяет использовать различные алгоритмы консенсуса в зависимости от конкретных требований приложения, таких как производительность, безопасность и модель доверия.

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

1. Разделение между уровнем приложения и основной системой

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

2. Возможности разрешения Sawtooth в частных сетях

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

3. Параллельное выполнение транзакций

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

4. Совместимость контрактов Ethereum с Seth

Платформа Sawtooth теперь совместима с Ethereum благодаря проекту интеграции Sawtooth-Ethereum, Seth. Семейство транзакций Seth позволяет развертывать умные контракты EVM (Ethereum Virtual Machine) на Sawtooth.

5. Динамическое согласование

Согласование в блокчейне означает достижение понимания среди участников сети. Для достижения согласия с произвольными дефектами алгоритмы обычно голосуют среди заранее определенной группы участников. Как Накамото-стиль согласия, так и вариации традиционных алгоритмов Byzantine Fault Tolerance (BFT) используют многочисленные раунды явного голосования для достижения согласия. Первый выбирает лидера с помощью своеобразной системы лотереи. Sawtooth разделяет согласование от семантики транзакций и абстрагирует фундаментальные идеи за согласованием. Как движки согласования, которые общаются с валидатором через API согласования, интерфейс согласования Sawtooth позволяет подключать различные реализации согласования.

6. Примеры семейств транзакций

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

  • Для тестирования развернутых реестров разработчики используют целочисленный ключ.
  • Настройки конфигурации on-chain могут быть сохранены с использованием предоставленной референсной реализации Settings.
  • Identity-Управляет разрешениями on-chain для ключей транзакций и валидаторов для упрощения обработки идентификаторов для коллекций списков открытых ключей.
  • Система событий: События могут быть созданы и переданы с использованием Hyperledger Sawtooth. Это позволяет приложениям:
    • Получайте уведомления о событиях, связанных с блокчейном, таких как фиксация нового блока или вилка.
    • Подписаться на события, специфические для приложения и определенные семейством транзакций.
    • Информировать клиентов о том, как была проведена транзакция, не сохраняя детали в состоянии.
    • Через сокет ZMQ подписки отправляются и поддерживаются.

Элементы архитектуры Hyperledger Sawtooth

Давайте обсудим основные элементы архитектуры Hyperledger Sawtooth:

1. Система мероприятий

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

2. Проект интеграции Sawtooth-Ethereum (Seth)

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

3. Подключаемые алгоритмы консенсуса

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

4. Модели семейства транзакций

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

  • Семья транзакций Block Info: Семья транзакций Block Info позволяет вам сохранять информацию, связанную с блоками.
  • Семейство небольших банковских транзакций: На практике это семейство лучше всего подходит для оценки и тестирования жизнеспособности вашей компании.
  • Настройка транзакционной семьи: Вы можете хранить ончейн установки с помощью семьи настроек, которая также дает вам образец для выполнения этого.
  • Семейство транзакций реестра валидаторов: используйте это, чтобы расширить валидаторы системы, добавив новых участников. Вы не можете добавить каких-либо валидаторов без использования этого. Поэтому это абсолютно необходимо.
  • Семейство транзакций Integer Key: одно из лучших семейств транзакций, позволяющее проводить тестирование всех развернутых реестров без затрат ресурсов.
  • Семейство транзакций XO: Это более забавное толкование всей сети. В Sawtooth также была включена игра в крестики-нолики, потому что создатели сети захотели добавить ей немного дополнительного блеска. Таким образом, вы можете играть с любым узлом, используя это.
  • Семейство транзакций идентификации: это в основном для сохранения данных. Конкретно, это данные, к которым допускаются валидаторы. Более важно то, что оно отслеживает детали о узлах, включая их открытые ключи и другие вещи.

На системе также есть две дополнительные семьи транзакций. Они являются относительно недавними добавлениями:

  • Семейство транзакций Сет: Благодаря семейству транзакций Сет вы можете использовать приложения, созданные для блокчейна Ethereum, в сети. Это означает, что вы можете использовать смарт-контракты, созданные на Solidity, или другие приложения.
  • Семья транзакций Sabre: Семья транзакций Sabre - еще один метод использования смарт-контрактов. Это можно использовать для запуска смарт-контрактов на WASM или виртуальных машинах WebAssembly. Это также позволяет выполнять смарт-контракты на цепи.

Применения Hyperledger Sawtooth

  • X O: Играет в крестики-нолики, чтобы показать, как создавать простые транзакции. Команды конструкции и выполнения транзакций в семействе транзакций X O предоставляют команду X O, позволяющую двум игрокам играть в игру. Вы можете проверить семейство транзакций X O для дополнительной информации.
  • Блокчейн Sawtooth: Цепочка поставок Sawtooth показывает, как отслеживать происхождение и другие соответствующие контекстные данные любого товара. Цепочка поставок предлагает образец приложения, которое включает веб-приложение, индивидуальный REST API и обработчик транзакций. Это пример приложения показывает, как синхронизировать состояние блокчейна с локальной базой данных для сложных запросов, а также децентрализованный способ подписи транзакций в браузере.
  • Рынок Sawtooth: На блокчейне рынок Sawtooth инструктирует пользователей, как обменивать определенные количества специализированных активов. С помощью валидатора Sawtooth и нескольких других компонентов это примерное приложение будет запускать блокчейн Sawtooth и предлагать простой RESTful API для взаимодействия с ним.

Поддерживаемые языки для процесса транзакции

Hyperledger Sawtooth поддерживает использование нескольких языков программирования для процесса транзакции. Некоторые из поддерживаемых языков включают в себя:

  1. Python: Sawtooth предоставляет библиотеку на Python, называемую “Sawtooth SDK”, которая позволяет разработчикам взаимодействовать с реестром и отправлять транзакции.
  2. JavaScript: Sawtooth поддерживает JavaScript с помощью «Sawtooth JavaScript SDK», который предоставляет набор API для взаимодействия с реестром.
  3. Go: Sawtooth также предоставляет поддержку для Go через "Sawtooth Go SDK", который позволяет легко интегрироваться с приложениями, основанными на Go.
  4. C++: Sawtooth также предоставляет поддержку для C++, с помощью «Sawtooth C++ SDK», который предоставляет API на C++ для взаимодействия с регистром.

Другие языки, такие как Java, Rust, Shell и т. д., также могут быть использованы с помощью предоставляемого Sawtooth RESTful API. Поддержка Sawtooth для нескольких языков программирования упрощает интеграцию с существующими системами и позволяет использовать широкий спектр сценариев использования.

Архитектура разработки Hyperledger Sawtooth

Модульная архитектура Hyperledger Sawtooth позволяет разделять ответственность между различными компонентами системы. Основные компоненты архитектуры Sawtooth:

  • Распределенная книга учета: Этот компонент отвечает за ведение журнала всех транзакций и выполнение смарт-контрактов. Книга учета реплицируется на всех узлах сети, и транзакции обрабатываются параллельно для повышения производительности.
  • Процессор транзакций: Этот компонент отвечает за обработку транзакций и обновление состояния регистра. Он также включает в себя движок смарт-контрактов под названием "Sawtooth Lake", который позволяет легко развертывать и выполнять смарт-контракты.
  • Алгоритм согласования: Этот компонент отвечает за обеспечение достижения согласия в сети относительно состояния регистра. Sawtooth поддерживает несколько алгоритмов согласования, включая PoET, PBFT, Raft и Devmode.
  • REST API: Этот компонент предоставляет RESTful API для взаимодействия с регистром и отправки транзакций. Он позволяет легко интегрироваться с существующими системами и поддерживает несколько языков программирования.
  • Валидатор: Этот компонент отвечает за проверку транзакций и блоков перед их добавлением в реестр. Он обеспечивает, что транзакции хорошо структурированы и соответствуют правилам смарт-контракта.
  • Планировщик транзакций: Этот компонент отвечает за планирование порядка обработки транзакций сетью. Он гарантирует, что конфликтующие транзакции обрабатываются таким образом, чтобы избежать конфликтов и поддерживать согласованность в реестре.
  • Движок консенсуса: У каждого алгоритма консенсуса есть свой собственный движок, который запускает протокол консенсуса и взаимодействует с другими компонентами системы.

Hyperledger Sawtooth на работе

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

  • Управление цепочкой поставок: Sawtooth можно использовать для создания неподдельной и прозрачной системы управления цепочкой поставок. Его можно использовать для отслеживания перемещения товаров от места происхождения до конечного пункта назначения, обеспечивая видимость и ответственность для всех вовлеченных сторон.
  • Финансовые услуги: Sawtooth можно использовать для создания безопасной и эффективной системы для финансовых транзакций и ведения записей. Его можно использовать для таких деятельностей, как торговое финансирование, управление цифровыми активами и отчетность по соблюдению законодательства
  • Здравоохранение: Sawtooth можно использовать для создания безопасной и конфиденциальной системы обмена медицинскими записями среди учреждений здравоохранения. Его можно использовать для обеспечения доступа к данным пациентов только авторизованным лицам, обеспечивая при этом эффективный способ обмена данными между врачами, больницами и страховыми компаниями
  • Управление идентификацией: Sawtooth можно использовать для создания децентрализованной и надежной системы управления идентификацией. Его можно использовать для хранения и проверки идентификационных данных и учетных данных, а также для обеспечения безопасного и конфиденциального доступа к услугам и ресурсам.
  • Управление энергией: Sawtooth можно использовать для создания системы управления и отслеживания производства, распределения и потребления энергии. Его можно использовать для обеспечения торговли энергией между равными, отслеживания и проверки кредитов на возобновляемую энергию и управления распределением энергии от микросетей.

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

Лето наступило, и пришло время повышать свои навыки! Более 5 000 учащихся сейчас завершили свой путь от основ DSA до программ развития на продвинутом уровне, таких как Full-Stack, Backend Development, Data Science.
\
И зачем идти куда-либо еще, когда наш DSA to Development: Руководство по кодированию поможет вам освоить все это за несколько месяцев! Подайте заявку сейчас на наш DSA в программу развитияи наши консультанты свяжутся с вами для дальнейшего руководства & поддержки.

Отказ от ответственности:

  1. Эта статья взята из [гиксфоргикс]. Все авторские права принадлежат оригинальному автору [geeksforgeeks]. Если есть возражения против этого перепечатывания, пожалуйста, свяжитесь с Gate Learnкоманды, и они незамедлительно решат эту проблему.
  2. Отказ от ответственности: Взгляды и мнения, высказанные в этой статье, являются исключительно точкой зрения автора и не являются инвестиционной рекомендацией.
  3. Переводы статьи на другие языки выполняются командой Gate Learn. Если не указано иное, копирование, распространение или плагиат переведенных статей запрещены.
Mulai Sekarang
Daftar dan dapatkan Voucher
$100
!