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, включають:

SKIP

  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 можуть бути легко розгорнуті з незалежним permissioning. Не існує централізованої служби, яка могла б випадково розкрити транзакційні шаблони або інші конфіденційні дані. Ролі та ідентифікатори - серед параметрів, які визначають дозволи, збережені на блокчейні, щоб кожен користувач мережі міг отримати до них доступ.

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

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

4. Сумісність контракту Ethereum з Seth

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

5. Динамічний Консенсус

У блокчейні консенсус означає досягнення розуміння між учасниками мережі. Для досягнення консенсусу з довільними дефектами алгоритми зазвичай голосують серед заздалегідь визначеної групи учасників. Як Накамото-стиль консенсусу, так і варіації традиційних алгоритмів виправлення помилок відносно відомі як алгоритми виправлення помилок візантійців (BFT) використовують численні раунди явного голосування для досягнення консенсусу. Перший обирає лідера за допомогою якоїсь системи лотереї. Sawtooth відокремлює консенсус від семантики транзакцій та абстрагує фундаментальні ідеї за консенсусом. Як консенсусні двигуни, які спілкуються з валідатором через API консенсусу, інтерфейс консенсусу Sawtooth дозволяє підключати різноманітні реалізації консенсусу.

6. Сімейства зразків транзакцій

Сімейство транзакцій, яке діє як обробник транзакцій на вузлі Sawtooth, втілює модель даних та мову транзакції у додатку Sawtooth. Sawtooth включає безліч фундаментальних сімейств транзакцій як моделі, тоді як більшість розробників додатків створюють індивідуальні сімейства транзакцій, щоб задовольнити конкретні потреби своїх рахунків:

  • Для тестування розгорнутих реєстрів розробники використовують цілочисельний ключ.
  • Налаштування конфігурації on-chain можна зберігати за допомогою посилання на виконання, надане Налаштуванням.
  • Identity-Manages on-chain permissioning for transactor and validator keys to simplify handling identities for collections of public key lists.
  • Система подій: Події можуть бути створені та розповсюджені за допомогою 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 - це ще одна захоплююча особливість. Механізм під'єднання консенсусу - це фантастична нова досягнення для сектору Blockchain. Він дозволяє вибирати механізм консенсусу, який потрібен вашій платформі. Зрозуміло, лише деякі консенсуси підходять для деяких використовуваних ситуацій. Для створення продукту на основі бізнесу Blockchain вам необхідно мати гнучкість. У результаті під'єднання консенсусу Sawtooth вносить динаміку на передній план.

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

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

  • Сімейство транзакцій Block Info: Сімейство транзакцій Block Info дозволяє зберігати інформацію, пов'язану з блоком.
  • Сімейство невеликих банківських транзакцій: На практиці ця сім'я найкраще підходить для оцінки та тестування життєздатності вашої компанії.
  • Встановлення сім'ї транзакцій: Ви можете зберігати на ланцюжку настройки за допомогою сім'ї налаштувань, що також надає вам еталонну модель для цього.
  • Сімейство транзакцій реєстру валідаторів: використовуйте це, щоб розширити валідатори системи, додавши нових учасників. Ви не можете додати жодних валідаторів, не скориставшись цим. Тому це абсолютно необхідно.
  • Сімейство транзакцій Integer Key: Одне з найкращих сімейств транзакцій, які дозволяють безкоштовне тестування всіх розгорнутих реєстрів.
  • Сім'я транзакцій XO: Це більш розважальна інтерпретація всієї мережі. Гра у крестики-нулики також була включена в Sawtooth, оскільки творці мережі хотіли додати трохи додаткового шарму. Таким чином, ви можете грати з будь-яким вузлом, використовуючи це.
  • Сімейство транзакцій ідентифікації: Це в основному для збереження даних. Зокрема, даних, до яких валідаторам дозволено доступ. Що є ще важливіше, воно відстежує деталі про вузли, включаючи їхні публічні ключі та інші речі.

Також є ще дві додаткові сім'ї транзакцій у системі. Вони є досить недавніми додатками:

  • Сім'я транзакцій Seth: завдяки сім'ї транзакцій Seth ви можете використовувати додатки, створені для блокчейну Ethereum, у мережі. Це означає, що ви можете використовувати смарт-контракти, побудовані на Solidity або інші додатки.
  • Сімейство транзакцій Sabre: Сімейство транзакцій Sabre - це ще один метод використання смарт-контрактів. Це може бути використано для запуску смарт-контрактів на WASM або віртуальних машинах WebAssembly. Це також робить можливим виконання смарт-контрактів на ланцюжку.

Застосування Hyperledger Sawtooth

  • X O: Грає в гру у хрестики-нулики, щоб показати, як створювати прості транзакції. Конструкція та прийом транзакцій у сім'ї транзакцій X O надають команду X O, яка дозволяє двом гравцям грати в гру. Ви можете перевірити Сім'ю транзакцій X O для додаткових деталей.
  • Ланцюг постачання Sawtooth: Ланцюг постачання Sawtooth показує, як відстежувати походження та інші відповідні контекстуальні дані будь-якого товару. Ланцюг постачання пропонує зразок додатка, що включає веб-додаток, індивідуальний REST API та обробник транзакцій. Цей приклад додатку показує, як синхронізувати стан блокчейну з локальною базою даних для складних запитів, а також децентралізований спосіб підписання транзакцій у браузері.
  • Sawtooth Marketplace: На блокчейні ринок Sawtooth навчає користувачів, як обмінювати певні кількості спеціалізованих активів. За допомогою валідатора Sawtooth та кількох інших компонентів цей приклад застосунку запустить блокчейн Sawtooth і запропонує простий RESTful API для комунікації з ним.

Підтримувані мови для процесу транзакцій

Hyperledger Sawtooth підтримує використання кількох мов програмування для процесу транзакції. Деякі з підтримуваних мов включають:

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

Інші мови, такі як Java, Rust, Shell тощо, також можна використовувати, використовуючи RESTful API, наданий Sawtooth. Підтримка 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 до розробки: Посібник з кодуваннядопоможе вам опанувати все це за кілька місяців! Застосуйте зараз до нашої DSA до програми розвиткуі наші радники зв'яжуться з вами для подальшої консультації та підтримки.

Disclaimer:

  1. Ця стаття позичена з [geeksforgeeks]. Усі авторські права належать оригінальному авторові [geeksforgeeks]. Якщо є заперечення стосовно цього перевидання, будь ласка, зв'яжіться з Гейт Вчитисякоманда, і вони оперативно займуться цим.
  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, включають:

SKIP

  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 можуть бути легко розгорнуті з незалежним permissioning. Не існує централізованої служби, яка могла б випадково розкрити транзакційні шаблони або інші конфіденційні дані. Ролі та ідентифікатори - серед параметрів, які визначають дозволи, збережені на блокчейні, щоб кожен користувач мережі міг отримати до них доступ.

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

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

4. Сумісність контракту Ethereum з Seth

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

5. Динамічний Консенсус

У блокчейні консенсус означає досягнення розуміння між учасниками мережі. Для досягнення консенсусу з довільними дефектами алгоритми зазвичай голосують серед заздалегідь визначеної групи учасників. Як Накамото-стиль консенсусу, так і варіації традиційних алгоритмів виправлення помилок відносно відомі як алгоритми виправлення помилок візантійців (BFT) використовують численні раунди явного голосування для досягнення консенсусу. Перший обирає лідера за допомогою якоїсь системи лотереї. Sawtooth відокремлює консенсус від семантики транзакцій та абстрагує фундаментальні ідеї за консенсусом. Як консенсусні двигуни, які спілкуються з валідатором через API консенсусу, інтерфейс консенсусу Sawtooth дозволяє підключати різноманітні реалізації консенсусу.

6. Сімейства зразків транзакцій

Сімейство транзакцій, яке діє як обробник транзакцій на вузлі Sawtooth, втілює модель даних та мову транзакції у додатку Sawtooth. Sawtooth включає безліч фундаментальних сімейств транзакцій як моделі, тоді як більшість розробників додатків створюють індивідуальні сімейства транзакцій, щоб задовольнити конкретні потреби своїх рахунків:

  • Для тестування розгорнутих реєстрів розробники використовують цілочисельний ключ.
  • Налаштування конфігурації on-chain можна зберігати за допомогою посилання на виконання, надане Налаштуванням.
  • Identity-Manages on-chain permissioning for transactor and validator keys to simplify handling identities for collections of public key lists.
  • Система подій: Події можуть бути створені та розповсюджені за допомогою 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 - це ще одна захоплююча особливість. Механізм під'єднання консенсусу - це фантастична нова досягнення для сектору Blockchain. Він дозволяє вибирати механізм консенсусу, який потрібен вашій платформі. Зрозуміло, лише деякі консенсуси підходять для деяких використовуваних ситуацій. Для створення продукту на основі бізнесу Blockchain вам необхідно мати гнучкість. У результаті під'єднання консенсусу Sawtooth вносить динаміку на передній план.

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

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

  • Сімейство транзакцій Block Info: Сімейство транзакцій Block Info дозволяє зберігати інформацію, пов'язану з блоком.
  • Сімейство невеликих банківських транзакцій: На практиці ця сім'я найкраще підходить для оцінки та тестування життєздатності вашої компанії.
  • Встановлення сім'ї транзакцій: Ви можете зберігати на ланцюжку настройки за допомогою сім'ї налаштувань, що також надає вам еталонну модель для цього.
  • Сімейство транзакцій реєстру валідаторів: використовуйте це, щоб розширити валідатори системи, додавши нових учасників. Ви не можете додати жодних валідаторів, не скориставшись цим. Тому це абсолютно необхідно.
  • Сімейство транзакцій Integer Key: Одне з найкращих сімейств транзакцій, які дозволяють безкоштовне тестування всіх розгорнутих реєстрів.
  • Сім'я транзакцій XO: Це більш розважальна інтерпретація всієї мережі. Гра у крестики-нулики також була включена в Sawtooth, оскільки творці мережі хотіли додати трохи додаткового шарму. Таким чином, ви можете грати з будь-яким вузлом, використовуючи це.
  • Сімейство транзакцій ідентифікації: Це в основному для збереження даних. Зокрема, даних, до яких валідаторам дозволено доступ. Що є ще важливіше, воно відстежує деталі про вузли, включаючи їхні публічні ключі та інші речі.

Також є ще дві додаткові сім'ї транзакцій у системі. Вони є досить недавніми додатками:

  • Сім'я транзакцій Seth: завдяки сім'ї транзакцій Seth ви можете використовувати додатки, створені для блокчейну Ethereum, у мережі. Це означає, що ви можете використовувати смарт-контракти, побудовані на Solidity або інші додатки.
  • Сімейство транзакцій Sabre: Сімейство транзакцій Sabre - це ще один метод використання смарт-контрактів. Це може бути використано для запуску смарт-контрактів на WASM або віртуальних машинах WebAssembly. Це також робить можливим виконання смарт-контрактів на ланцюжку.

Застосування Hyperledger Sawtooth

  • X O: Грає в гру у хрестики-нулики, щоб показати, як створювати прості транзакції. Конструкція та прийом транзакцій у сім'ї транзакцій X O надають команду X O, яка дозволяє двом гравцям грати в гру. Ви можете перевірити Сім'ю транзакцій X O для додаткових деталей.
  • Ланцюг постачання Sawtooth: Ланцюг постачання Sawtooth показує, як відстежувати походження та інші відповідні контекстуальні дані будь-якого товару. Ланцюг постачання пропонує зразок додатка, що включає веб-додаток, індивідуальний REST API та обробник транзакцій. Цей приклад додатку показує, як синхронізувати стан блокчейну з локальною базою даних для складних запитів, а також децентралізований спосіб підписання транзакцій у браузері.
  • Sawtooth Marketplace: На блокчейні ринок Sawtooth навчає користувачів, як обмінювати певні кількості спеціалізованих активів. За допомогою валідатора Sawtooth та кількох інших компонентів цей приклад застосунку запустить блокчейн Sawtooth і запропонує простий RESTful API для комунікації з ним.

Підтримувані мови для процесу транзакцій

Hyperledger Sawtooth підтримує використання кількох мов програмування для процесу транзакції. Деякі з підтримуваних мов включають:

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

Інші мови, такі як Java, Rust, Shell тощо, також можна використовувати, використовуючи RESTful API, наданий Sawtooth. Підтримка 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 до розробки: Посібник з кодуваннядопоможе вам опанувати все це за кілька місяців! Застосуйте зараз до нашої DSA до програми розвиткуі наші радники зв'яжуться з вами для подальшої консультації та підтримки.

Disclaimer:

  1. Ця стаття позичена з [geeksforgeeks]. Усі авторські права належать оригінальному авторові [geeksforgeeks]. Якщо є заперечення стосовно цього перевидання, будь ласка, зв'яжіться з Гейт Вчитисякоманда, і вони оперативно займуться цим.
  2. Відповідальність за відмову: Погляди та думки, висловлені в цій статті, є виключно тими, хто автор та не становлять жодних інвестиційних порад.
  3. Переклади статті на інші мови виконуються командою Gate Learn. Якщо не зазначено, копіювання, розповсюдження або плагіат перекладених статей заборонене.
今すぐ始める
登録して、
$100
のボーナスを獲得しよう!