Статья из книги Виталика Бутерина «Больше денег»
В издательстве Individuum в конце марта выходит книга Виталика Бутерина «Больше денег. Что такое Ethereum и как блокчейн меняет мир», в которую вошли статьи одного из ведущих визионеров криптоиндустрии, написанные им в разные годы. С разрешения издательства публикуем с незначительными сокращениями перевод статьи «Управление: не только голосование монетами», посвященной некоторым фундаментальным проблемам децентрализованных автономных организаций (ДАО) и актуальным вариантам их решения. Англоязычный оригинал можно прочитать здесь.
С момента публикации в 1996 году Декларации независимости киберпространства в том, что мы подразумеваем под идеологией шифропанка, существует ключевое неразрешенное противоречие. С одной стороны, ценности шифропанка сводятся к тому, чтобы использовать криптографию для минимизации принуждения, а также максимизации эффективности и влияния главного на тот момент механизма координации, где принуждения не было: частной собственности и рынков. С другой стороны, экономическая логика частной собственности и рынков оптимизирована для деятельности, которую можно «раздробить» на повторяющиеся взаимодействия «один на один», а информационная сфера, где искусство, документация, наука и код в конечном счете производятся и потребляются через публичные взаимодействия, полностью противоречит этой изначальной цели.
В этих условиях возникают две ключевые проблемы, требующие решения.
ФИНАНСИРОВАНИЕ ОБЩЕСТВЕННЫХ БЛАГ: как финансировать проекты, ценные для широкой и разнородной части сообщества, но не имеющие бизнес-модели (например, исследование протоколов первого и второго уровней, разработка клиентов, документация…)?
ПОДДЕРЖАНИЕ И ОБНОВЛЕНИЯ ПРОТОКОЛА: как согласовывать обновления протокола, а также регулярное поддержание и корректировки его непостоянных элементов (например, списки безопасных активов, источники оракула цен, держатели ключей для многосторонних вычислений)?
Первые блокчейн-проекты в основном игнорировали обе эти проблемы, делая вид, что безопасность сети — единственное важное общественное благо, что ее нужно достигать за счет высеченного в камне алгоритма, а оплачивать — фиксированным вознаграждением в рамках PoW. Сперва такое положение в финансировании сложилось из-за резкого роста цен на биткойн в 2010–2013 годах, а затем — из-за бума ICO в 2014–2017 годах и образовавшегося одновременно с этим второго криптопузыря. Все это достаточно обогатило экосистему, чтобы временно прикрыть серьезные рыночные недостатки. Вопрос долгосрочного управления общими ресурсами также остался без внимания: Bitcoin пошел по пути крайней минимизации и сосредоточился только на том, чтобы предоставить валюту с фиксированным предложением и обеспечить поддержку платежных систем второго уровня вроде Lightning. В свою очередь, развитие Ethereum шло относительно гармонично (за одним важным исключением) благодаря неоспоримой легитимности его изначальной дорожной карты (если коротко — «proof of stake и сегментирование»). При этом сложных проектов прикладного уровня, требующих чего-то большего, пока не существовало.
Но в последнее время обстоятельства складываются не так удачно, и на первый план выходят вопросы о том, как скоординировать поддержку и обновление протоколов, а также финансировать документацию, исследования и разработки, избегая при этом рисков централизации.
Давайте сделаем шаг назад, чтобы оценить абсурдность сложившейся ситуации. Ежедневно Ethereum выплачивает около 13 500 ETH — то есть около 40 миллионов долларов — в качестве вознаграждений за майнинг. Выплаты транзакционных комиссий тоже немаленькие: часть, которую не сжигает EIP-1559, по-прежнему составляет около 1500 ETH (~4,5 миллиона долларов) в день. Так, на финансирование сетевой безопасности ежегодно уходят миллиарды долларов. А как думаете, сколько составляет бюджет Ethereum Foundation? Около 30-60 миллионов долларов в год. Есть и другие игроки, желающие поддержать развитие Ethereum (например, ConsenSys), но их вложения немногим больше. В Bitcoin все примерно так же, разве что на общественные блага, не связанные с безопасностью, уходит еще меньше средств.
Кто-то может сказать, что для экосистемы Ethereum такая диспропорция не так уж важна; что десятков миллионов долларов в год вполне «достаточно» для всех необходимых НИОКР, а дополнительные ресурсы не обязательно улучшат ситуацию, и поэтому введение внутрипротокольного финансирования разработок несет больше угрозы для достоверной нейтральности платформы, чем пользы. Но во многих небольших экосистемах — и в экосистемах внутри Ethereum, и в совершенно отдельных блокчейнах вроде BCH и Zcash — подобные дебаты уже назревают, и в меньших масштабах такой дисбаланс куда ощутимей.
Возьмем ДАО. Проект, который уже со дня запуска представляет собой «чистую» ДАО, может сочетать в себе два свойства, раньше казавшиеся несочетаемыми: во-первых, достаточное финансирование разработки и, во-вторых, достоверную нейтральность финансирования (столь многими желанный «справедливый запуск»). Финансирование уже не идет от строго неизменного списка принимающих адресов, решения может принимать сама ДАО.
Конечно, трудно сделать запуск абсолютно справедливым, и несправедливость информационной асимметрии часто бывает куда хуже несправедливости явного премайнинга (был ли биткойн запущен справедливо, учитывая, как мало людей имели возможность даже услышать о нем к концу 2010 года, когда четверть токенов была уже роздана?). Но даже так, если с первых дней жизни проекта внедрить в его протокол вознаграждения за развитие общественных благ, не связанных с безопасностью, это будет шагом навстречу необходимому и более достоверно нейтральному финансированию разработок.
Кроме финансирования общественных благ, в управлении нуждается и другая, не менее важная проблема — поддержание и обновления протоколов. Даже будучи сторонником сведения к минимуму всех неавтоматизированных настроек параметров (см. «ограниченное управление» ниже) и фанатом стратегии стейблкойна RAI «без управления», я согласен, что порой необходимо принимать некоторые решения вручную. Входные данные оракула цен должны откуда-то поступать, и иногда это «откуда-то» должно меняться. Пока протокол окончательно не «окостенеет», его обновления нужно так или иначе координировать. Бывает так, что сообщество протокола решает, что готово обрести готовую форму, но затем сталкивается с суровой реальностью, требующей от него полной реструктуризации, что вызывает вопросы и противоречия. Что, если доллар США рухнет и RAI, чтобы их стейблкойн оставался стабильным и актуальным, нужно будет побыстрее создать и удержать на плаву собственный децентрализованный ИПЦ (индекс потребительйских цен)? Здесь тоже необходимо DeGov, так что полный отказ от него — нежизнеспособное решение.
При этом очень важно понять, возможно ли управление вне блокчейна. Долгое время я выступал за то, чтобы этот метод применялся везде, где только возможно, и блокчейны базового уровня прекрасно для этого подходят. Но в проектах прикладного уровня, и особенно в DeFi-проектах, мы часто сталкиваемся с проблемой прямого контроля внешних активов системами смарт-контрактов, и этот контроль нельзя распределить. Если злоумышленник захватит управление Tezos внутри блокчейна, сообщество может перейти в хардфорк без каких-либо потерь, помимо (надо признать, высоких) затрат на координацию. Если злоумышленник захватит управление MakerDAO в блокчейне, сообщество может без проблем создать новый MakerDAO, но оно потеряет все ETH и другие активы, застрявшие в существующих ИПЦ MakerDAO. Следовательно, в то время как для базового уровня и некоторых проектов прикладного уровня управление вне блокчейна подходит отлично, для многих проектов прикладного уровня, особенно DeFi, в той или иной форме необходимо формализованное управление внутри блокчейна.
Однако все нынешние варианты децентрализованного управления сопряжены с большими рисками. Для тех, кто читает мои статьи, эта идея не в новинку. Меня беспокоят два основных типа проблем голосования монетами: во-первых, неравенство и неравновесие стимулов даже при отсутствии злоумышленников и, во-вторых, открытые атаки через покупку голосов в разных формах (часто довольно сложных и запутанных). Для смягчения проблем первого типа уже предложены решения (например, делегирование полномочий), и их будет еще больше. Но второй тип куда опаснее — это слон в комнате, бороться с которым, на мой взгляд, в условиях нынешней парадигмы голосования монетами невозможно.
Даже без явных атак проблемы голосования монетами становятся все более очевидными и сводятся к нескольким категориям.
Наиболее часто применяемая стратегия решения первой проблемы (и, соответственно, смягчения третьей) — делегирование. Мелким держателям не обязательно лично участвовать в каждом голосовании; вместо этого они могут делегировать принятие решения членам сообщества, которым они доверяют. Это достойный и полезный эксперимент, который может показать, насколько делегирование способно смягчить эту проблему.
С другой стороны, проблема центризма держателей монет значительно сложнее: она встроена в саму систему, в которой их голоса — единственный источник входных данных. Неверное представление о том, что этот механизм создан намеренно, а не возник в результате ошибки, уже приводит к путанице и опасным последствиям. Вот на что жалуется автор одной (в целом отличной) статьи об общественных благах блокчейна:
Могут ли криптопротоколы считаться общественным благом, если ими владеют несколько «китов»? В разговорах эти рыночные базовые элементы иногда называют «общественной инфраструктурой», но если сегодня блокчейны и служат «общественности», то общественности децентрализованных финансов. По сути, у этих держателей токенов есть только один общий объект интереса: цена.
Это несправедливые обвинения; общественность, которой служат блокчейны, гораздо шире и разнообразнее, но нашим системам управления через голосование монетами никак не удается отразить эту идею. Кажется, что создать систему управления, достойную этого разнообразия, будет сложно без фундаментального пересмотра самой парадигмы.
Ситуация усугубляется, когда в дело вступают злоумышленники, намеренные подорвать работу системы. Легко понять, какая фундаментальная уязвимость кроется в голосовании монетами. Токен в протоколе с голосованием монетами представляет собой набор из двух прав, объединенных в один актив: во-первых, некоторый экономический интерес в доходах протокола и, во-вторых, право участвовать в управлении. Это преднамеренная комбинация, цель которой — совместить власть и ответственность. Но на самом деле эти два права очень легко отделить друг от друга.
Представьте себе простой контракт-оболочку, в котором действуют следующие правила: если вы внесете в контракт 1 XYZ, то в ответ получите 1 WXYZ. Этот WXYZ в любое время можно конвертировать обратно в XYZ, но вместе с тем вы получаете дивиденды. Откуда они возьмутся? Пока монеты XYZ находятся внутри контракта-оболочки, именно контракт-оболочка имеет право решать, как использовать их в управлении (вносить предложения, голосовать по предложениям и так далее). Каждый день контракт-оболочка просто выставляет это право на аукцион и распределяет прибыль между первоначальными вкладчиками.
Как держатель XYZ, вы захотите вложиться в такой контракт? Если вы очень крупный держатель, то, возможно, нет. Хотя дивиденды вам не помешают, вас испугает, что некий неизвестный покупатель может без вашего ведома распоряжаться вашими управленческими полномочиями. А вот если вы держите лишь небольшую долю токенов, то, наоборот, будете весьма заинтересованы. Если ваши управленческие полномочия выкупит злоумышленник, вы лишь частично пострадаете из-за плохих управленческих решений, в которых поучаствовали ваши токены, но при этом получите всю прибыль от дивидендов с аукциона, где их продали. Эта ситуация — классическая трагедия общин.
Предположим, злоумышленник в своих интересах выводит ДАО из строя. Ущерб для каждого участника от принятия такого решения равен D, а вероятность того, что один голос изменит исход, равна p. Допустим, злоумышленник дает взятку в размере B. Игровая таблица будет выглядеть так.
Если B > D × p, вы, скорее всего, примете взятку, но при B < 1000 × D × p такое решение пойдет во вред сообществу. Таким образом, если p < 1 (а обычно p намного меньше 1), у злоумышленника будет возможность принять неблагоприятное решение, купив у пользователей голоса и обеспечив каждому компенсацию — гораздо меньшую, чем нанесенный им вред.
Те, кто ставит под сомнение проблему подкупа, могут спросить: неужели избиратели настолько аморальны, что примут такую очевидную взятку? Среднестатистический владелец токена ДАО — энтузиаст, который вряд ли порадуется такому наглому и эгоистичному предательству проекта. Но надо понимать, что существуют куда более изощренные способы разделить права на распределение прибыли и управленческие полномочия, где не требуется что-то настолько явное вроде контракта-оболочки.
Простейший пример — займы на DeFi-платформе кредитования (например, Compound). Пользователь может заблокировать свои ETH в CDP (collateralized debt position — залоговые долговые позиции) на одной из этих платформ, после чего контракт CDP позволит ему занять некоторую сумму XYZ — например, до половины стоимости вложенных ETH. После этого он сможет делать с этими XYZ все, что захочет. Чтобы вернуть свои ETH, он должен будет вернуть одолженные XYZ плюс проценты.
Обратите внимание, что на протяжении всего этого процесса заемщик не несет никаких финансовых рисков из-за обладания XYZ: если он использует свои XYZ для голосования за управленческое решение, которое разрушит ценность XYZ, сам он не потеряет ни пенни. Он должен будет вернуть в CDP ровно столько XYZ, сколько взял, так что ему все равно, что будет со стоимостью XYZ. Теперь права разделены: заемщик обладает управленческими полномочиями без экономических интересов, а кредитор имеет экономические интересы без управленческих полномочий.
Существуют также централизованные механизмы разделения этих прав. Самое примечательное — что, когда пользователи размещают свои монеты на (централизованной) бирже, именно биржа хранит все эти монеты и именно за ней остается возможность использовать их для голосования. Это не просто теория; есть свидетельства того, что биржи используют монеты своих пользователей в нескольких системах DPoS.
Некоторые ДАО-протоколы используют методы врéменной блокировки для ограничения таких атак: чтобы иметь право голоса, пользователи должны блокировать свои монеты и некоторое время их не перемещать. Эти методы могут ограничить атаки типа «купи-проголосуй-продай» в краткосрочной перспективе, но в конечном счете механизмы временной блокировки можно будет обойти: пользователи смогут держать монеты и голосовать ими через контракт, выпускающий обернутую версию токена (или, еще тривиальнее, через централизованный обмен). Что касается механизмов защиты, временные блокировки похожи скорее на пейволл с сайтов газет, чем на замок и ключ.
Пока многим блокчейнам и ДАО с голосованием монетами удавалось избегать таких атак в наиболее опасных формах. Порой появляются признаки попыток подкупа.
Хотя это серьезные проблемы, простая экономическая логика подсказывает, что примеров прямого подкупа избирателей, включая его запутанные формы с использованием финансовых рынков, должно быть больше. Возникает закономерный вопрос: почему агрессивные атаки случаются так редко?
Я бы сказал, что этому мешают три фактора, которые сегодня актуальны, но в будущем могут утратить свою силу.
Когда небольшая скоординированная группа пользователей владеет более чем 50% монет, которые вместе с остальными инвестированы в сплоченное сообщество, и взаймы отдано лишь немного токенов по разумным ставкам, все вышеперечисленные атаки с целью подкупа, возможно, останутся лишь на уровне теории. Но со временем первый и третий пункты неизбежно утратят свою силу, а второй обязан потерять силу, если мы хотим сделать ДАО более справедливыми. Сохранят ли ДАО свою безопасность, когда произойдут эти изменения? И если голосование монетами не может надежно противостоять атакам, то что тогда может?
Первый и уже опробованный способ смягчить перечисленные проблемы — ограничить возможности управления монетами. Для этого есть несколько способов.
ИСПОЛЬЗОВАТЬ УПРАВЛЕНИЕ ВНУТРИ БЛОКЧЕЙНА ТОЛЬКО ДЛЯ ПРИЛОЖЕНИЙ, НО НЕ ДЛЯ БАЗОВЫХ УРОВНЕЙ: Ethereum уже так делает, поскольку сам протокол управляется вне блокчейна, в то время как ДАО и другие приложения поверх протокола иногда (но не всегда) управляются внутри блокчейна.
ОГРАНИЧИТЬ УПРАВЛЕНИЕ ВЫБОРОМ ФИКСИРОВАННЫХ ПАРАМЕТРОВ: так делает Uniswap, который позволяет управлению влиять только, во-первых, на распределение токенов и, во-вторых, на комиссию в 0,05% на бирже Uniswap. Еще один прекрасный пример — дорожная карта RAI «без управления», в которой постепенно контролируется все меньше и меньше функций.
ДОБАВИТЬ ВРЕМЕННЫ́Е ЗАДЕРЖКИ, когда управленческое решение, принятое в момент T, вступает в силу, например, только через T + 90 дней. Это позволяет пользователям и приложениям, которые считают решение неприемлемым, перейти на другое приложение (возможно, через форк). В управлении Compound есть механизм временной задержки, но теоретически задержка может быть (и в конечном итоге должна быть) намного больше.
БЫТЬ БОЛЕЕ ОТКРЫТЫМИ К ФОРКАМ: упростить для пользователей процесс согласования и реализации форка. Так захват управления будет менее выигрышным.
Случай с Uniswap особенно интересен: предполагается, что управление внутри блокчейна финансирует команды, которые могут разрабатывать будущие версии протокола Uniswap, но обновление до этих версий может произойти только с согласия пользователей. Это гибрид управления внутри и вне блокчейна, оставляющий управлению внутри блокчейна лишь ограниченные полномочия.
Но одно лишь ограниченное управление едва ли можно назвать приемлемым решением; те области, где управление необходимо больше всего (например, распределение средств на общественные блага), сами по себе наиболее уязвимы для атак. Эта слабость финансирования общественных благ связана с тем, что злоумышленник может получить выгоду, протолкнув плохое решение, которое направит средства ему самому. Следовательно, нам также нужны техники, которые усовершенствуют самоуправление…
Второй подход заключается в переходе к формам управления, не основанным на голосовании монетами. Но если не монеты определяют вес голоса конкретного аккаунта в управлении, то что? Есть две закономерные альтернативы.
Существуют также гибридные варианты: например, квадратичное голосование, при котором сила голоса одного голосующего пропорциональна квадратному корню из экономических ресурсов, которые он выделил на принятие решения. Для того чтобы люди не манипулировали системой, распределяя свои ресурсы на множество аккаунтов, потребуется подтверждение личности, а сохранившийся финансовый компонент позволит участникам убедительно продемонстрировать, насколько сильно их волнуют конкретная проблема и экосистема в целом. Квадратичное финансирование Gitcoin — одна из форм квадратичного голосования. Также создаются ДАО с квадратичным голосованием.
С подтверждением участия все несколько сложнее. Главная проблема заключается в том, что для определения достаточного объема участия требуется, опять же, достаточно надежная структура управления. Возможно, самое простое решение подразумевает загрузку системы с отобранными вручную 10-100 ранними участниками, а затем постепенную децентрализацию по мере того, как отобранные участники раунда N определят критерии участия для раунда N + 1. Возможность форка обеспечивает путь к восстановлению в том случае, если управление «свернет не туда», и в целом удерживает от попыток захватить власть.И подтверждение личности, и подтверждение участия требуют определенной формы противодействия сговору, чтобы неденежный ресурс, используемый для измерения права голоса, точно оставался неденежным и не попадал в смарт-контракты, продающие управленческие полномочия тому, кто больше заплатит.
Третий подход предполагает покончить с трагедией общих ресурсов через изменение правил самого голосования. Голосование монетами дает сбои потому, что, хотя избиратели несут коллективную ответственность за свои решения (если все проголосуют за ужасное решение, их монеты обесценятся), каждый отдельный избиратель не несет индивидуальной ответственности (если будет принято ужасное решение, поддержавшие его пострадают не больше его противников). Можем ли мы создать систему голосования, которая изменит эту тенденцию и наложит на избирателей личную, а не только коллективную ответственность за свои решения?
Открытость к форкам может сработать как стратегия «риска собственной шкурой», если создавать форки так, как это было со Steem и Hive. Когда принимается разрушительное управленческое решение и его становится невозможно оспорить внутри протокола, пользователи могут взять на себя задачу создания форка. Более того, в этом форке монеты, проголосовавшие за неправильное решение, могут быть уничтожены.
Эта идея может показаться жесткой и, возможно, даже посягательством на негласное правило «неприкосновенности реестра» при форке криптовалюты. Но если посмотреть на это с другой стороны, все покажется гораздо разумнее. Мы сохраняем идею надежного брандмауэра, где личные балансы монет остаются невредимыми, но под эту защиту попадают только монеты, которые не участвуют в управлении. Если вы участвуете в управлении, даже косвенно, через механизм обертывания, вас могут привлечь к ответственности за издержки, связанные с вашими действиями.
Это создает индивидуальную ответственность: если происходит атака и ваши монеты за нее голосуют, то они будут уничтожены. В ином случае они будут в безопасности. Ответственность распространяется снизу вверх: если вы вкладываете свои монеты в контракт-оболочку и контракт-оболочка голосует за атаку, то баланс контракта-оболочки стирается, и вы теряете свои токены. Если злоумышленник занимает XYZ у DeFi-платформы кредитования, то в случае форка платформы проигрывает любой, кто одалживал свои XYZ (обратите внимание на то, что при таких условиях в целом становится очень рискованно одалживать кому-то управленческий токен, и это намеренное решение).
Но вышесказанное защищает только в случае действительно опасных решений. А как насчет краж меньшего масштаба, где злоумышленник несправедливо получает широкие возможности манипулировать управленческой экономикой, но это не приводит к серьезным разрушительным последствиям? Наконец, если забыть про атаки, как насчет простой лени и того факта, что управление голосованием монетами не стимулирует делать выбор в пользу более удачных решений?
Самое популярное решение такого рода проблем — футархия, представленная Робином Хэнсоном в начале 2000-х годов. Голоса превращаются в ставки: чтобы проголосовать за предложение, вы делаете ставку на то, что оно приведет к хорошему результату, а чтобы проголосовать против — на то, что оно приведет к плохому результату. Футархия вводит индивидуальную ответственность по очевидным причинам: если вы делаете хорошие ставки, вы получаете больше монет, а если вы делаете плохие ставки, то теряете монеты.
Внедрить «чистую» футархию оказалось сложно, потому что на практике очень трудно определить целевые функции (людей интересует не только цена монеты!). Однако вполне могут сработать и гибридные формы футархии. Вот несколько примеров.
В последних двух случаях гибридная футархия зависит от некоторой формы нефутархного управления, которая поможет подстроиться под целевую функцию или станет последней инстанцией при разрешении споров. Однако у этого нефутархного управления есть несколько преимуществ, которые пропадают при его использовании напрямую: во-первых, оно позже вступает в силу, а значит, имеет доступ к большему количеству информации, во-вторых, оно используется реже, а значит, требует меньше усилий, и, в-третьих, каждое его использование чревато большими последствиями, так что правильнее положиться на форки, чтобы согласовать стимулы для этого последнего уровня.
Существуют также решения, комбинирующие элементы вышеперечисленных подходов. Например такие.
Но это лишь несколько примеров. Существует гораздо больше возможностей для исследования и разработки алгоритмов управления, не зависящих от монет. Самое важное сегодня — отойти от взгляда на голосование монетами как на единственную легитимную форму децентрализации управления. Голосование монетами привлекательно своей кажущейся достоверной нейтральностью: любой может пойти и получить несколько единиц управленческого токена на Uniswap. Однако на практике голосование монетами сегодня может казаться безопасным как раз из-за несовершенства его нейтральности (а конкретно из-за того, что бóльшая часть всех монет остается в руках тщательно скоординированной группы инсайдеров).
Нужно очень осторожно подходить к идее о том, что нынешние формы голосования монетами «безопасны по умолчанию». Еще многое предстоит узнать о том, как они функционируют в условиях растущей экономической напряженности, а также в зрелых экосистемах и финансовых рынках, так что самое время начать экспериментировать с альтернативами.
Перевод статьи для книги Виталика Бутерина «Больше денег. Что такое Ethereum и как блокчейн меняет мир» выполнила Инна Проворова.
Подписывайтесь на ForkLog в социальных сетях
Рассылки ForkLog: держите руку на пульсе биткоин-индустрии!