У своїй новій програмній статті Віталік Бутерін підбиває підсумки переходу проєкту на алгоритм PoS і пояснює, з якими проблемами зараз зіткнувся блокчейн другої за розмірами криптовалюти. Також він розповідає, які завдання зараз стоять перед розробниками Ethereum.
З наведенням ладу в системі L2 Віталік впорався доволі легко, запропонувавши критерії для так званого вирівнювання наявних проєктів. Але з внесенням змін в основний протокол Ethereum справа йде складніше.
У статті під назвою «Можливе майбутнє протоколу Ethereum» Бутерін і його співавтори були змушені зануритися в історичний екскурс у глибоке минуле проєкту, щоб показати, чому змінити закладену основу дуже важко, але, в принципі, можливо.
Етап перший: The Merge і його суперечності
Раніше Ethereum використовував багато енергії для підтвердження транзакцій, оскільки застосовував алгоритм доказу роботи (PoW). Тепер Ethereum використовує більш енергоефективний метод — доказ частки володіння (PoS). Ця подія відбулася у вересні 2022 року і отримала назву The Merge або «Злиття».
Читайте також: The Merge відбувся! Реакція ринку та спільноти
Після переходу на новий алгоритм у Ethereum з'явилися три основні цілі:
- Пришвидшити час підтвердження транзакцій, який зараз коливається від 15 секунд до 6 хвилин.
- Зробити участь у мережі доступнішою. Зараз потрібно мати 32 ETH, щоб стати валідатором, і це занадто велика сума, щоб усі охочі могли брати участь у роботі протоколу.
- Мінімізувати накладні витрати.
Трилема Ethereum. Джерело: vitalik.eth.limo
Проблема має майже екзистенціальний характер, оскільки ці завдання суперечать одне одному. Щоб зробити мережу швидшою, потрібно більше учасників. Щоб брати участь зміг кожен охочий, необхідно знизити вимоги до кількості утримуваних монет. А це може безпосередньо позначитися на безпеці блокчейну.
Цю трилему Бутерін називає економічною остаточністю.
Ключове завдання, що стоїть зараз перед командою Ethereum, — зробити так, щоб зламати мережу було настільки дорого, що це було б просто недоцільно. У цьому разі можна буде знижувати поріг входу для валідаторів. Це і є в його розумінні «економічна остаточність».
Але як цього домогтися? Віталік стверджує, що простою зміною системи голосування бажаного результату не досягти.
Простий приклад
Уявімо, що Ethereum просто обиратиме випадкову групу валідаторів для підтвердження кожного блоку (як, наприклад, це відбувається на блокчейні Algorand). Звучить заманливо, але є проблема: якщо зловмисник контролює більшу частину валідаторів обраної групи, він може легко скасувати вже підтверджені транзакції. Адже йому не потрібно буде «підкуповувати» власників усіх нод цієї групи, достатньо лише частини. Решта, перебуваючи в шахрайській схемі, може просто залишатися незалученою.
Такий підхід сильно спрощує життя хакерам.
Виходом для Ethereum є механізм, за якого для скасування блоку необхідно обдурити або підкупити майже всіх валідаторів. Але за такої схеми підтвердження транзакцій забиратиме ще більше часу (який, навпаки, хочуть зменшити) і вимагатиме від кожного валідатора збільшення потужності обладнання.
Етап другий: балансування швидкості, доступності та безпеки
Отже, ми бачимо, що Ethereum стикається з непростим завданням: зробити мережу швидшою і доступнішою, зберігаючи водночас високий рівень безпеки.
На цьому етапі перед розробниками постають два основні завдання:
- Прискорити фіналізацію. Віталік ставить за мету зниження часу фіналізації з 12 до 6 секунд (а в ідеалі — і до 4), щоб користувачі отримували підтвердження транзакцій практично миттєво.
- Знизити поріг входу для стейкінгу. Дозволити валідаторам робити ставки від 1 ETH (замість сьогоднішніх 32), щоб залучити більше учасників і зробити доступним соло-стейкінг.
Такий процес Бутерін називає фіналізацією в один слот. Така концепція передбачає використання алгоритму консенсусу, що дає змогу підтверджувати блоки за один часовий інтервал. Це вимагає великої кількості учасників і їхньої повної синхронізації між собою.
Такий алгоритм уже реалізовано в протоколі Tendermint, який дає змогу поєднувати високу швидкість фіналізації зі стійкістю до збоїв.
Схема реалізації однослотового завершення. Джерело: vitalik.eth.limo
Однак Ethereum, на відміну від Tendermint, має унікальну властивість — стійкість до тривалих періодів бездіяльності валідаторів. Ця особливість, відома як «витоки бездіяльності», дозволяє мережі продовжувати функціонувати навіть за тривалої відсутності валідаторів у мережі.
Читайте також: Byzantine Fault Tolerance: маловідома особливість блокчейну
За словами Віталіка, розробники Ethereum зараз активно працюють над усуненням цієї проблеми. Вони вивчають різні варіанти та проводять експерименти, щоб знайти оптимальне рішення.
Одним із найперспективніших напрямів він вважає «двошаровий стейкінг».
Що таке двошаровий стейкінг і як він працює
Уявіть, що для захисту замку (блокчейну) є два види стражників: досвідчені лицарі та молоді зброєносці. Лицарі відповідальні за безпеку замку, а зброєносці допомагають їм. Це дуже спрощена аналогія двошарового стейкінгу.
У найближчому майбутньому в системі Ethereum можуть з'явитися два типи учасників:
- «Лицарі» — валідатори з великою кількістю монет. Вони безпосередньо братимуть участь у підтвердженні блоків і будуть відповідальні за безпеку мережі. Це ті учасники, які посіли свої місця відразу після реалізації The Merge.
- «Зброєносці» — валідатори з меншою кількістю монет. Вони допомагатимуть «лицарям» (наприклад, перевіряти транзакції перед їхнім відправленням у блок або генерувати списки учасників).
Так поріг входу для власників нод буде знижено і в систему зможе зайти більше людей. Поділ обов'язків між учасниками теоретично підвищить продуктивність мережі.
Існує кілька способів реалізувати двошаровий стейкінг:
- Впровадити Orbit SSF (протокол управління командами валідаторів для підтримки соло-стейкінгу). Він дає змогу знайти баланс між безпекою і продуктивністю, зробивши атаки на мережу дорожчими.
- Використання мережевого протоколу Brute-Force SSH. Такий підхід передбачає використання складних криптографічних алгоритмів для обробки великої кількості даних і дає змогу досягти дуже високої продуктивності.
- Двошаровий стейкінг із заміною ролей у випадкових групах валідаторів. У цьому варіанті «зброєносці» і «лицарі» можуть делегувати один одному частину своїх повноважень.
Варіанти реалізації однослотової фіналізації. Джерело: vitalik.eth.limo
Вибір варіанта залежить від відповіді на три запитання:
- Наскільки важливим для блокчейну є те, щоб його злам став недоцільно дорогим для хакерів?
- Наскільки таке ускладнення вплине на продуктивність мережі?
- Чи справді велика кількість валідаторів необхідна, щоб проєкт вважався децентралізованим?
Серед розробників поки тривають обговорення, як знайти баланс між безпекою, швидкістю і децентралізацією. І, схоже, ці розмови триватимуть ще довго, адже над трилемою блокчейну роками б'ються найкращі уми криптографії, і оптимального рішення поки не знайдено.
Читайте також: Модульні блокчейни — одне з рішень трилеми масштабованості
Проблема прихованого вибору пропозитора блоку в Ethereum
Зараз на блокчейні Ethereum заздалегідь відомо, який валідатор пропонуватиме наступний блок (для цього існує закодована в протоколі черговість). Це створює вразливість для атак: зловмисник може обчислити IP-адресу ноди та атакувати її, щоб перешкодити запропонувати сформований блок.
Щоб захистити мережу від таких атак, потрібно приховати інформацію про черговість активації валідаторів до самого моменту передання повноважень. Один зі способів реалізувати цю опцію — використовувати сертифікати Secure Sockets Layer (SSL).
Як працює SSL
Протокол захищених сокетів — це стандартна технологія захисту інтернет-з'єднання шляхом шифрування даних, що передаються між вебсайтом і браузером (або між декількома серверами).
Вона не дозволяє хакерам переглядати або красти будь-яку передану інформацію, включно з персональними або фінансовими даними. Тобто SSL, використовуючи криптографічні методи, дає змогу приховати інформацію про те, який валідатор пропонуватиме блок. Кожен валідатор отримує зашифрований ідентифікатор. Тільки нода, що відповідає цьому ідентифікатору, зможе довести свою участь у процесі та запропонувати блок.
Здавалося б, це є оптимальним розв'язанням проблеми, якби не одне але.
Використання SSL вимагатиме додавання в Ethereum нових криптографічних механізмів, які ускладнять і без того непросту архітектуру протоколу та вимагатимуть від валідаторів додаткової потужності. Тому це завдання також поки що не розв'язане і перебуває на етапі обговорення.
Крім того, Бутерін намагається розв'язати й більш прикладні завдання.
Етап третій: підвищення стійкості до атак 51% і збільшення порога кворуму
Поточні механізми відновлення Ethereum після атак 51% засновані на припущенні, що децентралізована спільнота в критичній ситуації зможе самостійно скоординувати свої дії, запустить механізм відновлення і проведе софт-форк. Однак такі очікування можуть виявитися хибними.
Читайте також: Що таке генезис-блок і чому він відсутній у форків
Віталік математично доводить, що створення автоматизованого механізму відновлення, здатного впоратися з будь-яким типом атаки 51%, неможливе. Проте часткова автоматизація, заснована на певних правилах (наприклад, відхилення скомпрометованих блоків), може істотно підвищити стійкість системи.
Хакери не полишають спроб атакувати блокчейни
Він визнає: максимум, що може зараз гарантувати блокчейн Ethereum, — це те, що хакери «не зможуть отримати швидку чисту перемогу».
Читайте також: Атаки на блокчейн, їх види
Бутерін також вказує, що наявний механізм фіналізації блоків в Ethereum, який вимагає згоди 67% валідаторів, часто критикують за зайву жорсткість. Але він, навпаки, вважає його недостатнім і пропонує підвищити цей поріг до 80%, що має поліпшити безпеку мережі та стійкість до атак.
Зловмисникам потрібно контролювати істотно більшу частку мережі, що робить атаку економічно невигідною і технічно складною. А в разі виникнення спірних ситуацій (наприклад, за появи ланцюжків-конкурентів) збільшення порога кворуму дасть змогу уникнути швидких і невиправданих софт-форків, підвищуючи стабільність мережі.
Але найголовніше, що це буде додатковим стимулом для участі в соло-стейкінгу і сприятиме істинній децентралізації мережі.
У сухому залишку
З програмної статті стає зрозуміло, що готових рішень Бутерін поки що запропонувати не може. Ініціативи, які він озвучує, досить неоднозначні, тому він пропонує відкрити широке обговорення щодо майбутнього проєкту і закликає приєднатися до нього всіх охочих.
З позитивних моментів можна відзначити тільки те, що Віталік усвідомив необхідність зниження порога входу для валідаторів і важливість присутності соло-стейкерів у мережі Ethereum, нехай навіть на правах «зброєносців».
Читайте також: Ethereum: маловідомі факти з історії