Всі мови
Мета Harmony — створити блокчейн на основі сегментів із повною масштабованістю та безпекою. Вона вивчила багато блокчейн-рішень на ринку та запропонувала власний інженерний план впровадження. Саме тут Гармонія заслуговує на увагу кожного.
Це дуже висока мета. По-перше, це повна масштабованість. Шардинг Harmony включає не лише підтвердження транзакцій, мережевий зв’язок, але й шардинг стану блокчейну. По-друге, ми повинні забезпечити безпеку фрагментації. Шардинг Harmony базується на процесі DRG (розподілена випадкова генерація), що робить його непередбачуваним, справедливим, перевіреним і масштабованим. Крім того, Harmony використовує механізм PoS замість механізму PoW для вибору валідаторів, а також має власну оптимізацію для механізму консенсусу PBFT. PoS має певний поріг не тільки для того, щоб невеликі стейкери могли брати участь у мережі та отримувати прибуток, але й для того, щоб зловмисники не змогли отримати контроль над окремим шардом. Harmony реалізує розповсюдження інформації всередині сегмента та мережі сегментів за допомогою адаптивного алгоритму розповсюдження інформації. Harmony також використовує маршрутизацію Kademlia для реалізації транзакцій між шардами, які масштабуються логарифмічно зі збільшенням кількості шардів. За допомогою шардингу також необхідно підтримувати узгодженість транзакцій між шардами. Harmony також підтримує транзакції між сегментами, підтримує прямий зв’язок між шардами та забезпечує узгодженість транзакцій між сегментами за допомогою механізму атомарного блокування.
Загалом, Harmony намагається створити масштабований, безпечний і децентралізований блокчейн шляхом оптимізації рівня протоколу та мережевого рівня, який може підтримувати більш звичайні сценарії децентралізованих програм, включаючи ігри, децентралізовані біржі, IoT тощо. Це амбітне бачення.
Зараз багато нових блокчейн-проектів намагаються збільшити швидкість обробки транзакцій (пропускну здатність), але нові рішення, такі як dPoS в EOS і TRON, Rootchain в Quarkchain тощо, повинні пожертвувати деякими ключовими елементами, наприклад, децентралізацією. і безпека може значно підвищити продуктивність.
Хоча така система працює дуже швидко, її можна розглядати лише як напівцентралізовану систему, яка втрачає основну концепцію блокчейну – децентралізацію.
Як рішення для розширення блокчейну шардинг може значно покращити продуктивність мережі без шкоди для безпеки та децентралізації.
Harmony вирішує проблему розширення блокчейну, вводячи сегментування стану в блокчейн — оскільки кожному вузлу потрібно лише запустити та зберегти частину даних блокчейну, щоб завершити транзакцію, робоче навантаження обробки транзакцій розподіляється. Це значно покращує масштабованість самого блоку.
Масштабування зараз є однією з найбільш обговорюваних проблем у індустрії блокчейнів. Хто першим вирішить цю проблему, стане лідером галузі. Звичайно, передумовою тут є те, що за умови врахування двох атрибутів безпеки та децентралізації, якщо прорив досягається шляхом пожертвування цими двома ключовими атрибутами, це лише прорив низького рівня, або він рухається до інший шлях розвитку.
Беручи до уваги безпеку та децентралізацію, шардинг є одним із найважливіших шляхів для розширення блокчейна. Harmony зосереджується на цьому дослідженні. Хоча існують інші блокчейн-проекти шардингу, включаючи Ethereum 2.0, існують також крос-чейн проекти. Якщо Harmony зможе вивчити шардинг, він може бути надійнішим за інші проекти. Тоді у нього є шанс отримати фора на змаганнях.
Звісно, команда «Гармонія» обрала нелегкий шлях, який вимагає багато зусиль і має дуже сильних конкурентів. Відповідно до вступу команди Harmony до Blue Fox Notes, проект уже профінансував 18 мільйонів доларів США, а інвестори мають кошти з Кремнієвої долини, Австралії, Гонконгу та Сінгапуру, і він зробив хороший старт.
З технічного документу Harmony видно, що команда має чітке технічне мислення та глибоко продумала проблеми, з якими доведеться зіткнутися під час реалізації проектів шардингу. Команда в основному складається з науково-дослідного персоналу, в основному з фону Microsoft, Google і Apple .
Механізм консенсусу масштабованого FBFT
Harmony використовує не PoW, а механізм PoS, користувачі отримують права та винагороди за створення блоків, ставлячи токени. У той же час Harmony використовує механізм FBPT у процесі виробництва блоків і верифікації. Перш ніж пояснювати, що таке FBFT, ми знаємо, що PBFT є практичною візантійською відмовостійкістю. Оскільки PBFT має механізм, за допомогою якого верифікатори повинні транслювати свої голоси іншим верифікаторам, це значно збільшує складність зв’язку PBFT, ускладнюючи розширення блокчейну, якщо система має сотні чи тисячі вузлів.
Для проблеми, пов’язаної з тим, що PBFT важко розширити, FBFT було оптимізовано, і FBFT може досягти лінійного розширення з точки зору складності зв’язку. Зокрема, як цього досягти? У механізмі FBFT він також має ролі лідера та верифікатора, і не вимагає від усіх верифікаторів транслювати свої голоси. Лідер запускає процес підписання кількох підписів, щоб зібрати голоси перевіряючих. Розмір цього мультипідпису дорівнює O(1), а потім транслюйте голосування. Це означає, що кожен валідатор повинен отримати лише один мультипідпис, зменшуючи складність зв’язку з O(n^2) до O(n).
Механізм підпису Schnorr може досягти агрегації мультипідпису постійного розміру та сформувати дерево багатоадресної адреси серед верифікаторів, щоб полегшити доставку повідомлень, але мультипідпис Schnorr потребує таємних раундів зобов’язань, що призведе до проблеми двох зворотних передачі для одного multi-signature , FBFT використовує схему мультипідпису BLS (Boneh-Lynn-Shacham) для оптимізації цієї проблеми, і для її вирішення потрібна лише одна поїздка в обидва кінці. Тому FBFT на 50% швидше, ніж BFT з використанням механізму підпису Schonorr. Нарешті, Harmony також використовує код фонтану RaptorQ для прискорення процесу блокового мовлення.
Слід зазначити, що всі верифікатори консенсусу Harmony вибираються на основі механізму PoS. Валідатори з більшою кількістю голосуючих акцій мають більше голосів, ніж усі інші, замість того, щоб підписувати один голос за раз. Це також означає, що лідер чекає не підписи 2f+1 перевіряючих, а частки голосів 2f+1 перевіряючих.
Випадковий алгоритм, що об’єднує VRF і VDF
Для блокчейна його потрібно швидко розширювати. Наприклад, згаданий вище FBFT може досягти швидшого підтвердження транзакцій, але безпека завжди є найбільшою важливо. У процесі перевірки блоків збереження випадковості є головним пріоритетом безпеки.
Хороший випадковий алгоритм має бути непередбачуваним, перевіреним, недискримінаційним і одночасно масштабованим. Деякі протоколи можуть бути непередбачуваними, недискримінаційними та такими, що піддаються перевірці, але мають слабку масштабованість, як-от протокол RandHound. Вони мають свої переваги та недоліки.
Harmony пропонує алгоритм випадкової генерації, який поєднує технології VRF і VDF. VRF — це перевірена випадкова функція, а VDF — перевірена функція затримки. Algorand використовує криптографічну класифікацію на основі VRF (Verifiable Random Function) для вибору консенсусної верифікаційної групи; Ethereum 2.0 пропонує VDF (Verifiable Delay Function) для затримки виявлення фактичного випадкового числа та запобігання атаці останнього, хто виявив.
Через VDF лідер не може знати фактичне кінцеве випадкове число, доки pRnd не буде передано в блокчейн. Оскільки VDF використовується для обчислення Rnd, pRnd уже було зафіксовано в попередньому блоці, тому лідер не може ним маніпулювати. Якщо лідер не подає pRnd для зупинки протоколу, FBFT має механізм тайм-ауту для перемикання лідера та перезапуску протоколу. Крім того, складність протоколу DRG, прийнятого Harmony, становить O(n), що принаймні на порядок швидше, ніж деякі проекти.
Шардинг на основі PoS
І PoW, і PoS повинні запобігати атакам Sybil. Ланцюжок PoW використовує обчислювальну потужність, щоб підтвердити свою ідентичність, і таким чином отримує право створювати блоки. Harmony використовує механізм PoS, а PoS використовує заставу токена валідатора, щоб підтвердити це. Щоб стати валідатором Harmony, ви повинні спочатку поставити певні токени. Чим більше токенів зроблено, тим більше акцій голосу валідатора ви можете отримати. Кожна акція з правом голосу відповідає одному голосу за консенсус BFT.
Стейкери отримують акції з правом голосу пропорційно токенам, які вони ставлять. Акції з правом голосу випадковим чином розподіляються по шардам. Зацікавлені сторони, які стають валідаторами шарду, отримують відповідні права голосу в шарді.
У процесі консенсусу та шардингу Harmony існує концепція циклів (епох). Періоди — це заздалегідь визначені проміжки часу, протягом яких структура сегмента фіксується, і кожен шард безперервно виконує консенсус з тим самим набором валідаторів.
На початку кожного циклу протокол DRG генеруватиме випадкове число, і структура фрагментації визначатиметься на основі випадкового числа. Валідатори повинні поставити свої токени в попередній період, якщо вони хочуть підтвердити транзакції протягом певного періоду. Кінцевий термін застави частки – до того, як прообраз pRnd випадкового числа надсилається в блокчейн.
На початку кожного нового циклу перевірки частки голосу нового валідатора випадковим чином розподіляються по шардам. Нові валідатори приєднуються до шарду, і їхні частки з правом голосу розподіляються. Консенсус сегментів вимагає підписів блоків із принаймні 2f+1 голосуючими акціями.
Щоб забезпечити безпеку окремого сегмента, Harmony використовує адаптивний пороговий PoS, який регулює ціну голосуючих акцій за допомогою алгоритмів адаптивним чином і призначає окремі голосуючі акції шардам замість однієї перевірки.
Щоб запобігти широкомасштабним атакам на закладені токени, Harmony шардить не через верифікатори, а через голосуючі акції, щоб запобігти тому, що велика кількість верифікаторів, що тримають монети, не займає один шард. Один валідатор можна призначити кільком сегментам, якщо він має акції з правом голосу, призначені різним шардам. Лідер шарда визначається як валідатор з першою часткою голосу в певній групі.
У той же час частки голосів настільки малі, що зловмисники не можуть зібрати владу в одному фрагменті. Після розрахунків Harmony вважає, що після отримання більше ніж 600 голосуючих акцій можна гарантувати високий рівень безпеки шардингу.
Враховуючи економічні вигоди, валідатори з більшою кількістю токенів мають більше шансів бути обраними лідерами. У разі зловмисної поведінки валідатори, які поставили токени, побоюються, що їхні інтереси будуть принижені, тим самим забезпечуючи безпеку мережі.
Окрім вищезазначених механізмів, Harmony також застосовує змінену схему сегментування для покращення безпеки. Тому що якщо шарди залишаються структурованими, зловмисники все ще мають можливість здійснювати свої атаки. Такі як реалізація атаки статичного циклу, атаки повільної адаптації або атаки повної адаптації тощо. Для вирішення цих проблем Harmony використовує механізм повторного шардингу на основі правил Cuckoo. Наприкінці циклу перевірки, у якому валідатори, які відкликають свою частку, виключаються з мережі, ті, хто зберігає свою частку, залишаються.
Швидка синхронізація стану
Перший блок епохи містить хеш-посилання на перший блок попередньої епохи. Це дозволяє швидко синхронізувати стан нових вузлів, де вони можуть покладатися на сірі блоки для швидкої перевірки поточного стану.
Якщо вам потрібно завантажити всю історію блокчейну, щоб перевірити транзакції сегментів, це означає, що часу занадто багато. Якщо ви синхронізували історію блокчейну Ethereum, ви знаєте, що це може зайняти кілька днів. Harmony має лише завантажити поточний стан у межах вікна часу циклу.
У Harmony нові валідатори, які приєднуються до шарду, спочатку завантажують спроби поточного стану для цього шарду. Нові вузли завантажують історичні заголовки блоків і перевіряють заголовки блоків, перевіряючи їхні підписи. Стан фрагмента дійсний, доки існують криптографічні сліди від поточного стану назад до блоку генезису, наприклад хеш-покажчики та підписи.
При цьому, з метою скорочення вартості та часу розрахунку перевірки підпису, перший блок кожного циклу Harmony містить додатковий хеш-покажчик, що вказує на перший блок попереднього циклу. Таким чином, новий вузол може пропускати інші блоки в циклі під час відстеження свого хеш-вказівника на блок генезису, тим самим прискорюючи перевірку поточного стану блокчейну. Нарешті, для подальшої оптимізації процесу синхронізації стану Harmony збереже сам стан блокчейну якомога меншим.
Схожі посилання:
https://www.qukuaiwang.com.cn/szhb/3285.html###