В широко охватывающей дискуссии, которая быстро распространилась среди сообщества разработчиков Ethereum, Виталик Бутерин на этой неделе убедительно высказался за то, что он назвал «недооцененной» опорой децентрализации: простотой протокола. Публикуясь в X, Бутерин заявил, что долгосрочная устойчивость блокчейнов, таких как Ethereum, зависит меньше от экзотической криптографии или огромных чисел децентрализации и больше от того, остается ли протокол достаточно небольшим, чтобы обычные разработчики и исследователи могли его осмысленно проверять, понимать и переиспользовать.
Точка зрения Бутерина ясна и проста. Даже если сеть обладает сотнями тысяч узлов, 49% толерантности к Byzantine-ошибкам и современными инструментами проверки, она все равно не может считаться по-настоящему «бесtrustовой», пройти «walkaway test» или быть по-настоящему суверенной, если эти гарантии могут быть объяснены только узким кругом экспертов. «Если протокол — это неуклюжая смесь сотен тысяч строк кода и пяти видов криптографии уровня PhD», — писал он, — «в конечном итоге такой протокол не проходит все три теста». Короче говоря, сложность порождает новые формы централизации.
Простота — это функция безопасности
Последствия этого наблюдения практичны и философски важны. Бутерин предупредил, что навешивание дополнительных функций и узкоспециализированных криптографических дополнений может дать краткосрочные преимущества экосистеме, одновременно подрывая ее способность выживать десятилетия. Когда команды клиентов распадаются или когда новые участники пытаются взять на себя обслуживание, разросшийся код становится барьером. Если даже очень технически подкованные участники не могут разумно провести аудит системы, ее претензия на «ваш» становится слабее.
Бутерин предложил трехступенчатое определение того, что он называет «упрощением». Во-первых, минимизировать общее количество строк кода. Протокол, который в принципе может поместиться на одной странице или хотя бы на нескольких страницах, по своей сути проще для понимания. Во-вторых, избегать ненужных зависимостей от фундаментально экзотических технических примитивов.
Безопасность, которую можно свести к небольшому набору предположений, желательно к одному хеш-функции, предпочтительнее, чем кусковая система, сочетающая хеши, решетки и изогении, последние из которых, по признанию Бутерина, — «территория, которую никто не понимает», даже для специалистов, которые ее создали. В-третьих, увеличить число инвариантов: четко сформулированных, строго соблюдаемых свойств, упрощающих разработку клиентов. Он привел в пример недавние EIP, такие как удаление самоуничтожения и лимиты газа на транзакцию, как шаги, добавляющие полезные инварианты и снижающие сложность для реализаторов.
Дискуссия выходит за рамки призыва и пытается очертить конкретные пути. Бутерин выступает за постоянную «уборку мусора» в разработке протокола: осознанные шаги по удалению или понижению приоритета функций, которые сложны, мало используются или могут безопасно жить вне обязательного кода клиента. Это можно делать поэтапно; недавние реформы стоимости газа, на которые он ссылался, направлены на замену произвольных цифр газа моделями стоимости, связанными с потреблением ресурсов, или в рамках более масштабной реконструкции. Он отметил, что переход от proof-of-work к proof-of-stake был сам по себе крупной очисткой и предложил, что Lean consensus может дать еще одну возможность «исправить множество ошибок одновременно».
Еще одна идея — своего рода обратная совместимость по типу Rosetta. Вместо того чтобы заставлять каждого клиента реализовать все особенности цепочки, редко используемые, но сложные функции можно перевести в необязательные уровни смарт-контрактов. В рамках этой модели нативная абстракция аккаунтов могла бы позволить обрабатывать старые типы транзакций на уровне смарт-контрактов, а устаревшие предкомпилированные функции — переписать как контракты или мигрировать на более простую виртуальную машину, такую как RISC-V. Разработчики, обеспокоенные поддержкой наследия, могли бы запускать старые клиенты в контейнерах, в то время как новые клиенты останутся более легкими.
Дорожная карта будущего Ethereum
Из дискуссии Бутерина вытекает призыв к культурным изменениям так же, как и к техническим. Он призвал сообщество перестать оценивать предложения только по их размеру относительно существующего протокола, что склоняет к добавлению изменений ради обратной совместимости. Вместо этого он предложил включить в процесс явную функцию упрощения: дисциплинированные, постоянные усилия по вычитанию, а не только по добавлению.
Образ, сопровождающий многие репосты этой дискуссии — три сложных ракетных двигателя, расположенных рядом, каждый — исследование труб, проводов и инженерных деталей, — широко используется как метафора. Как и ракетная система, протокол с множеством взаимодействующих частей может быть хрупким: чем больше движущихся элементов и специализированных компонентов, тем больше шансов, что что-то пойдет не так. В сущности, послание Бутерина — что лучший долговечный гиперструктур — это тот, чей ядро можно поместить на страницу и передать новичку.
Для протокола, который стремится превзойти политические режимы и технологические моды, эти новички важны. «Эти первые пятнадцать лет», — писал он, имея в виду жизненный цикл Ethereum, — «следует частично рассматривать как подростковый этап», период творческих экспериментов. Его вызов — сохранить полезные эксперименты и одновременно предотвратить превращение бесполезных в постоянное раздувание.
Дискуссия уже вызвала живую полемику. Некоторые разработчики предупреждают, что простота должна балансировать с необходимостью мощных примитивов и гибкости, в то время как другие видят острую необходимость в систематической очистке, которую пропагандирует Бутерин. Если ничего другого, эта дискуссия свидетельствует о растущем консенсусе: децентрализация измеряется не только числом узлов или криптографическими «звонками и свистками», а тем, насколько система остается доступной для тех, кто ее строит, обслуживает и, в конце концов, уходит, а затем возвращается и понимает ее.
Связанные статьи
Bitmine запускает MAVAN с 6,8 миллиарда долларов в застейканном Ethereum
Эфириум достиг критической отметки в 2500 долларов: резкий рост оттока капитала, но появляется риск переоценки
Bitmine запускает платформу для стейкинга Ethereum «MAVAN», имея 4,66 миллиона ETH для полного стейкинга