Введение в систему управления Ethereum
Если никто не владеет Ethereum, как принимаются решения о прошлых и будущих изменениях в Ethereum? Управление Ethereum относится к процессу, который позволяет принимать такие решения.
Что такое управление?
Управление — это действующая система, которая позволяет принимать решения. В типичной организационной структуре группа руководителей или совет директоров могут иметь последнее слово в принятии решений. В других ситуациях акционеры голосуют за предложения о внесении изменений. В политической системе избранные должностные лица могут принять законы, направленные на реализацию желаемого ими.
Децентрализованное управление
Никто не владеет протоколом Ethereum и не контролирует его, однако необходимо принимать решения о внесении изменений, чтобы наилучшим образом обеспечить функционирование сети и ее процветание. Такое отсутствие собственности делает традиционное для организаций управление невозможным.
Управление Ethereum
Управление Ethereum — это процесс внесения изменений в протокол. Важно отметить, что этот процесс не имеет отношения к тому, как люди и приложения используют протокол: в Ethereum нет разрешений. Любой человек из любой точки мира может принимать участвие в работе сети. Нет установленных правил о том, кто может создавать приложения или отправлять транзакции. Однако есть процесс внесения изменений в основной протокол, на котором децентрализованные приложения функционируют. Поскольку от стабильности Ethereum зависит очень много людей, требуется очень высокий порог согласования для основных изменений, включая социальные и технические процессы, чтобы гарантировать, что любые изменения в Ethereum безопасны и широко поддерживаются сообществом.
Управление в цепи и вне цепи
Технология блокчейна позволяет создавать новые возможности для управления, известные как управление в цепи. Управление в цепи — принятие решений о предлагаемых изменениях протокола голосованием заинтересованных сторон. Обычно голосуют обладатели управляющих токенов, а само голосование происходит непосредственно на блокчейне. При некоторых формах управления в цепи предлагаемые изменения протокола уже записаны в коде и реализуются автоматически, если заинтересованные стороны одобряют изменения путем подписи транзакции.
Противоположный подход, управление вне цепи, заключается в том, что любые решения об изменении протокола принимаются посредством неформального социального обсуждения, а в случае одобрения изменение будет реализовано в коде.
Управление Ethereum осуществляется вне цепи с участием широкого круга заинтересованных лиц.
Хотя на уровне протокола управление Ethereum осуществляется вне цепи, многие варианты использования, построенные на основе Ethereum, такие как DAO, используют управление в цепи.
Подробнее о DAOКто в этом участвует?
В сообществе Ethereum есть различные заинтересованные стороны, каждая из которых играет свою роль в процессе управления. Начиная от наиболее удаленных от протокола сторон и двигаясь ближе, мы имеем следующую структуру:
- Владельцы эфира: люди, имеющее любое количество ETH. Подробнее об ETH.
- Пользователи приложений: эти люди взаимодействуют с приложениями в блокчейне Ethereum.
- Разработчики приложений и инструментов: эти люди создают приложения, запущенные на блокчейне Ethereum (DeFi, NFT и т. д.), или используют инструменты для взаимодействия с Ethereum (например, кошельки, тестовые наборы и т. д.). Подробнее о децентрализованных приложениях.
- Операторы узлов: эти люди запускают узлы, увеличивая количество блоков и скорость транзакций, отменяя некорректные транзакции или блоки, с которыми они сталкиваются. Подробнее об узлах.
- Авторы EIP: эти люди предлагают различные улучшения и изменения в протоколе Ethereum (EIP). Подробнее об EIP.
- Валидаторы: эти люди запускают узлы, которые могут добавлять новые блоки в блокчейн Ethereum.
- Разработчики протокола (также «Основные разработчики»): эти люди поддерживают различные реализации Ethereum (т. е. go-ethereum, Nethermind, Besu, Erigon на исполнительном уровне или Prysm, Lighthouse, Nimbus, Teku, Lodestar на уровне консесуса). Подробнее клиентах Ethereum.
Примечание. Любой человек может входить в несколько из этих групп (например, разработчик протокола может выступать в роли EIP, запускать валидатор цепочки маяков и использовать приложения DeFi). Но для ясности их проще различать между собой.
Что такое EIP?
Одним из важных процессов в управлении Ethereum является вынесение предложений по улучшению Ethereum (EIP). EIP — это стандарты, определяющие потенциальные новые функции или процессы для Ethereum. Любой человек в сообществе Ethereum может создать EIP. Если вы заинтересованы в написании EIP или участии в экспертной оценке и/или управлении, обратитесь к информации ниже.
Подробнее об EIPФормальный процесс
Формальный процесс внесения изменений в протокол Ethereum выглядит следующим образом:
Предложение идеи основного EIP: как описано в EIP-1(opens in a new tab), первым шагом для предложения изменений в Ethereum является описание идеи по улучшению. Это будет официальной спецификацией для EIP, которую разработчики протокола реализуют в случае принятия.
Представление EIP разработчикам протокола: когда у вас появится основная EIP, для которой будут собраны мнения сообщества, вы должны представить ее разработчикам протоколов. Вы можете сделать это, предложив на обсуждение в звонке AllCoreDevs(opens in a new tab). Вероятно, некоторые предложения уже есть на форуме Ethereum Magician(opens in a new tab) или в Ethereum R&D Discord(opens in a new tab).
Возможные результаты на этом этапе:
- EIP будет рассмотрен для будущего обновления сети
- Будут запрошены технические изменения
- Предложение может быть отклонено, если оно не является приоритетом или не является достаточно значимым для разработчиков
Повторное вынесение окончательного предложения: после получения обратной связи от всех соответствующих заинтересованных сторон вам, скорее всего, потребуется внести изменения в первоначальное предложение для повышения безопасности или удовлетворения потребностей различных пользователей. Как только в ваш EIP будут включены все поправки, которые вы считаете необходимыми, вам нужно будет представить их разработчикам протокола. Затем вы или перейдете к следующему этапу этого процесса, или появятся новые вопросы, требующие вынесения новой версии вашего предложения.
Включение EIP в сетевое обновление: если EIP одобрен, протестирован и внедрен, он будет запланирован как часть обновления сети. Учитывая высокие затраты на координацию обновлений сети (все должны обновляться одновременно), EIP обычно объединяют в пакеты обновлений.
Активация обновления сети: после активации сетевого обновления EIP будет реализован в сети Ethereum. Примечание. Сетевые обновления обычно активируются в тестовых сетях перед их активацией в основной сети.
Этот список, хоть и очень упрощенный, дает обзор важных этапов для изменений протокола в Ethereum. Теперь давайте посмотрим на неформальные факторы в ходе этого процесса.
Неформальный процесс
Понимание грядущей работы
Предлагающие EIP пользователи должны ознакомиться с предварительной работой и предложениями перед созданием EIP, которые могут быть серьезно рассмотрены для развертывания в основной сети Ethereum. EIP должен приносить что-то новое и еще не отклоненное в прошлом. Три основных места для исследования — это репозиторий EIP(opens in a new tab), сообщество Ethereum Magicians(opens in a new tab) и ethresearch.ch(opens in a new tab).
Рабочие группы
Первоначальный проект EIP вряд ли будет реализован в основной сети Ethereum без изменений или поправок. В целом предлагающие EIP пользователи будут работать с подгруппой разработчиков протокола над конкретизацией, внедрением, тестированием, повторным предложением и завершением работы над своим предложением. В прошлом этим рабочим группам требовалось нескольких месяцев (а иногда и лет!) работы. Аналогичным образом предлагающие EIP пользователи для таких изменений также должны привлекать соответствующих разработчиков приложений и инструментов в начале своей работы по получению обратной связи с конечными пользователями и уменьшению любых рисков развертывания.
Консенсус сообщества
Одни EIP представляют собой простые технические улучшения с минимальными нюансами, другие же являются более сложными и по-разному затрагивают различные заинтересованные стороны. Это означает, что некоторые EIP являются более спорными в рамках сообщества, чем другие.
Четкого руководства по работе со спорными предложениями нет. Это результат децентрализованного проектирования Ethereum, при котором ни одна группа заинтересованных сторон не может принудить другую через грубую силу: разработчики протоколов могут выбрать не внедрять изменения кода; операторы узлов могут выбрать не запускать последний клиент Ethereum; команды приложений и пользователи могут выбрать не совершать транзакций на цепочке. Поскольку разработчики протокола не имеют возможности заставить людей принимать обновления сети, как правило, они избегают внедрения EIP, когда спорные моменты перевешивают выгоды для более широкого сообщества.
Предлагающие EIP пользователи должны запросить обратную связь у всех заинтересованных сторон. Если вы являетесь инициатором спорных EIP, вы должны попытаться рассмотреть возражения для достижения консенсуса вокруг вашего EIP. Учитывая размер и многообразие сообщества Ethereum, нет единой меры (например, голосования монетой), которую можно было бы использовать для оценки консенсуса сообщества, поэтому инициаторы EIP должны адаптировать свое предложение к реальным условиям.
Помимо безопасности сети Ethereum, разработчики протокола традиционно отводили большое значение ценности для пользователей приложений и разработчиков приложений и инструментов. Ведь использование ими системы Ethereum и разработка в ней и делают ее привлекательной для остальных заинтересованных сторон. Кроме этого, EIP должны быть реализованы во всех реализациях клиентов, которые управляются отдельными командами. Часть этого процесса обычно означает убеждение нескольких команд разработчиков протоколов, что определенные изменения являются ценными и что они помогают конечным пользователям или решают проблему безопасности.
Рассмотрение разногласий
Наличие многих заинтересованных сторон, имеющих различные мнения и убеждения, означает, что разногласия не являются редкими.
В целом разногласия устраняются на протяжении длительного времени на публичных форумах, чтобы понять корень этой проблемы. Обычно одна группа уступает или находится промежуточное решение. Если одна группа чувствует себя достаточно сильной и навязывает конкретное изменение, это может привести к разделению цепи. Разделение цепи — это ситуация, когда некоторые заинтересованные стороны протестовали против реализации изменения протокола и она привела к появлению нескольких несовместимых версий протокола, из которых возникают два разных блокчейна.
Ветвление DAO
Ветвления (форки) — это ситуации, когда необходимо произвести значительные технические обновления или изменения в сети и изменить «правила» протокола. Клиенты Ethereum должны обновить свое программное обеспечение для реализации новых правил ветвления.
Ветвление DAO было ответом на атаку на DAO в 2016 году(opens in a new tab), когда взлом ненадежного контракта привел к потере более чем 3,6 миллиона ETH. Форк переместил средства из неисправного контракта в новый, что позволило всем, кто потерял средства в результате взлома, восстановить их.
Этот курс действий был установлен по результатам голосования в сообществе Ethereum. Любой держатель ETH смог проголосовать через транзакцию на избирательной площадке(opens in a new tab). Решение о ветвлении набрало более 85 % голосов.
Важно отметить, что хотя протокол создал ветвление для устранения последствий взлома, весомость голосования за ветвление была спорна по нескольким причинам:
- Было невероятно мало голосующих
- Большинство людей не знали о том, что голосование происходило
- В голосовании были представлены только держатели ETH, но не другие участники системы
Часть сообщества отказалась от форка по большей части потому, что они не считали инцидент с DAO изъяном протокола. Они сформировали сообщество Ethereum Classic(opens in a new tab).
Сегодня сообщество Ethereum приняло политику невмешательства в случае ошибок в контракте или утерянных средств для поддержания достоверной нейтральности системы.
Видео о взломе DAO:
Полезность создания форков
Ветвление на Ethereum и Ethereum Classic — отличный пример правильного форка. У нас было две группы, которые имели достаточно сильные разногласия по базовым вопросам, чтобы риски, связанные с их действиями, показались оправданными.
Способность устраивать ветвление перед лицом значительных политических, философских или экономических различий играет значительную роль в успехе управления Ethereum. Без возможности дать альтернативу продолжалась бы борьба, те, кто в конечном итоге сформировал Ethereum Classic, все менее охотно участвовали бы в работе, а в видении успеха Ethereum нарастали бы различия.
Управление сетью Beacon
В процессе управления Ethereum часто жертвуется скоростью и производительностью в пользу открытости и вовлеченности. Чтобы ускорить разработку Beacon Chain, она была запущена отдельно от сети Ethereum с доказательством работы и следовала собственным методам управления.
Хотя спецификации и разработки всегда были полностью открытыми, формальные процессы, используемые для предложения описанных выше обновлений, не использовались. Это позволило исследователям и разработчикам быстрее уточнять и согласовывать изменения.
Когда сеть Beacon слилась с уровнем исполнения Ethereum 15 сентября 2022 г., в рамках сетевого обновления Paris произошло слияние. Предложение EIP-3675(opens in a new tab) было изменено с Last Call на Final, что завершило переход на доказательство владения.
Подробнее о слиянииКак я могу принять участие?
- Предложение EIP
- Обсуждение текущих предложений(opens in a new tab)
- Участие в обсуждении R&D(opens in a new tab)
- Присоединение к дискорду Ethereum R&D(opens in a new tab)
- Запуск узла
- Участие в разработке клиента
- Программа подготовки основных разработчиков(opens in a new tab)
Дополнительные ресурсы
В Ethereum нет строгой структуры. У разных участников сообщества есть собственные взгляды на развитие системы. Вот некоторые из них:
- Заметки об управлении блокчейном(opens in a new tab) — Виталик Бутерин
- Как работает управление Ethereum?(opens in a new tab) – Cryptotesters
- Как работает управление Ethereum(opens in a new tab) – Micah Zoltu
- Кто такой основной разработчик Ethereum?(opens in a new tab) — Hudson Jameson
- Управление, часть 2. Плутократия — это все еще плохо(opens in a new tab) — Виталик Бутерин
- Выход за рамки управления, использующего голосование монетами(opens in a new tab) — Виталик Бутерин