Допоможіть оновити цю сторінку

🌏

Ми оновили контент на цій сторінці, але наразі нова версія доступна лише англійською мовою. Допоможіть нам її перекласти.

Це не помилка!🐛

Ця сторінка не перекладається. Ми навмисно поки що залишили її англійською.

Останнє оновлення сторінки: 30 червня 2022 р.

Вступ до керування Ethereum

Якщо ніхто не є власником Ethereum, то як приймаються рішення щодо минулих і майбутніх змін в Ethereum? Керування Ethereum — це процес, що дає змогу приймати такі рішення.

У чому полягає керування?

Керування — це наявні системи, які дають змогу приймати рішення. У типовій організаційній структурі остаточні рішення можуть прийматися командою керівників або радою директорів. Інколи за пропозиції щодо внесення змін голосують акціонери. У політичній системі обрані чиновники можуть приймати закони, намагаючись задовольнити бажання виборців.

Децентралізоване керування

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

Керування Ethereum

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

Керування в межах ланцюга та поза ним

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

За іншого підходу — керування поза ланцюгом — рішення щодо будь-яких змін до протоколу приймаються в ході неофіційної дискусії. Якщо зміну буде погоджено, її внесуть у код.

В Ethereum керування відбувається поза ланцюгом з участю широкого кола зацікавлених осіб.

Хоча на рівні протоколу керування Ethereum відбувається поза ланцюгом, для багатьох варіантів користування, побудованих на основі Ethereum, як-от DAO, застосовується керування в межах ланцюга.

Докладніше про DAO

Хто бере участь?

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

  • Власники Ether, тобто особи, що володіють будь-якою кількістю ETH. Докладніше про ETH.
  • Користувачі програм, тобто особи, що взаємодіють із програмами в блокчейні Ethereum.
  • Розробники програм та інструментів, тобто особи, що пишуть програми, запущені на блокчейні Ethereum (DeFi, NFTs тощо), або створюють інструменти для взаємодії з Ethereum (гаманці, тестові набори тощо). Докладніше про децентралізовані програми.
  • Оператори вузлів, тобто особи, що запускають вузли, які збільшують кількість блоків і швидкість транзакцій, скасовують недійсні транзакції та блоки, з якими ті зіштовхуються. Докладніше про вузли.
  • Автори EIP, тобто особи, які пропонують зміни до протоколу Ethereum у вигляді пропозицій щодо покращення Ethereum (Ethereum Improvement Proposals, EIP). Докладніше про EIP.
  • Майнери та валідатори, тобто особи, що запускають вузли, які можуть додавати нові блоки до блокчейну Ethereum.
  • Розробники протоколу (основні розробники), тобто особи, які виконують різноманітні реалізації в Ethereum (go-ethereum, Nethermind, Besu, Erigon на рівні виконання та Prysm, Lighthouse, Nimbus, Teku, Lodestar на рівні консенсусу). Докладніше про клієнтів Ethereum.

Примітка. Будь-хто може належати до кількох із цих категорій (наприклад, бути водночас розробником протоколів, автором EIP, валідатором ланцюгів маяків і користуватися програмами DeFi). Але для ясності їх простіше розрізняти.

Що таке EIP?

Одним із важливих процесів у керуванні Ethereum є подання пропозицій щодо покращення Ethereum (Ethereum Improvement Proposals, EIP). EIP — це стандарти, які визначають потенційні нові функції або процеси для Ethereum. Будь-хто в спільноті Ethereum може створювати EIP. Наприклад, жоден з авторів EIP-721 (пропозиції EIP щодо стандартизації NFT) не працював безпосередньо над розвитком протоколу Ethereum.

Докладніше про EIP

Офіційний процес

Нижче описано офіційний процес внесення змін до протоколу Ethereum.

  1. Подання основної пропозиції EIP. Згідно з EIP-1, щоб офіційно запропонувати зміну в Ethereum, спочатку потрібно її детально описати в основній пропозиції EIP. Вона стане офіційною специфікацією EIP, яку буде впроваджено розробниками протоколу в разі прийняття.

  2. Подання EIP розробникам протоколу. Коли буде готова основна пропозиція EIP, щодо якої буде зібрано думку спільноти, її потрібно подати розробникам протоколу. Для цього її можна подати на обговорення під час дзвінка AllCoreDevs. Імовірно, деякі обговорення вже будуть проведені незалежно одне від одного на форумі Ethereum Magiciian або Ethereum&D Discord.

Можливі результати цього етапу:

  • Пропозиція EIP буде погоджена для виконання за майбутнього оновлення мережі.
  • Будуть запропоновані технічні зміни.
  • Пропозицію може бути відхилено, якщо вона не є пріоритетною або достатньо вагомою для розвитку протоколу.
  1. Повторне подання остаточної пропозиції. Після отримання відгуків від усіх відповідних зацікавлених осіб вам можливо доведеться внести зміни до початкової пропозиції для підвищення її безпеки або можливості задовольнити потреби різних користувачів. Щойно в пропозицію EIP буде внесено всі правки, які ви вважаєте необхідними, потрібно ще раз надати її розробникам протоколу. Потім ви перейдете до наступного етапу, якщо не виникнуть нові питання, які вимагатимуть ще одного внесення правок.

  2. Включення EIP в мережеве оновлення. Якщо пропозицію EIP затверджено, випробувано та впроваджено, її буде заплановано в рамках оновлення мережі. Враховуючи високі витрати на координацію оновлення мережі (усі повинні оновитись одночасно), пропозиції EIP зазвичай об’єднують у пакети оновлень.

  3. Активація оновлення мережі. Після активації оновлення EIP буде впроваджено в мережі Ethereum. Примітка. Оновлення зазвичай активуються в тестових мережах, а потім уже в основній мережі Ethereum Mainnet.

Це дуже спрощений алгоритм дій, який дає загальне уявлення про основні етапи активації зміни протоколу в Ethereum. Тепер розгляньмо неофіційні фактори, які можуть впливати на хід цього процесу.

Неофіційний процес

Розуміння попередньої роботи

Користувачі, які подають пропозиції EIP, повинні ознайомитися з попередньою роботою та пропозиціями перед створенням нової EIP, що розглядатиметься для впровадження в основній мережі Ethereum Mainnet. Таким чином в EIP буде запропоновано щось дійсно нове, що раніше не відхилялося. Три основні ресурси для дослідження: репозиторій EIP, Ethereum Magicians і ethresear.ch.

Робочі групи

Початковий варіант EIP навряд чи буде впроваджено в основній мережі Ethereum Mainnet без редагування та правок. Користувачі, які подають EIP, зазвичай співпрацюють із підгрупою розробників протоколу для конкретизації, впровадження, випробування, виправлення та завершення пропозиції. Раніше це тривало кілька місяців (а іноді й років!). Так само користувачі, які подають EIP, для впровадження таких змін мають залучати й відповідних розробників програм та інструментів на початку процесу, щоб отримати відгуки кінцевих користувачів і усунути можливі ризики під час розгортання оновлення.

Консенсус спільноти

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

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

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

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

Вирішення суперечок

Наявність багатьох зацікавлених осіб із різними думками та мотиваціями означає часті розбіжності.

Зазвичай розбіжності вирішуються завдяки затяжним дискусіям на загальнодоступних форумах, які дають змогу висловитися кожному та зрозуміти корінь проблеми. У більшості випадків одна група йде на поступки або ж досягають компромісу. Якщо одна група твердо наполягає на своїй позиції, нав’язування певної зміни може призвести до розділення ланцюга. Розділення ланцюга відбувається, коли деякі зацікавлені особи протестують проти впровадження зміни протоколу, і це зумовлює появу різних несумісних його версій, з яких виникають два різних ланцюги блокчейну.

Розгалуження DAO

Розгалуження виникають, коли необхідно внести важливі технічні оновлення або зміни в мережу та змінити «правила» протоколу. Клієнти Ethereum повинні оновити своє програмне забезпечення для впровадження нових правил розгалуження.

Розгалуження DAO з’явилися у відповідь на атаку на DAO у 2016 році, коли внаслідок зламу незахищеного контракту DAO було втрачено понад 3,6 млн ETH. Завдяки розгалуженню вдалося перенести кошти з пошкодженого контракту до нового, що дало змогу кожному, хто втратив кошти під час зламу, повернути їх.

Рішення про впровадження такого заходу було прийнято в результаті голосування, у якому взяла участь спільнота Ethereum. Усі власники ETH могли проголосувати шляхом здійснення транзакції на платформі для голосування. Розгалуження підтримали понад 85 % учасників голосування.

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

  • участь у голосуванні взяло надзвичайно мало користувачів;
  • більшість користувачів не знали про голосування;
  • у голосуванні враховувались інтереси лише власників ETH, але не інших учасників системи.

Частина спільноти відмовилася від розгалуження здебільшого тому, що не вважали інцидент із DAO наслідком дефекту в протоколі. Пізніше вони утворили платформу Ethereum Classic.

Сьогодні спільнота Ethereum прийняла політику невтручання в разі помилок контрактів або втрати коштів для підтримки повного нейтралітету системи.

Відео про злам DAO:

Переваги розгалужень

Розгалуження на Ethereum і Ethereum Classic — приклад правильного розгалуження. У нас було дві групи з досить вагомими розбіжностями щодо основних цінностей, для того щоб піти на ризик їх розділення та незалежного розвитку.

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

Розробка Beacon Chain

Процес керування Ethereum часто жертвує швидкістю й ефективністю для відкритості й інклюзивності. Щоб прискорити темпи розвитку оновлення Beacon Chain, його було запущено окремо від мережі Ethereum із доказом роботи й відповідно до окремих процедур керування.

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

Коли Beacon Chain об’єднається з виконавчим рівнем Ethereum, процес керування пропозиціями змін буде узгоджено. Виконання об’єднання вже триває.

Докладніше про об’єднання

Як я можу долучитися?

Додаткові ресурси

Процес керування в Ethereum не є чітко визначеним. Різні учасники спільноти мають власні погляди щодо цього. Ви можете ознайомитися з ними нижче.

Was this article helpful?