Веб3 паралельні обчислення: найкраще рішення для рідного масштабування?
1. Огляд рішень для масштабування блокчейну
Трикутник «неможливості» блокчейну: «безпека», «децентралізація», «масштабованість» виявляє суттєві компроміси в дизайні блокчейн-систем, а саме те, що блокчейн-проекти важко досягти «максимальної безпеки, загальної участі, швидкої обробки» одночасно. Щодо «масштабованості», цієї вічної теми, на ринку є кілька основних рішень для розширення блокчейну, які класифікуються за парадигмами, включаючи:
Виконання посиленого масштабування: підвищення виконавчих можливостей на місці, наприклад, паралельно, GPU, багатоядерність.
Ізоляція стану для масштабування: горизонтальне розділення стану, наприклад, шардінг, UTXO, багатопідмережі
Позасистемне масштабування: переміщення виконання за межі блокчейну, наприклад, Rollup, Coprocessor, DA
Асинхронне паралельне масштабування: модель актора, ізоляція процесів, керування повідомленнями, наприклад, агенти, багатопотокове асинхронне ланцюгування
Рішення для масштабування блокчейну включають: паралельні обчислення в ланцюгу, Rollup, шардінг, DA модулі, модульну структуру, систему Actor, zk-докази стиснення, Stateless архітектуру тощо, охоплюючи виконання, стан, дані, структури на кількох рівнях, є «повною системою масштабування з багаторівневою координацією та модульною комбінацією». У цій статті основна увага приділяється масштабуванню, яке базується на паралельних обчисленнях.
Паралельні обчислення всередині ланцюга, зосереджені на паралельному виконанні транзакцій/інструкцій у межах блоку. Згідно з механізмом паралелізму, способи масштабування можна розділити на п'ять основних категорій, кожна з яких представляє різні цілі продуктивності, моделі розробки та архітектурну філософію. У порядку зменшення гранулярності паралелізму, інтенсивність паралелізму зростає, складність планування також зростає, а також зростає складність програмування та труднощі реалізації.
Рівень облікового запису паралельно: представляє проект Solana
Об'єктний рівень паралелізму: представляє проект Sui
Торговельний рівень паралелізму: представляє проекти Monad, Aptos
Виклик рівня/мікро ВМ паралельно: представляє проект MegaETH
Інструкційний рівень паралелізму: представляє проект GatlingX
Зовнішня асинхронна паралельна модель, представлена системою акторів, яка належить до іншої парадигми паралельних обчислень. Як міжланцюгова/асинхронна система повідомлень, кожен агент функціонує як незалежний «агентний процес», асинхронно обробляючи повідомлення в паралельному режимі, подійно-орієнтовано, без необхідності синхронізації. Представлені проекти: AO, ICP, Cartesi тощо.
А ті рішення з розширення, які ми добре знаємо, такі як Rollup або шардінг, є механізмами системної паралельності, але не належать до внутрішньоланцюгових паралельних обчислень. Вони досягають розширення шляхом «паралельного виконання декількох ланцюгів/виконавчих доменів», а не шляхом підвищення паралельності всередині одного блоку/віртуальної машини. Такі рішення з розширення не є основною темою цієї статті, але ми все ж використаємо їх для порівняння архітектурних концепцій.
Два. EVM-сумісний паралельний покращений ланцюг: прорив меж продуктивності в рамках сумісності
Архітектура послідовної обробки Ethereum розвивалася до сьогодні, переживши кілька раундів спроб масштабування, включаючи шардінг, Rollup, модульну архітектуру тощо, але вузьке місце в пропускній здатності виконавчого рівня все ще не отримало фундаментального прориву. Тим часом, EVM і Solidity залишаються найбільш розвиненими платформами смарт-контрактів з великою базою розробників і екосистемним потенціалом. Тому, паралельна посилена ланцюгова архітектура EVM, яка забезпечує екосистемну сумісність і підвищення продуктивності виконання, стає важливим напрямком для нового етапу масштабування. Monad та MegaETH є найбільш репрезентативними проектами в цьому напрямку, які, виходячи з затримки виконання та розподілу стану, будують архітектуру паралельної обробки EVM, орієнтуючись на сценарії з високою конкуренцією та високою пропускною здатністю.
Аналіз механізму паралельних обчислень Monad
Monad є високо продуктивним блокчейном Layer1, переосмисленим для віртуальної машини Ethereum, який ґрунтується на основній паралельній ідеї конвеєрної обробки, виконує асинхронні дії на рівні консенсусу та оптимістичну конкуренцію на рівні виконання. Крім того, на рівнях консенсусу та зберігання Monad впроваджує високо продуктивний BFT протокол і спеціалізовану базу даних, досягаючи оптимізації від початку до кінця.
Пайплайнінг: Механізм паралельного виконання з багатьма етапами
Pipelining є основною концепцією паралельного виконання Monad, основна ідея якої полягає в розподілі процесу виконання блокчейну на кілька незалежних етапів та паралельній обробці цих етапів, що створює тривимірну архітектуру конвеєра. Кожен етап виконується на незалежних потоках або ядрах, що забезпечує паралельну обробку через блоки, в результаті чого досягається підвищення пропускної здатності та зменшення затримки. Ці етапи включають: досягнення консенсусу щодо пропозиції транзакцій, виконання транзакцій та подачу блоку.
Асинхронне виконання: консенсус - асинхронне роз'єднання виконання
У традиційних блокчейнах консенсус і виконання транзакцій зазвичай є синхронними процесами, і ця послідовна модель серйозно обмежує масштабованість продуктивності. Monad реалізує асинхронний консенсус, асинхронне виконання та асинхронне зберігання через «асинхронне виконання». Це значно зменшує час блокування та затримку підтвердження, роблячи систему більш гнучкою, процеси більш сегментованими, а використання ресурсів більш ефективним.
Основний дизайн:
Процес консенсусу лише відповідає за впорядкування транзакцій, а не за виконання логіки контракту.
Процес виконання асинхронно запускається після завершення консенсусу.
Після завершення консенсусу негайно переходьте до процесу консенсусу наступного блоку, без необхідності чекати завершення виконання.
Оптимістичне паралельне виконання:乐观并行执行
Традиційний Ethereum використовує сувору послідовну модель для виконання транзакцій, щоб уникнути конфліктів стану. Натомість Monad застосовує стратегію «оптимістичного паралельного виконання», що значно підвищує швидкість обробки транзакцій.
Механізм виконання:
Monad оптимістично виконує всі транзакції паралельно, припускаючи, що між більшістю транзакцій немає конфліктів стану.
Одночасно працює «детектор конфліктів», щоб контролювати, чи доступили транзакції однаковий стан.
Якщо виявлено конфлікт, то конфліктні транзакції будуть серіалізовані та повторно виконані, щоб забезпечити правильність стану.
Monad обрав兼容路径: з мінімальними змінами правил EVM, під час виконання реалізує паралелізм через відкладене записування стану та динамічне виявлення конфліктів, більше схоже на версію Ethereum з високою продуктивністю, з хорошою зрілістю, що полегшує міграцію екосистеми EVM, є паралельним прискорювачем світу EVM.
Аналіз механізму паралельних обчислень MegaETH
На відміну від позиціонування L1 Monad, MegaETH позиціонується як модульний високопродуктивний паралельний виконавчий шар, сумісний з EVM, який може бути як незалежною L1 публічною ланцюгом, так і посиленням виконання або модульним компонентом на Ethereum. Основною метою його дизайну є ізоляція та деконструкція логіки рахунків, середовища виконання та стану в незалежно плановані найменші одиниці для досягнення високої конкурентоспроможності виконання та низької затримки реакції в межах ланцюга. Ключовою інновацією MegaETH є: архітектура Micro-VM + State Dependency DAG та модульний механізм синхронізації, які спільно створюють паралельну виконавчу систему, орієнтовану на «потоковість всередині ланцюга».
Мікро-VM архітектура: рахунок — це потік
MegaETH впроваджує модель виконання «один мікровіртуальний комп'ютер на кожен рахунок», «потоковий» виконувальний контекст, що забезпечує найменшу одиницю ізоляції для паралельного планування. Ці ВМ спілкуються між собою через асинхронну передачу повідомлень, а не через синхронні виклики, що дозволяє великій кількості ВМ незалежно виконувати завдання і зберігати дані, що забезпечує природну паралельність.
Даг залежності стану: механізм планування на основі графа залежностей
MegaETH побудував систему розкладу DAG, основану на відносинах доступу до стану облікових записів, яка в реальному часі підтримує глобальну графіку залежностей. Кожна транзакція модифікує певні облікові записи та читає інші, що моделюється у вигляді залежностей. Транзакції без конфліктів можуть виконуватись паралельно, тоді як транзакції з залежностями будуть заплановані та відсортовані послідовно або відкладено відповідно до топологічного порядку. Граф залежностей забезпечує узгодженість стану та уникнення повторного запису під час паралельного виконання.
Асинхронне виконання та механізм зворотного виклику
MegaETH побудований на основі парадигми асинхронного програмування, аналогічно асинхронному обміну повідомленнями моделі актора, яка вирішує проблему традиційних послідовних викликів EVM. Виклики за контрактом є асинхронними, і при виклику контракту A -> B -> C кожен дзвінок є асинхронним без блокування очікування; Стек викликів розгортається в асинхронний графік дзвінків; Обробка транзакцій = обхід асинхронного графіка + дозвіл залежностей + паралельне планування.
У підсумку, MegaETH руйнує традиційну модель однопоточної державної машини EVM, реалізуючи мікровіртуальну машину на основі облікових записів, впроваджуючи графік залежностей стану для планування транзакцій і замінюючи синхронний стек викликів асинхронним механізмом повідомлень. Це паралельна обчислювальна платформа, яка була перероблена з усіх боків, починаючи з «структури облікових записів → архітектури планування → процесу виконання», надаючи нові парадигми для створення системи наступного покоління з високою продуктивністю на ланцюзі.
MegaETH обрала шлях рефакторингу: повністю абстрагуючи рахунки та контракти в незалежну VM, через асинхронне виконання розкладу для вивільнення надзвичайного паралельного потенціалу. Теоретично, паралельний ліміт MegaETH вищий, але також складніше контролювати складність, більше схоже на надрасподілену операційну систему в концепції Ethereum.
Дизайнерські концепції Monad і MegaETH суттєво відрізняються від шардінгу: шардінг горизонтально розрізає блокчейн на кілька незалежних підланцюгів, кожен з яких відповідає за частину транзакцій і стану, що руйнує обмеження одночоловічного ланцюга на рівні мережі; тоді як Monad і MegaETH зберігають цілісність одночоловічного ланцюга, лише горизонтально розширюючи на рівні виконання, оптимізуючи межі паралельного виконання всередині одночоловічного ланцюга для покращення продуктивності. Обидва представляють два напрямки в розширенні блокчейнів: вертикальне посилення та горизонтальне розширення.
Проекти паралельних обчислень, такі як Monad і MegaETH, зосереджені на оптимізації пропускної спроможності, з основною метою підвищення TPS в рамках ланцюга, реалізуючи паралельну обробку на рівні транзакцій або облікових записів за допомогою затриманого виконання та мікровіртуальної архітектури. Pharos Network, як модульна, повнофункціональна паралельна мережа L1 блокчейнів, має основний механізм паралельних обчислень, відомий як "Rollup Mesh". Ця архітектура підтримує багатовіртуальне середовище завдяки співпраці між основною мережею та спеціалізованою обробною мережею та інтегрує такі передові технології, як нульові знання та середовище довіреного виконання.
Аналіз механізму паралельних обчислень Rollup Mesh:
Обробка асинхронного конвеєра протягом усього життєвого циклу: Pharos розділяє різні етапи транзакції та використовує асинхронний спосіб обробки, що дозволяє кожному етапу незалежно та паралельно виконуватись, тим самим підвищуючи загальну ефективність обробки.
Паралельне виконання двох віртуальних машин: Pharos підтримує два віртуальні середовища EVM та WASM, дозволяючи розробникам вибирати відповідне середовище виконання відповідно до потреб. Ця двомірна архітектура не лише підвищує гнучкість системи, але й покращує здатність до обробки транзакцій завдяки паралельному виконанню.
Спеціалізовані мережі: SPNs є ключовими компонентами архітектури Pharos, подібно до модульних підмереж, спеціально призначених для обробки певних типів завдань або застосувань. Завдяки SPNs, Pharos може реалізувати динамічний розподіл ресурсів та паралельну обробку завдань, що додатково підвищує масштабованість і продуктивність системи.
Модульна консенсусна система та механізм повторного стейкінгу: Pharos впровадив гнучку консенсусну механіку, що підтримує різні моделі консенсусу, а також забезпечує безпечний обмін та інтеграцію ресурсів між основною мережею та SPNs через протокол повторного стейкінгу.
Крім того, Pharos за допомогою багатоверсійного дерева Меркла, диференційного кодування, адресації версій та технології ADS занурення реконструює модель виконання з основи механізму зберігання і запускає рідний блокчейн з високою продуктивністю зберігання Pharos Store, що забезпечує високу пропускну здатність, низьку затримку та сильну перевіряємість обробки на ланцюзі.
В цілому, архітектура Rollup Mesh від Pharos досягає високої продуктивності паралельних обчислень завдяки модульному дизайну та асинхронним механізмам обробки. Pharos виступає в ролі координатора розкладу між Rollup, а не як оптимізатор виконання «в межах ланцюга», а виконує гетерогенні налаштовані завдання через SPN.
Крім Monad, MegaETH і Pharos
Переглянути оригінал
This page may contain third-party content, which is provided for information purposes only (not representations/warranties) and should not be considered as an endorsement of its views by Gate, nor as financial or professional advice. See Disclaimer for details.
Панорамний аналіз паралельних обчислень Web3: Майбутнє розширення EVM
Веб3 паралельні обчислення: найкраще рішення для рідного масштабування?
1. Огляд рішень для масштабування блокчейну
Трикутник «неможливості» блокчейну: «безпека», «децентралізація», «масштабованість» виявляє суттєві компроміси в дизайні блокчейн-систем, а саме те, що блокчейн-проекти важко досягти «максимальної безпеки, загальної участі, швидкої обробки» одночасно. Щодо «масштабованості», цієї вічної теми, на ринку є кілька основних рішень для розширення блокчейну, які класифікуються за парадигмами, включаючи:
Рішення для масштабування блокчейну включають: паралельні обчислення в ланцюгу, Rollup, шардінг, DA модулі, модульну структуру, систему Actor, zk-докази стиснення, Stateless архітектуру тощо, охоплюючи виконання, стан, дані, структури на кількох рівнях, є «повною системою масштабування з багаторівневою координацією та модульною комбінацією». У цій статті основна увага приділяється масштабуванню, яке базується на паралельних обчисленнях.
Паралельні обчислення всередині ланцюга, зосереджені на паралельному виконанні транзакцій/інструкцій у межах блоку. Згідно з механізмом паралелізму, способи масштабування можна розділити на п'ять основних категорій, кожна з яких представляє різні цілі продуктивності, моделі розробки та архітектурну філософію. У порядку зменшення гранулярності паралелізму, інтенсивність паралелізму зростає, складність планування також зростає, а також зростає складність програмування та труднощі реалізації.
Зовнішня асинхронна паралельна модель, представлена системою акторів, яка належить до іншої парадигми паралельних обчислень. Як міжланцюгова/асинхронна система повідомлень, кожен агент функціонує як незалежний «агентний процес», асинхронно обробляючи повідомлення в паралельному режимі, подійно-орієнтовано, без необхідності синхронізації. Представлені проекти: AO, ICP, Cartesi тощо.
А ті рішення з розширення, які ми добре знаємо, такі як Rollup або шардінг, є механізмами системної паралельності, але не належать до внутрішньоланцюгових паралельних обчислень. Вони досягають розширення шляхом «паралельного виконання декількох ланцюгів/виконавчих доменів», а не шляхом підвищення паралельності всередині одного блоку/віртуальної машини. Такі рішення з розширення не є основною темою цієї статті, але ми все ж використаємо їх для порівняння архітектурних концепцій.
Два. EVM-сумісний паралельний покращений ланцюг: прорив меж продуктивності в рамках сумісності
Архітектура послідовної обробки Ethereum розвивалася до сьогодні, переживши кілька раундів спроб масштабування, включаючи шардінг, Rollup, модульну архітектуру тощо, але вузьке місце в пропускній здатності виконавчого рівня все ще не отримало фундаментального прориву. Тим часом, EVM і Solidity залишаються найбільш розвиненими платформами смарт-контрактів з великою базою розробників і екосистемним потенціалом. Тому, паралельна посилена ланцюгова архітектура EVM, яка забезпечує екосистемну сумісність і підвищення продуктивності виконання, стає важливим напрямком для нового етапу масштабування. Monad та MegaETH є найбільш репрезентативними проектами в цьому напрямку, які, виходячи з затримки виконання та розподілу стану, будують архітектуру паралельної обробки EVM, орієнтуючись на сценарії з високою конкуренцією та високою пропускною здатністю.
Аналіз механізму паралельних обчислень Monad
Monad є високо продуктивним блокчейном Layer1, переосмисленим для віртуальної машини Ethereum, який ґрунтується на основній паралельній ідеї конвеєрної обробки, виконує асинхронні дії на рівні консенсусу та оптимістичну конкуренцію на рівні виконання. Крім того, на рівнях консенсусу та зберігання Monad впроваджує високо продуктивний BFT протокол і спеціалізовану базу даних, досягаючи оптимізації від початку до кінця.
Пайплайнінг: Механізм паралельного виконання з багатьма етапами
Pipelining є основною концепцією паралельного виконання Monad, основна ідея якої полягає в розподілі процесу виконання блокчейну на кілька незалежних етапів та паралельній обробці цих етапів, що створює тривимірну архітектуру конвеєра. Кожен етап виконується на незалежних потоках або ядрах, що забезпечує паралельну обробку через блоки, в результаті чого досягається підвищення пропускної здатності та зменшення затримки. Ці етапи включають: досягнення консенсусу щодо пропозиції транзакцій, виконання транзакцій та подачу блоку.
Асинхронне виконання: консенсус - асинхронне роз'єднання виконання
У традиційних блокчейнах консенсус і виконання транзакцій зазвичай є синхронними процесами, і ця послідовна модель серйозно обмежує масштабованість продуктивності. Monad реалізує асинхронний консенсус, асинхронне виконання та асинхронне зберігання через «асинхронне виконання». Це значно зменшує час блокування та затримку підтвердження, роблячи систему більш гнучкою, процеси більш сегментованими, а використання ресурсів більш ефективним.
Основний дизайн:
Оптимістичне паралельне виконання:乐观并行执行
Традиційний Ethereum використовує сувору послідовну модель для виконання транзакцій, щоб уникнути конфліктів стану. Натомість Monad застосовує стратегію «оптимістичного паралельного виконання», що значно підвищує швидкість обробки транзакцій.
Механізм виконання:
Monad обрав兼容路径: з мінімальними змінами правил EVM, під час виконання реалізує паралелізм через відкладене записування стану та динамічне виявлення конфліктів, більше схоже на версію Ethereum з високою продуктивністю, з хорошою зрілістю, що полегшує міграцію екосистеми EVM, є паралельним прискорювачем світу EVM.
Аналіз механізму паралельних обчислень MegaETH
На відміну від позиціонування L1 Monad, MegaETH позиціонується як модульний високопродуктивний паралельний виконавчий шар, сумісний з EVM, який може бути як незалежною L1 публічною ланцюгом, так і посиленням виконання або модульним компонентом на Ethereum. Основною метою його дизайну є ізоляція та деконструкція логіки рахунків, середовища виконання та стану в незалежно плановані найменші одиниці для досягнення високої конкурентоспроможності виконання та низької затримки реакції в межах ланцюга. Ключовою інновацією MegaETH є: архітектура Micro-VM + State Dependency DAG та модульний механізм синхронізації, які спільно створюють паралельну виконавчу систему, орієнтовану на «потоковість всередині ланцюга».
Мікро-VM архітектура: рахунок — це потік
MegaETH впроваджує модель виконання «один мікровіртуальний комп'ютер на кожен рахунок», «потоковий» виконувальний контекст, що забезпечує найменшу одиницю ізоляції для паралельного планування. Ці ВМ спілкуються між собою через асинхронну передачу повідомлень, а не через синхронні виклики, що дозволяє великій кількості ВМ незалежно виконувати завдання і зберігати дані, що забезпечує природну паралельність.
Даг залежності стану: механізм планування на основі графа залежностей
MegaETH побудував систему розкладу DAG, основану на відносинах доступу до стану облікових записів, яка в реальному часі підтримує глобальну графіку залежностей. Кожна транзакція модифікує певні облікові записи та читає інші, що моделюється у вигляді залежностей. Транзакції без конфліктів можуть виконуватись паралельно, тоді як транзакції з залежностями будуть заплановані та відсортовані послідовно або відкладено відповідно до топологічного порядку. Граф залежностей забезпечує узгодженість стану та уникнення повторного запису під час паралельного виконання.
Асинхронне виконання та механізм зворотного виклику
MegaETH побудований на основі парадигми асинхронного програмування, аналогічно асинхронному обміну повідомленнями моделі актора, яка вирішує проблему традиційних послідовних викликів EVM. Виклики за контрактом є асинхронними, і при виклику контракту A -> B -> C кожен дзвінок є асинхронним без блокування очікування; Стек викликів розгортається в асинхронний графік дзвінків; Обробка транзакцій = обхід асинхронного графіка + дозвіл залежностей + паралельне планування.
У підсумку, MegaETH руйнує традиційну модель однопоточної державної машини EVM, реалізуючи мікровіртуальну машину на основі облікових записів, впроваджуючи графік залежностей стану для планування транзакцій і замінюючи синхронний стек викликів асинхронним механізмом повідомлень. Це паралельна обчислювальна платформа, яка була перероблена з усіх боків, починаючи з «структури облікових записів → архітектури планування → процесу виконання», надаючи нові парадигми для створення системи наступного покоління з високою продуктивністю на ланцюзі.
MegaETH обрала шлях рефакторингу: повністю абстрагуючи рахунки та контракти в незалежну VM, через асинхронне виконання розкладу для вивільнення надзвичайного паралельного потенціалу. Теоретично, паралельний ліміт MegaETH вищий, але також складніше контролювати складність, більше схоже на надрасподілену операційну систему в концепції Ethereum.
Дизайнерські концепції Monad і MegaETH суттєво відрізняються від шардінгу: шардінг горизонтально розрізає блокчейн на кілька незалежних підланцюгів, кожен з яких відповідає за частину транзакцій і стану, що руйнує обмеження одночоловічного ланцюга на рівні мережі; тоді як Monad і MegaETH зберігають цілісність одночоловічного ланцюга, лише горизонтально розширюючи на рівні виконання, оптимізуючи межі паралельного виконання всередині одночоловічного ланцюга для покращення продуктивності. Обидва представляють два напрямки в розширенні блокчейнів: вертикальне посилення та горизонтальне розширення.
Проекти паралельних обчислень, такі як Monad і MegaETH, зосереджені на оптимізації пропускної спроможності, з основною метою підвищення TPS в рамках ланцюга, реалізуючи паралельну обробку на рівні транзакцій або облікових записів за допомогою затриманого виконання та мікровіртуальної архітектури. Pharos Network, як модульна, повнофункціональна паралельна мережа L1 блокчейнів, має основний механізм паралельних обчислень, відомий як "Rollup Mesh". Ця архітектура підтримує багатовіртуальне середовище завдяки співпраці між основною мережею та спеціалізованою обробною мережею та інтегрує такі передові технології, як нульові знання та середовище довіреного виконання.
Аналіз механізму паралельних обчислень Rollup Mesh:
Крім того, Pharos за допомогою багатоверсійного дерева Меркла, диференційного кодування, адресації версій та технології ADS занурення реконструює модель виконання з основи механізму зберігання і запускає рідний блокчейн з високою продуктивністю зберігання Pharos Store, що забезпечує високу пропускну здатність, низьку затримку та сильну перевіряємість обробки на ланцюзі.
В цілому, архітектура Rollup Mesh від Pharos досягає високої продуктивності паралельних обчислень завдяки модульному дизайну та асинхронним механізмам обробки. Pharos виступає в ролі координатора розкладу між Rollup, а не як оптимізатор виконання «в межах ланцюга», а виконує гетерогенні налаштовані завдання через SPN.
Крім Monad, MegaETH і Pharos