Можливі майбутність протоколу Ethereum, частина 1: Злиття

Розширений10/22/2024, 4:19:33 AM
У цій статті обговорюється "об'єднання" Ethereum та досліджуються напрями для удосконалення технічного дизайну Proof of Stake, а також потенційні способи досягнення цих покращень.

Спочатку «злиття» відносилося до найважливішої події в історії протоколу Ethereum з моменту його запуску: довгоочікуваний та важко здобутий перехід від доказу роботи до доказу власності. На сьогодні Ethereum працює стабільно у системі доказу власності майже рівно два роки, і цей доказ власності продемонстрував дуже високу ефективність. стабільність, продуктивність та уникання ризиків централізації. Однак і досі є деякі важливі області, в яких потрібно покращити доказ власності.

Моя схема дорожньої карти на 2023 рік розділила це на сегменти: покращення технічних функцій, таких як стабільність, продуктивність і доступність для менших валідаторів, а також економічні зміни для усунення ризиків централізації. Перший взяв на себе заголовок «Злиття», а другий став частиною «Бич».

Злиття, видання дорожньої карти на 2023 рік.

Цей пост буде акцентуватися на частині «Merge»: що все ще можна покращити в технічному дизайні доказу застави та які є деякі шляхи для досягнення цього?

Це не призначено як вичерпний перелік речей, які можна було б зробити для доказу у власність; це скоріше список ідей, які активно розглядаються.

Об'єднання: ключові цілі

  • Однослотова остаточна визначність
  • Підтвердження та завершення транзакції якнайшвидше, зберігаючи децентралізацію
  • Покращити вигідність стейкінгу для одиночних стейкерів
  • Покращити надійність
  • Покращити можливість Ethereum протистояти та відновлюватися від 51% атак (включаючи реверсію фінальності, блокування фінальності та цензуру)

У цій главі

Одноразова фінальність та демократизація стейкінгу

Яку проблему ми вирішуємо?

Сьогодні для завершення блоку потрібно 2-3 епохи (~15 хв), і для того, щоб бути стейкером, потрібно 32 ETH. Спочатку це було компромісом, який мав на меті @VitalikButerin/parametrizing-casper-the-decentralization-finality-time-overhead-tradeoff-3f2011672735">баланс між трьома цілями:

  • Максимізація кількості валідаторів, які можуть брати участь у стейкінгу (це напряму означає мінімізацію мінімальної кількості ETH, необхідної для стейкінгу)
  • Мінімізація часу до завершення
  • Мінімізація накладних витрат на запуск вузла, у цьому випадку вартість завантаження, перевірки та повторного відправлення всіх інших підписів валідаторів

Три цілі суперечать: щоб економічна остаточність була можливою (тобто атакувальник повинен буде спалити велику кількість ETH, щоб скасувати фіналізований блок), вам потрібно, щоб кожен окремий валідатор підписував дві повідомлення кожного разу, коли відбувається остаточність. Таким чином, якщо у вас багато валідаторів, вам або потрібно довго обробляти всі їхні підписи, або вам потрібно мати дуже потужні вузли для обробки всіх підписів одночасно.

Зверніть увагу, що все це умовно припускається за ключову мету Ethereum: забезпечення того, що навіть успішні атаки мають високу вартість для атакувальника. Це означає термін "економічна остаточність". Якщо б у нас не було цієї мети, тоді ми могли б вирішити цю проблему, випадково вибравши комітет для завершення кожного слоту. Ланцюжки, які не намагаються досягти економічної остаточності, такі як Algorand, часто робіть саме це. Проблема цього підходу полягає в тому, що якщо нападник контролює 51% валідаторів, то вони можуть здійснити напад (скасування фіналізованого блоку, або цензурування, або затримку фіналізації) за дуже низьку ціну: тільки частина їхніх вузлів, які входять до комітету, може бути виявлена як учасник нападу та покарана, чи череззниженняабосоціально-координований м'який форк. Це означає, що зловмисник може повторно атакувати ланцюжок багато разів, втрачаючи лише невелику частину своєї ставки під час кожної атаки. Отже, якщо ми хочемо економічної остаточності, наївний підхід, заснований на комітетах, не працює, і на перший погляд здається, що нам потрібен повний набір валідаторів для участі.

Ідеально, ми хочемо зберегти економічну остаточність, одночасно покращуючи статус-кво у двох областях:

  1. Завершіть блоки в одному слоті (ідеально, збережіть або навіть зменшіть поточну тривалість 12 с), замість 15 хв
  2. Дозволяти валідаторам робити ставку з 1 ETH (замість 32 ETH)

Перший мета обґрунтовується двома цілями, які можна розглядати як «приведення властивостей Ethereum у відповідність з властивостями (більш централізованих) ланцюгів L1, спрямованих на продуктивність».

Спочатку воно забезпечує, що всі користувачі Ethereum фактично користуються вищим рівнем гарантій безпеки, які досягаються за допомогою механізму закінчення. Сьогодні більшість користувачів цього не роблять, оскільки вони не бажають чекати 15 хвилин; з однослотовим закінченням користувачі побачать, що їх транзакції будуть завершені практично відразу після їх підтвердження. По-друге, це спрощує протокол та навколишню інфраструктуру, якщо користувачі та додатки не повинні турбуватися про можливість повернення ланцюжка, крім відносно рідкого випадку анвитік неактивності.

Друга мета обґрунтовується бажанням підтримувати сольових стейкерів. Опит за опитом показує, що головним чинником, який перешкоджає більшій кількості людей займатися сольовим стейкінгом, є мінімальний розмір 32 ETH. Зменшення мінімуму до 1 ETH вирішило б це питання, настільки, що інші турботи стають домінуючим чинником, який обмежує сольовий стейкінг.

Є виклик: цілі швидкішої остаточності та більш демократизованого стейкінгу конфліктують з метою мінімізації накладних витрат. І, насправді, саме ця обставина є цілим приводом, чому ми не починали з остаточності одного слоту з самого початку. Однак більш пізні дослідження пропонують кілька можливих шляхів обходу проблеми.

Що це таке і як воно працює?

Однослотова остаточність передбачає використання алгоритму консенсусу, який завершує блоки за один слот. Це само по собі не є складною метою: багато алгоритмів, таких як Угода Tendermint, вже роблять це з оптимальними властивостями. Одна бажана властивість, унікальна для Ethereum, яку не підтримує Tendermint, - витоки неактивності, що дозволяють ланцюгу продовжувати працювати і врешті-решт відновлюватися навіть тоді, коли вийшло з ладу більше, ніж 1/3 валідаторів. На щастя, ця бажання вже враховано: є вже пропозиціїщо модифікують консенсус у стилі Tendermint, щоб врахувати витоки неактивності.

Лідируючий пропозиція щодо одинарної фінальності

Складніше завдання полягає в тому, як зробити так, щоб робота з одним слотом фінальності працювала з вельми високим рахунком валідаторів, не призводячи до надзвичайно високого навантаження на оператора вузла. Для цього є кілька провідних рішень:

  • Варіант 1: Груба сила - наполегливо працювати над вдосконаленням протоколів агрегації підписів, можливо, використовуючи ZK-SNARKs, що фактично дозволило б нам обробляти підписи від мільйонів валідаторів у кожному слоті.

Horn, один із запропонованих дизайнів для кращого протоколу агрегації.

  • Опція 2: Комітети орбіти - новий механізм, який дозволяє випадково вибраному середньорозмірному комітету бути відповідальним за завершення ланцюга, але таким чином, що зберігає властивості вартості атаки, які ми шукаємо.

    Один спосіб подумати про Orbit SSF полягає в тому, що він відкриває простір компромісних варіантів уздовж спектра від x=0 (комітети у стилі Algorand, без економічної остаточності) до x=1 (статус-кво Ethereum), відкриваючи точки посередині, де у Ethereum все ще достатньо економічної остаточності, щоб бути надзвичайно безпечним, але в той же час ми отримуємо користь в ефективності від того, що нам потрібно лише середньої величини випадкову вибірку валідаторів для участі в кожному слоті.

Орбіт використовує наявну гетерогенність розмірів депозитів валідаторів, щоб отримати максимальну економічну остаточність, все ще надаючи малим валідаторам пропорційну роль. Крім того, Орбіт використовує повільну ротацію комітету, щоб забезпечити високу перекритість між суміжними кворумами, забезпечуючи, що його економічна остаточність все ще застосовується на межах перемикання комітетів.

  • Варіант 3: дворівневе укладання - механізм, за якого існують два класи стейкерів, один з вищими вимогами до депозиту, а інший з меншими вимогами до депозиту. Тільки стейкери з вищими вимогами до депозиту безпосередньо беруть участь у забезпеченні економічної остаточності. Існують різні пропозиції (наприклад, див. стейкінг в райдузі) для чіткого розуміння прав та обов'язків, які має нижчий рівень депозиту. Загальні ідеї включають:
    • право делегувати ставку вищому рівню ставкера
    • випадковий вибір нижнього рівня стейкерів, які підтверджують, і потрібно для завершення кожного блоку
    • право на генераціюсписки включення

Що залишилося зробити, і які компроміси?

Є чотири основні можливі шляхи (і ми також можемо вибрати гібридні шляхи):

  1. Зберігати статус-кво
  2. Брутальна сила SSF
  3. Orbit SSF
  4. SSF з дворівневим стейкінгом

(1) означає відсутність роботи та залишання стейкінгу як є, але це залишає досвід безпеки Ethereum та властивості централізації стейкінгу гірше, ніж вони могли б бути.

(2) Груба сила розв'язання проблеми високих технологій. Для цього потрібно зібрати дуже велику кількість підписів (1 млн+) за дуже короткий проміжок часу (5-10 секунд). Один із способів уявити цей підхід полягає в тому, що він передбачає мінімізація системної складності шляхом повного прийняття інкапсульованої складності.

(3) уникати «високих технологій» та вирішувати проблему шляхом винахідливого переосмислення припущень щодо протоколу: ми розслаблюємо вимогу до «економічної остаточності», так що ми вимагаємо, щоб атаки були дорогими, але ми погоджуємося з тим, що вартість атаки може бути можливо в 10 разів менше, ніж сьогодні (наприклад, вартість атаки в $2,5 мільярда замість $25 мільярдів). Загальноприйнятою думкою є те, що у сучасному Ethereum є набагато більше економічної остаточності, ніж потрібно, і його основні ризики безпеки знаходяться десь інде, тому можна стверджувати, що це прийнятна жертва.

Головна робота полягає в перевірці того, що механізм Orbit є безпечним і має властивості, які нам потрібні, а потім повністю формалізувати та реалізувати його. Крім того, EIP-7251 (збільшення максимального ефективного балансу)дозволяє добровільну консолідацію балансу валідатора, що негайно зменшує загальну навантаженість на перевірку ланцюжка, і діє як ефективний початковий етап для впровадження Orbit.

(4) уникає винахідливого переосмислення та високих технологій, але створює дворівневу систему ставок, яка все ще має ризики централізації. Ризики в значній мірі залежать від конкретних прав, які отримує нижній рівень ставок. Наприклад:

  • Якщо стейкер нижнього рівня потребує делегувати свої права на підтвердження високорівневому стейкеру, то делегування може централізуватися, і ми таким чином отримаємо два високоцентралізованих рівні стейкінгу.
  • Якщо потрібен випадковий вибір нижнього рівня для затвердження кожного блоку, то нападник може витратити дуже невелику кількість ETH, щоб заблокувати остаточність.
  • Якщо стейкери нижнього рівня можуть лише складати списки включень, то рівень довіри може залишатися централізованим, на якому етапі атака 51% на рівень довіри може цензурити самі списки включень.

Декілька стратегій можуть бути поєднані, наприклад:

(1 + 2): використовуйте методи грубої сили для зменшення мінімального розміру депозиту без виконання одного кінцевого слоту. Кількість необхідної агрегації складає лише 64 рази менше, ніж у чистому випадку (3), тому проблема стає простішою.

(1 + 3): додати Орбіт без виконання одного кінцевого слоту

(2 + 3): здійснюйте Orbit SSF з консервативними параметрами (наприклад, комітет валідаторів розміром 128 тисяч замість 8 тисяч або 32 тисяч), та використовуйте техніки грубої сили для зроблення цього ультра-ефективним.

(1 + 4): додавання рейнбоу-стейкінгу без виконання одиночного завершення слоту

Як воно взаємодіє з іншими частинами дорожньої карти?

Крім інших вигод, однослотова остаточність зменшує ризикпевні типи багатоблочних атак MEV. Крім того, дизайни розділення атестанта-пропозера та інші конвеєри виробництва блоків в протоколі потребували б різного проектування в світі остаточності з одним слотом.

Стратегії грубої сили мають слабкість у тому, що вони ускладнюють зменшення часу слоту.

Одноманітний вибір лідера за секретом

Яку проблему ми вирішуємо?

Сьогодні заздалегідь відомо, який валідатор буде пропонувати наступний блок. Це створює уразливість безпеки: атакувальник може спостерігати за мережею, визначати, які валідатори відповідають яким IP-адресам, і проводити атаку DoS на кожного валідатора в самий момент, коли вони мають пропонувати блок.

Що це таке і як воно працює?

Найкращий спосіб виправити проблему DoS - це приховати інформацію про те, який перевіряючий буде виробляти наступний блок, принаймні до моменту фактичного виробництва блоку. Зверніть увагу, що це легко зробити, якщо ми видалимо вимогу «одиничної»: одно рішеннядозволяє будь-кому створити наступний блок, але потребуєrandao виявитищоб було менше 2256 / N. У середньому лише один валідатор зможе відповідати цим вимогам - але іноді їх буде двоє або більше і іноді їх буде нуль. Поєднання вимог "таємниці" з вимогою "одиночності" давно є складною проблемою.

Протоколи виборів одного таємного лідера вирішують цю проблему, використовуючи деякі криптографічні методи для створення «засліпленого» ідентифікатора валідатора для кожного валідатора, а потім надаючи багатьом ініціаторам можливість тасувати та повторно засліпити пул засліплених ідентифікаторів (це схоже на те, як мікснетПід час кожного слоту вибирається випадкове закрите ідентифікаційне значення. Лише власник цього закритого ідентифікаційного значення може створити дійсне доказ про запропонування блоку, але ніхто інший не знає, якому валідатору відповідає це закрите ідентифікаційне значення.

Whisk SSLE протокол

Що залишається робити і які компроміси?

Реалістично, залишається лише знайти та впровадити протокол, який є достатньо простим, щоб ми могли з комфортом впровадити його на mainnet. Ми високо цінуємо те, що Ethereum є досить простим протоколом, і не хочемо, щоб складність подальше збільшувалася. Реалізації SSLE, які ми бачили, додають сотні рядків коду специфікації та вводять нові припущення в складній криптографії. Вирішення ефективної достатньо квантово-стійкої реалізації SSLE також є відкритою проблемою.

Можливо, стане так, що додаткова складність, яку вводить SSLE, зменшиться лише тоді, коли ми ризикнемо і введемо механізми для проведення загальнопризначених доказів нульового знання в протокол Ethereum на рівні L1 з інших причин (наприклад, дерева стану, ZK-EVM).

Альтернативною опцією є просто не заморочуватися з SSLE та використовувати за межами протоколу пом'якшення (наприклад, на рівні p2p) для вирішення проблем DoS.

Як воно взаємодіє з іншими частинами дорожньої карти?

Якщо ми додамо механізм розділення атестанта-пропонента (APS), наприклад. білети виконання, тоді блоки виконання (тобто блоки, що містять транзакції Ethereum) не будуть потребувати SSLE, оскільки ми могли б розраховувати на спеціалізованих будівельників блоків. Однак ми все ще скористаємося з SSLE для блоків згоди (тобто блоків, що містять протокольні повідомлення, такі як свідчення, можливо, частини списків включень тощо).

Швидше підтвердження транзакцій

Яку проблему ми вирішуємо?

Є цінність в Ethereum’s час підтвердження транзакції подальше зменшення, від 12 секунд до наприклад 4 секунд. Це значно покращить користувацький досвід як L1, так і заснованих на rollups, підвищуючи ефективність протоколів дефі. Це також ускладнить децентралізацію L2, оскільки дозволить великому класу додатків L2 працювати на засновані ролапи, зменшуючи попит на L2, щоб вони будували власний комітетний децентралізований послідовний порядок.

Що це таке і як воно працює?

Тут взагалі існують дві сім'ї технік:

  1. Зменшити часи слотів, до наприклад.8 секундабо 4 секунди. Це не обов'язково означає, що 4-секундна окончателість: окончателість властиво займає три раунди спілкування, тому ми можемо зробити кожен раунд спілкування окремим блоком, який після 4 секунд отримає принаймні попереднє підтвердження.
  2. Дозвольте пропонентам публікувати попередні підтвердження протягом слоту. У крайньому випадку пропонент може включити транзакції, які вони бачать у свій блок в реальному часі, і негайно опублікувати повідомлення про попереднє підтвердження для кожної транзакції («Моя перша транзакція - 0×1234…», «Моя друга транзакція - 0×5678…»). Випадок, коли пропонент публікує два конфліктуючих підтвердження, може бути вирішено двома способами: (i) шляхом покарання пропонента, або (ii) використанням атестаторів для голосування за те, який прийшов раніше.

Що залишилося зробити, і які компроміси?

Далеко неясно, наскільки практично зменшувати час слоту. Навіть сьогодні стейкери в багатьох регіонах світу мають важкість у включенні доказів достатньо швидко. Спроба запуску слотів на 4 секунди призводить до ризику централізації набору валідаторів та робить непрактичним бути валідатором поза кількома привілейованими географіями через затримку передачі даних. Зокрема, перехід до слотів на 4 секунди потребував би зменшення обмеження мережевої затримки («дельта») до двох секунд.

Метод попередньої підтвердження пропонента має слабкість у тому, що він може значно покращити часи включення у середньому випадку, але не у найгіршому: якщо поточний пропонент працює добре, вашу транзакцію буде попередньо підтверджено за 0,5 секунди замість включення за (в середньому) 6 секунд, але якщо поточний пропонент не в мережі або не працює належним чином, вам все одно доведеться чекати до повних 12 секунд, щоб наступний слот розпочався і надав нового пропонента.

Додатково, існує відкрите питання про те, як будуть стимулюватися попередні підтвердження. Пропоненти мають стимул максимізувати свою можливість якомога довше. Якщо свідки підтверджують своєчасність попередніх підтверджень, то відправники транзакцій можуть зробити частину комісії залежною від негайного попереднього підтвердження, але це поставить додаткове бремено на свідків і, можливо, ускладнить їм продовжувати працювати як нейтральний «дурний канал».

З іншого боку, якщо ми не спробуємо це зробити і залишимо час фіналізації на рівні 12 секунд (або довше), екосистема буде надавати більший вагу передпідтверджувальним механізмам, створеним рівнем 2, і взаємодія між рівнями 2 займе більше часу.

Як воно взаємодіє з іншими частинами дорожньої карти?

Засновані на пропозері попередні підтвердження реалістично залежать від механізму розділення атестанта-пропозера (APS), наприклад. квитки на виконання. В іншому випадку, тиск на надання попередніх підтверджень у реальному часі може бути занадто централізуючим для звичайних перевіряючих.

Точність короткого часу слоту також залежить від структури слоту, яка сильно залежить від того, які версії APS, списки включення тощо ми врешті-решт реалізуємо. Є структури слотів, які містять менше раундів і тому дружелюніші до короткого часу слоту, але вони роблять компроміси в інших місцях.

Інші досліджувані області

відновлення атаки 51%

Часто вважають, що якщо стається атака 51% (включаючи атаки, які не є криптографічно доведеними, такі як цензура), спільнота об'єднається, щоб реалізувати меншість м'якого відгалуженнящо забезпечує перемогу порядних людей, а поганих учасників виявлять через бездіяльність або штрафують. Однак цей рівень надмірної залежності від соціального рівня, мабуть, є нездоровим. Ми можемо спробувати зменшити залежність від соціального рівня, роблячи процес відновлення якомога більш автоматизованим.

Повна автоматизація неможлива, оскільки в такому випадку це буде вважатися алгоритмом консенсусу з рівнем відмовості більше 50%, і ми вже знаємо (дуже обмежений)математично доведені обмеження таких алгоритмів. Але ми можемо досягти часткової автоматизації: наприклад, клієнт може автоматично відмовитися приймати ланцюг як завершений, або навіть як голову вибору відгалуження, якщо цензурує транзакції, які клієнт бачив досить довго. Ключовою метою було б забезпечити, що поганці в атакі принаймні не можуть швидко отримати чисту перемогу.

Збільшення порогу кворуму

Сьогодні блок фіналізується, якщо 67% стейкерів його підтримують. Існує думка, що це занадто агресивно. У всій історії Ethereum було лише одне (дуже коротке) порушення фінальності. Якщо цей відсоток збільшити, наприклад, до 80%, то кількість періодів непідтвердженості буде відносно невеликою, але Ethereum здобуде властивості безпеки: зокрема, багато суперечливих ситуацій призведуть до тимчасового зупинення фінальності. Це, здається, набагато здоровіша ситуація, ніж отримання миттєвої перемоги "неправильною стороною", якщо ця сторона - атакуючий, або клієнт, в якого є помилка.

Це також дає відповідь на питання «яка мета учасників, які діють самостійно»? Сьогодні більшість учасників вже мають ставки через пули, і дуже малоймовірно, що учасники, які діють самостійно, складуть 51% від загальної кількості ETH. Однак досягнення того, щоб учасники, які діють самостійно, становили кворум-блокуючий меншість, особливо якщо кворум становить 80% (тобто кворум-блокуючій меншій частині вистачить лише 21%), здається потенційно досяжним, якщо ми докладемо багато зусиль. Поки учасники, які діють самостійно, не долучаться до атаки на 51% (чи то на зміну остаточності, чи то цензуру), така атака не отримає «чистої перемоги», і учасники, які діють самостійно, будуть мотивовані допомагати організувати меншість для м'якого вилучення.

Зверніть увагу, що між пороговими значеннями кворуму та механізмом Orbit існує взаємодія: якщо ми використовуємо Orbit, то те, що саме означає "21% стейкерів", стане більш складним питанням і в певній мірі буде залежати від розподілу валідаторів.

Квантова стійкість

Metaculus в даний момент вважає, хоча з великими погрішностями, квантові комп'ютери, ймовірно, почнуть руйнувати криптографію приблизно у 2030-х роках:

Фахівці з квантових обчислень, такі як Скотт Ааронсон, також нещодавно почали розглядати можливість реальної роботи квантових комп'ютерів у середньостроковій перспективінабагато серйозніше. Це має наслідки для всієї дорожньої карти Ethereum: це означає, що кожен елемент протоколу Ethereum, який наразі залежить від еліптичних кривих, повинен мати заміну на основі хешу або іншу квантово-стійку. Це, зокрема, означає, що ми не можемо припускати, що зможемо покладатися на відмінні властивості агрегації BLSпроцесувати підписи від великого набору валідаторів завжди. Це виправдовує консерватизм в припущеннях щодо продуктивності дизайнів доказу стейку, а також є причиною бути більш активним у розробці квантовостійких альтернатив.

Застереження:

  1. Ця стаття перепечатана з [ Віталік Бутерін], Усі авторські права належать оригінальному автору [Віталік Бутерін]. Якщо є зауваження до цього перепосту, будь ласка, зв'яжіться з Ворота Навчаннякоманда, і вони негайно займуться цим.
  2. Відповідальність за відмову: Погляди та думки, висловлені в цій статті, належать виключно автору і не становлять жодної інвестиційної поради.
  3. Переклади статей на інші мови виконуються командою Gate Learn. Якщо не зазначено інше, копіювання, поширення або плагіатування перекладених статей заборонені.

Можливі майбутність протоколу Ethereum, частина 1: Злиття

Розширений10/22/2024, 4:19:33 AM
У цій статті обговорюється "об'єднання" Ethereum та досліджуються напрями для удосконалення технічного дизайну Proof of Stake, а також потенційні способи досягнення цих покращень.

Спочатку «злиття» відносилося до найважливішої події в історії протоколу Ethereum з моменту його запуску: довгоочікуваний та важко здобутий перехід від доказу роботи до доказу власності. На сьогодні Ethereum працює стабільно у системі доказу власності майже рівно два роки, і цей доказ власності продемонстрував дуже високу ефективність. стабільність, продуктивність та уникання ризиків централізації. Однак і досі є деякі важливі області, в яких потрібно покращити доказ власності.

Моя схема дорожньої карти на 2023 рік розділила це на сегменти: покращення технічних функцій, таких як стабільність, продуктивність і доступність для менших валідаторів, а також економічні зміни для усунення ризиків централізації. Перший взяв на себе заголовок «Злиття», а другий став частиною «Бич».

Злиття, видання дорожньої карти на 2023 рік.

Цей пост буде акцентуватися на частині «Merge»: що все ще можна покращити в технічному дизайні доказу застави та які є деякі шляхи для досягнення цього?

Це не призначено як вичерпний перелік речей, які можна було б зробити для доказу у власність; це скоріше список ідей, які активно розглядаються.

Об'єднання: ключові цілі

  • Однослотова остаточна визначність
  • Підтвердження та завершення транзакції якнайшвидше, зберігаючи децентралізацію
  • Покращити вигідність стейкінгу для одиночних стейкерів
  • Покращити надійність
  • Покращити можливість Ethereum протистояти та відновлюватися від 51% атак (включаючи реверсію фінальності, блокування фінальності та цензуру)

У цій главі

Одноразова фінальність та демократизація стейкінгу

Яку проблему ми вирішуємо?

Сьогодні для завершення блоку потрібно 2-3 епохи (~15 хв), і для того, щоб бути стейкером, потрібно 32 ETH. Спочатку це було компромісом, який мав на меті @VitalikButerin/parametrizing-casper-the-decentralization-finality-time-overhead-tradeoff-3f2011672735">баланс між трьома цілями:

  • Максимізація кількості валідаторів, які можуть брати участь у стейкінгу (це напряму означає мінімізацію мінімальної кількості ETH, необхідної для стейкінгу)
  • Мінімізація часу до завершення
  • Мінімізація накладних витрат на запуск вузла, у цьому випадку вартість завантаження, перевірки та повторного відправлення всіх інших підписів валідаторів

Три цілі суперечать: щоб економічна остаточність була можливою (тобто атакувальник повинен буде спалити велику кількість ETH, щоб скасувати фіналізований блок), вам потрібно, щоб кожен окремий валідатор підписував дві повідомлення кожного разу, коли відбувається остаточність. Таким чином, якщо у вас багато валідаторів, вам або потрібно довго обробляти всі їхні підписи, або вам потрібно мати дуже потужні вузли для обробки всіх підписів одночасно.

Зверніть увагу, що все це умовно припускається за ключову мету Ethereum: забезпечення того, що навіть успішні атаки мають високу вартість для атакувальника. Це означає термін "економічна остаточність". Якщо б у нас не було цієї мети, тоді ми могли б вирішити цю проблему, випадково вибравши комітет для завершення кожного слоту. Ланцюжки, які не намагаються досягти економічної остаточності, такі як Algorand, часто робіть саме це. Проблема цього підходу полягає в тому, що якщо нападник контролює 51% валідаторів, то вони можуть здійснити напад (скасування фіналізованого блоку, або цензурування, або затримку фіналізації) за дуже низьку ціну: тільки частина їхніх вузлів, які входять до комітету, може бути виявлена як учасник нападу та покарана, чи череззниженняабосоціально-координований м'який форк. Це означає, що зловмисник може повторно атакувати ланцюжок багато разів, втрачаючи лише невелику частину своєї ставки під час кожної атаки. Отже, якщо ми хочемо економічної остаточності, наївний підхід, заснований на комітетах, не працює, і на перший погляд здається, що нам потрібен повний набір валідаторів для участі.

Ідеально, ми хочемо зберегти економічну остаточність, одночасно покращуючи статус-кво у двох областях:

  1. Завершіть блоки в одному слоті (ідеально, збережіть або навіть зменшіть поточну тривалість 12 с), замість 15 хв
  2. Дозволяти валідаторам робити ставку з 1 ETH (замість 32 ETH)

Перший мета обґрунтовується двома цілями, які можна розглядати як «приведення властивостей Ethereum у відповідність з властивостями (більш централізованих) ланцюгів L1, спрямованих на продуктивність».

Спочатку воно забезпечує, що всі користувачі Ethereum фактично користуються вищим рівнем гарантій безпеки, які досягаються за допомогою механізму закінчення. Сьогодні більшість користувачів цього не роблять, оскільки вони не бажають чекати 15 хвилин; з однослотовим закінченням користувачі побачать, що їх транзакції будуть завершені практично відразу після їх підтвердження. По-друге, це спрощує протокол та навколишню інфраструктуру, якщо користувачі та додатки не повинні турбуватися про можливість повернення ланцюжка, крім відносно рідкого випадку анвитік неактивності.

Друга мета обґрунтовується бажанням підтримувати сольових стейкерів. Опит за опитом показує, що головним чинником, який перешкоджає більшій кількості людей займатися сольовим стейкінгом, є мінімальний розмір 32 ETH. Зменшення мінімуму до 1 ETH вирішило б це питання, настільки, що інші турботи стають домінуючим чинником, який обмежує сольовий стейкінг.

Є виклик: цілі швидкішої остаточності та більш демократизованого стейкінгу конфліктують з метою мінімізації накладних витрат. І, насправді, саме ця обставина є цілим приводом, чому ми не починали з остаточності одного слоту з самого початку. Однак більш пізні дослідження пропонують кілька можливих шляхів обходу проблеми.

Що це таке і як воно працює?

Однослотова остаточність передбачає використання алгоритму консенсусу, який завершує блоки за один слот. Це само по собі не є складною метою: багато алгоритмів, таких як Угода Tendermint, вже роблять це з оптимальними властивостями. Одна бажана властивість, унікальна для Ethereum, яку не підтримує Tendermint, - витоки неактивності, що дозволяють ланцюгу продовжувати працювати і врешті-решт відновлюватися навіть тоді, коли вийшло з ладу більше, ніж 1/3 валідаторів. На щастя, ця бажання вже враховано: є вже пропозиціїщо модифікують консенсус у стилі Tendermint, щоб врахувати витоки неактивності.

Лідируючий пропозиція щодо одинарної фінальності

Складніше завдання полягає в тому, як зробити так, щоб робота з одним слотом фінальності працювала з вельми високим рахунком валідаторів, не призводячи до надзвичайно високого навантаження на оператора вузла. Для цього є кілька провідних рішень:

  • Варіант 1: Груба сила - наполегливо працювати над вдосконаленням протоколів агрегації підписів, можливо, використовуючи ZK-SNARKs, що фактично дозволило б нам обробляти підписи від мільйонів валідаторів у кожному слоті.

Horn, один із запропонованих дизайнів для кращого протоколу агрегації.

  • Опція 2: Комітети орбіти - новий механізм, який дозволяє випадково вибраному середньорозмірному комітету бути відповідальним за завершення ланцюга, але таким чином, що зберігає властивості вартості атаки, які ми шукаємо.

    Один спосіб подумати про Orbit SSF полягає в тому, що він відкриває простір компромісних варіантів уздовж спектра від x=0 (комітети у стилі Algorand, без економічної остаточності) до x=1 (статус-кво Ethereum), відкриваючи точки посередині, де у Ethereum все ще достатньо економічної остаточності, щоб бути надзвичайно безпечним, але в той же час ми отримуємо користь в ефективності від того, що нам потрібно лише середньої величини випадкову вибірку валідаторів для участі в кожному слоті.

Орбіт використовує наявну гетерогенність розмірів депозитів валідаторів, щоб отримати максимальну економічну остаточність, все ще надаючи малим валідаторам пропорційну роль. Крім того, Орбіт використовує повільну ротацію комітету, щоб забезпечити високу перекритість між суміжними кворумами, забезпечуючи, що його економічна остаточність все ще застосовується на межах перемикання комітетів.

  • Варіант 3: дворівневе укладання - механізм, за якого існують два класи стейкерів, один з вищими вимогами до депозиту, а інший з меншими вимогами до депозиту. Тільки стейкери з вищими вимогами до депозиту безпосередньо беруть участь у забезпеченні економічної остаточності. Існують різні пропозиції (наприклад, див. стейкінг в райдузі) для чіткого розуміння прав та обов'язків, які має нижчий рівень депозиту. Загальні ідеї включають:
    • право делегувати ставку вищому рівню ставкера
    • випадковий вибір нижнього рівня стейкерів, які підтверджують, і потрібно для завершення кожного блоку
    • право на генераціюсписки включення

Що залишилося зробити, і які компроміси?

Є чотири основні можливі шляхи (і ми також можемо вибрати гібридні шляхи):

  1. Зберігати статус-кво
  2. Брутальна сила SSF
  3. Orbit SSF
  4. SSF з дворівневим стейкінгом

(1) означає відсутність роботи та залишання стейкінгу як є, але це залишає досвід безпеки Ethereum та властивості централізації стейкінгу гірше, ніж вони могли б бути.

(2) Груба сила розв'язання проблеми високих технологій. Для цього потрібно зібрати дуже велику кількість підписів (1 млн+) за дуже короткий проміжок часу (5-10 секунд). Один із способів уявити цей підхід полягає в тому, що він передбачає мінімізація системної складності шляхом повного прийняття інкапсульованої складності.

(3) уникати «високих технологій» та вирішувати проблему шляхом винахідливого переосмислення припущень щодо протоколу: ми розслаблюємо вимогу до «економічної остаточності», так що ми вимагаємо, щоб атаки були дорогими, але ми погоджуємося з тим, що вартість атаки може бути можливо в 10 разів менше, ніж сьогодні (наприклад, вартість атаки в $2,5 мільярда замість $25 мільярдів). Загальноприйнятою думкою є те, що у сучасному Ethereum є набагато більше економічної остаточності, ніж потрібно, і його основні ризики безпеки знаходяться десь інде, тому можна стверджувати, що це прийнятна жертва.

Головна робота полягає в перевірці того, що механізм Orbit є безпечним і має властивості, які нам потрібні, а потім повністю формалізувати та реалізувати його. Крім того, EIP-7251 (збільшення максимального ефективного балансу)дозволяє добровільну консолідацію балансу валідатора, що негайно зменшує загальну навантаженість на перевірку ланцюжка, і діє як ефективний початковий етап для впровадження Orbit.

(4) уникає винахідливого переосмислення та високих технологій, але створює дворівневу систему ставок, яка все ще має ризики централізації. Ризики в значній мірі залежать від конкретних прав, які отримує нижній рівень ставок. Наприклад:

  • Якщо стейкер нижнього рівня потребує делегувати свої права на підтвердження високорівневому стейкеру, то делегування може централізуватися, і ми таким чином отримаємо два високоцентралізованих рівні стейкінгу.
  • Якщо потрібен випадковий вибір нижнього рівня для затвердження кожного блоку, то нападник може витратити дуже невелику кількість ETH, щоб заблокувати остаточність.
  • Якщо стейкери нижнього рівня можуть лише складати списки включень, то рівень довіри може залишатися централізованим, на якому етапі атака 51% на рівень довіри може цензурити самі списки включень.

Декілька стратегій можуть бути поєднані, наприклад:

(1 + 2): використовуйте методи грубої сили для зменшення мінімального розміру депозиту без виконання одного кінцевого слоту. Кількість необхідної агрегації складає лише 64 рази менше, ніж у чистому випадку (3), тому проблема стає простішою.

(1 + 3): додати Орбіт без виконання одного кінцевого слоту

(2 + 3): здійснюйте Orbit SSF з консервативними параметрами (наприклад, комітет валідаторів розміром 128 тисяч замість 8 тисяч або 32 тисяч), та використовуйте техніки грубої сили для зроблення цього ультра-ефективним.

(1 + 4): додавання рейнбоу-стейкінгу без виконання одиночного завершення слоту

Як воно взаємодіє з іншими частинами дорожньої карти?

Крім інших вигод, однослотова остаточність зменшує ризикпевні типи багатоблочних атак MEV. Крім того, дизайни розділення атестанта-пропозера та інші конвеєри виробництва блоків в протоколі потребували б різного проектування в світі остаточності з одним слотом.

Стратегії грубої сили мають слабкість у тому, що вони ускладнюють зменшення часу слоту.

Одноманітний вибір лідера за секретом

Яку проблему ми вирішуємо?

Сьогодні заздалегідь відомо, який валідатор буде пропонувати наступний блок. Це створює уразливість безпеки: атакувальник може спостерігати за мережею, визначати, які валідатори відповідають яким IP-адресам, і проводити атаку DoS на кожного валідатора в самий момент, коли вони мають пропонувати блок.

Що це таке і як воно працює?

Найкращий спосіб виправити проблему DoS - це приховати інформацію про те, який перевіряючий буде виробляти наступний блок, принаймні до моменту фактичного виробництва блоку. Зверніть увагу, що це легко зробити, якщо ми видалимо вимогу «одиничної»: одно рішеннядозволяє будь-кому створити наступний блок, але потребуєrandao виявитищоб було менше 2256 / N. У середньому лише один валідатор зможе відповідати цим вимогам - але іноді їх буде двоє або більше і іноді їх буде нуль. Поєднання вимог "таємниці" з вимогою "одиночності" давно є складною проблемою.

Протоколи виборів одного таємного лідера вирішують цю проблему, використовуючи деякі криптографічні методи для створення «засліпленого» ідентифікатора валідатора для кожного валідатора, а потім надаючи багатьом ініціаторам можливість тасувати та повторно засліпити пул засліплених ідентифікаторів (це схоже на те, як мікснетПід час кожного слоту вибирається випадкове закрите ідентифікаційне значення. Лише власник цього закритого ідентифікаційного значення може створити дійсне доказ про запропонування блоку, але ніхто інший не знає, якому валідатору відповідає це закрите ідентифікаційне значення.

Whisk SSLE протокол

Що залишається робити і які компроміси?

Реалістично, залишається лише знайти та впровадити протокол, який є достатньо простим, щоб ми могли з комфортом впровадити його на mainnet. Ми високо цінуємо те, що Ethereum є досить простим протоколом, і не хочемо, щоб складність подальше збільшувалася. Реалізації SSLE, які ми бачили, додають сотні рядків коду специфікації та вводять нові припущення в складній криптографії. Вирішення ефективної достатньо квантово-стійкої реалізації SSLE також є відкритою проблемою.

Можливо, стане так, що додаткова складність, яку вводить SSLE, зменшиться лише тоді, коли ми ризикнемо і введемо механізми для проведення загальнопризначених доказів нульового знання в протокол Ethereum на рівні L1 з інших причин (наприклад, дерева стану, ZK-EVM).

Альтернативною опцією є просто не заморочуватися з SSLE та використовувати за межами протоколу пом'якшення (наприклад, на рівні p2p) для вирішення проблем DoS.

Як воно взаємодіє з іншими частинами дорожньої карти?

Якщо ми додамо механізм розділення атестанта-пропонента (APS), наприклад. білети виконання, тоді блоки виконання (тобто блоки, що містять транзакції Ethereum) не будуть потребувати SSLE, оскільки ми могли б розраховувати на спеціалізованих будівельників блоків. Однак ми все ще скористаємося з SSLE для блоків згоди (тобто блоків, що містять протокольні повідомлення, такі як свідчення, можливо, частини списків включень тощо).

Швидше підтвердження транзакцій

Яку проблему ми вирішуємо?

Є цінність в Ethereum’s час підтвердження транзакції подальше зменшення, від 12 секунд до наприклад 4 секунд. Це значно покращить користувацький досвід як L1, так і заснованих на rollups, підвищуючи ефективність протоколів дефі. Це також ускладнить децентралізацію L2, оскільки дозволить великому класу додатків L2 працювати на засновані ролапи, зменшуючи попит на L2, щоб вони будували власний комітетний децентралізований послідовний порядок.

Що це таке і як воно працює?

Тут взагалі існують дві сім'ї технік:

  1. Зменшити часи слотів, до наприклад.8 секундабо 4 секунди. Це не обов'язково означає, що 4-секундна окончателість: окончателість властиво займає три раунди спілкування, тому ми можемо зробити кожен раунд спілкування окремим блоком, який після 4 секунд отримає принаймні попереднє підтвердження.
  2. Дозвольте пропонентам публікувати попередні підтвердження протягом слоту. У крайньому випадку пропонент може включити транзакції, які вони бачать у свій блок в реальному часі, і негайно опублікувати повідомлення про попереднє підтвердження для кожної транзакції («Моя перша транзакція - 0×1234…», «Моя друга транзакція - 0×5678…»). Випадок, коли пропонент публікує два конфліктуючих підтвердження, може бути вирішено двома способами: (i) шляхом покарання пропонента, або (ii) використанням атестаторів для голосування за те, який прийшов раніше.

Що залишилося зробити, і які компроміси?

Далеко неясно, наскільки практично зменшувати час слоту. Навіть сьогодні стейкери в багатьох регіонах світу мають важкість у включенні доказів достатньо швидко. Спроба запуску слотів на 4 секунди призводить до ризику централізації набору валідаторів та робить непрактичним бути валідатором поза кількома привілейованими географіями через затримку передачі даних. Зокрема, перехід до слотів на 4 секунди потребував би зменшення обмеження мережевої затримки («дельта») до двох секунд.

Метод попередньої підтвердження пропонента має слабкість у тому, що він може значно покращити часи включення у середньому випадку, але не у найгіршому: якщо поточний пропонент працює добре, вашу транзакцію буде попередньо підтверджено за 0,5 секунди замість включення за (в середньому) 6 секунд, але якщо поточний пропонент не в мережі або не працює належним чином, вам все одно доведеться чекати до повних 12 секунд, щоб наступний слот розпочався і надав нового пропонента.

Додатково, існує відкрите питання про те, як будуть стимулюватися попередні підтвердження. Пропоненти мають стимул максимізувати свою можливість якомога довше. Якщо свідки підтверджують своєчасність попередніх підтверджень, то відправники транзакцій можуть зробити частину комісії залежною від негайного попереднього підтвердження, але це поставить додаткове бремено на свідків і, можливо, ускладнить їм продовжувати працювати як нейтральний «дурний канал».

З іншого боку, якщо ми не спробуємо це зробити і залишимо час фіналізації на рівні 12 секунд (або довше), екосистема буде надавати більший вагу передпідтверджувальним механізмам, створеним рівнем 2, і взаємодія між рівнями 2 займе більше часу.

Як воно взаємодіє з іншими частинами дорожньої карти?

Засновані на пропозері попередні підтвердження реалістично залежать від механізму розділення атестанта-пропозера (APS), наприклад. квитки на виконання. В іншому випадку, тиск на надання попередніх підтверджень у реальному часі може бути занадто централізуючим для звичайних перевіряючих.

Точність короткого часу слоту також залежить від структури слоту, яка сильно залежить від того, які версії APS, списки включення тощо ми врешті-решт реалізуємо. Є структури слотів, які містять менше раундів і тому дружелюніші до короткого часу слоту, але вони роблять компроміси в інших місцях.

Інші досліджувані області

відновлення атаки 51%

Часто вважають, що якщо стається атака 51% (включаючи атаки, які не є криптографічно доведеними, такі як цензура), спільнота об'єднається, щоб реалізувати меншість м'якого відгалуженнящо забезпечує перемогу порядних людей, а поганих учасників виявлять через бездіяльність або штрафують. Однак цей рівень надмірної залежності від соціального рівня, мабуть, є нездоровим. Ми можемо спробувати зменшити залежність від соціального рівня, роблячи процес відновлення якомога більш автоматизованим.

Повна автоматизація неможлива, оскільки в такому випадку це буде вважатися алгоритмом консенсусу з рівнем відмовості більше 50%, і ми вже знаємо (дуже обмежений)математично доведені обмеження таких алгоритмів. Але ми можемо досягти часткової автоматизації: наприклад, клієнт може автоматично відмовитися приймати ланцюг як завершений, або навіть як голову вибору відгалуження, якщо цензурує транзакції, які клієнт бачив досить довго. Ключовою метою було б забезпечити, що поганці в атакі принаймні не можуть швидко отримати чисту перемогу.

Збільшення порогу кворуму

Сьогодні блок фіналізується, якщо 67% стейкерів його підтримують. Існує думка, що це занадто агресивно. У всій історії Ethereum було лише одне (дуже коротке) порушення фінальності. Якщо цей відсоток збільшити, наприклад, до 80%, то кількість періодів непідтвердженості буде відносно невеликою, але Ethereum здобуде властивості безпеки: зокрема, багато суперечливих ситуацій призведуть до тимчасового зупинення фінальності. Це, здається, набагато здоровіша ситуація, ніж отримання миттєвої перемоги "неправильною стороною", якщо ця сторона - атакуючий, або клієнт, в якого є помилка.

Це також дає відповідь на питання «яка мета учасників, які діють самостійно»? Сьогодні більшість учасників вже мають ставки через пули, і дуже малоймовірно, що учасники, які діють самостійно, складуть 51% від загальної кількості ETH. Однак досягнення того, щоб учасники, які діють самостійно, становили кворум-блокуючий меншість, особливо якщо кворум становить 80% (тобто кворум-блокуючій меншій частині вистачить лише 21%), здається потенційно досяжним, якщо ми докладемо багато зусиль. Поки учасники, які діють самостійно, не долучаться до атаки на 51% (чи то на зміну остаточності, чи то цензуру), така атака не отримає «чистої перемоги», і учасники, які діють самостійно, будуть мотивовані допомагати організувати меншість для м'якого вилучення.

Зверніть увагу, що між пороговими значеннями кворуму та механізмом Orbit існує взаємодія: якщо ми використовуємо Orbit, то те, що саме означає "21% стейкерів", стане більш складним питанням і в певній мірі буде залежати від розподілу валідаторів.

Квантова стійкість

Metaculus в даний момент вважає, хоча з великими погрішностями, квантові комп'ютери, ймовірно, почнуть руйнувати криптографію приблизно у 2030-х роках:

Фахівці з квантових обчислень, такі як Скотт Ааронсон, також нещодавно почали розглядати можливість реальної роботи квантових комп'ютерів у середньостроковій перспективінабагато серйозніше. Це має наслідки для всієї дорожньої карти Ethereum: це означає, що кожен елемент протоколу Ethereum, який наразі залежить від еліптичних кривих, повинен мати заміну на основі хешу або іншу квантово-стійку. Це, зокрема, означає, що ми не можемо припускати, що зможемо покладатися на відмінні властивості агрегації BLSпроцесувати підписи від великого набору валідаторів завжди. Це виправдовує консерватизм в припущеннях щодо продуктивності дизайнів доказу стейку, а також є причиною бути більш активним у розробці квантовостійких альтернатив.

Застереження:

  1. Ця стаття перепечатана з [ Віталік Бутерін], Усі авторські права належать оригінальному автору [Віталік Бутерін]. Якщо є зауваження до цього перепосту, будь ласка, зв'яжіться з Ворота Навчаннякоманда, і вони негайно займуться цим.
  2. Відповідальність за відмову: Погляди та думки, висловлені в цій статті, належать виключно автору і не становлять жодної інвестиційної поради.
  3. Переклади статей на інші мови виконуються командою Gate Learn. Якщо не зазначено інше, копіювання, поширення або плагіатування перекладених статей заборонені.
เริ่มตอนนี้
สมัครและรับรางวัล
$100