Розробка смарт-контрактів є основною навичкою блокчейн-інженера. Хоча розробники зазвичай використовують такі високорівневі мови, як Solidity, щоб писати контракти, EVM не може безпосередньо виконувати цей код. Він вимагає компіляції коду в низькорівневі інструкції, зрозумілі віртуальній машині ( операційні коди/байт-код ). В даний час існують інструменти, які можуть автоматично виконати цей процес перетворення, зменшуючи навантаження на розробників у розумінні деталей компіляції.
Хоча компіляція може призвести до певних витрат, інженери, які знайомі з базовим кодуванням, можуть безпосередньо вбудовувати операційні коди в Solidity для досягнення максимальної ефективності та зниження витрат на газ. Наприклад, деякий відомий протокол торгівлі NFT широко використовує вбудовану асемблер для мінімізації витрат на газ для користувачів.
Різниця між стандартом EVM та його реалізацією
EVM як "виконавчий шар" є середовищем, в якому в кінцевому підсумку виконуються операційні коди скомпільованих смарт-контрактів. Байтовий код, визначений EVM, став галузевим стандартом. Незалежно від того, чи це мережа другого рівня Ethereum, чи інші незалежні блокчейни, розробники можуть ефективно розгортати смарт-контракти на кількох мережах, якщо вони сумісні зі стандартом EVM.
Хоча вони дотримуються одного й того ж стандарту байткоду, конкретні реалізації EVM можуть значно відрізнятися. Наприклад, певний клієнт Ethereum реалізує стандарт EVM на мові Go, тоді як команда певного фонду підтримує реалізацію на C++. Ця різноманітність надає простір для різних інженерних оптимізацій і індивідуальних реалізацій.
Поява технології паралельної EVM
Історично, блокчейн-спільнота переважно зосереджувалася на інноваціях у алгоритмах консенсусу, деякі відомі проекти більше привертали увагу завдяки своїм механізмам консенсусу, а не виконавчому рівню. Хоча ці проекти також мають інновації на виконавчому рівні, але їх підвищення продуктивності часто помилково вважається таким, що походить лише з алгоритму консенсусу.
Насправді, високопродуктивний блокчейн потребує одночасних інновацій у консенсусному алгоритмі та виконувальному рівні. Для EVM блокчейнів, які лише вдосконалюють консенсусний алгоритм, підвищення продуктивності зазвичай потребує більш потужної апаратної підтримки. Наприклад, один відомий смарт-чейн обробляє блоки при обмеженні gas у 2000 TPS, потребуючи конфігурацію, яка в кілька разів перевищує конфігурацію повного вузла Ethereum. Інша мережа, що стверджує, що підтримує до 1000 TPS, насправді часто має продуктивність, що не відповідає очікуванням.
Необхідність паралельної обробки
У традиційних системах блокчейн транзакції виконуються послідовно, подібно до однокристальних процесорів. Хоча такий підхід простий і має низьку складність системи, він важко підтримує велику кількість користувачів. Перехід до паралельної віртуальної машини, подібної до багатоядерного процесора, може одночасно обробляти кілька транзакцій, значно підвищуючи пропускну здатність.
Паралельне виконання приносить деякі інженерні виклики, такі як обробка конкурентних транзакцій для одного й того ж контракту. Це потребує нових механізмів для вирішення потенційних конфліктів. Проте паралельне виконання не пов'язаних смарт-контрактів може пропорційно підвищити пропускну здатність залежно від кількості оброблювальних потоків.
Інновації паралельного EVM
Паралельна EVM представляє собою ряд інновацій, спрямованих на оптимізацію виконавчого шару блокчейну. Як приклад можна взяти певний проєкт, його ключові інновації включають:
Паралельне виконання транзакцій: використовується оптимістичний алгоритм паралельного виконання, що дозволяє одночасно обробляти кілька транзакцій. Система починає транзакції з однакового початкового стану, відстежує входи та виходи, генеруючи тимчасові результати. Наступна транзакція виконується паралельно в залежності від перевірки залежностей між транзакціями.
Затримка виконання: у механізмі консенсусу вузли спочатку досягають консенсусу щодо порядку транзакцій, а не виконують їх відразу. Виконання відкладається в незалежному каналі, щоб максимізувати використання часу блоку та підвищити загальну ефективність.
Кастомізована база даних стану: оптимізація зберігання та доступу до стану шляхом безпосереднього зберігання дерева Меркла на SSD. Цей підхід мінімізує ефект збільшення читання, прискорює доступ до стану, роблячи виконання контрактів більш ефективним.
Високопродуктивний механізм консенсусу: на основі покращення HotStuff, підтримує синхронізацію сотень глобальних вузлів, має лінійну складність комунікації. Використовується конвеєрне голосування, що дозволяє накладати різні етапи, зменшуючи затримки та підвищуючи ефективність.
Виклики, з якими стикається паралельна EVM
Паралельне виконання вводить потенційні конфлікти стану, які потребують перевірки конфліктів до або після виконання. Наприклад, коли кілька паралельних транзакцій взаємодіють з одним і тим же пулом транзакцій, потрібен ретельний механізм виявлення та вирішення конфліктів.
Окрім відмінностей у технічній реалізації, команди зазвичай повинні також повторно розробити продуктивність читання та запису в базі даних стану, а також розробити сумісний алгоритм консенсусу.
Паралельні проекти EVM стикаються з двома великими викликами: ризиком тривалої адаптації технологічних інновацій Ethereum і проблемою централізації вузлів. Швидкий розвиток екосистеми є ключем до збереження конкурентної переваги. Децентралізація вузлів вимагає пошуку балансу між бездозвільними, бездостовірними операціями та високою продуктивністю.
Огляд проектів паралельної EVM
Наразі паралельна архітектура EVM включає кілька блокчейнів Layer 1, можливі рішення Layer 2, а також EVM-сумісні шари на базі інших публічних блокчейнів. Існуючі проекти можна розділити на три категорії:
Підтримка паралельного виконання у мережі Layer 1, сумісній з EVM, через технологічне оновлення
На етапі проектування було обрано паралельне виконання EVM-сумісної мережі Layer 1
Використання технології паралельного виконання не-EVM у мережах другого рівня
Огляд представницьких проектів
Проект A має на меті вирішення проблеми масштабованості шляхом оптимізації паралельного виконання EVM, з метою досягнення 10,000 TPS. Завершено значне фінансування, засновницька команда походить з провідних маркет-мейкерів. Внутрішня тестова мережа вже запущена, незабаром буде відкрито для громадськості.
Проект B спочатку зосереджувався на інфраструктурі торгових додатків, нещодавно був оновлений до високопродуктивного паралельного EVM, що підвищило TPS до 12 500. Тестова мережа вже запущена, підтримує одноразову міграцію EVM-додатків. Також було представлено відкритий фреймворк для підтримки Layer 2 з використанням технології паралельної обробки.
Проект C підвищує продуктивність та ефективність виконання завдяки створенню системи з двома віртуальними машинами EVM++(EVM + WASM). Ядро команди походить з відомого блокчейн-проєкту. Публічна тестова мережа вже запущена, програма екосистемних стимулів вже розпочата.
Проект D є EVM-сумісною мережею Layer 1, побудованою на основі певного SDK, спеціально розробленою для DeFi. Нещодавно було оголошено про план розробки, який передбачає впровадження паралельних EVM технологій для підвищення продуктивності.
Проект E є першим рішенням, яке реалізує сумісність з EVM на певній високопродуктивній публічній блокчейн-мережі. Підтримує розробників Solidity в одноразовому розгортанні DApp, насолоджуючись високою пропускною здатністю та низькими витратами gas. Упаковує EVM-транзакції в рідні транзакції для виконання, TPS перевищує 2 000.
Проект F є модульним універсальним рішенням Layer 2, підтримуваним віртуальною машиною певного публічного блокчейну. Розрахунки відбуваються на Ethereum, використовуючи ETH як gas, але виконання проходить в середовищі цієї віртуальної машини. Нещодавно було завершено значне фінансування, і основна мережа незабаром буде відкрита для розробників.
Проект G є модульною мережею VM Layer 2, яка підтримує інтеграцію високопродуктивних віртуальних машин у основну екосистему Layer 2. Можна використовувати Ethereum або Bitcoin як рівень розрахунків, а виконавчий рівень може використовувати кілька паралельних віртуальних машин.
Висновок
З розвитком технологій блокчейну оптимізація виконавчого рівня та алгоритмів консенсусу є однаково важливими. Інновації, такі як паралельна EVM, забезпечують багатообіцяючі рішення для підвищення пропускної здатності та ефективності, що обіцяє зробити блокчейн більш масштабованим і підтримувати ширший спектр сценаріїв застосування. Розвиток цих технологій продовжить стимулювати прогрес екосистеми блокчейн.
Ця сторінка може містити контент третіх осіб, який надається виключно в інформаційних цілях (не в якості запевнень/гарантій) і не повинен розглядатися як схвалення його поглядів компанією Gate, а також як фінансова або професійна консультація. Див. Застереження для отримання детальної інформації.
10 лайків
Нагородити
10
7
Поділіться
Прокоментувати
0/400
SandwichDetector
· 21год тому
Вугледобувна машина нарешті буде багатопотоковою.
Переглянути оригіналвідповісти на0
SerumSquirrel
· 07-22 18:54
EVMtql: Ааа
Переглянути оригіналвідповісти на0
ChainComedian
· 07-22 18:53
Це така продуктивність? Ще говорити про інновації.
Переглянути оригіналвідповісти на0
SatoshiHeir
· 07-22 18:50
Потрібно зазначити, що так званий паралелізм є лише поганою імітацією Віталіка Бутеріна.
Переглянути оригіналвідповісти на0
CounterIndicator
· 07-22 18:47
Зрозумів! Одноchain створює вузьке місце, потрібно паралельно!
Переглянути оригіналвідповісти на0
LiquidationTherapist
· 07-22 18:46
Паралельний EVM справді приємний
Переглянути оригіналвідповісти на0
pvt_key_collector
· 07-22 18:40
Все ще застрягли з продуктивністю? Ланцюг вже мертвий.
Паралельний Технічний аналіз EVM: нові можливості та виклики для виконувального шару Блокчейн
Глибина аналізу Віртуальної машини Ethereum EVM
Взаємозв'язок між EVM та Solidity
Розробка смарт-контрактів є основною навичкою блокчейн-інженера. Хоча розробники зазвичай використовують такі високорівневі мови, як Solidity, щоб писати контракти, EVM не може безпосередньо виконувати цей код. Він вимагає компіляції коду в низькорівневі інструкції, зрозумілі віртуальній машині ( операційні коди/байт-код ). В даний час існують інструменти, які можуть автоматично виконати цей процес перетворення, зменшуючи навантаження на розробників у розумінні деталей компіляції.
Хоча компіляція може призвести до певних витрат, інженери, які знайомі з базовим кодуванням, можуть безпосередньо вбудовувати операційні коди в Solidity для досягнення максимальної ефективності та зниження витрат на газ. Наприклад, деякий відомий протокол торгівлі NFT широко використовує вбудовану асемблер для мінімізації витрат на газ для користувачів.
Різниця між стандартом EVM та його реалізацією
EVM як "виконавчий шар" є середовищем, в якому в кінцевому підсумку виконуються операційні коди скомпільованих смарт-контрактів. Байтовий код, визначений EVM, став галузевим стандартом. Незалежно від того, чи це мережа другого рівня Ethereum, чи інші незалежні блокчейни, розробники можуть ефективно розгортати смарт-контракти на кількох мережах, якщо вони сумісні зі стандартом EVM.
Хоча вони дотримуються одного й того ж стандарту байткоду, конкретні реалізації EVM можуть значно відрізнятися. Наприклад, певний клієнт Ethereum реалізує стандарт EVM на мові Go, тоді як команда певного фонду підтримує реалізацію на C++. Ця різноманітність надає простір для різних інженерних оптимізацій і індивідуальних реалізацій.
Поява технології паралельної EVM
Історично, блокчейн-спільнота переважно зосереджувалася на інноваціях у алгоритмах консенсусу, деякі відомі проекти більше привертали увагу завдяки своїм механізмам консенсусу, а не виконавчому рівню. Хоча ці проекти також мають інновації на виконавчому рівні, але їх підвищення продуктивності часто помилково вважається таким, що походить лише з алгоритму консенсусу.
Насправді, високопродуктивний блокчейн потребує одночасних інновацій у консенсусному алгоритмі та виконувальному рівні. Для EVM блокчейнів, які лише вдосконалюють консенсусний алгоритм, підвищення продуктивності зазвичай потребує більш потужної апаратної підтримки. Наприклад, один відомий смарт-чейн обробляє блоки при обмеженні gas у 2000 TPS, потребуючи конфігурацію, яка в кілька разів перевищує конфігурацію повного вузла Ethereum. Інша мережа, що стверджує, що підтримує до 1000 TPS, насправді часто має продуктивність, що не відповідає очікуванням.
Необхідність паралельної обробки
У традиційних системах блокчейн транзакції виконуються послідовно, подібно до однокристальних процесорів. Хоча такий підхід простий і має низьку складність системи, він важко підтримує велику кількість користувачів. Перехід до паралельної віртуальної машини, подібної до багатоядерного процесора, може одночасно обробляти кілька транзакцій, значно підвищуючи пропускну здатність.
Паралельне виконання приносить деякі інженерні виклики, такі як обробка конкурентних транзакцій для одного й того ж контракту. Це потребує нових механізмів для вирішення потенційних конфліктів. Проте паралельне виконання не пов'язаних смарт-контрактів може пропорційно підвищити пропускну здатність залежно від кількості оброблювальних потоків.
Інновації паралельного EVM
Паралельна EVM представляє собою ряд інновацій, спрямованих на оптимізацію виконавчого шару блокчейну. Як приклад можна взяти певний проєкт, його ключові інновації включають:
Паралельне виконання транзакцій: використовується оптимістичний алгоритм паралельного виконання, що дозволяє одночасно обробляти кілька транзакцій. Система починає транзакції з однакового початкового стану, відстежує входи та виходи, генеруючи тимчасові результати. Наступна транзакція виконується паралельно в залежності від перевірки залежностей між транзакціями.
Затримка виконання: у механізмі консенсусу вузли спочатку досягають консенсусу щодо порядку транзакцій, а не виконують їх відразу. Виконання відкладається в незалежному каналі, щоб максимізувати використання часу блоку та підвищити загальну ефективність.
Кастомізована база даних стану: оптимізація зберігання та доступу до стану шляхом безпосереднього зберігання дерева Меркла на SSD. Цей підхід мінімізує ефект збільшення читання, прискорює доступ до стану, роблячи виконання контрактів більш ефективним.
Високопродуктивний механізм консенсусу: на основі покращення HotStuff, підтримує синхронізацію сотень глобальних вузлів, має лінійну складність комунікації. Використовується конвеєрне голосування, що дозволяє накладати різні етапи, зменшуючи затримки та підвищуючи ефективність.
Виклики, з якими стикається паралельна EVM
Паралельне виконання вводить потенційні конфлікти стану, які потребують перевірки конфліктів до або після виконання. Наприклад, коли кілька паралельних транзакцій взаємодіють з одним і тим же пулом транзакцій, потрібен ретельний механізм виявлення та вирішення конфліктів.
Окрім відмінностей у технічній реалізації, команди зазвичай повинні також повторно розробити продуктивність читання та запису в базі даних стану, а також розробити сумісний алгоритм консенсусу.
Паралельні проекти EVM стикаються з двома великими викликами: ризиком тривалої адаптації технологічних інновацій Ethereum і проблемою централізації вузлів. Швидкий розвиток екосистеми є ключем до збереження конкурентної переваги. Децентралізація вузлів вимагає пошуку балансу між бездозвільними, бездостовірними операціями та високою продуктивністю.
Огляд проектів паралельної EVM
Наразі паралельна архітектура EVM включає кілька блокчейнів Layer 1, можливі рішення Layer 2, а також EVM-сумісні шари на базі інших публічних блокчейнів. Існуючі проекти можна розділити на три категорії:
Огляд представницьких проектів
Проект A має на меті вирішення проблеми масштабованості шляхом оптимізації паралельного виконання EVM, з метою досягнення 10,000 TPS. Завершено значне фінансування, засновницька команда походить з провідних маркет-мейкерів. Внутрішня тестова мережа вже запущена, незабаром буде відкрито для громадськості.
Проект B спочатку зосереджувався на інфраструктурі торгових додатків, нещодавно був оновлений до високопродуктивного паралельного EVM, що підвищило TPS до 12 500. Тестова мережа вже запущена, підтримує одноразову міграцію EVM-додатків. Також було представлено відкритий фреймворк для підтримки Layer 2 з використанням технології паралельної обробки.
Проект C підвищує продуктивність та ефективність виконання завдяки створенню системи з двома віртуальними машинами EVM++(EVM + WASM). Ядро команди походить з відомого блокчейн-проєкту. Публічна тестова мережа вже запущена, програма екосистемних стимулів вже розпочата.
Проект D є EVM-сумісною мережею Layer 1, побудованою на основі певного SDK, спеціально розробленою для DeFi. Нещодавно було оголошено про план розробки, який передбачає впровадження паралельних EVM технологій для підвищення продуктивності.
Проект E є першим рішенням, яке реалізує сумісність з EVM на певній високопродуктивній публічній блокчейн-мережі. Підтримує розробників Solidity в одноразовому розгортанні DApp, насолоджуючись високою пропускною здатністю та низькими витратами gas. Упаковує EVM-транзакції в рідні транзакції для виконання, TPS перевищує 2 000.
Проект F є модульним універсальним рішенням Layer 2, підтримуваним віртуальною машиною певного публічного блокчейну. Розрахунки відбуваються на Ethereum, використовуючи ETH як gas, але виконання проходить в середовищі цієї віртуальної машини. Нещодавно було завершено значне фінансування, і основна мережа незабаром буде відкрита для розробників.
Проект G є модульною мережею VM Layer 2, яка підтримує інтеграцію високопродуктивних віртуальних машин у основну екосистему Layer 2. Можна використовувати Ethereum або Bitcoin як рівень розрахунків, а виконавчий рівень може використовувати кілька паралельних віртуальних машин.
Висновок
З розвитком технологій блокчейну оптимізація виконавчого рівня та алгоритмів консенсусу є однаково важливими. Інновації, такі як паралельна EVM, забезпечують багатообіцяючі рішення для підвищення пропускної здатності та ефективності, що обіцяє зробити блокчейн більш масштабованим і підтримувати ширший спектр сценаріїв застосування. Розвиток цих технологій продовжить стимулювати прогрес екосистеми блокчейн.