Ethereum представив програмовані смарт-контракти через EVM.
Оригінальна назва: "Parallel Power Unlocked"
Автор: РОБЕРТ МАКТЕГЮ, інвестиційний аналітик, Amber Labs
Упорядник: Івонна
Поточні виклики, з якими стикається індустрія блокчейнів
Наразі основні блокчейни надають низку програм, включаючи DeFi, NFT, соціальні мережі та навіть ігри. Однак якість і можливості цих додатків обмежені фундаментальним обмеженням: труднощами блокчейнів з обробкою кількох транзакцій одночасно. Паралельне виконання має вирішальне значення в децентралізованих програмах, оскільки воно дозволяє платформам смарт-контрактів обробляти кілька транзакцій одночасно, збільшуючи загальну пропускну здатність і швидкість реагування мережі. Щоб подолати цю критичну перешкоду, розробки галузі за останні п’ять років були зосереджені на покращенні продуктивності блокчейну за допомогою розпаралелювання.
У попередніх звітах ми розглядали різні способи покращення масштабованості, демонструючи модульні конструкції, інноваційні архітектури, такі як DAG, і тематичні дослідження, такі як Aptos і Sui. Однак у просторі блокчейнів часто забувають про те, як мережа обробляє паралельне виконання та як ці підходи порівнюють.
Цей дослідницький звіт спрямований на те, щоб пролити світло на майбутні блокчейни рівня 1, які допоможуть вирішити проблеми поточних блокчейнів і створити структуру таксономії для майбутнього паралельного виконання. Ми зосередимося на тому, як ці рішення забезпечують паралельне виконання, і порівняємо їхні підходи до подолання обмежень існуючих блокчейн-мереж. Досліджуючи різні стратегії та методи, які застосовуються в блокчейнах наступного покоління, ми сподіваємося надати цінну інформацію про майбутнє паралельного виконання та його роль у стимулюванні інновацій у блокчейні.
EVM
Більшість платформ смарт-контрактів сьогодні покладаються на віртуальну машину Ethereum (EVM), але вона має серйозний недолік: вона не може виконувати транзакції одночасно. Це обмеження підштовхнуло до розробки нової хвилі рішень рівня L1, які наголошують на паралельному виконанні як на засобі підвищення масштабованості та ефективності.
Блокчейн смарт-контракту складається з двох основних компонентів: механізму консенсусу, який допомагає вузлам узгодити порядок і включення транзакцій, і віртуальну машину, яка виконує код програми та оновлює стан програми та баланси на рахунку. Ethereum представив програмовані смарт-контракти через EVM, спільну систему, де кожен вузол зберігає копію всіх програм і їх стан. Незважаючи на свою популярність, блокчейни, які використовують EVM, обмежені з точки зору швидкості обробки. Наприклад, Ethereum може обробляти близько 10 транзакцій на секунду (tps), тоді як найшвидший ланцюжок EVM, BinanceChain, може досягати лише понад 200 tps. Ця неефективність пояснюється моделлю послідовної обробки EVM, тобто транзакції обробляються одна за одною.
Monad, L1, зосереджений на масштабованості, проводить цей аналіз безпосередньо в нещодавній публікації «Для довідки: проста карткова гра з 10 000 користувачів, що рухаються кожні 10 секунд, вимагає 1000 tps». Судячи з поточної ситуації, малоймовірно, що EVM може підтримувати так багато операцій в одному ланцюжку.
Щоб вирішити цю проблему, розробники досліджують рішення, які підтримують паралельне виконання. Цей звіт має на меті створити основу для класифікації того, як ці блокчейни досягають розпаралелювання, зосереджуючись на вдосконаленні паралельного виконання. Впроваджуючи ці стратегії, екосистеми смарт-контрактів можуть подолати обмеження послідовної обробки та прокласти шлях для більш широкого впровадження децентралізованих програм.
Що таке паралельне виконання?
У блокчейнах паралельне виконання можна зрозуміти через просту аналогію. Уявіть собі продуктовий магазин, якому потрібно стягувати плату за покупки. Якщо в магазині є лише одна касова смуга та касовий апарат, черга рухатиметься повільно, розчаровуючи клієнтів і потенційно спонукаючи їх робити покупки в іншому місці. Щоб пришвидшити процес, у магазині використовували кілька касових смуг і касових апаратів. Це паралельна обробка в дії, що дозволяє магазину обробляти потреби кількох клієнтів одночасно, а не по одному.
Застосовуючи цю аналогію до блокчейну, кілька касових смуг представляють різні шляхи або смуги для обробки транзакцій. При паралельному виконанні ці канали існують в одній системі, що дозволяє обробляти кілька транзакцій одночасно. Таке налаштування дозволяє одній системі блокчейн ефективніше обробляти більший обсяг транзакцій, підвищуючи загальну продуктивність.
Тепер, коли ми зрозуміли важливість паралельного виконання для ефективності та масштабованості блокчейну, давайте трохи глибше заглибимося в його механізми.
Як працює паралельне виконання?
Паралельне виконання в блокчейні означає одночасну обробку непов’язаних транзакцій. Розглядайте непов’язані операції як незалежні події. Наприклад, якщо дві людини торгують токенами на різних біржах, їхні транзакції можуть оброблятися одночасно. Однак, якщо вони торгують на одній платформі, транзакції, можливо, доведеться виконувати в певному порядку.
Основним завданням у досягненні паралельного виконання є визначення того, які транзакції є некорельованими, а які незалежними. Це включає розуміння того, як кожна транзакція впливає на дані блокчейну. З багатьма взаємопов’язаними програмами визначити, які транзакції залежать одна від одної, може бути складно.
Різні системи блокчейну використовують різні методи для ідентифікації непов’язаних транзакцій, зазвичай шляхом керування доступом до даних блокчейну. Кожен обліковий запис або смарт-контракт має власний визначений діапазон даних, який можна змінити. Незалежні транзакції не намагаються змінити ті самі дані в одному блоці, тоді як пов’язані транзакції це роблять.
Деякі транзакції з більшою ймовірністю будуть вважатися нерелевантними, ніж інші. Наприклад, проста передача токенів між двома людьми не впливає на інших людей, тому зрозуміло, що ці типи транзакцій майже завжди незалежні. Однак транзакції, пов’язані з одним і тим же смарт-контрактом або обліковим записом, можуть змінювати його дані та не можуть виконуватися паралельно. Прикладом є транзакція маркерів із залученням кількох платформ, де всі платформи-учасники повинні чекати завершення початкової транзакції перед обробкою інших транзакцій.
У наступних розділах ми розглянемо три різні підходи до досягнення паралельного виконання в системах блокчейн: доступ до стану/оптимістичний, сегментування та паралельне виконання на основі обчислень. Варто зазначити, що традиційно лише моделі доступу до стану та оптимістичні моделі вважалися іншими в індустрії блокчейнів справді паралельними методами виконання, оскільки вони дозволяють одному блокчейну обробляти транзакції одночасно. Однак із появою складних міжланцюжкових протоколів зв’язку концепція паралельного виконання значно розширилася. Наприклад, шардинг, хоча традиційно не розглядається як засіб паралельного виконання, сприяє паралельній обробці транзакцій у кількох сегментах, тому його варто розглянути. Нарешті, ми вивчимо відносно нову концепцію паралельного виконання на основі обчислень. Ця інноваційна модель, хоч і не дуже відома, представляє революційний підхід до паралельної обробки транзакцій у системах блокчейн, який ми детально опишемо далі в цій статті. Досліджуючи ці підходи, ми з’ясуємо, як кожен із них пропонує унікальні переваги та проблеми для більш ефективної та масштабованої технології блокчейн.
Паралельне виконання: доступ до стану та оптимістична модель
Наразі більшість блокчейнів із паралельним виконанням покладаються на два популярних підходи: підхід стану доступу та оптимістичну модель. Підхід доступу до стану — це стратегічний підхід, який заздалегідь визначає, які транзакції мають доступ до якої частини стану блокчейну, що дозволяє блокчейну легко оголосити, які з них є незалежними. Оптимістичні моделі, з іншого боку, працюють за припущенням, що всі угоди є незалежними, і просто перевіряють це припущення ретроспективно та вносять коригування, якщо необхідно. Деякі блокчейни використовують ці підходи для полегшення розпаралелювання, демонструючи кожен із цих теоретичних підходів у дії. Зазвичай це ті моделі, на які люди мають на увазі, коли обговорюють паралельні блокчейни. У цьому розділі пояснюються ці два підходи та їхнє застосування в області блокчейну.
Солана: піонер паралельних блокчейнів
Solana стала піонером у сфері блокчейну, запровадивши унікальний підхід до управління транзакціями та розширення масштабованості. Його проривна інновація полягає у визначенні того, до яких частин стану блокчейну — повного запису всіх облікових записів або активів — можна отримати доступ за допомогою певних дій.
Думайте про це як про гігантську систему файлів. Кожна транзакція надсилає запит на доступ до певного файлу. Транзакції можуть оброблятися незалежно, якщо запит файлу унікальний. Але якщо вони запитують ті самі файли, ці транзакції переплітаються і потребують координації. Справжня хитрість полягає в тому, щоб визначити, яка транзакція запитує який файл.
Як перший паралельний блокчейн Solana представляє рішення. Кожна транзакція повинна попередньо оголосити, до якого файлу вона має намір отримати доступ. Ця вимога міститься в моделі виконання Solana "SeaLevel", де всі функції працюють у межах облікового запису. До кожного облікового запису можна отримати доступ лише через транзакції, пов’язані з ним, що запобігає потенційним конфліктам.
Важливо те, що Солана також використовує процедури без громадянства, які містяться в цих облікових записах. Програми без стану — це фрагменти коду, які не запам’ятовують жодних даних між виконаннями — вони починаються з нуля під час кожного запуску. Коли виконується виклик функції, ці програми активуються для виконання своїх завдань, не покладаючись на будь-які попередні дані. Ця концепція допомагає підтримувати незалежність транзакцій і сприяє інноваційному підходу Solana до покращення масштабованості блокчейну.
Sui: концепція об'єктів
Sui нещодавно дебютував і викликав неабиякий ажіотаж у просторі блокчейну. Але що саме пропонує Sui?Щоб заглибитися в нюанси архітектури Sui, наша команда підготувала вичерпну статтю, порівнюючи її з Aptos, іншим блокчейном, який ми досліджуватимемо далі. Однак на даному етапі наша головна проблема полягає в тому, щоб зрозуміти унікальний підхід Sui до паралельного виконання транзакцій.
Стратегія розпаралелювання Суї подібна до стратегії Солани, але з унікальною особливістю: заміна облікових записів структурою під назвою «об’єкти». Транзакції Sui не посилаються на облікові записи, натомість вони змінюють властивості об’єктів, які можуть бути активами або смарт-контрактами. Якщо транзакцію позначено як незалежну (тобто, якщо жодні інші транзакції не взаємодіють із цільовим об’єктом), вона повністю обійде механізм консенсусу – функцію, відому як трансляція візантійського консенсусу.
Для ілюстрації припустімо, що Аліса володіє унікальним NFT, який представлений як об’єкт у контексті Суї, а «Аліса» вказана як його «власник». Якщо Аліса передає цей NFT Бобу, транзакція розглядається як окрема об’єктна транзакція в обхід процесу консенсусу. Однак, якщо Аліса вирішує виконати складнішу операцію, наприклад купити NFT через маркетплейс, динаміка змінюється. Оскільки об’єктами можна маніпулювати за допомогою інших транзакцій, транзакція може бути позначена як залежна транзакція, і перед виконанням може знадобитися її послідовність.
Паливо: Використовуйте UTXO для покращення виконання
Fuel є лідером у сфері блокчейнів, і він повністю використовує переваги моделі UTXO (Unspent Transaction Output). Якщо ви розглядаєте модель UTXO як фізичну готівкову операцію, це схоже на те, що ви купуєте щось за 7 доларів за купюру в 10 доларів і отримуєте 3 долари здачі. Використовуючи модель UTXO, Fuel може ефективно обробляти транзакції паралельно. Це пояснюється тим, що модель UTXO дозволяє легко ідентифікувати незалежні транзакції – ті, які не перетинаються в об’єктах або «рахунках», з якими вони взаємодіють. Ця незалежність означає, що ці транзакції можуть оброблятися одночасно без конфліктів, значно збільшуючи пропускну здатність транзакцій.
Біткойн також приймає модель UTXO, яку Fuel використовує для створення суворих списків доступу. Ці списки діють як регулятори, контролюючи, які частини стану блокчейну доступні. Стратегія спирається на ідею канонічного впорядкування транзакцій, те, як вона впорядковує транзакції всередині блоку, спрощує процес виявлення залежностей між транзакціями.
Компанія Fuel втілила цю концепцію в життя, розробивши нову віртуальну машину FuelVM та інноваційну мову програмування Sway. FuelVM розроблено як компактну, але повністю сумісну заміну віртуальної машини Ethereum (EVM), яка дозволяє розробникам більш безпосередньо інтегруватися в екосистему Fuel.
Крім того, Fuel підкреслює модульну структуру блокчейна. Цей модульний підхід дозволяє здійснювати розрахунки за транзакціями, здійсненими в Fuel, у основній мережі Ethereum. Як наслідок, Fuel має можливість обробляти велику кількість транзакцій, усі з яких консолідуються та розраховуються на Ethereum. Цей стратегічний крок дозволяє Fuel ефективно керувати великими транзакційними навантаженнями.
Aptos: виконуйте оптимістично
У нашому дослідженні паралелізації блокчейнів ми спочатку опишемо, як блокчейни встановлюють залежності під час ініціації транзакції. Ми називаємо це підходом доступу до стану, коли смарт-контракт або розробник визначає, які транзакції можуть отримати доступ до якої частини стану. Тепер ми звернемося до іншої техніки під назвою оптимістичне виконання. Оптимістичне виконання — це стратегія, у якій кожна транзакція обробляється так, ніби вона не була пов’язана з жодною іншою транзакцією, що дозволяє обробляти всі транзакції одночасно. Однак, якщо виявляється, що деякі транзакції пов’язані, вони зупиняються, їх результати очищаються та виконуються повторно. Це може пришвидшити роботу, коли транзакції здебільшого незалежні, але коли багато підключених, обробку потрібно часто зупиняти та скидати, що може сповільнити транзакції.
Aptos використовує підхід під назвою Block Software Transactional Memory (Block-STM), щоб застосувати оптимістичне виконання. Aptos побудовано на основі мови Move від Diem і MoveVM, яка автоматично виявляє посилання транзакцій. Не потрібно, щоб транзакції повідомляли, якої частини стану блокчейну (наприклад, місця пам’яті) вони торкаються.
*
Джерело: Біла книга Block-STM
(На діаграмі показано, що якщо деякі транзакції підключені, перевірку буде призупинено, результати видалено, а потім запущено знову.)
У block-stm транзакції спочатку встановлюються в певному порядку в межах блоку, а потім розподіляються між різними потоками обробки для одночасного виконання. Коли ці транзакції обробляються, система відстежує, у якому місці пам’яті змінюється кожна транзакція. Після кожного циклу обробки система перевіряє всі результати транзакцій. Якщо він виявляє, що транзакція торкнулася місця пам’яті, зміненого попередньою транзакцією, він стирає свої результати та виконується знову. Цей процес триває, доки не буде оброблено кожну транзакцію в блоці.
Успіх Block-STM багато в чому залежить від зв'язків між транзакціями. За словами команди Aptos, використання 32 процесорних ядер забезпечує 8-кратне прискорення, коли транзакції мають високу корельацію, і 16-кратне прискорення, коли транзакції менш корельовані. Однак, якщо кожна транзакція в блоці об’єднана, block-stm може призвести до невеликого уповільнення порівняно з виконанням по одній.
Монада: Лідер ланцюга EVM
Monad запровадив новий підхід до блокчейнів, сумісних з EVM, і був першим блокчейном, який представив паралельну архітектуру на першому рівні EVM. Як і Aptos, він використовує оптимістичний шлях виконання, працюючи за припущенням, що транзакції не пов’язані між собою, і вирішує залежності, коли вони виникають.
Цей новий підхід не позбавлений проблем. Внесення серйозних модифікацій у технологію блокчейн є складним і довгостроковим зобов’язанням. Тим не менш, Monads залишаються відданими інноваціям і стали маяком для інших блокчейн-мереж, які прагнуть покращити свою власну архітектуру.
Візьмемо як приклад Polygon і BinanceSmartChain, два відомі блокчейни зараз намагаються оновити свої системи, використовуючи подібні стратегії. Неможливо переоцінити важливість піонерської роботи монад щодо оптимістичного впровадження, оскільки вона вплинула на переоцінку та перегляд власних архітектур великих платформ.
Наприклад, Polygon має високу пропускну здатність і мільйони щоденних транзакцій. Його мережевий API вже надає достатньо даних для керування розпаралелюваним двигуном, і, досліджуючи специфічний для EVM Block-STM, їм вдалося уникнути змін в API. Однак, враховуючи величезний обсяг транзакцій у ланцюжку PolygonPoS, припущення про нульову залежність між будь-якими блоками є нереалістичним. Тому вони прийняли мінімальний підхід до метаданих, записуючи залежності транзакцій як метадані в блоках, зменшуючи надмірність і вимоги до обчислень.
Подібним чином BinanceSmartChain також вивчає можливості розпаралелювання виконання в рамках свого ланцюжка EVM за допомогою оптимістичного виконання, що відображає вплив інноваційного підходу Monad на галузь загалом.
Інноваційний дух Monad і його прагнення розширити межі технології блокчейн створили новий тренд у сфері EVM. Його підхід до впровадження паралельної архітектури на рівні 1 EVM не тільки покращує ефективність власної системи, але також впливає та надихає інших важливих гравців у цій галузі наслідувати їхній приклад, знаменуючи серйозні зміни в майбутньому індустрії блокчейнів.
Паралельне виконання на основі сегментування
Поки що ми обговорювали, як різні блокчейни порушують послідовне впорядкування та досягають розпаралелювання за допомогою таких концепцій, як облікові записи, об’єкти, UTXO та оптимістичні моделі. Однак наступне покоління блокчейнів, яке ми збираємося вивчати, використовує унікальний підхід до розпаралелювання. Ці платформи нагадують модель шардингу, а не єдиний блокчейн, здатний обробляти транзакції паралельно. Блокчейн розділений на кілька частин, кожна з яких відповідає за обробку власних транзакцій.
Shardeum: метод шардингу EVM
Shardeum пропонує революційний підхід до масштабованості блокчейна за допомогою динамічного шардингу, що забезпечує лінійну масштабованість. Шарди — це підрозділи мережі, і кожен сегмент обробляє частину мережевих транзакцій, підвищуючи ефективність використання ресурсів і пропускну здатність. Уявімо, що користувач проводить транзакцію в децентралізованому додатку (dapp), розміщеному на Shardeum, який призначено певному сегменту на основі пов’язаних з ним даних. Шард обробляє транзакції одночасно з іншими сегментами під його юрисдикцією, як міні-блокчейн. Користувачі отримують вигоду від швидшої обробки, оптимізуючи роботу користувача.
Ключовою особливістю Shardeum є його сумісність з віртуальною машиною Ethereum (EVM). Розробники можуть легко перенести свої прикладні програми на базі Ethereum на Shardeum, поєднуючи динамічне шардинг і паралельну обробку Shardeum із великою екосистемою Ethereum.
Динамічний шардинг забезпечує адаптивність мережі до змінних вимог, а також сприяє масштабованості та високій ефективності системи. Shardeum автоматизує міжшардові транзакції, дозволяючи безперебійно виконувати складні програми, які вимагають введення від кількох користувачів, підвищуючи масштабованість.
Що робить Shardeum унікальним, так це його здатність до лінійного масштабування. Мережа масштабується лінійно в міру додавання вузлів, що означає, що пропускна здатність транзакцій зростає пропорційно кількості вузлів. Це лінійне масштабування в поєднанні з гнучкістю вузлів і можливостями автоматичного масштабування дозволяє Shardeum оптимально обробляти різні робочі навантаження та зростання мережі. Shardeum пропонує практичне рішення для реальних транзакційних потреб, підвищуючи масштабованість складних додатків і надаючи практичне рішення для реальних транзакційних потреб.
Linera: революційний багатоланцюжковий протокол
Інноваційне рішення Linera щодо масштабованості блокчейну виділяється своїм динамічним багатоланцюжковим протоколом, який включає ланцюжки користувачів, загальнодоступні ланцюжки та ефемерні ланцюжки.
На діаграмі вище показано три різні типи ланцюжків у системі Linera: ланцюжки користувачів, публічні ланцюжки та тимчасові ланцюжки. Кожен тип ланцюжка має унікальну роль, яка сприяє загальній функціональності та масштабованості протоколу.
На відміну від Shardeum, де Linera запровадила концепцію ланцюжків, керованих користувачами, Shardeum ділить свою мережу на багато ланцюжків сегментів, кожна з яких відповідає за підмножину транзакцій. Цей детальний підхід дає користувачам більше контролю та автономії, одночасно оптимізуючи розподіл ресурсів у мережі.
Ланцюги користувачів, які належать і контролюються виключно користувачами, утворюють основу архітектури Linera. Ці ланцюги обробляють транзакції для конкретних кінцевих користувачів незалежно, дозволяючи паралельне виконання та значно збільшуючи пропускну здатність, одночасно зменшуючи затримку.
Публічний ланцюг є ще однією важливою частиною дизайну Linera. Ці ланцюжки є домом для децентралізованих програм, таких як Automated Market Makers (amm). Загальнодоступний ланцюжок відкритий для всіх учасників мережі, забезпечуючи загальну платформу для додатків, які потребують відкритої та необмеженої взаємодії.
Linera також представляє концепцію тимчасових ланцюжків, які спеціально розроблені для обробки складних операцій, таких як атомарні обміни. Ця функція забезпечує значну перевагу перед протоколами, яким потрібно записувати транзакції в основному ланцюзі, що може створити вузьке місце. У Linera під час атомарного обміну створюється тимчасовий ланцюжок, який обробляється незалежно від інших транзакцій і паралельно з ними. Після завершення обміну тимчасовий ланцюжок зникає, а оновлений стан відображається у пов’язаному ланцюжку користувачів.
Структура протоколу підтримує горизонтальне масштабування, що є важливою властивістю для підтримки продуктивності системи за змінних навантажень. У міру збільшення трафіку валідатори можуть додавати більше робочих машин, щоб керувати збільшеною активністю та підтримувати високу пропускну здатність за високого навантаження.
На відміну від інших протоколів, таких як Cosmos, де кожен блокчейн або «зона» керується іншим набором валідаторів, Linera об’єднує всі ланцюжки в один набір валідаторів. Цей уніфікований підхід підвищує ефективність і безпеку протоколу Linera, спрощуючи міжланцюгові взаємодії, усуваючи складність перевірки за допомогою окремих наборів валідаторів, що може призвести до збільшення затримки або розбіжностей. У результаті транзакції обробляються більш ефективно в усій екосистемі, що значно знижує ризик конфліктів.
QuaiNetwork: покращення паралелізму та сумісності за допомогою Proof-of-Work
QuaiNetwork проклала власний шлях у індустрії блокчейнів завдяки своєму унікальному підходу до масштабованості. Впроваджуючи динамічну та взаємодіючу багатоланцюжкову архітектуру, Quai надає унікальне рішення проблеми масштабованості на основі підтвердження роботи, що дозволяє розпаралелювати транзакції за допомогою нескінченно виконуваних сегментів. Цей підхід відрізняє Quai від таких протоколів, як Linera, які використовують контрольовані користувачем ланцюжки, але мають певну схожість із динамічним сегментуванням Shardeum.
Версія сегментування, яку використовує Quai, подібна до традиційних методів, що використовуються для підвищення продуктивності бази даних у централізованих системах. Однак Quai відрізняється від типових схем шардингу тим, що він має динамічну, адаптовану, глибоко переплетену багатоланцюгову архітектуру. Це дещо схоже на динамічне сегментування Shardeum, де мережа розділена на ланцюжки шардів, які незалежно обробляють транзакції. Однак Quai координує ці різні сегменти за допомогою об’єднаної ієрархії майнінгу, створюючи унікальне з’єднання, яке дозволяє виконувати операції паралельно в мережі. На відміну від усіх існуючих реалізацій сегментування, які вводять деякі нові механізми довіри для полегшення взаємодії (транзакції між шардами), мережа Quai використовує видобуток злиття для з’єднання шардів, гарантуючи, що єдиним механізмом є видобуток. Унікальний підхід QuaiNetwork до сумісності за допомогою об’єднаного майнінгу значно збільшує пропускну здатність і надає можливість виконувати велику кількість одночасних транзакцій без шкоди для децентралізації чи продуктивності.
Щоб мати можливість координувати необмежену кількість фрагментів виконання, мережа Quai представляє новий механізм консенсусу під назвою PoEM. PoEM базується на консенсусі Proof-of-Work (PoW), але, на відміну від інших механізмів консенсусу, він першим усуває форки на основі консенсусу. Під час запуску PoEM усі вузли завжди матимуть однакові переваги для наступного блоку в послідовності негайно, маючи той самий набір інформації. PoEM дозволяє всім вузлам негайно та справедливо порівнювати будь-який запропонований блок, усуваючи всю невизначеність із консенсусу. Забезпечуючи миттєвий консенсус, PoEM забезпечує необхідну передумову для нескінченного сегментування. Якщо для досягнення консенсусу потрібен час, існує суворе обмеження на кількість виконуваних шардів, які можна координувати. Як перший метод «нульового часу» досягнення консенсусу, PoEM є першим і єдиним алгоритмом консенсусу, придатним для координації нескінченно зростаючих наборів ланцюжків.
Визначною особливістю архітектури Quai є впровадження паралельних потоків виконання (PET), які в Quai називаються «регіонами». Кожен «регіон» або паралельний потік виконання обробляє транзакції незалежно та асинхронно. Здатність кожного потоку виконання Quai незалежно обробляти транзакції підтримує можливості паралельної обробки в мережі, що є однією з основних концепцій масштабованості Quai.
Кількість ланцюжків у QuaiNetwork є динамічною та адаптованою, як і динамічний шардинг Shardeum. Однак використання QuaiNetwork механізму консенсусу PoEM унікальне тим, що дозволяє нескінченно виконувати цей шаблон динамічного сегментування без зниження продуктивності. QuaiNetwork додає сегменти виконання за допомогою динамічного шардингу з очевидним компромісом: у міру того, як до мережі додається більше сегментів виконання, час, потрібний для посилань на міжланцюгові транзакції їхніми цільовими шардами, зростатиме. Цей зв’язок є сублінійним — наприклад, масштабування Quai з 9 шардів до 16 шардів збільшить середній час міжланцюжкової транзакції, щоб досягти місця призначення з 3300 секунд до 4400 секунд. Подальше масштабування до 25 шардів збільшує середній час приблизно до 5500 секунд. Теоретично, якщо Quai розширюється до 100 осколків, середній час глобального міжланцюжкового врегулювання становить приблизно 11 000 секунд. Алгоритм динамічного сегментування QuaiNetwork відстежує ліміт газу в мережі та швидкість блокування uncle, щоб зрозуміти, коли потрібна додаткова пропускна здатність, і автоматично вплітає додаткові сегменти виконання в консенсус, щоб відповідати підвищеним вимогам до пропускної здатності.
Крім того, плетена структура Quai підтримує складні багатоланцюгові смарт-контракти та забезпечує ефективну міжланцюжну взаємодію контрактів. Кожен потік виконання Quai має EVM, і вводяться нові коди операцій для зв’язку з EVM, розташованим на альтернативному сегменті. Ця можливість дозволяє розробникам розгортати контракти в кількох або всіх ланцюжках Quai, забезпечуючи працездатність децентралізованих програм (dapps) у всій мережі.
Інноваційне застосування шардингу від QuaiNetwork у поєднанні з сумісністю з об’єднанням і потоками паралельного виконання є значним прогресом у масштабованості блокчейну за механізмом консенсусу на основі роботи. Надійна обробка міжланцюжкових транзакцій і розширені можливості смарт-контрактів роблять Quai помітним учасником у зростаючій сфері масштабованих протоколів блокчейну.
Паралельне виконання на основі обчислень
Новою парадигмою паралельного виконання блокчейнів є модель на основі обчислень. Цей термін був введений нашою дослідницькою групою AmberGroup для опису методу одночасної обробки обчислювальних завдань у спільному середовищі. На відміну від моделей доступу до стану та оптимістичних моделей, моделі на основі обчислень не покладаються строго на послідовні обчислення на основі пам’яті. Натомість він працює за принципом високопаралельної віртуальної машини. Ця конструкція сприяє надійному та ефективному паралельному виконанню. У наступних розділах розглядаються принципи паралельного виконання на основі обчислень, його потенційні застосування та унікальні виклики, які він ставить перед ширшою сферою технології блокчейн.
Kindelia: електростанція паралельного виконання на основі обчислень
Kindelia стала багатообіцяючим рішенням у моделях паралельного виконання на основі обчислень у блокчейнах. Розроблений корпорацією HigherOrder Corporation, він базується на унікальному середовищі виконання під назвою Higher-Order Virtual Machine (HVM), яке забезпечує ефективне паралельне обчислення.
Інновації Kindelia базуються на новій моделі обчислень під назвою «мережа взаємодії», концепції, яка відрізняється від моделі машини Тьюрінга, яка лежить в основі більшості сучасних комп’ютерів. Мережі взаємодії засновані на графі вузлів взаємодії, кожен вузол має переписаний набір правил, які визначають, як він взаємодіє з іншими вузлами в мережі. Обчислення досягається шляхом зменшення кількості взаємодіючих мереж і систематичного видалення вузлів з мережі відповідно до її правил перезапису до досягнення кінцевого стану. Ця модель дозволяє виконувати обчислення паралельно без необхідності центрального годинника, щоб диктувати процес, оскільки вузли взаємодіють локально без будь-якої глобальної координації.
*
*На малюнку Віктора Теліна (генерального директора HigherOrderCompany) показано, як зменшити мережу взаємодії. *
Переваг цієї моделі безліч. Завдяки властивому йому паралелізму він сприяє швидшим і ефективнішим обчисленням, значно перевершуючи традиційні моделі послідовного обчислення. Крім того, це відкриває поле застосування в різних галузях інформатики. Kindelia виділяється як перша справді паралельна віртуальна машина в контексті блокчейну, яка досягає багатьох цілей, до яких прагне altL1. Однак через їхню залежність від архітектур, заснованих на машині Тьюрінга, ці конкуренти можуть ніколи не досягти того самого рівня розпаралелювання.
Конструкція Kindelia вимагає менше обчислювальних кроків для виконання функцій, максимізує використання процесорних ядер і забезпечує виконання операцій у правильному порядку — і все це з мінімальними додатковими зусиллями з боку розробників. Цей спрощений процес виконання в поєднанні з вищим рівнем безпеки робить Kindelia передовим прикладом паралельного виконання на основі обчислень у технології блокчейн.
Хоча теоретична основа Kindelia та HVM є дещо просунутою, практичне значення легко зрозуміти: покращити швидкість, ефективність і безпеку блокчейн-обчислень. З Kindelia ми є свідками революційного стрибка вперед у технології блокчейн, знаменуючи важливу віху в поточному розвитку цієї трансформаційної сфери.
Занепокоєння щодо паралельного виконання
Оскільки ми досліджуємо потенціал паралельних блокчейнів, важливо визнати, що хоча вони пропонують значні переваги в масштабованості та швидкості, це також створює унікальні проблеми та потенційні недоліки. Дві головні проблеми, які часто згадуються, це потенціал посилення централізації та високий рівень конфліктів транзакцій.
Паралельні блокчейни розподіляють обробку транзакцій між численними вузлами, тим самим збільшуючи пропускну здатність обробки транзакцій. Однак цей розподіл також може призвести до концентрації влади в межах кількох вузлів, таким чином забезпечуючи певний ступінь централізації. Ця централізація може підірвати надійність і безпеку блокчейна, роблячи його більш вразливим до атак. Крім того, паралельні блокчейни збільшують ризик простою мережі. Наприклад, мережа Solana зазнала збою у вересні 2021 року через надмірну кількість запитів на транзакції. Інцидент підкреслює потенційні ризики, пов’язані з масштабуванням блокчейн-мереж, і підкреслює необхідність рішень, які можуть обробляти великі обсяги транзакцій без шкоди для стабільності.
Рівень конфліктів транзакцій є ще одним важливим питанням. Цей коефіцієнт відноситься до відсотка транзакцій, які не можуть бути виконані одночасно через конфлікти. Високий рівень конфліктів може призвести до великої кількості переробок транзакцій у паралельних блокчейнах. Згідно зі звітом Flashbots, рівень конфліктності транзакцій Ethereum у 2017 році становив близько 35%. Оскільки основні додатки, такі як OpenSea та Uniswap, домінують у мережі Ethereum, рівень конфліктів, ймовірно, буде ще вищим.
У разі оптимістичного виконання обсяг повторення транзакції може серйозно порушити конвеєр, якщо рівень конфліктів перевищує 30%. Кожне повторення сповільнює обробку транзакцій і зменшує переваги розпаралелювання. Тому керування частотою конфліктів транзакцій має вирішальне значення для забезпечення ефективності паралельних блокчейнів.
на завершення
У просторі блокчейна відбуваються значні зміни, оскільки він намагається вирішити проблеми масштабованості та ефективності, властиві його дизайну. Ми дослідили різні підходи до досягнення паралельного виконання, кожен зі своїми унікальними перевагами та проблемами. Модель доступу на основі стану знаменує собою перший крок у подоланні послідовної природи блокчейнів. Оптимістичне виконання, хоч і багатообіцяюче, також створює ризик конфліктів і вимагає ефективних стратегій вирішення конфліктів. Шардинг робить нас ще далі, розділяючи мережу на менші, керовані частини, кожна з яких здатна обробляти транзакції незалежно. Нарешті, паралельне виконання на основі обчислень використовує передову інформатику для максимізації продуктивності вузла та безпеки додатків. Незважаючи на виклики та потенційні проблеми, ці моделі демонструють потенціал для значного покращення продуктивності технологій блокчейн. Оскільки ці технології продовжують розвиватися та розвиватися, ми стоїмо на порозі нової ери технології блокчейн.
Переглянути оригінал
Контент має виключно довідковий характер і не є запрошенням до участі або пропозицією. Інвестиційні, податкові чи юридичні консультації не надаються. Перегляньте Відмову від відповідальності , щоб дізнатися більше про ризики.
Поглиблена інтерпретація паралельного виконання: потенціал, проблеми та майбутнє
Оригінальна назва: "Parallel Power Unlocked"
Автор: РОБЕРТ МАКТЕГЮ, інвестиційний аналітик, Amber Labs
Упорядник: Івонна
Поточні виклики, з якими стикається індустрія блокчейнів
Наразі основні блокчейни надають низку програм, включаючи DeFi, NFT, соціальні мережі та навіть ігри. Однак якість і можливості цих додатків обмежені фундаментальним обмеженням: труднощами блокчейнів з обробкою кількох транзакцій одночасно. Паралельне виконання має вирішальне значення в децентралізованих програмах, оскільки воно дозволяє платформам смарт-контрактів обробляти кілька транзакцій одночасно, збільшуючи загальну пропускну здатність і швидкість реагування мережі. Щоб подолати цю критичну перешкоду, розробки галузі за останні п’ять років були зосереджені на покращенні продуктивності блокчейну за допомогою розпаралелювання.
У попередніх звітах ми розглядали різні способи покращення масштабованості, демонструючи модульні конструкції, інноваційні архітектури, такі як DAG, і тематичні дослідження, такі як Aptos і Sui. Однак у просторі блокчейнів часто забувають про те, як мережа обробляє паралельне виконання та як ці підходи порівнюють.
Цей дослідницький звіт спрямований на те, щоб пролити світло на майбутні блокчейни рівня 1, які допоможуть вирішити проблеми поточних блокчейнів і створити структуру таксономії для майбутнього паралельного виконання. Ми зосередимося на тому, як ці рішення забезпечують паралельне виконання, і порівняємо їхні підходи до подолання обмежень існуючих блокчейн-мереж. Досліджуючи різні стратегії та методи, які застосовуються в блокчейнах наступного покоління, ми сподіваємося надати цінну інформацію про майбутнє паралельного виконання та його роль у стимулюванні інновацій у блокчейні.
EVM
Більшість платформ смарт-контрактів сьогодні покладаються на віртуальну машину Ethereum (EVM), але вона має серйозний недолік: вона не може виконувати транзакції одночасно. Це обмеження підштовхнуло до розробки нової хвилі рішень рівня L1, які наголошують на паралельному виконанні як на засобі підвищення масштабованості та ефективності.
Блокчейн смарт-контракту складається з двох основних компонентів: механізму консенсусу, який допомагає вузлам узгодити порядок і включення транзакцій, і віртуальну машину, яка виконує код програми та оновлює стан програми та баланси на рахунку. Ethereum представив програмовані смарт-контракти через EVM, спільну систему, де кожен вузол зберігає копію всіх програм і їх стан. Незважаючи на свою популярність, блокчейни, які використовують EVM, обмежені з точки зору швидкості обробки. Наприклад, Ethereum може обробляти близько 10 транзакцій на секунду (tps), тоді як найшвидший ланцюжок EVM, BinanceChain, може досягати лише понад 200 tps. Ця неефективність пояснюється моделлю послідовної обробки EVM, тобто транзакції обробляються одна за одною.
Monad, L1, зосереджений на масштабованості, проводить цей аналіз безпосередньо в нещодавній публікації «Для довідки: проста карткова гра з 10 000 користувачів, що рухаються кожні 10 секунд, вимагає 1000 tps». Судячи з поточної ситуації, малоймовірно, що EVM може підтримувати так багато операцій в одному ланцюжку.
Щоб вирішити цю проблему, розробники досліджують рішення, які підтримують паралельне виконання. Цей звіт має на меті створити основу для класифікації того, як ці блокчейни досягають розпаралелювання, зосереджуючись на вдосконаленні паралельного виконання. Впроваджуючи ці стратегії, екосистеми смарт-контрактів можуть подолати обмеження послідовної обробки та прокласти шлях для більш широкого впровадження децентралізованих програм.
Що таке паралельне виконання?
У блокчейнах паралельне виконання можна зрозуміти через просту аналогію. Уявіть собі продуктовий магазин, якому потрібно стягувати плату за покупки. Якщо в магазині є лише одна касова смуга та касовий апарат, черга рухатиметься повільно, розчаровуючи клієнтів і потенційно спонукаючи їх робити покупки в іншому місці. Щоб пришвидшити процес, у магазині використовували кілька касових смуг і касових апаратів. Це паралельна обробка в дії, що дозволяє магазину обробляти потреби кількох клієнтів одночасно, а не по одному.
Застосовуючи цю аналогію до блокчейну, кілька касових смуг представляють різні шляхи або смуги для обробки транзакцій. При паралельному виконанні ці канали існують в одній системі, що дозволяє обробляти кілька транзакцій одночасно. Таке налаштування дозволяє одній системі блокчейн ефективніше обробляти більший обсяг транзакцій, підвищуючи загальну продуктивність.
Тепер, коли ми зрозуміли важливість паралельного виконання для ефективності та масштабованості блокчейну, давайте трохи глибше заглибимося в його механізми.
Як працює паралельне виконання?
Паралельне виконання в блокчейні означає одночасну обробку непов’язаних транзакцій. Розглядайте непов’язані операції як незалежні події. Наприклад, якщо дві людини торгують токенами на різних біржах, їхні транзакції можуть оброблятися одночасно. Однак, якщо вони торгують на одній платформі, транзакції, можливо, доведеться виконувати в певному порядку.
Основним завданням у досягненні паралельного виконання є визначення того, які транзакції є некорельованими, а які незалежними. Це включає розуміння того, як кожна транзакція впливає на дані блокчейну. З багатьма взаємопов’язаними програмами визначити, які транзакції залежать одна від одної, може бути складно.
Різні системи блокчейну використовують різні методи для ідентифікації непов’язаних транзакцій, зазвичай шляхом керування доступом до даних блокчейну. Кожен обліковий запис або смарт-контракт має власний визначений діапазон даних, який можна змінити. Незалежні транзакції не намагаються змінити ті самі дані в одному блоці, тоді як пов’язані транзакції це роблять.
Деякі транзакції з більшою ймовірністю будуть вважатися нерелевантними, ніж інші. Наприклад, проста передача токенів між двома людьми не впливає на інших людей, тому зрозуміло, що ці типи транзакцій майже завжди незалежні. Однак транзакції, пов’язані з одним і тим же смарт-контрактом або обліковим записом, можуть змінювати його дані та не можуть виконуватися паралельно. Прикладом є транзакція маркерів із залученням кількох платформ, де всі платформи-учасники повинні чекати завершення початкової транзакції перед обробкою інших транзакцій.
У наступних розділах ми розглянемо три різні підходи до досягнення паралельного виконання в системах блокчейн: доступ до стану/оптимістичний, сегментування та паралельне виконання на основі обчислень. Варто зазначити, що традиційно лише моделі доступу до стану та оптимістичні моделі вважалися іншими в індустрії блокчейнів справді паралельними методами виконання, оскільки вони дозволяють одному блокчейну обробляти транзакції одночасно. Однак із появою складних міжланцюжкових протоколів зв’язку концепція паралельного виконання значно розширилася. Наприклад, шардинг, хоча традиційно не розглядається як засіб паралельного виконання, сприяє паралельній обробці транзакцій у кількох сегментах, тому його варто розглянути. Нарешті, ми вивчимо відносно нову концепцію паралельного виконання на основі обчислень. Ця інноваційна модель, хоч і не дуже відома, представляє революційний підхід до паралельної обробки транзакцій у системах блокчейн, який ми детально опишемо далі в цій статті. Досліджуючи ці підходи, ми з’ясуємо, як кожен із них пропонує унікальні переваги та проблеми для більш ефективної та масштабованої технології блокчейн.
Паралельне виконання: доступ до стану та оптимістична модель
Наразі більшість блокчейнів із паралельним виконанням покладаються на два популярних підходи: підхід стану доступу та оптимістичну модель. Підхід доступу до стану — це стратегічний підхід, який заздалегідь визначає, які транзакції мають доступ до якої частини стану блокчейну, що дозволяє блокчейну легко оголосити, які з них є незалежними. Оптимістичні моделі, з іншого боку, працюють за припущенням, що всі угоди є незалежними, і просто перевіряють це припущення ретроспективно та вносять коригування, якщо необхідно. Деякі блокчейни використовують ці підходи для полегшення розпаралелювання, демонструючи кожен із цих теоретичних підходів у дії. Зазвичай це ті моделі, на які люди мають на увазі, коли обговорюють паралельні блокчейни. У цьому розділі пояснюються ці два підходи та їхнє застосування в області блокчейну.
Солана: піонер паралельних блокчейнів
Solana стала піонером у сфері блокчейну, запровадивши унікальний підхід до управління транзакціями та розширення масштабованості. Його проривна інновація полягає у визначенні того, до яких частин стану блокчейну — повного запису всіх облікових записів або активів — можна отримати доступ за допомогою певних дій.
Думайте про це як про гігантську систему файлів. Кожна транзакція надсилає запит на доступ до певного файлу. Транзакції можуть оброблятися незалежно, якщо запит файлу унікальний. Але якщо вони запитують ті самі файли, ці транзакції переплітаються і потребують координації. Справжня хитрість полягає в тому, щоб визначити, яка транзакція запитує який файл.
Як перший паралельний блокчейн Solana представляє рішення. Кожна транзакція повинна попередньо оголосити, до якого файлу вона має намір отримати доступ. Ця вимога міститься в моделі виконання Solana "SeaLevel", де всі функції працюють у межах облікового запису. До кожного облікового запису можна отримати доступ лише через транзакції, пов’язані з ним, що запобігає потенційним конфліктам.
Важливо те, що Солана також використовує процедури без громадянства, які містяться в цих облікових записах. Програми без стану — це фрагменти коду, які не запам’ятовують жодних даних між виконаннями — вони починаються з нуля під час кожного запуску. Коли виконується виклик функції, ці програми активуються для виконання своїх завдань, не покладаючись на будь-які попередні дані. Ця концепція допомагає підтримувати незалежність транзакцій і сприяє інноваційному підходу Solana до покращення масштабованості блокчейну.
Sui: концепція об'єктів
Sui нещодавно дебютував і викликав неабиякий ажіотаж у просторі блокчейну. Але що саме пропонує Sui?Щоб заглибитися в нюанси архітектури Sui, наша команда підготувала вичерпну статтю, порівнюючи її з Aptos, іншим блокчейном, який ми досліджуватимемо далі. Однак на даному етапі наша головна проблема полягає в тому, щоб зрозуміти унікальний підхід Sui до паралельного виконання транзакцій.
Стратегія розпаралелювання Суї подібна до стратегії Солани, але з унікальною особливістю: заміна облікових записів структурою під назвою «об’єкти». Транзакції Sui не посилаються на облікові записи, натомість вони змінюють властивості об’єктів, які можуть бути активами або смарт-контрактами. Якщо транзакцію позначено як незалежну (тобто, якщо жодні інші транзакції не взаємодіють із цільовим об’єктом), вона повністю обійде механізм консенсусу – функцію, відому як трансляція візантійського консенсусу.
Для ілюстрації припустімо, що Аліса володіє унікальним NFT, який представлений як об’єкт у контексті Суї, а «Аліса» вказана як його «власник». Якщо Аліса передає цей NFT Бобу, транзакція розглядається як окрема об’єктна транзакція в обхід процесу консенсусу. Однак, якщо Аліса вирішує виконати складнішу операцію, наприклад купити NFT через маркетплейс, динаміка змінюється. Оскільки об’єктами можна маніпулювати за допомогою інших транзакцій, транзакція може бути позначена як залежна транзакція, і перед виконанням може знадобитися її послідовність.
Паливо: Використовуйте UTXO для покращення виконання
Fuel є лідером у сфері блокчейнів, і він повністю використовує переваги моделі UTXO (Unspent Transaction Output). Якщо ви розглядаєте модель UTXO як фізичну готівкову операцію, це схоже на те, що ви купуєте щось за 7 доларів за купюру в 10 доларів і отримуєте 3 долари здачі. Використовуючи модель UTXO, Fuel може ефективно обробляти транзакції паралельно. Це пояснюється тим, що модель UTXO дозволяє легко ідентифікувати незалежні транзакції – ті, які не перетинаються в об’єктах або «рахунках», з якими вони взаємодіють. Ця незалежність означає, що ці транзакції можуть оброблятися одночасно без конфліктів, значно збільшуючи пропускну здатність транзакцій.
Біткойн також приймає модель UTXO, яку Fuel використовує для створення суворих списків доступу. Ці списки діють як регулятори, контролюючи, які частини стану блокчейну доступні. Стратегія спирається на ідею канонічного впорядкування транзакцій, те, як вона впорядковує транзакції всередині блоку, спрощує процес виявлення залежностей між транзакціями.
Компанія Fuel втілила цю концепцію в життя, розробивши нову віртуальну машину FuelVM та інноваційну мову програмування Sway. FuelVM розроблено як компактну, але повністю сумісну заміну віртуальної машини Ethereum (EVM), яка дозволяє розробникам більш безпосередньо інтегруватися в екосистему Fuel.
Крім того, Fuel підкреслює модульну структуру блокчейна. Цей модульний підхід дозволяє здійснювати розрахунки за транзакціями, здійсненими в Fuel, у основній мережі Ethereum. Як наслідок, Fuel має можливість обробляти велику кількість транзакцій, усі з яких консолідуються та розраховуються на Ethereum. Цей стратегічний крок дозволяє Fuel ефективно керувати великими транзакційними навантаженнями.
Aptos: виконуйте оптимістично
У нашому дослідженні паралелізації блокчейнів ми спочатку опишемо, як блокчейни встановлюють залежності під час ініціації транзакції. Ми називаємо це підходом доступу до стану, коли смарт-контракт або розробник визначає, які транзакції можуть отримати доступ до якої частини стану. Тепер ми звернемося до іншої техніки під назвою оптимістичне виконання. Оптимістичне виконання — це стратегія, у якій кожна транзакція обробляється так, ніби вона не була пов’язана з жодною іншою транзакцією, що дозволяє обробляти всі транзакції одночасно. Однак, якщо виявляється, що деякі транзакції пов’язані, вони зупиняються, їх результати очищаються та виконуються повторно. Це може пришвидшити роботу, коли транзакції здебільшого незалежні, але коли багато підключених, обробку потрібно часто зупиняти та скидати, що може сповільнити транзакції.
Aptos використовує підхід під назвою Block Software Transactional Memory (Block-STM), щоб застосувати оптимістичне виконання. Aptos побудовано на основі мови Move від Diem і MoveVM, яка автоматично виявляє посилання транзакцій. Не потрібно, щоб транзакції повідомляли, якої частини стану блокчейну (наприклад, місця пам’яті) вони торкаються.
Джерело: Біла книга Block-STM
(На діаграмі показано, що якщо деякі транзакції підключені, перевірку буде призупинено, результати видалено, а потім запущено знову.)
У block-stm транзакції спочатку встановлюються в певному порядку в межах блоку, а потім розподіляються між різними потоками обробки для одночасного виконання. Коли ці транзакції обробляються, система відстежує, у якому місці пам’яті змінюється кожна транзакція. Після кожного циклу обробки система перевіряє всі результати транзакцій. Якщо він виявляє, що транзакція торкнулася місця пам’яті, зміненого попередньою транзакцією, він стирає свої результати та виконується знову. Цей процес триває, доки не буде оброблено кожну транзакцію в блоці.
Успіх Block-STM багато в чому залежить від зв'язків між транзакціями. За словами команди Aptos, використання 32 процесорних ядер забезпечує 8-кратне прискорення, коли транзакції мають високу корельацію, і 16-кратне прискорення, коли транзакції менш корельовані. Однак, якщо кожна транзакція в блоці об’єднана, block-stm може призвести до невеликого уповільнення порівняно з виконанням по одній.
Монада: Лідер ланцюга EVM
Monad запровадив новий підхід до блокчейнів, сумісних з EVM, і був першим блокчейном, який представив паралельну архітектуру на першому рівні EVM. Як і Aptos, він використовує оптимістичний шлях виконання, працюючи за припущенням, що транзакції не пов’язані між собою, і вирішує залежності, коли вони виникають.
Цей новий підхід не позбавлений проблем. Внесення серйозних модифікацій у технологію блокчейн є складним і довгостроковим зобов’язанням. Тим не менш, Monads залишаються відданими інноваціям і стали маяком для інших блокчейн-мереж, які прагнуть покращити свою власну архітектуру.
Візьмемо як приклад Polygon і BinanceSmartChain, два відомі блокчейни зараз намагаються оновити свої системи, використовуючи подібні стратегії. Неможливо переоцінити важливість піонерської роботи монад щодо оптимістичного впровадження, оскільки вона вплинула на переоцінку та перегляд власних архітектур великих платформ.
Наприклад, Polygon має високу пропускну здатність і мільйони щоденних транзакцій. Його мережевий API вже надає достатньо даних для керування розпаралелюваним двигуном, і, досліджуючи специфічний для EVM Block-STM, їм вдалося уникнути змін в API. Однак, враховуючи величезний обсяг транзакцій у ланцюжку PolygonPoS, припущення про нульову залежність між будь-якими блоками є нереалістичним. Тому вони прийняли мінімальний підхід до метаданих, записуючи залежності транзакцій як метадані в блоках, зменшуючи надмірність і вимоги до обчислень.
Подібним чином BinanceSmartChain також вивчає можливості розпаралелювання виконання в рамках свого ланцюжка EVM за допомогою оптимістичного виконання, що відображає вплив інноваційного підходу Monad на галузь загалом.
Інноваційний дух Monad і його прагнення розширити межі технології блокчейн створили новий тренд у сфері EVM. Його підхід до впровадження паралельної архітектури на рівні 1 EVM не тільки покращує ефективність власної системи, але також впливає та надихає інших важливих гравців у цій галузі наслідувати їхній приклад, знаменуючи серйозні зміни в майбутньому індустрії блокчейнів.
Паралельне виконання на основі сегментування
Поки що ми обговорювали, як різні блокчейни порушують послідовне впорядкування та досягають розпаралелювання за допомогою таких концепцій, як облікові записи, об’єкти, UTXO та оптимістичні моделі. Однак наступне покоління блокчейнів, яке ми збираємося вивчати, використовує унікальний підхід до розпаралелювання. Ці платформи нагадують модель шардингу, а не єдиний блокчейн, здатний обробляти транзакції паралельно. Блокчейн розділений на кілька частин, кожна з яких відповідає за обробку власних транзакцій.
Shardeum: метод шардингу EVM
Shardeum пропонує революційний підхід до масштабованості блокчейна за допомогою динамічного шардингу, що забезпечує лінійну масштабованість. Шарди — це підрозділи мережі, і кожен сегмент обробляє частину мережевих транзакцій, підвищуючи ефективність використання ресурсів і пропускну здатність. Уявімо, що користувач проводить транзакцію в децентралізованому додатку (dapp), розміщеному на Shardeum, який призначено певному сегменту на основі пов’язаних з ним даних. Шард обробляє транзакції одночасно з іншими сегментами під його юрисдикцією, як міні-блокчейн. Користувачі отримують вигоду від швидшої обробки, оптимізуючи роботу користувача.
Ключовою особливістю Shardeum є його сумісність з віртуальною машиною Ethereum (EVM). Розробники можуть легко перенести свої прикладні програми на базі Ethereum на Shardeum, поєднуючи динамічне шардинг і паралельну обробку Shardeum із великою екосистемою Ethereum.
Динамічний шардинг забезпечує адаптивність мережі до змінних вимог, а також сприяє масштабованості та високій ефективності системи. Shardeum автоматизує міжшардові транзакції, дозволяючи безперебійно виконувати складні програми, які вимагають введення від кількох користувачів, підвищуючи масштабованість.
Що робить Shardeum унікальним, так це його здатність до лінійного масштабування. Мережа масштабується лінійно в міру додавання вузлів, що означає, що пропускна здатність транзакцій зростає пропорційно кількості вузлів. Це лінійне масштабування в поєднанні з гнучкістю вузлів і можливостями автоматичного масштабування дозволяє Shardeum оптимально обробляти різні робочі навантаження та зростання мережі. Shardeum пропонує практичне рішення для реальних транзакційних потреб, підвищуючи масштабованість складних додатків і надаючи практичне рішення для реальних транзакційних потреб.
Linera: революційний багатоланцюжковий протокол
Інноваційне рішення Linera щодо масштабованості блокчейну виділяється своїм динамічним багатоланцюжковим протоколом, який включає ланцюжки користувачів, загальнодоступні ланцюжки та ефемерні ланцюжки.
На діаграмі вище показано три різні типи ланцюжків у системі Linera: ланцюжки користувачів, публічні ланцюжки та тимчасові ланцюжки. Кожен тип ланцюжка має унікальну роль, яка сприяє загальній функціональності та масштабованості протоколу.
На відміну від Shardeum, де Linera запровадила концепцію ланцюжків, керованих користувачами, Shardeum ділить свою мережу на багато ланцюжків сегментів, кожна з яких відповідає за підмножину транзакцій. Цей детальний підхід дає користувачам більше контролю та автономії, одночасно оптимізуючи розподіл ресурсів у мережі.
Ланцюги користувачів, які належать і контролюються виключно користувачами, утворюють основу архітектури Linera. Ці ланцюги обробляють транзакції для конкретних кінцевих користувачів незалежно, дозволяючи паралельне виконання та значно збільшуючи пропускну здатність, одночасно зменшуючи затримку.
Публічний ланцюг є ще однією важливою частиною дизайну Linera. Ці ланцюжки є домом для децентралізованих програм, таких як Automated Market Makers (amm). Загальнодоступний ланцюжок відкритий для всіх учасників мережі, забезпечуючи загальну платформу для додатків, які потребують відкритої та необмеженої взаємодії.
Linera також представляє концепцію тимчасових ланцюжків, які спеціально розроблені для обробки складних операцій, таких як атомарні обміни. Ця функція забезпечує значну перевагу перед протоколами, яким потрібно записувати транзакції в основному ланцюзі, що може створити вузьке місце. У Linera під час атомарного обміну створюється тимчасовий ланцюжок, який обробляється незалежно від інших транзакцій і паралельно з ними. Після завершення обміну тимчасовий ланцюжок зникає, а оновлений стан відображається у пов’язаному ланцюжку користувачів.
Структура протоколу підтримує горизонтальне масштабування, що є важливою властивістю для підтримки продуктивності системи за змінних навантажень. У міру збільшення трафіку валідатори можуть додавати більше робочих машин, щоб керувати збільшеною активністю та підтримувати високу пропускну здатність за високого навантаження.
На відміну від інших протоколів, таких як Cosmos, де кожен блокчейн або «зона» керується іншим набором валідаторів, Linera об’єднує всі ланцюжки в один набір валідаторів. Цей уніфікований підхід підвищує ефективність і безпеку протоколу Linera, спрощуючи міжланцюгові взаємодії, усуваючи складність перевірки за допомогою окремих наборів валідаторів, що може призвести до збільшення затримки або розбіжностей. У результаті транзакції обробляються більш ефективно в усій екосистемі, що значно знижує ризик конфліктів.
QuaiNetwork: покращення паралелізму та сумісності за допомогою Proof-of-Work
QuaiNetwork проклала власний шлях у індустрії блокчейнів завдяки своєму унікальному підходу до масштабованості. Впроваджуючи динамічну та взаємодіючу багатоланцюжкову архітектуру, Quai надає унікальне рішення проблеми масштабованості на основі підтвердження роботи, що дозволяє розпаралелювати транзакції за допомогою нескінченно виконуваних сегментів. Цей підхід відрізняє Quai від таких протоколів, як Linera, які використовують контрольовані користувачем ланцюжки, але мають певну схожість із динамічним сегментуванням Shardeum.
Версія сегментування, яку використовує Quai, подібна до традиційних методів, що використовуються для підвищення продуктивності бази даних у централізованих системах. Однак Quai відрізняється від типових схем шардингу тим, що він має динамічну, адаптовану, глибоко переплетену багатоланцюгову архітектуру. Це дещо схоже на динамічне сегментування Shardeum, де мережа розділена на ланцюжки шардів, які незалежно обробляють транзакції. Однак Quai координує ці різні сегменти за допомогою об’єднаної ієрархії майнінгу, створюючи унікальне з’єднання, яке дозволяє виконувати операції паралельно в мережі. На відміну від усіх існуючих реалізацій сегментування, які вводять деякі нові механізми довіри для полегшення взаємодії (транзакції між шардами), мережа Quai використовує видобуток злиття для з’єднання шардів, гарантуючи, що єдиним механізмом є видобуток. Унікальний підхід QuaiNetwork до сумісності за допомогою об’єднаного майнінгу значно збільшує пропускну здатність і надає можливість виконувати велику кількість одночасних транзакцій без шкоди для децентралізації чи продуктивності.
Щоб мати можливість координувати необмежену кількість фрагментів виконання, мережа Quai представляє новий механізм консенсусу під назвою PoEM. PoEM базується на консенсусі Proof-of-Work (PoW), але, на відміну від інших механізмів консенсусу, він першим усуває форки на основі консенсусу. Під час запуску PoEM усі вузли завжди матимуть однакові переваги для наступного блоку в послідовності негайно, маючи той самий набір інформації. PoEM дозволяє всім вузлам негайно та справедливо порівнювати будь-який запропонований блок, усуваючи всю невизначеність із консенсусу. Забезпечуючи миттєвий консенсус, PoEM забезпечує необхідну передумову для нескінченного сегментування. Якщо для досягнення консенсусу потрібен час, існує суворе обмеження на кількість виконуваних шардів, які можна координувати. Як перший метод «нульового часу» досягнення консенсусу, PoEM є першим і єдиним алгоритмом консенсусу, придатним для координації нескінченно зростаючих наборів ланцюжків.
Визначною особливістю архітектури Quai є впровадження паралельних потоків виконання (PET), які в Quai називаються «регіонами». Кожен «регіон» або паралельний потік виконання обробляє транзакції незалежно та асинхронно. Здатність кожного потоку виконання Quai незалежно обробляти транзакції підтримує можливості паралельної обробки в мережі, що є однією з основних концепцій масштабованості Quai.
Кількість ланцюжків у QuaiNetwork є динамічною та адаптованою, як і динамічний шардинг Shardeum. Однак використання QuaiNetwork механізму консенсусу PoEM унікальне тим, що дозволяє нескінченно виконувати цей шаблон динамічного сегментування без зниження продуктивності. QuaiNetwork додає сегменти виконання за допомогою динамічного шардингу з очевидним компромісом: у міру того, як до мережі додається більше сегментів виконання, час, потрібний для посилань на міжланцюгові транзакції їхніми цільовими шардами, зростатиме. Цей зв’язок є сублінійним — наприклад, масштабування Quai з 9 шардів до 16 шардів збільшить середній час міжланцюжкової транзакції, щоб досягти місця призначення з 3300 секунд до 4400 секунд. Подальше масштабування до 25 шардів збільшує середній час приблизно до 5500 секунд. Теоретично, якщо Quai розширюється до 100 осколків, середній час глобального міжланцюжкового врегулювання становить приблизно 11 000 секунд. Алгоритм динамічного сегментування QuaiNetwork відстежує ліміт газу в мережі та швидкість блокування uncle, щоб зрозуміти, коли потрібна додаткова пропускна здатність, і автоматично вплітає додаткові сегменти виконання в консенсус, щоб відповідати підвищеним вимогам до пропускної здатності.
Крім того, плетена структура Quai підтримує складні багатоланцюгові смарт-контракти та забезпечує ефективну міжланцюжну взаємодію контрактів. Кожен потік виконання Quai має EVM, і вводяться нові коди операцій для зв’язку з EVM, розташованим на альтернативному сегменті. Ця можливість дозволяє розробникам розгортати контракти в кількох або всіх ланцюжках Quai, забезпечуючи працездатність децентралізованих програм (dapps) у всій мережі.
Інноваційне застосування шардингу від QuaiNetwork у поєднанні з сумісністю з об’єднанням і потоками паралельного виконання є значним прогресом у масштабованості блокчейну за механізмом консенсусу на основі роботи. Надійна обробка міжланцюжкових транзакцій і розширені можливості смарт-контрактів роблять Quai помітним учасником у зростаючій сфері масштабованих протоколів блокчейну.
Паралельне виконання на основі обчислень
Новою парадигмою паралельного виконання блокчейнів є модель на основі обчислень. Цей термін був введений нашою дослідницькою групою AmberGroup для опису методу одночасної обробки обчислювальних завдань у спільному середовищі. На відміну від моделей доступу до стану та оптимістичних моделей, моделі на основі обчислень не покладаються строго на послідовні обчислення на основі пам’яті. Натомість він працює за принципом високопаралельної віртуальної машини. Ця конструкція сприяє надійному та ефективному паралельному виконанню. У наступних розділах розглядаються принципи паралельного виконання на основі обчислень, його потенційні застосування та унікальні виклики, які він ставить перед ширшою сферою технології блокчейн.
Kindelia: електростанція паралельного виконання на основі обчислень
Kindelia стала багатообіцяючим рішенням у моделях паралельного виконання на основі обчислень у блокчейнах. Розроблений корпорацією HigherOrder Corporation, він базується на унікальному середовищі виконання під назвою Higher-Order Virtual Machine (HVM), яке забезпечує ефективне паралельне обчислення.
Інновації Kindelia базуються на новій моделі обчислень під назвою «мережа взаємодії», концепції, яка відрізняється від моделі машини Тьюрінга, яка лежить в основі більшості сучасних комп’ютерів. Мережі взаємодії засновані на графі вузлів взаємодії, кожен вузол має переписаний набір правил, які визначають, як він взаємодіє з іншими вузлами в мережі. Обчислення досягається шляхом зменшення кількості взаємодіючих мереж і систематичного видалення вузлів з мережі відповідно до її правил перезапису до досягнення кінцевого стану. Ця модель дозволяє виконувати обчислення паралельно без необхідності центрального годинника, щоб диктувати процес, оскільки вузли взаємодіють локально без будь-якої глобальної координації.
*На малюнку Віктора Теліна (генерального директора HigherOrderCompany) показано, як зменшити мережу взаємодії. *
Переваг цієї моделі безліч. Завдяки властивому йому паралелізму він сприяє швидшим і ефективнішим обчисленням, значно перевершуючи традиційні моделі послідовного обчислення. Крім того, це відкриває поле застосування в різних галузях інформатики. Kindelia виділяється як перша справді паралельна віртуальна машина в контексті блокчейну, яка досягає багатьох цілей, до яких прагне altL1. Однак через їхню залежність від архітектур, заснованих на машині Тьюрінга, ці конкуренти можуть ніколи не досягти того самого рівня розпаралелювання.
Конструкція Kindelia вимагає менше обчислювальних кроків для виконання функцій, максимізує використання процесорних ядер і забезпечує виконання операцій у правильному порядку — і все це з мінімальними додатковими зусиллями з боку розробників. Цей спрощений процес виконання в поєднанні з вищим рівнем безпеки робить Kindelia передовим прикладом паралельного виконання на основі обчислень у технології блокчейн.
Хоча теоретична основа Kindelia та HVM є дещо просунутою, практичне значення легко зрозуміти: покращити швидкість, ефективність і безпеку блокчейн-обчислень. З Kindelia ми є свідками революційного стрибка вперед у технології блокчейн, знаменуючи важливу віху в поточному розвитку цієї трансформаційної сфери.
Занепокоєння щодо паралельного виконання
Оскільки ми досліджуємо потенціал паралельних блокчейнів, важливо визнати, що хоча вони пропонують значні переваги в масштабованості та швидкості, це також створює унікальні проблеми та потенційні недоліки. Дві головні проблеми, які часто згадуються, це потенціал посилення централізації та високий рівень конфліктів транзакцій.
Паралельні блокчейни розподіляють обробку транзакцій між численними вузлами, тим самим збільшуючи пропускну здатність обробки транзакцій. Однак цей розподіл також може призвести до концентрації влади в межах кількох вузлів, таким чином забезпечуючи певний ступінь централізації. Ця централізація може підірвати надійність і безпеку блокчейна, роблячи його більш вразливим до атак. Крім того, паралельні блокчейни збільшують ризик простою мережі. Наприклад, мережа Solana зазнала збою у вересні 2021 року через надмірну кількість запитів на транзакції. Інцидент підкреслює потенційні ризики, пов’язані з масштабуванням блокчейн-мереж, і підкреслює необхідність рішень, які можуть обробляти великі обсяги транзакцій без шкоди для стабільності.
Рівень конфліктів транзакцій є ще одним важливим питанням. Цей коефіцієнт відноситься до відсотка транзакцій, які не можуть бути виконані одночасно через конфлікти. Високий рівень конфліктів може призвести до великої кількості переробок транзакцій у паралельних блокчейнах. Згідно зі звітом Flashbots, рівень конфліктності транзакцій Ethereum у 2017 році становив близько 35%. Оскільки основні додатки, такі як OpenSea та Uniswap, домінують у мережі Ethereum, рівень конфліктів, ймовірно, буде ще вищим.
У разі оптимістичного виконання обсяг повторення транзакції може серйозно порушити конвеєр, якщо рівень конфліктів перевищує 30%. Кожне повторення сповільнює обробку транзакцій і зменшує переваги розпаралелювання. Тому керування частотою конфліктів транзакцій має вирішальне значення для забезпечення ефективності паралельних блокчейнів.
на завершення
У просторі блокчейна відбуваються значні зміни, оскільки він намагається вирішити проблеми масштабованості та ефективності, властиві його дизайну. Ми дослідили різні підходи до досягнення паралельного виконання, кожен зі своїми унікальними перевагами та проблемами. Модель доступу на основі стану знаменує собою перший крок у подоланні послідовної природи блокчейнів. Оптимістичне виконання, хоч і багатообіцяюче, також створює ризик конфліктів і вимагає ефективних стратегій вирішення конфліктів. Шардинг робить нас ще далі, розділяючи мережу на менші, керовані частини, кожна з яких здатна обробляти транзакції незалежно. Нарешті, паралельне виконання на основі обчислень використовує передову інформатику для максимізації продуктивності вузла та безпеки додатків. Незважаючи на виклики та потенційні проблеми, ці моделі демонструють потенціал для значного покращення продуктивності технологій блокчейн. Оскільки ці технології продовжують розвиватися та розвиватися, ми стоїмо на порозі нової ери технології блокчейн.