В оновленні Giga SEI вводить механізми, включаючи асинхронне виконання, консенсус з кількома пропозиціями, паралелізм транзакцій та оптимізацію сховища. Ця стаття написана Павлом Парамоновим, засновником Hazeflow, і складена, упорядкована та надана Felix, PANews. (Синопсис: $SEI 70% за один місяць!) Запуск пропозиції SIP-3: перехід на чистий EVM, прагнучи до 100 000 транзакцій в секунду) (Передісторія додана: MetaMask буде підтримувати «перший гаманець MetaMask без EVM» мережі Solana, який вийде із зони комфорту Ethereum в травні) Sei випустила нову білу книгу, в якій представлено останнє оновлення Giga. Більшості читачів важко читати 17 сторінок глибокого технічного контенту. Тому в цій статті ми розповімо, що це за оновлення і як підвищити продуктивність блокчейна на різних рівнях. 1. Основні ідеї та основи генерації блоків giga для асинхронного виконання полягають у наступному: «Якщо наш список транзакцій буде в порядку і початковий стан блокчейну буде послідовним, і всі чесні вузли оброблятимуть ці транзакції в одному порядку, то вузли досягнуть однакового кінцевого стану». При цьому результат залежить тільки від початкового стану і черговості транзакцій. Це означає, що консенсусу потрібно лише домовитися про порядок транзакцій у блоці, і кожен вузол може розрахувати остаточний стан самостійно. У цій моделі консенсус відокремлений від виконання, що дозволяє блокам виконувати асинхронно. Як тільки блок завершено, вузол обробляє його та фіксує його стан у наступних блоках. Потім блок перевіряється консенсусом станів, щоб переконатися, що всі вузли обчислили правильний кінцевий стан. Важливою деталлю тут є те, що виконання і консенсус (генерація) відбуваються паралельно. Коли вузол виконує обчислення одного блоку, він також отримує інші блоки. В результаті, блоки фактично виконуються в повному порядку (а не паралельно), в той час як сам процес генерації блоків відбувається паралельно з консенсусом. Однак для будь-якого заданого блоку ці процеси є абсолютно асинхронними. Очевидно, що досягнення консенсусу і виконання одного і того ж блоку одночасно здається неможливим. Отже, коли блок n виконується, вузол отримує блок n+1 для наступного кроку. Якщо консенсус спотворюється (наприклад, третина вузлів у мережі діє зловмисно), ланцюг призупиняється, аналогічно стандартному протоколу BFT. Виконання невдалої транзакції в блоці не робить блок недійсним, а просто залишається в failed стані, оскільки генерація та виконання блоку є окремими, а кінцевий стан поточного блоку фіксується в наступних блоках. 2 Як реалізована модель multi-poser і що таке автобан? Сам протокол консенсусу називається «Autobahn» (як і німецький автобан без обмеження швидкості). Autobahn відокремлює доступність даних від упорядкування транзакцій, і за цим стоїть цікава модель. Як і смуги будь-якої автомагістралі, тут є кілька смуг, кожна вузол має свій проїзд. Вузли використовують ці канали для внесення пропозицій щодо впорядкування транзакцій. Пропозиція – це просто впорядкований набір транзакцій. Autobahn іноді виконує операцію «tipcut», коли кілька пропозицій агрегуються для остаточного визначення порядку транзакцій. Як згадувалося раніше, кожен валідатор має власний канал, щоб пропонувати багато транзакцій. Коли вузол отримує дійсну пропозицію, він надсилає голосування, щоб підтвердити, що пропозиція була отримана. Після того, як пропозиція збирається для голосування, формується підтвердження наявності (PoA), яке гарантує, що дані були отримані принаймні одним чесним вузлом у мережі. Різання кінчиків відбуваються за мілісекунди, і в кінцевому підсумку кілька пропозицій від Autobahn «ріжуться». У ініціаторів є стимул чекати, поки блоки будуть випущені, і випускати окремі блоки, де це можливо, але ліміт часу виконання для кожного блоку (аналогічно ліміту Gas) трохи змінює цю динаміку. Пропозиція на каналі зазвичай еквівалентна блоку, що означає, що коли відбувається перекидання, кілька блоків відрізаються одночасно. Після цього лідер слота передає наконечник іншим вузлам для завершення сортування. Вузол фактично голосує за один tipcut в той же час, коли він вже готує наступний tipcut. Вузли, які пропускають пакети, можна отримати асинхронно з валідаторів, перелічених у PoA: у цьому суть потреби в доступності даних. У синхронних умовах, якщо лідер правий, автобан завершує підтвердження пропозиції у два раунди комунікації. Якщо лідер зазнає невдачі, механізм обирає нового керівника, щоб підтримувати програму в порядку. Наступна пропозиція tip-cut може фактично розпочатися під час фази коміту поточного tip-cut, зменшуючи затримку, оскільки виконання відбувається паралельно зі збіркою. Фактично, вся модель є моделлю з кількома пропозиціями, де багато вузлів можуть одночасно вносити пропозиції щодо впорядкування своїх блоків. Кожен валідатор пропонує свої власні блоки та отримує докази того, що мережа володіє цими блоками (PoA), що допомагає покращити пропускну здатність та загальну ефективність мережі. 3 Паралельне виконання і його застосування Як вже говорилося раніше, процес виконання блоків відбувається паралельно з консенсусом, хоча самі блоки насправді виконуються послідовно. Вам може бути цікаво, чи є це справжнім паралельним виконанням. Відповідь і так, і ні. Незважаючи на те, що блоки виконуються послідовно, транзакції всередині блоків дійсно можуть виконуватися паралельно. Якщо транзакції не змінюють (записують) один і той же стан, а результат однієї транзакції не впливає на іншу, то вони можуть виконуватися паралельно. Одним словом, шляхи їх виконання не повинні залежати один від одного. У Giga немає мемпулу, і транзакції відразу включаються вузлом. Giga виходить з того, що між більшістю транзакцій немає конфліктів і обробляє їх одночасно на декількох ядрах процесора. Зміни в кожній транзакції тимчасово зберігаються в приватному буфері і не застосовуються відразу до блокчейну. Коли обробка завершується, система перевіряє, чи не конфліктує транзакція з попередніми транзакціями. Якщо виникне конфлікт, транзакція буде повторно оброблена. Якщо конфліктів немає, його зміни вносяться в блокчейн і допрацьовуються. Також можуть виникати високочастотні колізії, і в цьому випадку система перемикається на обробку однієї транзакції за раз, щоб гарантувати, що транзакція може рухатися вперед. Простіше кажучи, паралельне виконання розподіляє транзакції між кількома ядрами, дозволяючи тим транзакціям, які не конфліктують, виконуватися одночасно. 4. Проблеми зі зберіганням та оптимізація Через великий обсяг транзакцій дані повинні бути як безпечними, так і легкодоступними, тому їх слід зберігати дещо інакше, ніж традиційне зберігання в блокчейні. Gigas зберігає дані в простому форматі «ключ-значення», відносно плоскій структурі, яка допомагає зменшити потребу в багаторазових оновленнях або перевірках при зміні даних. Крім того, Giga використовує багаторівневе сховище: останні дані зберігаються на SSD (висока швидкість), тоді як менш використовувані дані мігрують на повільніші, більш економічно ефективні системи зберігання. Якщо вузол виходить з ладу, він може відтворити журнали, щоб відновити правильний стан і застосувати оновлення до RocksDB, спеціалізованої бази даних, для впорядкування даних. У системі зберігання використовується криптографічний акумулятор, який доводить правильність даних без важких обчислень. Акумулятори оновлюються пакетами, що дозволяє валідаторам і легким нодам швидко домовитися про поточний стан блокчейну. 5. Станьте багатофункціональним блоком EVM L1...
Контент має виключно довідковий характер і не є запрошенням до участі або пропозицією. Інвестиційні, податкові чи юридичні консультації не надаються. Перегляньте Відмову від відповідальності , щоб дізнатися більше про ризики.
Тлумачення нового білого документа Sei: Які технологічні інновації впроваджує Giga оновлення?
В оновленні Giga SEI вводить механізми, включаючи асинхронне виконання, консенсус з кількома пропозиціями, паралелізм транзакцій та оптимізацію сховища. Ця стаття написана Павлом Парамоновим, засновником Hazeflow, і складена, упорядкована та надана Felix, PANews. (Синопсис: $SEI 70% за один місяць!) Запуск пропозиції SIP-3: перехід на чистий EVM, прагнучи до 100 000 транзакцій в секунду) (Передісторія додана: MetaMask буде підтримувати «перший гаманець MetaMask без EVM» мережі Solana, який вийде із зони комфорту Ethereum в травні) Sei випустила нову білу книгу, в якій представлено останнє оновлення Giga. Більшості читачів важко читати 17 сторінок глибокого технічного контенту. Тому в цій статті ми розповімо, що це за оновлення і як підвищити продуктивність блокчейна на різних рівнях. 1. Основні ідеї та основи генерації блоків giga для асинхронного виконання полягають у наступному: «Якщо наш список транзакцій буде в порядку і початковий стан блокчейну буде послідовним, і всі чесні вузли оброблятимуть ці транзакції в одному порядку, то вузли досягнуть однакового кінцевого стану». При цьому результат залежить тільки від початкового стану і черговості транзакцій. Це означає, що консенсусу потрібно лише домовитися про порядок транзакцій у блоці, і кожен вузол може розрахувати остаточний стан самостійно. У цій моделі консенсус відокремлений від виконання, що дозволяє блокам виконувати асинхронно. Як тільки блок завершено, вузол обробляє його та фіксує його стан у наступних блоках. Потім блок перевіряється консенсусом станів, щоб переконатися, що всі вузли обчислили правильний кінцевий стан. Важливою деталлю тут є те, що виконання і консенсус (генерація) відбуваються паралельно. Коли вузол виконує обчислення одного блоку, він також отримує інші блоки. В результаті, блоки фактично виконуються в повному порядку (а не паралельно), в той час як сам процес генерації блоків відбувається паралельно з консенсусом. Однак для будь-якого заданого блоку ці процеси є абсолютно асинхронними. Очевидно, що досягнення консенсусу і виконання одного і того ж блоку одночасно здається неможливим. Отже, коли блок n виконується, вузол отримує блок n+1 для наступного кроку. Якщо консенсус спотворюється (наприклад, третина вузлів у мережі діє зловмисно), ланцюг призупиняється, аналогічно стандартному протоколу BFT. Виконання невдалої транзакції в блоці не робить блок недійсним, а просто залишається в failed стані, оскільки генерація та виконання блоку є окремими, а кінцевий стан поточного блоку фіксується в наступних блоках. 2 Як реалізована модель multi-poser і що таке автобан? Сам протокол консенсусу називається «Autobahn» (як і німецький автобан без обмеження швидкості). Autobahn відокремлює доступність даних від упорядкування транзакцій, і за цим стоїть цікава модель. Як і смуги будь-якої автомагістралі, тут є кілька смуг, кожна вузол має свій проїзд. Вузли використовують ці канали для внесення пропозицій щодо впорядкування транзакцій. Пропозиція – це просто впорядкований набір транзакцій. Autobahn іноді виконує операцію «tipcut», коли кілька пропозицій агрегуються для остаточного визначення порядку транзакцій. Як згадувалося раніше, кожен валідатор має власний канал, щоб пропонувати багато транзакцій. Коли вузол отримує дійсну пропозицію, він надсилає голосування, щоб підтвердити, що пропозиція була отримана. Після того, як пропозиція збирається для голосування, формується підтвердження наявності (PoA), яке гарантує, що дані були отримані принаймні одним чесним вузлом у мережі. Різання кінчиків відбуваються за мілісекунди, і в кінцевому підсумку кілька пропозицій від Autobahn «ріжуться». У ініціаторів є стимул чекати, поки блоки будуть випущені, і випускати окремі блоки, де це можливо, але ліміт часу виконання для кожного блоку (аналогічно ліміту Gas) трохи змінює цю динаміку. Пропозиція на каналі зазвичай еквівалентна блоку, що означає, що коли відбувається перекидання, кілька блоків відрізаються одночасно. Після цього лідер слота передає наконечник іншим вузлам для завершення сортування. Вузол фактично голосує за один tipcut в той же час, коли він вже готує наступний tipcut. Вузли, які пропускають пакети, можна отримати асинхронно з валідаторів, перелічених у PoA: у цьому суть потреби в доступності даних. У синхронних умовах, якщо лідер правий, автобан завершує підтвердження пропозиції у два раунди комунікації. Якщо лідер зазнає невдачі, механізм обирає нового керівника, щоб підтримувати програму в порядку. Наступна пропозиція tip-cut може фактично розпочатися під час фази коміту поточного tip-cut, зменшуючи затримку, оскільки виконання відбувається паралельно зі збіркою. Фактично, вся модель є моделлю з кількома пропозиціями, де багато вузлів можуть одночасно вносити пропозиції щодо впорядкування своїх блоків. Кожен валідатор пропонує свої власні блоки та отримує докази того, що мережа володіє цими блоками (PoA), що допомагає покращити пропускну здатність та загальну ефективність мережі. 3 Паралельне виконання і його застосування Як вже говорилося раніше, процес виконання блоків відбувається паралельно з консенсусом, хоча самі блоки насправді виконуються послідовно. Вам може бути цікаво, чи є це справжнім паралельним виконанням. Відповідь і так, і ні. Незважаючи на те, що блоки виконуються послідовно, транзакції всередині блоків дійсно можуть виконуватися паралельно. Якщо транзакції не змінюють (записують) один і той же стан, а результат однієї транзакції не впливає на іншу, то вони можуть виконуватися паралельно. Одним словом, шляхи їх виконання не повинні залежати один від одного. У Giga немає мемпулу, і транзакції відразу включаються вузлом. Giga виходить з того, що між більшістю транзакцій немає конфліктів і обробляє їх одночасно на декількох ядрах процесора. Зміни в кожній транзакції тимчасово зберігаються в приватному буфері і не застосовуються відразу до блокчейну. Коли обробка завершується, система перевіряє, чи не конфліктує транзакція з попередніми транзакціями. Якщо виникне конфлікт, транзакція буде повторно оброблена. Якщо конфліктів немає, його зміни вносяться в блокчейн і допрацьовуються. Також можуть виникати високочастотні колізії, і в цьому випадку система перемикається на обробку однієї транзакції за раз, щоб гарантувати, що транзакція може рухатися вперед. Простіше кажучи, паралельне виконання розподіляє транзакції між кількома ядрами, дозволяючи тим транзакціям, які не конфліктують, виконуватися одночасно. 4. Проблеми зі зберіганням та оптимізація Через великий обсяг транзакцій дані повинні бути як безпечними, так і легкодоступними, тому їх слід зберігати дещо інакше, ніж традиційне зберігання в блокчейні. Gigas зберігає дані в простому форматі «ключ-значення», відносно плоскій структурі, яка допомагає зменшити потребу в багаторазових оновленнях або перевірках при зміні даних. Крім того, Giga використовує багаторівневе сховище: останні дані зберігаються на SSD (висока швидкість), тоді як менш використовувані дані мігрують на повільніші, більш економічно ефективні системи зберігання. Якщо вузол виходить з ладу, він може відтворити журнали, щоб відновити правильний стан і застосувати оновлення до RocksDB, спеціалізованої бази даних, для впорядкування даних. У системі зберігання використовується криптографічний акумулятор, який доводить правильність даних без важких обчислень. Акумулятори оновлюються пакетами, що дозволяє валідаторам і легким нодам швидко домовитися про поточний стан блокчейну. 5. Станьте багатофункціональним блоком EVM L1...