Блокчейни - це віртуальні машини, програмно-заснована обчислювальна модель, яка працює поверх розподіленої мережі фізичних комп'ютерів, до якої може приєднатися кожен, але дуже складно контролювати будь-якій окремій сутності. Концепцію блокчейна вперше було викладено на папері в славетному біткоїн-білі від Сатоші Накомото в 2008 році, як основна інфраструктура, що дозволяє криптографічно захищені безпосередні платежі в біткоїнах. Транзакції для блокчейнів - це те, що логи для соціальних медіа та інтернет-компаній; вони служать як записи діяльності для цієї конкретної мережі, основною відмінністю є те, що транзакції на блокчейні неможливі для змін і часто громадсько спостережувані.
Але що саме таке транзакція?
Транзакції на блокчейнах включають передачу цифрових активів з однієї адреси на розподіленому реєстрі на іншу, забезпечену за допомогою криптографії з відкритим ключем. Транзакції можуть бути використані для децентралізованих передач від однієї сторони до іншої, або для різних процесів аутентифікації та верифікації.
Приклад транзакції, яку може спостерігати будь-хто на блокчейн-досліднику, такому як SeiTrace
Коли транзакція ініціюється, тобто Боб надсилає деякі токени Еліс, транзакція Боба транслюється в мережу базового блокчейну. Після цього кластери спеціалізованих вузлів в мережі починають перевіряти та підтверджувати транзакцію як законну. Як тільки достатня кількість цих вузлів перевірила вміст транзакції, транзакція додається до блоку разом з іншими користувацькими транзакціями. Як тільки блок заповнений, він додається до ланцюжка, отже назва 'блокчейн'. Транзакція Боба тепер є частиною безпечного та прозорого реєстру, і він і Еліс можуть перевірити його вміст.
Загалом кажучи, всі транзакції блокчейн містять метадані, які допомагають вузлам, які працюють і захищають мережу, ідентифікувати та виконувати заданий набір інструкцій та параметрів. Кожна транзакція матиме високорівневі дані, введені відправником, такі як сума для переказу, адреса призначення та цифровий підпис для підтвердження транзакції, а також різноманітні низькорівневі дані, які створюються та автоматично додаються, хоча ці дані відрізняються залежно від мережі та дизайну.
У кінцевому підсумку, проте, процеси, які відбуваються за кулісами на мережевому рівні до виконання транзакції, відрізняються залежно від дизайну блокчейну.
Пул пам'яті, або mempool, є поширеною функцією дизайну блокчейнів, реалізованою в традиційних мережах блокчейнів, таких як Bitcoin та Ethereum. Mempools - це просто буферні зони або 'покої очікування' для транзакцій, які ще не були додані до блоку та виконані.
Для кращого розуміння ми можемо розкласти життєвий цикл транзакції на блокчейні, який використовує мемпул;
Важливо зауважити, що деякі блокчейни, такі як Solana, не використовують пам'ятку та можуть надсилати транзакції безпосередньо виробнику блоків як засіб забезпечення високої швидкості та пропускної здатності через постійне виробництво блоків.
Давайте пройдемо життєвий цикл транзакції на блокчейні, що не використовує пам'ять мемпула:
Старі блокчейни, а саме Bitcoin та Ethereum, використовують послідовний механізм виконання транзакцій. Кожна транзакція, додана до блокчейну, викликає зміну стану мережі, і ВМ структурований таким чином, щоб обробляти лише одну зміну стану одночасно з метою забезпечення безпеки.
Це спричинило значні затори для пропускної здатності базової мережі, оскільки кількість транзакцій, які можуть бути додані до блоку, обмежується, що призводить до збільшення часу очікування та надзвичайних стрибків у вартості транзакцій, що може призвести до того, що мережу не можна використовувати в певний час. Крім того, послідовні моделі виконання використовують апаратні компоненти досить неефективно і, отже, не використовують переваги проривів в обчисленнях, тобто кількох ядер процесора.
Паралельне обчислення є ключовою складовою комп'ютерної архітектури, початок якої можна прослідкувати ще з кінець 1950-х, хоча її ідея та теорія навіть відстежувалися до 1837За визначенням, паралельне обчислення відноситься до використання одночасно кількох обчислювальних елементів для вирішення операції, де більша і складніша задача розбивається на менші для більш ефективного виконання, ніж у послідовний спосіб.
Спочатку реалізований лише в системах високопродуктивних обчислень, паралельні обчислення перетворилися на домінуючу парадигму в архітектурі комп'ютерів сьогодні, оскільки попит на обчислення експоненційно зріс у інтернет-ері, погіршений обмеженнями частотного масштабування в минулих десятиліттях.
Цей архітектурний стандарт застосовується до блокчейнів у багато в чому такий же спосіб, тільки що основне завдання, яке комп'ютери вирішують, - обробка та виконання транзакцій, або передача вартості від смарт-контракту A до смарт-контракту B, отже термін паралельного виконання.
Паралельне виконання означає, що замість послідовної обробки транзакцій блокчейн може обробляти кілька несуперечливих транзакцій одночасно. Це може значно збільшити пропускну здатність мережі блокчейн, роблячи її більш масштабованою та ефективною для обробки високих навантажень активності та запитів на блокпростір.
Для простішої аналогії. розгляньте ефективність продуктового магазину з кількома поличками для покупців, які розраховуються. проти лише одного для всіх.
Паралельне виконання в блокчейнах призначене для відкриття ефективності швидкості та продуктивності мережі, особливо коли мережа бачить високий трафік та попит на ресурси. У контексті криптосистем паралельне виконання означає, що якщо Боб хоче виготовити останню популярну колекцію NFT, а Аліса хоче купити свій улюблений мемкоїн, мережа обслуговуватиме обох користувачів, не ушкоджуючи якість продуктивності та, отже, досвід користувача.
Хоч це може видатися просто як інтуїтивна функція якості життя, відкриття у мережевій продуктивності, забезпечені паралельним виконанням, відкривають шлях до розробки нових та інноваційних використань та додатків, які можуть використовувати низьку затримку та великі обсяги, що саме створює основу для залучення наступної масової когорти користувачів до криптосистем.
Хоча передумова паралельного виконання досить проста, нюанси у дизайнах базових блокчейнів впливають на те, як сам процес паралельного виконання працює. Найбільш важливою функцією при проектуванні блокчейнів з паралельним виконанням є можливість транзакцій отримувати доступ до стану підлеглої мережі, включаючи баланси рахунків, сховище та смарт-контракти.
Паралельне виконання на блокчейнах можна класифікувати як детерміноване або оптимістичне. Детерміноване паралельне виконання, використовуване блокчейнами, такими як Solana, вимагає, щоб транзакції заздалегідь вказували всі пам'яті залежності, тобто які частини глобального стану вони хочуть використовувати заздалегідь. Хоча цей крок створює додаткове навантаження для розробників, більш широко він дозволяє мережі сортувати та ідентифікувати транзакції, які не конфліктують до виконання, створюючи оптимізовану систему, яка є передбачуваною та ефективною. Натомість, оптимістичне паралельне виконання структуроване таким чином, щоб обробляти всі транзакції паралельно, працюючи на передумові, що конфліктів немає. Це дозволяє базовому блокчейну забезпечувати швидше виконання транзакцій, хоча за рахунок можливого повторного виконання після конфлікту. Якщо виявлено, що подано дві конфліктні транзакції, система може переробити та повторно виконати їх паралельно або послідовно.
Для кращого розуміння наслідків цих дизайнерських витонченостей корисно проаналізувати паралельне виконання через призму команд, що сьогодні просувають фронт паралельного виконання.
Для кращого розуміння наслідків цих дизайнерських витонченостей може бути корисним проаналізувати паралельне виконання через призму команд, які сьогодні тягнуть передній край паралельного виконання.
Solana була першою мережею блокчейн, розробленою навколо паралельного виконання, натхненною попереднім досвідом засновника Анатолія Яковенка в галузі телекомунікаційної промисловості. Solana має на меті надати платформу для розробників, яка працює так швидко, як дозволяє фізика, тому швидкість і ефективність, отримані завдяки паралельному обчисленню, були простим і інтуїтивно зрозумілим вибором дизайну.
Критичним компонентом для забезпечення швидкості та великої пропускної здатності Solana є Sealevel, паралельне середовище виконання розумних контрактів мережі. На відміну від середовищ на основі EVM та WASM, Sealevel використовує багатопотокову архітектуру, що означає, що воно може одночасно обробляти кілька транзакцій до певного рівня потужності основного валідатора.
Ключовим для забезпечення паралельного виконання Solana є те, що при увімкненні транзакції мережа призначатиме список інструкцій для виконання цієї транзакції, зокрема, які облікові записи та стан доступу та які зміни вносити - це ключовий момент визначення того, які транзакції не конфліктують і можуть виконуватися одночасно, а також увімкнення транзакцій, які намагаються отримати доступ до того ж самого стану для одночасного виконання.
Розгляньте ефективність, яку надають мітки системам реєстрації багажу в аеропортах.
Solana також використовує Cloudbreak, власну власну базу даних облікових записів, для зберігання та управління даними стану, щоб забезпечити одночасне зчитування та записи транзакцій. Cloudbreak, оптимізований для паралельного виконання, горизонтально масштабується для розподілу та управління даними стану по кількох вузлах.
Благодаря своїй паралельній архітектурі, Solana може обробляти велику кількість транзакцій і все ж виконувати їх швидко, надаючи транзакціям майже миттєву остаточність. Сьогодні Solana обробляє від 2,000 до 10,000 транзакцій на секунду (TPS) в середньому. Крім того, використання SVM повільно, але впевнено розширюється, оскільки команди, такі як Eclipse, запускають інфраструктуру Layer 2, яка спрямована на використання SVM як середовища виконання.
Паралельний EVM описує нове середовище виконання для блокчейнів, яке має на меті поєднати "краще з обох світів" з дизайнами Solana та Ethereum, зі швидкістю та продуктивністю Solana, та безпекою та ліквідністю Ethereum. Шляхом обробки транзакцій паралельно, а не послідовно, згідно з традиційним дизайном EVM, паралельні EVM дають розробникам можливість будувати додатки на високопродуктивній мережі, зберігаючи зв'язки з ліквідністю та інструментарієм для розробників EVM.
Sei Network - це сумісна з EVM, відкрита блокчейн-платформа 1-го рівня, на якій розміщено різноманітні децентралізовані додатки, побудовані на високій продуктивності. Sei був створений для забезпечення швидкості за низьку ціну для користувачів та розробників, причому паралельне виконання є ключовою складовою для досягнення цієї продуктивності та UX. На даний момент Sei надає час підтвердження блоку 390 мс і обробив понад 1,9 млрд транзакцій на своєму тихоокеанському головному мережеві.
Спочатку Sei використовувала детерміновану паралельну модель виконання, де розумні контракти заздалегідь оголошували свій необхідний доступ до стану, щоб система могла одночасно виконувати несуперечливі транзакції. З початком оновлення V2, Sei переходить до оптимістичної паралельної моделі, що означає, що всі транзакції будуть оброблятися паралельно після їх подання в мережу (етап виконання), а потім будуть переглядатися на предмет конфліктної інформації з попередніми транзакціями (етап перевірки). У випадку двох або більше конфліктуючих транзакцій, тобто транзакцій, які намагаються отримати доступ до того ж мережевого стану, Sei визначає цю точку конфлікту, а потім перезапускає транзакції паралельно або послідовно в залежності від характеру конфлікту.
Для зберігання та підтримки даних про транзакції Sei також введе SeiDB, власну базу даних, яка спрямована на виправлення недоліків у v1 шляхом оптимізації для паралельного виконання. SeiDB має на меті зменшити накладні витрати на зберігання зайвих даних і забезпечити ефективне використання диска для покращення мережевої продуктивності. V2 зменшує кількість метаданих, необхідних для відстеження та зберігання, та дозволяє вести журнал попереднього запису для допомоги у відновленні даних у разі аварії.
Наприкінці, Sei також недавно оголосив про запуск свого Parallel Stack, відкритої рамки для впровадження рішень масштабування 2-го рівня, тобто rollups, для використання та отримання користі від паралельного виконання.
Monad - це майбутній паралельний блокчейн рівня 1 EVM, який принесе повну сумісність з байткодом та RPC для додатків та інфраструктури Ethereum. За допомогою численних інноваційних технічних реалізацій Monad має на меті забезпечити більш інтерактивний досвід, ніж існуючі блокчейни, знижуючи при цьому витрати на транзакції за рахунок оптимізації продуктивності та переносності, з часом блоку 1 секунда та остаточністю до 10 000 TPS.
Monad реалізує паралельне виконання та суперскалярну конвеєрну обробку для оптимізації швидкості та пропускної здатності транзакцій. Подібно до Sei v2, Monad буде використовувати оптимістичну модель виконання, що означає, що мережа починає виконувати всі вхідні транзакції одночасно, а потім аналізує та перевіряє транзакції для пошуку конфліктів та перевиконання відповідно, з метою того, щоб результат був ідентичним, якби транзакції були виконані послідовно.
Важливо зауважити, що для підтримки синхронізації з Ethereum Monad упорядковує транзакції в блоку в лінійному порядку, при цьому кожна транзакція оновлюється послідовно.
Для того щоб зберігати та отримувати дані блокчейну ефективніше, ніж це пропонує поточний стан клієнтів Ethereum, Monad створив власну власну MonadDB, спеціально побудовану для блокчейнів. Monad DB використовує передові функції ядра Linux для ефективних асинхронних дисків, усуваючи обмеження синхронного введення/виведення. MonadDB пропонує асинхронний доступ до введення/виведення (async I/O), ключову функцію для можливості паралельного виконання, де система може почати обробку наступної транзакції, чекаючи на зчитування стану попередньої транзакції.
Для простого аналогії, розгляньте приготування багатогранного обіду (спагеті з котлетами). Кроки, які включають 1) приготування соусу, 2) приготування котлет і c) варіння пасти. Ефективний шеф-кухар почав би з кип'ятіння води для пасти, потім підготовки інгредієнтів для соусу, потім закидання пасти у зараз киплячу воду, потім готування соусу, і, нарешті, котлет, на відміну від виконання кожного кроку по черзі, завершуючи одне завдання повністю перед переходом до наступного.
Move - це мова програмування, спочатку розроблена командою Facebook у 2019 році для їхнього тепер вже неіснуючого проєкту Diem. Move була розроблена для обробки даних розумного контракту та транзакцій надійним способом, усуваючи вектори атак, властиві іншим мовам, такі як атаки на повторність.
MoveVM служить в якості внутрішнього середовища виконання для блокчейнів на основі Move, використовуючи паралелізацію для забезпечення швидкості виконання транзакцій та загальної ефективності.
Aptos - це блокчейн на основі Move, розроблений учасниками колишнього проекту Diem, який реалізує паралельне виконання для створення високопродуктивного середовища для розробників додатків. Aptos використовує Block-STM, модифіковану реалізацію механізму контролю конкурентності STM (Software Transactional Memory).
Block-STM є багатопотоковим паралельним двигуном виконання, який дозволяє оптимістичне паралельне виконання. Транзакції попередньо впорядковані та стратегічно послідовно розташовані всередині блоків, що є ключовим для ефективного вирішення конфліктів та повторного виконання цих транзакцій. Дослідження, проведені Aptos, показали, що за допомогою паралелізації Block-STM може бути теоретично підтримано до 160K TPS.
Подібно до Aptos, Sui - це блокчейн першого рівня, розроблений колишніми учасниками проєкту Diem, який використовує мову Move. Однак Sui використовує спеціальну реалізацію Move, яка змінює модель зберігання та дозволи на активи з оригінального дизайну Diem. Зокрема це дозволяє Sui використовувати модель зберігання стану для представлення незалежних транзакцій у вигляді об'єктів. Кожен об'єкт має унікальний ідентифікатор в середовищі виконання Sui, і це дозволяє системі легко ідентифікувати неконфліктні транзакції та обробляти їх паралельно.
Подібно до Solana, Sui реалізує визначене паралельне виконання, яке вимагає, щоб транзакції заздалегідь вказували, до яких облікових записів вони потребують доступу.
Що таке Рух?
Movement будує набір інструментів для розробників та сервісів інфраструктури блокчейну для забезпечення можливості розробників легко отримувати переваги від роботи на Move. Діючи як провайдер послуг виконання-як-сервісу, схожого на AWS для розробників Move, Movement реалізує паралелизацію як основну конструктивну особливість для забезпечення вищої пропускної здатності та загальної ефективності мережі. MoveVM є модульним середовищем виконання, яке дозволяє блокчейн-мережам розширюватися та налаштовувати свої можливості обробки транзакцій за потребою для підтримки зростаючого обсягу транзакцій, підвищуючи їх здатності обробляти та виконувати транзакції паралельно.
Архітектура MoveVM
Рух також запустить M2, ZK-rollup, який буде сумісний з EVM та клієнтами Move. M2 успадкує двигун паралелізації Блок-STM та очікується, що в результаті надасть десятки тисяч TPS.
Деякі важливі питання та розгляди, що потрібно обміркувати щодо розвитку паралельних блокчейнів;
На високому рівні паралельні блокчейни стикаються з ризиком непослідовності реєстрації, тобто подвійного витрачання та змін порядку транзакцій (зокрема, це є ключовою перевагою послідовного виконання). Визначена паралелізація вирішує це, створюючи внутрішню систему маркування для транзакцій на базовому блокчейні. Блокчейни, що реалізують оптимістичну обробку, повинні забезпечити, що використовані ними механізми для перевірки та повторного виконання транзакцій є безпечними та функціональними, а також, що здійснені компроміси з метою підвищення продуктивності можуть бути реалізовані в розумний спосіб.
Історія комп'ютерів показала, що паралельні системи зазвичай є ефективнішими та масштабованішими з часом, ніж послідовні системи. Зростання паралельних блокчейнів після Solana підкреслює, що цей принцип також стосується криптінфраструктури. Навіть Віталік натякнув на паралелізаціяяк один з потенційних ключових рішень для покращення масштабованості EVM rollups нещодавно. Узагальнюючи, зростання прийому криптографії / блокчейну вимагає систем, які є більш оптимальними, ніж ті, що доступні сьогодні, включаючи паралельні блокчейни. Недавні проблеми мережі Solana підкреслили, що є багато місця для покращення розробки паралельних блокчейнів. Оскільки все більше команд намагаються розширити межі фронту onchain та залучити наступну масову когорту користувачів та прийняття до блокчейн-орієнтованих додатків та екосистем, паралельні моделі виконання надають інтуїтивну структуру для побудови систем, які можуть ефективно керувати масштабами мережевої активності на такому рівні, який легко відповідає компаніям Web2.
Цю статтю перепечатано з [ мілина], Переслати оригінальну назву «Паралельне виконання: наступне покоління блокчейнів», Усі авторські права належать оригінальному автору [ПАУЛ ТІМОФЄЄВ, МАЙК ДЖИН, та GABE TRAMBLE]. Якщо є заперечення проти цього перепублікування, будь ласка, зв'яжіться з Gate Навчитисякоманда, і вони швидко з цим впораються.
Відповідальність за відмови: Погляди та думки, висловлені в цій статті, є виключно тими, що належать автору і не є жодним інвестиційним порадою.
Переклади статті на інші мови виконуються командою Gate Learn. Якщо не зазначено інше, копіювання, поширення або плагіатування перекладених статей заборонені.
Блокчейни - це віртуальні машини, програмно-заснована обчислювальна модель, яка працює поверх розподіленої мережі фізичних комп'ютерів, до якої може приєднатися кожен, але дуже складно контролювати будь-якій окремій сутності. Концепцію блокчейна вперше було викладено на папері в славетному біткоїн-білі від Сатоші Накомото в 2008 році, як основна інфраструктура, що дозволяє криптографічно захищені безпосередні платежі в біткоїнах. Транзакції для блокчейнів - це те, що логи для соціальних медіа та інтернет-компаній; вони служать як записи діяльності для цієї конкретної мережі, основною відмінністю є те, що транзакції на блокчейні неможливі для змін і часто громадсько спостережувані.
Але що саме таке транзакція?
Транзакції на блокчейнах включають передачу цифрових активів з однієї адреси на розподіленому реєстрі на іншу, забезпечену за допомогою криптографії з відкритим ключем. Транзакції можуть бути використані для децентралізованих передач від однієї сторони до іншої, або для різних процесів аутентифікації та верифікації.
Приклад транзакції, яку може спостерігати будь-хто на блокчейн-досліднику, такому як SeiTrace
Коли транзакція ініціюється, тобто Боб надсилає деякі токени Еліс, транзакція Боба транслюється в мережу базового блокчейну. Після цього кластери спеціалізованих вузлів в мережі починають перевіряти та підтверджувати транзакцію як законну. Як тільки достатня кількість цих вузлів перевірила вміст транзакції, транзакція додається до блоку разом з іншими користувацькими транзакціями. Як тільки блок заповнений, він додається до ланцюжка, отже назва 'блокчейн'. Транзакція Боба тепер є частиною безпечного та прозорого реєстру, і він і Еліс можуть перевірити його вміст.
Загалом кажучи, всі транзакції блокчейн містять метадані, які допомагають вузлам, які працюють і захищають мережу, ідентифікувати та виконувати заданий набір інструкцій та параметрів. Кожна транзакція матиме високорівневі дані, введені відправником, такі як сума для переказу, адреса призначення та цифровий підпис для підтвердження транзакції, а також різноманітні низькорівневі дані, які створюються та автоматично додаються, хоча ці дані відрізняються залежно від мережі та дизайну.
У кінцевому підсумку, проте, процеси, які відбуваються за кулісами на мережевому рівні до виконання транзакції, відрізняються залежно від дизайну блокчейну.
Пул пам'яті, або mempool, є поширеною функцією дизайну блокчейнів, реалізованою в традиційних мережах блокчейнів, таких як Bitcoin та Ethereum. Mempools - це просто буферні зони або 'покої очікування' для транзакцій, які ще не були додані до блоку та виконані.
Для кращого розуміння ми можемо розкласти життєвий цикл транзакції на блокчейні, який використовує мемпул;
Важливо зауважити, що деякі блокчейни, такі як Solana, не використовують пам'ятку та можуть надсилати транзакції безпосередньо виробнику блоків як засіб забезпечення високої швидкості та пропускної здатності через постійне виробництво блоків.
Давайте пройдемо життєвий цикл транзакції на блокчейні, що не використовує пам'ять мемпула:
Старі блокчейни, а саме Bitcoin та Ethereum, використовують послідовний механізм виконання транзакцій. Кожна транзакція, додана до блокчейну, викликає зміну стану мережі, і ВМ структурований таким чином, щоб обробляти лише одну зміну стану одночасно з метою забезпечення безпеки.
Це спричинило значні затори для пропускної здатності базової мережі, оскільки кількість транзакцій, які можуть бути додані до блоку, обмежується, що призводить до збільшення часу очікування та надзвичайних стрибків у вартості транзакцій, що може призвести до того, що мережу не можна використовувати в певний час. Крім того, послідовні моделі виконання використовують апаратні компоненти досить неефективно і, отже, не використовують переваги проривів в обчисленнях, тобто кількох ядер процесора.
Паралельне обчислення є ключовою складовою комп'ютерної архітектури, початок якої можна прослідкувати ще з кінець 1950-х, хоча її ідея та теорія навіть відстежувалися до 1837За визначенням, паралельне обчислення відноситься до використання одночасно кількох обчислювальних елементів для вирішення операції, де більша і складніша задача розбивається на менші для більш ефективного виконання, ніж у послідовний спосіб.
Спочатку реалізований лише в системах високопродуктивних обчислень, паралельні обчислення перетворилися на домінуючу парадигму в архітектурі комп'ютерів сьогодні, оскільки попит на обчислення експоненційно зріс у інтернет-ері, погіршений обмеженнями частотного масштабування в минулих десятиліттях.
Цей архітектурний стандарт застосовується до блокчейнів у багато в чому такий же спосіб, тільки що основне завдання, яке комп'ютери вирішують, - обробка та виконання транзакцій, або передача вартості від смарт-контракту A до смарт-контракту B, отже термін паралельного виконання.
Паралельне виконання означає, що замість послідовної обробки транзакцій блокчейн може обробляти кілька несуперечливих транзакцій одночасно. Це може значно збільшити пропускну здатність мережі блокчейн, роблячи її більш масштабованою та ефективною для обробки високих навантажень активності та запитів на блокпростір.
Для простішої аналогії. розгляньте ефективність продуктового магазину з кількома поличками для покупців, які розраховуються. проти лише одного для всіх.
Паралельне виконання в блокчейнах призначене для відкриття ефективності швидкості та продуктивності мережі, особливо коли мережа бачить високий трафік та попит на ресурси. У контексті криптосистем паралельне виконання означає, що якщо Боб хоче виготовити останню популярну колекцію NFT, а Аліса хоче купити свій улюблений мемкоїн, мережа обслуговуватиме обох користувачів, не ушкоджуючи якість продуктивності та, отже, досвід користувача.
Хоч це може видатися просто як інтуїтивна функція якості життя, відкриття у мережевій продуктивності, забезпечені паралельним виконанням, відкривають шлях до розробки нових та інноваційних використань та додатків, які можуть використовувати низьку затримку та великі обсяги, що саме створює основу для залучення наступної масової когорти користувачів до криптосистем.
Хоча передумова паралельного виконання досить проста, нюанси у дизайнах базових блокчейнів впливають на те, як сам процес паралельного виконання працює. Найбільш важливою функцією при проектуванні блокчейнів з паралельним виконанням є можливість транзакцій отримувати доступ до стану підлеглої мережі, включаючи баланси рахунків, сховище та смарт-контракти.
Паралельне виконання на блокчейнах можна класифікувати як детерміноване або оптимістичне. Детерміноване паралельне виконання, використовуване блокчейнами, такими як Solana, вимагає, щоб транзакції заздалегідь вказували всі пам'яті залежності, тобто які частини глобального стану вони хочуть використовувати заздалегідь. Хоча цей крок створює додаткове навантаження для розробників, більш широко він дозволяє мережі сортувати та ідентифікувати транзакції, які не конфліктують до виконання, створюючи оптимізовану систему, яка є передбачуваною та ефективною. Натомість, оптимістичне паралельне виконання структуроване таким чином, щоб обробляти всі транзакції паралельно, працюючи на передумові, що конфліктів немає. Це дозволяє базовому блокчейну забезпечувати швидше виконання транзакцій, хоча за рахунок можливого повторного виконання після конфлікту. Якщо виявлено, що подано дві конфліктні транзакції, система може переробити та повторно виконати їх паралельно або послідовно.
Для кращого розуміння наслідків цих дизайнерських витонченостей корисно проаналізувати паралельне виконання через призму команд, що сьогодні просувають фронт паралельного виконання.
Для кращого розуміння наслідків цих дизайнерських витонченостей може бути корисним проаналізувати паралельне виконання через призму команд, які сьогодні тягнуть передній край паралельного виконання.
Solana була першою мережею блокчейн, розробленою навколо паралельного виконання, натхненною попереднім досвідом засновника Анатолія Яковенка в галузі телекомунікаційної промисловості. Solana має на меті надати платформу для розробників, яка працює так швидко, як дозволяє фізика, тому швидкість і ефективність, отримані завдяки паралельному обчисленню, були простим і інтуїтивно зрозумілим вибором дизайну.
Критичним компонентом для забезпечення швидкості та великої пропускної здатності Solana є Sealevel, паралельне середовище виконання розумних контрактів мережі. На відміну від середовищ на основі EVM та WASM, Sealevel використовує багатопотокову архітектуру, що означає, що воно може одночасно обробляти кілька транзакцій до певного рівня потужності основного валідатора.
Ключовим для забезпечення паралельного виконання Solana є те, що при увімкненні транзакції мережа призначатиме список інструкцій для виконання цієї транзакції, зокрема, які облікові записи та стан доступу та які зміни вносити - це ключовий момент визначення того, які транзакції не конфліктують і можуть виконуватися одночасно, а також увімкнення транзакцій, які намагаються отримати доступ до того ж самого стану для одночасного виконання.
Розгляньте ефективність, яку надають мітки системам реєстрації багажу в аеропортах.
Solana також використовує Cloudbreak, власну власну базу даних облікових записів, для зберігання та управління даними стану, щоб забезпечити одночасне зчитування та записи транзакцій. Cloudbreak, оптимізований для паралельного виконання, горизонтально масштабується для розподілу та управління даними стану по кількох вузлах.
Благодаря своїй паралельній архітектурі, Solana може обробляти велику кількість транзакцій і все ж виконувати їх швидко, надаючи транзакціям майже миттєву остаточність. Сьогодні Solana обробляє від 2,000 до 10,000 транзакцій на секунду (TPS) в середньому. Крім того, використання SVM повільно, але впевнено розширюється, оскільки команди, такі як Eclipse, запускають інфраструктуру Layer 2, яка спрямована на використання SVM як середовища виконання.
Паралельний EVM описує нове середовище виконання для блокчейнів, яке має на меті поєднати "краще з обох світів" з дизайнами Solana та Ethereum, зі швидкістю та продуктивністю Solana, та безпекою та ліквідністю Ethereum. Шляхом обробки транзакцій паралельно, а не послідовно, згідно з традиційним дизайном EVM, паралельні EVM дають розробникам можливість будувати додатки на високопродуктивній мережі, зберігаючи зв'язки з ліквідністю та інструментарієм для розробників EVM.
Sei Network - це сумісна з EVM, відкрита блокчейн-платформа 1-го рівня, на якій розміщено різноманітні децентралізовані додатки, побудовані на високій продуктивності. Sei був створений для забезпечення швидкості за низьку ціну для користувачів та розробників, причому паралельне виконання є ключовою складовою для досягнення цієї продуктивності та UX. На даний момент Sei надає час підтвердження блоку 390 мс і обробив понад 1,9 млрд транзакцій на своєму тихоокеанському головному мережеві.
Спочатку Sei використовувала детерміновану паралельну модель виконання, де розумні контракти заздалегідь оголошували свій необхідний доступ до стану, щоб система могла одночасно виконувати несуперечливі транзакції. З початком оновлення V2, Sei переходить до оптимістичної паралельної моделі, що означає, що всі транзакції будуть оброблятися паралельно після їх подання в мережу (етап виконання), а потім будуть переглядатися на предмет конфліктної інформації з попередніми транзакціями (етап перевірки). У випадку двох або більше конфліктуючих транзакцій, тобто транзакцій, які намагаються отримати доступ до того ж мережевого стану, Sei визначає цю точку конфлікту, а потім перезапускає транзакції паралельно або послідовно в залежності від характеру конфлікту.
Для зберігання та підтримки даних про транзакції Sei також введе SeiDB, власну базу даних, яка спрямована на виправлення недоліків у v1 шляхом оптимізації для паралельного виконання. SeiDB має на меті зменшити накладні витрати на зберігання зайвих даних і забезпечити ефективне використання диска для покращення мережевої продуктивності. V2 зменшує кількість метаданих, необхідних для відстеження та зберігання, та дозволяє вести журнал попереднього запису для допомоги у відновленні даних у разі аварії.
Наприкінці, Sei також недавно оголосив про запуск свого Parallel Stack, відкритої рамки для впровадження рішень масштабування 2-го рівня, тобто rollups, для використання та отримання користі від паралельного виконання.
Monad - це майбутній паралельний блокчейн рівня 1 EVM, який принесе повну сумісність з байткодом та RPC для додатків та інфраструктури Ethereum. За допомогою численних інноваційних технічних реалізацій Monad має на меті забезпечити більш інтерактивний досвід, ніж існуючі блокчейни, знижуючи при цьому витрати на транзакції за рахунок оптимізації продуктивності та переносності, з часом блоку 1 секунда та остаточністю до 10 000 TPS.
Monad реалізує паралельне виконання та суперскалярну конвеєрну обробку для оптимізації швидкості та пропускної здатності транзакцій. Подібно до Sei v2, Monad буде використовувати оптимістичну модель виконання, що означає, що мережа починає виконувати всі вхідні транзакції одночасно, а потім аналізує та перевіряє транзакції для пошуку конфліктів та перевиконання відповідно, з метою того, щоб результат був ідентичним, якби транзакції були виконані послідовно.
Важливо зауважити, що для підтримки синхронізації з Ethereum Monad упорядковує транзакції в блоку в лінійному порядку, при цьому кожна транзакція оновлюється послідовно.
Для того щоб зберігати та отримувати дані блокчейну ефективніше, ніж це пропонує поточний стан клієнтів Ethereum, Monad створив власну власну MonadDB, спеціально побудовану для блокчейнів. Monad DB використовує передові функції ядра Linux для ефективних асинхронних дисків, усуваючи обмеження синхронного введення/виведення. MonadDB пропонує асинхронний доступ до введення/виведення (async I/O), ключову функцію для можливості паралельного виконання, де система може почати обробку наступної транзакції, чекаючи на зчитування стану попередньої транзакції.
Для простого аналогії, розгляньте приготування багатогранного обіду (спагеті з котлетами). Кроки, які включають 1) приготування соусу, 2) приготування котлет і c) варіння пасти. Ефективний шеф-кухар почав би з кип'ятіння води для пасти, потім підготовки інгредієнтів для соусу, потім закидання пасти у зараз киплячу воду, потім готування соусу, і, нарешті, котлет, на відміну від виконання кожного кроку по черзі, завершуючи одне завдання повністю перед переходом до наступного.
Move - це мова програмування, спочатку розроблена командою Facebook у 2019 році для їхнього тепер вже неіснуючого проєкту Diem. Move була розроблена для обробки даних розумного контракту та транзакцій надійним способом, усуваючи вектори атак, властиві іншим мовам, такі як атаки на повторність.
MoveVM служить в якості внутрішнього середовища виконання для блокчейнів на основі Move, використовуючи паралелізацію для забезпечення швидкості виконання транзакцій та загальної ефективності.
Aptos - це блокчейн на основі Move, розроблений учасниками колишнього проекту Diem, який реалізує паралельне виконання для створення високопродуктивного середовища для розробників додатків. Aptos використовує Block-STM, модифіковану реалізацію механізму контролю конкурентності STM (Software Transactional Memory).
Block-STM є багатопотоковим паралельним двигуном виконання, який дозволяє оптимістичне паралельне виконання. Транзакції попередньо впорядковані та стратегічно послідовно розташовані всередині блоків, що є ключовим для ефективного вирішення конфліктів та повторного виконання цих транзакцій. Дослідження, проведені Aptos, показали, що за допомогою паралелізації Block-STM може бути теоретично підтримано до 160K TPS.
Подібно до Aptos, Sui - це блокчейн першого рівня, розроблений колишніми учасниками проєкту Diem, який використовує мову Move. Однак Sui використовує спеціальну реалізацію Move, яка змінює модель зберігання та дозволи на активи з оригінального дизайну Diem. Зокрема це дозволяє Sui використовувати модель зберігання стану для представлення незалежних транзакцій у вигляді об'єктів. Кожен об'єкт має унікальний ідентифікатор в середовищі виконання Sui, і це дозволяє системі легко ідентифікувати неконфліктні транзакції та обробляти їх паралельно.
Подібно до Solana, Sui реалізує визначене паралельне виконання, яке вимагає, щоб транзакції заздалегідь вказували, до яких облікових записів вони потребують доступу.
Що таке Рух?
Movement будує набір інструментів для розробників та сервісів інфраструктури блокчейну для забезпечення можливості розробників легко отримувати переваги від роботи на Move. Діючи як провайдер послуг виконання-як-сервісу, схожого на AWS для розробників Move, Movement реалізує паралелизацію як основну конструктивну особливість для забезпечення вищої пропускної здатності та загальної ефективності мережі. MoveVM є модульним середовищем виконання, яке дозволяє блокчейн-мережам розширюватися та налаштовувати свої можливості обробки транзакцій за потребою для підтримки зростаючого обсягу транзакцій, підвищуючи їх здатності обробляти та виконувати транзакції паралельно.
Архітектура MoveVM
Рух також запустить M2, ZK-rollup, який буде сумісний з EVM та клієнтами Move. M2 успадкує двигун паралелізації Блок-STM та очікується, що в результаті надасть десятки тисяч TPS.
Деякі важливі питання та розгляди, що потрібно обміркувати щодо розвитку паралельних блокчейнів;
На високому рівні паралельні блокчейни стикаються з ризиком непослідовності реєстрації, тобто подвійного витрачання та змін порядку транзакцій (зокрема, це є ключовою перевагою послідовного виконання). Визначена паралелізація вирішує це, створюючи внутрішню систему маркування для транзакцій на базовому блокчейні. Блокчейни, що реалізують оптимістичну обробку, повинні забезпечити, що використовані ними механізми для перевірки та повторного виконання транзакцій є безпечними та функціональними, а також, що здійснені компроміси з метою підвищення продуктивності можуть бути реалізовані в розумний спосіб.
Історія комп'ютерів показала, що паралельні системи зазвичай є ефективнішими та масштабованішими з часом, ніж послідовні системи. Зростання паралельних блокчейнів після Solana підкреслює, що цей принцип також стосується криптінфраструктури. Навіть Віталік натякнув на паралелізаціяяк один з потенційних ключових рішень для покращення масштабованості EVM rollups нещодавно. Узагальнюючи, зростання прийому криптографії / блокчейну вимагає систем, які є більш оптимальними, ніж ті, що доступні сьогодні, включаючи паралельні блокчейни. Недавні проблеми мережі Solana підкреслили, що є багато місця для покращення розробки паралельних блокчейнів. Оскільки все більше команд намагаються розширити межі фронту onchain та залучити наступну масову когорту користувачів та прийняття до блокчейн-орієнтованих додатків та екосистем, паралельні моделі виконання надають інтуїтивну структуру для побудови систем, які можуть ефективно керувати масштабами мережевої активності на такому рівні, який легко відповідає компаніям Web2.
Цю статтю перепечатано з [ мілина], Переслати оригінальну назву «Паралельне виконання: наступне покоління блокчейнів», Усі авторські права належать оригінальному автору [ПАУЛ ТІМОФЄЄВ, МАЙК ДЖИН, та GABE TRAMBLE]. Якщо є заперечення проти цього перепублікування, будь ласка, зв'яжіться з Gate Навчитисякоманда, і вони швидко з цим впораються.
Відповідальність за відмови: Погляди та думки, висловлені в цій статті, є виключно тими, що належать автору і не є жодним інвестиційним порадою.
Переклади статті на інші мови виконуються командою Gate Learn. Якщо не зазначено інше, копіювання, поширення або плагіатування перекладених статей заборонені.