Що таке Tendermint? Як працює консенсус Tendermint?

СереднійJan 08, 2024
Tendermint — це новий протокол блокчейну, спрямований на вирішення проблеми візантійської відмовостійкості за допомогою частково синхронної моделі мережі та детермінованого консенсусного алгоритму. Він розроблений як масштабований і безпечний і може використовуватися для створення як публічних, так і приватних блокчейнів.
Що таке Tendermint? Як працює консенсус Tendermint?

Світ блокчейну може заплутати, навіть коли дивитися на «найпростіший» протокол, як-от біткойн. Ситуація стає дещо складнішою, коли ми переходимо до новіших протоколів, таких як Ethereum, або навіть новіших, які беруть те, чого нас навчили покоління 1 і 2, і намагаються розвивати це за допомогою нових ідей і концепцій.

Одним із таких проектів, який має революціонізувати наш підхід до розробки та використання технології блокчейн, є Tendermint.

Tendermint — це новий протокол, який допомагає впорядковувати події в розподіленій мережі за умов суперництва. Ця проблема, більш відома як візантійський відмовостійкий алгоритм консенсусу (BFT) або атомарне мовлення, привернула значну увагу в останні роки завдяки широкому успіху цифрових валют на основі блокчейну, таких як біткойн і ефіріум.

Ці дві валюти успішно вирішили проблему управління такою мережею в публічному середовищі без центрального органу, створивши те, що ми зараз називаємо децентралізованими публічними блокчейнами. Tendermint модернізує класичну академічну роботу з цього предмету та спрощує дизайн алгоритму BFT, покладаючись на одноранговий протокол переговорів між вузлами.

Що ви дізнаєтесь 👉

Детальніше про Tendermint


Tendermint існує в стеку з Cosmos, блокчейн-платформою, яка служить посередником і самоописується як «Інтернет блокчейнів»; ця платформа запустила свій блокчейн лише пару днів тому, започаткувавши практичне існування екосистеми Cosmos/Tendermint. Вся екосистема працює подібно до Ethereum, за винятком того, що вона більш модульна, гнучка та легша для розробки.

Cosmos SDK діє як прикладний рівень екосистеми (подібно до Ethereum EVM), тоді як Tendermint представляє як консенсусний рівень (толерантний до BFT алгоритм консенсусу Proof-of-Stake), так і мережевий рівень (Tendermint Core).

Алгоритм консенсусу + мережевий протокол p2p, які об’єднані в стек Tendermint Core, підключені до Cosmos SDK через інший окремий елемент екосистеми під назвою Application Blockchain Interface (ABCI).

Cosmos SDK є базовою реалізацією ABCI і являє собою модульну частину екосистеми; це базовий прикладний рівень, який розробники можуть використовувати та покращувати за допомогою спеціальних функцій. Це дозволяє вже існуючим блокчейнам створювати програми на основі Tendermint, які можуть підключатися до екосистеми та обмінюватися повідомленнями та цінностями між собою.

Ось чому Tendermint і Cosmos використовують назву «Інтернет блокчейнів»; вся система хоче стати центром, який забезпечить взаємодію між різними блокчейнами.

Комерційна каліфорнійська компанія, що стоїть за проектом (також називається Tendermint), відокремила три основні елементи, згадані вище, а потім об’єднала мережевий/консенсусний рівень під стеком Tendermint.

Це зроблено для того, щоб компоненти технології було легше використовувати та виправляти, без необхідності розробки для всієї екосистеми, коли ви хочете щось змінити. Головні розробники Джей Квон у ролі Ітана Бухмана хотіли створити щось, що легко зрозуміти, реалізувати та розробляти, а Tendermint став остаточним результатом їхніх зусиль.

⚡️ До Tendermint створення блокчейну вимагало створення всіх трьох рівнів (мережа, консенсус, додаток) з нуля. Ethereum спростив це, забезпечивши блокчейн віртуальної машини, на якому кожен міг розгорнути спеціальну логіку у формі смарт-контрактів. Залишилася одна проблема: розробка самого блокчейну. Tendermint суттєво спрощує процес, оскільки розробникам на ньому потрібно турбуватися лише про рівень програми.

Мережевий і консенсусний рівні вже надаються через двигун Tendermint Core; все, що вам потрібно зробити, це адаптувати ABCI за допомогою обраної мови програмування, розробити свою унікальну програму та почати використовувати функції Tendermint.

Команда Tendermint зробила щось подібне, взявши базу коду Ethereum, вилучивши PoW і підключивши кінцевий результат поверх свого ядра Tendermint. Це створило Ethermint, схожий на Ethereum протокол, який мав можливості Proof of Stake. Усі існуючі інструменти Ethereum (Truffle, Metamask, ..) сумісні з Ethermint, і ви можете перенести свої смарт-контракти туди без будь-яких додаткових зусиль.

Одним з важливих елементів усього рівняння, який ми все ще не згадали, але який дуже важливий для взаємодії блокчейнів, є протокол зв’язку між блоками (IBC). IBC дозволяє гетерогенним ланцюгам передавати значення та дані між собою, зрештою розблоковуючи взаємодію між блокчейнами, які мають різні додатки та набори валідаторів.

Щоб уникнути проблем масштабованості, які можуть виникнути з сотнями чи тисячами майбутніх блокчейнів, Cosmos пропонує модульну архітектуру з двома класами блокчейнів: концентратори та зони.

Зони — це звичайні різнорідні блокчейни, а концентратори — це блокчейни, спеціально розроблені для з’єднання зон разом. Коли зона створює з’єднання IBC із концентратором, вона може автоматично отримати доступ (тобто надсилати та отримувати з) будь-якої іншої зони, яка до неї підключена. У результаті кожній зоні потрібно лише встановити обмежену кількість з’єднань із обмеженим набором концентраторів.

Хаби також запобігають подвійним витратам між зонами. Це означає, що коли Зона отримує маркер від концентратора, їй потрібно довіряти лише зоні походження цього маркера та концентратора. Перший хаб (Cosmos Hub) вже запустили кілька днів тому. Деякі мережі не будуть повністю сумісні з Tendermint; для вирішення цієї проблеми розробники передбачили так звані зони прив’язки .

Сама по собі криптографія Tendermint не є настільки просунутою, а підписи ECDSA є найбільш «екзотичною» технологією в екосистемі. Агрегація підписів BLS, докази з нульовим знанням і облікові записи Ristretto згадувалися під час нещодавньої прямої трансляції після запуску, але, здається, нічого з цього поки що не видно.

Технологію можна використовувати для створення як публічних, так і приватних ланцюжків, причому перші працюють через PoS, а другі — через дозволені вузли; обидві системи будуть BFT. Блоки на Tendermint Core можуть мати час блокування одну секунду та миттєво вважаються остаточними; інакше можна було б з упевненістю припустити, що мережа зазнає атаки 33% (більше третини валідаторів є шкідливими).

Шкідливі вузли та візантійська відмовостійкість


Блокчейн має бути Byzantine Fault Tolerant, тобто здатним терпіти потенційно шкідливі вузли, які передають помилкові стани та повідомлення в мережу та ставлять під загрозу консенсус. Наукових даних про візантійські відмовостійкі системи було мало, оскільки ця тема не була такою популярною в академічних колах.

Те невелике дослідження було зосереджено на мережах невеликого розміру вибірки до 7 вузлів; Розробники Tendermint хотіли чогось, що могло б масштабуватися на вищому рівні. Навіть коли Bitcoin представив систему, здатну підтримувати тисячі незалежних вузлів, система мала (і все ще має) єдиний адміністративний домен, що значно обмежує її масштабованість.

Квон і його партнери передбачили протокол BFT, який міг би масштабуватися до сотень вузлів у налаштуваннях без дозволу з Proof-of-Stake (PoS) як основним механізмом безпеки. Вони придумали систему на основі BFT, яка має два ключові елементи, які ми вже назвали: Tendermint Core, який використовується для досягнення консенсусу та «пліткувань», і Cosmos SDK, який служить прикладним рівнем.

Їхній алгоритм BFT Proof-of-Stake долає проблему візантійських генералів за допомогою частково синхронної моделі мережі, що означає, що валідаторам, які голосують за блок, не потрібно діяти одночасно. Блоки в цій системі не голосуються за розкладом і не мають визначеного розміру.

⚡️ У біткойнах, які вважаються «повністю синхронними», у нас є встановлений 10-хвилинний часовий проміжок, протягом якого вузли мають шукати, збирати, перевіряти та додавати транзакції до блоку. Для Ethereum цей часовий проміжок становить лише 15 секунд. Це все добре, поки синхронність не порушиться; деякі з вузлів можуть вийти з мережі та мати проблеми із затримкою, у цьому випадку ланцюжок може зупинитися або розгалужуватися.

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

Протокол є більш асинхронним: замість того, щоб кожен раунд займав заздалегідь визначений період часу, кожен крок раунду прогресує після того, як більше ніж 2/3 вузлів досягають консенсусу. Ця відсутність синхронізації є частковою, і проект називає її «слабко асинхронною». Валідатори добре відомі та можуть спілкуватися один з одним, щоб координувати свої зусилля та гарантувати, що мережевий консенсус завжди досягається. Усе це означає, що їх мережа насправді ніколи не розгалужується.

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

Щоб розширити це, нам потрібно усвідомити, що у світі протоколів є недетерміновані та детерміновані. Недетерміновані протоколи – це ті, які ми бачимо в повністю асинхронних системах. Консенсус у чисто асинхронному випадку може залежати від випадкових оракулів і, як правило, спричиняє високу складність повідомлень, оскільки вони залежать від надійної трансляції для всіх комунікацій.

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

У Tendermint валідатори чергуються за допомогою детермінованого зваженого циклічного формату. Чим більшу частку має валідатор, тим більше разів він може бути обраний лідером. Наразі протокол обмежено сотнею валідаторів, однак команда, можливо, розгляне можливість додавання додаткових валідаторів, якщо це буде потрібно. Це гарантує, що система безпечна в асинхронних середовищах і активна в слабко синхронних середовищах. Загалом, механізм консенсусу жертвує ступенем живучості заради безпеки консенсусу та миттєвої остаточності.

Зрозуміти все це…


Tendermint — цікава концепція, яка, можливо, виглядає і звучить на папері складніше, ніж насправді. По суті, це EOS сумісності та має багато схожості з Ethereum та цілою низкою його проектів-клонів. Основною метою Tendermint є вирішення проблеми сумісності блокчейнів, і вона стикається з сильною опозицією на цьому ринку. Ark, ICON, Polkadot, AION та подібні проекти мають на увазі одну й ту саму мету, тому ще невідомо, хто виграє.

Відмова від відповідальності:

  1. Ця стаття передрукована з captainaltcoin]. Усі авторські права належать оригінальному автору [Добриці Благоєвичу]. Якщо є заперечення щодо цього передруку, будь ласка, зв’яжіться з командою Gate Learn, і вони негайно розглянуть це.

  2. Відмова від відповідальності: погляди та думки, висловлені в цій статті, належать виключно автору та не є жодною інвестиційною порадою.

  3. Переклади статті на інші мови виконує команда Gate Learn. Якщо не зазначено вище, копіювання, розповсюдження або плагіат перекладених статей заборонено.

Начните торговать сейчас
Зарегистрируйтесь сейчас и получите ваучер на
$100
!
Создайте аккаунт