Виталик Бутерин

Больше денег. Что такое Ethereum и как блокчейн меняет мир

Посвящается маме и папе: потрясающим родителям, предпринимателям и повелителям мемов

Введение

НАТАН ШНАЙДЕР

До того как в возрасте 19 лет он создал новую экономическую инфраструктуру интернета; до того как стал миллиардером, ночующим на диванах у друзей, Виталик Бутерин хотел писать тексты. Он заинтересовался биткойном с подачи отца, с которым еще ребенком эмигрировал из России в Канаду. И даже первые криптомонеты достались ему в качестве оплаты за текст: в 2011 году он предложил на онлайн-форуме написать статью о биткойне с оплатой в биткойнах.

Предложение нашло отклик, и в итоге Бутерин дописался до того, что стал одним из основателей Bitcoin Magazine – печатного и онлайн-издания о новостях тогда еще крошечной и разрозненной субкультуры. Этот новый вид денег, которые было почти невозможно потратить, интересовал Бутерина куда больше учебы на первом курсе университета. Уже с первых текстов Бутерин развивал свои идеи в непрерывном диалоге со всеми заинтересованными. И все же в его публикациях, сделанных за несколько лет в разных блогах, форумах и твиттере, заметен собственный авторский голос. Этот голос сыграл не последнюю роль в том, с каким энтузиазмом сообщество приняло его изобретение – Ethereum. Вполне может случиться так, что Ethereum и его сообщество оправдают возложенные на них ожидания, став всепроникающей инфраструктурой. И потому стоит тщательно изучить – и критически осмыслить – его идеи.

В этой книге мы познакомимся с Виталиком Бутериным как писателем.

Когда 2008 году начался глобальный финансовый кризис, некто под псевдонимом Сатоши Накамото анонсировал прототип биткойна – валюты, функционирующей на базе криптографических компьютерных сетей, а не государственных или банковских систем. Этот вид денег он назвал криптовалютой. Компьютерщиков-шифропанков и либертарианских «золотых жуков»[1] манили новые идеи: цифровой майнинг, ограниченная эмиссия, эквивалент наличных транзакций, которые могут быть безопасными и конфиденциальными. Бутерин отлично знал эту аудиторию. Он все больше и больше увлекался биткойном, но к концу 2013 года начал понимать, что технология блокчейна, на базе которой существует криптовалюта, может дать нечто большее: возможность создавать в интернете организации, компании и даже целые экономики. И он решил об этом написать. Первый вайтпейпер[2] Ethereum, включенный в эту книгу, пролил свет на еще крошечную на тот момент криптовалютную вселенную. Вместо зависимости от корпораций, инвесторов и законов Старого Света, регулирующих работу серверов, предлагалось отдать управление в руки самих пользователей. Если майнинг биткойна метафорически сравнивали с добычей золота, то культура Ethereum скорее перекликается с эстетикой любимых футболок Бутерина: роботами, единорогами и радугами, которые стали талисманами новой криптовалюты.

Ethereum запустился в 2015 году. С тех пор появилось много блокчейнов-конкурентов, способных различными путями выполнять сходные задачи, но Ethereum среди них остается крупнейшим. Его валюта, известная как эфир или ETH, по капитализации уступает только биткойну, но если добавить сюда токены всех продуктов и сообществ, созданных на базе Ethereum, на них придется крупнейшая доля в этой странной новой экономике. Бутерин, нравилось ему это или нет, во время первых тестов проекта постепенно превращался в «великодушного диктатора» Ethereum: не столько из-за своих официальных полномочий, сколько из-за доверия, которое ему оказывали. В формирование этого доверия немалый вклад внесли и собранные здесь статьи.

Но есть тут и некое противоречие. Бутерин хочет сделать шаг к радикальному переосмыслению того, как человеческие существа могут взаимодействовать в условиях самоорганизации, но при этом сохраняет строго агностическое отношение к их способности распоряжаться такой властью. Как объясняется в одном из эссе в этой книге, система Ethereum создавалась по принципу «доверительного нейтралитета» – этот же принцип определяет лидерскую роль Бутерина. С первых кадровых решений и до последних важных обновлений – и, возможно, вопреки его собственной воле – его стиль управления неотделим от самого Ethereum. Хотя эфир и подобные системы основаны на представлении о том, что все люди эгоистичны, его основатель – аскет, которому словно не нужно ничего, кроме криптобудущего.

При этом нет никаких гарантий, что к этому будущему стоит стремиться. Когда в 2014 году Бутерин впервые публично представил Ethereum на биткойн-конференции в Майами, он закончил перечислять все потенциальные чудеса этой системы, упомянув Скайнет – искусственный интеллект из фильмов о Терминаторе, восставший против людей, которые его создали. Он часто повторял эту шутку, в которой, как и во многих заезженных шутках, есть доля правды. Ethereum может стать и утопией, и антиутопией, и гибридом того и другого. В криптомире полно противоречий.

◊ Он умышленно создает дефицит, ограничивая доступность токенов, но он же позволяет сообществам генерировать, а затем использовать и контролировать огромный капитал.

◊ Он отсеивает людей, которые не могут себе позволить купить волатильную интернет-валюту и использовать ее, и он же стимулирует развитие новых систем управления, которые снимают сословные ограничения и отменяют властные привилегии.

◊ Его функционирование требует огромного количества энергии, и он же предлагает новые способы контролировать выбросы вредных веществ в атмосферу, в то время как правительства бездействуют.

◊ Он породил новый класс нуворишей, которые сорят деньгами и разгоняют инфляцию в «налоговых гаванях», выживая оттуда местных жителей, и он же представляет собой безграничную, принадлежащую самим пользователям финансовую систему, которая доступна каждому, у кого есть смартфон.

◊ Он дает преимущества технически подкованной элите, которая раньше успела воспользоваться новыми возможностями, и он же предлагает реальный шанс подорвать позиции доминирующих технологических компаний.

◊ Сначала он породил спекулятивную финансовую систему, а вовсе не реальную экономику полезных вещей, но при этом он в гораздо бóльшей степени принадлежит людям, создающим реальную ценность, чем фондовые активы.

◊ Он обеспечил огромные выплаты за коллекционные токены, не имеющие очевидной стоимости, но в результате появилась новая бизнес-модель для создания и распространения культуры открытого доступа.

◊ Он дает первым владельцам возможность обогатиться за счет следующих, и он же предлагает новым участникам набор инструментов, ценность которых зависит от их собственных поступков.

Помня об этих противоречиях, читатель должен сам делать выводы для себя и своего сообщества. Противоречия давят своей неопределенностью, но они же могут мотивировать к действию. В конце концов, вся эта сфера только развивается и еще не обрела окончательную форму.

░░▓

В основе любой блокчейн-системы вроде биткойна или Ethereum лежит механизм консенсуса. Это процесс, посредством которого компьютеры согласовывают общий набор данных – будь то список транзакций в биткойне или память мирового компьютера Ethereum – и защищают его от махинаций. Достичь консенсуса без централизованного управления непросто. Биткойн использует механизм под названием proof of work, где много компьютеров тратят много энергии на решение математических задач и тем самым доказывают, что они вкладываются в обеспечение безопасности системы. За это они получают плату, но при этом поглощают столько же электроэнергии, сколько способна потребить целая страна[3], что неизбежно сопровождается выбросами CO_2. Поскольку на тот момент альтернатив не было, Ethereum тоже использовал proof of work, но еще до запуска проекта Бутерин начал говорить о переходе на другой механизм, proof of stake, когда это станет технически возможно. В proof of stake участники доказывают свою ценность для сети не вычислительной мощностью, а вложенными токенами. Этот механизм расходует минимальное количество энергии, а риск потерять активы удерживает участников от махинаций.

В этой книге механизмы консенсуса имеют еще и метафорическое, а не только техническое значение. Они символизируют трудолюбие, решимость, уверенность и сотрудничество, что отражено в собранных здесь эссе. Вместе с тем они демонстрируют и противоречия: инновации и безрассудство, демократию и плутократию, сплоченное сообщество и полное недоверие. Как и сами механизмы консенсуса, эти символы отвергают идеализм и подчеркивают компромиссы, без которых реальный мир никогда не сможет даже приблизиться к нашим желаемым представлениям.

Эссе, которые мы вместе с Бутериным собрали в этой книге, показывают его с новой стороны – как социального теоретика и активиста, человека, который действует, не забывая перед этим подумать о последствиях. Криптокультура – преимущественно мужская, молодая и привилегированная – может казаться очень далекой от проблем, которые она намеревается решить. И Бутерин – живое воплощение этой культуры. Местами он слишком увлекается техническими подробностями, но в приведенных здесь работах их куда меньше, чем в других, которые зачастую предназначались только для коллег-разработчиков. Понять технические аспекты может оказаться непросто, но, если попытаться, потраченные усилия непременно окупятся. Даже когда в них встречаются математические формулы, эти тексты остаются ясными и увлекательными.

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

По мере проникновения криптовалют в экономический мейнстрим все чаще разгораются дебаты о том, стоит ли вернуть этого джинна обратно в бутылку, если это вообще возможно. Может быть, после прочтения книги люди, задающиеся этим вопросом, заметят, что их, как и Бутерина, интересует уже не столько «стоит ли» это делать, сколько все более разнообразные варианты ответа на вопрос, как с этим жить. Если мы действительно наблюдаем рождение новой социальной инфраструктуры, то создающиеся вокруг нее политические и культурные привычки будут иметь огромные последствия. Размышления Бутерина показывают, что вопрос «как» пока остается в значительной степени открытым.

.

Часть 1

Премайнинг

В январе 2014 года Бутерин сообщает в своем блоге, что «холодным ноябрьским днем в Сан-Франциско после нескольких месяцев размышлений и часто безрезультатной работы»[4] он подготовил вайтпейпер Ethereum. В те месяцы он был полужурналистом (в своем Bitcoin Magazine), полуразработчиком (в нескольких стартапах, связанных с биткойном), общался с либертарианцами в Нью-Гемпшире, иммигрантами в Цюрихе, программистами в Тель-Авиве и жителями Калафа, «посткапиталистической колонии» в разрушающемся заводском комплексе неподалеку от Барселоны. В свое время биткойн анонсировали именно в форме вайтпейпера, где техническое описание сочетается с манифестом, и последующие криптопроекты унаследовали этот формат. В 2013 году такой жанр прекрасно подошел журналисту-разработчику Бутерину. Статья «Ethereum: криптовалюта следующего поколения и децентрализованная платформа для приложений» – прекрасный конспект полного текста вайтпейпера, который можно найти в приложении к этой книге. Еще за полтора года до первого релиза Ethereum он размышляет об Ethereum 2.0 и proof of stake, хотя окончательно эти идеи созреют только к 2021 году.

Премайнинг – это выпуск токенов еще до публичного релиза блокчейна. Продав на базе вайтпейпера предварительно добытые эфиры, Бутерин и его первые партнеры сумели собрать больше 18 миллионов долларов. Тогда это был рекорд среди краудфандинговых онлайн-кампаний, в дальнейшем побитый проектами на базе самого Ethereum. Вопреки призывам более опытных партнеров создать коммерческую компанию, Бутерин настоял на некоммерческой сущности Ethereum. Но это не была благотворительная организация: в случае успеха ему и соучредителям доставалась солидная прибыль от токенов, полученных в результате премайнинга.

В этих эссе прослеживается эволюция Бутерина от адепта киберлибертарианства до прагматичного, открытого разным идеям разработчика инфраструктуры. Поначалу он хвалит проекты на основе биткойна – в то время очень модные и в большинстве случаев не дожившие до сегодняшнего дня. Но позднее, в статье «Об изолированных системах», Бутерин явно остужает свой пыл и отказывается искать все ответы в каком-то единственном проекте. Чтобы переписать общественный договор, утверждает он, потребуется инструментарий, не привязанный к какой-либо конкретной идеологии.

В преддверии релиза Ethereum Бутерин спрашивает себя: «В чем же его основная польза?» Он разрабатывает теорию перемен, вызванных не столько великими технологическими прорывами, сколько решением частных задач. Мотивация разработчиков этой технологии, предрекает он, будет зависеть оттого, что с ее помощью создадут другие. Готовясь к публичному релизу, он все больше размышляет о том, что никто не может знать или контролировать. – Н. Ш.

Рынки, институты и валюты – новый метод социального стимулирования

BITCOIN MAGAZINE

10 января 2014 года

До сих пор подступиться к проблеме стимулирования производства можно было, по сути, только с двух сторон: со стороны рынков или институтов. Рынки в чистом виде полностью децентрализованы и состоят из бесконечного числа агентов, которые взаимодействуют друг с другом так, чтобы каждый остался в выигрыше. Институты, в свою очередь, устроены иерархически: верхушка определяет, какие действия в определенный момент будут наиболее эффективны, и назначает вознаграждение за их выполнение. С одной стороны, централизация помогает институтам стимулировать производство общественных благ, которые приносят пользу тысячам или даже миллионам людей, хотя их польза для каждого отдельного человека может быть крайне мала; с другой стороны, она сопряжена с известными внутренними рисками. В сущности, в последние 10 000 лет именно эти два механизма отвечали за стимулирование производства. Однако с появлением биткойна и его производных все может измениться. И то, что мы наблюдаем сейчас, – это, возможно, зарождающаяся третья форма стимулирования: валюты.

ДРУГАЯ СТОРОНА МОНЕТЫ

В обществе валюта выполняет три фундаментальные функции. Она служит средством обмена, позволяя людям покупать и продавать товары за деньги, а не искать кого-то, кто одновременно и заинтересован в вашем товаре, и может предложить взамен нужный вам товар. Также валюта работает как средство сбережения, позволяя людям производить и потреблять блага в разное время. Наконец, это средство подсчета и измерения, с помощью которого мы можем вычислить постоянный «объем производства». Но мало кто знает о существовании четвертой роли валюты, важность которой скрывалась от нас большую часть истории: сеньораж.

Формально сеньораж можно определить как разницу между рыночной и внутренней стоимостью валюты, то есть стоимостью, которую имела бы валюта, если бы никто не использовал ее в качестве таковой. У древнейших валют вроде зерна сеньораж был практически равен нулю, но по мере развития экономики эта «фантомная стоимость», создаваемая деньгами будто из ниоткуда, все больше росла. В итоге она достигла точки, где сеньораж представляет собой всю стоимость валюты – как, например, у доллара или биткойна.

Но куда уходит этот сеньораж? В случае валют, основанных на природных ресурсах, – например, золота – бóльшая часть стоимости просто теряется. На каждый грамм золота приходится труд того, кто его добывает. Возможно, первые добытчики и получают неплохую прибыль, но потом, когда рынок исчерпывает все легкие пути, стоимость производства этой валюты приближается к доходу от нее. Конечно, существуют хитрые способы и дальше получать сеньораж от золота; например, в древних обществах короли чеканили золотые монеты и пускали их в ход дороже обычного золота, поскольку закладывали в них гарантию подлинности металла. Однако обычно эта ценность не доставалась никому конкретно. Американский доллар немного изменил положение вещей: часть его сеньоража шла правительству США. Это был одновременно и большой шаг вперед, и своего рода незавершенная революция – валюта, получив преимущества централизованного сеньоража, также столкнулась с рисками, неизбежными при работе с одним из крупнейших централизованных институтов в истории человечества.

И ПОЯВИЛСЯ БИТКОЙН

Пять лет назад появился новый вид денег – биткойн. Как и у доллара, у него нет внутренней стоимости, и его производство ничего не стоит. Куда же в этом случае идет сеньораж? Часть достается майнерам, а остальное покрывает издержки функционирования самой системы – обеспечивает ее безопасность. Так возникла валюта, сеньораж которой идет непосредственно на общее благо – поддержание безопасности сети биткойна. Эта ее особенность несправедливо обделена вниманием, ведь именно за счет нематериальной «фантомной» ценности, возникающей из самого использования биткойна как средства хранения и обмена, мы получаем уникальный процесс стимулирования: децентрализованный, не нуждающийся в контроле или управлении и создающий общественное благо.

Потом появился праймкойн (primecoin) – первая валюта, сеньораж которой попытались пустить на поддержку чего-то еще, кроме ее самой: если для создания биткойна майнерам приходится вычислять совершенно бесполезные хеши SHA256, то здесь им нужно было искать цепочки простых чисел Каннингема, что одновременно помогает развивать очень узкое направление научных вычислений и подталкивает производителей компьютеров искать новые способы оптимизировать микросхемы для арифметических операций. Праймкойн рос в цене с завидной скоростью и по сей день остается одиннадцатой среди самых популярных криптовалют[5], хотя многие другие, куда менее известные системы гарантируют пользователю такую же непосредственную практическую выгоду – создание блока за одну минуту[6].

Буквально через несколько месяцев, в декабре, с поразительным успехом выстрелила еще более необычная валюта – дожкойн [7](dogecoin). Дожкойн (тикер – DOGE) в техническом плане почти полностью идентичен лайткойну (litecoin) и отличается лишь большей максимальной эмиссией монет: 100 миллиардов против 84 миллионов. И все же рыночная капитализация дожкойна достигла 14 миллионов долларов, сделав его шестой по величине криптовалютой в мире. Даже пресса – Business Insider и Vice – не обошла его стороной. Что же такого особенного в DOGE? Все началось с мема. Слово «doge» – производное от «dog» – впервые появилось в 2005 году в кукольном шоу Homestar Runner и разрослось до глобальной тенденции накладывать разноцветные надписи вроде «wow», «so style» и «such awesome» шрифтом Comic Sans на изображение собаки породы сиба-ину. Этот мем отражает весь брендинг дожкойна: изображениями сиба-ину пестрят его сайты (в том числе официальный) и форумы, тред на Bitcointalk, который заводит любая уважающая себя криптовалюта[8], а также сабреддиты r/dogecoin и r/dogecoinmarkets. Этого оказалось вполне достаточно, чтобы капитализация клона лайткойна выросла до 14 миллионов долларов.

Наконец, третий пример выводит нас за пределы мира криптовалют. Более традиционная, централизованная валюта Ven подкрепляется набором товаров и услуг вроде предметов потребления, национальных валют и фьючерсов. Недавно этот набор пополнился фьючерсами на выбросы углекислого газа, что сделало Ven первой валютой, в некотором роде «привязанной к окружающей среде». Произошло это благодаря грамотному экономическому ходу: цена фьючерсов на выбросы обратно пропорциональна стоимости Ven, так что ценность валюты становится выше, когда общество отказывается от производств с повышенным выбросом CO_2 и разрешения на выбросы CO_2 становятся менее рентабельными. Таким образом, каждый держатель Ven имеет финансовый стимул – пусть и небольшой – заботиться об окружающей среде, и отчасти именно это привлекает интерес к Ven.

Все эти примеры показывают, что привлекательность альтернативных валют практически полностью зависит от низового маркетинга. Никто не стал бы покупать биткойн, праймкойн, дожкойн или Ven, если бы их просто навязывали всем без разбора или уговаривали продавцов принимать их в качестве оплаты. Не только техническое превосходство валюты определяет ее успех – идеалы имеют не меньшее значение. Именно идеалы биткойна убедили WordPress, Mega, а теперь и Overstock принимать его в качестве валюты. Возможно, по той же причине монета Ripple, несмотря на техническое превосходство над биткойном (в частности, пятисекундное подтверждение транзакции), не возымела такого же успеха: модель полуцентрализованного протокола, поддерживаемого корпорацией, которая забрала себе 100 % эмиссии его валюты, делает Ripple малопривлекательным для криптоэнтузиастов с их стремлением к справедливости и децентрализации. Сегодня праймкойн и DOGE продолжают успешно существовать именно благодаря верности своим идеалам. В первом случае это наука, во втором – юмор.

КРИПТОВАЛЮТЫ КАК ЭКОНОМИЧЕСКАЯ ДЕМОКРАТИЯ

Эти примеры, наряду с идеей фантомной ценности сеньоража, очерчивают приблизительные контуры нового вида «экономической демократии», где можно создавать валюты, сеньораж или эмиссия которых пойдут на поддержку конкретных целей, а люди смогут поддержать эти цели, используя ту или иную валюту в своей предпринимательской деятельности. Если у человека нет своего бизнеса, он сможет участвовать в маркетинговых инициативах и добиваться, чтобы другие компании начали принимать эти монеты. Можно также выпускать свои SocialCoin[9], как это уже ежемесячно делают 1000 человек по всему миру, и, если достаточному количеству людей понравится идея и они начнут ее реализовать, в мире появится гражданская программа дивидендов, не требующая централизованного финансирования. Мы также можем создавать валюты для стимулирования медицинских исследований, освоения космоса и даже поддержки искусства – уже сегодня о создании собственных валют подумывают некоторые художники, музыканты и авторы подкастов.

Говоря о конкретном общественном благе – вычислительных исследованиях, – мы можем пойти еще дальше и автоматизировать процесс распределения. Стимулировать вычислительные исследования можно посредством механизма, который пока не был применен в реальности, но в теории был описан создателем пиркойна и праймкойна Санни Кингом. Речь идет о proof of excellence, «доказательстве достижениями». Идея proof of excellence заключается в том, что ваше вознаграждение и ваша доля в децентрализованном пуле голосования зависят не от вычислительной мощности вашего компьютера или количества монет, а от возможности вашего устройства решать сложные математические или алгоритмические задачи, ответы на которые принесут пользу всему человечеству. Например, если кто-то хочет стимулировать исследования в области теории чисел, он может внедрить в валюту задачи по факторизации RSA-чисел и первому, кто предоставит решение, автоматически назначить награду в 50 000 единиц и, например, дать возможность голосовать за валидацию блоков в процессе майнинга. Теоретически это может даже стать стандартным элементом эмиссионной модели любой валюты.

Конечно, такой подход к валютам существовал и раньше: «социальные валюты» начали циркулировать в локальных сообществах еще в начале ХХ века. Однако после пика популярности интерес к ним пошел на спад, в первую очередь из-за того, что они просто не смогли выйти за границы локальных сообществ, к тому же они плохо вписывались в растущую банковскую систему, которая предпочитала работать с более серьезными валютами вроде доллара США. Однако для криптовалют это уже не помеха – они по определению охватывают весь мир и работают на основе невероятно мощной цифровой банковской системы, встроенной непосредственно в их исходный код. Возможно, настал идеальный момент для грандиозного возвращения социальных валют в технически усовершенствованном виде, причем в новой роли движущей силы мировой экономики.

Так что же будет дальше? На примере DOGE мы убедились, как на самом деле просто выпустить собственную валюту, а совсем недавно разработчик биткойна Мэтт Корралло создал сайт coingen.io, единственная цель которого – позволить пользователям быстро создавать клоны биткойнов или лайткойнов с несколько измененными параметрами. Даже с ограниченным на сегодняшний день набором опций сайт оказался довольно популярным и, несмотря на комиссию в 0,05 BTC, подарил жизнь сотням валют. Как только Coingen позволит пользователям добавлять майнинг на основе proof of excellence и передавать часть эмиссии определенной организации или фонду, а также расширит возможности индивидуального брендинга, вполне возможно, на наших глазах появятся уже тысячи криптовалют. Оправдают ли они наши надежды? Станут ли они децентрализованным и демократичным способом объединять наши средства и поддерживать общественные проекты и инициативы, ведущие человечество к лучшему будущему? Может, да, а может, и нет. Но почти каждый день на свет появляется новая криптовалюта, приближая нас к ответу на этот вопрос.

Ethereum: криптовалюта следующего поколения и децентрализованная платформа для приложений

23 ЯНВАРЯ 2014 ГОДА

В минувшем году все чаще и чаще можно было услышать о так называемых протоколах «Bitcoin 2.0». Эти альтернативные блокчейны, вдохновленные биткойном, стремятся предложить на основе той же технологии более широкую функциональность, чем просто валютные операции. Впервые эта идея была реализована в неймкойне – созданной в 2010 году биткойноподобной валюте для децентрализованной регистрации доменных имен. Недавно появились цветные монеты (colored coins), позволяющие пользователям создавать собственные валюты на основе биткойна, и продвинутые протоколы вроде Mastercoin, Bitshares и Counterparty с функциями финансовых деривативов, сберегательных кошельков и децентрализованного обмена валют. Однако все существующие на сегодня протоколы имеют слишком узкую специализацию: как правило, это наборы конкретных функций для конкретных отраслей или приложений, чаще всего финансового характера. Но сегодня группа разработчиков – и я в их числе – решила подойти к этому с другой стороны и создать максимально универсальную криптовалютную сеть, на основе которой любой сможет разработать специализированные приложения практически для любых целей, которые только можно себе вообразить. Мы назвали ее Ethereum.

КРИПТОВАЛЮТНЫЙ ПРОТОКОЛ НАПОМИНАЕТ ЛУКОВИЦУ…

В дизайне многих криптовалютных протоколов второго поколения прослеживается общая идея: протокол, как и интернет, работает лучше при разделении на слои. Если развить эту мысль, протокол биткойна можно представить как своего рода TCP/IP для криптовалютной экосистемы, а протоколы следующего поколения создаются поверх биткойна. То же самое мы наблюдали с TCP в качестве общего базового слоя и созданными поверх него SMTP для электронной почты, HTTP для веб-страниц и XMPP для чатов.

До сих пор этой модели придерживались в основном три протокола: цветные монеты, Mastercoin и Counterparty. Принцип работы протокола цветных монет очень прост. Сперва пользователь приписывает определенным биткойнам конкретное значение и таким образом создает цветные монеты. Например, если Боб – эмитент золота, он может пометить некий набор биткойнов и сказать, что каждый сатоши в нем стоит 0,1 грамма золота и подлежит обмену по соответствующему курсу. Затем протокол отслеживает эти биткойны через блокчейн, и таким образом всегда можно вычислить, кто владеет ими прямо сейчас.

Mastercoin и Counterparty в некотором роде более абстрактны. Они используют блокчейн Bitcoin для хранения данных, так что по сути их транзакция – это транзакция биткойна, но протоколы интерпретируют их совершенно иначе. Например, можно провести две транзакции Mastercoin, в первой отправив 1 MSC, а во второй – 100 000 MSC. Но с точки зрения пользователя Bitcoin, который не знает принципов работы протокола Mastercoin, обе они будут выглядеть как маленькие транзакции по 0,0006 BTC; метаданные Mastercoin кодируются в выходах транзакций. Затем, чтобы определить текущий баланс Mastercoin, клиенту потребуется выполнить поиск транзакций Mastercoin в блокчейне биткойна.

Мне довелось лично пообщаться со многими создателями цветных монет и протокола Mastercoin и принять участие в развитии обоих проектов. За два месяца исследований и совместной работы я понял, что все плюсы идеи создания высокоуровневых протоколов поверх низкоуровневых теряются из-за существенных недостатков в ее реализации, что может помешать этой идее вырасти в нечто большее.

И дело не в том, что сама задумка плоха. Задумка отличная, и реакция сообщества лишний раз доказала, насколько это востребовано. Причина скорее в том, что используемый протокол – биткойн – просто не очень подходит на роль базы для надстройки других протоколов. Это не делает биткойн ненужным или менее революционным изобретением: как протокол для хранения и передачи ценности он прекрасен, но в качестве низкоуровневого протокола – далеко не так эффективен. Если сравнивать его с другими протоколами, он похож не на TCP, поверх которого можно построить HTTP, а скорее на SMTP, который хорошо справится с конкретной задачей (для SMTP это работа с электронной почтой, а для биткойна – с деньгами), но едва ли подойдет в качестве основы для чего-либо еще.

Эта проблема объясняется конкретным свойством биткойна – его масштабируемостью. Сам по себе биткойн масштабируем ровно настолько, насколько это возможно для криптовалюты. Даже если размер блокчейна перевалит за терабайт, протокол под названием Simplified Payment Verification (SPV, «упрощенная проверка платежей»), описанный в вайтпейпере биткойна, позволит «легким клиентам» с пропускной способностью и объемом памяти всего в несколько мегабайт спокойно отслеживать прохождение транзакций. Однако с цветными монетами и Mastercoin эта возможность исчезает. Причина кроется в следующем: для определения цвета цветной монеты SPV будет недостаточно, и потребуется проследить весь ее путь вплоть до происхождения, на каждом этапе выполняя упрощенную проверку. Иногда обратное сканирование экспоненциально, и с протоколами метакойнов вовсе невозможно что-либо узнать без проверки каждой отдельной транзакции.

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

КОНТРАКТЫ НА ЧТО УГОДНО

Пока Ethereum еще разрабатывался, возрос интерес к финансовым контрактам на базе криптовалют. Основным типом контракта был «контракт на разницу цен» (CFD): в нем две стороны соглашаются внести некоторую сумму денег, а затем получить деньги в пропорции, которая зависит от стоимости некоторого базового актива. Например, Алиса вносит $1000, Боб – столько же, а через 30 дней блокчейн автоматически возвращает Алисе $1000 плюс $100 за каждый доллар, на который за это время выросла цена LTC/USD, а Бобу отправит оставшуюся сумму. Эти контракты позволяют людям спекулировать на активах с высоким кредитным плечом или, наоборот, защищать себя от волатильности криптовалют, избегая рисков без какого-либо централизованного обмена.

Однако сейчас ясно, что контракты на разницу цен – лишь одна из имплементаций более глобальной идеи: контрактов по формуле. Недостаточно, чтобы контракт умел только брать у Алисы $x, у Боба $y, а затем возвращать Алисе $x + дополнительные $z за каждый доллар, на который подорожал данный актив. Он должен также уметь вернуть Алисе сумму, рассчитанную по любой математической формуле. Такая возможность позволит заключать контракты произвольной сложности. Если формула будет допускать любые входные данные, такие универсальные CFD можно использовать даже для p2p-игр. Чтобы выпустить CFD, Алисе нужно будет создать контракт, отправить на него криптовалюту на $1000 и дождаться, пока Боб примет контракт, также отправив транзакцию на $1000. Затем включится запрограммированный таймер, и через 30 дней они смогут отправить на контракт небольшую транзакцию, чтобы снова его активировать и разблокировать средства.

Пример кода контракта на Ethereum, написанный на высокоуровневом языке:

if tx.value < 100 * block.basefee:

stop

if contract.memory[1000]:

from = tx.sender

to = tx.data[0]

value = tx.data[1]

if to <= 1000:

stop

if contract.memory[from] < value:

stop

contract.memory[from] = contract.memory[from] – value

contract.memory[to] = contract.memory[to] + value

else: contract.memory[mycreator] = 10000000000000000 contract.memory[1000] = 1

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

░ ЭСКРОУ С МУЛЬТИПОДПИСЬЮ, по духу напоминающий арбитражный сервис биткойна Bitrated, но с усложненными правилами. Например, подписавшимся не придется вручную обрабатывать частично подписанные транзакции: через блокчейн люди смогут асинхронно санкционировать вывод средств, и когда транзакцию подтвердит достаточное число участников, она совершится автоматически.

░ Еще одна интересная функция – СБЕРЕГАТЕЛЬНЫЕ СЧЕТА. Предположим, Алиса хочет отложить крупную сумму, но не хочет рисковать всем, если ее приватный ключ потеряется или попадет в чужие руки. Она заключает контракт с Бобом, которому не готова довериться до конца, на следующих условиях: во-первых, Алиса может снять до 1 % в день; во-вторых, она может снять любую сумму с одобрения Боба; в-третьих, сам Боб может снять до 0,05 % в день. Алиса не собирается снимать крупные суммы за один раз, а если захочет, то сможет сделать это через Боба, подтвердив ему свою личность. Если кто-то украдет приватный ключ Алисы, она поспешит обратиться к Бобу и переместить средства на другой контракт, пока вор не успел украсть больше 1 %. Если Алиса потеряет свой приватный ключ, Боб сможет восстановить ее средства, пусть это и займет какое-то время. А если сам Боб окажется злоумышленником, Алиса сможет вывести свои средства в 20 раз быстрее, чем он. Короче говоря, система защиты напоминает традиционный банкинг, но отличается от него тем, что основана не на одном лишь доверии к банку.

░ P2P-ИГРЫ. Любой вид протокола p2p-игр можно внедрить на базе Ethereum. Простейший из таких протоколов – контракт на разницу цен на основе случайных данных вроде хеша блока.

░ СОЗДАНИЕ СОБСТВЕННОЙ ВАЛЮТЫ. На базе внутренней памяти Ethereum вы можете создать внутри него совершенно новую валюту. Возможности создания валют позволяют сделать так, чтобы они взаимодействовали друг с другом, обеспечивали децентрализованный обмен и поддерживали множество других передовых функций.

В этом и есть главное преимущество кода Ethereum: его скриптовый язык создавался так, чтобы не иметь ограничений кроме системы комиссий, и поэтому на его основе можно закодировать любой вид правил. На блокчейне можно даже управлять сбережениями целых компаний: создать, к примеру, контракт, по которому перемещение средств возможно только с разрешения 60 % акционеров (а 30 %, например, могут распоряжаться суммой максимум в 1 % в день). Возможны и другие структуры, менее традиционные для капиталистической реальности: например, демократические организации, членом которых можно стать только с согласия двух третей ее состава.

НЕ ТОЛЬКО ФИНАНСЫ

Но финансовые приложения – лишь малая доля того, на что способны Ethereum и созданные на нем протоколы. Хотя именно финансовые приложения Ethereum в первую очередь привлекают криптосообщество, не менее интересно предположить, какой результат может дать взаимодействие с нефинансовыми p2p-протоколами. Одна из главных проблем таких протоколов – отсутствие стимулов: они, в отличие от централизованных коммерческих платформ, не предлагают участникам финансовых выгод. Конечно, иногда участие в проекте – само по себе награда. Именно поэтому люди продолжают создавать софт с открытым исходным кодом, писать статьи для «Википедии», вести блоги и оставлять развернутые комментарии на форумах. Но вот в контексте p2p-протоколов увлеченность проходит очень быстро: процесс поглощает безмерное количество ресурсов, демон[10] может без остановки работать в фоновом режиме, из-за чего процессор перегружается и расходует очень много электроэнергии.

Например, уже давно существуют протоколы данных вроде Freenet, готовые предоставить каждому нецензурируемый хостинг статического контента. По факту же Freenet работает очень медленно, и мало кто выделяет на него ресурсы. Все файлообменные протоколы преследует одна и та же проблема: если нашумевшие блокбастеры распространяют на них с завидным альтруизмом, то на что-то менее популярное энтузиазма уже не хватает. Парадоксально, но выходит, что обмен файлами между пользователями порой не просто не препятствует централизации развлекательной и медийной продукции, но даже ее усиливает. Однако все эти проблемы можно решить с помощью стимулов: дать людям возможность создавать в сети не только некоммерческие проекты, но и доходный бизнес.

░ ПООЩРИТЕЛЬНОЕ ХРАНЕНИЕ ДАННЫХ. Проще говоря, децентрализованный Dropbox. Идея такая: если пользователь захочет хранить в сети файл размером в 1 Гб, он создаст структуру данных, известную как дерево Меркла. Затем он заложит корень дерева вместе с 10 ETH в контракт и загрузит файл в другую сеть, за сообщениями которой будут следить узлы, готовые сдать в аренду место на своих жестких дисках. Каждый день контракт будет автоматически выбирать случайную ветку дерева (например, «left – > right – > left – > left – > left – > right – > left»), заканчивая блоком файла, и выдавать 0,01 ETH первому узлу этой ветки. Узлы будут хранить весь файл целиком, чтобы максимально увеличить шанс получить вознаграждение.

░ BITMESSAGE И ТОR. Bitmessage – это протокол электронной почты нового поколения, который одновременно и полностью децентрализован, и зашифрован, благодаря чему можно безопасно отправлять сообщения любому другому пользователю Bitmessage и не полагаться на третью сторону (кроме самой сети). Тем не менее у Bitmessage есть один большой недостаток в удобстве использования: вместо отправки сообщений на простой и понятный адрес вроде «bob@gmail.com» придется иметь дело с корявым 34-значным адресом Bitmessage (например, «BM-BcbRqcFFSQUUmXFKsPJgVQPSiFA3Xash»). Вот какое решение предлагает Ethereum: люди могут регистрировать свои имена при помощи специального контракта Ethereum, а клиенты Bitmessage – запрашивать блокчейн Ethereum предоставить адрес Bitmessage из 34 символов, секретно привязанный к любому имени. Эта схема может пригодиться и в анонимной сети Tor, пользователи которой тоже столкнулись с этой проблемой.

░ СИСТЕМЫ ИДЕНТИФИКАЦИИ И РЕПУТАЦИИ. Раз в блокчейне можно зарегистрировать имя, логика подсказывает следующий очевидный шаг: создать на базе блокчейна систему Web of Trust (WOT, сеть доверия). Web of Trust – ключевой элемент эффективной коммуникативной инфраструктуры p2p: ведь вам нужно не просто знать, что конкретный публичный ключ связан с конкретным человеком, но и понимать, можно ли этому человеку вообще доверять. Решением становится использование соцсетей. Если вы доверяете А, А доверяет Б, а Б доверяет В, тогда есть большая вероятность, что вы хотя бы отчасти можете доверять В. Ethereum может стать слоем хранения данных для полностью децентрализованной системы репутаций, а в перспективе – полностью децентрализованной торговой площадкой.

Многие из вышеупомянутых кейсов – это реальные p2p-протоколы и проекты, которые уже активно разрабатываются. Мы намерены привлечь к сотрудничеству как можно больше подобных проектов и помочь им финансированием в обмен на вклад в экосистему Ethereum. Мы хотим помочь не только криптосообществу, но и p2p-сообществу в целом, включая файлообмен, торренты, хранение данных и ячеистые сети. Мы уверены, что существует множество проектов, потенциально ценных для сообщества, особенно в нефинансовой сфере, которые недополучают финансирование как раз из-за сомнений в их финансовом потенциале. Ethereum может помочь десяткам таких проектов сделать долгожданный шаг вперед.

Почему все эти приложения можно построить на базе Ethereum? Ответ кроется во внутреннем программном языке. Проведем аналогию с интернетом. В 1996 году в сети не было другого языка, кроме HTML, и на нем можно было создавать лишь статические веб-страницы на сайтах вроде Geocities. Затем люди решили, что им нужна возможность отправлять формы в HTML, и добавили в него такую функцию. Получилось что-то вроде «цветных монет» для веб-протоколов: чтобы решить конкретную проблему, они дополнили слабый протокол, вместо того чтобы копнуть глубже. Но вскоре появился Javascript – язык программирования внутри веб-браузера. Именно он решил эту проблему: будучи универсальным, полным по Тьюрингу языком программирования, он подошел для создания приложений произвольной сложности. Gmail, Facebook и даже биткойн-кошельки – все это было создано с помощью Javascript. И дело не в том, что разработчики этого языка мечтали подарить людям Gmail, Facebook и биткойн-кошельки. Они просто хотели создать язык программирования. Возможности этого языка ограничиваются лишь нашим воображением, и именно этот дух мы хотим привнести в Ethereum. Задача Ethereum – стать не финалом инноваций в криптосфере, а их началом.

ДРУГИЕ ИННОВАЦИИ

Хотя Ethereum прежде всего ценен своим полным по Тьюрингу, универсальным скриптовым языком, он также имеет ряд преимуществ над другими блокчейнами.

░ КОМИССИИ. Функциональные возможности полноты по Тьюрингу допускают злоупотребления в транзакциях вроде пожирателей памяти или закольцованных скриптов. Контракты Ethereum будут предотвращать их благодаря комиссиям за транзакцию на каждом вычислительном этапе исполнения сценария. Более дорогие операции – например, доступ к хранению и криптографические операции – будут обходиться дороже, а также будет отдельная плата для каждого элемента хранения, который заполняет контракт. Чтобы стимулировать контракты «убирать за собой», например если они сокращают объем памяти, будет взиматься дополнительная, «негативная» комиссия. Более того, специальный опкод SUICIDE позволит аннулировать контракт и вернуть все сбережения и значительные «негативные» комиссии владельцу.

░ АЛГОРИТМЫ МАЙНИНГА. Многие ждут появления криптовалют, ограничивающих майнинг на специализированном оборудовании. Тогда люди с обычными компьютерами могли бы поучаствовать в этом процессе без каких-либо вложений, что позволило бы избежать централизации. До сих пор главным противоядием был алгоритм майнинга Scrypt, который требует очень много вычислительной мощности и памяти. Но его требований к памяти недостаточно, к тому же некоторые компании производят устройства специально под этот алгоритм. Мы же хотим предложить Dagger – тестовый алгоритм proof of work с еще бóльшими требованиями к памяти, чем у Scrypt, а также тестовые алгоритмы proof of stake – например, Slasher, который вовсе не сталкивается с проблемой майнинга. Но рано или поздно мы собираемся провести конкурс, подобный тем, что определили стандарты для AES и SHA3. Мы пригласим исследовательские группы из университетов всего мира, чтобы разработать лучший из возможных майнинговых алгоритмов, устойчивых к специализированному оборудованию.

░ GHOST. Это новый протокол распространения блоков, впервые предложенный Авивом Зоаром и Йонатаном Сомполински. Он помогает блокчейну подтверждать блок гораздо быстрее, в идеале – в диапазоне 3–30 секунд, при этом избегая проблем с централизацией и задержкой записи транзакций, типичных при быстром подтверждении блоков. Ethereum – первая крупная криптовалюта, которая интегрирует в свой протокол упрощенную одноуровневую версию GHOST.

ПЛАН

Ethereum – крупное и масштабное начинание, и на его разработку уйдут месяцы. Поэтому запуск разделится на несколько этапов. Первый – публикация вайтпейпера – уже состоялся, у проекта появились форумы, википедия и блог, где любой желающий может зарегистрироваться и оставлять комментарии. 25 января на конференции в Майами запускается 60-дневный сбор средств, во время которого любой желающий сможет приобрести ETH – внутреннюю валюту Ethereum – за биткойны, как это было с Mastercoin. За 1 биткойн можно будет приобрести 1000 ETH, хотя для более ранних инвесторов курс будет примерно в два раза выше – в качестве компенсации за повышенный риск, на который они пошли, поддержав проект на ранних стадиях. Участники сбора средств получат не только эфиры, но и дополнительные вознаграждения: билеты на конференции, хранилище в 32 байта для первичного блока, а крупнейшие спонсоры – даже возможность придумать название для трех единиц исчисления валюты (вроде «микробиткойна» у биткойна).

Эмиссия ETH будет осуществляться не по какому-либо единому механизму: мы остановились на компромиссном варианте, сочетающем преимущества сразу нескольких подходов. Вот как это будет выглядеть.

░ Эмиссия ETH состоится в рамках сбора средств по цене 1000–2000 ETH за BTC, причем первые спонсоры получат более выгодный курс в качестве компенсации за повышенный риск участия на более ранней стадии. Минимальный взнос составит 0,01 BTC. Предположим, что таким образом мы выпустим X эфиров.

░ 0,225X ETH отправятся доверенным членам и самым первым спонсорам, которые существенно помогли проекту еще до начала сбора средств. Эта доля будет храниться на контракте с блокировкой по времени: около 40 % можно будет потратить через один год, 70 % – через два года и 100 % – через три года.

░ 0,05X ETH уйдут на поощрение тех, кто помог во время сбора средств: эти средства пойдут на оплату расходов и вознаграждения в ETH поддержавшим проект между началом сбора средств и запуском валюты.

░ 0,225X ETH войдут в долгосрочный резервный фонд для оплаты расходов, заработной платы и вознаграждений в ETH после запуска блокчейна.

░ После этого каждый год будет добываться одинаковое количество ETH – 0,4X.

В отличие от биткойна и большинства других криптовалют, эмиссия ETH не ограничена. Модель «перманентной линейной инфляции» разработана таким образом, чтобы эфир не был подвержен ни инфляционным, ни дефляционным процессам. Отказ от лимита на эмиссию должен ослабить влияние спекуляций и имущественного неравенства, которому подвержены существующие криптовалюты. В то же время линейная, а не традиционная экспоненциальная инфляционная модель подразумевает, что эффективная ставка инфляции со временем будет стремиться к нулю. Кроме того, поскольку валюта начнет свое существование не с нуля, увеличение валютной массы в первые восемь лет будет происходить медленнее, чем это было у биткойна, что даст ранним спонсорам и участникам сбора средств шанс получить значительную выгоду в среднесрочной перспективе.

Примерно в феврале мы готовим релиз централизованной тестовой сети – сервера, с помощью которого каждый сможет отправлять транзакции и создавать контракты. За ним последует децентрализованная тестовая сеть, в которой мы будем тестировать различные алгоритмы майнинга, проверять безопасность и работоспособность p2p-демона, а также проводить измерения, чтобы в дальнейшем оптимизировать скриптовый язык. Наконец, когда мы будем уверены в том, что протокол и клиент полностью безопасны, мы выпустим первичный блок и запустим процесс майнинга.

ЧТО ДАЛЬШЕ

Поскольку Ethereum использует полный по Тьюрингу скриптовый язык, можно математически доказать, что он способен на все, на что может быть способна криптовалюта на основе блокчейна, подобная биткойну. И все же протокол в его нынешнем виде не лишен недостатков. Например, Ethereum не решает фундаментальную проблему масштабируемости всех криптовалют на основе блокчейна: каждый полный узел должен хранить весь баланс и проверять каждую сделку. Ethereum несколько смягчает проблему за счет концепции разделения «дерева состояний» и «списка транзакций», заимствованной у Ripple, но никаких фундаментальных прорывов в этой области он пока предложить не может. Для этого необходима технология вроде Secure Computational Integrity and Privacy (SCIP) Эли Бен-Сассона, которая пока находится в стадии разработки.

Кроме того, Ethereum не предлагает никаких улучшений в области традиционного майнинга proof of work со всеми его недостатками, а возможности proof of excellence и консенсуса в стиле Ripple пока остаются неисследованными. Если выяснится, что proof of stake или какой-либо другой алгоритм proof of work предлагает лучшее решение, то будущие криптовалюты смогут перейти на такие алгоритмы proof of stake, как MC2 и Slasher. Если дело дойдет до Ethereum 2.0, то в первую очередь улучшения произойдут именно в этих областях. В конце концов, проект Ethereum не предполагает конечной цели, и при достаточном финансировании мы сможем запустить Ethereum 2.0 самостоятельно, перенеся балансы с первоначальных счетов в обновленную сеть. Как гласит девиз нашей платформы, мы ограничены лишь воображением.

Самоисполняемые контракты и фактическое право

БЛОГ ETHEREUM

24 февраля 2014 года

Многие концепции, которые мы предлагаем в Ethereum, могут показаться совершенно фантастическими, а иногда даже жуткими. Одна из них – так называемые смарт-контракты, которые исполняются самостоятельно, без необходимости или даже без возможности человеческого вмешательства. Роль человека ограничивается тем, что он создает напоминающие Скайнет «децентрализованные автономные организации», которые полностью существуют в облаке и управляют мощными финансовыми ресурсами. Такие виртуальные контракты могут сподвигнуть людей на вполне реальные действия в физическом мире – например, на создание децентрализованной «правовой системы на основе математики» или на реализацию утопической на первый взгляд модели общества, которая не строится на доверии к централизованным институтам. Неосведомленному пользователю, особенно если он не слышал даже о старом добром биткойне, трудно вообразить, как такое возможно и для чего это нужно. В этой серии статей мы разберем основные концепции Ethereum, объясним их значение, обсудим свойства, преимущества и недостатки.

Первую статью серии мы посвятим так называемым смарт-контрактам. Сама идея смарт-контрактов витала в воздухе несколько десятилетий, но свое современное имя и концептуальные очертания приобрела в 2005 году, когда Ник Сабо представил ее вниманию заинтересованной в криптографии публики. Суть термина очень проста: смарт-контракт – это контракт, который исполняется без постороннего вмешательства. Другими словами, если обычный контракт – это лист бумаги (или PDF-документ) с текстом, согласно которому одна сторона должна отправить деньги (или другую собственность) другой стороне при соблюдении определенных условий, то смарт-контракт – это компьютерная программа, которая сама автоматически выполняет эти условия. Ник Сабо использовал пример с вендинговыми автоматами:

Классический пример из реальной жизни – простой вендинговый автомат, можно сказать, примитивный предшественник смарт-контрактов. Он принимает монеты в пределах определенной суммы (сумма в кассе не должна превышать затраты злоумышленников на ее взлом) и за счет простого механизма – на уровне задач для студентов-программистов первого курса – выдает товар и сдачу в соответствии с указанной ценой. Вендинговый автомат – это контракт на предъявителя, то есть обмен с ним может совершить любой, у кого есть достаточно монет. Замки и другие защитные механизмы оберегают товары и монеты от взломщиков, и этого вполне достаточно, чтобы продавцам было выгодно использовать такие автоматы.

В смарт-контрактах тот же принцип применяется для, скажем так, самых широких задач. Например, финансовые смарт-контракты могут автоматически перемещать деньги на основании заданных формул и условий; смарт-контракт на продажу доменного имени может автоматически отдать его первому, кто заплатит за него $200; возможны даже страховые смарт-контракты, которые контролируют банковские счета и автоматически осуществляют выплаты на основании данных о событиях в реальном мире из надежного источника (или источников).

УМНАЯ СОБСТВЕННОСТЬ

Здесь, однако, возникает очевидный вопрос: как эти контракты будут исполняться? Традиционный контракт не стоит и цены листа бумаги, на котором он написан, пока, например, судья, обладающий законной властью, не гарантирует его исполнение. Со смарт-контрактами все то же самое: чтобы возыметь силу, они должны быть «встроены» в какую-то систему. Самое старое и очевидное решение – специальное оборудование, известное также как «умная собственность». Вендинговый автомат Ника Сабо – хороший пример такого решения. Ведь внутри автомата находится, можно сказать, протосмарт-контракт с примерно таким компьютерным кодом:

if button_pressed == “Coca Cola” and money_inserted >= 1.75:

release(“Coca Cola”)

return_change(money_inserted – 1.75)

else if button_pressed == “Aquafina Water” and money_inserted >= 1.25:

release(“Aquafina Water”)

return_change(money_inserted – 1.25)

else if …

Этот контракт имеет четыре привязки к внешнему миру: входные переменные button_pressed (нажать кнопку) и money_inserted (вставить деньги) и выходные команды release (выдать) и return_change (вернуть сдачу). В разных автоматах эти функции могут быть реализованы по-разному, но на первой мы останавливаться не будем, поскольку нажатие кнопки – задача несложная. Попытка выполнить этот контракт на Android-смартфоне образца 2007 года ни к чему бы не привела: он не сможет узнать, сколько денег внес покупатель, и уж точно не выдаст сдачу и бутылку колы. А вот в вендинговом автомате этот контракт приобретает «силу» за счет запасов колы и физической защиты, которая не позволяет взять напиток просто так, без соблюдения условий контракта.

Можно представить и другое, более футуристическое воплощение умной собственности – например, в сфере аренды автомобилей. Вообразите мир, где у каждого в смартфоне есть собственный приватный ключ, и, если отправить $100 на конкретный адрес, автомобиль в течение суток будет автоматически подчиняться командам, подписанным этим ключом. Тот же принцип можно применить и к домам. Если для вас это звучит нереально, напомню, что уже сегодня некоторые офисные здания функционируют как умная собственность: для входа в них нужна карта доступа, и то, какую именно дверь сможет открыть ключ, определяет код, привязанный к базе данных. Более того, если компания использует HR-систему, которая автоматически обрабатывает трудовые контракты и активирует карты доступа новых сотрудников, это тоже своего рода смарт-контракт.

УМНЫЕ ДЕНЬГИ И ФАКТИЧЕСКОЕ ОБЩЕСТВО

И все же возможности физической собственности весьма ограничены. Уровень ее защиты невысок, поэтому интересных опций на сумму, превышающую несколько десятков тысяч долларов, практически не существует. И, в конце концов, самые интересные контракты связаны с перемещением денег. Но как реализовать их на практике? Собственно, прямо сейчас – никак. Теоретически мы можем предоставить контрактам учетные данные для доступа к нашим банковским счетам, чтобы затем контракт отправлял оттуда средства при выполнении определенных условий, но такой контракт нельзя будет назвать «самоисполняемым». Одна из сторон контракта в любой момент сможет отключить его до наступления срока оплаты, или опустошить свой банковский счет, или попросту изменить свой пароль. В сущности, неважно, как контракт интегрирован в систему, ведь любая сторона всегда сможет его отключить.

Как же решить эту проблему? Для широкой аудитории ответ может показаться радикальным, но для тех, кто знаком с биткойном, это уже не новость: нам нужны деньги нового типа. На сегодняшний день эволюция денег прошла три этапа: товарные деньги; деньги, обеспеченные товаром; фиатные деньги. Товарные деньги устроены очень просто: они имеют ценность, потому что сами представляют собой товар с некоторой «внутренней» потребительской стоимостью. Лучшие примеры – золото и серебро, а в более традиционных обществах в этом качестве могут использовать чай, соль (минутка этимологии: отсюда произошло слово «зарплата»[11]), ракушки и прочее. Потом возникли деньги, обеспеченные товаром, – банки выпускали сертификаты, которые можно было обменять на золото. Наконец, появились фиатные деньги. Слово «fiat» в фиатных деньгах – то же, что и в библейском «fiat lux» («да будет свет»), только тут говорит не бог, а государство, и говорит оно: «да будут деньги». Ценность фиатных денег обусловлена исключительно тем, что их выпускает государство и оно же принимает их (и только их) в качестве налогов и пошлин, а также предоставляет им другие преимущества.

Но вместе с биткойном у нас появился новый вид денег: фактические деньги. Фиатные и фактические деньги различаются тем, что первые кто-то создает и поддерживает – в нашем случае государство, но теоретически это может быть и какой-то другой агент, – а фактические деньги просто существуют. Фактические деньги – это просто баланс с некоторым набором правил его обновления, и пользователи сами выбирают, пользоваться такими деньгами или нет. Первым примером фактических денег стал биткойн, но есть и другие. Например, если пользователь примет новое правило, по которому баланс будет пополняться только биткойнами из определенной «первичной транзакции», мы получим так называемые цветные монеты – еще один вид фактических денег (если только эти цветные монеты сами не будут фиатными или обеспеченными товаром).

Главный плюс фактических денег как раз в том, что они прекрасно сочетаются со смарт-контрактами. Основная проблема таких контрактов – контроль их соблюдения: если по условию контракта после события Х Боб должен получить $200 и это событие происходит, то как гарантировать, что Бобу действительно отправят причитающуюся ему сумму? С фактическими деньгами возможно очень элегантное решение: само определение денег, точнее определение текущего баланса, представляет собой результат исполнения всех контрактов. То есть если событие Х действительно происходит, то все соглашаются, что у Боба становится на $200 больше, а если Х не происходит, то все соглашаются, что Боб остается с тем, что у него было.

Эта идея на самом деле куда более революционна, чем может показаться на первый взгляд. По сути, мы получаем способ непринудительного соблюдения контрактов, а может, даже и законов. Хотите ввести штраф в $100 за мусор? Задайте валюте такое определение, что счет пользователя, который намусорит, уменьшится на $100, и убедите людей ее принять. Пусть этот пример не очень реалистичен и непрактичен без пары важных уточнений, которые мы обсудим ниже, но он иллюстрирует общий принцип. Уже сейчас есть множество более простых примеров этого принципа, которые можно воплотить в жизнь.

НАСКОЛЬКО УМНЫ СМАРТ-КОНТРАКТЫ?

Смарт-контракты очень эффективны для любых финансовых приложений – или, в более широком смысле, для любых типов обмена двумя фактическими активами. Возьмем, к примеру, продажу доменного имени. Домен вроде google.com – фактический актив, поскольку он привязан к базе данных на сервере, полномочия которого мы признаём, и деньги, разумеется, тоже могут быть фактическими. Сегодня продажа домена – сложный процесс, для которого требуются специальные сервисы. В будущем же предложение о продаже можно будет оформить в виде смарт-контракта, поместить его в блокчейн, и, если две стороны примут условия сделки, обмен произойдет автоматически, без какой-либо лазейки для обмана. Если вернуться в мир валют, можно привести в качестве примера децентрализованные биржи, а также финансовые контракты, такие как хеджирование и срочные сделки.

Но не во всех областях смарт-контракты будут работать так успешно. Рассмотрим, например, трудовой контракт: А соглашается выполнить определенную работу для B в обмен на X единиц валюты C. Платежную часть сделки несложно реализовать в виде смарт-контракта. А вот с подтверждением того, что работа действительно выполнена, все не так просто. Если она связана с физическим миром, смарт-контракт тут совершенно бесполезен, ведь у блокчейна нет никакого доступа к внешнему миру. Даже если речь идет о создании сайта, оценить его качество будет очень сложно, и, хотя в некоторых случаях программы могут эффективно использовать алгоритмы машинного обучения для оценки подобных характеристик, невероятно трудно заключить такой контракт, в котором работник не сможет найти лазейки. Одних лишь алгоритмов для управления обществом недостаточно.

К счастью, есть решение, которое позволяет взять лучшее из обоих этих миров: арбитраж. В обычной судебной системе судья обладает почти неограниченной властью делать все, что сочтет нужным, и сам судебный процесс – не самая оптимизированная штука: человек должен подать иск, дождаться начала процесса, после чего судья наконец вынесет вердикт согласно существующим законам. Не слишком быстро и эффективно. Третейский суд часто оказывается дешевле и быстрее, но и он не лишен тех же проблем. В свою очередь, арбитраж фактического мира устроен совсем иначе. Трудовой смарт-контракт может выглядеть следующим образом:

if says(B,“A did the job”) or says(J,“A did the job”):

send(200, A)

else if says(A,“A did not do the job”) or says(J,“A did not do the job”):

send(200, B)

says – это алгоритм проверки подписи; функция says(P,T) проверяет, не отправил ли кто-либо сообщение с текстом T и цифровой подписью, которая подтверждает использование публичного ключа P. Как же работает этот контракт? Сначала работодатель должен отправить на контракт 200 единиц валюты, где они будут храниться на эскроу-счете. В большинстве случаев наниматель и работник ведут себя по отношению друг к другу честно. Поэтому либо А не станет завершать работу и вернет В оплату, подписав сообщение с текстом «А не выполнил работу», либо В подтвердит, что А завершил работу, и контракт отправит деньги А. Но если А сделает работу, а В с этим не согласится, в дело вступит арбитр J, который решит, сделана работа или нет.

Обратите внимание, что полномочия J определены очень четко: он вправе лишь сказать, выполнил А работу или нет. В более сложном контракте арбитру можно предоставить право оценивать результат по определенной шкале. J не имеет права, например, решить, что А на самом деле заслуживает 600 денежных единиц – или что контракт вообще незаконен и 200 единиц должен забрать J. Полномочия арбитра реализуются по факту – контракт содержит его публичный ключ, и поэтому оговоренная сумма отправится либо к А, либо к В на основании указанных условий. Контракт может даже потребовать сообщений от хотя бы двух из трех арбитров или предусматривать разных арбитров для оценки разных аспектов работы, чтобы затем автоматически определить качество ее выполнения. В любой контракт можно включить любого арбитра с любым запросом: подтвердить истинность или ложность конкретного факта, измерить некоторую переменную или участвовать в урегулировании спорных ситуаций.

Чем такая система лучше той, к которой мы привыкли? Если коротко, она предлагает нам «арбитраж как услугу». Сегодня, чтобы стать «арбитром», вам нужно получить должность в частной арбитражной компании или в государственном суде. Но благодаря криптографии возможна фактическая правовая система, где арбитром может стать любой обладатель открытого ключа и компьютера с доступом к интернету. Как бы странно это ни звучало, арбитрам не обязательно разбираться в законах. Например, некоторые арбитры могут специализироваться на вопросах логистики и определять, корректно ли был доставлен продукт (в идеале этим должны заняться почтовые службы).

Другие судьи могут верифицировать выполнение трудовых контрактов. Третьи – оценивать ущерб для страховых договоров. Авторы контрактов сами будут решать, какую часть договора лучше предоставить на суд арбитра, а с чем справится программный код.

Вот и все, о чем я хотел сегодня рассказать.

Об изолированных системах

БЛОГ ETHEREUM

31 декабря 2014 года

Критика нынешнего пути развития криптовалютного пространства часто затрагивает проблему его раздробленности. Сообщество, которое раньше объединяла разработка общей инфраструктуры биткойна, теперь все активнее распадается на изолированные системы – обособленные проекты, отдельно от других работающие над конкретными задачами. К примеру, ряд разработчиков и исследователей работают над Ethereum – как внутри самого проекта, так и самостоятельно, в тесном взаимодействии с сообществом, – и всех этих людей объединяет стремление реализовать наши конкретные идеи. Другой квазидецентрализованный коллектив Bitshares развивает собственный проект, в котором особая комбинация DPoS[12], активов, связанных с рынком, и блокчейна как децентрализованной автономной корпорации используется для достижения определенных политических идеалов – рыночного либертарианства и общества без контрактов. Стоящая за «сайдчейнами»[13] компания Blockstream тоже объединяет людей с общими взглядами и замыслами. То же самое можно сказать о Truthcoin, Maidsafe, NXT и многих других.

Биткойн-максималисты и сторонники сайдчейнов часто утверждают, что эта фрагментация вредна для экосистемы криптовалют – вместо того чтобы разбредаться в разные стороны и конкурировать в борьбе за пользователей, мы должны работать вместе под общим знаменем биткойна. Как резюмирует Брайан Фабиан Крейн:

Еще сильней дискуссию разожгла недавняя публикация предложения о сайдчейнах. Идея сайдчейнов предполагает сочетание инновационного отказа альткойнов от систем, работающих на доверии, с монетарной базой, ликвидностью и мощностью майнинга сети Bitcoin.

Сторонники видят в этом возможность выстроить криптовалютную экосистему вокруг ее самого успешного проекта и опираться на уже существующую инфраструктуру и экосистему, а не распыляться в сотне разных направлений.

Даже для тех, кому чужд биткойн-максимализм, это звучит довольно разумно. Пусть криптовалютное сообщество и не обязано объединяться под знаменем биткойна, вполне можно согласиться, что нам стоит вместе поработать над созданием более унифицированной экосистемы. Если система Bitcoin недостаточно мощная, чтобы стать надежной основой для жизни, криптовселенной и всего остального, то почему бы не создать лучший и более масштабируемый децентрализованный компьютер и не построить всё на его основе? Гиперкубы кажутся достаточно перспективными тем, кто считает, что «одно [х] должно править всеми». Но члены Bitshares, Blockstream и других изолированных систем тоже часто считают свои конкретные решения единственно правильными, на чем бы они ни были основаны – на объединенном майнинге, DPoS у BitAssets или на чем-то еще.

Так почему бы и нет? Если действительно существует некий совершенный механизм консенсуса, то что мешает нам объединить различные проекты, придумать идеальный децентрализованный компьютер в качестве основы для криптоэкономики и существовать в рамках одной унифицированной системы? В некотором смысле это действительно звучит благородно: у «фрагментации» есть недостатки, и рассматривать «совместную работу» как благо вполне естественно. И все же, несмотря на пользу расширения сотрудничества (позже в этой статье я опишу, как и чем оно может быть полезно), стремление к крайней консолидации или принципу «победитель получает всё» в общем и целом ведет нас в неправильном направлении. Фрагментация не просто не так уж плоха – она неизбежна и необходима для процветания крипто-сферы.

СОГЛАШАТЬСЯ НЕ СОГЛАШАТЬСЯ

Почему происходит фрагментация и почему мы должны терпеть ее существование? Ответить на обе части вопроса очень просто: мы разделяемся, потому что не согласны друг с другом. Возьмем следующие утверждения; я верю в каждое из них, но они существенно расходятся с мировоззрением многих других людей и проектов.

░ Я не считаю слабую субъективность[14] такой уж большой проблемой, однако гораздо более высокая степень субъективности и внутренняя зависимость от общественного консенсуса вне протокола меня все еще не устраивают.

░ Я считаю экологической и экономической трагедией тот факт, что из-за proof of work сеть Bitcoin ежегодно расходует электроэнергию на 600 миллионов долларов.

░ Я считаю ASIC[15] серьезной проблемой и верю, что из-за нее безопасность биткойна за последние два года существенно пострадала.

░ Я считаю биткойн (или любую другую валюту с фиксированным предложением) по определению слишком волатильной, чтобы стать стабильной расчетной единицей, и верю, что лучший путь к стабильности стоимости криптовалюты – экспериментировать с разумно продуманной и гибкой денежно-кредитной политикой (не «рынком» или «центральным банком Bitcoin»). Но мне не хотелось бы, чтобы денежно-кредитная политика криптовалют оказалась под каким-либо централизованным контролем.

░ Мне свойственно более антиинституциональное/либертарианское/анархическое мышление, чем некоторым людям, хоть и не настолько радикальное, как у других (и я, к слову, не приверженец австрийской школы[16]). В целом я считаю, что можно услышать что-то ценное по обе стороны баррикад, и твердо верю, что с помощью дипломатии и совместной работы можно сделать мир лучше.

░ Я не сторонник идеи, что в криптоэкономике или где-либо еще нужна «одна валюта, чтобы править всеми».

░ Я думаю, что выпуск токена – это потрясающий инструмент для монетизации децентрализованных протоколов и что все ярые противники этой концепции могут отнять у общества что-то прекрасное и ценное. Тем не менее в своем нынешнем виде эта модель не лишена недостатков, и мы должны активно экспериментировать с другими моделями и создавать более эффективные стимулы.

░ Я считаю футархию[17] перспективной идеей, которую стоит попробовать реализовать, особенно в контексте управления блокчейном.

░ Я считаю экономику и теорию игр ключевой частью анализа криптоэкономических протоколов. На мой взгляд, криптовалютному сообществу не хватает знаний не столько в передовых областях компьютерных наук, сколько в экономике и философии. Нам стоит чаще наведываться на lesswrong.com[18].

░ Я думаю, что все начнут применять децентрализованные технологии (блокчейн, whisper, DHT) на практике из-за банальной лени программистов, которые не хотят разбираться со сложными нюансами поддержания работы централизованного веб-сайта.

░ Я считаю концепцию блокчейна как децентрализованной автономной корпорации полезной, но ограниченной. На мой взгляд, мы – разработчики криптовалют – должны воспользоваться этим временем (которое скоро может закончиться), пока криптовалютная индустрия остается в руках идеалистов, и создать институты с опорой на увеличение практических показателей социального благосостояния, а не прибыли (нет, это не одно и то же).

Едва ли найдется много людей, которые согласятся со мной по каждому из вышеперечисленных пунктов. И не только у меня есть свой особый взгляд. Например, вот что говорит технический директор Open Transactions Крис Одом:

Что нам действительно необходимо, так это заменить объекты, основанные на доверии, системами криптографического доказательства. Все, чему в биткойн-сообществе вам приходится доверять, перестанет существовать, исчезнет… Мечтой Сатоши было полностью устранить [зависимые от доверия] объекты – либо избавиться от риска, либо распределить его таким образом, чтобы он практически сошел на нет.

Между тем другие считают важным сказать следующее:

Иными словами, коммерчески жизнеспособным сетям с пониженным доверием не нужно защищать мир от операторов платформ. Они должны будут защищать операторов платформы от внешнего мира в интересах пользователей платформы.

Конечно, если главным преимуществом криптовалюты вы считаете свободу от регулирования, тогда вторая цитата тоже не лишена смысла, но совершенно в ином плане, нежели тот, что предлагал первый автор. Это еще раз показывает, насколько по-разному люди мыслят. Некоторые видят в криптовалюте орудие капиталистической революции, другие – эгалитаристской, а третьи – все что угодно, находящееся между этими двумя полюсами. Некоторые считают человеческий консенсус чем-то хрупким и эфемерным, а криптовалюту – путеводной звездой, которая заменит его сложными математическими процессами; другие же рассматривают криптовалютный консенсус лишь как продолжение человеческого консенсуса, усовершенствованного с помощью технологий. Некоторые считают, что лучший способ достижения паритета криптоактивов с долларом – это деривативные схемы с двумя монетами; другие думают, что проще использовать блокчейны для обозначения притязания на активы реального мира (а третьи уверены, что в конечном итоге биткойн сам по себе станет стабильнее доллара). Одни предпочитают «вертикальное» масштабирование, другие – «горизонтальное».

Конечно, многие из этих проблем имеют политическую природу, а некоторые связаны с общественными благами, и в таких случаях подход «сам живи и другим не мешай» – не самый лучший. Если конкретная платформа допускает негативные внешние последствия или ставит общество под угрозу неоптимального равновесия, нельзя просто «отстраниться» и спокойно пользоваться этой платформой дальше. В некоторых случаях потребуется массовое осуждение, а то и «атака 51 %»[19]. Иногда различия связаны с частными благами и в целом имеют эмпирический характер. Если я считаю, что SchellingDollar лучше всего подходит для ценовой стабильности, а другие предпочитают Seigniorage Shares или NuBits, то через несколько лет или десятилетий одна модель докажет, что работает лучше, вытеснит своих конкурентов, и на этом спор закончится.

Однако в других случаях различия приведут к другому результату: окажется, что свойства некоторых систем лучше подходят для одних приложений, а другие – для других, и все естественным образом начнут специализироваться на том, что им дается лучше. Как некоторые заметили насчет децентрализованных приложений консенсуса в современном финансовом мейнстриме, банки вряд ли захотят работать с сетью, управляемой анонимными узлами; в этом случае что-то вроде Ripple будет более полезным. А вот для Silk Road 4.0 единственный путь – совершенно противоположный. Для всего остального, что находится между этими двумя полюсами, также требуется анализ затрат и выгод. Если пользователи хотят, чтобы сети специализировались на эффективном выполнении определенных функций, такие сети появятся. Если же пользователи захотят воспользоваться сетью общего назначения с высоким сетевым эффектом между приложениями, тогда и она будет существовать. Как отмечает Дэвид Джонстон, блокчейны подобны языкам программирования: у каждого свои свойства, поэтому разработчики редко бывают фанатично преданы исключительно одному языку и будут использовать тот, который больше подходит для конкретной задачи.

ПРОСТРАНСТВО ДЛЯ СОТРУДНИЧЕСТВА

Но, повторюсь, это не означает, что мы должны просто идти своим путем и пытаться игнорировать друг друга или, еще хуже, друг другу препятствовать. Даже если в своих проектах мы преследуем разные цели, ничто не мешает нам сотрудничать; к тому же так нам не придется выполнять одну и ту же работу несколько раз. Это верно на самых разных уровнях. Во-первых, давайте посмотрим на модель криптовалютной экосистемы – или на то, как она может выглядеть через год – пять лет.

Ethereum присутствует практически на каждом уровне.

░ Консенсус: блокчейн Ethereum, шеллинг-голосование по доступности данных (возможно на Ethereum 2.0).

░ Экономика: эфир, независимый токен, а также изучение предложений по стейблкойнам.

░ Блокчейн-сервисы: реестр имен.

░ Офчейн-сервисы: Whisper (обмен сообщениями), сеть доверия (в разработке).

░ Взаимодействие: мост между сетями Bitcoin и Ethereum (в разработке).

░ Браузеры: Mist.

Теперь рассмотрим несколько других проектов, которые пытаются создать своего рода целостные экосистемы.

Вот что точно есть у Bitshares.

░ Консенсус: DPoS.

░ Экономика: BTSX и BitAssets.

░ Блокчейн-сервисы: децентрализованная биржа BTS.

░ Браузеры: клиент Bitshares (хотя это и не совсем браузер в традиционном понимании).

У Maidsafe.

░ Консенсус: сеть SAFE.

░ Экономика: Safecoin.

░ Офчейн-сервисы: распределенная хеш-таблица, Maidsafe Drive.

BitTorrent объявила о планах запустить Maelstrom – проект, по функциям схожий с Mist, пусть и предлагающий собственную (не основанную на блокчейне) технологическую основу. Как правило, все криптовалютные проекты разрабатывают собственный блокчейн, валюту и клиент, хотя при менее инновационном подходе используют форк существующего клиента. Систем регистрации имен и управления учетными данными сейчас великое множество. И, конечно же, создатели почти каждого проекта понимают, что ему нужны какая-то репутация и сеть доверия.

А теперь давайте нарисуем картину альтернативной вселенной. Вместо набора совершенно разрозненных вертикально интегрированных экосистем, каждая из которых создает для каждой функции собственные компоненты, представьте мир, где Mist можно использовать для доступа к Ethereum, Bitshares, Maidsafe или любой другой крупной децентрализованной инфраструктурной сети, при этом новые децентрализованные сети можно устанавливать так же, как плагины для Flash и Java в Chrome и Firefox. Представьте, что данные о репутации в сети доверия для Ethereum можно было бы повторно использовать и в других проектах. Представьте, что StorJ работает внутри Maelstrom в качестве dApp[20], используя Maidsafe как серверную часть хранилища файлов, а блокчейн Ethereum – для поддержания контрактов, которые стимулируют непрерывное хранение и загрузку. Представьте, что идентификаторы автоматически передаются через любые криптосети, если они используют одни и те же базовые криптографические алгоритмы (например, ECDSA + SHA3).

Кроме того, существует множество возможностей для сотрудничества в области фундаментальных исследований и разработок. Можно куда более открыто обсуждать proof of work, proof of stake, стабильные валютные системы, масштабируемость и другие сложные проблемы криптоэкономики, благодаря чему создатели проектов узнáют намного больше о разработках друг друга. Базовые алгоритмы и лучшие практики, связанные с сетевыми уровнями, реализациями криптографических алгоритмов и другими низкоуровневыми компонентами, могут и должны быть общими. Следует разработать технологии совместимости для облегчения обмена и взаимодействия между сервисами и децентрализованными организациями на разных платформах. Чтобы содействовать такому сотрудничеству, мы планируем поддерживать Cryptocurrency Research Group и надеемся, что она будет расти и процветать независимо от нас. Другие формальные и неформальные институты, несомненно, тоже могут поспособствовать этому процессу.

Надеюсь, в будущем мы увидим гораздо больше проектов, которые действуют по модульной схеме, существуют только на одном или двух уровнях криптовалютной экосистемы и снабжены единым интерфейсом, чтобы можно было работать с механизмами на любом другом уровне. Если криптоиндустрия продвинется достаточно далеко, то даже Firefox и Chrome смогут в конечном итоге адаптироваться к обработке протоколов децентрализованных приложений. Мы не должны сломя голову гнаться за такой экосистемой; на данный момент у нас довольно слабое представление о том, какие сервисы, основанные на блокчейне, люди будут использовать в первую очередь, поэтому пока сложно понять, какой вид взаимодействия действительно будет полезен. И все же медленно, но верно делаются первые шаги в этом направлении; Decerver – собственный «браузер» Eris Industries по децентрализованному миру – поддерживает доступ к сетям Bitcoin и Ethereum, их собственным блокчейнам Thelonious, а также к сети размещения контента IPFS.

У многих проектов криптоиндустрии второго поколения есть шансы на успех, и поэтому подход «победитель получает всё» сейчас совсем ни к чему. Чтобы сразу пойти верным путем, главное – не забывать, что все мы создаем свои платформы, руководствуясь собственным набором предпочтений и параметров, но в конце концов добьется успеха множество сетей, и всем придется жить в этой реальности. Так что лучше начать готовиться к ней прямо сейчас.

Поздравляю всех с Новым годом и с нетерпением жду, что принесет нам 2015 год – год 007 эры Сатоши.

Сверхрациональность и ДАО

БЛОГ ETHEREUM

23 января 2015 года

В криптоиндустрии 2.0 многим неясно, чем могут быть полезны децентрализованные автономные организации (ДАО). Получит ли организация какие-либо фундаментальные преимущества, если привяжет все операции и менеджмент к жесткому коду на общедоступном блокчейне? Чем контракты на блокчейне лучше старых добрых акционерных соглашений? Но даже с учетом важности ДАО для общественного блага в силу их прозрачной системы управления, неподвластной злым умыслам, что должно подтолкнуть конкретную компанию добровольно выставить свой внутренний исходный код на всеобщее обозрение? Ведь так она развяжет руки конкурентам, которые, сами не раскрывая никакой информации о себе, смогут следить за каждым ее действием и даже узнать планы на будущее.

На этот вопрос можно ответить по-разному. Если говорить конкретно о некоммерческих благотворительных организациях, тут можно справедливо сказать, что у них нет личных мотивов, ведь они стараются сделать мир лучше, не гонясь за финансовой выгодой. В случае частных коммерческих компаний можно выдвинуть аргумент из области теории информации: алгоритм управления будет работать лучше, если при прочих равных условиях каждый сможет принять в нем участие своей информацией и интеллектуальным потенциалом. Это довольно разумное предположение с учетом того, что по результатам машинного обучения гораздо больший прирост производительности дает именно увеличение объема данных, а не перенастройка алгоритмов. Однако в этой статье мы пойдем другим, более конкретным путем.

ЧТО ТАКОЕ СВЕРХРАЦИОНАЛЬНОСТЬ?

В теории игр и экономической науке исход многих ситуаций зависит от того, какое из двух действий выберет каждый участник: «сотрудничество» или «предательство». Предполагается, что сотрудничество будет выгодно сразу всем, но каждому по отдельности выгодней выбрать предательство, независимо от действий соперника. Опыт показывает, что в результате все выбирают предательство – и индивидуальная рациональность приводит к наихудшему для коллектива результату. Самый известный пример – знаменитая «Дилемма заключенного».

Многие читатели уже наверняка с ней знакомы, поэтому в качестве примера приведу ее безумную версию от Элиезера Юдковского:

Предположим, что четыре миллиарда человеческих существ – не весь род человеческий, но его значительная часть – заразились смертельной болезнью, излечиться от которой можно только с помощью вещества S. Однако добыть вещество S можно только совместно со [странным искусственным интеллектом из другого измерения, у которого лишь одна цель – увеличить количество канцелярских скрепок], для изготовления которых тоже можно использовать вещество S. Искусственный интеллект волнует лишь количество скрепок в его мире; судьба наших скрепок ему безразлична, так что люди не могут предложить ему произвести у себя побольше скрепок или пригрозить уничтожить все свои скрепки. До этого мы никак не взаимодействовали с искусственным интеллектом и после тоже никогда не будем. Прежде чем портал между мирами захлопнется, и у человечества, и у искусственного интеллекта будет шанс захватить дополнительную часть вещества S, но сам процесс захвата уничтожит некоторое количество этого вещества.

Матрица выигрышей будет выглядеть примерно так.

Для нас очевидно, что с практической и, в данном случае, с моральной точки зрения нам лучше всего выбрать предательство: одна скрепка в другой вселенной никак не может стоить миллиарда жизней. Для ИИ очевидно, что предательство с его стороны в любом случае обеспечит ему дополнительную скрепку, а ценность человеческой жизни его код приравнивает к нулю; следовательно, он тоже выберет предательство. Однако при таком раскладе все получат худший результат, чем при обоюдной готовности пойти на сотрудничество. Но если бы ИИ согласился сотрудничать, а мы выбрали предательство, то смогли бы спасти еще больше жизней, а ИИ, при обратном раскладе, мог бы добыть еще одну скрепку.

В реальном мире многие дилеммы заключенного с двумя сторонами и небольшим масштабом разрешаются через механизмы торговли и судебный контроль за соблюдением контрактов и законов. В нашем примере это мог бы быть бог с абсолютной властью над обеими вселенными, которого заботило бы только соблюдение предварительных договоренностей: тогда люди и искусственный интеллект могли бы подписать контракт о сотрудничестве и попросить бога не допустить предательства с обеих сторон. Когда у сторон нет возможности заключить предварительный контракт, законы предусматривают наказание за одностороннее нарушение. Но во многих ситуациях, особенно если в них задействовано много сторон, возможности для предательства все равно остаются:

░ Алиса продает лимоны, но сейчас они подгнили, и покупателям придется сразу выбросить такой товар. Должна ли она продавать лимоны? (Нужно иметь в виду, что на этом рынке очень много продавцов и за репутацией каждого не уследишь.) Ожидаемая выгода для Алисы: $5 выручки за лимон минус $1 расходов на доставку/хранение = $4. Ожидаемые потери для общества в целом: $5 выручки минус $1 расходов минус $5 потраченных впустую денег покупателя = —$1. Алиса в итоге продает лимоны.

░ Должен ли Боб пожертвовать $1000 на разработку Bitcoin? Ожидаемая выгода для общества: $10 × 100 000 человек минус $1000 = $999 000, ожидаемая выгода для Боба: $10 минус $1000 = —$990, так что Боб не жертвует деньги.

░ Чарли нашел чужой кошелек, в котором было $500. Должен ли он вернуть его? Ожидаемая выгода для общества: $500 (получателю) минус $500 (потеря Чарли) плюс $50 (нематериальная выгода для общества от того, что каждый может немного меньше беспокоиться о сохранности своих кошельков). Ожидаемая выгода для Чарли: —$500, так что он оставляет кошелек себе.

░ Должен ли Дэвид снизить расходы своей фабрики за счет сброса токсичных отходов в реку? Что в этом случае получит общество: экономия Дэвида $1000 минус увеличение средних медицинских расходов на $10 × 100 000 человек = —$99 900. Что получит Дэвид: $1000 минус $10 = $990. Дэвид выбирает загрязнение окружающей среды.

░ Ева разработала лекарство от одного вида рака, и производство необходимой дозы обходится в $500. Она может продать его за $1000, и тогда 50 000 больных смогут позволить себе лечение, или за $10 000, и тогда лекарство смогут купить 25 000 больных. Должна ли она продавать лекарство по более высокой цене? Что в этом случае получит общество: −25 000 жизней (включая прибыль Евы, которая компенсирует потери более богатых покупателей). Что получит Ева: доход в размере 237,5 миллиона долларов вместо 25 миллионов долларов, то есть ее выгода составит 212,5 миллиона долларов. Ева выставляет более высокую цену.

Конечно, во многих из этих ситуаций люди могут руководствоваться моральными принципами и выбирать сотрудничество, игнорируя собственную выгоду. Но с чего бы им это делать? Ведь мы созданы эволюцией – довольно эгоистичным механизмом оптимизации. Объяснений много, но сегодня мы сосредоточимся на одном из них, связанном с концепцией сверхрациональности.

СВЕРХРАЦИОНАЛЬНОСТЬ

Рассмотрим следующее описание нравственности, любезно предоставленное Дэвидом Фридманом:

Начну с двух наблюдений о человеческих существах. Первое: существует прочная связь между тем, что происходит внутри и снаружи их голов. Выражение лица, положение тела и множество других признаков дают нам хотя бы некоторое представление о мыслях и эмоциях наших друзей. Второе: наши интеллектуальные способности ограничены. Мы не можем рассмотреть все возможные варианты за время, отведенное для принятия решения. Если говорить на компьютерном жаргоне, мы – машины с ограниченной вычислительной мощностью, работающие в режиме реального времени.

Предположим, я хочу убедить окружающих, что у меня есть определенные качества – что я честен, добр, помогаю своим друзьям. Если у меня действительно есть эти качества, проявлять их легко – я просто буду делать и говорить то, что кажется мне естественным, не обращая особого внимания на то, как смотрюсь со стороны. Окружающие будут наблюдать за моими словами, моими действиями, выражением моего лица и делать достаточно точные выводы. Но, предположим, этих качеств у меня нет. Я (например) не честен. Обычно я поступаю честно, потому что это в моих интересах, но ради собственной выгоды я всегда готов сделать исключение. И теперь во многих конкретных ситуациях я должен выполнить двойной расчет. Во-первых, я должен решить, не подвернулся ли мне шанс украсть и не попасться. Во-вторых, я должен выдумать того человека, которым буду притворяться: его мысли, действия, выражение лица.

Если запустить на компьютере в два раза больше программ, он будет работать медленнее. То же и с людьми. Большинство из нас – не такие уж искусные лжецы. Если признавать верность всех этих утверждений, можно сделать вывод, что я могу быть более обеспеченным в чисто материальном плане – иметь, например, более высокий доход, – если буду действительно честен (и добр, и так далее…), просто потому что подлинная нравственность убедительнее притворной. Поэтому, будучи крайним эгоистом, я мог бы из чисто эгоистических соображений захотеть стать лучше – более нравственным в тех проявлениях, которые ценятся другими людьми.

Это рассуждение приводит к идее, что мы действительно можем стать лучше – это можем сделать мы сами, наши родители и, возможно, даже наши гены. Люди могут попытаться выработать в себе полезные привычки, в том числе автоматически говорить правду, не воровать и быть добрыми со своими друзьями. При должной практике такие привычки становятся внутренними качествами – поступать «плохо» уже становится неудобно, даже если никто не смотрит, и человеку не нужно осознанно принимать решение так не поступать. Можно описать этот процесс как выработку совести.

Корыстному человеку придется затратить много когнитивных ресурсов, чтобы в нужный момент убедительно притвориться нравственным, – гораздо проще действительно быть нравственным. Многие древние философы придерживались такой же точки зрения и рассматривали нравственность как привычку, которую можно культивировать; Дэвид Фридман просто оказал нам услугу, что, должно быть, вполне привычно для экономиста, и придал интуитивному представлению более пригодную для анализа форму. Давайте формализируем это утверждение еще сильнее. Суть в том, что люди очень быстро себя выдают – каждым своим поступком мы постепенно раскрываем свой исходный код. Если мы искренне руководствуемся благими намерениями, мы действуем одним образом, а если только притворяемся добрыми, чтобы в нужный момент нанести удар, мы действуем иначе, и другие часто могут это заметить.

Возможно, это кажется недостатком, но на самом деле именно это качество позволяет нам сотрудничать, выходя за рамки механизмов из теории игр, которые были описаны выше. Предположим, что агенты A и B обладают способностью «считывать» уровень «нравственности» друг друга с некоторой степенью точности и разыгрывают классическую дилемму заключенного. В этом случае агенты могут придерживаться следующей стратегии, которую мы считаем нравственной.

1. Попытаться определить, позитивные ли намерения у другой стороны.

2. Если намерения другой стороны позитивные – сотрудничать.

3. Если намерения другой стороны негативные – предать.

Если два агента с позитивными намерениями вступят в контакт, оба пойдут на сотрудничество и получат наибольшую награду. Если агент с позитивными намерениями вступит в контакт с негативно настроенным агентом, первый выберет предательство. Так что в любом случае агент с позитивными намерениями справится не хуже агента с негативными намерениями, а часто и лучше. В этом и есть суть сверхрациональности.

Какой бы запутанной ни казалась эта стратегия, в человеческих культурах уже есть прочно усвоенные механизмы ее реализации: например, недоверие к тем, кто старается сделать так, чтобы понять их намерения было как можно сложнее, – вспомним расхожую фразу, что не стоит доверять человеку, который не пьет. Конечно, есть категория лиц, которые могут убедительно притворяться дружелюбными и в любой момент предать, – их называют социопатами, и они, вероятно, основной дефект этой системы, когда речь идет о людях.

ЦЕНТРАЛИЗОВАННЫЕ ОРГАНИЗАЦИИ С РУЧНЫМ УПРАВЛЕНИЕМ…

Можно сказать, что последние 10 000 лет такого рода сверхрациональное сотрудничество во многом служило основой человеческого сосуществования и позволяло людям оставаться честными даже в тех случаях, когда простые рыночные стимулы подталкивали их к предательству. Но когда появились современные крупные централизованные организации, это повлекло за собой неблагоприятный побочный эффект: они позволяют людям успешно искажать чужие представления о своих намерениях, что усложняет сверхрациональное сотрудничество.

Большинству участников современной цивилизации это принесло только выгоду: более того, мы косвенно финансировали новый подход к сотрудничеству, покупая товары, цена на которые упала потому, что некто решил сбросить токсичные отходы в реку одной из стран третьего мира. Но мы даже не осознаём, что косвенно участвуем в этом предательстве, потому что корпорации делают всю грязную работу за нас. Могущество рынка позволяет корректировать даже наши представления о морали, делегируя самую неприятную работу людям, которым проще отказаться от своих этических принципов. Крупным корпорациям совсем несложно собрать команду хороших маркетологов, чтобы создать позитивный имидж и подобрать красивые слова для потенциальных клиентов. Причем сами маркетологи могут и не знать обо всех неприятных деталях, связанных с производством продукта.

Решить многие из этих организационных и политических проблем часто предлагают с помощью интернета, и это действительно прекрасное средство против информационной асимметрии и непрозрачности. Но проблему сверхрационального сотрудничества интернет может даже усугубить. В интернете даже отдельному человеку довольно просто «не выдать» себя и таким образом скрыть свой злой умысел. Отчасти поэтому в интернете и в криптоиндустрии мошенничество встречается чаще, чем в физическом мире; и это же – самый популярный аргумент в пользу несостоятельности идеи перенести все экономические взаимодействия в интернет в духе криптоанархизма (другой аргумент заключается в том, что криптоанархизм делает невозможными безгранично суровые наказания, что ослабляет многие экономические механизмы).

Возможно, решение в том, чтобы добиться гораздо более высокого уровня прозрачности. Люди выдают себя с умеренной скоростью, современные централизованные организации – очень медленно, но больше всего риска у организации, где информация регулярно и случайным образом распространяется по всем уголкам земного шара. Представьте себе мир, где, если вы даже просто задумаетесь об обмане друга, делового партнера или супруга, с вероятностью в 1 % левая часть вашего гиппокампа взбунтуется и отправит полную запись ваших мыслей предполагаемой жертве в обмен на вознаграждение в размере $7500. Примерно так «ощущает» себя член правления организации, из которой происходят утечки.

По сути, это пересказ идеологии WikiLeaks и ее еще более радикальной альтернативы slur.io. Но непрозрачные централизованные организации прекрасно сосуществуют с WikiLeaks и прозрачней от этого не становятся. Возможно, стимулирование в сочетании с чем-то вроде механизмов прогнозирования, позволяющих людям извлекать выгоду из разоблачения проступков своих работодателей, откроет дорогу для большей прозрачности, но вместе с тем мы можем попробовать кое-что другое: предложить организациям радикальный способ добровольно решиться на невиданные до этого уровни прозрачности и сверхрациональности.

…И ДАО

Как концепция децентрализованные автономные организации уникальны тем, что их алгоритмы управления не просто «выдают себя» – они полностью общедоступны. То есть если прозрачные централизованные организации позволяют посторонним получить общее представление о характере компании, в ДАО посторонние могут посмотреть весь ее исходный код. Но этот «исходный код» отражает цели не конкретных участников ДАО, а всей организации, независимо от того, кто в нее входит. Футархия, максимизирующая среднюю продолжительность жизни человека, будет действовать совсем иначе, чем футархия, максимизирующая производство скрепок, даже если ими будут управлять одни и те же люди. Поэтому дело не просто в том, что организация сразу же раскроет всем обман: сам ее «разум» просто не будет способен на обман.

Итак, как бы выглядело сверхрациональное сотрудничество через ДАО? Во-первых, нужно дождаться появления самих ДАО. Есть несколько потенциально успешных вариантов внедрения этой идеи: азартные игры, стейблкойны, децентрализованное хранение файлов, предоставление данных по одному ID на человека, SchellingCoin и прочие. Однако такие ДАО мы можем назвать ДАО первого типа: у них есть некоторое внутреннее состояние, но мало автономного управления. Они ничего не смогут сделать, кроме как настроить несколько своих параметров, чтобы максимизировать некоторые показатели полезности с помощью ПИД-регуляторов[21], имитации отжига[22] или других простых алгоритмов оптимизации. С натяжкой их можно назвать сверхрациональными, но они довольно глупы и ограниченны и поэтому часто будут подстраиваться под внешний процесс, который точно не сверхрационален.

Чтобы двигаться вперед, нам нужны ДАО второго типа: ДАО с алгоритмом управления, способным принимать теоретически произвольные решения. Футархия, различные формы демократии и субъективного внепротокольного управления (в случае существенных разногласий ДАО делят себя на несколько частей, соответствующих каждому предложению, и каждый выбирает, с какой версией взаимодействовать) – единственные фундаментальные подходы, о которых мы пока знаем, хотя в дальнейшем наверняка появятся другие, а также их хитроумные комбинации. Как только ДАО смогут принимать произвольные решения, они смогут вести сверхрациональную торговлю не только со своими клиентами-людьми, но потенциально и друг с другом.

Какие рыночные сбои, с которыми не справляется обычное сотрудничество, может устранить сверхрациональное сотрудничество? К сожалению, проблемы общественных благ выходят за рамки описанных здесь механизмов – ни один из них не решает проблему массового многопартийного стимулирования. Согласно этой модели, организации будут становиться децентрализованными/прозрачными, потому что им начнут больше доверять, и в противном случае они будут лишены экономических преимуществ этого «круга доверия». Проблема с общественными благами в том, что здесь никого нельзя лишить выгоды, и поэтому такая стратегия не работает. Однако все, что связано с информационной асимметрией, попадает в сферу ее охвата, и этот охват действительно велик. По мере усложнения общества обманывать становится все проще, а проконтролировать или даже заметить обман – все труднее. Современная финансовая система – лишь один из примеров.

Возможно, истинная задача ДАО, если им вообще можно ставить такого рода задачи, заключается именно в решении этой проблемы.

Ценность технологии блокчейна

БЛОГ ETHEREUM

13 апреля 2015 года

В своих исследованиях блокчейна я прежде всего задавался вопросом: чем, собственно, эта технология может быть полезна? Для чего нам создавать блокчейны, какие виды сервисов должны работать на блокчейн-архитектуре и зачем нам отказываться от привычных серверов? Что может дать нам блокчейн: нечто совершенно необходимое или просто любопытное? Ну и, пожалуй, самый главный вопрос: каким будет его «убийственное приложение»[23]?

Последние месяцы я много размышлял над этими вопросами и обсуждал их с разработчиками криптовалют, представителями венчурных компаний и людьми, которые далеки от блокчейн-пространства, – активистами движений за гражданские свободы, представителями финансовой, платежной и других индустрий. В ходе этого процесса я пришел к ряду важных и ценных выводов.

Во-первых, у технологии блокчейна не будет никакого «убийственного приложения». Причину объясняет теория «низко висящих фруктов»[24]. Если бы технология блокчейна однозначно подходила для какого-то определенного приложения лучше, чем для всех остальных, это давно стало бы очевидным. Это напоминает старый анекдот: экономист видит на земле двадцатидолларовую купюру и решает, что она поддельная, потому что в противном случае ее бы уже обязательно кто-нибудь подобрал. Но здесь ситуация несколько иная: если затраты на поднятие купюры ничтожно малы и сделать это имеет смысл, даже если вероятность ее подлинности составляет всего 0,01 %, то в случае блокчейна затраты на разработку «убийственного приложения» очень высоки, и множество людей занимались этим ради потенциальной выгоды в миллиарды долларов. Но никто пока не придумал такого приложения, которое серьезно выделялось бы среди всех остальных и превосходило бы их.

На самом деле есть все основания утверждать, что ближе всего к статусу «убийственного приложения» приблизились уже давно запущенные, сто раз обсужденные и успевшие надоесть WikiLeaks и Silk Road. Silk Road – закрытый в 2013 году по решению суда анонимный онлайн-рынок наркотиков – за два с половиной года существования обработал сделок более чем на миллиард долларов. В свою очередь, WikiLeaks, заблокированная платежными системами, большую часть доходов получала через пожертвования в биткойнах и лайткойнах[25]. В обоих случаях блокчейн показал свою востребованность и экономическую перспективность, ведь до биткойна купить наркотики можно было только из рук в руки, а поддержать WikiLeaks – только наличными почтовыми переводами. Биткойн оказался намного удобнее, и этой возможностью тут же воспользовались. Но сейчас подобные кейсы встречаются редко, и найти новые неочевидные возможности применить технологию блокчейна не так просто.

ОБЩАЯ И СРЕДНЯЯ ПОЛЕЗНОСТЬ

Но значит ли это, что «полезность» блокчейна достигла пика? Конечно, нет. Достигнут лишь пик «необходимости» – в смысле максимальной полезности для отдельного пользователя, – но это не то же самое, что максимальная полезность блокчейна в принципе. Хотя Silk Road для многих своих пользователей был незаменим, в целом у потребителей наркотиков всегда есть какая-нибудь лазейка. Поразительно, как обычные люди умудряются обзаводиться такими связями, но у большинства действительно всегда найдется какой-то «парень», который может достать травку. Интерес к курению травки, по-видимому, сильно коррелирует с наличием легкого доступа к ней. Так что, по большому счету, у Silk Road был шанс стать актуальным только для очень узкой группы людей. То же самое с WikiLeaks: среди всего населения планеты доля людей, настолько озабоченных прозрачностью корпораций и правительств, чтобы жертвовать деньги сомнительной организации, не так уж и велика. Так где же максимальная полезность? Если коротко – в «длинном хвосте»[26].

Что же такое этот «длинный хвост»? Сложно объяснить. Я мог бы привести список приложений, которые к нему относятся, но блокчейн ни для одного из них не является обязательным и даже не предлагает достаточно мощных фундаментальных преимуществ. О чем бы ни шла речь, сторонники идей вроде «приложения блокчейна переоценены, важна только валюта биткойн» или «технология блокчейна в целом бесполезна» вполне могут придумать простой способ реализовать ту же схему на централизованном сервере, заменить управление посредством блокчейна на юридический контракт и любыми другими путями приблизить продукт к традиционной системе. И они будут совершенно правы, поскольку в этом конкретном случае блокчейн не является незаменимым. Но в том и суть: эти приложения находятся не в «голове», как WikiLeaks и Silk Road, иначе их бы уже реализовали. В «длинном хвосте» блокчейны не необходимы, но удобны. Они просто несколько лучше, чем ближайший доступный инструмент. И все же, поскольку эти приложения куда более широко распространены и могут принести пользу сотням миллионов пользователей, общая выгода для общества (что видно на приведенной выше диаграмме) намного больше.

Эту логику можно проиллюстрировать, задав такой же вопрос относительно «открытого исходного кода»: что может стать его «убийственным приложением»? Польза открытого исходного кода несомненна, его используют для миллионов программ по всему миру, но ответить на этот вопрос все равно очень сложно. Причина все та же: нет никакого «убийственного приложения», зато есть очень-очень длинный хвост из всех вообразимых приложений, с особым акцентом на низкоуровневые библиотеки, которыми пользуются миллионы проектов, и важнейшие библиотеки криптографической безопасности.

ПЕРЕОСМЫСЛИТЬ БЛОКЧЕЙН… СНОВА

Итак, какие именно особенности блокчейна пригодятся в «длинном хвосте»? Для начала я хотел бы поделиться определением, которого сам сегодня придерживаюсь:

Блокчейн – это волшебный компьютер, где любой может загружать и запускать программы, которые будут выполнять себя сами; где текущее и все предыдущие состояния каждой программы всегда и всем доступны; где криптоэкономические механизмы защиты надежно гарантируют, что уже запущенные в цепочке программы будут выполняться именно так, как это определяет протокол блокчейна.

Обратите внимание, чего нет в этом определении:

░ финансовых терминов вроде «реестр», «деньги» или «транзакции» и вообще каких-либо терминов, намекающих на конкретные сценарии использования;

░ упоминания каких-либо конкретных алгоритмов консенсуса и вообще технических подробностей работы блокчейна (за исключением того факта, что он «криптоэкономичен» – этот технический термин сообщает о блокчейне, что «он децентрализован, а также использует криптографию с открытым ключом и экономические стимулы, чтобы все работало без сбоев»);

░ ограничений на какие-либо функции перехода состояния.

В этом определении конкретно сказано только одно – на что способен блокчейн, и этого достаточно, чтобы любой разработчик смог достаточно четко, хотя бы на интуитивном уровне, понять, чем может быть ценна эта технология. Что касается практики, иногда язык, на котором выполняются программы, очень ограничен. Язык Bitcoin можно рассматривать как последовательность DESTROY COIN: <txid> <index> <scriptsig>, за которой следует последовательность CREATE COIN: <scriptpubkey> <value>, где scriptpubkey – ограниченная математическая формула, а scriptsig – присваивание переменной в соответствии с этой формулой (например, [x = 5, y = 7] удовлетворяет 2 × x – y = 3). Попытка уничтожить несуществующую монету, или уничтожить монету, не указав действительный scriptsig для scriptpubkey этой монеты, или указать бóльшую ценность монеты, которую вы уничтожили, выдает ошибку. В то же время другие языки программирования могут быть куда более выразительными. Разработчик должен сам решать, какой язык подойдет для его конкретной задачи, точно так же как ему приходится выбирать между Python, C++, Node.js и Malbolge.

Это определение очень хорошо подчеркивает, что цель блокчейна – не привнести в этот мир какой-то конкретный набор правил, будь то валюта с ограниченной эмиссией, реестр имен с 200-дневным сроком перерегистрации, конкретный тип децентрализованного обмена или что-то еще. Суть блокчейна – в свободе очень быстро создавать новые механизмы с новым набором правил и запускать их. Это своего рода Lego Mindstorms[27] для построения экономических и социальных институтов.

В этом суть более умеренной и популярной сегодня в индустрии позиции «интересен блокчейн, а не валюта». Валюта действительно необходима для работы криптоэкономических блокчейнов (но не структур данных, подобных блокчейну и работающих на субъективной модели консенсуса Stellar), однако она скорее выполняет функцию экономического водопровода для стимулирования участия в консенсусе, хранения депозитов и оплаты комиссий за транзакции – и уж точно не задумана как объект спекулятивной мании, потребительского интереса и ажиотажа.

Итак, чем же могут быть полезны блокчейны? Подведем итог.

░ В них можно хранить данные, и эти данные гарантированно будут иметь очень высокую степень доступности.

░ В них можно запускать приложения, и у них будет гарантированно чрезвычайно высокое время безотказной работы.

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

░ В них можно запустить приложение и гарантировать пользователям, что логика его работы основана на честности и оно будет работать именно так, как вы обещаете.

░ В них можно запустить приложение и гарантировать пользователям, что оно всегда будет соблюдать заданные условия, даже если вы потеряете к нему интерес, если вас подкупом или угрозами заставят его изменить или если вы захотите подзаработать, манипулируя его функционалом.

░ В них можно запускать приложения и при острой необходимости создавать для себя бэкдор[28], НО накладывать «конституционные» ограничения на его использование – например, предварять каждое обновление месяцем публичного ожидания или, если обновление срочное, немедленно уведомлять о нем пользователей.

░ В них можно запускать приложения и создавать бэкдор для отдельного алгоритма управления (например, голосования, футархии, сложной многопалатной парламентской архитектуры), объясняя пользователям, что этот алгоритм управления подчиняется приложению.

░ В них можно запускать приложения, и эти приложения могут взаимодействовать друг с другом со стопроцентной надежностью – даже если надежность их базовой платформы будет равняться 99,999 %.

░ Группы пользователей и компании могут создавать на блокчейне собственные приложения, и эти приложения могут взаимодействовать друг с другом невероятно быстро, без каких-либо сетевых сообщений, при этом каждая компания сможет быть уверена, что полностью контролирует свое приложение.

░ В них можно создавать приложения, которые будут с максимальной эффективностью использовать данные, произведенные другими приложениями (пожалуй, лучший пример здесь – комбинация систем платежей и репутаций).

Все это может помочь миллиардам людей по всему миру, особенно в тех регионах, где сегодня еще не сложилась высокоразвитая экономическая, финансовая и социальная инфраструктура (хотя решение многих проблем требует сочетания технологии с политическими реформами). Блокчейн может стать основой для такой инфраструктуры. Очевидно, что наибольшую ценность он представляет для финансовой сферы – самой требовательной индустрии в вопросах вычислений и доверия, – но он может пригодиться и в других областях интернет-инфраструктуры. Конечно, существуют и другие архитектуры, способные предоставить такие возможности, но они в большей или меньшей степени уступают блокчейну. Гэвин Вуд начал описывать эту идеальную вычислительную платформу как «мировой компьютер» – компьютер, состояние которого распределено между всеми элементами системы и работу которого поддерживает огромная группа людей, куда может войти любой желающий.

ИНФРАСТРУКТУРА БАЗОВОГО УРОВНЯ

Самый большой потенциал технологии блокчейна, как и в случае открытого исходного кода, связан с тем, что можно назвать сервисами «инфраструктуры базового уровня». Этим сервисам присущи следующие свойства.

░ Зависимость – существует множество других сервисов, функциональность которых тесно связана с сервисом базового уровня.

░ Высокий сетевой эффект – использование одного сервиса очень большими группами людей (или даже всеми) дает существенные преимущества.

░ Высокие затраты на переключение – человеку трудно переключаться с одного сервиса на другой.

Обратите внимание, что среди этих свойств не упоминается исключительная «необходимость» или «важность». Бывают и маловажные базовые уровни (например, RSS-каналы), и важные небазовые уровни (например, продукты питания). Сервисы базового уровня появились еще до зарождения цивилизации: в так называемые времена пещерных людей самым важным сервисом базового уровня был язык. Со временем сюда добавились дороги, право, почтовые и транспортные системы, в ХХ веке – телефонные сети и финансовые системы, а в конце прошлого тысячелетия – интернет. Новейшие сервисы базового уровня – почти полностью информационные: системы интернет-платежей, идентификация, системы доменных имен, центры сертификации, системы репутации, облачные вычисления, различные виды каналов данных и, вероятно, уже в ближайшем будущем – рынки прогнозирования.

Возможно, крайне взаимосвязанный и взаимозависимый характер этих сервисов через десять лет приведет к тому, что переключиться с одной системы на другую людям будет сложнее, чем сменить собственное правительство. Поэтому чрезвычайно важно выстроить эти сервисы правильно и проконтролировать, чтобы отдельные структуры не получили над ними слишком много власти. На сегодняшний день многие из таких систем выстроены очень централизованно, и отчасти это связано с тем, что создатели Всемирной паутины не сумели понять важность этих сервисов и включить их по умолчанию – поэтому даже сегодня большинство сайтов просят вас «войти в систему через Google» или «войти в систему через Facebook», а центры сертификации сталкиваются с такими проблемами[29].

░ Иранский хакер-одиночка взял на себя ответственность за кражу нескольких SSL-сертификатов крупнейших сайтов, в том числе Google, Microsoft, Skype и Yahoo.

░ Мнения экспертов по безопасности разделились: одни поверили заявлению хакера, у других возникли сомнения.

░ На прошлой неделе основная версия стала гласить, что это была атака, организованная государством, – предположительно при финансировании иранского правительства и под его руководством, – в результате которой был взломан реселлер сертификатов при американской компании Comodo.

░ 23 марта Comodo признала факт атаки, заявив, что восемью днями ранее хакеры заполучили девять поддельных сертификатов для входа на сайты Hotmail от Microsoft, Gmail от Google, службы интернет-звонков и переписки Skype и Yahoo Mail. Также к ним попал сертификат для сайта расширений Mozilla Firefox.

Почему бы центрам сертификации снова не стать децентрализованными, по крайней мере до уровня модели M-of-N?[30] (Заметьте, что случай гораздо более широкого использования M-of-N логически отделим от случая с блокчейнами, но блокчейны оказались хорошей платформой для запуска M-of-N.)

ИДЕНТИФИКАЦИЯ

Рассмотрим конкретный сценарий использования – «идентификация в блокчейне». Что вам понадобится для идентификации? Простейший ответ: приватный и публичный ключи. Вы публикуете публичный ключ, который становится вашим идентификатором, и подписываете каждое сообщение приватным ключом посредством цифровой подписи, чтобы каждый мог быть уверен, что это сообщение написали именно вы (в этом контексте «вы» означает «объект, который владеет этим конкретным публичным ключом»). Однако здесь есть несколько проблем.

1. Что, если ваш ключ украдут и вам нужно будет перейти на новый?

2. Что, если вы потеряете свой ключ?

3. Что, если вы захотите сослаться на других пользователей по их именам, а не по случайным 20-байтовым строкам криптографических данных?

4. Что, если вы захотите использовать не только ключ, но и более продвинутый подход к обеспечению безопасности вроде мультиподписи?

Давайте разберем каждую проблему по отдельности. Начнем с четвертой. Для нее есть простое решение: вместо того чтобы требовать один конкретный тип криптографической подписи, ваш публичный ключ можно сделать программой, и тогда действительная подпись становится строкой, которая при вводе в программу вместе с сообщением возвращает 1. Теоретически в этой парадигме можно закодировать одноключевой, многоключевой или любой другой набор правил.

Но есть проблема: публичные ключи будут слишком длинными. Для ее решения можно внести изначальный «публичный ключ» в какое-то хранилище данных (например, в распределенную хеш-таблицу, если мы хотим децентрализации) и использовать хеш «публичного ключа» в качестве идентификатора пользователя. Для этого пока не требуются блокчейны – хотя в последних разработках по своей конструкции масштабируемые блокчейны не так уж сильно отличаются от распределенных хеш-таблиц. Вполне возможно, что лет через десять все виды децентрализованных систем, используемые в любых целях, случайно или намеренно сойдутся в какой-то масштабируемый блокчейн.

Перейдем к первой проблеме. Можно посмотреть на нее как на проблему отзыва сертификата: если вы хотите «отозвать» определенный ключ, как вы сможете убедиться, что об этом узнáют все, кому нужно? Ситуация может решиться сама собой с помощью распределенной хеш-таблицы, но тогда возникает другая проблема: если вы хотите отозвать ключ, то чем вы его замените? Если ваш ключ украден, он есть и у вас, и у злоумышленника, и никто из вас не сможет доказать, что именно он – настоящий владелец. Одно из решений – иметь три ключа, а затем, если один из них будет отозван, потребовать подписи от двух из них или от всех, чтобы утвердить следующий ключ. Но это приводит к проблеме «ничего на кону»: если злоумышленнику в конечном итоге удастся украсть все три ваших ключа в одной точке истории, он сможет имитировать историю назначения нового ключа, назначая оттуда дополнительные новые ключи, и ваша собственная история перестанет иметь силу. В этом случае помогут временны´е метки, и для этого понадобится блокчейн.

Для второй проблемы тоже хорошо подойдет хранение нескольких ключей и переназначение – и здесь блокчейн не нужен. На самом деле переназначение тоже не требуется; при грамотном использовании разделения секрета вы можете вернуть потерянный ключ, просто сохранив его в «осколках», – если вы потеряете один осколок, всегда можно использовать математику разделения секрета и восстановить его из других. Что касается третьей проблемы, здесь самое простое решение – реестры имен на основе блокчейна.

Однако на практике большинство людей недостаточно технически подкованы для безопасного хранения нескольких ключей. Всегда будут возникать сбои, и здесь централизованные сервисы играют важную роль, помогая людям вернуть свои учетные записи. В этом случае блокчейны могут предложить простое решение: социальный бэкап M-of-N.

Вы выбираете восемь объектов: это могут быть ваши друзья, ваш работодатель, какая-то корпорация, некоммерческая организация, а в будущем даже правительство, и, если что-то пойдет не так, пятеро из них коллективно смогут восстановить ваш ключ. Эта концепция социального бэкапа с мультиподписью – пожалуй, один из мощнейших механизмов для любого вида децентрализованной системы. Она обеспечивает очень высокий уровень безопасности без существенных расходов и необходимости доверяться централизованным институтам. Обратите внимание, что с идентификацией на основе блокчейна, особенно с контрактной моделью Ethereum, все это очень легко запрограммировать: в реестре имен зарегистрируйте свое имя, свяжите его с контрактом, и дальше контракт будет хранить текущий главный ключ и резервные ключи, связанные с идентификатором, а также логику для их обновления через какое-то время. Такая система идентификации безопасна, не требует чьего-либо вмешательства (кроме вашего!) и так проста, что с ней справится даже бабушка.

Блокчейны могут решить не только проблему идентификации, но и тесно связанную с ней проблему репутации. «Системы репутации», существующие в современном мире, либо небезопасны, потому что не могут гарантировать, что организация, оценивающая другую организацию, действительно с ней взаимодействовала; либо централизованы, и данные о репутации привязаны к определенной платформе и находятся под ее контролем. Если вы перейдете с Uber на Lyft, ваш рейтинг не перейдет туда вместе с вами.

Случай с репутацией интересен тем, что здесь сочетаются многочисленные преимущества блокчейна как платформы.

░ Использование как хранилища данных для идентификации.

░ Использование как хранилища данных для записей о репутации.

░ Возможность взаимодействий между приложениями (рейтинги, привязанные к подтверждению платежа, способность любого алгоритма работать с одним и тем же базовым набором данных и так далее).

░ Гарантия того, что данные останутся неизменными в течение неограниченного времени (компании могут добровольно предоставить сертификат репутации в экспортируемом формате, но у них нет возможности обеспечить неизменность данных в будущем).

░ Использование децентрализованной платформы в целом для гарантии того, что никто не вмешается в процесс расчета репутационного рейтинга.

Сегодня у всех этих преимуществ блокчейна есть эквиваленты: можно доверять Visa и Mastercard в предоставлении криптографически подписанных квитанций о том, что была проведена конкретная транзакция; можно хранить репутационные записи на archive.org; можно заставить серверы общаться друг с другом; можно попросить частные компании указать в своих условиях предоставления услуг, что они обещают вести себя хорошо, и так далее. Все эти варианты достаточно эффективны, но они и рядом не стояли с возможностью просто выложить все в открытый доступ, запустить на «всемирном компьютере» и доверить работу криптографическим проверкам и доказательствам. Аналогичный аргумент можно привести для любого другого кейса.

СОКРАЩЕНИЕ ЗАТРАТ

Если, как утверждается в этой статье, главная ценность блокчейна проявляется в «длинном хвосте», отсюда следует важный вывод: блокчейн крайне невыгодно использовать для каждой отдельной транзакции. Следовательно, на первый план выходит проблема сокращения затрат на достижение консенсуса и повышение масштабируемости блокчейна. В централизованных системах пользователи и компании привыкли платить за «транзакцию» практически 0 долларов. Вполне возможно, что желающие сделать пожертвование WikiLeaks согласятся отдать даже 5 долларов комиссии, но за внесение записи о репутации люди вряд захотят платить больше 0,0005 доллара.

Отсюда следует, что на первом месте стоит проблема удешевления консенсуса, как в абсолютном смысле (то есть proof of stake), так и в смысле каждой транзакции (то есть с помощью масштабируемых алгоритмов блокчейна, где каждую транзакцию обрабатывает не более нескольких сотен нод). Кроме того, разработчики блокчейна должны иметь в виду, что за последние сорок лет разработка ПО постоянно переходила на все менее и менее эффективные парадигмы и языки программирования просто потому, что это позволяло разработчикам меньше напрягаться и не заботиться о получении нового опыта. При создании алгоритмов блокчейна необходимо учитывать, что разработчики будут не такими уж умными и рассудительными в отношении того, что они помещают и не помещают в блокчейн, – хотя грамотно продуманная система комиссий за транзакции, скорее всего, приведет к тому, что разработчики в любом случае изучат большинство важных моментов уже по ходу дела.

Есть основания надеяться на более децентрализованное будущее, однако дни легкой наживы прошли. Настало время для гораздо более трудной и долгой кропотливой работы над изучением реального мира и возможностей применять в нем созданные нами технологии. В какой-то момент мы окажемся в точке, когда большинство «блокчейнов для X» будут созданы не блокчейн-энтузиастами, которые хотят сделать что-то полезное, натыкаются на X и делают для этого блокчейн, а энтузиастами X, которые смотрят на блокчейн и понимают, что это довольно полезный рабочий инструмент. Этим Х могут быть интернет вещей, финансовая инфраструктура для развивающегося мира, низовые социальные, культурные и экономические институты, улучшение сбора и защиты данных в системе здравоохранения или просто спорные некоммерческие организации и запрещенные законом торговые площадки. Для последних двух переломный момент, вероятно, уже наступил; многие из первых блокчейн-энтузиастов стали таковыми из политических соображений. Но как только это коснется других областей, мы действительно поймем, что блокчейн стал вездесущим и что не за горами величайшие достижения.

Кроме того, мы, вероятно, станем свидетелями исчезновения концепции «блокчейн-сообщества» как квазиполитического движения. Если здесь вообще применим какой-либо ярлык, то лучшим вариантом будет «крипто 2.0». Это справедливо – по той же причине, по которой не существует понятия «сообщества распределенных хеш-таблиц», а под «сообществом баз данных» можно подразумевать просто всех ученых, специализирующихся на этой теме. Блокчейн – это лишь одна из технологий, и прогресс возможен только при ее взаимодействии с другими децентрализованными (и дружественными к децентрализации) технологиями: системами репутации, распределенными хеш-таблицами, «гипермедиа-платформами p2p», распределенными протоколами для обмена сообщениями, рынками прогнозирования, доказательствами с нулевым разглашением и, вероятно, многими другими, которые только предстоит открыть.

Часть 2

Proof of work

30 июля 2015 года Ethereum добыл свой «первичный блок» и вышел в публичное пространство. Новая жизнь началась непросто. Стоимость выпущенных токенов ETH перевалила за сотни миллионов долларов, что привлекло внимание хакеров и потребовало от растущего сообщества Ethereum незамедлительных действий. Оказалось, что безопасность системы не могла держаться на одном лишь коде – не меньшую роль играла традиционная человеческая политика, и Бутерин оказался в ее эпицентре.

Самым серьезным испытанием стал взлом The DAO – экспериментального коллективного венчурного фонда, который собрал ETH на 150 миллионов долларов. («ДАО» – произносится как первая половина слова «даосизм» – это «децентрализованные автономные организации», то есть организации, существующие на основе программного обеспечения блокчейна.) Не успел фонд сделать первые инвестиции, как в июне 2016 года хакер воспользовался ошибкой в коде, чтобы вывести средства.

The DAO владел примерно 15 % всех существующих токенов ETH, и попадание такой доли в руки одного пользователя было бы особенно опасно в случае перехода Ethereum на алгоритм консенсуса proof of stake, как планировал Бутерин. Антихакеры предприняли контрмеры, чтобы приостановить атаку, а в сообществе тем временем бушевали дебаты о том, стоит ли оставлять код таким как есть, со сбоями и прочими недостатками, или лучше действовать радикально. Бутерин отстаивал сценарий с «хардфорком»: предлагал переписать блокчейн Ethereum, чтобы стереть атаку. Бутерин обладал лишь незначительной формальной властью над протоколом: решающим фактором оказалось доверие. В итоге сообщество, сложившееся вокруг Ethereum, прислушалось к его желанию поставить интересы пользователей и свою миссию выше диктата кода.

В текстах Бутерина тех времен между строк проскальзывает беспокойство по поводу его харизматической власти. За несколько месяцев до взлома он сформулировал в блоге Ethereum цель: «выстроить Ethereum как децентрализованный проект, принадлежащий всему человечеству». В статье «Почему исследователям криптоэкономики и Х-рисков стоит чаще прислушиваться друг к другу», написанной во время споров вокруг The DAO, он ссылается на возможную «всемирную демократическую ДАО», своего рода Организацию Объединенных Наций с прямым участием всего человечества. В «Контроле как ответственности» он, кажется, опосредованно сравнивает себя с еще одним тинейджером – основателем глобального проекта Марком Цукербергом и говорит, что в мире блокчейнов, в отличие от корпоративных платформ, лучше избегать централизованной власти, чем обладать ею. В статье «О свободе слова» Бутерин описывает, почему технология не позволит ему получить полномочия цензора, перед которыми так часто не могут устоять Facebook и прочие. В твите 2018 года он утверждает: «На данном этапе развития Ethereum спокойно продолжит свое существование, даже если завтра я внезапно самовозгорюсь». Но сам факт того, что ему пришлось это сказать, наводит на мысль, что ситуация была не такой простой.

В 2017 году произошел колоссальный всплеск цены и популярности Ethereum. Во многом это было связано с использованием платформы для «первичного размещения монет»: стартапы (и гораздо чаще – откровенные мошенники) собирали огромные суммы, продавая токены на основании обещаний в вайтпейперах. Бутерин публично усомнился в точности рыночной оценки Ethereum в твиттере и призвал сообщество «понимать разницу между возможностью выпустить в мир цифровые активы на сотни миллиардов долларов и достичь чего-то общественно значимого». Ethereum должен был изменить мир, но, как показывают эссе в этой части книги, на практике большинство сценариев его использования были связаны с финансовыми и азартными играми.

В статьях первых лет существования Ethereum Бутерин не восторгается взлетом цен и успешными продажами токенов-блокбастеров, а размышляет о проблемах строительства криптоэкономики, задумываясь о том, как экономические стимулы могут обеспечить более эффективные способы взаимодействия между людьми. В этих и более технических постах тех времен его внимание привлекают сложные проблемы идентификации пользователей и управления системами. Но, как видно по «Рождественскому спецвыпуску» конца 2019 года, находилось время и для игр. Когда видишь, с каким азартом Бутерин и другие «эфировцы» играют в шахматы на митапах, может показаться, что весь этот многомиллиардный эксперимент – просто грандиозная головоломка, способ протестировать идеи, созревшие в их головах.

– Н. Ш.

Почему исследователям криптоэкономики и Х-рисков стоит чаще прислушиваться друг к другу

MEDIUM.COM/@VITALIKBUTERIN

4 июля 2016 года

В последнее время в сообществе, которое традиционно ассоциировало себя с искусственным интеллектом и различными формами футуристических исследований экзистенциальных рисков, наблюдается пока еще слабый, но растущий интерес к блокчейнам и криптоэкономическим системам. Ральф Меркл – изобретатель ныне довольно известной криптотехнологии, на которой работает протокол легкого клиента Ethereum, – выразил заинтересованность в механизмах управления ДАО. Соучредитель Skype Яан Таллинн предложил изучить технологии блокчейна на предмет возможного создания механизмов для решения глобальных проблем координации. Сторонники рынков предсказаний, которые уже давно осознали их потенциал в управлении системами, теперь присматриваются к Augur[31]. Есть ли здесь за что зацепиться? Это всего лишь значит, что компьютерные гики, которых раньше привлекла в сообщество тема А, теперь заинтересовались другой, но тоже близкой темой Б, или существует какая-то реальная взаимосвязь между этими проблемами?

Я бы сказал, что взаимосвязь существует, и вот в чем она проявляется.

Сообщество исследований криптоэкономики и сообщество безопасности искусственного интеллекта / нового киберуправления / экзистенциальных рисков пытаются решить, по сути, одну и ту же проблему: как регулировать очень сложную и очень умную систему, в которой могут появиться новые непредсказуемые свойства, посредством очень простой и глупой системы, свойства которой после ее создания остаются неизменными?

В контексте исследований искусственного интеллекта главная подзадача – определить такую функцию полезности, которая будет руководить поведением сверхразумного агента, при этом не позволяя ему совершать действия, которые удовлетворяют заданной функции, но противоречат заложенному в ней намерению (иногда такие действия называют «экстремальными решениями»). Например, если вы попытаетесь поручить сверхразумному ИИ вылечить рак, он может решить, что самый надежный способ – просто всех убить. Если вы заблокируете эту опцию, следующим его решением будет просто навсегда заморозить всех людей криогенным способом, не убивая их. И так далее. В контексте ДАО-демократии Ральфа Меркла проблема заключается в определении такой целевой функции, которая, во-первых, будет прямо пропорциональна социальному и технологическому прогрессу и стремлениям людей, во-вторых, будет обратно пропорциональна экзистенциальным рискам и, в-третьих, которую будет достаточно легко измерить, избежав политических баталий вокруг точности этих измерений.

Криптоэкономика сталкивается с удивительно схожими трудностями. Основная задача консенсуса – понять, как мотивировать валидаторов поддерживать и развивать сети за счет простого неизменного алгоритма, при том что сами валидаторы – очень сложные экономические агенты, способные на произвольные взаимодействия. В случае The DAO проблема была в расхождении сложной задумки разработчиков, у которых были конкретные представления об использовании функции расщепления, и результатом реального внедрения их программного обеспечения. Augur пытается спроецировать проблему консенсуса на реальный мир. Maker хочет создать децентрализованный алгоритм управления платформой, которая сочетала бы в себе децентрализацию криптовалюты и надежность фиатных денег. Во всех этих случаях глупые алгоритмы должны управлять умными агентами. Безопасность ИИ связана с тем, что агенты с IQ на уровне 150 пытаются контролировать агентов, чей IQ равен 6000, а в криптоэкономике агенты с IQ на уровне 5 пытаются контролировать агентов с IQ на уровне 150. Масштабы, конечно, разные, но сходство все же наблюдается.

Независимо друг от друга оба сообщества уже много лет пытаются решить эти сложные проблемы, и каждое добилось некоторого прогресса. Также для этих проблем начинают обнаруживаться эвристические частичные решения и стратегии смягчения риска. В случае ДАО некоторые разработчики двигаются в сторону гибридного подхода, где активы ДАО контролирует набор кураторов с ограниченными полномочиями – достаточными, чтобы защитить ДАО от атаки, но недостаточными, чтобы они сами могли нарушить работу системы. Этот подход перекликается с текущими исследованиями в области безопасного отключения ИИ.

Сторонники футархии предлагают в качестве целевой функции процентные ставки, а в качестве алгоритма управления – своего рода гибрид футархии и квадратичного голосования[32] посредством добровольной блокировки монет. Также речь идет о различных формах умеренной футархии, которая наделена достаточной властью для предотвращения сговора большинства – который, в свою очередь, неспособна предотвратить демократия, – но в остальном отдает власть процессу голосования. Все эти новаторства как минимум заслуживают внимания тех, кто пытается использовать футархию для создания ДАО мировой демократии.

Еще одно крайне недооцененное предложение – использовать алгоритмы управления, которые намеренно замедляют происходящие процессы. Хардфорк The DAO, предложенный после атаки для спасения хранящихся средств, был возможен именно благодаря набору правил внутри The DAO, требующих для каждого действия длительной задержки. Также заслуживает внимания метод формальной проверки, где одни компьютерные программы автоматически верифицируют другие, чтобы те действовали согласно заданным целям.

Доказать «честность» формально невозможно, поскольку ее очень сложно оценить, но можно обеспечить хотя бы частичную гарантию снижения рисков. Например, формально подтвердить, что определенный вид действий можно совершить не ранее, чем через семь дней, или нельзя совершать в ближайшие 48 часов, если кураторы данного ДАО не проголосуют за обратное. В контексте ИИ такие подтверждения могут предотвратить определенные виды простых ошибок в функции вознаграждения, из-за которых совершенно нежелательное поведение будет казаться ИИ чрезвычайно полезным. Конечно, другие сообщества размышляют о формальной верификации уже много лет, но сейчас изучают возможности для ее применения в новых условиях.

Еще одна концепция, которая давно уже на слуху в сфере безопасности ИИ, может быть очень полезна при создании экономических систем с ДАО: речь идет о теории сверхрациональных решений – своего рода попытке преодолеть дилемму заключенного через исходный код, лояльно настроенный по отношению к агентам, которые обязуются его запускать. Один из примеров, где действие доступно агентам с открытым исходным кодом, но не агентам – «черным ящикам», назван в коротком рассказе Скотта Александера «рукопожатием ценностей»: два агента могут договориться, что обязуются стремиться к результату, в равной степени удовлетворяющему их личным целям. Раньше такие концепции были уделом научной фантастики, но сегодня ДАО-футархии способны воплотить их в жизнь. Если брать шире, ДАО вполне могут обязать социальные институты безукоризненно «исполнять исходный код», обладающий определенными свойствами.

То, что произошло с The DAO, – лишь первый из множества экспериментов, которые мы будем наблюдать в этом году и в следующем. Различные ДАО, учась на взаимных ошибках, начнут предлагать совершенно разные новаторские решения для алгоритмов управления, политики безопасности программного обеспечения, систем кураторства, медленных и поэтапных процессов запуска и развертывания проектов, а также смогут предоставить формально подтвержденные гарантии защиты от криптоэкономического шторма.

Наконец, самый большой урок, который, на мой взгляд, нужно извлечь из криптосообщества, – это сама децентрализация: пусть разные команды реализуют отдельные компоненты системы, в чем-то дублируя работу друг друга, чтобы ошибки в одном компоненте не проявились в других. Криптоэкосистема превращается в живой эксперимент по решению передовых задач разработки программного обеспечения, информатики, теории игр и философии. И независимо от того, найдется ли применение ее достижениям – в нынешнем или радикально преобразованном виде, – они по меньшей мере станут достойной пищей для размышлений.

Философия proof of stake

MEDIUM.COM/@VITALIKBUTERIN

30 декабря 2016 года

Системы вроде Ethereum (а также Bitcoin, NXT, Bitshares и так далее) сформировали принципиально новый класс криптоэкономических организмов – децентрализованных организаций, не подвластных какой-либо юрисдикции, которые полностью существуют в киберпространстве и действуют на основе комбинации криптографии, экономики и социального консенсуса. Чем-то они похожи на BitTorrent, но вместе с тем и непохожи, поскольку в BitTorrent нет понятия состояния – а это очень важное различие. Иногда их описывают как децентрализованные автономные корпорации, но и это не совсем так – например, хардфорк Microsoft невозможен. Они напоминают проекты программного обеспечения с открытым исходным кодом, но и здесь тоже есть различия: сделать форк блокчейна не так просто, как, например, форк OpenOffice[33].

Эти криптоэкономические сети бывают самыми разными – PoW на основе ASIC, PoW на основе GPU, наивный PoS, делегированный PoS (DPoS) и ожидаемый в скором времени PoS по принципу Casper, – и каждая обязательно подкрепляется собственной философией. Хороший пример – максималистское видение proof of work, где «тот самый» правильный блокчейн (в единственном числе) определяется как цепочка, на создание которой майнеры потратили наибольшее количество экономического капитала. Изначально это было простое правило выбора ответвлений внутри протокола, но во многих случаях его возводили в ранг священного принципа. Платформа Bitshares сделала из DPoS еще одну самодостаточную философию, основополагающий принцип которой можно описать еще проще: голосование акционеров.

Каждая из этих философий – консенсус Накамото, социальный консенсус, консенсус голосования акционеров – приводит к определенным выводам и системам ценностей, которые звучат убедительно внутри своего сообщества, но вполне уязвимы для критики снаружи. Консенсус по принципу Casper также подкреплен определенной философией, пусть пока и не до конца сформулированной.

Я, Влад, Доминик, Джей и другие – все мы по-своему видим смысл существования и будущий путь развития протоколов proof of stake, но в этой статье я хочу поделиться именно своими соображениями.

Сперва я перечислю свои наблюдения, а затем перейду к выводам.

▒ Для XXI века криптография представляет собой нечто особенное, ведь это – одна из очень немногих областей, где в случае конфликта выгоднее быть на защищающейся стороне. Зáмки намного легче разрушить, чем построить; острова можно защитить, что не помешает их атаковать, но ключ ECC дает обычному человеку защиту, через которую не прорвутся даже противники на уровне государств. Философия шифропанка основана на использовании этой драгоценной асимметрии для создания мира с надежной защитой автономии личности. Криптоэкономика в некоторой степени продолжает эту идею, за исключением того, что защищает безопасность и жизнеспособность сложных систем координации и сотрудничества, а не только неприкосновенность и конфиденциальность личных сообщений. Системы, которые считают себя идейными наследниками духа шифропанка, должны придерживаться этого базового принципа и функционировать так, чтобы взломать и разрушить их было бы гораздо сложнее, чем пользоваться ими и поддерживать их.

▒ «Дух шифропанка» – это не только про идеалы. Создание систем, которые будет легче защищать, чем атаковать, требует тщательной подготовки.

▒ В среднесрочной и долгосрочной перспективах люди весьма неплохо справляются с достижением консенсуса. Даже если противник получил доступ к неограниченной мощности хеширования и провел атаку 51 % на любой крупный блокчейн, переписав его историю транзакций за последний месяц, убедить сообщество в легитимности этой цепочки гораздо сложнее, чем превзойти хеш-мощность основной цепочки. Ему придется поставить под сомнение авторитет обозревателей блоков, каждого доверенного члена сообщества, New York Times, archive.org и многих других интернет-источников. В насыщенном информационными технологиями XXI веке убедить мир в правоте тех, кто совершил атаку, примерно так же сложно, как убедить мир в том, что американские астронавты никогда не высаживались на Луну. В долгосрочной перспективе именно этот социальный фактор защищает любой блокчейн, даже если само сообщество блокчейна этого не признаёт (к слову, Bitcoin Core признаёт главенство социального консенсуса).

▒ Однако в случае защиты одним лишь социальным консенсусом блокчейн будет слишком медленным, неэффективным и погрязнет в бесконечных дискуссиях (хотя, вопреки всем трудностям, подобные системы существуют[34]); так что экономический консенсус чрезвычайно важен для жизнеспособности и безопасности блокчейна в краткосрочной перспективе.

▒ Поскольку в proof of work безопасность обеспечивается только через вознаграждение за блок, а стимулы майнеров связаны только с риском потери своих будущих вознаграждений, алгоритм неизбежно действует по логике затрат огромных мощностей ради огромных вознаграждений. После атак в PoW очень сложно восстановиться: когда это случается впервые, можно создать хардфорк, чтобы изменить алгоритм PoW и тем самым сделать ASIC злоумышленника бесполезными, но во второй раз такой возможности не будет, так что атаки будут происходить снова и снова. Следовательно, размер сети майнинга должен быть настолько большим, чтобы атаки были немыслимы. Злоумышленнику, который готов потратить на атаку менее X, не будет смысла что-либо предпринимать в сети, которая тратит X каждый день. Эту логику я не принимаю, потому что, во-первых, она убивает деревья и, во-вторых, она расходится с духом шифропанка – стоимость атаки и стоимость защиты соотносятся друг к другу как 1:1, так что у защищающейся стороны нет преимуществ.

▒ Proof of stake нарушает эту симметрию и вместо вознаграждения за безопасность полагается на штрафы. Когда валидаторы ставят на кон свои деньги («депозиты»), они получают небольшое вознаграждение за блокировку своего капитала и поддержание нод, а также за принятие дополнительных мер предосторожности для обеспечения безопасности своих закрытых ключей. Основная часть затрат на изменение транзакций приходится на штрафы, которые в сотни или тысячи раз превышают вознаграждение. Если сжать философию proof of stake до одного предложения, то она не про «безопасность за счет сжигания энергии», а скорее про «безопасность за счет риска экономических потерь». Конкретный блок или состояние будет безопасен на $X, если вы сможете доказать, что любой соревнующийся с ним блок или состояние не смогут достигнуть такого же уровня финализации, пока вредоносные ноды, замешанные в попытке подмены, не заплатят внутрипротокольный штраф в размере $X.

▒ Теоретически большинство валидаторов могут сговориться, захватить цепочку proof of stake и приступить к злонамеренным действиям. Однако, во-первых, дизайн протокола достаточно продуман, чтобы максимально ограничить возможность получения дополнительной прибыли за счет таких манипуляций, и, во-вторых, что еще важней, если они попытаются помешать присоединению новых валидаторов или выполнить атаку 51 %, сообщество сможет просто согласовать хардфорк и удалить депозиты этих валидаторов. Успешная атака может обойтись в 50 миллионов долларов, но процесс устранения ее последствий выйдет не дороже консенсусной ошибки geth/parity, которая произошла 25.11.2016[35]. Через два дня блокчейн и сообщество вернулись в прежнее русло, злоумышленники обеднели на 50 миллионов долларов, а остальная часть сообщества, вероятно, наоборот – обогатилась, поскольку сокращение предложения токенов после атаки привело к росту их стоимости. Это и есть асимметрия атаки и защиты.

▒ Из вышесказанного не следует, что незапланированные хардфорки станут обычным явлением; при желании стоимость одной атаки 51 % на proof of stake можно приравнять к стоимости непрерывной атаки 51 % на proof of work. Из-за высокой стоимости и неэффективности такая атака, скорее всего, не будет привлекательна для мошенников.

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

▒ Следовательно, лучшие протоколы – это протоколы, которые хорошо работают при различных моделях и допущениях: экономической рациональности при согласованном выборе, экономической рациональности при индивидуальном выборе, простой отказоустойчивости, византийской отказоустойчивости (в идеале и с адаптивными, и с неадаптивными противниками), моделях экономического поведения в духе Ариели/Канемана («мы все немного жульничаем») и желательно любой другой вообразимой и осуществимой модели. Важно иметь оба уровня защиты: экономические стимулы, препятствующие антисоциальному поведению централизованных картелей, и антицентрализационные стимулы, препятствующие сговору в принципе.

▒ Протоколы консенсуса, работающие по принципу «как можно быстрее», сопряжены с определенными рисками, и стоит подходить к ним очень осторожно, если вообще стоит. Если возможность работать очень быстро связана со стимулами работать очень быстро, такая комбинация будет поощрять очень высокую и отягощенную системными рисками централизацию на сетевом уровне (например, где все валидаторы работают от одного хостинг-провайдера). У протоколов консенсуса, для которых не очень важна скорость отправления сообщения валидатором, пока тот попадает в приемлемый временной интервал (например, 4–8 секунд, поскольку мы эмпирически знаем, что задержка в Ethereum обычно составляет ~500 мс – 1 с), таких проблем нет. Вероятная золотая середина – протоколы, которые могут работать очень быстро, но где механизмы вроде анклов[36] в Ethereum гарантируют, что увеличение скорости ноды выше определенного предела не принесет ей существенного вознаграждения.

Конечно, существует еще множество деталей и способов эти детали оспорить, но здесь я изложил основные, на мой взгляд, принципы консенсуса Casper. Отсюда можно перейти к обсуждению компромиссов между конкурирующими ценностями. Назначим ли мы эфиру годовую эмиссионную процентную ставку в 1 % и заплатим 50 миллионов долларов за принудительный корректирующий хардфорк или назначим нулевую годовую эмиссионную процентную ставку и заплатим 5 миллионов долларов за принудительный корректирующий хардфорк? Когда нам повышать безопасность протокола в рамках экономической модели в обмен на снижение его безопасности в рамках модели отказоустойчивости? Что для нас важнее – предсказуемый уровень безопасности или предсказуемый уровень эмиссии? Все это – вопросы для отдельного поста, а всяческие способы внедрения разных компромиссов между этими опциями – вопросы для еще большего количества постов. Но мы к ним вернемся.:)

Значение децентрализации

MEDIUM.COM/@VITALIKBUTERIN

6 февраля 2017 года

«Децентрализация» – одно из самых популярных понятий в криптоэкономическом пространстве. Часто его даже называют главной причиной существования блокчейна. Вместе с тем этот термин крайне расплывчат. Тысячи часов исследований и колоссальные объемы вычислительной мощности брошены на попытки достичь децентрализации, усовершенствовать ее и защитить. Для проектов она считается сильнейшим козырем: когда дискуссии перерастают в соперничество, сторонники отдельного протокола (или расширения протокола) часто нокаутируют оппонента заявлением, что его вариант – более «централизованный».

Но не всегда ясно, что именно означает это слово. Вспомним, например, совершенно бесполезную, но, к сожалению, очень популярную диаграмму[37].

Теперь заглянем на Quora и прочитаем пару ответов на вопрос «В чем разница между “распределенным” и “децентрализованным”?» Первый ответ воспроизводит приведенную выше диаграмму, второй же утверждает совершенно другое: «“Распределенный” означает, что не вся обработка транзакций сосредоточена в одном месте, а “децентрализованный” – что ни у одного объекта нет контроля над обработкой транзакций». В то же время самый популярный ответ на тот же вопрос со страницы Ethereum на Stack Exchange выдает почти такую же диаграмму – только «децентрализованный» и «распределенный» в ней поменялись местами! Очевидно, здесь есть в чем разобраться.

ТРИ ТИПА ДЕЦЕНТРАЛИЗАЦИИ

Под децентрализацией программного обеспечения на самом деле можно подразумевать одну из трех обособленных осей централизации/децентрализации. Хотя порой неясно, как одна возможна без другой, в целом они вполне самодостаточны. Вот эти оси.

▒ Архитектурная (де)централизация отвечает на вопрос: «Из скольких компьютеров состоит система?» При скольких одновременно вышедших из строя компьютерах система продолжит работать?

▒ Политическая (де)централизация отвечает на вопрос: «Сколько организаций или отдельных людей контролируют компьютеры, из которых состоит система?»

▒ Логическая (де)централизация отвечает на вопрос: «Интерфейс и структуры данных, поддерживаемые системой, напоминают скорее единый неделимый объект или бессвязную массу?» Ответить на него поможет простой эвристический тест: если разделить всю систему вместе с пользователями и провайдерами пополам, продолжит ли каждая половина функционировать как полноценная независимая единица?

Можно попытаться объединить все три направления в одной схеме.

Разумеется, расположение многих элементов на этой схеме приблизительно и спорно. И все же попробуем их разобрать.

▒ Традиционные корпорации централизованы политически (один СЕО), архитектурно (один головной офис) и логически (не будет работать, если разделить на две части).

▒ Гражданское право опирается на централизованный законодательный орган, а общее право – на многочисленные прецеденты судебных процессов. У гражданского права наблюдается некоторая архитектурная децентрализация, поскольку каждый суд выносит решение самостоятельно, однако у общего права ее больше. И оба логически централизованы («закон есть закон»).

▒ Языки логически децентрализованы: Алиса с Бобом говорят на том же английском, что и Чарли с Дэвидом, и все они поймут друг друга без предварительных договоренностей. Языки спокойно существуют без централизованной инфраструктуры, а правила английской грамматики не подконтрольны какому-то отдельному человеку или организации (в свою очередь, эсперанто был изобретен Людвиком Заменгофом, хотя сейчас это скорее живой язык, который развивается самостоятельно и бесконтрольно).

▒ BitTorrent, как и английский язык, логически децентрализован. Сети доставки контента похожи на них, но подконтрольны одной конкретной компании.

▒ Блокчейны децентрализованы политически (их никто не контролирует) и архитектурно (у них нет центральной точки отказа), но логически они централизованы (есть одно общепринятое состояние, и система ведет себя как единый компьютер).

Перечисляя преимущества блокчейна, люди часто упоминают удобства «единой центральной базы данных» – проявления логической централизации. Такой вид централизации во многих случаях считается полезным (хотя Хуан Бенет из IPFS выступает за тотальную логическую децентрализацию, поскольку логически децентрализованные системы хорошо переносят разделение сети, работают в регионах с плохой связью и так далее).

Архитектурная централизация часто приводит к политической, хотя и не всегда: при формальной демократии политики встречаются и голосуют в конкретном физическом помещении, но это не значит, что весь персонал этого помещения получает право голоса. В компьютеризированных системах может сложиться архитектурная, но не политическая децентрализация: например, онлайн-сообщество для удобства может использовать какой-то централизованный форум, но договориться коллективно перейти на другой в случае злонамеренных действий со стороны владельцев этого форума (с большой вероятностью так будут поступать сообщества, объединенные борьбой с тем, что они воспринимают как цензуру).

С логической централизацией сложно достичь архитектурной децентрализации, но не невозможно: сети децентрализованного консенсуса уже доказали свою эффективность, хотя поддерживать их сложнее, чем BitTorrent. Также с логической централизацией сложно добиться политической децентрализации – в таких системах непросто разрешить все разногласия по принципу «сам живи и другим не мешай».

ТРИ ПРИЧИНЫ ДЕЦЕНТРАЛИЗАЦИИ

Следующий вопрос: чем хороша децентрализация? Вот несколько самых популярных доводов.

▒ ОТКАЗОУСТОЙЧИВОСТЬ – децентрализованные системы менее подвержены случайным сбоям, поскольку полагаются на множество отдельных и независимых составляющих.

▒ СОПРОТИВЛЕНИЕ АТАКАМ – попытки взломать, уничтожить или взять под контроль децентрализованные системы обойдутся дороже, поскольку у таких систем нет уязвимых центральных точек, атаковать которые будет дешевле относительно стоимости окружающей их экономической системы.

▒ СОПРОТИВЛЕНИЕ СГОВОРУ – участникам децентрализованной сети гораздо сложнее сговориться между собой и нажиться за счет других участников, в то время как лидеры государств и корпораций постоянно вступают в сговоры, пользуясь менее скоординированными гражданами, клиентами, работниками и просто людьми.

Все три довода важны и обоснованны, однако они ведут к совершенно другим и весьма интересным заключениям, если рассмотреть их в контексте протоколов. Присмотримся к каждому повнимательней.

В случае отказоустойчивости ключевой аргумент довольно прост. Что произойдет с меньшей вероятностью: откажет один компьютер или одновременно откажут 5 компьютеров из 10? Принцип вполне логичный и часто используется в реальной жизни, например для реактивных двигателей, источников бесперебойного питания в местах вроде больниц, военной инфраструктуры, диверсификации финансовых портфелей и, само собой, компьютерных сетей.

Однако этот несомненно эффективный и важный вид децентрализации, вопреки наивной математической модели, часто оказывается далек от того, чтобы стать панацеей. Причина тому – отказ общего характера. Конечно, один двигатель откажет с большей вероятностью, чем одновременно сразу четыре, но что, если все четыре были изготовлены на одном заводе и по вине конкретного недобросовестного работника вся эта партия вышла с браком?

Могут ли блокчейны в сегодняшнем виде защититься от отказа общего характера? Не факт. Рассмотрим следующие сценарии.

▒ Все ноды блокчейна выполняют программу одного клиента, и в коде программы обнаруживается баг.

▒ Все ноды блокчейна выполняют программу одного клиента, но группу разработчиков этой программы подкупили.

▒ Исследовательскую группу, предлагающую апгрейды протокола, подкупили.

▒ 70 % майнеров блокчейна на базе proof of work находятся в одной стране, правительство которой принимает решение конфисковать майнинговые фермы в интересах национальной безопасности.

▒ Бóльшая часть майнингового оборудования производится одной и той же компанией, которую подкупом или угрозами заставляют встроить в оборудование бэкдор, позволяющий его отключить.

▒ В блокчейне на основе proof of stake 70 % монет, сданных в стейкинг, хранятся на одной и той же бирже.

Целостный взгляд на децентрализацию отказоустойчивости помогает учесть все эти аспекты и постараться их минимизировать. Отсюда несколько очевидных заключений.

▒ Критически важно иметь множественные, конкурирующие между собой реализации протокола.

▒ Необходимо демократизировать информацию о технических аспектах обновлений протокола, чтобы люди могли спокойно участвовать в исследовательских обсуждениях и критиковать откровенно неудачные изменения.

▒ Главные разработчики и исследователи должны работать в разных компаниях и организациях (или, как вариант, многие могут быть волонтерами).

▒ Дизайн майнинговых алгоритмов должен быть ориентирован на минимизацию рисков централизации.

▒ В идеале с помощью proof of stake мы хотим полностью избавиться от риска аппаратной централизации (но не стоит забывать, что proof of stake чреват другими рисками).

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

Теперь поговорим о противодействии атакам. В некоторых чистых экономических моделях децентрализация не так уж и важна.

Если протокол гарантирует, что валидаторы потеряют 50 миллионов долларов в случае атаки 51 % (то есть отмены завершенных транзакций), то не так важно, одна или сто компаний контролируют валидаторов, ведь риск потери 50 миллионов долларов в любом случае гарантирует экономическую безопасность. На самом деле в области теории игр существуют основания[38] полагать, что централизация может даже максимизировать экономическую безопасность (эту мысль отражает модель выбора транзакций в существующих блокчейнах, поскольку включение транзакции в блоки через майнеров / инициаторов блока есть не что иное, как диктатура с очень высокой ротацией).

Но как только мы внедряем более развитую экономическую модель, в частности такую, которая допускает возможность принуждения (или более деликатные методы вроде прицельных DoS-атак против нод), децентрализация становится куда важнее. К примеру, когда злоумышленник угрожает валидатору убийством, если тот не совершит определенных действий, перспектива потери 50 миллионов долларов отходит на второй план. Однако если эти 50 миллионов распределены между десятью валидаторами, злоумышленнику придется угрожать всем десяти, причем одновременно. Во многих случаях асимметрия атака/защита склоняется в пользу атакующего – здание, строительство которого стоит 10 миллионов долларов, можно разрушить меньше чем за 100 000 долларов, однако преимущество атакующего зачастую нелинейно: если строительство здания стоит 10 миллионов, а разрушение – 100 000, то разрушение здания, построенного за 1 миллион, вполне может обойтись в 30 000. Чем меньше суммы, тем лучше соотношение.

Какие отсюда следуют выводы? Во-первых, это демонстрирует серьезное преимущество консенсуса proof of stake перед proof of work, поскольку компьютерное оборудование легко обнаружить, контролировать или атаковать, в то время как монеты можно надежно скрыть (но есть и другие причины, по которым proof of stake успешно сопротивляется атакам). Во-вторых, здесь наблюдается явная польза распределенных команд, в том числе распределенных географически. В-третьих, и экономическую модель, и модель отказоустойчивости необходимо учитывать при разработке протоколов консенсуса.

Наконец, мы переходим к самому запутанному доводу в пользу децентрализации – сопротивлению сговору. Сложно точно сказать, что такое сговор, хотя самым простым определением будет «скоординированные действия, которые нам не нравятся». Часто в реальной жизни, несмотря на вроде бы очевидные выгоды наилучшей координации между всеми участниками, способность одной подгруппы к координации на фоне неспособности всех остальных весьма опасна.

Простой пример – антимонопольное законодательство, то есть специальные регуляторные барьеры, которые предназначены для того, чтобы участникам конкретной рыночной ниши было сложно объединяться и действовать как монополист, получая прибыль за счет других игроков этой ниши и благосостояния всего общества. Другой пример – правила, запрещающие активную координацию между кандидатами на выборах и суперкомитетами по политической активности[39], хотя проконтролировать соблюдение этого запрета оказалось очень трудно. Менее масштабный пример – запрет в некоторых шахматных турнирах одним и тем же игрокам слишком часто играть друг с другом, чтобы повысить очки конкретного игрока. Куда ни взгляни, с нежелательной координацией пытаются бороться в самых разных сложных структурах.

В случае протоколов блокчейна математические и экономические рассуждения о безопасности консенсуса часто опираются на модель нескоординированного выбора или на допущение, что в игре участвует множество мелких акторов, принимающих решения независимо друг от друга. Если кто-то в системе proof of work получает больше 1/3 майнинговой мощности, он может начать получать дополнительную прибыль посредством эгоистичного майнинга[40]. Однако можно ли говорить о том, что модель нескоординированного выбора реалистична, если представители 90 % майнинговой мощности Bitcoin достаточно хорошо скоординированы, чтобы оказаться вместе на одной конференции?

Сторонники блокчейна указывают на повышенную надежность системы, поскольку нельзя просто взять и произвольно поменять ее правила, но этот аргумент теряет силу, если разработчики программного обеспечения и протокола работают на одну и ту же компанию, принадлежат к одной семье и сидят в одной комнате. Смысл в том, что такие системы не должны действовать как корыстные, унитарные монополии. Отсюда следует, что блокчейн будет более надежным и безопасным, если сделать его менее скоординированным.

В этом его фундаментальный парадокс. Многие сообщества, в том числе сообщества Ethereum, часто хвалят за сильный командный дух и способность быстро координироваться для срочного внедрения, реализации и активации хардфорков. Как же развивать и поощрять эту «хорошую» координацию, параллельно пресекая «плохую» координацию, где майнеры попытаются обвести всех вокруг пальца и совершить атаку 51 %?

Здесь есть три варианта:

▒ Не тратить силы на борьбу с нежелательной координацией и вместо этого попытаться разработать протоколы, которые смогут ей противостоять.

▒ Попытаться найти золотую середину, где уровень координации будет достаточным для усовершенствования протокола, но недостаточным для совершения атак.

▒ Попытаться четко разграничить полезную и вредную координации, чтобы упростить первую и усложнить вторую.

Первый подход составляет значительную часть философии Casper. Но одного этого недостаточно: если мы будем полагаться только на экономику, то не сможем учесть две другие угрозы децентрализации.

Второй подход сложнее в плане проектирования, особенно на длительную перспективу, но часто такое происходит случайно. Например, можно назвать удачей тот факт, что главные разработчики биткойна говорят в основном на английском языке, а подавляющая часть майнеров – на китайском, поскольку это создает что-то вроде «двухпалатного» управления, где координация более затруднительна, а риск отказа общего характера намного меньше, поскольку действия английского и китайского сообществ в силу расстояний и коммуникационных особенностей будут несколько различаться, что снизит вероятность одинаковых ошибок.

Третий подход – самый сложный в социальном плане. Решения могут быть такими.

▒ Вмешиваться в социальные процессы, чтобы увеличить лояльность участников блокчейна к сообществу как к единому целому и снизить вероятность, что игроки на одной стороне рынка будут лояльны непосредственно друг другу.

▒ Развивать коммуникационные каналы между разными «сторонами рынка» в одном контексте, чтобы снизить вероятность того, что валидаторы, разработчики или майнеры начнут воспринимать себя как «класс», который должен скоординироваться против других классов ради защиты собственных интересов.

▒ Разрабатывать протокол таким образом, чтобы снизить мотивацию валидаторов/майнеров вступать в «особые отношения» один на один, минимизировать появление централизованных релейных сетей и других суперпротокольных механизмов.

▒ Создать понятные нормы: какие базовые свойства должен иметь протокол, чего делать нельзя, а что можно, но только в самых экстремальных случаях.

Этот третий вид децентрализации – децентрализация как предотвращение нежелательной координации – самый труднодостижимый, и здесь неизбежны уступки. Возможно, наилучшим решением этой проблемы станет опора на гарантированно децентрализованную группу – пользователей протокола.

Заметки об управлении блокчейном

VITALIK.CA

17 декабря 2017 года

В последнее время в управлении блокчейном наблюдается интересная тенденция: ончейн-голосование держателей монет обретает новую жизнь в качестве многоцелевого механизма принятия решений. Иногда такое голосование используют, чтобы выбрать суперноды, управляющие сетью (например, DPO в EOS, NEO, Lisk и других системах), а иногда – чтобы проголосовать за параметры протокола (например, лимит газа[41] в Ethereum) или за полноценное обновление протокола и его внедрение (например, Tezos). Во всех этих случаях процесс голосования автоматизирован – принципы изменения набора валидаторов или обновления правил протокола содержатся в самом протоколе, и все происходит автоматически после получения результатов голосования.

Сторонники ончейн-управления отмечают несколько его серьезных преимуществ. Во-первых, в отличие от крайне консервативной философии Bitcoin, оно способно быстро меняться и при необходимости технически совершенствоваться. Во-вторых, оно формирует открытую децентрализованную структуру и за счет этого избегает подводных камней неформального управления, которое считается либо слишком нестабильным и чреватым разрывом цепочек, либо рискующим стать де-факто централизованным – последняя мысль встречается в знаменитом эссе 1972 года «Тирания бесструктурности»[42].

Процитируем документацию Tezos:

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

И далее:

Да, но зачем упрощать [разрыв цепочки меньшинством]? Разрывы уничтожают сетевые эффекты.

В контексте выбора валидаторов положительная сторона ончейн-управления заключается также в том, что это создает условия, в которых сеть предъявляет высокие требования к вычислительной мощности валидаторов, избегая при этом рисков экономической централизации и других ловушек вроде тех, что появляются в публичных блокчейнах.

Пока ончейн-управление выглядит очень даже привлекательно… но в чем же может быть подвох?

ЧТО ТАКОЕ УПРАВЛЕНИЕ БЛОКЧЕЙНОМ?

Для начала нужно прояснить, что такое процесс «управления блокчейном». В общих чертах – есть две неформальные модели управления, которые я буду называть «функцией принятия решений» и «координацией». Функция принятия решений представляет управление как функцию f(x1, x2… xn) → y, где входные данные – это пожелания различных легитимных заинтересованных сторон (сенаторов, президента, владельцев собственности, акционеров, избирателей и так далее), а выходные данные – само решение.

Такой подход в первом приближении часто бывает полезен, но его эффективность неустойчива: люди быстро находят возможность безнаказанно обойти закон; сами правила не всегда подлежат однозначной трактовке, а порой случаются революции – и все это, по крайней мере иногда, бывает даже к лучшему. Кроме того, часто поведение даже внутри системы формируется стимулами, которые позволяют действовать за ее пределами – что, опять же, не всегда плохо.

Координационная модель, напротив, рассматривает управление как нечто существующее на разных уровнях. В реальном мире на нижнем уровне располагаются законы физики (оружие и бомбы, как сказал бы геополитический реалист). Относительно пространства блокчейна мы можем чуть больше абстрагироваться и отнести к первому уровню способность каждого человека запускать любое программное обеспечение от лица пользователя, майнера, заинтересованной стороны, валидатора или любого другого агента, возможного в протоколе блокчейна. Нижний слой – всегда решающий. Например, если все пользователи Bitcoin однажды проснутся и решат отредактировать исходный код своих клиентов, заменив его кодом клиента Ethereum, который видит балансы конкретного токен-контракта ERC20, то токен ERC20 станет биткойном. Руководящая сила нижнего уровня непоколебима, но высшие уровни могут влиять на действия, предпринимаемые на нижнем.

Второй (и чрезвычайно важный) уровень – это координационные институты. Координационный институт создает ориентиры для действий людей, чтобы лучше управлять их поведением. И в управлении блокчейном, и в реальной жизни есть множество ситуаций, когда, действуя определенным образом в одиночку, вы, скорее всего, ничего не добьетесь (если не хуже), зато, действуя сообща, все получат желаемый результат.

Абстрактная координационная игра. Намного выгоднее сделать тот же ход, что и все остальные

В подобных случаях вам выгодней идти, когда все остальные идут, и стоять, когда все стоят. Координационные институты – это что-то вроде красных и зеленых флажков, командующих «вперед» или «стоп» в устоявшейся культуре, где все следят за этими флажками и (обычно) делают то, что они говорят. Почему люди готовы прислушиваться к этим флажкам? Потому что к ним прислушиваются все остальные, а люди мотивированы поступать как все.

Византийский генерал[43], направляющий свои войска вперед. Цель здесь – не только поднять дух солдат, но и убедить их, что другие солдаты тоже воспряли духом и готовы броситься в бой, поэтому им не придется идти на заведомое самоубийство, атакуя поодиночке

ВАЖНО ОТМЕТИТЬ: эта концепция координационных флажков охватывает всё, что мы подразумеваем под «управлением». В сценариях, где координационных игр (или, еще шире, игр с множественными равновесиями) не существует, концепция управления бессмысленна.

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

Таким образом, у нас сформировалось два вопроса к управлению:

▒ Что должно быть на первом уровне? То есть какие функции должны быть встроены в сам исходный протокол; как они влияют на возможность вносить в него формульные (то есть похожие на функции принятия решений) изменения и на уровень полномочий разных агентов совершать разные действия?

▒ Что должно быть на втором уровне? То есть на каких координационных институтах стоит фокусировать внимание людей?

РОЛЬ ГОЛОСОВАНИЯ МОНЕТАМИ

Ethereum также прибегал к голосованию монетами, в частности:

▒ ГОЛОСОВАНИЯ ПО ПРЕДЛОЖЕНИЯМ THE DAO: https://daostats.github.io/proposals.html

▒ ГОЛОСОВАНИЕ НА CARBONVOTE ПО THE DAO: http://v1.carbonvote.com/

▒ ГОЛОСОВАНИЕ НА CARBONVOTE ПО EIP 186/649/669: http://carbonvote.com/

Все это – примеры слабо связанного голосования монетами, то есть голосования монетами на втором уровне в качестве координационного института. В Ethereum нет примеров тесно связанного голосования монетами (то есть голосования монетами на первом уровне в качестве внутрипротокольной функции), хотя там есть пример тесно связанного голосования майнеров: право майнеров голосовать за лимит газа. Очевидно, что тесно связанное голосование и слабо связанное голосование конкурируют в пространстве механизмов управления, поэтому стоит проанализировать преимущества и недостатки каждого из них.

Эти подходы совершенно эквивалентны, если использовать их поодиночке и с нулевыми транзакционными издержками. Если слабо связанное голосование одобрит изменение X, то это послужит «зеленым флажком», побуждающим всех загрузить обновление, а взбунтовавшееся меньшинство сможет просто его не загружать. Если тесно связанное голосование одобрит изменение X, то все произойдет автоматически, а бунтующее меньшинство сможет установить хардфорк, отменяющий это изменение. Однако очевидно, что создание хардфорка бывает сопряжено с ненулевыми транзакционными издержками, и здесь начинаются серьезные различия.

Одно очень простое и важное различие заключается в том, что при тесно связанном голосовании блокчейн по умолчанию принимает решение большинства, а меньшинству придется очень постараться скоординировать хардфорк таким образом, чтобы сохранить текущие свойства блокчейна; в свою очередь, слабо связанное голосование – лишь инструмент координации, который поручает пользователям загрузить и запустить программное обеспечение, реализующее тот или иной форк. Но есть и множество других различий. Теперь давайте рассмотрим некоторые аргументы против голосования и разберемся, как каждый аргумент работает в голосовании первого и второго уровней.

НИЗКАЯ ЯВКА

Механизмы голосования монетами, где бы их ни пытались опробовать, критикуют за очень низкую явку участников. В голосовании на Carbonvote по поводу The DAO активность проявили всего 4,5 % пользователей.

Кроме того, средства распределяются очень неравномерно. Действие двух этих факторов лучше всего иллюстрирует изображение, созданное критиком форка The DAO.

EIP 186 на Carbonvote собрало голосов на ~2,7 миллиона ETH, а по предложениям The DAO проголосовало не более 10 %. И это – проблема не только Ethereum: даже в Bitshares, построенной вокруг идеи голосования, итоговое решение набрало всего 17 % голосов, а в Lisk – почти 30 %, хотя, как мы увидим позже, в этих системах есть и другие недостатки.

Отсюда следует два вывода. Во-первых, голосование вряд ли будет выглядеть легитимным, если оно отражает мнение лишь небольшого процента людей. Во-вторых, злоумышленник может повлиять на ход голосования, обладая даже малой долей всех монет. Эти проблемы характерны для любых голосований: и тесно связанных, и слабо связанных.

ТЕОРЕТИКО-ИГРОВЫЕ АТАКИ

Помимо «большого взлома», захватившего внимание всех СМИ, у The DAO были и другие, менее серьезные недостатки, связанные с теорией игр. Но это – только верхушка айсберга. Эти механизмы даже при идеальной до мельчайших деталей реализации имеют один большой недостаток: возможность отдельного избирателя повлиять на результат голосования слишком мала, чтобы обеспечить ему личный стимул проголосовать честно. А если доля пользователя в блокчейне невелика, его стимул проголосовать честно вдвойне ничтожен. Следовательно, даже маленькой взятки, распределенной между всеми участниками, может быть достаточно, чтобы повлиять на их решение, например, не одобрить предложение.

Здесь вы можете возразить и сказать, что люди – не злобные эгоисты, которые думают только о наживе; что не каждый за взятку в полдоллара проголосует за выделение Джошу Гарзе[44] двадцати миллионов долларов, потому что его шансы на что-то повлиять ничтожны, и что с большей вероятностью люди откажутся совершать такой гнусный поступок. На это замечание можно ответить двояким образом.

Во-первых, некоторые способы получить «взятку» выглядят вполне честно. Например, биржа может предлагать проценты по депозитам (или, что еще сложнее разоблачить, на свои деньги создавать отличный интерфейс и функции), а оператор биржи использует эту огромную сумму депозитов, чтобы проголосовать в своих интересах. Биржам выгоден хаос, поэтому их стимулы явно не совпадают с интересами пользователей и держателей монет.

Во-вторых, и это особенно неприятно, людей, кажется, действительно влечет прибыль – по крайней мере, в качестве держателей криптотокенов, и они не видят ничего плохого или эгоистичного в получении одной-двух взяток. В качестве «экспоната А» рассмотрим ситуацию с Lisk, где пул делегатов, похоже, захватили две крупные «политические партии», которые в открытую подкупают держателей монет, а также требуют, чтобы каждый член партии голосовал за других.

Вот LiskElite, куда входят 55 делегатов (из 101).

А вот LiskGDT, куда входят 33 делегата.

Экспонат Б – Ark, где некоторые пользователи получают взятки.

Обратите внимание, что здесь есть ключевое различие между слабо связанными и тесно связанными голосованиями. В первом случае прямой или косвенный подкуп избирателей тоже возможен, но если сообщество согласится, что какое-то предложение или набор голосов – часть теоретико-игровой атаки, они смогут договориться коллективно его игнорировать. В некотором смысле это уже произошло – Carbonvote содержит черный список адресов, соответствующих адресам известных бирж, и их голоса не учитываются. При тесно связанном голосовании создать такого рода черный список на уровне протокола невозможно, поскольку согласование включения в черный список – само по себе решение по управлению блокчейном. Но поскольку черный список представляет собой инструмент голосования, который создается сообществом и лишь косвенно влияет на изменения протокола, сообщество может просто не принять инструменты голосования, содержащие некачественные черные списки.

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

НЕРЕПРЕЗЕНТАТИВНОСТЬ

Еще один важный аргумент против голосований заключается в том, что не у всех пользователей есть монеты и интересы тех, у кого их нет, могут расходиться с интересами держателей монет, обладающих правом голоса. В случае чистых криптовалют вроде биткойна два сценария их использования – в качестве хранения («ходлить»)[45] и средства обмена («купить кофе») – конфликтуют между собой, поскольку в первом случае гораздо важнее безопасность, а во втором – удобство. В случае Ethereum этот конфликт лишь усугубляется, поскольку многие используют платформу в целях, никак не связанных с валютой эфир (например, CryptoKitties) или даже просто с ценными цифровыми активами (например, ENS).

Кроме того, даже если держатели монет – единственный значимый класс пользователей (например, если представить себе криптовалюту, единственная цель которой – стать следующим цифровым золотом), остается проблема, связанная с тем, что при голосовании монетами голоса богатых держателей будут весомей остальных. В результате этого централизация владения активом приведет к беспрепятственной централизации принятия решений. Другими словами…

Эта критика в равной степени справедлива для слабо связанного и тесно связанного голосования; однако слабо связанное голосование более восприимчиво к компромиссам, которые смягчают недостаточный уровень репрезентативности, что мы обсудим немного позже.

ЦЕНТРАЛИЗАЦИЯ

Взглянем на реальный эксперимент с тесно связанным голосованием по лимиту газа, который мы сейчас проводим в Ethereum. Вот динамика лимита газа за последние два года.

График средних показателей лимита газа. Источник: Etherscan.io

Можно заметить, что кривая немного напоминает другой график, возможно, хорошо вам знакомый:

И тот и другой похожи на магические числа, которые создает и систематически пересматривает довольно централизованная группа людей, сидящих в одной комнате. Что происходит в первом случае? Чаще всего майнеры выбирают одобренный сообществом путь, который, как и в случае хардфорков, определяется социальным консенсусом (поддержка главных разработчиков, оценки на Reddit и прочее; в Ethereum вопрос лимита газа никогда не был настолько спорным, чтобы решать его серьезными мерами вроде голосования монетами).

Следовательно, не совсем ясно, может ли голосование быть действительно децентрализованным, если из-за недостатка технических знаний избиратели просто полагаются на слова одной доминирующей группы экспертов. Опять же, эта критика в равной степени актуальна и для тесно, и для слабо связанных голосований.

Максимальная ставка подоходного налога: 1913–2003

Апдейт. С момента написания этой статьи майнерам Ethereum, похоже, удалось увеличить лимит газа с 6,7 миллиона до 8 миллионов, даже не обсуждая это с главными разработчиками или с Ethereum Foundation. Так что надежда есть. Но для достижения цели потребуется много усилий, направленных на формирование сообщества и другую изнурительную нетехническую работу.

ЦИФРОВЫЕ КОНСТИТУЦИИ

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

В целом идея создавать нормы свойств протокола и использовать эти нормы в качестве координирующих флажков – замечательная. Так мы можем обозначить самые важные и ценные для нас свойства протокола и усложнить их изменение. Однако это именно тот способ, который подходит для слабо связанной формы (второй слой), но не для тесно связанной (первый слой).

Любую значимую норму трудно исчерпывающе сформулировать; этим отчасти сложна проблема ценности. Это верно даже для чего-то, казалось бы, совершенно недвусмысленного вроде лимита в 21 миллион монет[46]. Конечно, можно добавить строку кода assert total_supply <= 21000000 с комментарием «не удалять ни при каких обстоятельствах», но есть множество обходных путей. Например, кто-то может догадаться сделать софтфорк, который добавляет обязательную комиссию за транзакцию, пропорциональную стоимости монеты, умноженной на время с момента последней отправки монет, и это будет эквивалентно демереджу[47], что, в свою очередь, эквивалентно дефляции. Также можно внедрить другую валюту под названием «бпткойн» с 21 миллионом новых единиц и добавить функцию, при которой майнер может перехватить отправленную биткойн-транзакцию и потребовать биткойн, взамен отдав получателю бпткойн. В таком случае биткойны и бпткойны быстро станут взаимозаменяемыми, увеличив «общее предложение» до 42 миллионов без изменений той строчки кода. Обеспечить соблюдение «более мягких» норм вроде невмешательства в состояние приложения еще труднее.

Мы хотим иметь возможность заявлять, что изменение протокола, нарушающее любую из этих гарантий, должно рассматриваться как незаконное – здесь нужен координационный орган, который будет размахивать красным флажком, – даже если оно будет одобрено голосованием. Также мы хотим иметь возможность заявлять, что изменение протокола, которое следует букве правил, но явно нарушает их дух, все равно следует рассматривать как незаконное. И лучший способ добиться этого – иметь правила на втором уровне, то есть в сознании членов сообщества, а не в коде протокола.

НАВСТРЕЧУ БАЛАНСУ

Однако я вовсе не хочу идти другим путем и утверждать, что голосования монетами или другие схемы, подобные голосованию внутри блокчейна, вообще не стоит применять в управлении. Главной альтернативой здесь кажется консенсус главных разработчиков, но и это, на мой взгляд, может представлять серьезную угрозу в тех случаях, когда режим отказа контролируют «интеллектуалы в башне из слоновой кости», которые больше заботятся об абстрактных философских вопросах и изящных технических решениях, чем о реальных повседневных проблемах вроде взаимодействия с пользователем и транзакционных сборов.

Как же решить эту дилемму? Для начала можем прислушаться к тому, что slatestarcodex[48] говорит в контексте традиционной политики:

Ошибка новичка: вы видите в какой-то системе проявления Молоха [то есть она захвачена несогласованными частными интересами] и говорите: «Хорошо, мы все исправим, установив над ней контроль другой системы. Эту другую систему мы будем контролировать, написав на ней ярко-красным маркером “НЕ СТАНОВИСЬ МОЛОХОМ”».

(«Порой капитализм приводит к плохим результатам. Давайте это исправим, установив над ним контроль правительства. Мы будем контролировать правительство, выбирая на высокие должности только добродетельных людей».)

Не утверждаю, что есть какая-то прекрасная альтернатива, но где-то будет адекватным неолиберальный подход: отыскать пару элегантных систем, которые будут оптимизироваться по разным критериям, примерно соответствующим представлениям о человеческом счастье; противопоставить их друг другу по принципу сдержек и противовесов в надежде, что они облажаются в разных местах, как в той модели швейцарского сыра[49]; обеспечить людям свободу выходить из любой системы, если та станет невыносимой, а дальше пусть культурная эволюция делает свое дело.

Кажется, в управлении блокчейном это тоже самый подходящий путь. Я выступаю за подход «многофакторного консенсуса», при котором учитываются различные координирующие флажки, механизмы и группы и окончательное решение зависит от общего результата. К таким флажкам могут относиться:

▒ дорожная карта (то есть набор идей о направлениях развития проекта, озвученных на его ранних стадиях);

▒ консенсус между доминирующими основными командами разработчиков;

▒ голосование держателей монет;

▒ голосование пользователей с помощью системы голосования, устойчивой к атакам Сивиллы;

▒ установленные правила (например, невмешательство в приложения, лимит в 21 миллион монет).

На мой взгляд, голосование монетами за то или иное предложение может стать одним из нескольких координационных институтов. Это несовершенный и нерепрезентативный сигнал, но он устойчив к Сивиллам[50] – если вы видите, что 10 миллионов ETH голосуют за данное предложение, вы не сможете отмахнуться от него со словами: «Да это просто наемные русские тролли с поддельными аккаунтами в социальных сетях». Также этот сигнал достаточно отрезан от основной команды разработчиков, чтобы при необходимости она могла провести проверку. Однако по описанным выше причинам такое голосование не должно быть единственным координационным институтом.

И в основе всего этого лежит ключевое отличие блокчейнов от традиционных систем, которое делает блокчейны такими интересными: «первый уровень» – то есть фундамент всей системы – требует, чтобы пользователи соглашались на любые изменения протокола, и при этом дает им свободу пригрозить форком, если кто-то попытается навязать враждебные, на их взгляд, изменения.

Тесно связанное голосование также допустимо в некоторых ограниченных контекстах – например, несмотря на недостатки, возможность майнеров голосовать за лимит газа неоднократно доказывала свою эффективность. Риск того, что майнеры попытаются злоупотребить своей властью, может быть ниже риска того, что какой-либо конкретный лимит газа или ограничение размера блока, жестко закодированные в протокол в самый первый день его существования, в конечном итоге приведут к серьезным проблемам. В этом случае позволять майнерам голосовать за лимит газа будет полезно. Однако «разрешение майнерам или валидаторам голосовать по нескольким конкретным параметрам, которые время от времени необходимо срочно изменить» очень далеко от предоставления им произвольного контроля над правилами протокола или позволения через голосование контролировать валидацию. И в теории, и на практике такие широкие полномочия управления внутри блокчейна могут иметь печальные последствия.

О сговорах

VITALIK.CA

3 апреля 2019 года

В последние годы наблюдается все больший интерес к координации поведения участников различных систем с помощью специально подобранных экономических стимулов и дизайна механизмов. В блокчейне дизайн механизмов прежде всего обеспечивает безопасность самой системы, подталкивая майнеров или, в случае proof of stake, валидаторов к честному поведению, но в последнее время этот подход встречается также в рынках предсказаний, «регистрах, контролируемых токенами» и других контекстах. Зарождающееся движение RadicalxChange плодит эксперименты с налогами Харбергера[51], квадратичным голосованием и квадратичным финансированием, а совсем недавно возрос интерес к идее вознаграждать пользователей токенами за создание качественного контента в социальных сетях. В теории все это звучит неплохо, но на практике возникает ряд проблем, с которыми нужно считаться и с которыми, на мой взгляд, справляться мы еще не научились.

Например, недавно китайская платформа Bihu опробовала такую модель: чтобы мотивировать пользователей создавать контент, она запустила механизм вознаграждения лучших постов монетами. Работает это примерно так: если пользователь платформы держит токены KEY, он может голосовать ими за статьи. «Проголосовать» можно k раз в день, и «вес» каждого голоса пропорционален количеству токенов, которыми проголосовал пользователь. Статьи с наибольшим количеством голосов попадают на более заметные места платформы, а их авторы получают вознаграждение в KEY, примерно пропорциональное количеству голосов, поддержавших статью. Это очень упрощенное описание, и в действительности механизм содержит некоторые нелинейности, но на его базовый принцип работы они существенно не влияют. Ценность KEY определяется тем, что его можно по-разному использовать внутри платформы, но особенно тем, что часть доходов от рекламы уходит на покупку и сжигание KEY (именно за такой подход – вместо создания еще одного внутреннего токена – проект заслуживает особой похвалы!).

Подобный дизайн далеко не уникален: многие прибегают и к похожим, и к совершенно другим механизмам, чтобы подтолкнуть пользователей к созданию онлайн-контента. И в данном случае эту конкретную платформу уже активно используют.

Несколько месяцев назад в сабреддите /r/ethtrader, посвященном трейдингу на Ethereum, появилась схожая экспериментальная функция: за популярные комментарии пользователи еженедельно получают токены – так называемые пончики. Сумма награды пользователя пропорциональна количеству голосов у его комментариев. На эти пончики можно купить право определять содержимое баннера в шапке сабреддита, а также голосовать в опросах сообщества. Однако здесь есть отличия от схемы с KEY: когда A поддерживает Б и Б получает за это вознаграждение, оно не будет пропорционально запасу монет А, и голоса всех аккаунтов Reddit будут весить одинаково.

Такого рода эксперименты, цель которых – мотивировать пользователей создавать качественный контент, избегая при этом известных проблем, типичных для донатов/микропожертвований, крайне ценны. Недостаточное поощрение пользовательского интернет-контента – серьезная проблема общества в целом, и то, что с помощью дизайна механизмов криптосообщества делаются попытки ее решить, не может не радовать. Но, к сожалению, эти системы также уязвимы для атак.

ГОЛОСОВАНИЕ ЗА СЕБЯ, ПЛУТОКРАТИЯ И ВЗЯТКИ

Описанную выше модель можно было бы «взломать» следующим образом. Предположим, какой-либо богатый пользователь приобретает N токенов, и в результате каждый из k голосов этого пользователя дает получателю вознаграждение в размере n × q (вероятно, q – очень небольшое число вроде 0,000001). Этот пользователь создает сокпаппетов[52] и голосует за них, получая через них вознаграждение в размере N × k × q. Затем система просто сворачивается вокруг каждого пользователя с «процентной ставкой» k × q за этот период, и больше механизм ничего не выполняет.

Разработчики Bihu, по-видимому, предвидели это и добавили к механизму суперлинейную логику, по которой статьи, поддержанные бóльшим количеством KEY, получают непропорционально бóльшую награду. Предположительно это должно стимулировать продвижение самых популярных постов вместо голосования за себя. Такая практика – добавлять суперлинейности, чтобы голосование за себя не подрывало всю систему, – характерна для систем управления с голосованием монетами. Большинство схем DPoS имеют ограниченное количество слотов для делегатов, и пользователи, не набравшие достаточного количества голосов для попадания в один из слотов, получают нулевое вознаграждение, что дает аналогичный эффект. Но и у таких решений есть два слабых места.

▒ Они субсидируют плутократию, поскольку у очень богатых людей и картелей будет все еще достаточно средств для раскрутки своих постов голосованием за себя.

▒ Их можно обойти, подкупив других пользователей, чтобы они массово голосовали за конкретного кандидата.

Сценарий с подкупом может звучать надуманно (кто здесь хоть раз брал взятку в реальной жизни?), но в зрелой экосистеме он гораздо реалистичнее, чем кажется. Как правило, подкуп в среде блокчейна прикрывается эвфемизмами: для операторов это не взятка, а «пул ставок», который «делится дивидендами». В иных случаях взятки просто выдают за что-то другое: представьте себе криптовалютную биржу, которая предлагает нулевую комиссию и тратит силы на создание невероятно качественного пользовательского интерфейса, но при этом даже не пытается получить прибыль; вместо этого она использует средства, внесенные пользователями, для участия в различных системах голосования монетами. Также неизбежно найдутся люди, для которых внутригрупповой сговор – совершенно нормальное явление. Вспомним хотя бы недавний скандал с участием EOS DPoS.

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

В рамках эксперимента /r/ethtrader сообщество опасалось, что люди начнут покупать пончики, чтобы влиять на голосования по вопросам управления, и поэтому решило допускать к участию в голосовании только заблокированные (то есть не подлежащие продаже) пончики. Но для совершения атаки даже не обязательно тратиться на пончики: их можно арендовать (эту атаку можно рассматривать как своего рода скрытую взятку). Если злоумышленник уже держит ETH, он может использовать их в качестве залога на платформе вроде Compound, чтобы получить кредит в виде определенного токена и использовать эти средства на свое усмотрение, в том числе для участия в голосованиях. Когда токены выполнят свою задачу, их можно выменять обратно и вернуть залог – и все это даже без секундного риска изменения цены токена, с помощью которого злоумышленник только что повлиял на голосование, даже если механизм голосования включает временную заморозку (как, например, в Bihu). В каждом случае на удивление трудно избежать проблем из-за взяток и доминирования участников с хорошими связями и деньгами.

ИДЕНТИФИКАЦИЯ

Некоторые системы пытаются смягчить плутократические аспекты голосования монетами за счет системы идентификации. В случае системы пончиков /r/ethtrader, хотя голосования по вопросам управления и проводятся с помощью монет, механизм, определяющий, сколько пончиков (то есть монет) вы изначально получите, основан на аккаунтах Reddit: 1 голос с 1 аккаунта Reddit = N заработанных пончиков. В идеале система идентификации должна работать так, чтобы получить одну идентификацию было относительно легко, а много – трудно. В системе с пончиками в /r/ethtrader используются учетные записи на Reddit, в устройстве CRL-финансирования Gitcoin[53] – учетные записи на GitHub. Но идентификация, по крайней мере в ее сегодняшнем виде, – вещь хрупкая…

Лень сооружать огромный стеллаж с телефонами? Пожалуйста, есть и такой вариант.

Не лишним будет напомнить: сомнительные сайты могут вас обмануть (а могут и не обмануть). Изучайте их как можно внимательнее

Пожалуй, провести атаку через тысячи поддельных марионеточных аккаунтов даже проще, чем заморачиваться с подкупом людей. Если вы думаете, что решить эту проблему можно через повышение безопасности за счет перехода к идентификации на государственном уровне, имейте в виду, что специализированные преступные организации давно к этому приспособились и, даже если ликвидировать их незаконных представителей, враждебные правительства могут штамповать поддельные паспорта миллионами, если мы вдруг умудримся создать систему, в которой это будет выгодно. И мы еще не говорим об атаках в противоположном направлении, когда учреждения, выдающие удостоверения личности, перекрывают маргинализированным сообществам кислород, отказываясь выдавать им документы…

СГОВОР

С учетом того, как часто механизмы дают сбой при появлении множественных идентификаций или даже ликвидных рынков, напрашивается вопрос: не связаны ли все эти проблемы с какой-либо общей глубинной особенностью? Я бы ответил «да», и вот в чем эта особенность: создавать механизмы с желаемыми свойствами очень сложно (если вообще возможно) в тех моделях, где участники могут вступать в сговор (верно и обратное). Вероятно, большинство примерно понимает суть этого принципа; на его базе складываются нормы и даже законы, способствующие развитию конкурентных рынков, а также пресекающие создание ценовых картелей, покупку и продажу голосов и взяточничество. Но на деле все гораздо глубже и глобальнее.

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

К этим изначально нестабильным играм относятся игры большинства, то есть игры с агентами N, где любая подгруппа, включающая больше половины от всех участников, может получить фиксированное вознаграждение и разделить его между собой. Это жутко напоминает многие ситуации в корпоративном управлении, политике и других областях человеческой жизни. Другими словами: если существует фиксированный резерв ресурсов и установленный механизм их распределения и при этом ничто не мешает 51 % участников сговориться и взять его под контроль, то, независимо от текущей конфигурации, всегда возможен выгодный для этих участников заговор. Но этот заговор, в свою очередь, уязвим для нового потенциального заговора, в котором могут принять участие и заговорщики, и жертвы предыдущего… и так далее в том же духе.

Факт нестабильности игр большинства в рамках теории кооперативных игр, пожалуй, сильно недооценивается, а ведь это – упрощенная общая математическая модель, которая объясняет, почему в политике, возможно, не может быть никакого «конца истории» и удовлетворяющей всех системы. Но лично я нахожу ее более полезной, чем, например, теорема Эрроу[54].

Обойти эту проблему можно двумя путями. Первый – попытаться ограничиться классом игр, которые «не требуют идентификации» и «не допускают сговоров», чтобы не пришлось беспокоиться ни о взятках, ни об идентификации. Второй – напрямую противостоять проблемам идентификации и сговора и решить их достаточно качественно, чтобы без опаски внедрять не защищенные от сговоров игры, которые могут предложить больше возможностей.

ДИЗАЙН ИГР, НЕ ТРЕБУЮЩИХ ИДЕНТИФИКАЦИИ И НЕ ДОПУСКАЮЩИХ СГОВОРОВ

Набор игр, которые не требуют идентификации личности и не допускают сговоров, весьма широк. Даже proof of work защищен от сговоров до тех пор, пока у одного участника не будет ~23,21 % от общей хеш-мощности, и этот предел при грамотном проектировании можно увеличить до 50 %. Конкурентные рынки тоже защищены от сговоров в достаточно высоких пределах, которых в одних случаях достигнуть легко, а в других – сложно.

Для систем управления и курирования контента (и то и другое – лишь частные случаи общей проблемы определения общественных благ и общественных зол) больше всего подходит обширный класс механизмов, основанных на футархии, которую обычно описывают как «управление за счет рынка предсказаний», хотя я бы также включил в этот класс использование страховых депозитов. В самой общей форме суть работы механизмов футархии заключается в том, что «голосование» в нем – не просто выражение мнения, но и предсказание, причем за верные предсказания полагается награда, а за ложные – штраф. Например, предложенные мной полуцентрализованные «рынки предсказаний для ДАО по курированию контента» работают следующим образом: любой участник может повысить или понизить рейтинг представленного контента; контент, набравший больше голосов, становится более заметным; окончательные решения принимает «комиссия модерации». У каждого поста есть небольшой шанс (пропорциональный его общему количеству голосов «за» + «против») на то, что комиссия модерации вынесет по нему окончательное решение. Если она одобрит публикацию, то все проголосовавшие «за» получат вознаграждение, а проголосовавшие «против» должны будут выплатить штраф, в случае же неодобрения все будет наоборот. Такой механизм стимулирует участников попытаться «предсказать» суждения группы модераторов.

Еще один возможный пример футархии – система управления для проекта с токеном, при которой любой голосующий за решение в случае его победы обязан купить некоторое количество токенов проекта по цене на начало голосования. Таким образом, голосовать за плохое решение невыгодно, и если это плохое решение побеждает, то все, кто его поддержал, по сути дела выкупают токены у всех остальных участников проекта. Это делает голосование за «неправильное» решение очень затратным, исключая возможность принять выгодное для себя решение за относительно небольшую взятку.

Графическое описание одной из форм футархии, которая создает два рынка, представляющих два «возможных будущих мира», и выбирает тот, который обойдется дешевле

Однако спектр возможностей у механизмов такого типа ограничен. В приведенном выше примере курирования контента мы на самом деле не решаем проблему управления, а просто расширяем функциональность механизма управления, который уже считается надежным. Можно было бы попытаться заменить комиссию модерации рынком предсказаний цены токенизированного рекламного пространства, но на практике цены – показатель со слишком высоким уровнем шума, который подходит только для очень крупных и разовых решений. И часто ценность, которую мы стремимся максимально увеличить, имеет мало общего с максимальной стоимостью токена.

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

Суть заключается в следующем. Предположим, есть некий автор, который создает общественное благо (например, серию постов в блоге), ценное для каждого члена сообщества из 10 000 человек. Предположим, существует некий механизм, который позволяет членам сообщества совершить действие, в результате которого автор получит вознаграждение в размере $1. Чтобы механизм работал, стоимость выполнения этого действия должна быть намного ниже $1, ведь в противном случае выгода для членов сообщества от поддержки автора будет намного меньше стоимости его поддержки (если только они не запредельно альтруистичны): тогда систему постигнет трагедия общих ресурсов и автора никто не поддержит. Следовательно, должен существовать способ дать автору возможность получить $1 при затратах намного ниже $1. Но теперь предположим, что существует также сообщество, которое состоит из 10 000 фейковых сокпаппетов, принадлежащих одному богатому злоумышленнику. Это сообщество выполняет все те же действия, что и реальное сообщество, но поддерживает не автора, а другого фейкового сокпаппета, также принадлежащего злоумышленнику. Если член «реального сообщества» мог дать автору $1 при личных затратах намного меньших, чем $1, то злоумышленник сможет снова и снова давать себе $1 по цене намного меньшей, чем $1, тем самым истощая ресурсы финансирования системы. Любой механизм, который может помочь действительно недостаточно скоординированным сторонам координировать свои действия, без надлежащих мер безопасности также может помочь скоординированным сторонам (например, множеству аккаунтов, контролируемых одним и тем же лицом) скоординироваться сверх меры, чтобы выкачивать из системы деньги.

Аналогичная проблема возникает, когда цель заключается не в финансировании, а в определении того, какой контент должен быть наиболее заметным. Как вы думаете, какой контент получил бы больше поддержки в долларах: неоспоримо качественная статья в блоге, полезная для тысяч людей, но каждому отдельному человеку приносящая относительно небольшую пользу, или это?

Или, может быть, это?[55]

Те, кто следит за политикой «реального мира», могут также указать на еще один вид контента, выгодный для крайне централизованных игроков: манипуляции социальными сетями со стороны враждебных правительств. В конечном счете как централизованные, так и децентрализованные системы сталкиваются с одной и той же фундаментальной проблемой того, что «рынок идей» (и общественных благ в целом) очень далек от «эффективного рынка» в том смысле, в каком экономисты обычно используют этот термин, и это приводит к недостаточному производству общественных благ даже в «мирное время», не говоря уже об уязвимости к активным атакам. Это слишком сложная проблема.

Вышесказанное также объясняет, почему системы голосования на основе монет (вроде Bihu) имеют одно важное преимущество перед системами, основанными на идентификации (вроде Gitcoin CLR или эксперимента с пончиками /r/ethtrader): здесь, по крайней мере, нет никакой выгоды от массовой скупки аккаунтов, поскольку эффективность ваших действий пропорциональна вашему количеству монет, скольким бы аккаунтам вся эта сумма ни принадлежала. Однако механизмы, которые не используют идентификацию и полагаются только на монеты, принципиально не способны решить проблему вытеснения разрозненных сообществ, пытающихся поддерживать общественные блага, узкими группами интересов: механизм без идентификации, который расширяет возможности распределенных сообществ, не может помешать централизованным плутократам, притворяющимся распределенными сообществами, обрести еще более широкие возможности.

Но играм по созданию общественных благ угрожают не только проблемы с идентификацией, но и взятки. Чтобы понять почему, вернемся к примеру выше, но теперь представим, что вместо «фейкового сообщества» из 10 001 сокпаппета у злоумышленника есть только один аккаунт, получающий финансирование, а остальные 10 000 аккаунтов – реальные пользователи, каждый из которых получает взятку в размере $0,01 за совершение действия, благодаря которому злоумышленник получит $1. Как упоминалось выше, подобную систему взяток можно отлично замаскировать, например с помощью сторонних кастодиальных сервисов[56], которые голосуют от имени пользователя в обмен на удобство. В случае «голосования монетами» замаскировать взятку еще проще: достаточно арендовать монеты на бирже и с их помощью участвовать в голосованиях. Следовательно, если некоторые виды игр, особенно основанные на рынках предсказаний или страховых депозитах, и можно обезопасить от сговоров и избавить от идентификации, то общее финансирование общественных благ, по-видимому, относится к классу проблем, где подходы, не требующие идентификации и не допускающие сговоров, к сожалению, работать не будут.

СОПРОТИВЛЕНИЕ СГОВОРУ И ИДЕНТИФИКАЦИЯ

Есть и другой подход – попытаться разобраться с проблемой идентификации напрямую. Как сказано выше, переход на более безопасные централизованные системы идентификации, то есть паспорта и другие государственные удостоверения личности, в крупных масштабах нежизнеспособен. В условиях серьезного стимулирования такой подход очень уязвим, причем опасность исходит даже от самих правительств! Скорее стоит говорить об «идентификации» в виде многофакторного набора утверждений о том, что субъект, идентифицируемый некоторым набором сообщений, действительно является уникальной личностью. Одной из первых протомоделей такого рода сетевой идентификации стало социальное восстановление в блокчейн-телефоне HTC.

Идея в том, что ваш приватный ключ находится в секретном общем доступе для пяти доверенных контактов и есть математическая гарантия, что трое из них могут восстановить исходный ключ, а двое или меньше – нет. Это квалифицируется как «система идентификации» – именно пять ваших друзей определяют, действительно ли тот, кто пытается восстановить вашу учетную запись, – это и есть вы. Однако эта система идентификации имеет специальное назначение и работает именно с проблемой безопасности личной учетной записи, которая отличается от проблемы идентификации уникальных людей (и намного проще ее!). Тем не менее общую модель, где люди что-то друг о друге заявляют, вполне можно встроить в некую более надежную модель идентификации. При желании эти системы можно было бы дополнить за счет механизма «футархии», описанного выше: если кто-то утверждает, что другой – некий уникальный человек, а третий с этим не согласен и обе стороны готовы внести залог для разбирательства по этому вопросу, система может созвать судебную коллегию, которая вынесет окончательное решение.

Но есть еще одна важная деталь: нам нужна идентификация, которую нельзя незаметно арендовать или продать. Ясно, что невозможно помешать людям заключать сделки вроде «ты мне – 50 долларов, я тебе – свой ключ», но можно попробовать сделать так, чтобы подобные сделки не внушали доверия – чтобы продавец мог легко обмануть покупателя и дать ему неработающий ключ. Например, можно дать владельцу ключа возможность отправлять транзакцию, чтобы аннулировать ключ и заменить его любым другим, причем так, чтобы это было невозможно доказать. Один из простейших способов сделать это – либо привлечь доверенную сторону, которая будет выполнять вычисления и просто публиковать результаты (наряду с доказательствами с нулевым разглашением, подтверждающими результаты, так что доверенной стороне будут доверять только конфиденциальность, но не целостность данных), либо децентрализовать ту же функциональность с помощью многосторонних вычислений. Такие подходы не решат проблему сговора окончательно – всегда найдется группа друзей, которая, сидя на одном диване, сможет координировать голосование, – но так можно хотя бы сократить перспективу сговора до приемлемой степени, в которой это не спровоцирует полный отказ систем.

Существует еще одна проблема: исходное распределение ключа. Что произойдет, если пользователь идентифицируется в сторонней службе хранения, которая затем сохранит закрытый ключ и использует его для тайного голосования? Это была бы скрытая взятка, обмен права голоса пользователя на предоставление ему удобного сервиса. Более того, если система безопасна в том смысле, что она успешно предотвращает взятки недоказанностью голосов, скрытые голоса сторонних хостингов также нельзя обнаружить. По-видимому, обойти эту проблему можно лишь через… личную верификацию. Например, можно было бы создать экосистему «эмитентов», где каждый эмитент выпускает смарт-карты с приватными ключами, которые пользователь может в любой момент загрузить на свой смартфон и отправить сообщение о замене ключа другим, никому не раскрытым ключом. Этими эмитентами могут быть встречи и конференции или, возможно, отдельные лица, доверие к которым подтверждено через определенный механизм голосования.

Разработать инфраструктуру для создания устойчивых к сговору механизмов, включая надежные децентрализованные системы идентификации, – очень сложная задача, но если мы действительно хотим раскрыть потенциал таких механизмов, нам неизбежно придется приложить для этого максимум усилий. Сегодня отношение к компьютерной безопасности, например в рамках внедрения онлайн-голосования, сводится к простому «не стоит туда лезть». Но если мы хотим расширить роль сходных с голосованием механизмов, включая их более продвинутые формы вроде квадратичного голосования и квадратичного финансирования, нам ничего не остается, кроме как противостоять вызову напрямую и надеяться, что хотя бы в отдельных случаях получится создать что-то достаточно безопасное.

О свободе слова

VITALIK.CA

16 апреля 2019 года

Утверждение может быть одновременно и верным, и опасным. Предыдущее предложение – пример именно такого утверждения.

Дэвид Фридман

Уже 20 лет вопрос свободы слова занимает умы интернет-сообществ, а для криптовалютных и блокчейн-сообществ он важен вдвойне, ведь смысл их существования во многом и заключается в борьбе с цензурой. Вместе с тем по мере стремительного роста этих сообществ, когда повышаются финансовые и социальные ставки, становится все сложнее определить, где находятся границы свободы слова и как ее можно реализовать. Цель этой статьи – распутать некоторые противоречия и выяснить, что на самом деле стоит за понятием «свободы слова».

«ЗАКОНЫ О СВОБОДЕ СЛОВА» И «СВОБОДА СЛОВА»

К сожалению, чаще всего я слышу утверждение, что «свобода слова» – это исключительно юридическое ограничение полномочий государства, а отдельные субъекты вроде корпораций, частных платформ, интернет-форумов и конференций здесь ни при чем. Одним из крупнейших примеров «частной цензуры» в криптосообществах стало решение Theymos – модератора сабреддита /r/bitcoin – ввести жесткий запрет на аргументы в пользу увеличения пропускной способности блокчейна Bitcoin через хардфорк.

Стратегия тех, кто защищал цензуру со стороны Theymos, строилась на том, что жесткая модерация здесь допустима, поскольку /r/bitcoin – это его «личный форум» и он волен делать с ним что угодно, а несогласные могут просто перейти на другие форумы.

Второй уровень решает вопрос масштабируемости, и я не понимаю, почему должно быть иначе.

И правда, Theymos действительно не нарушал никаких законов тем, что модерировал собственный форум по своему усмотрению. Но большинство все же заметило здесь попытки ограничения свободы слова. Так что же это было? Прежде всего крайне важно понимать, что свобода слова – это не только государственный закон, но и социальный принцип. И главная цель этого социального принципа аналогична главной цели закона: способствовать созданию среды, где побеждают хорошие идеи, а не идеи, которые нравятся тем, кто находится у власти. Защищаться нужно не только от власти государства, но и от власти корпорации увольнять кого угодно; от власти модератора интернет-форума удалять любые посты из ветки обсуждений и от многих других видов власти – мягкой и твердой.

Опишу основополагающий социальный принцип свободы слова цитатой Элиезера Юдковского[57]:

В человеческом искусстве рационального мышления существует очень мало запретов без каких-либо исключений, без «если», «и» или «но». Но вот одно из них. Ответ на плохой аргумент – контраргумент. Не пуля. Никогда. Самое что ни на есть никогда.

Эту мысль развивает Slate Star Codex[58]:

Что означает «пуля» в приведенной выше цитате? Попадают ли под это определение другие снаряды? Стрелы? Валуны, выпущенные из катапульт? А как насчет оружия ближнего боя – меча или булавы? Где проходит черта, за которой начинаются «недопустимые ответы на аргумент»? Хороший ответ на аргумент – это тот, который обращается к самой идее, а плохой – тот, который стремится ее подавить. Если вы обращаетесь к идее, ваш успех будет зависеть от того, насколько она хороша, а если пытаетесь ее подавить – от того, насколько вы сильны и сколькими вилами и факелами сможете вооружиться в кратчайшие сроки. Пуля – хороший способ подавить идею, игнорируя ее суть. С тем же успехом можно стрелять камнями из катапульты, рубить людей на кусочки мечом или собирать толпы, вооруженные вилами. Уволить кого-то за приверженность определенной идее – это тоже способ подавить идею, не рассматривая ее суть.

С другой стороны, некоторые рассматривают подобные ограничения как способ создания «безопасных пространств», где люди, по каким-то причинам не принимающие те или иные суждения, объединяются и эти суждения пресекают. Пожалуй, самое безобидное из подобных пространств – ethresear.ch, где посты удаляют просто потому, что они «не по теме» и отвлекают от основной дискуссии. Но у концепции «безопасных пространств» есть и темная сторона. Как пишет Кен Уайт[59]:

Это может прозвучать неожиданно, но я сторонник «безопасных пространств». Я поддерживаю их, потому что поддерживаю свободу ассоциаций. Безопасные пространства, организованные согласно их изначальной задумке, – это просто одно из воплощений этой свободы… Но не все понимают концепцию безопасных пространств именно так. Некоторые берут ее на вооружение, чтобы присвоить публичные пространства и навязать их участникам свои правила. Это уже не имеет никакого отношения к свободе ассоциаций.

Так-так. То есть совершенно нормально создавать где-то в укромном уголке свое безопасное пространство, но еще существует понятие «публичное пространство», и пытаться превратить публичное пространство в безопасное в своих личных интересах – неправильно. Тогда что же такое «публичное пространство»? Совершенно очевидно, что публичное пространство – это не только пространство, «которое принадлежит государству и/или им управляется». Довольно широко распространены и публичные пространства с частным владельцем. Это работает даже на неформальном уровне: нравственная интуиция подсказывает нам, что ущемления вроде гендерной и расовой дискриминации со стороны отдельного человека не так страшны, как, скажем, со стороны торгового центра. Возвращаясь к /r/bitcoin, его с уверенностью можно назвать публичным пространством, независимо от того, кто технически занимает позицию главного модератора сабреддита. Вот несколько весомых аргументов.

▒ Он находится в «премиальной позиции»: благодаря слову «биткойн» люди считают /r/bitcoin главным пространством для обсуждения этой темы.

▒ Этот форум приобрел свою репутацию благодаря не только Theymos, но и тысячам людей, которые приходили сюда обсуждать биткойн, подразумевая, что это публичное пространство и оно будет таковым оставаться.

▒ Изменение правил игры по инициативе Theymos стало неожиданностью для многих, и предвидеть его было невозможно.

Если бы вместо этого Theymos создал сабреддит /r/bitcoinsmallblockers и открыто заявил, что это – курируемое пространство для сторонников небольших блоков и подстрекательство к сомнительным хардфоркам здесь не приветствуется, то вряд ли к нему возникли бы какие-то претензии. Кто-то мог бы поспорить с его идеологией, но единицы (по крайней мере в блокчейн-сообществах) стали бы заявлять, что приверженцы неприемлемой для них идеологии не должны иметь пространства для внутренних дискуссий. Но в реальности Theymos попытался «присвоить публичное пространство и навязать его участникам свои правила». И вот что мы теперь имеем: раскол в блокчейн-сообществе по вопросу размера блоков; крайне враждебный форк и разрыв цепочки, а также «холодный мир» между Bitcoin и Bitcoin Cash[60].

ДЕПЛАТФОРМИНГ

Около года назад на конференции Deconomy[61] я публично уличил Крейга Райта – мошенника, который выдавал себя за Сатоши Накамото. Свое объяснение бессмысленности его утверждений я закончил вопросом: «Почему этому мошеннику разрешили выступить на этой конференции?»

Разумеется, после этого со стороны единомышленников Крейга Райта на меня посыпались обвинения в… цензуре.

Была ли это попытка «заткнуть рот» Крейгу Райту? Я так не думаю. Можно аргументировать это тем, что «Deconomy – не публичное пространство», но еще весомей другой аргумент: конференция по своей сути фундаментально отличается от интернет-форума. На интернет-форуме можно попытаться создать нейтральное пространство для дискуссий и размещать там что угодно, а конференция – это в высшей степени курируемое мероприятие, где количество мест и время выступлений ограничены, а все внимание направлено на тех счастливчиков, которым достался микрофон. Конференция – это редакторская подборка от организаторов, сделанная по принципу «Вот некоторые идеи и взгляды, о которых, как нам кажется, люди должны узнать». Из-за ограничений по времени каждая конференция «цензурирует» практически все позиции выступающих, в этом суть такого формата, и поэтому совершенно оправданно критиковать выбор организаторов.

Это касается и других платформ, где производится какой-либо отбор. Онлайн-платформы вроде Facebook, Twitter и YouTube уже активно прибегают к отбору через алгоритмы, определяющие, какой контент будет предложен пользователю. Как правило, они исходят из эгоистических мотивов и настраивают алгоритмы на максимальное «вовлечение» пользователя, что чревато случайными побочными эффектами вроде продвижения конспирологической теории о плоской Земле. Учитывая, что эти платформы уже прибегают к (автоматизированному) селективному показу контента, вполне разумно критиковать их за то, что они не используют те же инструменты для общественно полезных целей или хотя бы для тех общественно полезных целей, по которым существует консенсус разумного большинства (например, сохранять высокий уровень интеллектуального дискурса). Наконец, эта «цензура» никому не мешает узнать версию событий от Крейга Райта, достаточно зайти на его сайт, вот он – coingeek.com. Если кто-то уже прибегает к редактуре при руководстве платформой, вполне разумно попросить их продолжить в том же духе, но только с добавлением общественно полезных критериев.

Совсем недавний пример воплощения этого принципа – кампания #DelistBSV, где несколько криптовалютных бирж, в первую очередь Binance, перестали торговать токеном BSV (форк биткойна, продвигаемый Райтом). И снова многие, даже вполне рациональные люди обвинили Binance и остальных в цензуре и сравнили их с компаниями, которые блокировали счета WikiLeaks.

Я сам выступаю против сосредоточения власти на централизованных биржах. Должен ли я теперь бороться с #DelistBSV под знаменем свободы слова? Нет, не думаю. Поддерживать эту инициативу тоже вполне нормально, но это гораздо более сложный вопрос.

Многие участники #DelistBSV, например Kraken, точно не позиционируют себя как платформы, которые работают со всеми подряд: они и до этого были избирательны в том, какие валюты принимать, а каким отказывать. Биржа Kraken поддерживает лишь около десятка криптовалют и тем самым пассивно «цензурирует» практически всех. Shapeshift поддерживает больше валют, но не SPANK и даже не KNC. В этих двух случаях делистинг BSV напоминает скорее перераспределение ограниченных ресурсов (внимания/легитимности), чем цензуру. Binance в этом плане несколько отличается: эта биржа принимает достаточно много валют, ее философия ближе к лозунгу «Берем всех подряд», к тому же у нее есть уникальный статус лидера рынка с большой ликвидностью.

И все же в пользу решения Binance говорят два фактора. Прежде всего это ограничение – ответ на действительно вредоносное применение цензуры со стороны главных членов сообщества BSV, когда они стали угрожать судом критикам вроде Питера Маккормака. В «анархической» среде, где нет согласованных представлений о норме, вполне уместны отношения в стиле «око за око», поскольку так люди будут наказаны тем способом, который (если судить по их собственным действиям) считают легитимным. Кроме того, делистинги нескольких бирж не помешают людям покупать или продавать BSV: например, биржа Coinex выказала готовность работать с этой валютой (и я бы на самом деле возражал против делистинга на биржах второго эшелона, которые «берут всех подряд»). Делистингом BSV биржи также подчеркивают явное общественное неодобрение этого проекта, а это действительно важно и полезно. Так что пока есть основания поддерживать все делистинги – хотя, если бы Binance отказалась проводить делистинг, «чтобы не ограничивать свободу», это решение тоже было бы не таким уж спорным, как кажется на первый взгляд.

В целом абсолютно разумно выступать против концентрации власти и одновременно поддерживать использование уже существующей власти в целях, которые ты считаешь общественно важными. В качестве примера из другой области можно вспомнить рассуждение Брайана Каплана о том, как поддержка открытых границ может сочетаться с поддержкой ограничений для борьбы с вирусом Эбола[62]. Критика концентрации власти подразумевает лишь противостояние тому, что человек считает в ней вредным и чрезмерным; но это не подразумевает противостояние всему, что может дать концентрация власти.

Если кому-то удастся создать полностью инклюзивную децентрализованную мультисетевую биржу, которая будет готова вести торговлю между любыми активами, то «листинг» на бирже не будет нести никакого социального месседжа, поскольку допускаться туда будут все. Я бы поддержал существование такой биржи, даже если бы там торговался токен BSV. Но в нынешних условиях я буду поддерживать решение убрать BSV с тех бирж, которые всегда были избирательны и которые придают этой валюте бóльшую легитимность, а не просто признают сам факт ее существования.

Итак, подводя итоги: цензура в публичных пространствах – это плохо, даже если это негосударственные пространства; цензура в изначально частных пространствах (особенно если эти пространства не слишком авторитетны у широкой аудитории) может быть приемлемой; отвергать проекты, чтобы перекрыть к ним доступ, недопустимо; отвергать проекты, чтобы подчеркнуть их сомнительную легитимность, может быть вполне приемлемо.

Контроль как ответственность

VITALIK.CA

9 мая 2019 года

В последние десять лет мы наблюдаем серьезные изменения в нормативно-правовой базе онлайн-сервисов и приложений. В 2000‐х годах, когда начался расцвет крупномасштабных платформ социальных сетей, никто не видел ничего плохого в массовом сборе данных. Это были времена, когда Марк Цукерберг провозгласил конец эпохи конфиденциальности, а Эрик Шмидт заявил: «Если вы не хотите, чтобы кто-то узнал о каких-то ваших действиях, возможно, вам вообще не следовало их совершать». Вполне осознанно они размышляли так: каждый бит данных о людях создает возможности для машинного обучения, любые ограничения его затрудняют, а если произойдет утечка данных, цена будет относительно невысока. Но прошло десять лет, и все изменилось.

Особенно стоит выделить несколько конкретных тенденций.

▒ Конфиденциальность. За последние десять лет по всему миру, особенно в Европе, появилось много новых законов о конфиденциальности. Самый последний из них – GDPR[63]. GDPR содержит много пунктов, но среди наиболее значимых: 1) требования к ясно выраженному согласию; 2) требование иметь законное основание для обработки данных; 3) право пользователей выгружать все свои данные; 4) право пользователей требовать, чтобы все их данные удалили. Другие юрисдикции рассматривают введение аналогичных правил.

▒ Законы о локализации данных. Индия, Россия и другие страны все чаще вводят или планируют ввести правила, по которым данные о пользователях, находящихся на территории страны, должны храниться внутри этой страны. И даже там, где подобных правил еще нет, наблюдается все большая обеспокоенность, что данные могут попасть в страны, которые предположительно недостаточно их защищают.

▒ Регулирование экономики совместного потребления. Компаниям в экономике совместного потребления – вроде Uber – сегодня трудно доказывать в судах, что при том уровне контроля над водителями, который достигается через приложения, водителей нельзя юридически рассматривать как сотрудников компании.

▒ Регулирование криптовалют. В недавнем руководстве FinCEN[64] есть попытки разъяснить, какие категории деятельности, связанной с криптовалютой, подпадают или не подпадают под действие нормативных лицензионных требований в Соединенных Штатах. Запуск электронного кошелька на сервере? Регулируется. Запуск кошелька, где пользователь сам контролирует свои средства? Не регулируется. Запуск криптовалютного миксера[65]? Если вы им управляете, то регулируется. Если вы просто пишете код… не регулируется.

Руководство по криптовалютам FinCEN писали вовсе не наобум. Скорее в нем пытались разделить приложения на две категории: те, где разработчик активно контролирует средства, и те, где у разработчика нет никакого контроля. Например, там тщательно описано, как кошельки с мультиподписью, ключи от которых хранятся и у оператора, и у пользователя, в разных случаях требуют или не требуют регулирования:

Если провайдер кошелька с мультиподписью ограничивает свою роль созданием не размещаемых на сервере кошельков, которые для проверки и завершения транзакций требуют добавить к закрытому ключу владельца кошелька второй ключ авторизации, то провайдер не будет считаться отправителем денег, поскольку он не принимает и не передает средства. С другой стороны, если… средства представлены в виде записи на счетах провайдера; если владелец не взаимодействует с платежной системой напрямую или если провайдер сохраняет полный независимый контроль над средствами, тогда провайдер также будет квалифицироваться как отправитель денежных переводов.

Хотя все это происходит в самых разных контекстах и отраслях, я бы выделил одну общую тенденцию: контроль над данными, цифровым имуществом и активностью пользователей постепенно превращается из полезного ресурса в ответственность. Раньше любой контроль приносил вам пользу: он открывал новые пути к получению дохода, если не сейчас, то в будущем. Теперь же любой контроль накладывает на вас ответственность: приходится внимательно следить за соблюдением всех правил. Если вы открыто контролируете криптовалюту пользователей, то вы – отправитель денежных переводов. Если вы «устанавливаете тарифы по своему усмотрению; взимаете с водителей штраф, когда они отменяют поездки; запрещаете водителям забирать пассажиров, не использующих ваше приложение, и замораживаете или деактивируете аккаунты водителей», то вы – работодатель. Если вы контролируете данные пользователей, вам нужно уметь аргументировать законность своих действий; нанять специалиста, который проследит за соблюдением всех правовых норм, и предоставить пользователям доступ к выгрузке или удалению данных.

Если вы разрабатываете приложения, но при этом ленивы и боитесь проблем с законом, то соблюсти все эти новые правила для вас не составит большого труда: просто не надо делать приложения с централизованным контролем. Создайте кошелек, где пользователь будет хранить свои приватные ключи, а вы останетесь «просто поставщиком программного обеспечения». Если вы создадите «децентрализованный Uber» – по сути, просто стильный пользовательский интерфейс с платежной системой, системой репутации и поисковой системой, которые вы не будете самостоятельно контролировать, то легко избежите многих юридических проблем. Создайте сайт, который просто… не собирает данные, и вам даже не придется думать о GDPR.

Конечно, такой подход возможен не для всех. Никуда не денутся ситуации, в которых отказ от удобств централизованного контроля будет обходиться разработчикам и пользователям слишком дорого или когда будет выгодней использовать бизнес-модель, завязанную на более централизованном подходе (например, запретить использовать программное обеспечение пользователям, которые не хотят за него платить, будет проще, если разместить его на ваших серверах). Но не стоит забывать, что пока мы знаем далеко не все возможности более децентрализованных подходов.

Бывает так, что закон, созданный для запрета чего-то конкретного, непреднамеренно блокирует целые виды деятельности. Обычно считается, что это плохо. Но в данном случае я бы сказал, что вынужденный переворот в мышлении разработчиков от «на всякий случай хочу больше контроля» к «на всякий случай хочу меньше контроля» может привести и к позитивным последствиям. Людям не свойственно добровольно отказываться от властных полномочий и отрезать себе пути к злоупотреблениям. Хотя сегодня и существуют проекты, которые идеологически стремятся к максимальной децентрализации, едва ли у таких сервисов есть большие шансы пробиться в мейнстрим индустрии. Однако новые тенденции в регулировании могут стать отличным стимулом для приложений, готовых встать на путь «can’t be evil»[66] с минимумом централизации и максимумом суверенитета пользователей.

Выходит, что, хотя изменения в регулировании и не направлены на защиту свободы (по крайней мере, свободы разработчиков приложений), а превращение интернета в объект политического внимания неизбежно влечет за собой множество негативных последствий, сама по себе тенденция превращения контроля в ответственность каким-то странным образом даже более соответствует духу шифропанка (пусть и ненамеренно!), чем политика максимальной свободы разработчиков приложений. Хотя современный нормативно-правовой ландшафт практически по всем параметрам далек от оптимального, сложилась очень удачная ситуация для сторонников минимума ненужной централизации и максимума контроля пользователей над их собственными активами, закрытыми ключами и данными. И было бы здорово этим воспользоваться.

Рождественский спецвыпуск

VITALIK.CA

24 декабря 2019 года

Раз уж сегодня Рождество и теоретически мы должны отвлечься от бесконечных холиваров в твиттере, чтобы насладиться жизнью и провести время с близкими, в этом посте я предложу вам несколько игр. Поиграйте в них с друзьями, и вы сможете не только развлечься, но и разобраться в некоторых жутких математических концепциях!

1,58‐МЕРНЫЕ ШАХМАТЫ

Понадобится привычная доска размером 8×8 – точнее, 27 ее квадратов. Остальные 37 нужно закрыть шашками, камнями из го или чем-то еще, чтобы обозначить, что они недоступны. Правила те же, что и в обычных шахматах, за несколькими исключениями.

▒ Без взятия белые пешки ходят вверх, черные – влево. Со взятием белые пешки ходят влево-вверх или вправо-вверх, черные пешки – влево-вниз или влево-вверх. Белые пешки достигают верхнего края доски, черные – левого.

▒ Здесь нет взятия на проходе, рокировки или прыжка пешки через одно поле.

▒ Шахматные фигуры не могут ходить на 37 закрытых квадратов или перепрыгивать через них. Конь также не может ходить на 37 закрытых квадратов, но «перепрыгивать» может через что угодно.

Эти шахматы названы 1,58‐мерными, потому что 27 открытых квадратов выбраны в соответствии с закономерностью, по которой строится треугольник Серпинского: сначала вы берете один открытый квадрат, а затем удваиваете ширину, дублируя фигуру предыдущего шага в верхний левый, верхний правый и нижний левый углы, а нижний правый угол оставляете нетронутым. Поскольку в одномерной структуре удвоение ширины увеличивает пространство в 2 раза, в двумерной – в 4 раза (4 = 22), а в трехмерной – в 8 раз (8 = 23), здесь удвоение ширины увеличивает пространство в 3 раза (3 = 21,58496), отсюда и «1,58‐мерность».

Игра существенно проще и «податливее», чем полноценные шахматы, и она дает возможность с интересом пронаблюдать, как в пространствах меньшей размерности защита становится намного проще нападения. Обратите внимание, что относительная ценность разных фигур здесь может измениться и появятся новые виды концовок (например, можно поставить мат одним слоном).

ТРЕХМЕРНЫЕ КРЕСТИКИ-НОЛИКИ

Цель игры – выстроить прямую линию из четырех крестиков или ноликов вдоль оси или по диагонали, в том числе между плоскостями. Например, в этой конфигурации Х выигрывает.

МОДУЛЯРНЫЕ КРЕСТИКИ-НОЛИКИ

Здесь мы возвращаемся к двум измерениям, но теперь линии могут перескакивать.

Х выигрывает

Обратите внимание, что допускаются диагональные линии с любым наклоном: главное – чтобы они проходили через все четыре точки. Например, вполне возможны линии с наклоном +/– 2 и +/– 1/2:

Математически доску можно интерпретировать как двумерное векторное пространство над целыми числами по модулю 4, и цель заключается в том, чтобы заполнить линию, проходящую через четыре точки над этим пространством. Обратите внимание, что существует по крайней мере одна линия, проходящая через любые две точки.

КРЕСТИКИ-НОЛИКИ НА ДВОИЧНОМ ПОЛЕ С 4 ЭЛЕМЕНТАМИ

Здесь та же концепция, что и выше, за исключением того, что мы используем еще более жуткую математическую структуру – 4-элементное поле многочленов над Z2 по модулю x2 + x + 1. У этой структуры практически нет адекватной геометрической интерпретации, поэтому я просто приведу таблицы сложения и умножения.

Ну ладно, вот для удобства все возможные линии, за исключением горизонтальных и вертикальных (которые также допустимы).

Отсутствие геометрической интерпретации действительно усложняет игру. По сути, вам придется запомнить все двадцать выигрышных комбинаций – хотя заметьте, что в основном они представляют собой переносы и отражения одних и тех же четырех основных фигур (осевая линия; диагональная линия; диагональная линия, начинающаяся посередине; и эта странная штука, которая вообще не похожа на линию).

А ВОТ 1,77‐МЕРНЫЕ «ЧЕТЫРЕ В РЯД». РИСКНЕТЕ СЫГРАТЬ?

МОДУЛЯРНЫЙ ПОКЕР

Каждому раздается по пять карт (здесь можно использовать любую разновидность покера с точки зрения того, как раздаются карты и имеют ли игроки право их менять). У карт будут следующие числовые значения: валет = 11, дама = 12, король = 0, туз = 1. Самой сильной считается та рука, которая содержит более длинную последовательность с любым повторяющимся интервалом между следующими друг за другом картами («колесо» здесь тоже допустимо).

Математически это можно представить так: рука сильнее, если игрок может найти такое выражение L(x) = mx + b, под которое у него найдутся карты для чисел L(0), L(1)…L(k) для наибольшего k.

Пример полной выигрышной комбинации из пяти карт. y = 4x + 5

Чтобы найти победителя среди обладателей равных максимально длинных последовательностей, подсчитайте, сколько у кого отдельных последовательностей из трех чисел. У кого больше – тот и выигрывает.

Учитываются последовательности только от трех или выше. Если в раздаче три или более карт одинакового достоинства, это считается последовательностью, но если их две, любые последовательности, проходящие через карты этого достоинства, считаются за одну.

В этой руке нет последовательностей из трех чисел

В этой руке четыре последовательности из трех чисел:

K 2 4, K 4 8, 2 3 4, 3 8 K. Редкий случай

Если две руки полностью совпадают, выигрывает рука с наивысшей старшей картой (при условиях, что валет = 11, дама = 12, король = 0, туз = 1, как указано выше).

Приятной игры!

.

Часть 3

Proof of stake

К началу 2020 года Ethereum преодолел первоначальную болезнь роста. Позади остались проблемы с безопасностью, ETH рос в цене и вот-вот должен был стать операционной системой для набирающего популярность NFT-искусства эпохи ковидных локдаунов. Дистанцируясь от харизматической власти времен взлома The DAO, Бутерин продвигал принцип «достоверной нейтральности» и размышлял о том, как добиться всеобщего признания децентрализованных систем. Он сосредоточился не столько на сиюминутных кризисах, сколько на вечной проблеме «общественных благ»: как сделать так, чтобы система, основанная на экономических стимулах, производила что-то важное, но не прибыльное? Кто будет оплачивать дороги и мосты этого нового мира? Вопросы возникали быстро, как и первые попытки найти на них ответы.

Идея децентрализованной автономной организации, или ДАО, наконец-то становилась реальностью. ДАО, часто никак не связанные с какими-либо физическими компаниями или фондами, занимались производством и нанимали сотрудников. Одни управляли многомиллионными бюджетами, другие с треском проваливались. По необходимости криптосообщества экспериментировали с новыми видами управления и процессами принятия решений: системами голосования, которые уравновешивали власть токенов и людей; системами идентификации, основанными на взаимоотношениях между пользователями, а не на их отношениях с государством. Бутерин утверждает, что в мире, где многие формы ценностей пересекаются, стоит пересмотреть показатели измерения неравенства. В 2020 году он пытается сделать ставку на рынке предсказаний на президентские выборы в США, и мы видим его смешанные чувства по поводу программного обеспечения, созданного на его же протоколе.

Порой за деревьями не видно леса. В чем на самом деле смысл ставок на рынках предсказаний? Бутерин надеется, что более совершенные механизмы позволят эффективней использовать информацию и способности к суждению, которые неравномерно распределены между людьми, что приведет к лучшим коллективным решениям. Но не все определяется благими намерениями и продуманным дизайном. Неуправляемая алхимия цен на токены всегда грозит выйти на передний план.

Приближается переход на Ethereum 2.0 – то, на что Бутерин рассчитывал с самого начала. К 2021 году люди смогли сдавать свои ETH в стейкинг, пользуясь алгоритмом proof of stake, даже пока proof of work еще продолжал работать. Пустой трате энергии практически пришел конец. Протоколы «второго уровня» с названиями вроде «optimistic rollups» и «ZK-rollups» вот-вот должны были покончить с задержками транзакций и высокими комиссиями – это знакомо каждому, кто пытался использовать Ethereum для покупок или приложений. Между тем новые блокчейны утверждали, что изначально решили эти проблемы, и начали отбирать долю рынка у Ethereum.

В эссе о «криптогородах» Бутерин, похоже, замыкает круг и возвращается к тому, с чего начал когда-то в Bitcoin Magazine, – мечтательному перечислению грядущих проектов. Но теперь это совсем другие эксперименты, которые направлены не на замену старых институтов вроде правительств, а на сотрудничество с ними.

По словам Бутерина, ненависть к централизованным платформам у него возникла после того, как владельцы World of Warcraft ухудшили игру, изменив ее программное обеспечение. («Я плакал, пока не уснул», – добавил он и поставил на игре крест.) Одно из последних эссе в этой книге он начинает с предположения, что криптосообществу есть чему поучиться у концепции World of Warcraft о soulbound – вещах, которые игрок может получить, но не может купить или продать. Блокчейн не должен полагаться на одну лишь экономику, на то, что можно купить и продать; он должен также внимательней присматриваться к людям, которые его используют. Проектируя социальную инфраструктуру, мы ставим на карту само наше представление о человеке.

– Н. Ш.

Достоверная нейтральность как руководящий принцип

NAKAMOTO

3 января 2020 года

Обратим внимание на следующее.

▓ Иногда люди недовольны тем, что правительства тратят 5 % ВВП на поддержку конкретных общественных проектов или отраслей, но тех же людей часто вполне устраивает, что это же правительство перераспределяет гораздо более значительную долю капитала, чтобы обеспечить соблюдение прав собственности.

▓ Иногда люди недовольны блокчейн-проектами, которые напрямую выделяют (в виде премайнинга) много токенов конкретным получателям, выбранным разработчиками, но тех же людей часто вполне устраивает, что миллиарды долларов, выпущенных крупными блокчейнами вроде Bitcoin и Ethereum, распределяются между майнерами механизмом proof of work.

▓ Иногда люди недовольны тем, что социальные сети цензурируют или ограничивают контент, связанный с сомнительными политическими идеологиями (даже с теми идеологиями, которые не одобряют сами противники цензуры), но тех же людей часто вполне устраивает, что агрегаторы такси удаляют водителей со слишком низкими рейтингами.

В таких ситуациях можно крикнуть «Попались!» и наслаждаться славой разоблачителя лицемеров. Иногда такая реакция действительно справедлива. На мой взгляд, совершенно ошибочно считать налоги на выбросы углерода государственным вмешательством, а государственное обеспечение прав собственности – простым соблюдением естественного права. Точно так же ошибочно считать майнеров, которые обеспечивают безопасность блокчейна, трудягами, которые выполняют «реальную термодинамическую работу» и достойны награды, а любую попытку наградить разработчиков за улучшение кода блокчейна – «печатанием бесплатных денег».

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

МЕХАНИЗМЫ = АЛГОРИТМЫ + СТИМУЛИРОВАНИЕ

Для начала определим, что такое механизм. Здесь я использую этот термин в том смысле, в котором он встречается в литературе по теории игр, когда речь идет о проектировании механизмов: по сути, механизм – это алгоритм плюс стимулирование. Механизм – инструмент, который принимает входные данные от группы людей, затем на основе этой информации определяет ее ценности и принимает какое-либо важное для группы решение. В хорошо функционирующем механизме это решение одновременно и эффективное – то есть представляющее собой наилучший возможный результат с учетом предпочтений участников, – и совместимое со стимулами – то есть оно создает стимул поступать «честно».

Придумать примеры таких механизмов несложно.

▓ ЧАСТНАЯ СОБСТВЕННОСТЬ И ТОРГОВЛЯ. «Входные данные» – это способность пользователей переназначать права собственности через пожертвование или продажу, а «выходные данные» – это база (иногда формализованная, иногда только подразумеваемая), содержащая информацию о том, кто имеет право решать, как использовать конкретный физический объект. Цель состоит в том, чтобы стимулировать производство полезных физических объектов и передавать их в руки людей, которые используют их наилучшим образом.

▓ АУКЦИОНЫ. Входные данные – ставки, выходные данные – кто получает продаваемый товар и сколько покупатель должен заплатить.

▓ ДЕМОКРАТИЯ. Входные данные – голоса, выходные – кто контролирует каждое место в избранном правительстве.

▓ ГОЛОСОВАНИЯ «ЗА» И «ПРОТИВ», ЛАЙКИ И РЕТВИТЫ В СОЦИАЛЬНЫХ СЕТЯХ. Входные данные – голоса «за» и «против», лайки и ретвиты. Выходные данные – кому какой контент показывать. Если педантично следовать теории игр, можно возразить, что это всего лишь алгоритм, а не механизм, раз в нем нет встроенных стимулов, но они вполне могут появиться в будущих версиях.

▓ БЛОКЧЕЙНЫ PROOF OF WORK И PROOF OF STAKE С ВОЗНАГРАЖДЕНИЯМИ. Входные данные – какие блоки и другие сообщения создают участники, выходные данные – какую цепочку сеть принимает как каноническую и какими вознаграждениями она поощряет «правильное» поведение.

Мы вступаем в информационную эпоху c максимальной сетевой организацией и максимальным количеством посредников, где общество теряет доверие к централизованным институтам и ищет им альтернативы. Поэтому все более актуальными становятся различные механизмы взаимодействия, вобравшие в себя лучшее из мудрости толпы (и отсеявшие худшее из столь же вездесущей глупости толпы).

ЧТО ТАКОЕ ДОСТОВЕРНАЯ НЕЙТРАЛЬНОСТЬ?

Теперь поговорим об этой крайне важной идее – достоверной нейтральности. Достоверно нейтральным можно назвать механизм с таким дизайном, по которому сразу ясно, что этот механизм точно не будет дискриминировать каких-либо конкретных людей. Такой механизм предполагает равное отношение ко всем настолько, насколько это вообще возможно в мире, где у всех разные возможности и потребности. Правило «любой, кто создает блок, получает 2 ETH» достоверно нейтрально, а «Боб написал много кода и заслужил за это награду в 1000 монет» – нет. «Мы будем скрывать любой пост, который пять человек оценят отрицательно» – достоверно нейтрально; «мы будем скрывать любой пост, который наша команда модерации сочтет предвзятым по отношению к голубоглазым людям» – нет. «Правительство предоставляет 20-летнюю ограниченную монополию на любое изобретение» – достоверно нейтрально (хотя сложно понять, какие изобретения подпадают под это определение); «правительство считает важным лечение рака и поэтому создает комитет по распределению 1 миллиарда долларов среди людей, готовых взяться за решение этой проблемы» – нет.

Конечно, абсолютной нейтральности не бывает. При выплате вознаграждений за блок преимущества получают те, кто имеет доступ к необходимому оборудованию и дешевой электроэнергии. При капитализме преимущества имеют элиты и богачи, при этом происходит дискриминация бедных и тех, кто зависит от государственной помощи. Политический дискурс дискриминирует любые идеи, которые не проходят через фильтр социальной желательности[67]. Любой механизм, корректирующий сбои в координации, должен искать источник этих сбоев и дискриминировать тех, чье поведение сочтет ненадлежащим. Но все это не умаляет того факта, что некоторые механизмы гораздо нейтральнее других.

Вот почему частная собственность так эффективна: не потому, что это данное богом право, а потому, что это достоверно нейтральный механизм, который решает множество общественных проблем – далеко не все, но достаточно многие. Вот почему вполне допустима фильтрация по популярности, но проделать то же самое с политической идеологией будет проблематично: легче согласиться с тем, что нейтральный механизм относится ко всем достаточно справедливо, чем убедить разношерстную группу людей в обоснованности конкретного черного списка запрещенных политических точек зрения. И именно поэтому к вознаграждениям разработчиков относятся с бóльшим подозрением, чем к вознаграждениям за майнинг: тот факт, что человек действительно занимается майнингом, проверить намного проще, к тому же на практике большинство попыток определить, действительно ли человек участвовал в разработке кода, заканчивается обвинениями в фаворитизме.

Обратите внимание, что здесь нужна не просто нейтральность, а именно достоверная нейтральность. То есть одной непредвзятости механизма в пользу конкретных людей или результатов недостаточно: важно также убедить большую и разнородную группу людей в том, что этот механизм по крайней мере очень старается быть справедливым. Механизмы вроде блокчейнов, политических систем и социальных сетей предназначены для облегчения сотрудничества между большими и разнородными группами людей, и чтобы эти механизмы действительно могли стать общей основой взаимодействия, каждый участник должен иметь возможность удостовериться не только в том, что эти механизмы справедливы, но и в том, что и остальные могут в этом убедиться, ведь каждый хочет быть уверен, что остальные не откажутся от этого механизма уже на следующий день.

Получается, нам нужно что-то вроде теоретико-игровой концепции общего знания – или, выражаясь менее математически, разделяемое всеми понятие легитимности. Чтобы достичь такого общего знания нейтральности, нейтральность механизма должна быть предельно очевидна – настолько очевидна, что ее признает наблюдатель с любым уровнем образования, даже если враждебная пропаганда будет изображать механизм предвзятым и неблагонадежным.

РАЗРАБОТКА ДОСТОВЕРНО НЕЙТРАЛЬНЫХ МЕХАНИЗМОВ

Существует четыре основных правила разработки достоверно нейтрального механизма.

1. Не вписывайте в механизм конкретных людей или конкретные результаты.

2. Обеспечьте открытый исходный код и публично проверяемое исполнение.

3. Сделайте механизм простым.

4. Не меняйте механизм слишком часто.

Первый пункт вполне понятен. Возвращаясь к нашим предыдущим примерам, «любой, кто создает блок, получает 2 ETH» – достоверно нейтрально; «Боб получает 1000 монет» – нет. «При отрицательных голосах пост будут показывать реже» – достоверно нейтрально; «из-за предубеждений против голубоглазых людей пост будут показывать реже» – нет. «Боб» – это конкретный человек, а «предубеждение против голубоглазых людей» – это конкретный результат. Боб действительно может быть великим разработчиком, который определил успех какого-либо блокчейн-проекта и заслуживает награды, а дискриминация людей с голубыми глазами – не та идея, которую я бы стал поддерживать (и, надеюсь, вы тоже). Но задача при разработке достоверно нейтрального механизма – не вписывать в него желаемые результаты; они должны появляться сами благодаря действиям участников. На свободном рынке факт того, что продукт Чарли бесполезен, а продукт Дэвида полезен, обнаруживается через механизм цен: постепенно люди перестают покупать продукт Чарли, и тот становится банкротом, а Дэвид получает прибыль, возможность расширяться и производить еще больше товаров. Выходные данные должны в основном определяться входными данными, которые вносят участники, а не правилами, запрограммированными в самом механизме.

Второй пункт тоже довольно прост: необходимо обеспечить доступ к правилам механизма и возможность публично проверять их соблюдение. Обратите внимание, что во многих случаях вам вряд ли захочется публично разглашать входные или выходные данные: в статье «О сговорах» я уже рассматривал преимущества высокого уровня конфиденциальности, когда доказать долю своего участия не получится даже при большом желании. К счастью, проверяемости и конфиденциальности можно достичь за счет комбинации блокчейна и доказательства с нулевым разглашением[68].

По иронии, третий пункт – о простоте – уже не так прост. Чем проще механизм и чем меньше у него параметров, тем меньше возможностей встроить в него скрытые привилегии в пользу той или иной группы людей. Если в механизм встроены пятьдесят хитросплетенных параметров, их будет совсем несложно скомбинировать под желаемый результат, но с одним или двумя параметрами сделать это будет гораздо сложнее. Можно создать привилегии для очень широких групп («демагоги», «богачи» и так далее), но с небольшой группой этого сделать уже не получится. К тому же возможность подстроить механизм под конкретную цель будет недолговечна, поскольку «завеса неведения» между вами в момент А и вашими бенефициарами в момент Б со временем будет увеличиваться, и конкретные ситуации, в которых они будут оказываться, позволят им извлечь из механизма непропорционально большýю выгоду.

Это подводит нас к четвертому пункту – не менять механизм слишком часто. Изменение механизма в некотором роде тоже его усложняет, к тому же оно «обнуляет таймер» завесы неведения, позволяя настроить механизм под конкретных друзей и против конкретных врагов, ведь так вы получаете свежие сведения о том, в каком положении находятся эти группы и как на них могут повлиять различные корректировки механизма.

НЕ ТОЛЬКО НЕЙТРАЛЬНОСТЬ: ВАЖНОСТЬ ЭФФЕКТИВНОСТИ

Крайним формам идеологий, на которые я ссылался в начале этой статьи, часто свойственен ошибочный максималистский подход к нейтральности: если что-то нельзя сделать полностью нейтральным, этого не следует делать вообще! Ошибочность такого подхода в том, что здесь нейтральность в узком смысле достигается ценой отказа от нейтральности в широком смысле. Например, можно гарантировать, что каждый майнер будет вознаграждаться на равных условиях с остальными майнерами (12,5 BTC или 2 ETH за блок), а каждый разработчик – наравне с другими разработчиками (то есть не получать никакого вознаграждения, кроме благодарности за пользу обществу). Но в таком случае придется смириться с тем, что для развития протокола, в отличие от майнинга, почти не будет никаких стимулов. Маловероятно, что последние 20 % майнеров вносят в успех блокчейна больший вклад, чем его разработчики, и все же, по-видимому, именно это подразумевают нынешние механизмы вознаграждения.

Если брать шире, для жизни общества необходимо очень много всего: частные блага; общественные блага; точная информация; грамотные управленческие решения; блага, которые мы не ценим сейчас, но будем ценить в будущем, – список бесконечен. Для некоторых из этих пунктов создать достоверно нейтральные механизмы довольно просто, для других – нет. Если мы будем бескомпромиссно отстаивать пуристические принципы узкого понимания нейтральности и считать приемлемыми лишь максимально достоверно нейтральные механизмы, то решим только те проблемы, для которых такие механизмы легко создать. Другие же потребности сообщества не получат никакой систематической поддержки, и от этого пострадает нейтральность в широком смысле.

Следовательно, принцип достоверной нейтральности также необходимо дополнить другой идеей – принципом эффективности. Действительно хороший механизм должен решать важные для нас проблемы. Часто это означает, что даже бесспорно достоверно нейтральные механизмы должны быть открыты для критики, ведь бесспорная нейтральность механизма вполне может сочетаться с его ужасным функционированием (в чем, например, часто обвиняют систему патентного права).

Иногда это даже значит, что, если достоверно нейтральный механизм для решения какой-либо проблемы пока не найден, в краткосрочной перспективе следует принять механизм, нейтральность которого еще не совершенна. Премайнинг и ограниченные по времени вознаграждения разработчиков в блокчейнах – как раз один из таких примеров. Другой пример – использование централизованных методов, чтобы находить учетные записи реальных людей и отсеивать остальные, пока децентрализованные методы еще недоступны. При этом важно все-таки помнить о ценности достоверной нейтральности и стремиться к этому идеалу.

Если вас беспокоит, что не до конца нейтральный механизм приведет к потере доверия или перехвату властных полномочий, можно внедрить в него специальные методы защиты. Например, финансировать разработчиков за счет транзакционных сборов, а не эмиссии, что создаст «забор Шеллинга»[69], ограничивающий объем финансирования. Можно добавить временны´е ограничения или «ледниковый период», чтобы со временем вознаграждения исчезали и возобновлялись только после дополнительного подтверждения. Можно реализовать механизм внутри системы «второго уровня»[70], например в роллапе[71] или среде выполнения eth2, где существует сетевой эффект, от которого, однако, можно скоординированно отказаться, если механизм выйдет из строя. Когда мы предвидим возможность ослабления своих позиций, можно снизить риски, обеспечив свободу выхода.

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

Вот некоторые примеры.

▓ Рынки предсказаний, например electionbettingodds.com, как «достоверно нейтральный» источник вероятных результатов ближайших выборов.

▓ Квадратичное голосование и квадратичное финансирование как способ достижения согласия по вопросам управления и общественных благ.

▓ Налоги Харбергера как более эффективная альтернатива чистым правам собственности для распределения невзаимозаменяемых и неликвидных активов.

▓ Прогнозирование пиров[72].

▓ Системы репутации, включающие транзитивные графы доверия.

Мы еще не совсем понимаем, какие версии перечисленных или абсолютно новых идей окажутся эффективными. Чтобы выяснить, какие правила и в каких контекстах приведут к хорошим результатам, потребуются многоэтапные эксперименты. Особенно сложно будет сделать исходный код открытым и вместе с тем устойчивым к атакам, но криптографические разработки, которые допускают открытые правила, а также проверяемое исполнение и выходные данные наряду с приватностью входных данных значительно упростят эту задачу.

Мы знаем, что создать такие надежные наборы правил вполне возможно, – как сказано выше, во многих случаях нам уже удалось этого достичь. Но появляется все больше торговых площадок, функционирующих на программном обеспечении, и поэтому нужна еще бóльшая уверенность, что власть над этими системами не перейдет в руки привилегированного меньшинства: например, операторов этих платформ или еще более могущественных сил, которые за ними стоят. И для этого нам понадобится создать системы правил, которым мы сможем доверять.

Координация – хорошая и плохая

VITALIK.CA

11 сентября 2021 года

Координация как способность больших групп людей работать вместе в общих интересах – одна из самых мощных сил во вселенной. Она определяет разницу между королем, который благополучно правит страной в качестве деспотичного диктатора, и народом, который объединяется и свергает его. Она определяет разницу между повышением средней температуры Земли на 3–5 °C и ее гораздо меньшим повышением при условии, что мы объединимся и приостановим этот рост. В конце концов, именно благодаря координации существуют компании, государства и любые другие социальные организации, которые включают больше нескольких человек.

Улучшить координацию можно разными способами: ускорить распространение информации; усовершенствовать нормы поведения и ввести более эффективные наказания за то, что классифицируется как мошенничество; создать более сильные и влиятельные организации; использовать инструменты вроде смарт-контрактов, которые позволяют взаимодействовать без высокого уровня доверия; менять технологии управления (голосование, акции, рынки принятия решений…) и делать много чего еще. С каждым десятилетием мы как вид все лучше и лучше справляемся с этими задачами.

Но у координации есть и обратная сторона, не совсем логичная с философской точки зрения. Хотя совершенно верно, что «координация всех со всеми» приводит к гораздо лучшим результатам, чем правило «каждый сам за себя», это НЕ значит, что каждый шаг в сторону большей координации принесет только пользу. Если координация улучшается без соблюдения должного баланса, это легко может принести вред.

Визуально это можно представить в виде карты, хотя на самом деле в ней должно быть не два измерения, а миллиарды.

Не хотелось бы оказаться в нижнем левом углу, где «каждый сам за себя», а в верхнем правом углу с тотальной координацией хотя и хотелось бы, но едва ли это возможно. Ландшафт между ними не ровный и даже не холмистый: в нем много относительно безопасных и благоприятных пространств, где лучше всего обосноваться, но много и глубоких темных пещер, которых следует избегать.

Итак, что это за опасные формы частичной координации, когда кто-то координируется не со всеми, а лишь с некоторыми соратниками, заводя нас в глубокую темную пещеру? Чтобы описать их, обратимся к примерам.

▓ Во время войны граждане доблестно жертвуют собой на благо своей страны… а эта страна оказывается Германией или Японией времен Второй мировой войны.

▓ Лоббист подкупает политика, чтобы обеспечить выгодные для него решения.

▓ Кто-то продает свой голос на выборах.

▓ Все продавцы конкретного товара на рынке договариваются одновременно поднять цены.

▓ Крупные майнеры блокчейна вступают в сговор, чтобы запустить атаку 51 %.

Во всех этих примерах мы видим, как люди объединяются и сотрудничают – на благо друг другу, но в ущерб всем за пределами своего круга, а значит, в конечном итоге, и миру в целом. В первом случае в круг не попадают и поэтому страдают жертвы агрессии вышеупомянутых стран; во втором и третьем случаях – люди, на которых влияют решения коррумпированных избирателей и политиков; в четвертом – клиенты; в пятом – не участвующие в сговоре майнеры и пользователи блокчейна. Здесь не конкретный человек противостоит группе, а узкая группа людей противостоит более широкой группе, а часто и всему остальному миру.

Такой тип частичной координации часто называют «сговором», но важно отметить, что она может включать самые разные типы поведения. Обычно слово «сговор» используют для описания относительно симметричных отношений, но в приведенных выше примерах есть крайние формы асимметрии. В этом смысле даже отношения с целью вымогательства («голосуйте за мой политический курс, или расскажу всем о вашей интрижке») можно назвать некоторой формой сговора. Дальше в тексте термин «сговор» будет обозначать любую «нежелательную координацию».

ОЦЕНИВАЙТЕ НАМЕРЕНИЯ, А НЕ ДЕЙСТВИЯ (!)

Есть одно важное свойство сговора, особенно в его легкой форме: по одному конкретному действию сложно понять, выполнено оно в рамках сговора или нет. В своих действиях человек опирается, с одной стороны, на внутренние знания, цели и предпочтения, а с другой – на внешние стимулы. Поэтому люди могут действовать одинаково и находясь в сговоре, и независимо от других (или коллективно, но с благими намерениями).

Возьмем, к примеру, сговор между продавцами (разновидность нарушения антимонопольного законодательства). Допустим, три продавца могут самостоятельно установить цену на какой-либо товар в диапазоне от 5 до 10 долларов, и выбор каждого будет зависеть от ряда факторов, которые трудно заметить извне: внутренних издержек, желаемого дохода, проблем с цепочкой поставок и прочих. Но те же продавцы могут сговориться и установить диапазон цен от 8 до 13 долларов. И снова выбор каждого будет зависеть от внутренних затрат и других неявных факторов. Если какой-либо продавец будет продавать товар за $8,75, можно ли точно сказать, что он состоит или не состоит в сговоре? Без дополнительной информации – вряд ли! Было бы неправильно принять закон, запрещающий продавать этот продукт дороже $8: у продавцов в текущей ситуации могут быть вполне разумные основания выставлять такую цену. Зато было бы правильно принять и качественно воплотить закон против сговоров: продукт можно будет продавать за $8,75, если этого потребуют издержки продавцов, но при незначительных издержках – нельзя.

Это относится и к случаям подкупа и продажи голосов: вполне может сложиться ситуация, когда кто-то искренне проголосует за «оранжевую» партию, а голоса других за нее будут проплачены. Те, кто определяет правила механизма голосования, не могут знать заранее, насколько у «оранжевой» партии благие намерения. Зато они знают, что избирательная форма, когда люди отдают свой голос исходя из внутренних ощущений, работает довольно хорошо, а голосование, где избиратели могут свободно покупать и продавать свои голоса, работает ужасно. Все потому, что продажа голосов представляет собой «трагедию общих ресурсов»: каждый отдельный избиратель получает лишь незначительную часть выгоды от честного голосования, но если он проголосует определенным образом за взятку, то вся выгода от взятки достанется ему одному. Поэтому для подкупа каждого отдельного избирателя требуется гораздо меньше ресурсов, чем для того, чтобы возместить населению издержки любой политической программы, которую продвигает взяточник. Следовательно, ситуация, когда продажа голосов разрешена, быстро перетекает в плутократию.

ДЕЦЕНТРАЛИЗАЦИЯ КАК ПРОТИВОДЕЙСТВИЕ СГОВОРУ

Но из этой линии рассуждений следует другой, более жизнеутверждающий и воодушевляющий вывод: чтобы создать стабильные механизмы, необходимо прежде всего научиться затруднять организацию и функционирование сговоров, особенно крупномасштабных. В избирательном процессе есть принцип тайного голосования, который не дает избирателям при всем их желании возможность доказать третьим лицам, что они проголосовали именно определенным образом (MACI и другие проекты пытаются перенести этот принцип в онлайн-контекст с помощью криптографии). Это подрывает доверие между избирателями и взяточниками, препятствуя нежелательным сговорам. В случае монополизации и других корпоративных злоупотреблений мы часто полагаемся на дезертиров из компаний-нарушителей и даже вознаграждаем их, недвусмысленно подталкивая участников вредоносных сговоров к предательству. А в случае общественной инфраструктуры в более широком смысле у нас есть та самая наиважнейшая концепция: децентрализация.

Наивно полагать, что ценность децентрализации заключается исключительно в снижении рисков точечных технических сбоев. В случае традиционных распределенных систем управления дело часто обстоит именно так, но во многих других случаях одна эта функция не сможет обеспечить нужный уровень защиты. Взглянем на блокчейн. Если большой майнинговый пул будет публично демонстрировать внутреннее распределение нод и сетевых зависимостей, это едва ли успокоит членов сообщества, напуганных централизацией майнинга. И подобные фотографии, где на одной конференции собралось 90 % хеш-мощности биткойна, серьезно пугают людей.

Но что же в ней такого страшного? С точки зрения «децентрализации как отказоустойчивости» возможность крупных майнеров общаться друг с другом не несет никакого вреда. Но если посмотреть на «децентрализацию» как на барьер для вредоносного сговора, то картина становится довольно жуткой, ведь очевидно, что этот барьер не такой надежный. В реальности же прочность таких барьеров все еще далеко не нулевая; тот факт, что эти майнеры могут легко осуществлять техническую координацию и, скорее всего, сидят в одних и тех же группах WeChat, вовсе не означает, что Bitcoin «на практике немногим лучше централизованной компании».

Итак, какие еще барьеры могут препятствовать сговору? Вот несколько основных.

▓ Моральные барьеры. В книге «Лжецы и нарушители» (Liars and Outliers) Брюс Шнайер напоминает нам, что многие «системы безопасности» (замки на дверях; предупреждающие знаки, напоминающие людям о наказаниях…) также выполняют моральную функцию. Они напоминают потенциальным нарушителям, что те собираются совершить серьезный проступок и не должны этого делать, если хотят быть хорошими людьми. Децентрализация, возможно, выполняет ту же функцию.

▓ Провал внутренних переговоров. Отдельные компании могут начать требовать уступок в обмен на участие в сговоре, что может закончиться полным срывом переговоров (см. «проблему затягивания» в экономике).

▓ Контркоординация. Децентрализованность системы позволяет тем, кто не участвует в сговоре, легко создать форк, который не включает злоумышленников, и продолжить работу системы с его помощью. Барьеры для присоединения пользователей к форку невелики, а сама суть децентрализации создает моральный перевес в пользу участия в форке.

▓ Риск обнаружения. Пяти компаниям по-прежнему гораздо сложнее объединиться ради чего-то, что большинство считает плохим, чем ради благой цели. К тому же пять компаний не слишком хорошо знают друг друга и не могут полноценно оценить риски того, что одна из них откажется от участия и тут же их сдаст. Отдельные сотрудники внутри компаний тоже могут оказаться доносчиками.

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

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

ФОРКИНГ КАК КОНТРКООРДИНАЦИЯ

Но успешно предотвратить вредоносные сговоры удается не всегда. Чтобы справляться с ситуациями, где сговор уже вступил в силу, было бы неплохо создать более устойчивые к ним системы – в которых сговор обойдется дорого и которые в случае чего будет легко восстановить.

Здесь помогут два ключевых принципа: 1) поддержка контркоординации и 2) риск собственной шкурой. Идея контркоординации заключается в следующем: мы знаем, что не можем спроектировать системы, которые были бы пассивно устойчивы к сговорам, потому что существует бесконечное множество способов организовать сговор и не существует такого пассивного механизма, который мог бы их все обнаружить. Но это не мешает нам активно реагировать на сговоры и наносить ответный удар.

В цифровых системах вроде блокчейнов (а также в более популярных системах вроде DNS[73]) основная и критически важная форма контркоординации – форкинг.

Если систему захватывает опасная коалиция, ее противники могут объединиться и создать альтернативную версию системы, работающую (практически) по тем же правилам, за исключением того, что атакующая коалиция больше не сможет ее контролировать. Форкинг очень прост в контексте программного обеспечения с открытым исходным кодом, и обычно самое сложное здесь – собрать доказательства легитимности ваших действий (в теории игр это рассматривается как форма «общего знания»), без которой сложно убедить всех несогласных с главенствующей коалицией последовать за вами.

РЫНКИ И РИСК СОБСТВЕННОЙ ШКУРОЙ

Другой класс стратегий сопротивления сговору – идея риска собственной шкурой. В данном контексте это любой механизм, который возлагает личную ответственность за свои действия на каждого участника, способного как-то повлиять на принятие решений. Если группа принимает плохое решение, те, кто его одобрил, должны пострадать больше тех, кто пытался выразить несогласие. Это позволяет избежать «трагедии общих ресурсов», присущей системам голосования.

Именно риск собственной шкурой делает форкинг мощной формой контркоординации.

Рынки стали такими мощными инструментами именно благодаря максимизации идеи риска собственной шкурой. В свою очередь, рынки принятия решений (рынки предсказаний, используемые для принятия решений, также называемые футархией) – это попытка распространить преимущества рынков на процесс принятия организационных решений. Тем не менее такие рынки справляются не со всеми проблемами, в частности они не подскажут, какие переменные нужно оптимизировать в первую очередь.

СТРУКТУРИРОВАНИЕ КООРДИНАЦИИ

Все это подводит нас к интересной мысли о том, что делают люди, которые создают социальные системы. Эффективная социальная система прежде всего нужна для определения структуры координации: какие группы людей и в каких конфигурациях могут объединяться для достижения своих групповых целей, а какие – не могут?

Разные структуры координации – разные результаты

Иногда свобода координации приносит пользу: намного лучше, когда люди могут сотрудничать и коллективно решать свои проблемы. В других случаях такая свобода бывает опасна: подгруппа участников может скоординироваться, чтобы лишить прав всех остальных. А иногда свобода при координации необходима по другой причине: чтобы дать возможность более широкому сообществу «нанести ответный удар» по сговору, который вредит системе.

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

Вот несколько возможных методов структурирования координации.

▓ Технологии и нормы, защищающие приватность.

▓ Технологические средства, которые затрудняют доказательство вашего поведения (тайное голосование, MACI и аналогичные технологии).

▓ Преднамеренная децентрализация, распределение контроля над каким-либо механизмом между широкой группой людей, которые, как известно, с трудом могут объединиться.

▓ Децентрализация в физическом пространстве, разделение различных функций (или разных элементов одной и той же функции) по разным локациям.

▓ Децентрализация между группами с опорой на разные роли: разделение различных функций (или разных элементов одной и той же функции) между разными типами участников (например, в блокчейне: «основные разработчики», «майнеры», «держатели монет», «разработчики приложений», «пользователи»).

▓ Точки Шеллинга, позволяющие большим группам людей быстро координироваться вокруг единого направления действий. Сложные точки Шеллинга потенциально можно даже реализовать в коде (например, это поможет при восстановлении после атак 51 %).

▓ Владение общим языком (или, в качестве альтернативы, разделение контроля между несколькими избирателями, говорящими на разных языках).

▓ Система одного голоса на одного человека вместо голосования монетами или долями владения, чтобы для влияния на решение потребовалось больше людей.

▓ Внимание к информаторам изнутри сговора, которые решили предупредить о нем общественность; их поощрение.

Ни одна из этих стратегий не совершенна, но в разных контекстах их можно применять с бóльшим или меньшим успехом. Кроме того, эти методы могут и должны сочетаться с дизайном механизмов, где вредоносные сговоры будут наименее прибыльны и наиболее рискованны; в этом отношении риск собственной шкурой – очень мощный инструмент. Какая комбинация сработает лучше всего, зависит от конкретного кейса.

Особая благодарность Карлу Флёршу и Цзинлань Ван за критику и обратную связь.

Рынки предсказаний: истории с выборов

VITALIK.CA

18 февраля 2021 года

Осторожно: здесь я высказываю политические суждения.

Рынки предсказаний интересуют меня уже много лет: впечатляет сама идея такого применения дизайна механизмов, где любой человек сможет делать ставки на будущие события, а коэффициенты этих ставок можно будет использовать в качестве достоверно нейтрального источника прогнозируемых вероятностей. Интересуют меня и родственные идеи вроде футархии, которая может стать инновационным инструментом, способным усовершенствовать процессы управления и принятия решений. Кроме того, как уже продемонстрировали Augur и Omen, а совсем недавно и Poly Market, рынки предсказаний также предлагают интересный вариант использования блокчейнов (во всех трех случаях – Ethereum).

Кажется, рынки предсказаний наконец оказались в центре всеобщего внимания во время выборов президента США 2020 года: с почти нулевых показателей 2016 года их объем вырос к 2020‐му до миллионов долларов. Весь этот процесс очень увлек меня как человека, крайне заинтересованного в росте популярности приложений на Ethereum. Сперва я не участвовал в нем, предпочитая наблюдать со стороны: раз я не эксперт по электоральной политике США, думал я, с какой стати мое мнение должно быть правильнее мнений тех, кто уже участвует в этом рынке? Но в моей твитосфере все больше Очень Умных Людей, которых я уважал, приводили доводы в пользу иррациональности этих рынков и убеждали при возможности самому сделать ставку на обратный результат. И в конце концов меня убедили.

Я решил поэкспериментировать на блокчейне, в создании которого участвовал сам, и купил на Augur токены NTRUMP (каждый из которых должен был принести $1 в случае проигрыша Трампа) на $2000. Тогда я еще не знал, что в итоге моя ставка вырастет до $308 249 и принесет мне более $56 803 и что все дополнительные ставки я сделаю уже после того, как Трамп проиграет выборы. События двух следующих месяцев стали поразительным кейсом для исследования социальной психологии, экспертизы, арбитража и пределов рыночной эффективности. Они преподнесли важные выводы всем, кто серьезно интересуется возможностями проектирования экономических институтов.

ПЕРЕД ВЫБОРАМИ

Честно говоря, первую ставку на эти выборы я сделал вовсе не на блокчейне. Когда в июле Канье объявил о выдвижении своей кандидатуры на президентский пост, один политический теоретик, которого я уважаю за его превосходные и оригинальные идеи, тут же поделился в твиттере мыслью, что это событие расколет лагерь противников Трампа и приведет к его победе. Помню, тогда я подумал, что конкретно в этом случае он сильно просчитался или даже увяз в эвристике, где позиция считается истинной просто потому, что она кажется умной и неординарной. Так что я не мог не предложить ему пари, где сам поставил $200 на скучный и мейнстримный пробайденовский исход событий. Мой оппонент благосклонно принял этот вызов.

В следующий раз я вспомнил о выборах только в сентябре, и на этот раз мое внимание зацепили именно рынки предсказаний. Они давали Трампу почти пятидесятипроцентный шанс на победу, но в моей твитосфере Очень Умные Люди, которых я уважал, считали эту оценку чересчур завышенной. Разумеется, это привело к известными «дебатам об эффективных рынках»: если за $0,52 можно купить токен, который в случае проигрыша Трампа принесет тебе $1, а фактические шансы Трампа на проигрыш очень высоки, почему люди не закупаются этими токенами, пока цена на них не поднялась? И если никто этого не делает, то кто ты такой, чтобы думать, что ты умнее всех остальных?

Тред в твиттере Neoliberal, появившийся незадолго до дня выборов, отлично подытожил его аргументы против точности рынков предсказаний тех времен. Если коротко, рынки предсказаний (не связанные с блокчейном), которыми большинство людей пользовались по меньшей мере до 2020 года, имели множество ограничений, затруднявших участие пользователей с небольшими суммами денег. И если бы какой-нибудь умный человек или профессиональная организация заметили, что рынок указывает в неверном направлении, им было бы очень сложно перенаправить цены в том направлении, которое они считают для себя выгодным.

Вот два главных ограничения, которые выделяют специалисты[74]:

▓ Низкие ограничения по ставкам (максимально возможная ставка не доходит и до $1000).

▓ Высокие комиссии (например, 5 % за вывод средств с PredictIt).

Именно тогда, в сентябре, я решил поспорить с Neoliberal: возможно, рынки предсказаний старого формата с их неповоротливостью и централизацией действительно отличаются низкими ограничениями и высокой комиссией, но крипторынкам это не грозит! Augur или Omen не устанавливают ограничений на то, сколько токенов на конкретный результат можно купить или продать, если ты считаешь цену на них заниженной или завышенной. Но при этом цены рынков предсказаний на блокчейне мало отличались от цен на PredictIt. Если рынки действительно переоценивали Трампа из-за того, что высокие комиссии и низкие лимиты мешали более рассудительным трейдерам перебивать ставки слишком оптимистичных, то почему рынки на блокчейне, где таких проблем нет, показывали тот же результат?

Мои друзья в твиттере объясняли это тем, что рынки, основанные на блокчейне, очень нишевые и лишь немногие люди (особенно среди тех, кто разбирается в политике) имеют легкий доступ к криптовалюте. Это звучало логично, хотя, на мой взгляд, и не было исчерпывающим объяснением. В итоге я поставил $2000 против Трампа и на этом остановился.

ВЫБОРЫ

Затем прошли выборы. И хотя поначалу Трамп неожиданно получил пугающе много голосов, в конечном итоге он все же проиграл. Можно по-разному интерпретировать, насколько эффективными для этих выборов оказались рынки предсказаний. С одной стороны, при стандартном применении правила Байеса стоит снизить доверие к рынкам предсказаний, по крайней мере, если сравнивать их с предсказанием Нейта Сильвера[75]. Рынки предсказаний давали 60 %-ную вероятность победы Байдена, а Нейт Сильвер – 90 %-ную. Тот факт, что Байден в итоге победил, отчасти доказывает, что я живу в мире, где Нейт дает более точные прогнозы.

С другой стороны, можно сказать, что рынки предсказаний лучше просчитали перевес голосов. Медиана распределения вероятностей Нейта предполагала, что Байдену достанется примерно 370 из 538 голосов коллегии выборщиков.

Рынки предсказаний не предлагали распределения вероятностей, но если бы его нужно было рассчитать из оценки «Трамп победит с вероятностью в 40 %», то медиана расположилась бы в районе 300 голосов за Байдена. В действительности же их было 306. Так что сложно назвать кого-то бесспорным лидером.

ПОСЛЕ ВЫБОРОВ

Тогда я еще не догадывался, что выборы – это только начало. Уже через несколько дней после выборов различные крупные организации и даже некоторые страны признали Байдена победителем. Трамп, как и ожидалось, пытался юридически оспорить результаты выборов, но безуспешно. И все же больше месяца цена токена NTRUMP оставалась на уровне 85 центов!

Сперва было логично предположить, что у Трампа оставался 15 %-ный шанс отменить результаты; в конце концов, во времена острой партийной ангажированности, когда об интересах своей партии думали больше, чем о принципах, он успел назначить трех судей Верховного суда. Прошло еще три недели, старания Трампа казались все более безнадежными, и шансы на пересмотр результатов стремительно угасали, но цена NTRUMP не спешила расти и даже ненадолго снизилась, примерно до $0,82. 11 декабря, когда с момента выборов прошло больше пяти недель, Верховный суд решительно и единогласно отклонил требования Трампа отменить итоги голосования, и цена NTRUMP наконец выросла… до $0,88.

Именно в ноябре я окончательно убедился в правоте рыночных скептиков и поспешил сделать ставку против Трампа. Дело было не столько в деньгах: в конце концов, всего через два месяца я заработал и пожертвовал GiveDirectly гораздо большую сумму просто благодаря тому, что держал дожкойны. Скорее мне просто хотелось самому поучаствовать в эксперименте, а не наблюдать со стороны и к тому же разобраться, почему до меня никто не ринулся скупать токены NTRUMP.

ПОГРУЖЕНИЕ

Я купил свои NTRUMP на Catnip – интерфейсе, который объединяет рынок предсказаний Augur и Balancer, маркетмейкере вроде Uniswap. Catnip, несомненно, был самым простым интерфейсом для подобных сделок, и, как по мне, он значительно упростил использование Augur.

Сделать ставку против Трампа через Catnip можно двумя способами.

1. Использовать DAI[76], чтобы купить NTRUMP непосредственно на Catnip.

2. Использовать Foundry, чтобы получить доступ к функции Augur, которая позволяет конвертировать 1 DAI в 1 NTRUMP + 1 YTRUMP + 1 ITRUMP («I» означает «недействительный» (invalid), подробнее об этом я расскажу позже) и продать YTRUMP на Catnip.

Изначально я знал только о первом варианте, но потом обнаружил, что на Balancer у YTRUMP гораздо больше ликвидности, поэтому переключился на второй.

Была еще одна проблема: у меня не было DAI. У меня были ETH, и я мог бы продать их, чтобы получить DAI, но я не хотел жертвовать своими вложениями в ETH; было бы обидно заработать $50 000 на ставке против Трампа, но при этом потерять $500 000 на изменениях цены ETH. Поэтому я решил держать свои ETH дальше, открыв залоговую долговую позицию (CDP (collateralized debt position), теперь также называемую «хранилищем») на MakerDAO.

CDP – это способ генерации DAI: вы депонируете свои ETH в смарт-контракт и получаете возможность снимать автоматически сгенерированные DAI на сумму до 2/3 от стоимости внесенных ETH. Эти ETH можно получить обратно, вернув все снятые DAI вместе с комиссией (сейчас она равняется 3,5 %). Если стоимость заложенных ETH упадет настолько, что будет составлять меньше 150 % от стоимости снятых DAI, то любой сможет «ликвидировать» ваше хранилище, принудительно продав ETH, чтобы выкупить DAI, и взыскать с вас высокий штраф. Соответственно, на случай колебаний цен не помешает позаботиться о высоком залоговом коэффициенте. В моей CDP на каждый доллар от снятых DAI приходилось 3 доллара внесенных ETH.

Все вышесказанное можно изобразить в виде схемы.

Я проделывал это много раз. Из-за проскальзывания на Catnip за одну сделку я обычно мог вложить от $5000 до $10 000, чтобы не рисковать в случае неблагоприятных колебаний цен (когда я пропускал шаг Foundry и покупал NTRUMP напрямую за DAI, этот лимит опускался до $1000). Таким образом, за два месяца у меня накопилось более 367 000 NTRUMP.

ПОЧЕМУ ОСТАЛЬНЫЕ БЕЗДЕЙСТВУЮТ?

Еще до погружения в этот процесс у меня были четыре главные гипотезы о том, почему так мало людей скупает доллары по 85 центов.

1. Страх взлома смарт-контрактов Augur либо того, что сторонники Трампа будут манипулировать оракулом (децентрализованным механизмом, где держатели REP – токенов Augur – ставят свои токены на тот или иной исход), чтобы он дал ложный результат.

2. Капитальные затраты: для покупки этих токенов придется заблокировать средства более чем на два месяца и на это время лишить себя возможности их потратить или вложить в более прибыльную сделку.

3. Для большинства людей такой трейдинг слишком сложен с технической точки зрения.

4. На самом деле гораздо меньше людей, чем мне кажется, горят желанием воспользоваться какой-то странной возможностью, даже если она маячит прямо перед глазами.

В пользу всех четырех гипотез можно привести вполне разумные аргументы. Риск взлома смарт-контрактов действительно существует, а оракул Augur раньше не проходил проверку на прочность в такой агрессивной среде. Реальны и капитальные затраты: хотя делать ставки против чего-либо на рынках предсказаний проще, чем на фондовом рынке (ведь в первом случае известно, что цены никогда не поднимутся выше $1), заморозка капитала все же лишает вас других прибыльных возможностей на крипторынках. Проводить транзакции в dApp действительно технически сложно, и некоторый страх перед неизвестностью тоже имеет разумные основания.

Но личный опыт на финансовых рынках и наблюдение за движением цен на этом рынке предсказаний многое мне рассказали о каждой из этих гипотез.

СТРАХ ВЗЛОМА СМАРТ-КОНТРАКТОВ

Поначалу я думал, что «страх взлома смарт-контрактов» – самый весомый из четырех аргументов, но со временем он кажется мне все менее значимым. Объяснить это можно через сравнение цен на YTRUMP и ITRUMP. ITRUMP расшифровывается как «недействительный Трамп» (invalid Trump), где «недействительный» означает результат, наступающий в исключительных случаях: когда описание события допускает двоякое толкование; когда на момент закрытия рынка исход события еще не известен; когда рынок неэтичен (например, рынки убийств) и так далее. В нашем случае цена ITRUMP неизменно оставалась ниже $0,02. Если бы кто-то решил нажиться на взломе уязвимостей рынка, ему было бы гораздо выгоднее покупать не YTRUMP по $0,15, а ITRUMP по $0,02. Купив много ITRUMP, он получит 50-кратную прибыль, если сможет добиться «недействительного» результата. Так что для тех, кто опасался атаки, было бы логичнее закупиться ITRUMP. Но сделали это очень немногие.

Ну и, конечно, против аргумента о страхе взлома смарт-контрактов также говорит тот факт, что люди на удивление равнодушны к рискам смарт-контрактов во всех криптовалютных приложениях помимо рынков предсказаний (например, Compound и различные схемы фарминга ликвидности). Если они готовы вкладывать свои деньги во всевозможные рискованные и непроверенные схемы всего лишь за потенциальные 5–8 % годовой прибыли, почему именно здесь они вдруг должны стать такими осторожными?

КАПИТАЛЬНЫЕ ЗАТРАТЫ

Зато проблему капитальных затрат – неудобств и издержек упущенных возможностей, связанных с блокированием больших сумм, – я, наоборот, теперь считаю куда более важной. Если посмотреть на все это лишь с точки зрения использования Augur, мне нужно было заблокировать 308 249 DAI в среднем на два месяца, чтобы получить прибыль в размере $56 803. Если пересчитывать на год, это приносило примерно 175 %, что звучит внушительно даже на фоне лета 2020 года с его манией фарминга ликвидности. Но все меняется, если учесть мои действия на MakerDAO. Поскольку я хотел сохранить свои ETH, мне нужно было получить DAI через CDP, а безопасное использование CDP требовало коэффициента покрытия в более чем троекратном размере. Следовательно, на самом деле мне пришлось заморозить около миллиона долларов.

Теперь процент уже не так впечатляет. Тем более он не впечатляет, если вспомнить о вероятности взлома смарт-контракта или беспрецедентного политического события, какой бы низкой она ни казалась.

Но даже так, с трехкратной блокировкой и трехпроцентной вероятностью взлома Augur (я купил ITRUMP, чтобы покрыть вероятность взлома в «недействительном» направлении, так что меня беспокоили только взлом в пользу «да» или прямая кража средств), показатель нейтральности к риску будет около 35 % и даже меньше, если учитывать, как обычно люди оценивают риски в реальной жизни. Сделка по-прежнему выглядит очень привлекательно, хотя вполне понятно, что такие цифры не впечатлят людей, которые живут и дышат криптовалютой с ее 100-кратными взлетами и падениями.

В свою очередь, сторонники Трампа не столкнулись ни с одной из этих проблем: они уравновесили мою ставку в $308 249, вложив всего $60 000 (мой выигрыш был меньше из-за комиссий). Когда вероятности близки к 0 или 1, как в данном случае, те, кто ставит на исход, более близкий к центру, чем к одной из этих крайностей, имеют явное преимущество. И это объясняет не только ситуацию с Трампом – по этой же причине вероятность победы всевозможных нишевых кандидатов, не имеющих реальных шансов, на рынках предсказаний часто доходит до 5 %.

ТЕХНИЧЕСКАЯ СЛОЖНОСТЬ

Сначала я попытался купить NTRUMP непосредственно на Augur, но из-за технических сбоев в интерфейсе мне так и не удалось сделать заказ (у всех, с кем я это обсуждал, такой проблемы не было; до сих пор не понимаю, что там произошло). Интерфейс Catnip намного проще и работает превосходно, однако автоматизированные маркетмейкеры вроде Balancer (и Uniswap) лучше подходят для небольших операций – при более крупных будет слишком высокое проскальзывание. Это хорошая отправная точка для более широких дискуссий на тему «автоматические маркетмейкеры (АММ) против книг ордеров»: AMM удобнее, но книги ордеров действительно лучше подходят для крупных сделок. Uniswap v3 обещает AMM с более высокой эффективностью капитала. Посмотрим, станет ли он от этого лучше.

Были и другие технические сложности, хотя все они, к счастью, кажутся легко разрешимыми. Нет никаких причин, по которым интерфейс вроде Catnip не мог бы интегрировать путь «DAI – > Foundry – > продать YTRUMP» в контракт, чтобы можно было купить NTRUMP за одну транзакцию. На самом деле интерфейс может даже проверять цены и ликвидность путей «DAI – > TRUMP» и «DAI – > Foundry – > продать YTRUMP» и автоматически предлагать вам лучшую сделку. В путь можно включить даже изъятие DAI из CDP MakerDAO. Здесь я настроен оптимистично: на этом этапе технические сложности действительно могли испугать потенциальных участников, но в будущем, по мере совершенствования технологий, все станет намного проще.

ИНТЕЛЛЕКТУАЛЬНАЯ НЕУВЕРЕННОСТЬ

Остается последний вариант: многие люди (особенно умные) патологически страдают от чрезмерной скромности и слишком поспешно приходят к выводу, что раз никто не сделал чего-то, то должна быть веская причина этого не делать.

Элиезер Юдковский разбирает этот феномен во второй половине своей прекрасной книги «Неадекватное равновесие», где утверждает, что слишком много людей злоупотребляют «эпистемологией скромности». По его мнению, нам стоит чаще действовать с опорой на результаты собственных рассуждений, даже если они подсказывают, что люди по большей части иррациональны, ленивы или в чем-то ошибаются. При первом знакомстве с книгой эта часть меня не впечатлила; казалось, что Элиезер просто очень высокомерен. Но после опыта с рынками предсказаний я понял, что в его позиции есть некоторая мудрость.

Это не первый случай, когда я на личном опыте убедился, что полезно доверять собственным суждениям. Когда я только начал работать над Ethereum, меня не оставлял страх, что должна быть какая-то очень веская причина, по которой проект обречен на провал. Я рассуждал так: полностью программируемый блокчейн, поддерживающий смарт-контракты, настолько улучшает существующую на тот момент систему, что кто-то точно должен был догадаться создать его раньше меня. Я был абсолютно уверен, что, стоит мне публично об этом заговорить, очень умные специалисты по криптовалютам приведут очень веские причины, по которым такие проекты, как Ethereum, принципиально невозможно реализовать. Но ничего подобного не произошло.

Конечно, не все страдают избыточной скромностью. Многих, кто поставил на победу Трампа, подвела чрезмерная уверенность в том, что нужно двигаться против течения. Мне когда-то удалось подавить свои страхи и излишнюю скромность, и это помогло Ethereum, но множеству других проектов интеллектуальная скромность позволила бы избежать серьезных ошибок.

Явно не страдает избыточной скромностью[77]

И все же я считаю, что сейчас как никогда актуальна знаменитая цитата Йейтса: «Лучшим недостает убежденности, тогда как худших переполняет неистовое рвение». Хотя излишняя самоуверенность или бунтарство порой чреваты ошибками, намного вреднее пропагандировать идею слепого повиновения тому, что общество уже создало: академическим институтам, средствам массовой информации, правительствам или рынкам. Все эти институты работают именно потому, что есть люди, считающие, что они не работают, или хотя бы иногда подвергающие сомнению их правоту.

УРОКИ ДЛЯ ФУТАРХИИ

Изначальное понимание важности капитальных затрат и их взаимосвязи с рисками также служит важным фактором оценки систем вроде футархии. Футархия и «рынки принятия решений» в целом – важная и потенциально очень полезная для общества область применения рынков предсказаний. Для общества нет особой пользы в чуть более точных прогнозах о том, кто станет следующим президентом, зато она есть в условных предсказаниях: если мы сделаем A, какова вероятность того, что это приведет к чему-то хорошему X, и каковы будут шансы, если вместо А мы сделаем Б? Условные предсказания важны тем, что они не просто удовлетворяют наше любопытство, но и помогают принимать решения.

Хотя рынки предсказаний результатов выборов далеко не так полезны, как условные предсказания, они все же могут пролить свет на важный вопрос: насколько такие рынки устойчивы к манипуляциям или даже просто предвзятым и неверным мнениям? Мы можем ответить на этот вопрос, оценив сложность арбитража: предположим, что сейчас рынок условных предсказаний дает неверные (по вашему мнению) вероятности (неважно, по какой причине: допустим, из-за плохо информированных трейдеров или из-за явной попытки манипуляции). Какое влияние вы сможете оказать и какую прибыль получить, если исправите ситуацию?

Начнем с конкретного примера. Предположим, с помощью рынка предсказаний мы пытаемся выбрать между решениями А и Б, каждое из которых с некоторой вероятностью поможет достичь нужного нам результата. Предположим, вы считаете, что вероятность добиться цели при решении А составляет 50 %, а при решении Б – 45 %. Однако рынок (по вашему мнению, ошибочно) полагает, что при А эта вероятность будет 40 %, а при Б – 55 %.

Допустим, вы не крупный участник рынка и ваши личные ставки на исход не повлияют. Это под силу только множеству игроков, действующих сообща. Сколько тогда вы должны поставить?

Стандартная теория здесь опирается на критерий Келли. По сути, вы должны действовать так, чтобы максимизировать ожидаемый логарифм ваших активов. В этом случае мы можем решить полученное уравнение. Предположим, вы инвестируете часть r своих денег в покупку токена А за $0,4. Тогда, с вашей точки зрения, ожидаемое новое значение логарифма вашего благосостояния будет:

Первое слагаемое – 50 %-ная вероятность (с вашей точки зрения), что ставка окупится и часть r, которую вы инвестируете, вырастет в 2,5 раза (поскольку вы купили доллары по 40 центов). Второе слагаемое – это 50 %-ная вероятность того, что ставка не окупится и вы все потеряете. С помощью вычислений мы можем найти r, которое максимизирует логарифм. Ответ: r = 1/6. Если другие люди будут покупать А и его цена на рынке вырастет до 47 % (а цена Б снизится до 48 %), можно повторить расчет для последнего трейдера, который перевернул бы рынок в пользу A:

Здесь r для максимизации ожидаемого значения логарифма благосостояния составляет всего 0,0566. Вывод очевиден: когда решения близки друг к другу и когда вокруг них много шума, оказывается, что разумнее инвестировать в рынок лишь небольшую часть своих денег. И здесь нужно сохранять рациональность: большинство людей вкладывают в сомнительные азартные игры меньше, чем следует по критерию Келли. Капитальные затраты еще больше увеличиваются. Но если злоумышленник по каким-то личным причинам действительно захочет добиться результата Б, он может просто направить весь свой капитал на покупку этого токена. В целом игра может легко переломиться более чем на 20:1 в пользу атакующего.

Конечно, в реальности злоумышленники редко готовы поставить все свои средства на одно решение. К тому же для атак уязвима не только футархия: в той же мере уязвимы фондовые рынки, а решительно настроенные богатые злоумышленники могут всячески манипулировать нерыночными механизмами принятия решений. Тем не менее мы должны с осторожностью подходить к утверждению, что футархия поднимет точность принятия решений на новые высоты.

Интересно, что математика, по-видимому, предполагает, что футархия эффективнее всего будет работать в тех случаях, когда предполагаемые манипуляторы захотят подтолкнуть результат к экстремальному значению. Примером может послужить страхование ответственности, поскольку желающий незаконно получить страховку фактически пытается свести к нулю оцененную рынком вероятность того, что какое-то неблагоприятное событие действительно произойдет. И, как оказалось, страхование ответственности – новый любимый политический рецепт изобретателя футархии Робина Хэнсона.

МОГУТ ЛИ РЫНКИ ПРЕДСКАЗАНИЙ СТАТЬ ЛУЧШЕ?

Осталось ответить на последний важный вопрос: обречены ли рынки предсказаний повторять грубейшие ошибки вроде предоставления Трампу 15 %-ного шанса отменить результаты выборов в начале декабря и 12 %-ного шанса отменить их даже после того, как его отшил Верховный суд с назначенными им же судьями? Или со временем рынки могут стать лучше? Я, как ни странно, настроен очень оптимистично, и для этого есть несколько причин.

РЫНКИ КАК ЕСТЕСТВЕННЫЙ ОТБОР

Во-первых, эти события позволили мне иначе взглянуть на то, как на самом деле работает рыночная эффективность и рациональность. Слишком часто сторонники теорий рыночной эффективности утверждают, что она достигается благодаря рациональности большинства участников (или хотя бы потому, что рациональные игроки преобладают над любыми группами заблуждающихся участников); это считается аксиомой. Но можно попробовать взглянуть на происходящее с эволюционной точки зрения.

Криптовалютная экосистема еще очень молода. Пока она оторвана от мейнстрима, как бы ни влиятельны были твиты Илона[78], и не накопила достаточно опыта, чтобы разбираться в тонкостях избирательной политики. Экспертам по электоральному процессу трудно попасть в криптомир, а в криптомире довольно много бунтарей, которые не всегда правы, особенно когда дело доходит до политики. И все же у нас есть следующий факт: в этом году участники рынка предсказаний, которые ожидали победы Байдена и оказались правы, получили 18 %-ное увеличение своего капитала, а участники, которые ошибочно ожидали победы Трампа, получили 100 %-ное уменьшение своего капитала (точнее, той его части, которую они потратили на ставки).

Таким образом, существует давление отбора в пользу участников, которые в итоге оказываются правы. Пройдет десять раундов, и у хороших предсказателей будет больше капитала для ставок, а у плохих – меньше. Речь не о том, что кто-то «становится мудрее» или «извлекает уроки», и не о каких-то других предположениях о способности людей рассуждать и учиться. Просто со временем за счет динамики отбора в экосистеме начнут доминировать участники, которые умеют строить более точные догадки.

Обратите внимание, что в этом отношении рынки предсказаний лучше фондовых рынков: «нувориши» фондовых рынков часто появляются благодаря везению и тысячекратному увеличению одной ставки, из-за чего трейдинг там не всегда рациональный, в то время как на рынках предсказаний цены колеблются между 0 и 1, ограничивая влияние какого-либо единичного события.

СОВЕРШЕНСТВОВАНИЕ УЧАСТНИКОВ И ТЕХНОЛОГИЙ

Во-вторых, улучшатся сами рынки предсказаний. Пользовательские интерфейсы уже значительно улучшились и будут улучшаться дальше. Сложный цикл MakerDAO – > Foundry – > Catnip сведется к одной транзакции. Технология масштабирования блокчейна будет совершенствоваться, снижая комиссии для участников.

В-третьих, мы увидели, что рынок предсказаний действительно работает, и это уменьшит опасения участников. Пользователи поймут, что оракул Augur способен выдавать правильные результаты даже в очень спорных ситуациях (в этот раз было два раунда споров, но в конечном итоге сторона «нет» одержала чистую победу). Люди за пределами криптопространства увидят, что процесс работает, и с большей вероятностью захотят в нем поучаствовать. Возможно, даже сам Нейт Сильвер когда-нибудь сможет раздобыть DAI и с помощью Augur, Omen, Polymarket или других рынков увеличить свой доход в 2022‐м и следующих годах.

В-четвертых, может улучшиться сама технология рынка предсказаний. Вот мое предложение[79] по дизайну рынка, которое могло бы повысить эффективность одновременных ставок на множество маловероятных событий, помогая предотвратить иррационально высокие коэффициенты на маловероятные исходы. Наверняка появятся и другие идеи, и я с нетерпением жду новых экспериментов в этом направлении.

ВЫВОД

Вся эта эпопея оказалась невероятно интересным способом протестировать рынки предсказаний и то, как они справляются с трудностями индивидуальной и социальной психологии. Мы многое узнали о том, как на практике складывается рыночная эффективность, каковы ее пределы и как ее можно улучшить.

Также эта история прекрасно продемонстрировала силу блокчейна – по сути, это один из тех случаев, когда приложение на Ethereum принесло мне самую непосредственную пользу. Блокчейны часто называют спекулятивными игрушками, которые не создают ничего значимого, кроме самореферентных игр (токены в фарминге ликвидности, доходность которых зависит от… запуска других токенов). Но критики упускают из виду некоторые исключения; лично мне уже удалось удачно воспользоваться ENS и даже оплатой в ETH в тех случаях, когда не работали кредитные карты. Однако в последние несколько месяцев мы наблюдаем стремительный рост числа приложений на Ethereum, которые несут людям конкретную пользу и взаимодействуют с реальным миром. Рынки предсказаний – один из главных примеров.

Полагаю, в ближайшие годы рынки предсказаний станут одним из важнейших приложений на платформе Ethereum. Выборы 2020 года были только началом – в будущем я ожидаю роста интереса к рынкам предсказаний, причем не только для угадывания результатов выборов, но и для условных предсказаний, принятия решений и других важных задач. Конечно, удивительные возможности рынков предсказаний при математически корректной работе будут и дальше сталкиваться с ограничениями человеческой реальности, но, надеюсь, со временем мы найдем лучшие способы применения этой новой социальной технологии.

Особая благодарность Джеффу Коулману, Карлу Флёршу и Робину Хэнсону за критику и обратную связь.

Легитимность – самый важный дефицитный ресурс

VITALIK.CA

23 марта 2021 года

Блокчейн-экосистемы Bitcoin и Ethereum тратят на сетевую безопасность – то есть на майнинг proof of work – больше, чем на все остальное вместе взятое. С начала этого года блокчейн Bitcoin ежедневно тратит около 38 миллионов долларов на вознаграждения майнерам за создание блоков плюс около 5 миллионов долларов – на выплату им транзакционных комиссий. Блокчейн Ethereum занимает второе место: он тратит на создание блоков 19,5 миллиона долларов в день, а на транзакционные комиссии – 18 миллионов долларов. Между тем годовой бюджет Ethereum Foundation, средства из которого идут на исследования, разработку протоколов, гранты и прочие расходы, составляет всего 30 миллионов долларов. Помимо EF существуют и другие источники финансирования, но их бюджет в лучшем случае лишь в несколько раз больше. Расходы экосистемы Bitcoin на исследования и НИОКР[80], вероятно, еще ниже. НИОКР экосистемы Bitcoin финансируются в основном компаниями (на данный момент собрано в общей сложности 250 миллионов долларов) и примерно 57 сотрудниками. Если учесть довольно высокие зарплаты и вероятность того, что выплаты многим разработчикам не учитываются, мы получим около 20 миллионов долларов в год.

Очевидно, что при такой структуре расходов ресурсы распределяются совершенно нерационально. Последние 20 % хеш-мощности сети приносят экосистеме гораздо меньше пользы, чем могли бы, если бы шли на исследования и разработку основного протокола. Так почему бы просто… не сократить бюджет PoW на 20 % и не перенаправить эти средства на другие цели?

Чаще всего ответ на эту загадку связан с концепциями «теории общественного выбора» и «заборов Шеллинга»: даже при том, что мы можем легко определять некоторые ценные общественные блага и точечно перенаправлять на них часть финансирования, введение регулярной институционализированной модели принятия таких решений грозит политическим хаосом и захватом власти, что в долгосрочной перспективе перекрывает все преимущества. Какие бы тому ни были причины, мы имеем дело с интересным фактом: экосистемы Bitcoin и Ethereum способны накапливать миллиардные капиталы, но сталкиваются со странными и труднообъяснимыми ограничениями в том, куда этот капитал можно направить.

Стоит разобраться, что за мощная социальная сила стоит за этим явлением. Как мы увидим далее, эта же социальная сила отвечает за саму способность экосистемы Ethereum накапливать эти ресурсы (которой нет у почти идентичной с технической точки зрения Ethereum Classic[81]). Она же помогает восстановить цепочку блоков после атаки 51 %, и она же лежит в основе всевозможных мощнейших механизмов, действующих далеко за пределами блокчейн-пространства. По причинам, которые станут ясны к концу этого текста, под этой мощной социальной силой я подразумеваю легитимность.

МОНЕТЫ МОГУТ ПРИНАДЛЕЖАТЬ СОЦИАЛЬНЫМ КОНТРАКТАМ

Оценить мощь этой силы поможет другой важный пример – эпопея со Steem и Hive. В начале 2020 года Джастин Сан купил компанию Steem, которая существует отдельно от блокчейна Steem, но владеет 20 % выпущенных токенов STEEM. Разумеется, сообщество не доверяло Джастину Сану. Оно решило провести внутри блокчейна голосование, чтобы придать официальный статус давнему «джентльменскому соглашению»: токены компании Steem нужно хранить для общего блага блокчейна Steem и нельзя использовать в голосованиях. В ответ Джастин Сан вооружился токенами, которые хранились на бирже, и взял под контроль достаточно делегатов, чтобы единолично управлять блокчейном. Больше сообщество не могло действовать внутри протокола, поэтому создало форк блокчейна Steem под названием Hive и скопировало туда все балансы токена STEEM, кроме балансов участников атаки, в том числе Джастина Сана.

Из этой истории мы можем вынести следующий урок: компания Steem на самом деле никогда не «владела» монетами. Будь это так, она могла бы свободно пользоваться монетами и злоупотреблять ими в свое удовольствие. Когда же компания все-таки попыталась злоупотребить ими вопреки мнению сообщества, ее успешно остановили. Этот случай напоминает ситуацию с вознаграждениями еще не выпущенными монетами Bitcoin и Ethereum, где монеты в конечном счете принадлежали не криптографическому ключу, а определенному социальному контракту.

Эту логику можно применить и ко многим другим структурам в блокчейне. Возьмем, например, корневую мультиподпись ENS[82]. Корневую мультиподпись контролируют семь известных членов сообщества Ethereum и ENS. Но что будет, если четверо из них объединятся и обновят регистратор так, чтобы он передавал им лучшие домены? Если взглянуть на ENS как на систему смарт-контрактов, у них есть полное и неоспоримое право это сделать. Но если бы они действительно попытались злоупотребить своими техническими преимуществами, известно, чем бы это закончилось: их изгнали бы из сообщества, а оставшиеся участники заключили бы новый контракт ENS, где домены вернулись бы к первоначальным владельцам, а каждое приложение Ethereum, использующее ENS, перешло бы на новый пользовательский интерфейс.

И у них уже много приложений. Не сделай они этого, намного больше пользователей либо остались бы в Steem, либо полностью перешли бы в совершенно другой проект

Здесь мы выходим за пределы структур смарт-контрактов. Почему Илон Маск может продать NFT своего твита, но Джеффу Безосу было бы не так легко продать тот же самый твит? Оба способны сделать скриншот твита Илона и вставить его в dApp NFT. В чем же разница? Для любого, кто хотя бы интуитивно понимает основы социальной психологии человека (или слышал о подделках художественных произведений), ответ очевиден: Илон, продающий твит Илона, – оригинал, а Джефф, делающий то же самое, – подделка. Это же правило работает и в случае многомиллионных активов: их контролируют и распределяют не отдельные лица или криптографические ключи, а социальные представления о легитимности.

Если зайти еще дальше, легитимность господствует над всеми видами игр социального статуса, интеллектуальным дискурсом, языком, правами собственности, политическими системами и национальными границами. Она управляет даже консенсусом в блокчейне: единственная разница между софтфорком, который принимает сообщество, и цензурной атакой 51 %, после которой сообщество согласовывает форк восстановления вне протокола, чтобы избавиться от злоумышленника, – это легитимность.

ЧТО ЖЕ ТАКОЕ ЛЕГИТИМНОСТЬ?

Чтобы понять, как работает легитимность, нужно немного углубиться в теорию игр. В жизни многие ситуации требуют скоординированного поведения: если вы действуете определенным образом в одиночку, вы, скорее всего, ничего не добьетесь (или даже хуже), но, согласовав действия с другими, вы сможете достичь желаемого результата.

Абстрактная координационная игра.

Для вас очень выгодно сделать тот же ход, что и остальные

Хороший пример – езда по левой или правой стороне дороги. Неважно, по какой именно стороне передвигаются люди; главное – чтобы это была одна и та же сторона. Если вы решите сменить сторону одновременно с остальными и большинству эта перемена придется по вкусу, можно получить чистую выгоду. Но если вы смените сторону самовольно, то, как бы вам это ни понравилось, конечный результат не будет для вас благоприятным.

Теперь мы готовы дать определение легитимности.

Легитимность – это паттерн принятия высшего порядка. Решение в определенном социальном контексте легитимно, если большинство участников этого социального контекста его принимают и играют свою роль в его реализации и каждый отдельный человек делает это потому, что ожидает такого же поведения от всех остальных.

В координационных играх легитимность возникает естественным образом. Вне координационной игры у вас нет причин действовать в соответствии с ожидаемым поведением других людей, так что легитимность здесь не важна. Однако общество, как мы уже видели, насквозь пронизано координационными играми, так что в итоге легитимность оказывается очень важной. Практически в любой среде, где координационные игры существуют достаточно долго, неизбежно возникают определенные механизмы принятия решений. Эти механизмы встраиваются в культуру, где люди их учитывают и (обычно) следуют их предписаниям. Каждый человек рассуждает так: поскольку все следуют этим механизмам, я, поступив как-то иначе, только создам опасный для меня конфликт или в крайнем случае останусь один в экосистеме, которую покинули все остальные. Если механизм успешно помогает делать подобный выбор, он обладает легитимностью.

В любом контексте, где координационная игра существует достаточно долго, скорее всего, будет и концепция легитимности. А в блокчейне полно координационных игр. Какое клиентское программное обеспечение вы используете? В какой децентрализованный реестр доменных имен отправляете запрос и какой адрес соответствует имени с. eth? Какую копию контракта Uniswap вы сочтете «настоящим» обменом Uniswap?[83] Даже NFT являются координационной игрой. Ценность NFT складывается из двух компонентов: во-первых, гордости от обладания NFT и возможности этим похвастаться, а во-вторых, перспективы в будущем его продать. И там и там исключительно важно, чтобы все остальные признавали легитимность купленного вами NFT. Во всех перечисленных случаях вам будет выгодно принимать те же решения, что и остальные; и механизм, отвечающий за этот баланс, обладает огромной силой.

ТЕОРИИ ЛЕГИТИМНОСТИ

Легитимности можно достичь самыми разными способами. В целом что-то приобретает легитимность, когда становится психологически привлекательным для большинства людей. Но психологическое восприятие часто складывается из множества факторов. Составить полный перечень теорий легитимности невозможно, но можно начать с нескольких.

▓ Легитимность за счет грубой силы: некто убеждает всех, что он достаточно силен, чтобы навязывать свою волю и справиться с любым сопротивлением. Большинство подчиняется ему, предполагая, что все остальные тоже слишком напуганы, чтобы сопротивляться.

▓ Легитимность за счет непрерывности: если что-то было легитимным в момент T, оно по умолчанию будет легитимно в момент T+1.

▓ Легитимность за счет справедливости: что-то может стать легитимным потому, что оно соответствует интуитивным представлениям о справедливости. Отчасти это описано в моей статье о достоверной нейтральности, хотя важно помнить, что есть и другие виды справедливости.

▓ Легитимность за счет процесса: если процесс легитимен, то легитимны и его результаты (например, законы, принятые в демократических странах).

▓ Легитимность за счет результатов: если большинство людей удовлетворены результатами процесса, то этот процесс может обрести легитимность (например, когда диктатура улучшила ситуацию в стране).

▓ Легитимность за счет участия: если люди участвуют в принятии решения, они с большей вероятностью сочтут его легитимным. Это похоже на справедливость, но не совсем: здесь работает психологическое желание быть последовательными в своих действиях.

Обратите внимание, что легитимность – описательное, а не оценочное понятие: что-то может считаться легитимным, даже если лично вам это кажется ужасным. Тем не менее, если с вами согласится достаточно много людей, в будущем наверняка произойдет что-то такое, что сперва пошатнет, а затем окончательно разрушит эту легитимность.

ЛЕГИТИМНОСТЬ – МОЩНАЯ СОЦИАЛЬНАЯ ТЕХНОЛОГИЯ, И ЕЕ НУЖНО ИСПОЛЬЗОВАТЬ

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

Отреагировать на этот факт можно двумя способами. Первый – гордиться этими ограничениями и тем, как героически, пусть и не всегда эффективно, ваше сообщество все-таки продолжает функционировать. Похоже, именно этот путь предпочла экосистема Bitcoin.

Самоотверженность команд, готовых вкладываться в фундаментальные разработки, несомненно, достойна восхищения, но в той же мере достойна восхищения способность Элиуда Кипчоге пробежать марафон менее чем за два часа: это впечатляющее проявление человеческой силы духа, но оно не имеет отношения к будущему развитию транспорта (или, в нашем случае, к финансированию общественных благ). Подобно тому как более совершенные технологии позволяют нам преодолевать 42 километра менее чем за час без многолетних тренировок, мы должны сосредоточиться на создании более совершенных социальных технологий, которые помогут финансировать общественные блага в нужных объемах и делать это системно внутри нашей экономической экосистемы, а не в качестве разовых актов филантропии.

Теперь вернемся к криптовалюте. Главная сила криптовалюты (и других цифровых активов вроде доменных имен, виртуальной земли и NFT) заключается в том, что она позволяет сообществам накапливать большие суммы капитала без необходимости чьих-либо личных вложений. Однако этот капитал ограничен концепциями легитимности: если просто взять и выделить его централизованной команде, это приведет к потере его ценности. Хотя Bitcoin и Ethereum уже полагаются на концепции легитимности для реагирования на атаки 51 %, использовать их для финансирования общественных благ внутри протокола намного сложнее. Зато на прикладном уровне, который становится все более прибыльным и где регулярно создаются новые протоколы, у нас намного больше свободы распределять это финансирование.

ЛЕГИТИМНОСТЬ В BITSHARES

Когда-то давно Bitshares предложили, на мой взгляд, инновационную, но ныне уже забытую модель социального консенсуса. По сути, Bitshares описали себя как сообщество людей (держателей PTS и AGS), готовых коллективно поддерживать экосистему с новыми проектами, но для попадания в эту экосистему проект должен был выделить 10 % своих токенов держателям PTS и AGS.

Разумеется, любой желающий может создать проект и ничего не выделять держателям PTS/AGS – или даже сделать форк проекта, который выделил средства, и забрать их. Но вот что сказал Дэн Лаример:

Нельзя заставить кого-то что-то делать, но на этом рынке многое решает сетевой эффект. Если вы создадите интересный продукт, то сможете привлечь целое сообщество PTS по цене создания нового первичного блока. Человеку, который решит начать с нуля, придется выстроить вокруг своей системы целое новое сообщество. Учитывая сетевой эффект, подозреваю, что проекты лишь выиграют от присоединения к ProtoShare.

Это тоже концепция легитимности: проекты, которые распределяют средства между владельцами PTS/AGS, получают внимание и поддержку сообщества (каждому отдельному члену сообщества выгодно проявлять интерес к проекту, потому что остальные делают то же самое), а проекты, не выделяющие токены, соответственно, ничего не получают. Разумеется, не нужно копировать эту концепцию легитимности один в один – сообщество Ethereum не горит желанием обогатить какую-то маленькую группу первых последователей, – но ее можно взять за основу и превратить в нечто, что принесет больше общественной пользы.

ТА ЖЕ МОДЕЛЬ В ETHEREUM

Блокчейн-экосистемы, в том числе Ethereum, ценят свободу и децентрализацию. Но экология общественных благ большинства блокчейнов, к сожалению, все еще довольно централизована: в Ethereum, Zcash или других крупных блокчейнах за нее отвечает одна организация (максимум две-три), которая расходует большую часть средств и практически ничего не оставляет независимым командам, которые хотят создавать общественные блага. Я называю эту модель финансирования общественных благ «Центральные координаторы капитала для общественных благ» (Central Capital Coordinators for Public-goods – CCCP).

Сами организации в таком положении дел не виноваты. Наоборот, они поддерживают экосистему настолько, насколько позволяют условия. Дело скорее в том, что правила экосистемы несправедливы по отношению к организациям, потому что устанавливают для них несправедливо высокие стандарты. Ни одна централизованная организация не способна охватить своим вниманием абсолютно всё. Она будет не в состоянии осознать ценность некоторых категорий и команд, и не потому, что кто-то из участников сделает что-то не так, а потому, что такое совершенство недостижимо для маленькой группы людей. Следовательно, будет полезно поискать более диверсифицированный и гибкий подход к финансированию общественных благ, чтобы снять нагрузку с какой-то отдельной организации.

К счастью, у нас уже есть зачатки такой альтернативы! Экосистема прикладного уровня Ethereum существует, набирает силы и показывает свою нацеленность на общественное благо. Компании вроде Gnosis участвуют в разработке клиента Ethereum, а различные проекты Ethereum DeFi пожертвовали сотни тысяч долларов в соответствующий пул Gitcoin Grants.

Gitcoin Grants уже достигли высокого уровня легитимности: их механизм финансирования общественных благ – квадратичное финансирование – зарекомендовал себя как достоверно нейтральный и эффективный в отражении приоритетов и ценностей сообщества, а также в исправлении недочетов существующих механизмов финансирования. Бывает даже, что крупный грант от Gitcoin Grants вдохновляет других, более централизованных грантодателей профинансировать тот же проект. Кстати, Ethereum Foundation непосредственно участвовал в поддержке этих экспериментов и продвижении диверсификации, взращивая Gitcoin Grants, MolochDAO и другие проекты, которые позже получили более широкую поддержку сообщества.

Помочь этой зарождающейся экосистеме финансирования общественных благ можно через модель Bitshares, точнее ее модифицированную версию. Вместо того чтобы поддерживать проекты, распределяющие свои токены между небольшой олигархической группой, закупившейся PTS или AGS еще в 2013 году, сообщество может помогать тем проектам, которые выделяют небольшую часть своих бюджетов на общественные блага, благодаря которым существует их экосистема. И, что особенно важно, можно игнорировать форки проектов, которые не приносят пользу экосистеме.

Поддержать общественные ценности можно по-разному: взять на себя долгосрочное обязательство финансировать пул Gitcoin Grants; содействовать разработке клиентов Ethereum (что также достоверно нейтрально, поскольку можно четко определить, что является клиентом Ethereum, а что – нет) или даже запустить свою программу грантов, которая выйдет за рамки конкретного проекта. Пожалуй, проще всего договориться о том, какой поддержки будет достаточно, если определить ее конкретный объем: например, пусть 5 % расходов проекта пойдут на поддержку экосистемы и еще 1 % – на общественные блага за пределами блокчейна. После этого останется только надеяться на добросовестность проектов при выборе направления, куда направить помощь.

ДЕЙСТВИТЕЛЬНО ЛИ СООБЩЕСТВО МОЖЕТ ДИКТОВАТЬ СВОИ УСЛОВИЯ?

Конечно, ценность такой поддержки сообщества имеет свои ограничения. Если конкурирующий проект (или даже форк существующего проекта) предложит лучший продукт, пользователи переметнутся туда, сколько бы от них ни требовали выбрать что-то более полезное для сообщества.

Но здесь важен контекст: где-то у сообществ почти не будет рычагов давления, а где-то – наоборот. Показательна история с токенами Tether и DAI. Несмотря на все скандалы вокруг Tether, трейдеры все равно продолжают использовать его в привязке к доллару. А вот более децентрализованный и прозрачный DAI со всеми своими преимуществами не смог отвоевать у Tether значимую долю рынка, по крайней мере среди трейдеров. Зато DAI преуспел в приложениях: Augur использует DAI, xDai использует DAY, Pool Together использует DAI, zk.money планирует использовать DAY, и список можно продолжать. Но многие ли dАpp используют USDT?

Следовательно, хотя сила легитимности, которую определяет сообщество, не безгранична, ее все же достаточно, чтобы убедить проекты выделять хотя бы пару процентов от своих бюджетов на благо экосистемы. В этом есть даже личная выгода: если бы, разрабатывая Ethereum-кошелек, записывая подкаст или обозревая новости, вы увидели бы два конкурирующих проекта, где один значительно помогает экосистеме, к которой вы принадлежите, а другой – нет, кому бы в первую очередь вы помогли удержаться на рынке?

NFT: ПОДДЕРЖКА ОБЩЕСТВЕННЫХ БЛАГ ЗА ПРЕДЕЛАМИ ETHEREUM

Концепция поддержки общественных благ за счет ценности, генерируемой «из эфира» благодаря общепринятым концепциям легитимности, выходит далеко за рамки экосистемы Ethereum. Например, NFT бросают нам сложный вызов, предлагая при этом большие возможности. У NFT есть все шансы существенно помочь многим видам общественных благ, особенно творческой сфере с ее системными финансовыми трудностями.

Но эту возможность легко упустить: едва ли обществу станет лучше от того, что Илон Маск сможет заработать еще один миллион долларов, с учетом того, что деньги от продажи твита он заберет себе (стоит отдать ему должное: в конце концов он решил этого не делать). В NFT не будет ничего особенного, если они превратятся в казино, где выигрывают и без того богатые знаменитости.

К счастью, конечный результат – в наших руках. Какие NFT люди захотят покупать, а какие нет, решает легитимность: если все согласятся, что первый NFT интересен, а на другие не стоит и смотреть, то люди захотят приобрести первый, потому что обладать им престижно и потому что в будущем его можно будет выгодно перепродать, ведь все остальные тоже считают его ценным. Если направить концепцию легитимности NFT в нужное русло, можно получить стабильный источник финансирования искусства, благотворительных организаций и других общественно полезных начинаний.

Прекрасное начало

Здесь у меня есть две идеи.

1. Какой-нибудь институт (или даже ДАО) мог бы «благословлять» NFT в обмен на гарантию, что часть доходов от него пойдет на благотворительные цели, принося пользу сразу нескольким группам. Такое благословение можно даже сопроводить официальной категоризацией: например, NFT может поддерживать глобальную борьбу с бедностью, научные исследования, искусство, местную журналистику, разработки программного обеспечения с открытым исходным кодом, расширение прав и возможностей маргинализированных сообществ или что-то еще.

2. Можно договориться с платформами социальных сетей, чтобы пользователи могли показать свои NFT на личных страницах и тем самым продемонстрировать, что поддерживают определенные ценности не только словами, но и честно заработанными деньгами. Этот пункт можно объединить с первым, чтобы подтолкнуть пользователей покупать NFT с благотворительными целями.

Есть еще много идей, но конкретно эти две заслуживают внимания и проработки.

ПОДВЕДЕМ ИТОГИ

▓ Концепция легитимности (принятия высшего порядка) очень сильна. Легитимность появляется везде, где есть координация, и особенно в интернете, где координация присутствует повсюду.

▓ Легитимности можно достичь разными способами, в первую очередь – за счет грубой силы, непрерывности, справедливости, процесса, результата и участия.

▓ Сила криптовалюты в том, что с ее помощью группа людей может накапливать крупные суммы как единое экономическое целое. Это капиталы, которые никогда не принадлежали кому-то конкретному, подчиняются непосредственно концепциям легитимности.

▓ Слишком рискованно начинать финансировать общественные блага, выпуская токены на базовом уровне. Однако, к счастью, Ethereum обладает очень богатой и куда более гибкой экосистемой прикладного уровня. Отчасти это связано с возможностью не только влиять на существующие проекты, но и формировать будущие.

▓ Сообщество должно поддерживать проекты прикладного уровня, которые стремятся развивать общественные блага внутри сообщества, и это очень важно. Пример с DAI[84] показывает, что такая поддержка может сыграть огромную роль!

▓ Экосистема Ethereum неравнодушна к дизайну механизмов и инновациям на уровне общества. Поэтому работа над проблемами финансирования общественных благ внутри самой экосистемы Ethereum стала бы хорошей стартовой точкой!

▓ Но помочь может не только Ethereum. NFT – хороший пример того, как судьба большого капитала зависит от концепций легитимности. Индустрия NFT может стать по-настоящему ценной для художников, благотворительных организаций и других источников общественных благ далеко за пределами нашего виртуального мира. Получится это или нет – зависит от совместных усилий и поддержки сообщества.

Особая благодарность Карлу Флёршу, Айе Миягути и Mr. Silly за идеи, обратную связь и критику.

Против злоупотребления коэффициентом Джини

VITALIK.CA

29 июля 2021 года

Сегодня коэффициент Джини (или индекс Джини), которым обычно измеряют неравенство в доходах или богатстве в отдельной стране, регионе или другом сообществе, – самый известный и популярный показатель неравенства. Это связано с его простотой и возможностью визуализировать его математическое определение в форме графика.

Однако – что ожидаемо для любой схемы, сводящей показатели неравенства к одному числу, – у коэффициента Джини есть свои ограничения. Им стоит пользоваться с осторожностью даже в изначальном контексте – при измерении неравенства доходов и богатства в отдельных странах, – не говоря уже о других областях (в частности, о криптовалюте). В этой статье я расскажу о некоторых ограничениях коэффициента Джини и предложу несколько альтернатив.

ЧТО ТАКОЕ КОЭФФИЦИЕНТ ДЖИНИ?

Коэффициент Джини – это показатель неравенства, предложенный Коррадо Джини в 1912 году. Обычно им измеряют неравенство доходов и богатства в отдельных странах, хотя все чаще пользуются и в других контекстах.

Существуют два равнозначных определения коэффициента Джини.

▓ Определение как области над кривой: нарисуем график функции, где f(p) равняется доле общего дохода, получаемого самой низкооплачиваемой частью населения (например, f(0,1) – доля общего дохода, получаемого 10 % с самым низким доходом). Коэффициент Джини – это область между кривой и линией y = x, которая измеряется как доля от всего треугольника.

▓ Определение через среднюю разницу: коэффициент Джини равен половине средней разницы в доходах между всеми возможными парами людей, разделенной на средний доход.

Например, на графике выше у нас есть четыре показателя дохода [1, 2, 4, 8], так что есть 16 возможных различий между ними [0, 1, 3, 7, 1, 0, 2, 6, 3, 2, 0, 4, 7, 6, 4, 0]. Следовательно, средняя разница составляет 2,875, а средний доход – 3,75, так что Джини =

Получается, что эти определения математически эквивалентны (читатель может поупражняться в доказательстве этого утверждения)!

ЧТО НЕ ТАК С КОЭФФИЦИЕНТОМ ДЖИНИ?

Коэффициент Джини любят за то, что это достаточно простой и понятный статистический показатель. Может показаться, что он совсем не простой, но, поверьте, так выглядит практически вся статистика, связанная с произвольной численностью населения (а часто даже хуже). Вот, например, формула совершенно обыкновенного стандартного отклонения:

А вот Джини:

Он куда безобиднее, чем кажется, честно!

Что же не так с коэффициентом Джини? На самом деле много чего. Его недостатки описаны во множестве статей, так что здесь я сосредоточусь на одном. На мой взгляд, этому изъяну уделяли недостаточно внимания при обсуждении Джини в целом, и он непосредственно связан с анализом неравенства в интернет-сообществах вроде блокчейна. Этот недостаток заключается в том, что коэффициент Джини объединяет в единый показатель неравенства две совершенно разные проблемы: проблему страданий из-за нехватки ресурсов и проблему концентрации власти.

Чтобы лучше понять разницу между этими проблемами, рассмотрим два антиутопических сценария.

▓ Антиутопия А: половина населения поровну делит между собой все ресурсы, а у второй половины не остается ничего.

▓ Антиутопия Б: половина ресурсов попадает в руки одного человека, а население делит оставшееся поровну между собой.

Вот кривые Лоренца (выпуклая диаграмма, которую мы видели выше) для обеих антиутопий.

Очевидно, что в обоих мирах жизнь сложится непростая, но непростая по-разному. Житель антиутопии А попадет либо в левую половину с невообразимым и ужасающим массовым голодом, либо в правую, где царит эгалитарная гармония. Если вы Танос[85], вам вполне может там понравиться! В ином случае лучше обходить это место стороной. Антиутопия Б, в свою очередь, напоминает «Дивный новый мир»: у всех вполне достойная жизнь (по крайней мере, на тот момент, когда фиксируются данные о богатстве), но за нее приходится платить крайне недемократической структурой власти, где вся надежда на то, что правитель окажется хорошим. Если вы Кёртис Ярвин[86], вам вполне может там понравиться! В ином случае, опять же, лучше обходить такое место стороной.

Это достаточно разные проблемы, поэтому нужно измерять и анализировать их по отдельности. Причем они различаются не только теоретически. Вот диаграмма, сравнивающая долю общего дохода нижних 20 % (довольно надежный показатель удаленности от антиутопии А) с долей общего дохода верхнего 1 % (довольно надежный показатель приближенности к антиутопии Б).

Источники: https://data.worldbank.org/indicator/SI.DST.FRST.20 (смешанные данные за 2015 и 2016 годы) и http://hdr.undp.org/en/indicators/186106

Показатели явно коррелируют (коэффициент –0,62), но очень далеки от идеальной корреляции (верховные жрецы статистики, если я не ошибаюсь, считают 0,7 нижним порогом «высокой корреляции», а мы не добрались даже до него). В диаграмме есть интересное и достойное отдельного анализа второе измерение: в чем разница между страной, где верхний 1 % зарабатывает 20 % от общего дохода, а нижние 20 % – 3 %, и страной, где верхний 1 % зарабатывает 20 %, а нижние 20 % – 7 %? Увы, эти изыскания я лучше оставлю более опытным исследователям данных и культуры.

ПОЧЕМУ ДЖИНИ НЕ ПОДХОДИТ ДЛЯ НЕГЕОГРАФИЧЕСКИХ СООБЩЕСТВ (НАПРИМЕР, ИНТЕРНЕТА/КРИПТОСООБЩЕСТВ)

Проблема концентрации богатства в блокчейне тоже актуальна и заслуживает отдельных измерений и анализа. Это важно для блокчейн-сообщества в целом, поскольку многие люди (и Сенат США на своих слушаниях[87]) пытаются выяснить, действительно ли криптография так антиэлитарна или она просто заменяет старые элиты новыми. Показатель концентрации богатства также важен при сравнении различных криптовалют.

Доля монет первоначального предложения криптовалюты, изначально выделенная отдельным инсайдерам, – один из типов неравенства. Обратите внимание, что данные об Ethereum не совсем точны: доли инсайдеров и фонда должны составлять 12,3 и 4,2 %, а не 15 и 5%

С учетом повышенного внимания к этим проблемам неудивительно, что многие пытались вычислить индексы Джини для криптовалют. И не все результаты оказались так плохи, как уверяла сенсационная статья 2014 года.

Помимо понятных и банальных методологических ошибок (смешивание неравенства в доходах с неравенством в богатстве, смешивание пользователей с учетными записями или и то и другое) использование коэффициента Джини для такого рода сравнений связано с более глубокой и не вполне очевидной проблемой. Эта проблема кроется в ключевом различии между типичными географическими сообществами (например, городами или странами) и типичными интернет-сообществами (например, блокчейном).

Типичный житель географического сообщества тратит бóльшую часть своего времени и ресурсов внутри этого сообщества, поэтому измеряемое неравенство в географическом сообществе отражает неравенство в общем объеме доступных людям ресурсов. Но в интернет-сообществе измеряемое неравенство может происходить из двух источников: первый – неравенство в общем объеме ресурсов, доступных разным участникам, второй – неравенство в уровне заинтересованности в участии в сообществе.

Среднестатистический человек с $15 в фиатной валюте беден и лишен шансов на хорошую жизнь. Среднестатистический человек с $15 в криптовалюте – дилетант, который когда-то открыл кошелек развлеченья ради. Неравенство в уровне интереса не говорит о сообществе ничего плохого; везде есть свои дилетанты и свои фанатики. Поэтому если у криптовалюты очень высокий коэффициент Джини, но при этом бóльшая часть неравенства связана с неравенством в уровне интереса, то за этими показателями вряд ли кроется ужасная реальность, о которой говорят заголовки.

Криптовалюты – даже самые плутократические – не превратят ни одну часть мира во что-то похожее на антиутопию А. Однако плохо распределенные криптовалюты вполне могут походить на антиутопию Б, и проблема усугубится, если решения об изменении протокола будут принимать через голосование монетами. Следовательно, чтобы выявить проблемы, актуальные для криптовалютного сообщества, нам нужно найти метрику, наиболее точно отражающую близость этого сообщества к антиутопии Б.

АЛЬТЕРНАТИВА: ИЗМЕРЕНИЕ ПРОБЛЕМ АНТИУТОПИИ A И АНТИУТОПИИ Б ПО ОТДЕЛЬНОСТИ

В качестве альтернативного подхода к измерению неравенства можно сосредоточиться на оценке страданий, вызванных неравномерным распределением ресурсов (то есть проблемой «антиутопии А»). Начнем с некоторой функции полезности, отражающей ценность обладания определенной суммой денег. Популярна log(x), которая совпадает с нашим внутренним ощущением, что практически на любом уровне удвоение дохода одинаково полезно: увеличение с $10 000 до $20 000 добавляет ту же полезность, что и увеличение с $5000 до $10 000 или с $40 000 до $80 000. Таким образом, для оценки неравенства мы измеряем, сколько полезности теряется по сравнению с ситуацией, в которой каждый просто получал бы средний доход:

Первое выражение (логарифм среднего значения) – полезность, которую имел бы каждый в случае идеального перераспределения денег, где все получали бы средний доход. Второе выражение (среднее значение логарифма) – средняя полезность, которая сегодня сложилась в этой экономике. Разница между ними – утраченная полезность из-за неравенства, если смотреть на ресурсы именно с точки зрения личного потребления. Существуют и другие подходы к определению этой формулы, но в конечном итоге они практически идентичны (например, в статье Энтони Аткинсона 1969 года была предложена метрика «равномерно распределенного эквивалентного уровня дохода», которая, если U(x) = log(x), представляет собой монотонную функцию вышеупомянутого; а индекс Тейла L идеально математически эквивалентен формуле выше).

Для измерения концентрации богатства (или проблемы «антиутопии Б») на первое время отлично подойдет индекс Херфиндаля – Хиршмана, который уже используют для измерения экономической концентрации в отдельных отраслях:

Или, на языке визуалов, так.

Индекс Херфиндаля – Хиршмана: серая зона, поделенная на общую площадь

Есть и другие альтернативы: индекс Тейла Т с похожими свойствами, но и с некоторыми отличиями, а также более бесхитростный коэффициент Накамото, отражающий минимальное количество участников, доля которых в сумме составит больше половины от общего числа. Обратите внимание, что каждый из этих трех индексов концентрации фокусируется на верхушке (и делает это намеренно): огромное число дилетантов с маленькими ресурсами едва ли влияет на индекс, а вот слияние двух ведущих участников может серьезно его изменить.

Для криптовалютных сообществ, где с концентрацией ресурсов сопряжены высокие риски, но при этом обладателю, скажем, 0,00013 монеты не обязательно придется голодать, такие индексы подходят лучше всего. Но, возможно, для стран тоже стоит разграничивать измерения концентрации власти и страданий от нехватки ресурсов.

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

Особая благодарность Барнабе Монно и Тине Чжэнь за обратную связь и критику.

Управление: не только голосование монетами

VITALIK.CA

16 августа 2021 года

Одна из важнейших тенденций последнего года в области блокчейн-технологий – переход от фокусировки на одних лишь децентрализованных финансах (DeFi) к попыткам обратить внимание на децентрализованное управление (DeGov). Хотя некоторые вполне обоснованно провозгласили 2020-й годом DeFi, развитие и усложнение подобных проектов привели к тому, что многие заинтересовались децентрализованным управлением как способом справиться с этими новыми вызовами. Примеры можно найти на Ethereum: YFI, Compound, Synthetix, UNI, Gitcoin и другие запустили своего рода ДАО или даже сами были созданы как ДАО. Но подобные инициативы встречаются и за пределами Ethereum: например, активно обсуждаются предложения по финансированию инфраструктуры в Bitcoin Cash, голосования в Zcash и многое другое.

Рост популярности формализованного децентрализованного управления неоспорим и вполне обоснован. Но важно помнить и о том, что такие схемы чреваты рисками вроде недавнего враждебного захвата Steem и последующего массового ухода в Hive. Я даже готов утверждать, что эти риски неизбежны. По причинам, которые я опишу в этой статье, в некоторых контекстах децентрализованное управление одновременно и необходимо, и опасно. Как сохранить преимущества DeGov и минимизировать его риски? Я сосредоточусь на одной из ключевых составляющих ответа на этот вопрос: мы должны выйти за рамки голосования монетами в его нынешнем виде.

НЕОБХОДИМОСТЬ DEGOV

С момента публикации в 1996 году Декларации независимости киберпространства[88] в том, что мы подразумеваем под идеологией шифропанка, существует ключевое неразрешенное противоречие. С одной стороны, ценности шифропанка сводятся к тому, чтобы использовать криптографию для минимизации принуждения, а также максимизации эффективности и влияния главного на тот момент механизма координации, где принуждения не было: частной собственности и рынков. С другой стороны, экономическая логика частной собственности и рынков оптимизирована для деятельности, которую можно «раздробить» на повторяющиеся взаимодействия «один на один», а информационная сфера, где искусство, документация, наука и код в конечном счете производятся и потребляются через публичные взаимодействия, полностью противоречит этой изначальной цели.

В этих условиях возникают две ключевые проблемы, требующие решения.

▓ ФИНАНСИРОВАНИЕ ОБЩЕСТВЕННЫХ БЛАГ: как финансировать проекты, ценные для широкой и разнородной части сообщества, но не имеющие бизнес-модели (например, исследование протоколов первого и второго уровней, разработка клиентов, документация…)?

▓ ПОДДЕРЖАНИЕ И ОБНОВЛЕНИЯ ПРОТОКОЛА: как согласовывать обновления протокола, а также регулярное поддержание и корректировки его непостоянных элементов (например, списки безопасных активов, источники оракула цен, держатели ключей для многосторонних вычислений)?

Первые блокчейн-проекты в основном игнорировали обе эти проблемы, делая вид, что безопасность сети – единственное важное общественное благо, что ее нужно достигать за счет высеченного в камне алгоритма, а оплачивать – фиксированным вознаграждением в рамках PoW. Сперва такое положение в финансировании сложилось из-за резкого роста цен на биткойн в 2010–2013 годах, а затем – из-за бума ICO в 2014–2017 годах и образовавшегося одновременно с этим второго криптопузыря. Все это достаточно обогатило экосистему, чтобы временно прикрыть серьезные рыночные недостатки. Вопрос долгосрочного управления общими ресурсами также остался без внимания: Bitcoin пошел по пути крайней минимизации и сосредоточился только на том, чтобы предоставить валюту с фиксированным предложением и обеспечить поддержку платежных систем второго уровня вроде Lightning. В свою очередь, развитие Ethereum шло относительно гармонично (за одним важным исключением[89]) благодаря неоспоримой легитимности его изначальной дорожной карты (если коротко – «proof of stake и сегментирование»). При этом сложных проектов прикладного уровня, требующих чего-то большего, пока не существовало.

Но в последнее время обстоятельства складываются не так удачно, и на первый план выходят вопросы о том, как скоординировать поддержку и обновление протоколов, а также финансировать документацию, исследования и разработки, избегая при этом рисков централизации.

НЕОБХОДИМОСТЬ DEGOV ДЛЯ ФИНАНСИРОВАНИЯ ОБЩЕСТВЕННЫХ БЛАГ

Давайте сделаем шаг назад, чтобы оценить абсурдность сложившейся ситуации. Ежедневно Ethereum выплачивает около 13 500 ETH – то есть около 40 миллионов долларов – в качестве вознаграждений за майнинг. Выплаты транзакционных комиссий тоже немаленькие: часть, которую не сжигает EIP-1559[90], по-прежнему составляет около 1500 ETH (~4,5 миллиона долларов) в день. Так, на финансирование сетевой безопасности ежегодно уходят миллиарды долларов. А как думаете, сколько составляет бюджет Ethereum Foundation? Около 30–60 миллионов долларов в год. Есть и другие игроки, желающие поддержать развитие Ethereum (например, ConsenSys), но их вложения немногим больше. В Bitcoin всё примерно так же, разве что на общественные блага, не связанные с безопасностью, уходит еще меньше средств.

Вот как это выглядит на уже знакомой нам диаграмме.

Кто-то может сказать, что для экосистемы Ethereum такая диспропорция не так уж важна; что десятков миллионов долларов в год вполне «достаточно» для всех необходимых НИОКР, а дополнительные ресурсы не обязательно улучшат ситуацию, и поэтому введение внутрипротокольного финансирования разработок несет больше угрозы для достоверной нейтральности платформы, чем пользы. Но во многих небольших экосистемах – и в экосистемах внутри Ethereum, и в совершенно отдельных блокчейнах вроде BCH и Zcash – подобные дебаты уже назревают, и в меньших масштабах такой дисбаланс куда ощутимей.

Возьмем ДАО. Проект, который уже со дня запуска представляет собой «чистую» ДАО, может сочетать в себе два свойства, раньше казавшиеся несочетаемыми: во-первых, достаточное финансирование разработки и, во-вторых, достоверную нейтральность финансирования (столь многими желанный «справедливый запуск»). Финансирование уже не идет от строго неизменного списка принимающих адресов, решения может принимать сама ДАО.

Конечно, трудно сделать запуск абсолютно справедливым, и несправедливость информационной асимметрии часто бывает куда хуже несправедливости явного премайнинга (был ли биткойн запущен справедливо, учитывая, как мало людей имели возможность даже услышать о нем к концу 2010 года, когда четверть токенов была уже роздана?). Но даже так, если с первых дней жизни проекта внедрить в его протокол вознаграждения за развитие общественных благ, не связанных с безопасностью, это будет шагом навстречу необходимому и более достоверно нейтральному финансированию разработок.

НЕОБХОДИМОСТЬ DEGOV ДЛЯ ПОДДЕРЖАНИЯ И ОБНОВЛЕНИЙ ПРОТОКОЛА

Кроме финансирования общественных благ, в управлении нуждается и другая, не менее важная проблема – поддержание и обновления протоколов. Даже будучи сторонником сведения к минимуму всех неавтоматизированных настроек параметров (см. «ограниченное управление» ниже) и фанатом стратегии стейблкойна RAI «без управления», я согласен, что порой необходимо принимать некоторые решения вручную. Входные данные оракула цен должны откуда-то поступать, и иногда это «откуда-то» должно меняться. Пока протокол окончательно не «окостенеет», его обновления нужно так или иначе координировать. Бывает так, что сообщество протокола решает, что готово обрести готовую форму, но затем сталкивается с суровой реальностью, требующей от него полной реструктуризации, что вызывает вопросы и противоречия. Что, если доллар США рухнет и RAI, чтобы их стейблкойн оставался стабильным и актуальным, нужно будет побыстрее создать и удержать на плаву собственный децентрализованный ИПЦ[91]? Здесь тоже необходимо DeGov, так что полный отказ от него – нежизнеспособное решение.

При этом очень важно понять, возможно ли управление вне блокчейна[92]. Долгое время я выступал за то, чтобы этот метод применялся везде, где только возможно, и блокчейны базового уровня прекрасно для этого подходят. Но в проектах прикладного уровня, и особенно в DeFi-проектах, мы часто сталкиваемся с проблемой прямого контроля внешних активов системами смарт-контрактов, и этот контроль нельзя распределить. Если злоумышленник захватит управление Tezos внутри блокчейна, сообщество может перейти в хардфорк без каких-либо потерь, помимо (надо признать, высоких) затрат на координацию. Если злоумышленник захватит управление MakerDAO в блокчейне, сообщество может без проблем создать новый MakerDAO, но оно потеряет все ETH и другие активы, застрявшие в существующих ИПЦ MakerDAO. Следовательно, в то время как для базового уровня и некоторых проектов прикладного уровня управление вне блокчейна подходит отлично, для многих проектов прикладного уровня, особенно DeFi, в той или иной форме необходимо формализованное управление внутри блокчейна.

DEGOV ОПАСНО

Однако все нынешние варианты децентрализованного управления сопряжены с большими рисками. Для тех, кто читает мои статьи, эта идея не в новинку. Меня беспокоят два основных типа проблем голосования монетами: во-первых, неравенство и неравновесие стимулов даже при отсутствии злоумышленников и, во-вторых, открытые атаки через покупку голосов в разных формах (часто довольно сложных и запутанных). Для смягчения проблем первого типа уже предложены решения (например, делегирование полномочий), и их будет еще больше. Но второй тип куда опаснее – это слон в комнате, бороться с которым, на мой взгляд, в условиях нынешней парадигмы голосования монетами невозможно.

ПРОБЛЕМЫ С ГОЛОСОВАНИЕМ МОНЕТАМИ ДАЖЕ ПРИ ОТСУТСТВИИ АТАК

Даже без явных атак проблемы голосования монетами становятся все более очевидными и сводятся к нескольким категориям.

▓ Маленькие группы богатых участников («киты») реализуют свои решения успешнее, чем большие группы мелких держателей. Это связано с трагедией общих ресурсов во второй группе: поскольку сам по себе каждый участник не может существенно повлиять на результат, у него нет стимулов перестать лениться и проголосовать. Даже если участие в голосовании вознаграждается, у него нет стимулов тщательно изучить предмет и обдуманно отдать свой голос.

▓ Управление голосованием монетами расширяет возможности владельцев монет и продвигает их интересы за счет других частей сообщества: протокольные сообщества состоят из различных групп, у которых много разных ценностей, взглядов и целей. Но голосование монетами наделяет властью только одну группу (держателей монет, особенно богатых), из-за чего чрезмерный акцент ставится на повышение цены монеты, даже если это подразумевает вредоносное извлечение ренты.

▓ Проблемы конфликта интересов: право голоса достается одному кругу участников (держателям монет), а самые состоятельные члены этого круга получают слишком большие возможности. Это может привести к чрезмерному влиянию конфликтов интересов, которые происходят внутри этой конкретной элиты (например, инвестиционные фонды или держатели, владеющие токенами других DeFi-платформ, с которыми эта платформа взаимодействует).

Моя страничка делегирования голосования в ДАО Gitcoin

Наиболее часто применяемая стратегия решения первой проблемы (и, соответственно, смягчения третьей) – делегирование. Мелким держателям не обязательно лично участвовать в каждом голосовании; вместо этого они могут делегировать принятие решения членам сообщества, которым они доверяют. Это достойный и полезный эксперимент, который может показать, насколько делегирование способно смягчить эту проблему.

С другой стороны, проблема центризма держателей монет значительно сложнее: она встроена в саму систему, в которой их голоса – единственный источник входных данных. Неверное представление о том, что этот механизм создан намеренно, а не возник в результате ошибки, уже приводит к путанице и опасным последствиям. Вот на что жалуется автор одной (в целом отличной) статьи[93] об общественных благах блокчейна:

Могут ли криптопротоколы считаться общественным благом, если ими владеют несколько «китов»? В разговорах эти рыночные базовые элементы иногда называют «общественной инфраструктурой», но если сегодня блокчейны и служат «общественности», то общественности децентрализованных финансов. По сути, у этих держателей токенов есть только один общий объект интереса: цена.

Это несправедливые обвинения; общественность, которой служат блокчейны, гораздо шире и разнообразнее, но нашим системам управления через голосование монетами никак не удается отразить эту идею. Кажется, что создать систему управления, достойную этого разнообразия, будет сложно без фундаментального пересмотра самой парадигмы.

ГЛУБОКАЯ ФУНДАМЕНТАЛЬНАЯ УЯЗВИМОСТЬ ГОЛОСОВАНИЯ МОНЕТАМИ: ПОКУПКА ГОЛОСОВ

Ситуация усугубляется, когда в дело вступают злоумышленники, намеренные подорвать работу системы. Легко понять, какая фундаментальная уязвимость кроется в голосовании монетами. Токен в протоколе с голосованием монетами представляет собой набор из двух прав, объединенных в один актив: во-первых, некоторый экономический интерес в доходах протокола и, во-вторых, право участвовать в управлении. Это преднамеренная комбинация, цель которой – совместить власть и ответственность. Но на самом деле эти два права очень легко отделить друг от друга.

Представьте себе простой контракт-оболочку, в котором действуют следующие правила: если вы внесете в контракт 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.

Некоторые ДАО-протоколы используют методы врéменной блокировки для ограничения таких атак: чтобы иметь право голоса, пользователи должны блокировать свои монеты и некоторое время их не перемещать. Эти методы могут ограничить атаки типа «купи-проголосуй-продай» в краткосрочной перспективе, но в конечном счете механизмы временной блокировки можно будет обойти: пользователи смогут держать монеты и голосовать ими через контракт, выпускающий обернутую версию токена (или, еще тривиальнее, через централизованный обмен). Что касается механизмов защиты, временные блокировки похожи скорее на пейволл с сайтов газет, чем на замок и ключ.

Пока многим блокчейнам и ДАО с голосованием монетами удавалось избегать таких атак в наиболее опасных формах. Порой появляются признаки попыток подкупа.

Хотя это серьезные проблемы, простая экономическая логика подсказывает, что примеров прямого подкупа избирателей, включая его запутанные формы с использованием финансовых рынков, должно быть больше. Возникает закономерный вопрос: почему агрессивные атаки случаются так редко?

Я бы сказал, что этому мешают три фактора, которые сегодня актуальны, но в будущем могут утратить свою силу.

1. КОМАНДНЫЙ ДУХ сплоченного сообщества, где каждый чувствует себя причастным к одному «племени» и одной миссии.

2. ВЫСОКАЯ КОНЦЕНТРАЦИЯ БОГАТСТВА И КООРДИНАЦИЯ ДЕРЖАТЕЛЕЙ ТОКЕНОВ; крупные держатели монет сильно влияют на результаты и вкладываются в долгосрочные отношения друг с другом (речь идет как о «клубах старых приятелей» венчурных капиталистов, так и о других столь же влиятельных, но более скрытных сообществах), и это значительно затрудняет их подкуп.

3. НЕЗРЕЛЫЕ ФИНАНСОВЫЕ РЫНКИ ТОКЕНОВ УПРАВЛЕНИЯ: готовые инструменты для создания обернутых токенов существуют в формах доказательства концепции (proof-of-concept), но их используют нечасто. Существуют также контракты подкупа, но они не сформированы до конца, а на рынках кредитования низкая ликвидность.

Когда небольшая скоординированная группа пользователей владеет более чем 50 % монет, которые вместе с остальными инвестированы в сплоченное сообщество, и взаймы отдано лишь немного токенов по разумным ставкам, все вышеперечисленные атаки с целью подкупа, возможно, останутся лишь на уровне теории. Но со временем первый и третий пункты неизбежно утратят свою силу, а второй обязан потерять силу, если мы хотим сделать ДАО более справедливыми. Сохранят ли ДАО свою безопасность, когда произойдут эти изменения? И если голосование монетами не может надежно противостоять атакам, то что тогда может?

РЕШЕНИЕ 1: ОГРАНИЧЕННОЕ УПРАВЛЕНИЕ

Первый и уже опробованный способ смягчить перечисленные проблемы – ограничить возможности управления монетами. Для этого есть несколько способов.

▓ ИСПОЛЬЗОВАТЬ УПРАВЛЕНИЕ ВНУТРИ БЛОКЧЕЙНА ТОЛЬКО ДЛЯ ПРИЛОЖЕНИЙ, НО НЕ ДЛЯ БАЗОВЫХ УРОВНЕЙ: Ethereum уже так делает, поскольку сам протокол управляется вне блокчейна, в то время как ДАО и другие приложения поверх протокола иногда (но не всегда) управляются внутри блокчейна.

▓ ОГРАНИЧИТЬ УПРАВЛЕНИЕ ВЫБОРОМ ФИКСИРОВАННЫХ ПАРАМЕТРОВ: так делает Uniswap, который позволяет управлению влиять только, во-первых, на распределение токенов и, во-вторых, на комиссию в 0,05 % на бирже Uniswap. Еще один прекрасный пример – дорожная карта RAI «без управления», в которой постепенно контролируется все меньше и меньше функций.

▓ ДОБАВИТЬ ВРЕМЕННЫ́Е ЗАДЕРЖКИ, когда управленческое решение, принятое в момент T, вступает в силу, например, только через T + 90 дней. Это позволяет пользователям и приложениям, которые считают решение неприемлемым, перейти на другое приложение (возможно, через форк). В управлении Compound есть механизм временной задержки, но теоретически задержка может быть (и в конечном итоге должна быть) намного больше.

▓ БЫТЬ БОЛЕЕ ОТКРЫТЫМИ К ФОРКАМ: упростить для пользователей процесс согласования и реализации форка. Так захват управления будет менее выигрышным.

Случай с Uniswap особенно интересен: предполагается, что управление внутри блокчейна финансирует команды, которые могут разрабатывать будущие версии протокола Uniswap, но обновление до этих версий может произойти только с согласия пользователей. Это гибрид управления внутри и вне блокчейна, оставляющий управлению внутри блокчейна лишь ограниченные полномочия.

Но одно лишь ограниченное управление едва ли можно назвать приемлемым решением; те области, где управление необходимо больше всего (например, распределение средств на общественные блага), сами по себе наиболее уязвимы для атак. Эта слабость финансирования общественных благ связана с тем, что злоумышленник может получить выгоду, протолкнув плохое решение, которое направит средства ему самому. Следовательно, нам также нужны техники, которые усовершенствуют само управление…

РЕШЕНИЕ 2: УПРАВЛЕНИЕ НЕ МОНЕТАМИ

Второй подход заключается в переходе к формам управления, не основанным на голосовании монетами. Но если не монеты определяют вес голоса конкретного аккаунта в управлении, то что? Есть две закономерные альтернативы.

1. Системы подтверждения личности (proof of personhood): такие системы могут проверять, действительно ли учетная запись соответствует конкретному человеку, чтобы в голосовании на одного человека приходился один голос. Реализовать эту идею уже попытались в Proof of Humanity и BrightID.

2. Подтверждение участия (proof of participation): такие системы могут проверять, действительно ли учетная запись соответствует человеку, который участвовал в каком-то событии, прошел какой-либо образовательный курс или выполнил какую-либо полезную работу в экосистеме. Реализовать эту идею уже попытались в POAP.

Существуют также гибридные варианты: например, квадратичное голосование, при котором сила голоса одного голосующего пропорциональна квадратному корню из экономических ресурсов, которые он выделил на принятие решения. Для того чтобы люди не манипулировали системой, распределяя свои ресурсы на множество аккаунтов, потребуется подтверждение личности, а сохранившийся финансовый компонент позволит участникам убедительно продемонстрировать, насколько сильно их волнуют конкретная проблема и экосистема в целом. Квадратичное финансирование Gitcoin – одна из форм квадратичного голосования. Также создаются ДАО с квадратичным голосованием.

С подтверждением участия все несколько сложнее. Главная проблема заключается в том, что для определения достаточного объема участия требуется, опять же, достаточно надежная структура управления. Возможно, самое простое решение подразумевает загрузку системы с отобранными вручную 10–100 ранними участниками, а затем постепенную децентрализацию по мере того, как отобранные участники раунда N определят критерии участия для раунда N + 1. Возможность форка обеспечивает путь к восстановлению в том случае, если управление «свернет не туда», и в целом удерживает от попыток захватить власть.

И подтверждение личности, и подтверждение участия требуют определенной формы противодействия сговору, чтобы неденежный ресурс, используемый для измерения права голоса, точно оставался неденежным и не попадал в смарт-контракты, продающие управленческие полномочия тому, кто больше заплатит.

РЕШЕНИЕ 3: РИСК СОБСТВЕННОЙ ШКУРОЙ

Третий подход предполагает покончить с трагедией общих ресурсов через изменение правил самого голосования. Голосование монетами дает сбои потому, что, хотя избиратели несут коллективную ответственность за свои решения (если все проголосуют за ужасное решение, их монеты обесценятся), каждый отдельный избиратель не несет индивидуальной ответственности (если будет принято ужасное решение, поддержавшие его пострадают не больше его противников). Можем ли мы создать систему голосования, которая изменит эту тенденцию и наложит на избирателей личную, а не только коллективную ответственность за свои решения?

Открытость к форкам может сработать как стратегия «риска собственной шкурой», если создавать форки так, как это было со Steem и Hive. Когда принимается разрушительное управленческое решение и его становится невозможно оспорить внутри протокола, пользователи могут взять на себя задачу создания форка. Более того, в этом форке монеты, проголосовавшие за неправильное решение, могут быть уничтожены.

Эта идея может показаться жесткой и, возможно, даже посягательством на негласное правило «неприкосновенности реестра» при форке криптовалюты. Но если посмотреть на это с другой стороны, все покажется гораздо разумнее. Мы сохраняем идею надежного брандмауэра, где личные балансы монет остаются невредимыми, но под эту защиту попадают только монеты, которые не участвуют в управлении. Если вы участвуете в управлении, даже косвенно, через механизм обертывания, вас могут привлечь к ответственности за издержки, связанные с вашими действиями.

Это создает индивидуальную ответственность: если происходит атака и ваши монеты за нее голосуют, то они будут уничтожены. В ином случае они будут в безопасности. Ответственность распространяется снизу вверх: если вы вкладываете свои монеты в контракт-оболочку и контракт-оболочка голосует за атаку, то баланс контракта-оболочки стирается, и вы теряете свои токены. Если злоумышленник занимает XYZ у DeFi-платформы кредитования, то в случае форка платформы проигрывает любой, кто одалживал свои XYZ (обратите внимание на то, что при таких условиях в целом становится очень рискованно одалживать кому-то управленческий токен, и это намеренное решение).

РИСК СОБСТВЕННОЙ ШКУРОЙ В ПОВСЕДНЕВНЫХ ГОЛОСОВАНИЯХ

Но вышесказанное защищает только в случае действительно опасных решений. А как насчет краж меньшего масштаба, где злоумышленник несправедливо получает широкие возможности манипулировать управленческой экономикой, но это не приводит к серьезным разрушительным последствиям? Наконец, если забыть про атаки, как насчет простой лени и того факта, что управление голосованием монетами не стимулирует делать выбор в пользу более удачных решений?

Самое популярное решение такого рода проблем – футархия, представленная Робином Хэнсоном в начале 2000‐х годов. Голоса превращаются в ставки: чтобы проголосовать за предложение, вы делаете ставку на то, что оно приведет к хорошему результату, а чтобы проголосовать против – на то, что оно приведет к плохому результату. Футархия вводит индивидуальную ответственность по очевидным причинам: если вы делаете хорошие ставки, вы получаете больше монет, а если вы делаете плохие ставки, то теряете монеты.

Внедрить «чистую» футархию оказалось сложно, потому что на практике очень трудно определить целевые функции (людей интересует не только цена монеты!). Однако вполне могут сработать и гибридные формы футархии. Вот несколько примеров.

▓ Голосование как заявка на покупку: чтобы проголосовать за предложение, потребуется сделать необратимый заказ на покупку дополнительных токенов по цене несколько меньшей, чем текущая. Это гарантирует, что в случае ужасного решения те, кто его поддержал, будут вынуждены выкупить токены своих оппонентов, а при более «нормальных» решениях у держателей при желании будет более широкое поле для принятия решений, основанных не только на цене.

▓ Ретроспективное финансирование общественных благ: общественные блага финансируют через некий механизм голосования ретроспективно – то есть по достижении результата. Пользователи могут покупать токены проекта для его финансирования, сигнализируя о своем доверии, и получать долю вознаграждения, если цель этого проекта будет признана достигнутой.

▓ Эскалационные игры: согласование ценностей для решений на нижнем уровне мотивируется тем, что вопрос могут начать рассматривать более активно, но на более высоком уровне и с большей тщательностью. Избиратели, чьи голоса будут соответствовать окончательному решению, получат вознаграждение.

В последних двух случаях гибридная футархия зависит от некоторой формы нефутархного управления, которая поможет подстроиться под целевую функцию или станет последней инстанцией при разрешении споров. Однако у этого нефутархного управления есть несколько преимуществ, которые пропадают при его использовании напрямую: во-первых, оно позже вступает в силу, а значит, имеет доступ к большему количеству информации, во-вторых, оно используется реже, а значит, требует меньше усилий, и, в-третьих, каждое его использование чревато больши´ми последствиями, так что правильнее положиться на форки, чтобы согласовать стимулы для этого последнего уровня.

ГИБРИДНЫЕ РЕШЕНИЯ

Существуют также решения, комбинирующие элементы вышеперечисленных подходов. Например такие.

▓ ВРЕМЕННЫ́Е ЗАДЕРЖКИ + УПРАВЛЕНИЕ ИЗБРАННЫХ СПЕЦИАЛИСТОВ: это одно из возможных решений древней загадки о том, как создать стейблкойн с криптовалютной поддержкой, заблокированные средства которого могут превышать стоимость токена фиксации прибыли без риска захвата управления. Стейблкойн использует ценовой оракул, основанный на медиане значений, предоставленных N выбранных провайдеров (например, N = 13). Провайдеры выбираются с помощью голосования монетами, но только по одному провайдеру в неделю. Если пользователи заметят, что голосование привлекает ненадежных провайдеров цен, у них будет N / 2 недели до разрушения стейблкойна, чтобы переключиться на другой.

▓ ФУТАРХИЯ + АНТИСГОВОР = РЕПУТАЦИЯ: пользователи голосуют «репутацией» – токеном, который нельзя передать другому. Они получают больше репутации, если их решения приводят к желаемым результатам, и теряют ее, если результаты их решений неблагоприятны.

▓ СЛАБО СВЯЗАННЫЕ (КОНСУЛЬТАТИВНЫЕ) ГОЛОСОВАНИЯ МОНЕТАМИ: такое голосование монетами не реализует предлагаемое изменение напрямую, а просто публикует результаты и делает это решение более легитимным при управлении за пределами блокчейна. Здесь мы получаем преимущества голосования монетами, но меньше рискуем, поскольку легитимность голосования монетами автоматически снижается при появлении доказательств, что оно было проплачено или иным образом подвержено чьему-то влиянию.

Но это лишь несколько примеров. Существует гораздо больше возможностей для исследования и разработки алгоритмов управления, не зависящих от монет. Самое важное сегодня – отойти от взгляда на голосование монетами как на единственную легитимную форму децентрализации управления. Голосование монетами привлекательно своей кажущейся достоверной нейтральностью: любой может пойти и получить несколько единиц управленческого токена на Uniswap. Однако на практике голосование монетами сегодня может казаться безопасным как раз из-за несовершенства его нейтральности (а конкретно из-за того, что бóльшая часть всех монет остается в руках тщательно скоординированной группы инсайдеров).

Нужно очень осторожно подходить к идее о том, что нынешние формы голосования монетами «безопасны по умолчанию». Еще многое предстоит узнать о том, как они функционируют в условиях растущей экономической напряженности, а также в зрелых экосистемах и финансовых рынках, так что самое время начать экспериментировать с альтернативами.

Особая благодарность Карлу Флёршу, Дэну Робинсону и Тине Чжэнь за обратную связь и критику.

Модели доверия

VITALIK.CA

20 августа 2021 года

Одно из самых ценных свойств многих блокчейн-приложений в том, что они не основаны на доверии. То есть приложение может выполнять свою функцию без необходимости полагаться на определенное поведение конкретного актора, интересы которого могут измениться и в будущем подтолкнуть к непредусмотренным поступкам. Блокчейн-приложения не могут полностью отказаться от доверия, но некоторые больше соответствуют этому идеалу, чем другие. Чтобы на практике к нему приблизиться, нам пригодится умение сравнивать различные степени доверия.

Для начала я попытаюсь уместить в одно предложение то, что подразумеваю под доверием: доверие – это использование предположений о поведении других людей. Если до пандемии вы спокойно ходили по улице без мысли обходить незнакомцев за два метра, чтобы они вдруг не выхватили нож и не пырнули вас, вы проявляли своего рода доверие: и к тому, что люди очень редко бывают настолько невменяемыми, и к тому, что правовая система все-таки способна пресекать такое поведение. Когда вы запускаете написанный кем-то код, вы верите, что его написали честно (может быть, из-за порядочности, а может – из-за экономической ценности хорошей репутации) или что хотя бы существует достаточно людей, которые проверят код, и если в нем есть баг, то он будет найден. Отказ от производства собственных продуктов питания – еще одно проявление доверия: вы полагаетесь на других людей, которые в собственных интересах производят продукты питания и продают их вам. Существуют разные виды доверия к разным группам людей.

Обычно для анализа протоколов блокчейна я рассматриваю четыре аспекта доверия.

▓ Сколько людей должны вести себя так, как вы ожидаете?

▓ Из какого общего числа людей?

▓ Какие виды мотивации необходимы для того, чтобы эти люди вели себя именно так? Нужно ли им быть альтруистами или достаточно простого стремления к выгоде? Необходимо ли отсутствие координации между ними?

▓ Насколько пострадает система, если поведение не будет соответствовать ожиданиям?

Пока сосредоточимся на первых двух критериях. Нарисуем график.

Общее правило такое: чем темнее цвет на графике, тем лучше. Рассмотрим каждую категорию.

▓ 1 ИЗ 1: есть ровно один актор, и система будет работать, если (и только если) этот актор будет делать то, что от него ожидается. Это традиционная «централизованная» модель, и именно ей мы ищем лучшую альтернативу.

▓ N ИЗ N: «антиутопический» мир. Вы полагаетесь на целую кучу акторов, и каждый из них должен действовать так, как от него ожидают, чтобы система работала. Здесь не предполагается страховки на случай, если кто-то из них не справится.

▓ N / 2 ИЗ N: именно так устроены блокчейны – они работают, если большинство майнеров (или PoS-валидаторов) ведут себя честно. Обратите внимание, что для «N / 2 из N» чем больше N, тем лучше; блокчейн с несколькими майнерами/валидаторами, доминирующими в сети, не столь интересен, как блокчейн с широко рассредоточенными майнерами/валидаторами. Однако мы хотим повысить даже этот уровень безопасности – отсюда и беспокойство по поводу восстановления после атаки 51 %.

▓ 1 ИЗ N: есть много акторов, и система работает до тех пор, пока хотя бы один из них делает то, что вы от него ожидаете. Сюда попадает любая система, основанная на доказательствах мошенничества (fraud proofs), а также схемы доверия (trusted setups), хотя в этом случае значение N часто меньше. Обратите внимание, что здесь лучше иметь как можно больше N!

▓ Несколько из N: есть много акторов, и система работает до тех пор, пока хотя бы какое-то небольшое фиксированное количество из них делает то, что от них ожидается. В эту категорию попадает механизм проверки доступности данных.

▓ 0 ИЗ N: система работает так, как от нее ожидается, независимо от акторов. В эту категорию попадает самопроверка блока.

Хотя все категории, кроме «0 из N», можно считать «доверительными», они серьезно отличаются друг от друга! Уверенность в том, что один конкретный человек (или организация) будет делать то, что от него ожидают, сильно отличается от уверенности в том, что какой-то человек где бы то ни было будет делать то, что от него ожидают. «1 из N», возможно, гораздо ближе к «0 из N», чем к «N / 2 из N» или «1 из 1». Модель «1 из N» может казаться похожей на «1 из 1», поскольку в обоих случаях мы имеем дело с одним актором, но на деле в них совершенно разные условия: если в системе «1 из N» актор, с которым вы работаете в конкретный момент, пропадет или окажется злодеем, можно будет просто переключиться на другого, тогда как в системе «1 из 1» это будет полный провал.

Обратите внимание, что даже исправность программного обеспечения, которое вы используете, обычно зависит от модели доверия «несколько из N»: предполагается, что кто-нибудь заметит ошибки в коде и сообщит о них. С учетом этого факта желание перейти от «1 из N» к «0 из N» в каком-то другом аспекте приложения часто выглядит как попытка установить в доме мощную стальную дверь и оставить окна открытыми.

Есть еще одно важное различие: какова будет реакция, когда доверие будет подорвано? В блокчейнах наиболее распространены два типа сбоев – сбой жизнеспособности и сбой безопасности. Сбой жизнеспособности – это событие, при котором вы временно не можете сделать то, что хотите сделать (например, вывести монеты, добавить транзакцию в блок, прочитать информацию в блокчейне). Сбой безопасности – это событие, при котором происходит что-то, чего система не должна была допустить (например, недействительный блок попадает в цепочку блоков).

Вот примеры моделей доверия нескольких протоколов второго уровня[94]. «Малым N» я обозначу набор участников самой системы второго уровня, а «большим N» – участников блокчейна, исходя из того, что сообщество протокола второго уровня обычно меньше сообщества блокчейна. Кроме того, термин «сбой жизнеспособности» здесь ограничен случаями, когда монеты застревают на значительное время; под это определение не подпадает ситуация, когда вы лишены возможности пользоваться системой, но можете почти мгновенно вывести средства.

▓ КАНАЛЫ (ВКЛЮЧАЯ КАНАЛЫ СОСТОЯНИЯ И КАНАЛЫ LIGHTNING NETWORK): доверие «1 из 1» для жизнеспособности (ваш контрагент может временно заморозить ваши средства, хотя можно смягчить ущерб, если разделить монеты между несколькими контрагентами), доверие «N / 2 из большого N» для безопасности (атака 51 % на блокчейн может похитить ваши монеты).

▓ PLASMA (при условии централизованного оператора): доверие «1 из 1» для жизнеспособности (оператор может временно заморозить ваши средства), доверие «N / 2 из большого N» для безопасности (атака 51 % на блокчейн).

▓ PLASMA (при условии полудецентрализованного оператора, например DPoS): «N / 2 из малого N» для жизнеспособности, «N / 2 из большого N» для безопасности.

▓ OPTIMISTIC ROLLUP: «1 из 1» или «N / 2 из малого N» для жизнеспособности (зависит от типа оператора), «N / 2 из большого N» для безопасности.

▓ ZK ROLLUP: «1 из малого N» для жизнеспособности (если оператор не включит вашу транзакцию, вы можете вывести средства, а если оператор в тот же момент не включит ваш вывод средств, он больше не сможет создавать пакеты, и вы сможете вывести средства самостоятельно с помощью любой полной ноды системы роллапа); риски сбоя безопасности здесь отсутствуют.

▓ ZK ROLLUP (С УЛУЧШЕНИЕМ ЛЕГКОГО ВЫВОДА СРЕДСТВ): риски жизнеспособности и безопасности отсутствуют.

Напоследок остается вопрос о стимулах: чтобы действовать согласно вашим ожиданиям, должен ли актор быть альтруистичным, слегка альтруистичным или ему достаточно быть просто рациональным? Система, которая по умолчанию опирается на поиск доказательств мошенничества, слегка альтруистична, хотя степень альтруизма зависит от сложности вычислений и есть способы изменить правила игры в сторону обычной рациональности.

Помощь другим пользователям при выводе средств из ZK rollup будет рациональной, если добавить возможность микроплаты за эту услугу, поэтому причин для беспокойства о том, что вы выйдете из роллапа ни с чем, очень мало. Между тем можно уменьшить значительные риски других систем, если мы как сообщество согласимся не принимать цепочки атаки 51 %, которые откатывают историю назад слишком далеко или слишком долго цензурируют блоки.

Вывод. Когда кто-то говорит, что система «зависит от доверия», поинтересуйтесь, что именно они имеют в виду: «1 из 1», «1 из N» или «N / 2 из N»? Нужно ли участникам этой системы быть альтруистичными или достаточно простой рациональности? И если быть альтруистичными, то какой ценой? Что случится, если доверие будет подорвано, – просто придется подождать несколько часов или дней либо ваши активы застрянут навечно? В зависимости от ответов на эти вопросы будет меняться и ваше решение о том, хотите ли вы использовать эту систему.

Криптогорода

VITALIK.CA

31 октября 2021 года

Одна из самых любопытных тенденций последнего года – особый интерес к местному самоуправлению и к идее, что оно может стать более разнообразным и экспериментальным. В последний год мэр Майами Фрэнсис Суарес привлекает внимание к своему городу методами, напоминающими развитие технологических стартапов. Он активно взаимодействует с мейнстримными технологическими компаниями и криптосообществом в твиттере. В Вайоминге теперь появилась дружественная к ДАО правовая структура; Колорадо экспериментирует с квадратичным голосованием, и все чаще мы наблюдаем эксперименты по созданию более удобной для пешеходов уличной среды. Существуют даже проекты, которые с разной степенью радикальности пытаются создать целые кварталы и города с нуля: Culdesac, Telosa, CityDAO, Nkwashi, Prospera и многие другие.

Есть и другой тренд: криптоидеи – монеты, невзаимозаменяемые токены и децентрализованные автономные организации (ДАО) – стремительно завоевали всеобщую популярность. А что будет, если объединить эти две тенденции? Есть ли смысл внедрять в городскую организацию монеты, NFT, ДАО, антикоррупционную систему на блокчейне или даже все это вместе? Как оказалось, некоторые этим уже занимаются.

▓ Проект CityCoins.co выпускает монеты, служащие местным средством обмена, а часть эмиссии поступает в городскую администрацию. Уже существует MiamiCoin, на подходе San Francisco Coin.

▓ Эксперименты с NFT, чаще всего для финансирования местных художников. В Пусане при поддержке властей проходит конференция, посвященная возможностям NFT.

▓ Широкие взгляды Хиллари Шив, мэра Рино, на «блокчейнификацию» города: продажи NFT для поддержки местного искусства; RenoDAO с выпуском RenoCoin для местных жителей, которые могли бы получать доход от сдачи в аренду городской недвижимости; защищенные блокчейном лотереи; голосование на блокчейне и многое другое.

▓ Гораздо более амбициозные проекты по созданию криптоориентированных городов с нуля: например, CityDAO, который, собственно, и описывает свою цель так: «возвести город на блокчейне Ethereum» – с управлением через ДАО и прочими особенностями.

Но можно ли назвать все эти проекты в их нынешнем виде хорошими идеями? И можно ли как-то улучшить эти идеи? Давайте выясним…

ПОЧЕМУ НАС ДОЛЖНЫ ЗАБОТИТЬ ГОРОДА?

Многие федеральные власти очень медленно и неэффективно реагируют как на долгосрочные проблемы, так и на быстрые перемены в основных потребностях общества. Проще говоря, властям не хватает живых игроков[95]. Хуже того, те нестандартные политические идеи, которые все же попадают на рассмотрение правительства, просто ужасны. Вам бы хотелось, чтобы власть в США захватил клон Антониу Салазара, португальского диктатора времен Второй мировой войны, или, например, «американский Цезарь», стремящийся избавить страну от дьявольской напасти американской левизны?[96] На одну идею, которую можно обоснованно назвать демократической или расширяющей свободы, приходится десять, которые в различных формах приумножают централизованный контроль, ограничения и глобальную слежку.

Рассмотрим местные органы власти. Города и штаты, как мы видели из примеров выше, по крайней мере теоретически приспособлены к активным действиям. Между городами существуют очень серьезные культурные различия, благодаря чему легче найти конкретный город, жители которого захотят опробовать радикальную идею, чем убедить в этом же страну целиком. В организации жизни города есть достаточно проблем и возможностей для таких экспериментов: местные общественные блага, городское планирование, транспорт и многое другое. Сплоченная и самодостаточная городская экономика позволяет внедрять криптовалюты масштабно и при этом независимо. Кроме того, эксперименты в городах с меньшей вероятностью приведут к ужасным последствиям, поскольку, во-первых, над муниципалитетами существует еще один уровень власти, а во-вторых, у городов всегда есть «возможность выхода»: людям, недовольным происходящим, будет несложно его покинуть.

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

ЧЕМ СЕГОДНЯ ЗАНИМАЮТСЯ ГОРОДСКИЕ ПРОЕКТЫ?

На самом деле довольно многим! Все перечисленные эксперименты пока невелики по масштабу и находятся на ранних стадиях, но из этих семян может вырасти что-то интересное. Большинство самых продвинутых проектов реализуются в США, но интерес к ним наблюдается по всему миру. Взять хотя бы Корею, где власти Пусана проводят конференцию по NFT. Вот несколько современных инициатив.

ЭКСПЕРИМЕНТЫ С БЛОКЧЕЙНОМ В РИНО

Хиллари Шив – мэр города Рино в штате Невада – очень увлекается блокчейном, особенно экосистемой Tezos. В последнее время она активно исследует возможности использования блокчейна в управлении своим городом.

▓ Продажа NFT для финансирования местного искусства – начало этому положил NFT скульптуры «Космический кит» в центре города.

▓ Создание RenoDAO, управляемой монетами Reno, которые жители Рино могли бы получать через AirDrop. RenoDAO могла бы обзавестись источниками дохода; в частности, была идея сдавать в аренду принадлежащую городу недвижимость, а выручку направлять в ДАО.

▓ Защита блокчейном всех видов процессов: генераторы случайных чисел для казино, голосования и так далее.

CITYCOINS.COM

CityCoins.co – проект, построенный на блокчейне Stacks с необычным алгоритмом создания блоков «доказательство перевода» («proof of transfer», но его аббревиатура почему-то не PoT, а PoX), а Stacks, в свою очередь, работает на основе блокчейна и экосистемы Bitcoin. 70 % всех монет генерируется механизмом постоянной продажи: любой, у кого есть STX (собственный токен Stacks), может отправить свои STX на контракт CityCoins и сгенерировать монеты своего города. Доходы от STX распределяются между существующими стейкерами городских монет, а остальные 30 % попадают в распоряжение городских властей.

Победитель хакатона MiamiCoin: сайт, который позволяет коворкинг-пространствам предлагать выгодные условия держателям MiamiCoin

CityCoins выбрали интересный путь: создать экономическую модель, не зависящую от какой-либо государственной поддержки. Местным властям не обязательно участвовать в создании городских монет – сообщество вполне может запустить их самостоятельно. На сайте проекта в разделе FAQ ответ на вопрос «Что можно сделать с CityCoins?» включает примеры вроде «Сообщества CityCoins будут создавать приложения, использующие токены в качестве вознаграждения» и «Локальный бизнес может предоставлять скидки или льготы людям, которые… сдают в стейкинг свои CityCoin». Однако на практике сообщество MiamiCoin не собирается делать все в одиночку, и правительство Майами уже де-факто публично его поддержало.

CITYDAO

CityDAO – самый радикальный из экспериментов. Если Майами и Рино – уже существующие города с инфраструктурой, которую нужно модернизировать, и людьми, которых нужно в этом убедить, то CityDAO – это ДАО, чей правовой статус подкрепляется законом о ДАО штата Вайоминг, которая пытается создать совершенно новые города с нуля.

Пока проект находится на ранних стадиях: сейчас команда завершает покупку первого участка земли в отдаленном уголке Вайоминга. В будущем она планирует добавить другие участки и построить города, управляемые через ДАО и активно практикующие радикальные экономические идеи вроде налогов Харбергера, чтобы распределять земли, принимать коллективные решения и управлять ресурсами. Эта ДАО относится к тем редким прогрессивным примерам, которые не используют для управления голосование монетами; здесь система голосования основана на «гражданских» NFT, но разработчики задумываются о том, чтобы еще сильнее ограничить систему – до одного голоса на одного человека через верификацию Proof of Humanity. Сейчас проект продает свои NFT в рамках краудфандинга; их можно купить на OpenSea.

ЧЕМ ТАКИЕ ПРОЕКТЫ МОГЛИ БЫ ЗАНИМАТЬСЯ?

Очевидно, что у таких городов есть куча других возможностей: развивать велосипедные дорожки; использовать счетчики CO2 и дальний ультрафиолетовый свет, чтобы более эффективно сдерживать COVID без лишних неудобств для людей, и даже финансировать исследования по продлению жизни. Но моя основная специализация – блокчейны, и этот пост посвящен блокчейнам, так что… остановимся на блокчейнах.

Я бы выделил две отдельные категории идей по использованию блокчейна.

1. С помощью блокчейна создавать более надежные, прозрачные и проверяемые версии существующих процессов.

2. С помощью блокчейна внедрять новые и экспериментальные формы права собственности на землю и другие ограниченные ресурсы, а также новые и экспериментальные формы демократического управления.

Потребности обеих категорий и возможности блокчейна во многом перекликаются. Все, что происходит в блокчейне, очень легко проверить публично благодаря множеству готовых и доступных инструментов. Любое приложение, построенное на блокчейне, может моментально подключаться к другим приложениям глобальной экосистемы блокчейна и взаимодействовать с ними. Эффективность систем на блокчейне недосягаема для бумажной документации, а возможность публичной проверки – для централизованных вычислительных систем. Такая комбинация необходима, если вы, скажем, хотите создать новую форму голосования, позволяющую гражданам в режиме реального времени комментировать сотни или тысячи различных проблем.

Перейдем к конкретике.

КАКИЕ ИЗ СУЩЕСТВУЮЩИХ ПРОЦЕССОВ БЛОКЧЕЙН МОГ БЫ СДЕЛАТЬ НАДЕЖНЕЕ И ПРОЗРАЧНЕЕ?

От многих людей со всего мира, в том числе от государственных служащих, я неоднократно слышал одну простую идею, которая предлагает властям создать стейблкойн для внутреннего использования с ограниченным доступом, чтобы отслеживать внутренние государственные платежи. Каждый налоговый платеж от физического лица или организации можно привязать к общедоступной записи в блокчейне, создающем нужное количество монет (если сумму каждого отдельного платежа нужно будет сохранить в тайне, можно использовать нулевое разглашение и раскрыть только общую сумму, сохранив при этом доказательство верности расчета). Это позволило бы «прозрачно» переводить средства между департаментами и выдавать монеты только в качестве выплат конкретным подрядчикам или сотрудникам.

На этом возможности системы не ограничиваются: например, в блокчейне можно выбирать, кто из претендентов на выполнение государственного заказа получит контракт.

Есть и другие процессы, которые блокчейн может сделать надежнее.

▓ Честные генераторы случайных чисел (например, для лотерей) – VDF[97] вроде той, что должна появиться в Ethereum, могли бы послужить честным генератором случайных чисел для повышения надежности государственных лотерей. «Честную случайность» можно применять и в других областях – например, для управления через жеребьевку [98].

▓ Сертификаты, например криптографические доказательства того, что какой-то конкретный человек действительно проживает в конкретном городе. Их можно добавить в блокчейн для дополнительной проверки (например, если такие сертификаты будут выдавать в блокчейне и появится много поддельных сертификатов, это будет проще заметить). Сюда подходят все виды сертификатов, выданных местными органами власти.

▓ Реестры активов для земли и другого имущества, а также для более сложных форм собственности вроде прав на застройку. Поскольку в некоторых исключительных случаях суд должен иметь возможность передавать права на имущество, такие реестры, скорее всего, никогда не станут полностью децентрализованными предъявительскими финансовыми документами, как криптовалюты. Но записи в блокчейне все равно будут полезны, если в рамках разбирательства нужно будет узнать, что именно произошло и в каком порядке.

В конце концов, в блокчейне можно провести и голосование. Здесь возникает много сложностей и препятствий, и нужно быть как можно осторожнее. Чтобы обеспечить конфиденциальность и безопасность, понадобится сложная комбинация блокчейна, доказательства с нулевым разглашением и других криптографических средств. И все же, если человечество вообще когда-нибудь соберется перейти на электронное голосование, эксперименты на местном самоуправлении – идеальная отправная точка.

КАКИЕ ИНТЕРЕСНЫЕ РАДИКАЛЬНЫЕ ЭКСПЕРИМЕНТЫ МОЖНО ПРОВЕСТИ В ЭКОНОМИКЕ И УПРАВЛЕНИИ?

Но блокчейн не обязательно наслаивать на уже существующие управленческие практики – на его основе власти могут проводить совершенно новые и радикальные эксперименты в экономике и управлении. То, что я перечислю, не стоит воспринимать как готовые идеи, которые я призываю реализовать; это скорее пробные исследования и предложения по возможным направлениям развития. Лучшие идеи о том, как усовершенствовать эксперимент, появляются уже после его запуска благодаря обратной связи, которую мы получаем в реальном мире.

ЭКСПЕРИМЕНТ № 1: БОЛЕЕ КОМПЛЕКСНЫЙ ПОДХОД К ГОРОДСКИМ ТОКЕНАМ

CityCoins.co – лишь один, но далеко не единственный вариант работы городских токенов. К тому же подход CityCoins.co не лишен рисков, особенно с учетом того, что его экономическая модель слишком ориентирована на ранних пользователей. 70 % дохода в STX от выпуска новых монет получают существующие стейкеры городских монет. Между тем в ближайшие пять лет будет создано больше монет, чем за последующие пятьдесят. Для властей 2021 года это прекрасно, но что насчет властей 2051 года? Одобряя создание конкретной городской монеты, управленцы практически теряют контроль над ее будущим развитием. Следовательно, городским властям необходимо тщательно все продумать и разработать стратегию с учетом далекого будущего.

Вот набросок того, как могли бы работать городские токены. Это далеко не единственная из альтернатив CityCoins.co; например, Стив Уолдман написал прекрасную статью[99] об еще одном варианте развития городских токенов – как локального средства обмена. В любом случае здесь можно долго фантазировать, и внимания достойны многие варианты. Итак, поехали…

Концепция домовладения в ее нынешнем виде – палка о двух концах. Многие считают отдельные способы ее активного поощрения и ее юридическую основу одной из величайших ошибок современной экономической политики. Между домом как местом для жизни и домом как инвестиционным активом неизбежно возникает политическая напряженность: необходимость удовлетворять потребности сообществ, которые заинтересованы во втором, часто серьезно угрожает доступности первого. Житель города либо владеет домом, что делает его уязвимым перед колебанием цен на землю и подверженным воздействию пагубных стимулов бороться со строительством новых домов, либо арендует его, из-за чего негативно настроен по отношению к рынку недвижимости и, следовательно, оказывается в экономическом противоречии с целью сделать город хорошим местом для жизни.

Но, даже несмотря на все эти проблемы, многие по-прежнему считают домовладение не просто лучшим для себя вариантом, но и чем-то достойным активного финансирования или социального поощрения. Одна из важнейших причин в том, что это побуждает людей откладывать деньги и накапливать собственный капитал. Кроме того, несмотря на все недостатки, это создает экономическое равновесие между жителями и сообществами, в которых они живут. Но что, если бы мы сохранили экономическое равновесие и возможность накапливать средства, при этом избавившись от сопутствующих изъянов? Что, если бы мы могли создать делимый и взаимозаменяемый городской токен, получить который можно в любом количестве в зависимости от возможностей и желания и ценность которого будет расти по мере процветания города?

Сперва обозначим примерные цели. Не обязательно достигать их все сразу; токен, который соответствует хотя бы трем требованиям из пяти, уже будет большим шагом вперед. Но мы все-таки постараемся охватить как можно больше.

▓ Найти стабильные источники дохода для органов управления. Экономическая модель городского токена должна не перенаправлять существующие налоговые поступления, а находить новые источники дохода.

▓ Создать экономическое равновесие между жителями и городом. То есть ценность самой монеты должна расти по мере того, как город становится более привлекательным местом для жизни. Вместе с тем экономическая модель должна способствовать тому, чтобы большую часть монет держали именно жители, а не далекие от города хедж-фонды.

▓ Способствовать накоплению сбережений и росту благосостояния. За это отвечает собственность на жилье: по мере того как домовладельцы вносят ипотечные платежи, они по умолчанию наращивают свой капитал. Что-то подобное могли бы осуществить и городские токены: привлечь жителей к постепенному накоплению монет и даже сделать этот процесс похожим на игру.

▓ Поддерживать полезную общественную активность – действия, которые идут на благо города, более рациональное использование природных ресурсов.

▓ Укреплять эгалитаризм. Не стоит потворствовать богатым во вред бедным (плохо продуманные экономические механизмы часто ненароком приводят именно к такому результату). Делимость токена, позволяющая избежать жесткого разделения на его обладателей и всех остальных, уже во многом этому способствует, но можно пойти еще дальше – например, распределить большую часть новой эмиссии между резидентами в качестве ББД[100].

Первые три цели будут сразу достигнуты, если предоставить преимущества держателям: если у вас есть хотя бы X монет (где X может со временем увеличиваться), вы бесплатно получаете некий набор услуг. MiamiCoin пытаются привлечь к этому бизнес, но можно пойти дальше и подключить государственные услуги. Простой пример: предоставлять существующие общественные парковочные места бесплатно только тем, у кого заблокировано хотя бы некоторое количество монет. Это помогло бы добиться сразу нескольких целей.

▓ СТИМУЛИРОВАТЬ ДЕРЖАТЬ МОНЕТЫ, повышая их ценность.

▓ СТИМУЛИРОВАТЬ ДЕРЖАТЬ МОНЕТЫ ИМЕННО МЕСТНЫХ ЖИТЕЛЕЙ, а не далеких инвесторов с другими интересами. Кроме того, каждый человек может получить лишь ограниченную пользу, что способствует широкому распределению активов.

▓ Создать экономическую согласованность (город становится более привлекательным – > больше людей хотят парковаться – > монеты приобретают бóльшую ценность). В отличие от домовладения, это создает связь со всем городом, а не только с конкретной его локацией.

▓ Поощрять рациональное использование ресурсов: это позволило бы сократить использование парковочных мест (хотя люди без монет, которые действительно в них нуждаются, в любом случае могут за них заплатить) и помогло бы местным органам власти освободить больше пространства на дорогах, чтобы сделать их удобнее для пешеходов. Возможен и другой вариант – позволить ресторанам блокировать монеты за счет того же механизма и претендовать на парковочные пространства для открытия веранд.

При этом, чтобы избежать обратных стимулов, очень важно не допускать чрезмерной зависимости от одной конкретной идеи и обеспечить широкий спектр источников дохода. Одна из золотых жил, которая поможет городам повысить ценность своих токенов и в то же время поэкспериментировать с новыми идеями управления, – это зонирование. Если у вас есть хотя бы Y монет, то вы можете квадратично проголосовать за сбор, который должны выплатить близлежащие землевладельцы, чтобы обойти ограничения по зонированию. Этот гибридный подход, основанный на сочетании рынка и прямой демократии, был бы гораздо эффективнее нынешних громоздких процессов выдачи разрешений, а сама плата стала бы еще одним источником государственных доходов. В целом любую идею из следующего эксперимента можно объединить с городскими токенами, чтобы предоставить их обладателям больше вариантов применения.

ЭКСПЕРИМЕНТ № 2: БОЛЕЕ РАДИКАЛЬНЫЕ И ОСНОВАННЫЕ НА ШИРОКОМ УЧАСТИИ ФОРМЫ УПРАВЛЕНИЯ

Именно здесь на помощь приходят идеи «Радикальных рынков»[101] – налоги Харбергера, квадратичное голосование и квадратичное финансирование. Я уже упоминал их в предыдущем разделе, но их можно реализовать и без специальных городских токенов. Некоторые органы управления уже частично применяли квадратичное голосование и финансирование: взять хотя бы кейсы колорадского подразделения Демократической партии и тайваньского президентского хакатона. Были и не поддерживаемые властями эксперименты, например Gitcoin Boulder Downtown Stimulus. Но можно сделать еще больше!

Один из очевидных примеров применения этих идей, которые имеют большую ценность в длительной перспективе, – стимулы, которые побудили бы застройщиков поработать над эстетикой зданий. Налоги Харбергера и другие механизмы можно использовать для радикальной реформы правил зонирования, а блокчейны – для более надежного и эффективного управления такими механизмами. Другая идея, результаты которой могут проявиться быстрее, – субсидирование локального бизнеса, как это делали Downtown Stimulus, только в более долгосрочной и масштабной форме. Бизнес всегда позитивно влияет на локальные сообщества, и это влияние можно усилить. Можно квадратично финансировать местные СМИ и оживить эту умирающую индустрию. Можно устанавливать цены на рекламу на основе результатов голосования, где люди сразу же высказываются о конкретной рекламе, что поможет развивать оригинальность и креативность.

Неизбежная картинка в стиле соларпанк, которая изображает, что могло бы произойти с нашими городами, если бы все субсидии и цены устанавливались через квадратичные голосования в реальном времени

Более демократичная обратная связь (и, возможно, даже ретроактивная демократичная обратная связь![102]) могла бы стимулировать развитие всех этих областей. Цифровая демократия XXI века с квадратичным голосованием и финансированием в сети в режиме реального времени могла бы работать гораздо лучше, чем демократия ХХ века, которая на практике отличилась жесткими нормами и затруднением планирования и проведения слушаний. И, конечно, если использовать блокчейн как инструмент для безопасного голосования, намного более надежной и политически осуществимой выглядит попытка начать с совершенно новых видов голосования, а не перекраивать старые.

ВЫВОДЫ

Можно найти множество идей для экспериментов и в существующих, и в совершенно новых городах. Конечно, новизна дает городу преимущество, поскольку в нем нет жителей с уже устоявшимися ожиданиями, но сама концепция создания города с нуля в наше время проработана относительно слабо. Возможно, многомиллиардные капиталы людей и проектов, готовых попробовать что-то новое, могли бы помочь преодолеть эту преграду. Но даже если так, в обозримом будущем люди продолжат обитать именно в существующих городах, так что они тоже могут взять эти идеи на вооружение.

Блокчейны могут быть очень полезны для реализации как радикальных, так и более умеренных из предложенных здесь идей, даже несмотря на изначально «доверительную» природу городского управления. Запуск любого нового или существующего механизма на блокчейне дает обществу легкую возможность убедиться, что все происходит по правилам. Публичные блокчейны лучше: выгоды от инфраструктуры, где пользователи могут самостоятельно проверить происходящие процессы, намного перевешивают потери от комиссий за транзакции, которые в скором времени снизятся за счет роллапов и фрагментации. В случаях, когда требуется строгая конфиденциальность, блокчейны можно комбинировать с криптографией с нулевым разглашением, что обеспечит и конфиденциальность, и безопасность.

В первую очередь властям нужно избегать поспешного принятия решений, которые обязательны к исполнению. Существующий город может попасть в эту ловушку, запустив плохой городской токен, вместо того чтобы действовать медленнее и запустить хороший. Новый город может попасть в эту ловушку, распродав слишком много земель и пожертвовав всеми преимуществами в пользу небольшой группы первых последователей. Лучше всего начать с автономных экспериментов и очень аккуратно подходить к любым необратимым действиям. Но в то же время важно не упустить возможность. В городах многое можно и нужно улучшить, для чего есть достаточно способов. Поэтому, несмотря на все проблемы, можно сказать, что время криптогородов уже наступило.

Особая благодарность Mr. Silly и Тине Чжэнь за первую обратную связь, а также огромному количеству людей – за обсуждение ключевых идей.

«Привязанные к душе» токены

VITALIK.CA

26 января 2022 года

Предметы Soulbound (то есть «привязанные к душе») – одна из особенностей игры World of Warcraft, давно привычная для сообщества геймеров, но малоизвестная за его кругами. Получив «привязанный к душе» предмет, вы не можете его продать или передать другим игрокам.

Большинство важнейших для игры предметов относятся именно к этой категории. Добыть их можно только после прохождения сложного квеста или убийства очень мощного монстра; как правило, совместно с другими игроками – их может быть от 4 до 39. Следовательно, чтобы обеспечить своего персонажа лучшим оружием и броней, вам ничего не остается, кроме как участвовать в убийствах этих опаснейших монстров.

Цель механизма вполне ясна: так игра становится сложнее и интереснее. Чтобы получить лучшие предметы, вам придется сделать что-то действительно сложное и выяснить, как убить дракона. Если вы целый год будете по десять часов в день просто истреблять кабанов и скопите горы золота, то все равно не сможете выкупить эпичные магические доспехи у других игроков, которые убили дракона для вас.

Но система, разумеется, несовершенна: ничто не мешает вам заплатить команде профессионалов, которая убьет дракона вместе с вами и оставит вам всю добычу. Кроме того, можно напрямую купить персонажа на вторичном рынке за не связанные с игрой доллары США, и тогда даже не придется убивать кабанов. И все же этот механизм делает игру намного лучше тех, где любой предмет можно просто купить.

ЧТО, ЕСЛИ БЫ NFT НЕЛЬЗЯ БЫЛО ПЕРЕДАВАТЬ?

NFT в нынешней форме обладают многими свойствами редких и эпичных предметов из массовой многопользовательской онлайн-игры. В частности, они помогают своим обладателям подавать определенные социальные сигналы: ими можно похвастаться, и для этого появляется все больше и больше инструментов. Например, совсем недавно Twitter запустил интеграцию, позволяющую пользователям демонстрировать обладание NFT в изображении профиля.

Но какие именно сигналы подают такого рода NFT? Частично они демонстрируют ваше умение добывать NFT и разбираться, на какие из них стоит обратить внимание. Но NFT – еще и товар, так что его важнейшая функция – продемонстрировать ваше богатство.

Если кто-то покажет, что у него есть NFT, который можно получить только после выполнения действия X, сложно будет сказать, сам он выполнил действие X или заплатил за это другому. В некоторых случаях это не проблема: когда кто-то покупает на вторичном рынке благотворительные NFT, он жертвует свои средства на общее благо, а также помогает благотворительности, мотивируя покупать NFT и других, так что его не в чем упрекнуть. Сами по себе NFT действительно могут быть очень полезны для благотворительности. Но что, если мы захотим создать NFT, которые будут сигнализировать не только о богатстве их покупателей?

CryptoPunks сейчас активно продаются за миллионы долларов, и это даже не самые дорогие из существующих NFT

Возможно, лучшая попытка достичь этой цели – POAP (proof of attendance protocol, «протокол подтверждения присутствия»), стандарт, по которому проекты могут отправлять NFT, указывающие, что получатель лично участвовал в каком-то мероприятии.

POAP – отличный пример того, как «привязанные к душе» NFT могут работать лучше обычных. Когда кто-то смотрит на ваш POAP, его не интересует, заплатили ли вы участнику какого-то мероприятия. Его интересует, участвовали ли в этом мероприятии лично вы. Это напоминает предложение размещать документы (например, водительские права, университетские дипломы или документы, подтверждающие возраст) в блокчейне: их ценность будет гораздо ниже, если кто-то никак с ними не связанный сможет просто их купить.

Передаваемые NFT имеют полное право на существование и ценны тем, что помогают поддерживать художников и благотворительные организации. Но для непередаваемых NFT тоже существует огромное и неизведанное пространство возможностей.

Часть моей собственной коллекции POAP. Большинство из них пришло с мероприятий, в которых я участвовал на протяжении многих лет

ЧТО, ЕСЛИ БЫ УПРАВЛЕНЧЕСКИЕ ПРАВА НЕЛЬЗЯ БЫЛО ПЕРЕДАВАТЬ?

Эту тему я уже изъездил вдоль и поперек, но готов повторять снова и снова: когда управленческие полномочия легко передаются, механизмы управления становятся уязвимы для серьезных проблем. На то есть две основные причины.

▓ Если цель состоит в широком распределении управленческих полномочий, то передаваемость контрпродуктивна, поскольку узкие группы интересов могут запросто выкупить у остальных права на управление.

▓ Если цель состоит в передаче управленческих полномочий компетентным людям, то передаваемость контрпродуктивна, поскольку ничто не мешает решительным, но некомпетентным лицам скупать права на управление.

Если вы согласны с изречением «Кто больше всех желает управлять людьми, тот меньше всех для этого подходит», то стоит настороженно относиться к простым процедурам передачи полномочий: именно так власть уходит из рук скромных и потенциально более ценных управленцев к самым властолюбивым и опасным.

Но что, если мы попытаемся сделать права на управление непередаваемыми? Что, если мы попытаемся создать CityDAO, в которой больше избирательных прав будет у реальных жителей города или которая как минимум будет более демократична и защищена от чрезмерного влияния «китов», накопивших больше всего городских NFT? Что, если управление через ДАО в протоколе блокчейна сможет поставить право на управление в зависимость от участия? И снова перед нами открывается обширное и перспективное пространство возможностей, к которому пока трудно подступиться.

РЕАЛИЗАЦИЯ НЕПЕРЕДАВАЕМОСТИ НА ПРАКТИКЕ

Создатели PОAP приняли техническое решение не блокировать возможность передачи самих POAP. Это вполне обоснованно: у пользователей могут быть веские причины захотеть перенести все свои активы с одного кошелька на другой (например, ради безопасности), а наивно реализованная защита непередаваемости в любом случае довольно слабая, поскольку пользователи могут просто создать аккаунт-оболочку, который будет держать NFT, а затем продать право собственности на него.

И уже было немало случаев частой покупки и продажи POAP, когда это было экономически целесообразно. Недавно Adidas выпустили для своих фанатов бесплатные POAP, которые давали пользователям приоритетный доступ к особой коллекции мерча. И что было дальше? Разумеется, многие POAP быстро перешли к тем, кто предложил лучшую цену.

Переводов больше, чем самих предметов. И это не уникальный случай

Для решения этой проблемы команда POAP предлагает разработчикам, переживающим по поводу непередаваемости, внедрять проверки самостоятельно: можно проверять в блокчейне соответствие адресов текущего и первоначального владельца и при необходимости со временем добавлять более сложные проверки. Пока что это самый перспективный подход.

Возможно, самым непередаваемым на сегодня NFT можно назвать проверку Proof of Humanity*[103]. Теоретически любой желающий может создать профиль Proof of Humanity через аккаунт смарт-контракта, право на который можно передать, и продать его. Но в протоколе Proof of Humanity есть функция отзыва, позволяющая первоначальному владельцу попросить удалить профиль. Для этого он должен записать просьбу на видео, по которому протокол Kleros определит, действительно ли на видеозаписи первоначальный владелец. После успешного удаления профиля пользователь может подать заявку на создание нового. Следовательно, если вы купите чей-то профиль Proof of Humanity, это приобретение будет очень легко отобрать, что обесценивает право собственности на него. Профили Proof of Humanity де-факто непередаваемые, и построенная поверх них инфраструктура в целом может привязывать токены в блокчейне к конкретным людям.

Можем ли мы ограничить возможность передачи, не проходя весь этот путь и не опираясь только на Proof of Humanity? Это сложнее, но существуют подходы средней надежности, и в некоторых случаях их будет вполне достаточно. Простейший вариант – привязка NFT к ENS-имени при условии, что пользователи достаточно дорожат своими ENS-именами, чтобы не передавать их. Скорее всего, в ближайшее время мы будем наблюдать появление целого спектра подходов к ограничению возможности передачи, причем разные проекты будут по-разному выстраивать компромисс между безопасностью и удобством.

НЕПЕРЕДАВАЕМОСТЬ И КОНФИДЕНЦИАЛЬНОСТЬ

Обеспечить строгую конфиденциальность передаваемых активов криптографически очень просто: вы берете свои монеты, размещаете их на Tornado Cash[104] или аналогичной платформе и выводите их на новый счет. Но как обеспечить конфиденциальность для «привязанных к душе» токенов, если их нельзя просто переместить в новый аккаунт или даже в смарт-контракт? Если Proof of Humanity начнет набирать популярность, конфиденциальность станет еще важнее, поскольку иначе вся наша активность в блокчейне будет буквально написана у нас на лице.

К счастью, есть несколько довольно простых технических решений.

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

▓ Опубликовать хеш группы токенов и дать каждому получателю свою ветвь Меркла[105].

▓ Если смарт-контракту необходимо проверить, есть ли у вас токен какого-либо типа, вы можете предоставить ZK-SNARK[106].

Передачу можно осуществлять внутри блокчейна. Простейший метод – транзакция, которая отправляет в фабричный контракт запрос сделать старый токен недействительным, а новый – действительным, используя ZK-SNARK, чтобы доказать валидность операции.

Без конфиденциальности подобные экосистемы не будут работать должным образом. В некоторых ситуациях в ней нет нужды – например, когда общеизвестно, что токен репрезентирует. Но часто пользователи все же не желают раскрывать информацию о себе. Если когда-нибудь в будущем данные о вакцинации станут POAP, худшее, что мы можем сделать, – создать систему, где POAP автоматически выставляется на всеобщее обозрение: в таком случае человеку не останется другого выбора, кроме как принимать решение о своем здоровье с опорой на то, что считается крутым в его социальном окружении. Если сделать конфиденциальность одной из целей на стадии разработки, можно избежать подобных проблем и увеличить шансы создать что-то замечательное.

ОТСЮДА ТУДА

Часто «web3» в его нынешнем виде критикуют за то, что там все крутится вокруг денег. Люди ликуют, получая и растрачивая огромные суммы, и это ограничивает привлекательность и долгосрочную устойчивость культуры вокруг этих цифровых предметов коллекционирования. Конечно, даже у монетизированных NFT есть важные преимущества вроде финансирования художников и благотворительных организаций, которые в противном случае могли остаться незамеченными. Однако у этого подхода есть ограничения, и многие возможности выхода за рамки монетизации остаются неисследованными. Если больше токенов в криптопространстве сделать «привязанными к душе», мы сможем приблизиться к альтернативе, где NFT больше сообщают о том, кто вы есть, чем о том, что вы можете себе позволить.

Однако этому препятствуют технические проблемы и непростое «сопряжение» между желанием ограничить или полностью исключить передаваемость и экосистемой блокчейна, где все стандарты строятся на основе максимальной передаваемости. Самые перспективные на сегодня решения – прикрепление предметов к «объектам идентификации», которые пользователи либо не смогут (как в случае с профилями Proof of Humanity), либо не захотят (как в случае с ENS-именами) обменивать, но и здесь остаются проблемы с приватностью, безопасностью и простотой использования. Нам нужно приложить больше усилий, чтобы обдумать эти проблемы и решить их. Но в случае успеха блокчейны смогут стать экосистемами, основанным на сотрудничестве и увлекательности, а не только на деньгах.

Что меня воодушевляет в экосистеме приложений Ethereum

VITALIK.CA

5 декабря 2022 года

Десять, пять и даже два года назад мои представления о потенциале Ethereum и блокчейна были весьма абстрактными. «Это универсальная технология, как C++», – говорил я. Конечно, я замечал ее конкретные свойства вроде децентрализации, открытости и устойчивости к цензуре, но все же пока не мог с уверенностью сказать, в каких именно приложениях она принесет больше всего пользы.

Но сегодня мы живем в другом мире. Прошло достаточно времени, чтобы опробовать блокчейн во всех возможных областях: если где-то он находит успешное применение, скорее всего, что-то подобное уже неоднократно обсуждалось в блогах, на форумах и конференциях. Кроме того, в целом мы выяснили его главные ограничения. Энтузиасты, готовые к неудобствам и расходам, испытали ДАО в самых разных сферах, и большинство экспериментов закончилось неудачно. Использование блокчейна для отслеживания цепочек поставок ни к чему не привело. Та же судьба ждала децентрализованный Amazon на блокчейне. Однако сегодня мы наблюдаем, как некоторые варианты применения этой технологии распространяются все шире и приносят пользу людям. Именно на них нам и стоит сосредоточиться.

В результате мои взгляды изменились: теперь Ethereum воодушевляет меня не своим неизведанным потенциалом, а несколькими конкретными категориями приложений, которые уже зарекомендовали себя с хорошей стороны и постоянно развиваются. В этом посте я расскажу, что это за приложения, и какие категории больше не кажутся мне перспективными.

1. ДЕНЬГИ: ПЕРВОЕ И ПО-ПРЕЖНЕМУ САМОЕ ВАЖНОЕ ПРИЛОЖЕНИЕ

В декабре прошлого года я впервые побывал в Аргентине, и особенно мне запомнился рождественский день, когда мы бродили по улицам в поисках хотя бы одной открытой кофейни. После пяти неудачных попыток нам, наконец, повезло. Когда мы вошли, владелец кофейни узнал меня и тут же показал свой кошелек Binance, где у него были ETH и другие криптоактивы. Мы заказали чай и спросили, можно ли заплатить в ETH. Владелец пошел нам на встречу и показал QR-код с адресом своего депозита на Binance, куда я отправил ETH примерно на 20 долларов из кошелька Status со своего телефона.

Это далеко не самый значимый пример того, как в Аргентине используют криптовалюту. С ее помощью хранят сбережения, совершают международные переводы, осуществляют платежи по крупным и важным транзакциям и делают многое другое. Но тот факт, что в первой попавшейся кофейне я смог расплатиться криптовалютой, продемонстрировал ее внушительный охват. В богатых странах вроде США нет проблем с финансовыми операциями, а инфляция в 8 % считается экстремальным показателем, но Аргентина и многие другие страны мира не настолько интегрированы в мировые финансовые системы, а гиперинфляция для них – привычная реальность. И в таких условиях криптовалюта часто становится спасательным кругом.

Единственная проблема этой транзакции заключалась в ее непрактичности. Комиссия составила примерно треть от суммы, а подтверждение заняло несколько минут: полагаю, тогда Status еще не поддерживал отправку транзакций EIP-1559, гарантирующих более быстрое подтверждение. Будь у меня, как у многих аргентинских криптопользователей, кошелек Binance, транзакция была бы мгновенной и бесплатной.

В дополнение к Binance растет число местных бирж – их реклама встречается повсюду, в том числе в аэропортах

Однако год спустя расчеты изменились. После Слияния[107] прохождение транзакций значительно ускорилось, а цепочка стабилизировалась, благодаря чему стало безопасней принимать транзакции после меньшего количества подтверждений. Активно развиваются технологии масштабирования вроде optimistic rollup и ZK rollup. «Социальное восстановление» и кошельки с мультиподписью становятся практичнее благодаря абстракции аккаунта[108]. Чтобы эти тренды развернулись в полную силу, потребуются еще годы технологического развития, но прогресс уже заметен. В то же время возник важный «движущий фактор», подогревающий интерес к транзакциям внутри блокчейна, – крах FTX, который напомнил всем, включая латиноамериканцев, что даже самые, казалось бы, надежные централизованные сервисы могут оказаться не такими уж надежными.

КРИПТОВАЛЮТА В БОГАТЫХ СТРАНАХ

Для богатых стран экстремальные случаи вроде выживания при высокой инфляции и проблем с базовыми финансовыми операциями не так актуальны. Но и они могут найти пользу в криптовалютах. Как человек, который использует их для перевода благотворительным организациям из разных стран, могу лично подтвердить, что для этой цели криптовалюты подходят куда лучше традиционных банковских инструментов. Также они ценны для отраслей и видов деятельности, которые рискуют остаться без поддержки традиционных финансовых платформ, причем в эту категорию попадает довольно много отраслей, абсолютно легальных в большинстве стран.

Еще один, более всеобъемлющий и философский подход к криптовалютам предполагает их использование в качестве личных денежных средств. Многие правительства пользуются переходом к «безналичному обществу», чтобы достичь нового уровня финансового надзора, – такого, какой еще 100 лет назад невозможно было вообразить. Криптовалюта – единственный разрабатываемый сейчас инструмент, который может сочетать преимущества цифровизации с конфиденциальностью, свойственной наличным деньгам.

Но пока криптовалюты далеки от совершенства. Даже если решить все проблемы с технологической реализацией, пользовательским опытом и безопасностью учетных записей, криптовалюты по-прежнему останутся волатильным инструментом, поэтому их не всегда удобно использовать для сбережений и бизнеса. Поэтому у нас есть…

СТЕЙБЛКОЙНЫ

Сообщество Ethereum уже давно осознало ценность стейблкойнов. Вот цитата из моего поста 2014 года:

За последние одиннадцать месяцев держатели биткойна потеряли около 67 % своего состояния, и довольно часто за одну неделю цена поднимается или опускается на целых 25 %. Беспокойство по этому поводу все чаще перетекает в простой вопрос: можно ли взять лучшее из обоих миров? Можно ли иметь одновременно и полную децентрализацию криптографической платежной сети, и более высокий уровень ценовой стабильности, который защитит от таких сильных перепадов?

И действительно, сегодня стейблкойны очень популярны именно среди пользователей с прагматичным подходом к криптовалюте. Однако существующие реалии расходятся с ценностями шифропанка: самые успешные на сегодня стейблкойны – централизованные: USDC, USDT и BUSD.

Топ криптовалют по рыночной капитализации, данные CoinGecko на 30.11.2022. Три из первых шести – централизованные стейблкойны

Стейблкойны, выпускаемые в блокчейне, многим удобны: во-первых, они всем доступны; во-вторых, они устойчивы к самым масштабным и хитрым формам цензуры (эмитент может вносить адреса в черный список и замораживать их, но процесс занесения в черный список будет прозрачен, а заморозка каждого адреса обойдется дорого из-за затрат на транзакционные сборы) и, в-третьих, они хорошо взаимодействуют с инфраструктурой блокчейна (учетными записями, децентрализованными биржами и т. д.). Но неизвестно, сколько продлится такое положение вещей, поэтому нужно не останавливаться на достигнутом и работать над альтернативами.

Дальнейшее проектирование стейблкойнов я бы разделил на три направления: централизованные стейблкойны; стейблкойны, управляемые ДАО и обеспеченные реальными активами; стейблкойны с минимизированным управлением и обеспеченные криптовалютой.

Эти три варианта предлагают пользователю найти компромисс между эффективностью и устойчивостью. USDC работает сегодня и почти наверняка будет работать завтра. Но в долгосрочной перспективе его текущая стабильность зависит от макроэкономической и политической стабильности Соединенных Штатов, сохранения государственной регуляторной среды, где USDC доступен для всех, и надежности организации-эмитента.

RAI, в свою очередь, не так зависим от этих факторов, но имеет негативную процентную ставку: -6,7 % на момент написания этой статьи. Чтобы система была стабильной (то есть, чтобы ей не грозил крах, как это случилось с LUNA), на каждого держателя RAI должен приходится держатель негативного RAI (он же «заемщик» или «держатель CDP»), вносящий ETH в качестве залога. Ставка могла бы улучшиться, если бы больше людей участвовали в арбитраже: держали негативный RAI и уравновешивали его положительными USDC или даже вкладами на процентных банковских счетах. Но процентные ставки по RAI всегда будут ниже, чем в функционирующей банковской системе, из-за чего возможность негативных ставок, а вместе с ней и постоянной головной боли у пользователей, никуда не денется.

Модель RAI в конечном счете идеально подходит для более пессимистичного «лунапанкового»[109] мира: она избегает любых связей с некриптовалютными системами, что значительно затрудняет атаку. Негативные процентные ставки делают ее неудобным эквивалентом доллара, но этот разрыв мог бы помочь ей адаптироваться. Стейблкойн с минимизированным управлением мог бы отслеживать какой-либо невалютный актив – например, среднемировой индекс потребительских цен, – и подавать себя как абстрактную репрезентацию «ценовой стабильности, достигнутой максимальными усилиями». Это также могло бы гарантировать меньший регуляторный риск, поскольку такой актив не пытался бы занять место «цифрового доллара» (или евро, или другой валюты).

Стейблкойны, управляемые ДАО и обеспеченные реальными активами, при должном подходе могут стать золотой серединой. Такие стейблкойны могли бы сочетать в себе достаточную надежность, устойчивость к цензуре, масштабируемость и экономическую практичность, чтобы удовлетворить потребности большинства реальных пользователей. Но для этого потребуется хорошо поработать как над правовой базой для создания надежных эмитентов, так и над проектированием системы управления ДАО, ориентированной на устойчивость.

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

2. DEFI: ЧЕМ ПРОЩЕ, ТЕМ ЛУЧШЕ

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

▓ РЫНКИ ПРЕДСКАЗАНИЙ. С тех пор, как в 2015 году запустился Augur, рынки предсказаний стали нишевой, но стабильной основой децентрализованных финансов. Все это время они постепенно набирают популярность. На выборах в США 2020 года рынки предсказаний продемонстрировали, чем они ценны и в чем их ограничения. Сейчас, в 2022 году, популярность набирают и крипторынки предсказаний вроде Polymarket, и рынки с игровыми деньгами вроде Metaculus. Рынки предсказаний – ценный эпистемологический инструмент, а в сочетании с криптовалютами они становятся более надежными и глобально доступными. На мой взгляд, в будущем они не поразят нас многомиллиардными сенсациями, но продолжат стабильный рост и со временем станут приносить еще больше пользы.

▓ ДРУГИЕ СИНТЕТИЧЕСКИЕ АКТИВЫ. В целом формулу, лежащую в основе стейблкойнов, можно воспроизвести и на других реальных активах. Интересные кандидаты из физического мира – крупные фондовые индексы и недвижимость. Рынок недвижимости из-за своей неоднородности и сложности потребует больше времени, но именно в этих качествах, возможно, кроется его ценность. Главный вопрос заключается в том, сможет ли кто-то найти баланс между децентрализацией и эффективностью, который предоставит пользователям доступ к этим активам с убедительными показателями доходности.

▓ СВЯЗЫВАЮЩИЕ СЛОИ ДЛЯ ЭФФЕКТИВНОЙ ТОРГОВЛИ МЕЖДУ ДРУГИМИ АКТИВАМИ. Если в блокчейне есть активы, которые люди хотят использовать – ETH, централизованные или децентрализованные стейблкойны, более продвинутые синтетические активы или что-то еще – было бы полезно иметь слой, позволяющий пользователям легко совершать между ними операции. Некоторые пользователи хотели бы владеть USDC и оплачивать ими транзакционные сборы, другие – держать разные активы, но иметь возможность мгновенно их конвертировать, чтобы платить в той или иной валюте. Можно также использовать один актив в качестве залога для займа других, хотя скорее всего успешность таких проектов и спокойствие пользователей будут обеспечены только в том случае, если кредитное плечо будет очень ограниченным (например, не больше 2x).

3. ЭКОСИСТЕМА ИДЕНТИФИКАЦИИ: AND, SIWE, POH, POAP, SBT

«Идентичность» – сложное понятие с множеством значений. Например:

▓ БАЗОВАЯ АУТЕНТИФИКАЦИЯ: простое доказательство того, что действие A (например, отправка транзакции или авторизация на сайте) было одобрено неким агентом с определенным идентификатором вроде ETH-адреса или открытого ключа, без попытки сообщить дополнительную информацию о том, кем или чем является агент.

▓ СВИДЕТЕЛЬСТВА: доказательства утверждений одних агентов о других («Боб подтверждает, что он знает Алису», «правительство Канады подтверждает, что Чарли – гражданин страны»).

▓ ИМЕНА: установление консенсуса в отношении того, что конкретное имя относится к конкретному агенту.

▓ РROOF-OF-PERSONHOOD: подтверждение того, что агент – человек, и гарантия через систему proof-of-personhood, что человек может идентифицироваться только один раз (часто это делается в рамках свидетельства, так что это не совсем отдельная категория, но чрезвычайно важный самостоятельный кейс).

Долгое время я был «быком» в отношении блокчейн-идентификации и «медведем» – в отношении платформ блокчейн-идентификации[110]. Примеры, упомянутые выше, действительно имеют большое значение для многих сценариев использования блокчейна, а блокчейны ценны для приложений идентификации за счет независимости от институтов и высокой совместимости. Однако попытка создать централизованную платформу для решения всех этих задач с нуля не даст нужного результата. Здесь, скорее, подойдет органичный подход, где много проектов работают над конкретными, по-своему важными задачами и со временем добавляют все больше и больше возможностей совместимости.

Именно это мы и наблюдаем. Стандарт входа через Ethereum (SIWE) позволяет пользователям логиниться на (традиционных) сайтах почти так же, как через Google или Facebook. В этом есть огромная польза: можно взаимодействовать с сайтом, не предоставляя Google или Facebook доступа к вашей личным данным, и без риска, что кто-то сможет завладеть вашим аккаунтом или заблокировать его. Методы вроде социального восстановления могут обеспечить гораздо более надежные способы восстановления пароля, чем те, что сегодня предлагают централизованные корпорации. Сегодня SIWE поддерживается многими приложениями, включая чат Blockscan, сервис электронной почты и заметок с двойным шифрованием Skiff, а также различными альтернативными социальными сетями на основе блокчейна.

ENS позволяет обзавестись именем пользователя: у меня это vitalik.eth. Proof of Humanity и другие системы proof-of-personhood позволяют пользователю доказать свою уникальность, что полезно во многих кейсах, включая эйрдропы и системы управления. POAP («протокол подтверждения присутствия», произносится либо как «поуп», либо как «поап», в зависимости от того, кто вы – часть стада или бунтарь) – универсальный протокол, который создает токены, подтверждающие какой-либо факт: например, что вы закончили образовательный курс, побывали на каком-то мероприятии, встретились с тем или иным человеком. POAP можно было бы использовать и как часть протокола proof-of-personhood, и как способ определить, является ли кто-то членом определенного сообщества (что важно для систем управления и эйр-дропов).

Все эти кейсы хороши по-отдельности, но особенно они сильны тем, что отлично друг с другом сочетаются. Когда я логинюсь в чате Blockscan, я вхожу через Ethereum. Это означает, что я сразу же отображаюсь как vitalik.eth (мое ENS-имя) для всех, с кем общаюсь. В будущем, чтобы бороться со спамом, чат Blockscan может «проверять» учетные записи, просматривая активность в блокчейне или POAP. На самом простом уровне можно было бы проверять, что аккаунт был отправителем или получателем хотя бы в одной транзакции (поскольку для этого нужно платить комиссию). Более сложный уровень верификации мог бы включать проверку баланса определенного токена, владения определенными POAP, профиля proof-of-personhood или мета-агрегатора вроде Gitcoin Passport.

NFC-карточка с моим ENS-именем, позволяющая получить POAP с подтверждением, что мы с вами встречались. Не уверен, что хочу подталкивать людей охотиться на мой POAP, но для кого‐то это может быть забавно или полезно

Сетевые эффекты от объединения этих разных сервисов формируют экосистему, создающую для пользователей и приложений несколько очень важных возможностей. Альтернатива твиттера на основе Ethereum (например, Farcaster) может использовать POAP и другие доказательства активности в блокчейне для создания функции «верификации», не требующей обычного KYC, позволяя действовать анонимно. Такие платформы могли бы создавать комнаты, предназначенные только для членов определенного сообщества, или гибридные варианты, где говорить могут только члены сообщества, но слушать могут все. Эквивалент опросов в твиттере можно ограничить конкретными сообществами.

Что не менее важно, существует куда более прикладные кейсы, которые могут помочь людям зарабатывать на жизнь: верификация с помощью аттестаций может упростить доказательство, что человек заслуживает доверия для получения арендной платы, работы или кредита.

В будущем этой экосистеме предстоит столкнуться с проблемой конфиденциальности. Статус-кво предполагает, что в блокчейне передается большой объем информации: это хорошо, но только до определенного момента, и в конечном итоге станет малоприятным, если не откровенно рискованным, для все большего числа людей. Эту проблему можно решить, объединив информацию внутри и вне блокчейна и широко используя ZK-SNARK, но над этим нужно будет серьезно поработать – к чему уже приступили проекты вроде Sismo и HeyAnon. Также встает непростой вопрос масштабирования, но в целом его можно решить с помощью роллапов и, возможно, валидиумов. Однако для конфиденциальности общего решения нет, и ее нужно прорабатывать отдельно под каждый кейс.

4. ДАО

«ДАО» – яркий и сильный термин, который отражает многие надежды и мечты построить в криптопространстве более демократические, устойчивые и эффективные формы управления. Вместе с тем, это невероятно широкое понятие, значение которого меняется с годами. В самом общем смысле ДАО – это смарт-контракт, который представляет структуру владения или контроля над каким-либо активом или процессом. Но эта структура может быть любой: от простой мультиподписи до сложнейших механизмов многопалатного управления вроде предложенных для Optimism Collective. Многие из этих структур работают, а многие – нет, или просто не подходят для поставленных им задачам.

Здесь возникают два вопроса.

1. Какие типы структур управления имеют смысл и для каких целей они подходят?

2. Имеет ли смысл реализовать эти структуры как ДАО, или будет достаточно обычной регистрации и юридических контрактов?

Еще одна тонкость заключается в том, что словом «децентрализованный» могут описывать и первое, и второе: структура управления децентрализована, если ее решения зависят от решений, принятых большой группой участников, а реализация структуры управления децентрализована, если она построена на децентрализованной структуре вроде блокчейна и не зависит от правовой системы какого-то отдельного государства.

ДЕЦЕНТРАЛИЗАЦИЯ ДЛЯ НАДЕЖНОСТИ

Разделить эти понятия можно, например, так: децентрализованная структура управления защищает от злоумышленников изнутри, а децентрализованная реализация защищает от опасных злоумышленников снаружи («сопротивление цензуре»).

Рассмотрим несколько примеров.

The Pirate Bay и Sci-Hub – важные примеры, где для устойчивости к цензуре децентрализация не обязательна. По большей части Sci-Hub управляется всего одним человеком, и в случае захвата части инфраструктуры сервис можно будет просто переместить куда-то еще. За годы существования URL-адрес Sci-Hub менялся множество раз. В свою очередь, The Pirate Bay – гибрид: он опирается на децентрализованный BitTorrent, но лежит централизованным слоем поверх него.

Разница между этими двумя примерами и блокчейн-проектами заключается в том, что первые не пытаются защитить своих пользователей от самой платформы. Если бы Sci-Hub или The Pirate Bay хотели навредить своим пользователям, худшее, что они могли бы сделать, – выдать плохие результаты или закрыться. И то, и другое причинит пользователям лишь незначительные неудобства, и они быстро найдут альтернативы, которые неизбежно появятся. Они также могли бы публиковать IP-адреса пользователей, но даже в этом случае вред будет намного меньше, чем, скажем, вред от кражи у пользователей всех их средств.

Стейблкойны ведут себя иначе. Они пытаются создать стабильную, достоверно нейтральную глобальную коммерческую инфраструктуру, и это требует как независимости от единого централизованного актора извне, так и защиты от злоумышленников изнутри. Если управление стейблкойнами организовано плохо, в результате захвата пользователи могут лишиться миллиардов долларов.

На момент написания этой статьи залоговая стоимость MakerDAO составляет 7,8 миллиардов долларов, что более чем в 17 раз превышает рыночную капитализацию токена MKR, приносящего прибыль. Следовательно, если бы управление зависело от держателей MKR без каких-либо мер безопасности, кто-то мог бы скупить половину MKR, использовать их для манипуляции ценовыми оракулами и украсть большую часть всех средств. На самом деле с менее значительным стейблкойном такое уже происходило! MKR пока удавалось этого избежать в основном благодаря тому, что этой валютой владеют немногие, причем большая часть MKR принадлежит довольно небольшой группе, которая не хотела бы их продавать, поскольку верит в проект. Такая модель подходит для запуска стейблкойна, но в долгосрочной перспективе не так уж хороша. Так что для продолжительной работы децентрализованных стейблкойнов потребуются инновации в децентрализованном управлении, избавленные от подобных недостатков.

Здесь есть два возможных направления.

▓ Своего рода нефинансовое управление (non-financialized governance) или, например, двухпалатный гибрид, где решения должны принимать не только держатели токенов, но и какой-то другой класс пользователей (например, Citizens House в Optimism или держатели stETH как в двухпалатном предложении Lido).

▓ Намеренное торможение, где определенные решения вступают в силу только после некоторой задержки, достаточной, чтобы в случае чего пользователи успели заметить неладное и выйти из системы.

Чтобы создать систему управления, которая сможет эффективно оптимизировать устойчивость, нужно учитывать много тонкостей. Если устойчивость системы зависит от сценариев, которые активируются только в экстремальных случаях, она даже может время от времени тестировать эти сценарии, чтобы удостовериться в их эффективности – как храм Исэ, который перестраивают каждые 20 лет. Этот аспект децентрализации ради устойчивости все еще требует более тщательной проработки и развития.

ДЕЦЕНТРАЛИЗАЦИЯ ДЛЯ ЭФФЕКТИВНОСТИ

Еще одно направление – децентрализация для эффективности: ценность децентрализованной структуры управления заключается в том, что она помогает учитывать мнения самых разных людей на разных уровнях, а ценность децентрализованной реализации – в том, что иногда она может быть более эффективной и менее затратной, чем традиционный подход на основе правовой системы.

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

Децентрализованные реализации, нацеленные на надежность, и децентрализованные реализации, нацеленные на эффективность, в чем-то похожи: они подразумевают помещение активов в смарт-контракты. Но те децентрализованные приложения, которые нацелены на повышение эффективности, будут намного проще: как правило, для них будет достаточно стандартной мультиподписи.

Стоит отметить, что «децентрализация для эффективности» вряд ли будет хорошо работать в случае крупномасштабных проектов в какой-либо богатой стране. Зато она подходит для небольших проектов, интернациональных проектов и проектов, которые базируются в странах с неэффективными институтами и слабой системой правопорядка. Многие кейсы «децентрализации для эффективности», вероятно, также можно реализовать в блокчейне, который управляется центральным банком стабильной крупной страны. Подозреваю, что своими преимуществами обладают как децентрализованные, так и централизованные подходы: в будущем будет преобладать тот из них, который преуспеет первым.

Управление на основе рабочих групп в Ukraine DAO. Такой стиль управления повышает эффективность за счет максимальной автономии

ДЕЦЕНТРАЛИЗАЦИЯ ДЛЯ ПОВЫШЕНИЯ СОВМЕСТИМОСТИ

Это довольно скучный класс причин для децентрализации, но от этого не менее важный: объектам внутри блокчейна гораздо проще и безопаснее взаимодействовать с другими объектами внутри блокчейна, чем с системами за его пределами, поскольку для последнего неизбежно потребуются (уязвимый) связывающий слой .

Если крупная организация, работающая на принципах прямой демократии, держит в своих резервах 10000 ETH, это будет децентрализованное управленческое решение, но не децентрализованная реализация: на практике в этой стране несколько человек будут управлять ключами, и система хранения может подвергнуться атаке.

Есть и управленческий аспект: если система предоставляет услуги другим ДАО, которые не способны оперативно меняться, будет лучше, если эта система сама не будет способна к быстрым изменениям, – это поможет избежать «несоответствия жесткости», когда связи системы нарушаются, и из-за жесткости она не может вовремя адаптироваться к переменам.

Эти три «теории децентрализации» можно представить в виде схемы.

[111]

ДЕЦЕНТРАЛИЗАЦИЯ ДЛЯ НОВЫХ НЕОБЫЧНЫХ МЕХАНИЗМОВ УПРАВЛЕНИЯ

За последние несколько десятилетий мы наблюдали за появлением ряда новых необычных механизмов управления:

▓ квадратичное голосование;

▓ футархия;

▓ ликвидная демократия;

▓ децентрализованные инструменты для обсуждений вроде Pol.is.

Эти идеи – важная часть истории ДАО. Они потенциально ценны для обеспечения как надежности, так и эффективности. Доводы в пользу квадратичного голосования основаны на математическом доказательстве, что оно обеспечивает безошибочный компромисс между тем, чтобы предоставить возможность более сильным предпочтениям вытеснить более слабые, но более популярные, и тем, чтобы не оценивать более сильные предпочтения (или богатых акторов) слишком высоко. Но те, кто уже опробовал этот поход, обнаружили, что он также может повысить устойчивость. Более свежие идеи вроде парного голосования намеренно жертвуют математически доказуемой оптимальностью ради надежности в тех случаях, когда допущения математической модели нарушаются.

Эти идеи – в дополнение к более «традиционным» многовековым идеям о многопалатных архитектурах, намеренной непрямой связи и задержках – станут важной частью истории повышения эффективности ДАО, хотя они могут сделать эффективнее и традиционные организации.

КЕЙС: GITCOIN GRANTS

Можно проанализировать различные стили децентрализации на одном интересном примере: Gitcoin Grants. Чем должен быть Gitcoin Grants – ДАО в блокчейне или просто централизованной организацией?

Вот несколько потенциальных аргументов за Gitcoin Grants в форме ДАО.

▓ Он хранит криптовалюту и работает с ней, поскольку большинство пользователей и спонсоров проекта – пользователи Ethereum.

▓ Безопасное квадратичное финансирование лучше всего осуществлять в блокчейне (см. следующий раздел о голосовании); риски для безопасности снижаются, если результаты голосования поступают в систему напрямую.

▓ Он работает с сообществами по всему миру, поэтому ему пригодятся достоверная нейтральность и возможность не сосредотачиваться на одной стране.

▓ Gitcoin Grants выиграет, если сможет гарантировать своим пользователям, что через пять лет он еще будут существовать, так что спонсоры проектов для общественных благ могут начать их реализацию сейчас и надеяться на вознаграждение в будущем.

Эти аргументы склоняются в сторону децентрализации для обеспечения надежности и децентрализации для повышения совместимости, хотя отдельные раунды квадратичного финансирования больше соответствуют концепции «децентрализации для эффективности» (в основе Gitcoin Grants лежит теория, что квадратичное финансирование – наиболее эффективный способ финансирования общественных благ).

Если бы аргументы о надежности и совместимости не работали, было бы лучше запустить Gitcoin Grants в форме обычной компании. Но они действительно работают, поэтому ДАО Gitcoin Grants имеет право на существование.

Эти аргументы подойдут и для прочих ДАО, на которые люди все чаще опираются в повседневной жизни, и для «мета-ДАО», которые предоставляют услуги другим ДАО:

▓ proof of humanity;

▓ Kleros;

▓ Chainlink;

▓ стейблкойны;

▓ протокол управления блокчейнами второго уровня.

Я недостаточно знаком с каждой из этих систем, чтобы утверждать, что их можно оптимизировать под «децентрализацию для надежности» настолько, чтобы это соответствовало заданным мной стандартам. И все же, надеюсь, сейчас уже должно быть очевидно, что они должны к этому стремиться.

С чем есть проблемы, так это с ДАО, которые требуют возможности вносить изменения, что противоречит надежности, и у которых нет достаточных оснований для «децентрализации ради эффективности». Один из примеров – крупные компании, которые в основном взаимодействуют с американскими пользователями. Первое, что нужно сделать при создании ДАО, – определить, нужна ли проекту структура ДАО, а второе – понять, что важнее: надежность или эффективность. Для надежности дополнительно потребуется глубокая проработка структуры управления, а для эффективности – либо инновации в управлении с помощью механизмов вроде квадратичного финансирования, либо просто механизм мульти-подписи.

5. ГИБРИДНЫЕ ПРИМЕНЕНИЯ

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

Схема работы MACI, объединяющей блокчейны для защиты от цензуры, шифрование для обеспечения конфиденциальности и ZK-SNARK, чтобы гарантировать корректность результата без ущерба для других целей

Отличный пример – голосование. Требуются высокие гарантии устойчивости к цензуре, проверяемости и конфиденциальности, и для этого системы вроде MACI эффективно сочетают блокчейны, ZK-SNARK и ограниченный централизованный (или M-of-N) слой для масштабируемости и устойчивости к принудительным действиям. Голоса публикуются в блокчейне, что обеспечивает пользователям независимый от системы голосования способ убедиться, что их голоса будут учтены. При этом голоса шифруются, что позволяет сохранять конфиденциальность, а гарантию правильного подсчета голосов обеспечивает решение на основе ZK-SNARK.

Голосование на государственных выборах уже доказало свою надежность, и пройдет много времени, прежде чем страны и граждане будут готовы довериться гарантиям безопасности каких-либо электронных способов голосования, в блокчейне или где-то еще. Но в паре случаев подобная технология может принести пользу уже очень скоро.

1. Сделать надежнее те процессы голосования, которые сегодня уже существуют в электронном виде (например, голосование в социальных сетях, опросы, петиции).

2. Создать новые формы голосования, которые позволят гражданам или членам групп быстро давать обратную связь, чтобы изначально обеспечить этим формам высокий уровень надежности.

Помимо голосования, существует целая область потенциальных «проверяемых централизованных сервисов», где отлично бы подошла некоторая форма гибридной валидиум-архитектуры вне блокчейна. Простейший пример – подтверждение платежеспособности бирж, но есть и множество других:

▓ государственные реестры;

▓ корпоративный бухгалтерский учет;

▓ игры (например, Dark Forest);

▓ цепочки поставок;

▓ отслеживание авторизации доступа и т. д.

По мере продвижения вниз по списку варианты становятся все менее и менее ценными, но важно помнить, что эти кейсы также имеют достаточно низкую стоимость. Валидиумы не требует публикации всего в блокчейне, а могут быть простыми оболочками существующих программ, которые поддерживают корень Меркла (или другие подтверждения) в базе данных и время от времени публикуют его вместе со SNARK, доказывающим, что он был обновлен правильно. Это значительное усовершенствование по сравнению с существующими системами, открывающее дорогу к межинституциональным доказательствам и публичным проверкам.

КАК НАМ ВСЕГО ЭТОГО ДОСТИЧЬ?

Многие из этих приложений создаются уже сейчас, хотя современные технологии пока ограничивают возможности их использования. Блокчейны не масштабируются, надежное включение транзакций в цепочку еще совсем недавно занимало довольно много времени, а современные кошельки ставят пользователей перед неприятным выбором между неудобством и низким уровнем безопасности. Кроме того, в долгосрочной перспективе многим из этих кейсов потребуется решить целый спектр проблем с конфиденциальностью.

Все эти трудности преодолимы, и многие стремятся их решить. Крах FTX показал, насколько важны полностью децентрализованные решения для хранения средств, а появление ERC-4337 и кошельков с функцией абстракции аккаунта дает возможность создавать такие альтернативы. Технология роллапов стремительно приближается к решению проблемы масштабируемости, а транзакции включаются в цепочку гораздо быстрее, чем три года назад.

Но также очень важно не забывать о самой экосистеме приложений. За многие стабильные и скучные кейсы не хотят браться, потому что вокруг них меньше ажиотажа и легких денег: рыночная капитализация LUNA превысила 30 миллиардов долларов, в то время как стейблкойны, стремящиеся к надежности и простоте, годами остаются без внимания. Часто у нефинансиализированных проектов нет никаких шансов заработать 30 миллиардов долларов, потому что у них вообще нет токена. Но в долгосрочной перспективе именно они наиболее ценны для экосистемы, и именно они принесут наибольшую пользу как пользователям, так и тем, кто их создает и поддерживает.

Приложение

Вайтпейпер Ethereum: платформа следующего поколения для смарт-контрактов и децентрализованных приложений

Создание биткойна Сатоши Накамото в 2009 году часто воспринимают как радикальный поворот в развитии денег и валют, поскольку это первый пример цифрового актива, одновременно ничем не подкрепленного, то есть не имеющего «внутренней стоимости», и не подразумевающего центрального эмитента или контролирующего органа. Однако существует и другая, возможно, более важная часть эксперимента Сатоши: сама технология блокчейна как инструмент распределенного консенсуса. И все чаще именно этот аспект биткойна попадает в центр внимания. Среди альтернативных применений этой технологии обычно выделяют использование цифровых активов внутри блокчейна для кастомных валют и финансовых инструментов («цветные монеты»); подтверждения владения каким-либо устройством («умная собственность»); невзаимозаменяемых активов вроде доменных имен («Namecoin»); а также более продвинутых приложений – «смарт-контрактов», где цифровые активы контролируются кодом, работающим по произвольным правилам, и даже основанных на блокчейне «децентрализованных автономных организаций» (ДАО).

ВВЕДЕНИЕ В БИТКОЙН И СУЩЕСТВУЮЩИЕ КОНЦЕПЦИИ

История

Концепция децентрализованной цифровой валюты, а также альтернативных приложений вроде реестров собственности витала в воздухе десятилетиями. Анонимные протоколы «электронного кэша» 1980‐х и 1990‐х, которые опирались в основном на широко известное в криптографии понятие «слепой подписи», могли обеспечить валюту высокой степени анонимности, но принципиально зависели от централизованного посредника, из-за чего идея так и не получила развития. Представленная в 1998 году Вэй Даем концепция b-money впервые заявила идею децентрализованного соглашения между участниками, а также идею создания денег посредством решения вычислительных задач. Однако он не углублялся в детали того, как конкретно можно было бы реализовать это децентрализованное соглашение. В 2005 году Хэл Финни предложил криптовалюту с алгоритмом reusable proofs of work, которая использует идеи b-money вместе с алгоритмом Hashcash Адама Бэка, требующим сложных вычислений. Но и она была далека от идеала из-за необходимости в посреднике, которому пользователи должны были доверять. В 2009 году Сатоши Накамото выпустил первую децентрализованную валюту: он объединил уже существующие методы управления собственностью, использующие криптографию с публичным ключом, и алгоритм консенсуса для отслеживания того, кому принадлежат монеты, известный как proof-of-work («доказательство выполненной работы»).

Механизм, лежащий в основе proof-of-work, стал прорывом в этой области, поскольку одновременно решал две проблемы. Во-первых, он предоставил простой и в меру эффективный алгоритм консенсуса, позволяющий нодам сети коллективно согласовывать набор канонических обновлений состояния реестра Bitcoin. Во-вторых, он обеспечил механизм, позволяющий свободно участвовать в процессе достижения консенсуса, решая политическую проблему определения того, кто будет влиять на консенсус, и одновременно предотвращая атаки Сивиллы. Это достигается путем замены формального барьера для участия, например требования быть зарегистрированным в качестве уникального объекта в определенном списке, на экономический барьер – вес одной ноды в процессе консенсусного голосования прямо пропорционален вычислительной мощности, которую она предоставляет. После этого появилась идея альтернативного подхода под названием proof-of-stake, где вес ноды рассчитывается пропорционально ее валютным запасам, а не вычислительным мощностям. Выявление относительных достоинств каждого из этих подходов выходит за рамки этой статьи, но следует отметить, что оба можно использовать в качестве основы криптовалюты.

Биткойн как система изменения состояний

С технической точки зрения реестр криптовалюты вроде биткойна можно воспринимать как систему изменения состояний. «Состояние» описывает, как распределены все существующие биткойны между различными адресами, а «функция изменения состояния» анализирует состояние и транзакцию, чтобы выдать новое состояние. Например, в стандартной банковской системе состояние – список балансов каждого из клиентов, транзакция – запрос о переводе $х от A к B, и функция изменения состояния уменьшает значение на счете A на $х и увеличивает значение на счете B на $х. Если на счете A меньшая сумма, чем $х, функция изменения состояния возвращает ошибку. Формально это выглядит так:

APPLY(S,TX) – > S’ or ERROR

В банковской системе, описанной выше:

APPLY([ Alice: $50, Bob: $50 ],”send $20

from Alice to Bob”) = [ Alice: $30, Bob: $70 ]

Но:

APPLY([ Alice: $50, Bob: $50 ],”send $70

from Alice to Bob”) = ERROR

«Состояние» системы Bitcoin – множество всех добытых и пока не потраченных монет (технически – «выход неизрасходованных транзакций» или UTXO (unspent transaction output), где у каждого UTXO указаны достоинство и владелец (последний обозначен 20-байтовым адресом, который по сути является криптографическим публичным ключом[112]). У каждой транзакции есть один или больше «входов», и каждый из входов содержит указание на имеющиеся UTXO и криптографическую подпись, созданную приватным ключом, связанным с адресом владельца. Выходов тоже может быть один или несколько, и каждый выход содержит новые UTXO, которые нужно добавить к состоянию.

Принцип работы функции изменения состояния APPLY(S,TX) – > S’ выглядит так.

1. Для каждого входа в TX:

◊ если пересылаемый UTXO отсутствует в состоянии S – выдать ошибку;

◊ если предоставленная цифровая подпись не совпадает с подписью владельца UTXO – выдать ошибку.

2. Если сумма средств всех UTXO входа меньше суммы средств всех UTXO выхода – выдать ошибку.

3. Выдать состояние S с удаленными UTXO входа и добавленными UTXO выхода.

Первая часть первого пункта не позволяет отправителям тратить несуществующие монеты, а вторая не позволяет тратить монеты других людей. Второй пункт помогает сохранять ценность. Оплата по такой схеме может выглядеть следующим образом. Допустим, Алиса хочет переслать 11,7 BTC Бобу. Для начала Алиса должна будет найти набор UTXO, обладание которыми она может подтвердить и сумма средств которых равна минимум 11,7 BTC. В большинстве ситуаций Алисе не удастся найти у себя несколько UTXO, сумма средств на которых составит ровно 11,7 BTC; например, наименьшее, что у нее найдется: 6 UTXO + 4 UTXO + 2 UTXO = 12. Поэтому она создает транзакцию с тремя входами и двумя выходами. Первым выходом будут 11,7 BTC, которые отправятся на адрес Боба, а вторым – 0,3 BTC «сдачи», которые вернутся самой Алисе.

Майнинг

Если бы речь шла о построенном на доверии централизованном сервисе, все было бы просто: транзакции проходят через центральные серверы, и там же хранится их история. Однако биткойн подразумевается как по-настоящему децентрализованная валюта, поэтому здесь необходимо объединить систему состояний транзакций с системой консенсуса, чтобы обеспечить общую договоренность о порядке транзакций. Для этого децентрализованный консенсус системы Bitcoin задействует сеть нод, которые постоянно пытаются создать пакеты транзакций – так называемые блоки. Протокол устроен так, что майнеры производят новый блок примерно раз в десять минут; каждый блок содержит временнýю метку, одноразовый код, отсылку к предыдущему блоку (то есть его хеш) и список всех транзакций, прошедших после создания предыдущего блока. Так образуется неизменный и постоянно растущий блокчейн, который регулярно обновляется, чтобы показывать самую актуальную информацию о реестре Bitcoin.

В этой парадигме действует следующий алгоритм проверки валидности.

1. Проверить, существует ли и валиден ли предыдущий блок

2. Убедиться, что временнáя метка рассматриваемого блока больше, чем временнáя метка предыдущего[113], но не более, чем на два часа.

3. Проверить валидность proof-of-work рассматриваемого блока.

4. Пусть S[0] – состояние после добавления в блокчейн предыдущего блока.

5. Пусть TX – список транзакций в рассматриваемом блоке, а всего этих транзакций n. Для всех i из набора 0…n–1 зададим S[i+1] = APPLY(S[i],TX[i]). Если хоть одна подобная процедура выдает ошибку, происходит выход из цикла и отказ.

6. Код выполнен успешно, а S[n] регистрируется как состояние на момент формирования этого блока.

По сути, каждая транзакция в блоке должна обеспечивать валидный переход из канонического состояния до выполнения транзакции в какое-то новое состояние. Заметим, что состояние никак не включено в сам блок; это лишь абстракция, которую запоминают ноды-валидаторы и которую можно лишь (безопасно) вычислить для каждого блока, проходя весь путь по блокчейну с самого начала. При этом важен порядок, в котором майнер включает транзакции в блок: если в блоке есть две транзакции A и B, где B тратит UTXO, оставшийся после A, то блок будет валидным, если А предшествует В, но не наоборот.

В приведенном выше алгоритме представлено условие валидности, которого нет в других системах, – так называемая концепция proof-of-work. Условие заключается в том, что двойной хеш SHA256 каждого блока, воспринимаемый как 256-битное число, должен быть меньше динамически изменяющегося таргета, равного на момент написания этих строк примерно 2187. Это необходимо для того, чтобы сделать нахождение блоков вычислительно «сложным» и не допустить атаки Сивиллы с полной перестройкой всего блокчейна. Поскольку SHA256 – совершенно непредсказуемая псевдослучайная функция, единственный способ создать валидный блок – метод проб и ошибок, простой перебор значений одноразового кода, чтобы попасть в новый хеш.

Для текущего таргета ~2187 сети понадобится примерно ~269 попыток, чтобы найти валидный блок. Как правило, перекалибровка таргета в сети происходит каждые 2016 блоков, так что в среднем новый блок создается какой-либо нодой сети каждые десять минут. Чтобы компенсировать майнерам эту вычислительную работу, майнер каждого блока имеет право включить транзакцию, где передаст себе ниоткуда взявшиеся 25 BTC. Кроме того, если сумма на входе больше, чем сумма на выходе, майнер, нашедший блок, в который попала эта транзакция, забирает «комиссию за транзакцию». К слову, это также единственный механизм эмиссии BTC; в изначальном состоянии не существовало ни одной монеты.

Для лучшего понимания смысла майнинга посмотрим, что произойдет при попытке атаки. Поскольку криптография, лежащая в основе Bitcoin, проверена временем и на данный момент считается надежной, целью злоумышленника будет часть системы, напрямую не связанная с шифрованием, – порядок транзакций. Вот как может выглядеть его стратегия.

1. Переслать продавцу 100 BTC за некоторый продукт (предпочтительно цифровой продукт, который можно получить сразу же).

2. Дождаться получения продукта.

3. Произвести другую транзакцию, переслав 100 BTC на другой свой адрес.

4. Попытаться убедить систему, что вторая транзакция была произведена раньше первой.

Через несколько минут после первого шага какой-то майнер включит эту транзакцию в блок – скажем, в блок 270 000. Примерно за час в блокчейн попадет еще пять блоков, и каждый из новых блоков будет косвенно указывать на транзакцию из первого шага, тем самым подтверждая ее. В этот момент продавец решит, что оплата завершена, и покупатель получит купленный продукт, поскольку мы рассматриваем случай цифрового продукта с моментальной доставкой. Теперь злоумышленник создает другую транзакцию, пересылая эти 100 BTC себе. Если он просто отправит транзакцию в сеть, она не пройдет; майнеры, пытаясь провести эту транзакцию, запустят APPLY(S,TX) и получат ошибку, поскольку TX пытается потратить уже несуществующие UTXO. Так что вместо этого злоумышленник создает «форк» блокчейна: начинает майнить другую версию блока 270 000, отмечая предыдущий блок 269 999 как родительский, но с новой транзакцией вместо изначальной. Поскольку информация в этом блоке другая, для своей версии блока 270 000 ему придется заново вычислять нужный хеш. Более того, новая версия блока 270 000 имеет другой хеш, так что изначальные блоки 270 001–270 005 уже «указывают» не на него, поэтому блокчейн всей сети и блокчейн злоумышленника совершенно различны. По правилам протокола истинной считается самая длинная цепочка блокчейна; соответственно, «честные» майнеры продолжат майнинг цепи блокчейна длиной 270 005, а злоумышленник будет в одиночку майнить свою. Злоумышленник может сделать свою цепь самой длинной, только если его вычислительные мощности будут больше суммарной вычислительной мощности всей остальной сети (так называемая атака 51 %).

Дерево Меркла

Слева: лишь малое число вершин в дереве Меркла необходимо для доказательства валидности ветви. Справа: любая попытка изменить любую часть дерева Меркла приведет к нестыковке в корне дерева

Для масштабируемости протокола Bitcoin важно, что каждый блок встроен в многоуровневую структуру данных. Упомянутый хеш блока – на самом деле только хеш заголовка блока, примерно 200-байтовый фрагмент данных, включающий в себя временную метку, одноразовый код блока, хеш предыдущего блока и корневой хеш структуры данных под названием дерево Меркла, которая и хранит всю информацию о транзакциях блока. Дерево Меркла – тип бинарного дерева, устроенный следующим образом: внизу – набор нод, содержащих всю информацию; в середине – промежуточные ноды, где каждая представляет собой хеш двух дочерних нод; а наверху – одна корневая нода, также сформированная хешем двух дочерних нод.

Цель дерева Меркла – раздробить данные в блоке: ноде достаточно загрузить только заголовок блока из одного источника и нужную часть дерева из другого, чтобы быстро удостовериться, что вся информация корректна. Все это работает, потому что хеши вычисляются «вверх»: если злоумышленник попытается «подсунуть» фейковую транзакцию внизу дерева Меркла, все ноды сверху также изменят свои хеши, ноды над ними – тоже, и так до самого корня, из-за чего изменится и хеш блока. Из-за этого протокол будет воспринимать такой блок как совершенно другой (proof-of-work которого будет практически наверняка не валиден).

Можно сказать, что деревья Меркла необходимы для жизнеспособности системы Bitcoin в долгосрочной перспективе. На апрель 2014 года полная нода сети Bitcoin, которая полностью хранит и обрабатывает каждый блок, занимает 15 Гб дискового пространства и растет более чем на 1 Гб в месяц. На данный момент хранить полную копию блокчейна могут позволить себе владельцы ПК (но не смартфонов), а в будущем с этим будут справляться только специальные компании и отдельные энтузиасты. Протокол «упрощенной верификации платежей» (simplified payment verification, SPV) допускает существование также «легких нод», которые загружают лишь заголовки блоков, проверяют их proof-of-work и затем загружают «ветви» дерева Меркла лишь с необходимыми держателю такой ноды транзакциями. Это позволяет держателям легких нод надежно определить статус любой биткойн-транзакции, а также собственный текущий баланс, загрузив при этом крайне малую часть всего блокчейна.

АЛЬТЕРНАТИВНЫЕ ПРИЛОЖЕНИЯ БЛОКЧЕЙНА

Идея нефинансового применения блокчейн-технологии также имеет долгую историю. В 2005 году Ник Сабо изложил концепцию «безопасного хранения права на собственность», в которой описал, как «новые достижения в технологии реплицированных баз данных» позволят использовать основанные на блокчейне системы для хранения реестра земельной собственности, – что возможно выработать фреймворк, способный описывать, в частности, самообеспечение, «враждебное» владение землей и налог на земельную собственность. Но, к сожалению, никакой эффективной реализации реплицированных баз данных на тот момент не было, и протокол не имел практического применения. Однако с развитием системы децентрализованного консенсуса Bitcoin число альтернативных применений блокчейна стало быстро расти.

◊ NAMECOIN. Созданный в 2010 году Namecoin можно описать как децентрализованную базу данных зарегистрированных имен. Децентрализованным протоколам вроде Tor, Bitcoin и BitMessage нужен какой-то способ идентификации учетных записей, чтобы другие люди могли с ними взаимодействовать, но во всех существующих возможен лишь один вид идентификации – псевдослучайный хеш вроде 1LW79wp5ZBqaHW1jL5TCiBCrhQYtHagUWy. В идеале пользователям хотелось бы иметь возможность создавать аккаунты с именами вроде «george». Но проблема в том, что если кто-то может создать аккаунт «george», то другой пользователь сможет таким же образом зарегистрировать аккаунт с тем же именем и выдавать себя за первого человека. Единственное решение здесь – парадигма «первого заявителя», где второй заявитель не сможет претендовать на уже занятое имя. Такой подход прекрасно сочетается с протоколом консенсуса Bitcoin. Namecoin – первый и самый успешный пример такой системы регистрации имен.

◊ ЦВЕТНЫЕ МОНЕТЫ. Цель цветных монет – позволить людям создавать собственные цифровые валюты (или, что тоже важно, валюты с одной единицей – цифровые токены) на блокчейне Bitcoin. В протоколе цветных монет любой может «выпустить» новую валюту, публично перекрасив свои UTXO из Bitcoin. Протокол рекурсивно окрашивает UTXO в цвет монет на входе создавших их транзакций (в случаях, когда на входе присутствует несколько цветов, применяются особые правила). Это позволяет пользователям поддерживать кошельки, содержащие только UTXO определенного цвета, и отправлять их так же, как обычные биткойны, отслеживая в истории цвет любого полученного UTXO.

◊ МЕТАКОЙН. Идея следующая: протокол метакойна располагается поверх сети Bitcoin, в ней же хранятся метакойн-транзакции, но при этом используется другая функция изменения состояния – APPLY’. Поскольку метакойн-протокол не может предотвратить появление невалидных метакойн-транзакций в блокчейне Bitcoin, в протокол добавляется правило: если APPLY’ (S, TX) выдает ошибку, применить APPLY’ (S, TX) = S. Это обеспечивает простой механизм для создания произвольного протокола криптовалюты с расширенным функционалом, невозможным внутри самого Bitcoin, но с очень низкой стоимостью разработки, поскольку сложности майнинга и сетевого взаимодействия уже обрабатываются протоколом Bitcoin. Метакойны используют для реализации некоторых классов финансовых контрактов, регистрации имен и децентрализованных бирж.

Таким образом, есть два подхода к созданию протокола консенсуса: построить независимую сеть или же построить протокол поверх сети Bitcoin. Первый подход при всей его успешности в приложениях вроде Namecoin трудноосуществим; для реализации каждой конкретной идеи необходимо построить свой блокчейн, а также создать и протестировать все необходимые переходы состояний и сетевой код. Кроме того, мы прогнозируем, что набор приложений для технологии децентрализованного консенсуса будет распределяться по степенному закону, где подавляющее большинство приложений будут слишком маленькими, чтобы заручиться собственными блокчейнами. Также стоит отметить, что существуют большие классы децентрализованных приложений, в частности децентрализованных автономных организаций, которые должны взаимодействовать друг с другом.

В свою очередь, у создания протокола поверх Bitcoin тоже есть свой недостаток: он не наследует у Bitcoin систему упрощенной верификации платежей. SPV работает в Bitcoin, потому что он может использовать глубину блокчейна в качестве прокси для валидности: если давние предшественники транзакции находятся достаточно глубоко в блокчейне, можно с уверенностью сказать, что они легитимны. С другой стороны, основанные на Bitcoin метапротоколы не могут требовать от блокчейна не включать транзакции, невалидные с точки зрения этого самого метапротокола. Следовательно, внедрение полностью безопасного SPV-метапротокола потребовало бы пробегать по всему блокчейну вплоть до самого начала, чтобы проверить валидность той или иной транзакции. На сегодня «легкие» внедрения основанных на блокчейне Bitcoin метапротоколов полагаются на предоставление данных сервером, которому необходимо доверять, что крайне неприемлемо в свете одной из главных целей криптовалют – избавиться от необходимости кому-либо доверять.

НАПИСАНИЕ СКРИПТОВ

На самом деле даже без каких-либо расширений протокол Bitcoin поддерживает примитивную версию «смарт-контрактов». Владение UTXO в Bitcoin можно подтверждать не только публичным ключом, но и скриптом, написанным на простом языке программирования, основанном на стеке. В этой парадигме транзакция, тратящая эти UTXO, должна предоставить данные, которые удовлетворят этот скрипт. На самом деле даже стандартный, использующий публичный ключ механизм владения реализован как скрипт: «на входе» он берет цифровую подпись на основе эллиптических кривых, сопоставляет ее с транзакцией и адресом, который владеет UTXO, и возвращает 1 в случае успешной верификации и 0 – в случае неуспешной. В различных дополнительных кейсах возможны более замысловатые скрипты. К примеру, возможен скрипт, согласно которому для валидации необходимо предоставить две из трех цифровых подписей (так называемая мультиподпись). Это может быть полезно для корпоративных аккаунтов, аккаунтов безопасного хранения и торговли с эскроу-счетами. Скрипты также можно использовать для выплат наград за решение важных вычислительных задач; можно даже создать скрипт, говорящий что-то вроде «эти UTXO биткойна будут ваши, если вы предоставите SPV-доказательство того, что переслали мне столько-то дожкойнов». По сути, получится почти децентрализованная биржа криптовалют.

Однако у встроенного в Bitcoin языка скриптов есть ряд серьезных ограничений.

◊ ОТСУТСТВИЕ ПОЛНОТЫ ПО ТЬЮРИНГУ. Скриптовый язык Bitcoin поддерживает большое подмножество вычислений, но далеко не все. Прежде всего не хватает циклов. Это сделано для того, чтобы избежать длинных циклов во время верификации транзакций; теоретически это – преодолимое препятствие для авторов скриптов, поскольку любой цикл можно симулировать простым повторением кода через оператора «if», но из-за этого скрипт может попросту раздуться. К примеру, для внедрения алгоритма цифровой подписи на основе эллиптической кривой, по-видимому, придется вручную прописать 256 повторяющихся операций умножения.

◊ ФИНАНСОВАЯ СЛЕПОТА. Скрипт UTXO не может тщательно контролировать, сколько денег может быть снято со счета. Например, возьмем кейс с хедж-контрактом, где A и B закладывают эквивалент $1000 в биткойнах и спустя 30 дней скрипт пересылает стороне A эквивалент $1000 в биткойнах по новому курсу, а остальное – стороне B. Для определения стоимости 1 BTC в долларах США потребуется оракул, но даже так по сравнению существующими сейчас полностью централизованными решениями такой вариант – серьезный прогресс с точки зрения доверия и инфраструктуры. Однако поскольку UTXO нельзя использовать частично, единственный способ достичь этого – использовать очень неэффективный хак, суть которого в обладании множеством UTXO разного номинала (например, один UTXO 2k для каждого k до 30), и сделать 0 попыток подобрать, какой UTXO отправлять A, а какой – B.

◊ ОТСУТСТВИЕ ПРОМЕЖУТОЧНЫХ СОСТОЯНИЙ. UTXO можно либо потратить, либо не потратить; невозможно создать контракт или скрипт для какого-то промежуточного состояния. Это затрудняет заключение многоуровневых контрактов с опциями, создание предложений децентрализованного обмена или двухэтапных протоколов криптографического соглашения (необходимых для безопасности вознаграждений за решение той или иной вычислительной задачи). Также это значит, что UTXO может использоваться для простых моментально исполняющихся контрактов, но никак не для более сложных контрактов «с отслеживанием состояния» вроде децентрализованных организаций. По этой же причине становится трудно внедрять метапротоколы. Бинарность состояния в сочетании с финансовой слепотой также приводит к невозможности задать предельное значение суммы, которую можно снять с кошелька.

◊ БЛОКЧЕЙН-СЛЕПОТА. UTXO не видит информацию блокчейна о временной метке, одноразовом коде и хеше предыдущего блока. Это сильно ограничивает его применение в азартных играх и некоторых других категориях, лишая скриптовый язык потенциально ценного источника случайных величин.

Таким образом, мы видим три подхода к разработке более продвинутых приложений на базе криптовалюты: создать новый блокчейн, использовать скриптовый язык поверх Bitcoin и создать метапротокол поверх Bitcoin. Создание нового блокчейна предоставляет неограниченную свободу творчества, но ради этого придется потратить очень много времени на разработку, бутстрэппинг и безопасность. Вариант со скриптовым языком намного проще внедрить и стандартизировать, но он крайне ограничен в возможностях. В свою очередь метапротоколы, хоть и тоже простые, трудно масштабировать. В Ethereum мы хотим создать альтернативный фреймворк, который еще эффективней использует простоту разработки, а также усилит свойства легкого клиента и в то же время позволит приложениям пользоваться экономической средой и безопасностью блокчейна.

ETHEREUM

Цель Ethereum – представить альтернативный протокол для создания децентрализованных приложений, обеспечив компромиссы, которые, как нам кажется, будут очень полезны для большого класса децентрализованных приложений, с особым акцентом на обстоятельства, где важны быстрая разработка, безопасность для маленьких и редко используемых приложений и возможность эффективного взаимодействия разных приложений. Для этого Ethereum создает предельно базовую платформу – блокчейн со встроенным полным по Тьюрингу языком программирования, позволяющим любому желающему писать смарт-контракты и децентрализованные приложения, где каждый может создавать собственные произвольные правила владения, форматы транзакций и произвольные функции изменения состояния. В простейшей форме реализация идеи известной криптовалюты Namecoin на этом языке занимает две строки кода, а протоколы валют и систем репутации можно реализовать менее чем в двадцать строк. Смарт-контракты – криптографические «коробки», содержащие значение и открывающиеся только при определенных условиях, – также могут быть построены поверх платформы Ethereum, причем со значительно большей функциональностью, чем в скриптовом языке Bitcoin. Это возможно благодаря полному по Тьюрингу языку Ethereum, его финансовой «зрячести», блокчейн-«зрячести» и наличию промежуточных состояний.

АККАУНТЫ ETHEREUM

В Ethereum состояние состоит из объектов под названием «аккаунты»; каждому аккаунту соответствует 20-байтовый адрес. Функции изменения состояния – переводы валюты или информации между аккаунтами. Ethereum-аккаунт содержит четыре поля:

◊ ОДНОРАЗОВЫЙ КОД – счетчик, необходимый для того, чтобы каждая транзакция произошла ровно один раз;

◊ текущий БАЛАНС ЭФИРА, принадлежащего аккаунту;

◊ КОД КОНТРАКТА, связанного с аккаунтом, если контракт есть;

◊ ХРАНИЛИЩЕ аккаунта (пустое по умолчанию).

Эфир – главное внутреннее «криптотопливо» Ethereum, он же используется для уплаты комиссий. Возможны два способа ведения аккаунтов: аккаунт с внешним владением, контролируемый приватным ключом, и контракт-аккаунт, контролируемый кодом связанного с ним контракта. Первый способ не подразумевает кода, в нем можно пересылать сообщения, создавая и подписывая транзакцию. В случае контракт-аккаунта его код активируется каждый раз, когда аккаунт получает входящее сообщение, что позволяет ему писать в хранилище и считывать оттуда информацию, посылать другие сообщения и создавать другие контракты.

Стоит подчеркнуть, что «контракты» в Ethereum не следует рассматривать как нечто, что должно быть «выполнено» или «соблюдено»; скорее они больше похожи на «автономных агентов», которые живут внутри среды выполнения Ethereum, всегда выполняя определенный фрагмент кода, когда к этому «подталкивает» сообщение или транзакция. Также у них есть прямой контроль над собственным балансом и собственным хранилищем ключей/ценностей для отслеживания постоянных переменных.

СООБЩЕНИЯ И ТРАНЗАКЦИИ

Термин «транзакция» в Ethereum означает подписанный пакет данных, содержащий сообщение, которое должно быть отправлено в подконтрольный владельцу аккаунт. Транзакции включают в себя:

◊ получателя;

◊ электронную подпись отправителя;

◊ количество эфира, пересылаемого отправителем получателю.

◊ пересылаемые данные (опционально);

◊ переменную STARTGAS, означающую предел количества вычислительных шагов, возможных для осуществления транзакции;

◊ переменную GASPRICE, означающую комиссию, которую платит отправитель за каждый вычислительный шаг.

Первые три – это стандартные поля, которые есть в любой криптовалюте. Поле данных по умолчанию не имеет функции, но у виртуальной машины есть операционный код, с помощью которого контракт может получить доступ к данным. Например, возможен кейс, где, если контракт функционирует как сервис регистрации доменов внутри блокчейна, он может захотеть интерпретировать передаваемые ему данные как содержащие два «поля»; первое поле – домен для регистрации, а второе поле – IP-адрес для его регистрации. Контракт считал бы это из данных сообщения и соответственно поместил бы в хранилище.

Поля STARTGAS и GASPRICE очень важны для модели Ethereum по предотвращению атаки отказа в обслуживании. Чтобы предотвратить случайные или враждебные бесконечные циклы или другие вычислительные перегрузки в коде, каждая транзакция должна устанавливать ограничение на количество вычислительных шагов выполнения кода. Основной единицей вычисления является «газ»; обычно вычислительный шаг стоит 1 газ, но некоторые операции требуют большего количества газа, поскольку они дороже с точки зрения вычислений или увеличивают объем данных, которые должны храниться как часть состояния. Также взимается комиссия в 5 газа за каждый байт данных транзакции. Цель системы комиссий состоит в том, чтобы потребовать от злоумышленника пропорциональной оплаты за каждый потребляемый им ресурс, включая вычисления, пропускную способность и хранилище; следовательно, любая транзакция, которая приводит к тому, что сеть потребляет большее количество любого из этих ресурсов, должна иметь комиссию, примерно пропорциональную приращению.

СООБЩЕНИЯ

Контракты имеют возможность отправлять «сообщения» другим контрактам. Сообщения – это виртуальные объекты, которые никогда не сериализуются и существуют только в среде выполнения Ethereum. Сообщение содержит:

◊ отправителя сообщения (скрытого);

◊ получателя сообщения;

◊ количество эфира для передачи вместе с сообщением;

◊ пересылаемые данные (опционально).

ПЕРЕМЕННАЯ STARTGAS

По своей сути сообщение похоже на транзакцию, за исключением того, что оно создается контрактом, а не внешним актором. Когда контракт, выполняющий текущий код, выполняет опкод CALL, он создает и выполняет сообщение. Как и транзакция, сообщение ведет к аккаунту получателя, выполняющего его код. Таким образом, контракты могут иметь отношения с другими контрактами точно так же, как это могут делать внешние акторы.

Обратите внимание, что норма расхода газа, назначенная транзакцией или контрактом, применяется к общему объему газа, потребляемого этой транзакцией и всеми дополнительными исполнениями. Например, если внешний актор A отправляет транзакцию B с 1000 газа, B потребляет 600 газа перед отправкой сообщения C, а внутреннее выполнение C потребляет 300 газа перед возвратом, то B может потратить еще 100 газа, прежде чем он закончится.

ФУНКЦИЯ ИЗМЕНЕНИЯ СОСТОЯНИЯ ETHEREUM

Функция изменения состояния Ethereum, APPLY(S,TX) – > S’ работает следующим образом.

1. Проверить корректность оформления транзакции (убедиться, что все нужные значения указаны), валидность цифровой подписи и соответствие одноразового кода транзакции одноразовому коду аккаунта отправителя. Выдать ошибку, если что-то не так.

2. Вычислить комиссию за транзакцию по формуле STARTGAS × GASPRICE и определить адрес отправителя по цифровой подписи. Вычесть величину комиссии из баланса отправителя и прирастить одноразовый код отправителя. Если баланс отправителя меньше значения взимаемой комиссии, выдать ошибку.

3. Присвоить GAS = STARTGAS и взимать определенное количество газа за каждый обработанный майнером байт транзакции.

4. Переслать сумму транзакции с аккаунта отправителя на аккаунт получателя. Если аккаунта получателя не существует, создать его. Если аккаунт получателя – контракт, запустить код контракта, где контракт будет вычислен либо до конца, либо пока не закончится газ.

5. Если перевод не удался по причине того, что у отправителя не было суммы перевода или при вычислении контракта закончился газ, откатить все изменения, кроме выплаты комиссий за вычисления, и добавить комиссии к аккаунту майнера.

6. В противном случае вернуть отправителю комиссию за весь оставшийся газ и отправить майнеру комиссию, уплаченную за потраченный газ.

Для примера рассмотрим следующий код контракта:

if!self.storage[calldataload(0)]:

self.storage[calldataload(0)] = calldataload(32)

Заметим, что в реальности контракт пишется на низкоуровневом EVM-коде, но этот пример для ясности написан на Serpent, одном из наших высокоуровневых языков, который можно скомпилировать до EVM-кода. Предположим, что до транзакции хранилище нашего контракт-аккаунта было пустым, а затем посылается транзакция с 10 единицами эфира, 2000 газа, 0,001 GASPRICE и 64 байтами данных, где байты 0–31 представляют число 2, а байты 32–63 – строчку CHARLIE[114]. Здесь функция изменения состояния сработает так.

1. Убедиться, что транзакция валидна и корректно оформлена.

2. Убедиться, что у отправителя есть как минимум 2000 × 0,001 = 2 единицы эфира. После успешной проверки вычесть 2 эфира из баланса аккаунта отправителя.

3. При 2000 газа, если предположить, что транзакция занимает 170 байт и комиссия за байт равна 5, вычтем 850, и останется 1150 единиц газа.

4. Вычесть еще 10 единиц эфира из баланса аккаунта отправителя и добавить их к балансу получателя.

5. Запустить выполнение кода. В нашем примере это совсем просто: код проверяет, есть ли в хранилище контракт-аккаунта информация по адресу 2, замечает, что ее там нет, и прописывает туда значение CHARLIE. Предположим, это стоит 187 единиц газа, и газа остается 1150 – 187 = 963.

6. Добавить 963 × 0,001 = 0,963 единиц эфира в аккаунт отправителя и выдать получившееся состояние.

Если на принимающей стороне транзакции нет контракта, комиссия будет равняться GASPRICE, умноженной на длину транзакции в байтах, и никаких данных вместе с транзакцией отправлено не будет.

Отметим, что с точки зрения возврата сообщения работают эквивалентно транзакциям: если при выполнении сообщения заканчивается газ, то происходит откат к моменту вызова этого сообщения в контракте, но не к моменту начала всего контракта. Это означает, что один контракт может «безопасно» вызвать другой: если контракт A вызовет контракт B с g газа, то выполнение A гарантированно приведет к потере не более g газа. Наконец, обратим внимание, что существует операционный код CREATE, который создает контракт; его механика выполнения в целом аналогична CALL, за исключением того, что результат выполнения определяет код вновь созданного контракта.

ВЫПОЛНЕНИЕ КОДА

Код, понимаемый контрактами Ethereum, пишется на низкоуровневом байткод-языке на основе стека, который мы назвали «код виртуальной машины Ethereum», или EVM-код. Код состоит из последовательности байтов, и каждый байт представляет какую-либо операцию. В целом выполнение кода представляет собой бесконечный цикл, состоящий из повторного выполнения операции текущего счетчика программ (начиная с 0) и последующего его увеличения на 1. Процесс может закончиться в случае достижения конца кода, ошибки в коде или обнаружения в коде инструкции STOP/RETURN. Есть три типа мест, где операции могут хранить данные:

◊ стек, контейнер типа last-in-first-out, куда можно записывать и откуда можно извлекать значения;

◊ память, байтовый массив произвольного размера;

◊ долговременное хранилище контракта, информация в котором хранится парами «ключ – значение». В отличие от стека и памяти, которые очищаются после выполнения кода, в хранилище параметры могут находиться долго.

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

Принцип выполнения EVM-кода на удивление прост. Во время вычисления все текущее состояние представляет собой кортеж (block_state, transaction, message, code, memory, stack, pc, gas), где block_state – полное состояние, содержащее информацию о балансах и состояниях хранилищ всех аккаунтов. В начале каждого раунда выполнения берется pc-байткод (или 0, если pc >= len(code)), выполняется инструкция, соответствующая этому байту, и каждая из инструкций по-своему действует на кортеж.

Например, ADD достает два элемента из стека и возвращает туда их сумму, после чего уменьшает gas на 1 и увеличивает pc на 1; а SSTORE берет верхние два элемента стека и помещает второй элемент в хранилище контракта под адресом, равным первому элементу. Хотя есть много способов оптимизировать выполнение EVM посредством динамической компиляции, простейшая реализация Ethereum может занять всего пару сотен строк кода.

БЛОКЧЕЙН И МАЙНИНГ

Блокчейн Ethereum похож на блокчейн Bitcoin во многом, но не во всем. В первую очередь их архитектуры различаются тем, что в Ethereum, в отличие от Bitcoin, блоки содержат копию не только списка транзакций, но и последнего состояния системы. Также в них хранится еще два значения: номер блока и его сложность. Базовый алгоритм валидации блока в Ethereum выглядит так.

1. Убедиться, что блок, который определяется как предыдущий, существует и валиден.

2. Убедиться, что временная метка создающегося блока больше, чем у предыдущего, но не более чем на 15 минут.

3. Проверить валидность номера блока, его сложности, лимита газа, корень транзакции, корень анкла (различные низкоуровневые значения, специфичные для Ethereum).

4. Проверить валидность proof-of-work.

5. Пусть S[0] – состояние на конец предыдущего блока.

6. Пусть TX – список транзакций в блоке, а всего транзакций n. Для всех 0…n–1 установим S[i+1] = APPLY(S[i],TX[i]). Если при применении некоторых транзакций возникает ошибка или если общее количество потребленного газа к этому моменту превышает GASLIMIT, выдать ошибку.

7. Пусть S_FINAL будет S[n], но с выплатой майнеру награды за нахождение блока.

8. Проверить, совпадает ли корень дерева Меркла состояния S_FINAL с корнем финального состояния из заголовка блока. Если да, блок валиден; в противном случае – нет.

На первый взгляд такой подход может показаться крайне неэффективным, поскольку предполагает хранение текущего состояния в каждом блоке, но на самом деле его эффективность сопоставима с эффективностью Bitcoin. Причина в том, что состояния хранятся в древовидной структуре и с нахождением нового блока изменяется лишь малая часть дерева. Два смежных блока имеют по большей части одинаковые деревья, а значит, данные можно записать один раз, а потом на них ссылаться (например, через хеши поддеревьев). Для этого используется особая модификация дерева Меркла – «дерево Патрисии», которое позволяет эффективно добавлять и удалять ноды, а не просто менять их. Наконец, поскольку вся информация о состояниях содержится в последнем блоке, нет необходимости хранить всю историю блокчейна – в Bitcoin такая стратегия помогла бы сохранить в 5–20 раз больше пространства.

Часто возникает вопрос о том, «где» выполняется код контракта с точки зрения физического оборудования. На это есть простой ответ: процесс выполнения кода контракта – часть определения функции перехода состояния, которая, в свою очередь, является частью алгоритма валидации блока. Поэтому, если транзакция добавлена в блок B, выполнение кода, порожденного этой транзакцией, будет выполняться всеми нодами (и сейчас, и в будущем) при загрузке и валидации блока B.

ПРИЛОЖЕНИЯ

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

СИСТЕМЫ ТОКЕНОВ

Системы токенов внутри блокчейна можно применять самыми разными способами: как подвалюты, представляющие активы вроде доллара США или золота; акции компаний; умную собственность; безопасные неподдельные купоны и даже системы токенов без привязки к какой-либо стоимости в ее привычном понимании, например мотивирующие системы оценки постов. Встроить системы токенов в Ethereum на удивление просто. Тут важно понимать, что и валюта, и система токенов – база данных с одной операцией: отнять х единиц от A и прибавить х единиц к B при условии, что, во-первых, сторона A имеет как минимум х единиц перед началом транзакции и, во-вторых, сторона A подтверждает транзакцию. Все, что нужно для реализации системы токенов, – встроить эту логику в контракт.

Простейший Serpent-код для осуществления системы токенов выглядит так:

def send(to, value):

if self.storage[msg.sender] >= value:

self.storage[msg.sender] = self.storage[msg.sender] – value

self.storage[to] = self.storage[to] + value

Это буквально функция изменения состояния «банковской системы», уже описанной выше. Нужно только добавить в начало несколько строк кода с исходным шагом распределения валюты и учесть еще несколько нюансов – в идеале неплохо бы также добавить функцию, позволяющую сторонним контрактам запрашивать информацию о балансе произвольного адреса. Но в целом это всё. Основанные на Ethereum системы токенов, используемые как подвалюты, теоретически обладают другой важной функцией, недоступной для метавалют на основе биткойна: возможностью платить комиссии непосредственно в этой валюте. Реализовать это можно в контракте, поддерживающем баланс эфира, из которого он будет восполнять эфир, использованный для оплаты комиссий отправителю. Он будет пополнять этот баланс, собирая единицы внутренней валюты, забранные в качестве сборов, и перепродавая их на постоянно действующем аукционе. Таким образом, пользователям было бы необходимо «активировать» свои аккаунты с помощью эфира, но этот эфир можно использовать повторно, поскольку каждый раз контракт будет его возвращать.

ФИНАНСОВЫЕ ДЕРИВАТИВЫ И ВАЛЮТЫ СО СТАБИЛЬНОЙ ЦЕННОСТЬЮ

Финансовые деривативы – наиболее распространенное приложение смарт-контрактов и одно из простейших с точки зрения написания кода. Трудность реализации финансовых контрактов в том, что большинство из них предполагают отсылку к курсу валюты из внешних источников. Например, было бы здорово получить смарт-контракт, хеджирующий риски волатильности эфира (или другой криптовалюты) по отношению к доллару США, но для этого контракт должен знать актуальный курс ETH/USD. Простейший способ реализовать это – через контракт на «поток информации» из конкретного источника (например, NASDAQ), разработанный таким образом, чтобы этот источник мог при необходимости обновлять контракт и предоставил бы интерфейс, позволяющий другим контрактам отправлять сообщение этому контракту и получать в ответ значение курса ETH/USD.

При таких условиях хедж-контракт мог бы выглядеть следующим образом.

1. Дождаться, пока А «вложит в контракт» 1000 единиц эфира.

2. Дождаться, пока B «вложит в контракт» 1000 единиц эфира.

3. Записать в хранилище USD на 1000 эфира по курсу, рассчитанному контрактом на поток информации. Пусть это будет $x.

4. Спустя 30 дней разрешить A или B «реактивировать» контракт, чтобы переслать стороне А эфира на $x (по новому курсу, снова рассчитанному контрактом на поток информации) и остальное – стороне B.

Контракт такого типа был бы очень полезен в криптокоммерции. При обсуждении криптовалют часто возникает проблема волатильности; хотя многим пользователям и продавцам нужны безопасность и удобство работы с цифровыми активами, их вряд ли заинтересует перспектива за один день потерять 23 % своих сбережений. До настоящего времени бороться с этой проблемой обычно предлагали обеспечением криптоактивов привычными активами. То есть пользователь создает субвалюту, единицы которой имеет право выпускать и отзывать, и обеспечивает этой валютой любого, кто обеспечит его (офлайн) соответствующим количеством общепринятого актива (золота, доллара), а также даст гарантию в случае необходимости совершить обратный обмен. Этот механизм позволяет перевести любой обычный актив в криптоактив при условии, что эмитенту можно доверять.

Однако в реальности эмитенты не всегда заслуживают доверия, а банковская инфраструктура бывает недостаточно развита или слишком враждебна, чтобы предоставлять такие сервисы. Альтернативным вариантом могут стать финансовые деривативы. Здесь вместо эмитента, предоставляющего свою валюту в обмен на актив, действует децентрализованный рынок спекулянтов, которые делают ставки на повышение цены соответствующего криптоактива (например, ETH). В отличие от эмитентов, спекулянты не могут просто отказаться возвращать актив, поскольку их средства хранятся в хедж-контракте на эскроу-счете. Отметим, что второй подход все же не полностью децентрализован, поскольку нуждается во внешнем, требующем доверия источнике для информации о курсе, хотя даже при этом условии такой подход кажется куда лучше, поскольку требует меньше инфраструктуры (в отличие от денег, эмиссия информации о курсе валюты не требует лицензий и относится скорее к реализации права свободы слова) и уменьшает возможность мошенничества.

СИСТЕМЫ ИДЕНТИФИКАЦИИ И РЕПУТАЦИИ

Самый первый альткойн – неймкойн – был попыткой использовать блокчейн вроде Bitcoin для создания системы регистрации имен, где люди могли бы регистрировать свои имена в публичной базе данных наряду с другими данными. Самый известным кейсом стала система DNS, привязывающая доменные имена вроде «bitcoin.org» (или, в случае неймкойна, «bitcoin.bit») к IP-адресу. Другие возможные применения – email-аутентификация и потенциально более продвинутые системы репутации. Вот пример простого контракта, который осуществляет подобную систему регистрации имен в Ethereum:

def register(name, value):

if!self.storage[name]:

self.storage[name] = value

Контракт крайне прост: это всего лишь информация о том, что базу данных внутри сети Ethereum можно пополнить, но нельзя ее редактировать или что-либо из нее удалять. Каждый может зарегистрировать имя, навсегда присвоив ему некоторое значение. Более сложный контракт регистрации имени будет также содержать «функцию условия», позволяющую другим контрактам обращаться к нему с запросами, а также интерфейс, позволяющий «владельцу» (то есть первому, кто зарегистрировал имя) изменять данные или передавать право на контракт другому лицу. Более того, поверх можно добавить даже функционал репутаций и web-of-trust.

ДЕЦЕНТРАЛИЗОВАННОЕ ХРАНЕНИЕ ФАЙЛОВ

В последние годы появилось немало стартапов, связанных с онлайн-хранением файлов. Самый известный – Dropbox, предлагающий пользователям загружать и хранить резервную копию своего жесткого диска на отдельном сервере, доступ к которому будет открыт за ежемесячную плату. Однако неэффективность рынка хранения данных заметна невооруженным глазом; «зловещая долина» с пространством в 20–200 гигабайт, где нет ни бесплатных аккаунтов, ни скидок для бизнеса, требует за один лишь месяц хранения файлов больше, чем стоит полноценный жесткий диск. Контракты Ethereum могут развить экосистему децентрализованного хранения файлов, позволяя всем желающим зарабатывать небольшие суммы сдачей в аренду собственных жестких дисков, и неиспользуемое дисковое пространство поможет в дальнейшем снижать стоимость хранения файлов.

В основе здесь лежит то, что мы назвали «децентрализованным Dropbox-контрактом», и работает он следующим образом. Сначала информация разбивается на блоки, для конфиденциальности каждый блок шифруется, и для каждого строится дерево Меркла.

Создается новый контракт, устанавливающий, что каждые n блоков он будет брать случайный индекс в дереве Меркла (используя хеш предыдущего блока как источник случайных чисел) и переводить х эфира первому, кто предъявит SVP-подобное доказательство владения блоком под этим индексом. Когда пользователь захочет повторно скачать свой файл, он может использовать протокол микроплатежей (выплачивая, к примеру, 1 сабо за каждые 32 килобайта); при этом плательщик сможет сэкономить на комиссии, если будет не запрашивать по первой цене весь файл, а публиковать транзакции с тем же одноразовым кодом каждые 32 килобайта, предлагая каждый раз чуть меньшую цену.

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

ДЕЦЕНТРАЛИЗОВАННЫЕ АВТОНОМНЫЕ ОРГАНИЗАЦИИ

Децентрализованная автономная организация (ДАО) – виртуальный объект, состоящий из конкретных членов или акционеров, где определенная часть членов, скажем, 67 %, могут согласовать решения о трате средств из общего фонда и модификации кода. Члены коллективно решают, как организация должна распределять свои средства. Методы распределения могут быть самые разные: от зарплат и премий до более оригинальных механизмов вроде вознаграждений во внутренней валюте.

ДАО напоминают обычные компании или некоммерческие организации, только решения здесь принимаются через криптографические блокчейн-технологии. До этого момента бóльшая часть разговоров о ДАО касалась «капиталистической» модели «децентрализованных автономных корпораций» (ДАК) с выплачиваемыми акционерам дивидендами и свободно торгующимися акциями. Есть и альтернатива, которую можно назвать «децентрализованным автономным сообществом», где голоса всех членов равноправны и для добавления/исключения члена потребуется согласие 67 % текущих членов. В этом случае необходимо убедиться, что одному человеку может принадлежать только одно членство.

В простейшем виде ДАО представляет собой код, способный вносить в себя изменение, одобренное двумя третями членов. Хотя теоретически код неизменен, это правило можно легко обойти и достигнуть изменяемости де-факто, храня фрагменты кода в разных контрактах, а информацию о том, какие фрагменты вызывать, – в изменяющемся хранилище контракта. В простейшей реализации такого ДАО-контракта есть три типа транзакций, которые различаются по предоставленным данным.

◊ [0,i,K,V] – регистрирует предложение с индексом i заменить адрес в хранилище под индексом K на значение V.

◊ [1,i] – регистрирует голос в поддержку предложения.i

◊ [2,i] – принимает предложение i, если для этого набрано достаточно голосов.

Также контракт должен содержать детали по каждому из трех пунктов: учет всех изменений в хранилище контракта, список всех голосовавших за эти изменения и список всех участников организации. Возможна и более проработанная структура со встроенным механизмом голосования, например за отправление транзакции или за добавление/исключение членов. Более того, можно реализовать даже делегирование голосов, подобно тому как это происходит в ликвидной демократии (то есть кто-то может предоставить другому свое право голоса, и это право можно передавать дальше: если А передоверил свой голос B, а B в свою очередь передоверил его C, то С вынесет решение участника A). Такой дизайн обеспечил бы ДАО как децентрализованному сообществу более органичное развитие, позволяя людям делегировать задачи по добавлению/удалению членов отдельным специалистам, хотя, в отличие от «текущей системы», специалисты могут легко появляться и исчезать по мере смены расстановки среди отдельных членов сообщества.

В другой модели – децентрализованной корпорации – у каждого аккаунта есть ноль или больше акций, а для принятия решения необходимо две трети акций. Полная ее структура включала бы в себя функционал управления активами, а также возможность делать предложения о покупке/продаже акций и принимать эти предложения (желательно с возможностью следить за порядком их поступления внутри контракта). Здесь также возможно делегирование голосов в стиле ликвидной демократии, своего рода «совет директоров».

ДРУГИЕ ПРИЛОЖЕНИЯ

1. СБЕРЕГАТЕЛЬНЫЕ КОШЕЛЬКИ. Предположим, Алиса хочет обезопасить свои сбережения, но боится, что ее приватный ключ потеряется или будет кем-то украден. Она вкладывает свой эфир в контракт с «банком» – Бобом на следующих условиях.

◊ В одиночку Алиса может забрать не более 1 % средств в день.

◊ В одиночку Боб может забрать не более 1 % средств в день, но Алиса может отправить транзакцию, в которой запретит ему это делать.

◊ Вместе Алиса и Боб могут забрать любую часть средств.

Как правило, Алисе достаточно 1 % в день, но в ином случае она может договориться с Бобом и воспользоваться третьим пунктом. Если ключ Алисы украдут, она обратится к Бобу за перемещением средств на новый контракт. Если она потеряет свой ключ, Боб сможет постепенно вывести все средства. Если Боб покажется Алисе подозрительным, она сможет запретить ему забирать средства.

2. СТРАХОВАНИЕ УРОЖАЯ. Можно создать контракт на финансовые деривативы, который вместо динамики стоимости какого-либо актива будет опираться на данные о погоде. Если фермер из Айовы покупает дериватив, выплаты по которому производятся обратно пропорционально осадкам в его штате, то в случае засухи фермер получит выплату, а в случае дождей – хороший урожай. Такую схему можно использовать для страхования от стихийных бедствий в целом.

3. ДЕЦЕНТРАЛИЗОВАННЫЙ ПОТОК ИНФОРМАЦИИ. В случае финансовых контрактов на разницу цен можно создать децентрализованный источник верной информации, используя протокол SchellingCoin. SchellingCoin работает так: n сторон предоставляют значения некоторой величины (например, курс ETH/USD), эти значения сортируются, и авторы значений в диапазоне от 25 до 75 % получают выплаты. Каждому участнику выгодно отвечать так же, как и большинство, а говорить правду – единственный принцип, которого может придерживаться большая группа людей, если хочет давать одинаковые ответы. Так создается децентрализованный протокол, теоретически способный предоставлять любые данные: курс ETH/USD, температуру в Берлине или даже результат какого-то сложного вычисления.

4. СМАРТ-КОНТРАКТЫ ЭСКРОУ С МУЛЬТИПОДПИСЬЮ. Bitcoin позволяет создавать контракты для транзакций с мультиподписью; например, когда потратить средства можно, только собрав не менее трех из пяти подписей. Ethereum допускает более детализированные контракты. Например, 4 из 5 могут потратить все средства, 3 из 5 – до 10 % в день, 2 из 5 – до 0,5 % в день. Кроме того, мультиподпись Ethereum асинхронна – стороны могут подписывать транзакцию в разное время, и последняя подпись автоматически отправит транзакцию.

5. ОБЛАЧНЫЕ ВЫЧИСЛЕНИЯ. Технология EVM также позволяет создать верифицируемую вычислительную среду, пользователи которой смогут просить друг друга проделывать вычисления и затем при желании запрашивать доказательства, что в отдельных случайно выбранных местах вычисление производится корректно. Это создает целый рынок облачных вычислений, участие в котором может принять каждый владелец компьютера, ноутбука или специализированного сервера, а для надежности нод (то есть чтобы им было невыгодно обманывать) можно использовать проверку корректности в произвольных местах вместе с системой залогов. Такая система подойдет не для всех типов заданий; например, задания, для которых необходимо высокоуровневое межпроцессное взаимодействие, трудно выполнить в среде большого облака нод. Зато другие задания распараллелить намного легче; на такой платформе можно с легкостью реализовать проекты вроде SETI@home, folding@home и генетических алгоритмов.

6. АЗАРТНЫЕ ИГРЫ P2P. В блокчейн Ethereum можно встроить любое количество протоколов азартных игр p2p вроде проекта Фрэнка Стаяно и Ричарда Клейтона Cyberdice. Простейший такой протокол – контракт на разницу с хешем следующего блока. Можно внедрить и более продвинутые протоколы сервисов азартных игр с практически нулевыми комиссиями и без возможности жульничества.

7. РЫНКИ ПРЕДСКАЗАНИЙ. При наличии оракула или SchellingCoin достаточно легко внедрить и рынки предсказаний. Вместе с SchellingCoin рынки предсказаний могут стать первым широким применением футархии как протокола управления децентрализованными организациями.

8. ДЕЦЕНТРАЛИЗОВАННЫЕ РЫНКИ ВНУТРИ БЛОКЧЕЙНА на базе систем идентификации и репутации.

ПРОЧИЕ ИДЕИ И РАЗМЫШЛЕНИЯ

Введение модифицированного GHOST

Протокол GHOST (greedy heaviest оbserved subtree, «протокол с поглощением наиболее тяжелой ветви») был предложен Йонатаном Сомполински и Авивом Зохаром в декабре 2013 года. Его необходимость связана с недостаточной защитой блокчейнов с быстрым временем подтверждения транзакции из-за высокого уровня «залежалости» блоков, связанной с тем, что для распространения по сети им нужно некоторое время. Допустим, если майнер А находит блок, а затем майнер B находит другой блок с таким же порядковым номером до того, как до него дойдет информация о находке майнера A, блок майнера B остается ненужным и не поможет обезопасить сеть. Также существует проблема централизации: если A – майнинг-пул с 30 % мощности всей сети, а у B только 10 % мощности всей сети, A рискует найти залежалый блок с вероятностью 70 % (поскольку в остальных 30 % случаев A будет находить последний блок и тут же получать данные о майнинге), а у B этот риск возрастает уже до 90 %. Таким образом, если интервал между блоками достаточно короткий, залежалых блоков будет много и майнер А будет успешнее просто благодаря своим размерам. При сочетании этих двух эффектов в блокчейнах, быстро производящих блоки, с большой вероятностью один майнинг-пул, обладающий достаточно большим процентом хеш-мощности сети, де-факто захватит контроль над процессом майнинга.

Как описали Сомполински и Зохар, GHOST решает первую проблему – потерю безопасности сети – включением залежалых блоков в вычисление, определяющее, какая цепочка самая «длинная»: в расчет идут не только родительский блок и дальнейшие предки блока, но и залежалые потомки предка блока (на жаргоне Ethereum – анклы, то есть «дяди»). Все вместе они участвуют в вычислении того, за каким блоком стоит большее значение proof of work. Чтобы решить вторую проблему и предотвратить централизацию, мы выйдем за рамки протокола Сомполински и Зохара и введем выплаты за залежалые блоки: такой блок получит 87,5 % от того, что получил бы, если бы попал в блокчейн, а «племянник», включающий залежалый блок, получит 12,5 %. Однако комиссии за транзакцию анклы не получат.

Ethereum реализует упрощенную версию GHOST, которая опускается всего на семь уровней. Она работает следующим образом.

◊ В блоке должен быть указан родитель, а также 0 или более анклов.

◊ Анкл, включенный в блок B, должен обладать следующими свойствами:

◊ он должен быть прямым потомком предка k-го поколения B, где 2 <= k <= 7;

◊ это не может быть предок B;

◊ анкл должен быть валидным заголовком блока, но не обязательно должен быть ранее верифицированным или даже валидным блоком;

◊ анкл должен отличаться от всех анклов, включенных в предыдущие блоки, и всех анклов, включенных в тот же блок (двойное включение невозможно).

◊ За каждого анкла U в блоке B майнер блока B получает дополнительные 3,125 % к своему coinbase-вознаграждению, а майнер блока U получает 93,75 % от стандартного coinbase-вознаграждения.

Такую ограниченную версию GHOST, в которую анклы могут входить только до семи поколений, мы использовали по двум причинам. Во-первых, при неограниченном GHOST возникло бы слишком много сложностей с вычислениями, какие анклы конкретного блока валидны. Во-вторых, неограниченный GHOST в сочетании с предлагаемой Ethereum системой компенсаций ослабляет стимул майнить именно главную цепь блокчейна, а не цепь злоумышленника.

Комиссии

Поскольку участники сети загружают транзакции в блокчейн и проверяют валидность каждой из них, необходим некий регуляторный механизм, и обычно это – комиссии. По стандарту, который когда-то задал Bitcoin, выбор размера комиссии остается за отправителем. Предполагается, что минимальные значения будут устанавливаться динамически за счет решений майнеров. Bitcoin-сообщество широко одобрило такой подход как «рыночный», где стоимость определяется спросом и предложением. Но важно понимать, что проведение транзакций – не рынок, как бы ни хотелось видеть в майнере продавца, предоставляющего отправителю услугу за определенную плату. В реальности каждая транзакция, включенная майнером в блок, должна быть проведена всеми нодами сети, так что по большей части транзакцию осуществляет третья сторона, а не майнер. Здесь возникает риск трагедии общих ресурсов.

Однако при некоторых небрежных упрощениях этот недостаток удивительным образом самоустраняется. Происходит это следующим образом. Предположим, что…

1. Транзакция состоит из k операций и предлагает майнеру, который включит ее в блокчейн, комиссию kR, где R задается отправителем. Майнер заранее примерно представляет, какими будут R и k.

2. Себестоимость проведения операций для каждой ноды равна C (то есть все ноды одинаково эффективны).

3. Есть N майнящих нод c одинаковыми вычислительными мощностями (то есть одна нода – это 1 / N от всей мощности).

4. Нет полных нод, которые не задействованы в майнинге.

Майнер захочет включить в блок только те транзакции, комиссия с которых превысит себестоимость их проведения. Таким образом, предполагаемое вознаграждение составит kR / N, поскольку вероятность нахождения блока для майнера будет равняться 1 / N, а себестоимость проведения транзакции – kC. Следовательно, майнеры будут включать в блок такие транзакции, для которых kR / N > kC или же R > NC. Заметим, что R – устанавливаемая отправителем комиссия за одну операцию транзакции, так что это нижняя граница выгоды, которую он получит от этой транзакции, а NC – себестоимость проведения операции для всей сети. Соответственно, майнерам выгодно включать в блок только такие транзакции, где общая утилитарная выгода превышает себестоимость.

Однако у этой модели есть серьезные расхождения с реальностью.

1. Майнер, проводящий транзакцию, платит больше, чем верифицирующие ноды, поскольку дополнительное время верификации замедляет распространение блока в сети, из-за чего блок с большей вероятностью может залежаться.

2. Существуют полные ноды, которые не занимаются майнингом.

3. На практике вычислительные мощности майнеров могут распределяться крайне неравномерно.

4. Существуют аферисты, политические враги и просто странные люди, которые желают навредить сети, и они вполне могут создавать хитроумные контракты, стоимость которых будет гораздо ниже себестоимости для верифицирующих нод.

По первой причине майнерам выгоднее включать в блок поменьше транзакций, а вторая причина увеличивает NC, так что эти два действия хотя бы частично уравновешивают друг друга. Как именно? Пункты 3 и 4 представляют большую проблему, и для ее устранения мы просто вводим плавающий лимит: ни один блок не может иметь больше операций, чем BLK_LIMIT_FACTOR, умноженный на долгосрочное экспоненциально изменяющееся среднее значение. Вот как это выглядит:

blk.oplimit = floor((blk.parent.oplimit \* (EMAFACTOR – 1) +

floor(parent.opcount \* BLK\_LIMIT\_FACTOR)) / EMA\_FACTOR)

BLK_LIMIT_FACTOR и EMA_FACTOR – константы, на данный момент составляющие 65 536 и 1,5 соответственно, но эти значения, скорее всего, изменятся после более глубокого анализа.

Существует еще один фактор, сдерживающий разрастание блоков в Bitcoin: большие блоки будут распространяться дольше и, следовательно, больше рискуют залежаться. В Ethereum распространение блоков, требующих больше газа, также может занять больше времени как из-за их физического размера, так и из-за того, что им требуется больше времени на обработку переходов состояния транзакции для проверки. Этот сдерживающий фактор важен для Bitcoin, но не для Ethereum из-за протокола GHOST; следовательно, использование регулируемых лимитов блоков обеспечивает более стабильную опору для работы протокола.

Вычисление и полнота по Тьюрингу

Крайне важное свойство EVM – полнота по Тьюрингу, подразумевающая, что EVM-код может реализовать любое мыслимое вычисление, включая бесконечные циклы. Код EVM допускает два способа написать бесконечный цикл. Во-первых, можно использовать инструкцию JUMP, позволяющую отпрыгнуть в предыдущее место кода, а также инструкцию JUMPI для прыжка при выполнении некоторого условия, допускающую выражения вроде x < 27: x = x × 2. Во-вторых, контракты могут обращаться к другим контрактам, что потенциально может привести к зацикливанию через рекурсию. Здесь возникает закономерный вопрос: могут ли недобросовестные пользователи парализовать майнеров и полные ноды, вводя их в бесконечный цикл? В программировании это известно как проблема остановки: невозможно определить, закончится ли когда-либо выполнение той или иной программы.

Как уже говорилось в разделе о состоянии перехода, мы решаем эту проблему требованием устанавливать для транзакции максимальное допустимое число шагов в вычислении, и, если этот лимит будет превышен, вычисление прервется, но комиссии по-прежнему будут выплачены. Это работает и с сообщениями. Чтобы пояснить причины такого решения, рассмотрим следующие примеры.

◊ Злоумышленник создает контракт с бесконечным циклом и затем пересылает майнеру транзакцию, активирующую этот контракт. Майнер, проводя транзакцию, попадает в бесконечный цикл и ждет, пока закончится газ, прикрепленный к этому контракту. И хотя с окончанием газа выполнение остановится на полпути, транзакция остается валидной и за каждый вычислительный шаг майнер будет взимать со злоумышленника комиссию.

◊ Злоумышленник создает цикл такой длины, чтобы за время, в течение которого майнер будет вычислять его до конца, было найдено еще несколько блоков и майнер не смог бы включить транзакцию в один из следующих блоков, чтобы получить комиссию. Однако злоумышленник должен будет задать значение STARTGAS, ограничивающее количество вычислительных шагов, так что майнер будет знать заранее, если это количество будет чрезмерным.

◊ Злоумышленник видит контракт наподобие send(A,contract.storage[A]); contract.storage[A] = 0 и пересылает транзакцию с количеством газа, достаточным только для выполнения первого шага, но не для второго (то есть забирает деньги, но не позволяет балансу упасть до нуля). Автор контракта не должен волноваться о возможности таких атак, ведь если вычисление прерывается на полпути, произведенные изменения откатываются.

◊ Для минимизации рисков финансовый контракт работает по среднему значению девяти потоков данных от частных источников. Злоумышленник перехватывает один из потоков данных, который можно изменить с помощью механизма вызова разных адресов, описанного в разделе о ДАО, и конвертирует его в бесконечный цикл, в результате чего попытки получить средства с финансового контракта приведут к израсходованию газа. Однако для предотвращения этой проблемы финансовый контракт может указать лимит газа сообщения.

Альтернатива полному по Тьюрингу языку – неполный по Тьюрингу язык, где нет операций JUMP и JUMPI и в каждый момент времени в стеке может существовать только одна копия каждого контракта. В таких условиях описанная система комиссий и неуверенность в эффективности нашего решения теряют актуальность, поскольку стоимость выполнения контракта будет ограничена сверху его размером.

Также добавим, что отсутствие полноты по Тьюрингу – не такое уж сильное ограничение. Из всех рассмотренных нами примеров контрактов только один содержал цикл – и даже его можно было удалить, 26 раз повторив одну его строчку. Учитывая серьезность последствий полноты по Тьюрингу и ограниченность ее преимуществ, почему бы просто не использовать неполный по Тьюрингу язык? Дело в том, что в реальности отсутствие полноты по Тьюрингу не решает все эти проблемы. Рассмотрим следующий контракт:

C0: call(C1); call(C1);

C1: call(C2); call(C2);

C2: call(C3); call(C3);

…

C49: call(C50); call(C50);

C50: (запустить один шаг программы и записать изменения в хранилище)

Перешлем кому-нибудь транзакцию с таким контрактом. Для 51 транзакции нашему контракту понадобится 250 вычислительных шагов. Майнеры могли бы пресекать такие логические «бомбы», устанавливая максимально допустимое число вычислительных шагов для каждого контракта и считая шаги в том числе при выполнении одного контракта внутри другого. Но для этого майнерам пришлось бы запретить контракты, создающие другие контракты (поскольку создание и выполнение всех двадцати шести упомянутых контрактов можно было бы легко объединить в один контракт). Еще одна проблема кроется в том, что поле с адресом в сообщении – переменная, так что в целом нельзя предсказать, какие другие контракты будет вызывать данный контракт. Так мы приходим к удивительному заключению: полный по Тьюрингу язык неожиданно прост в использовании, а с его отсутствием все так же неожиданно становится сложнее, если не установить точно такие же элементы управления. Так почему бы просто не сделать протокол полным по Тьюрингу?

Валюта и выпуск

В сеть Ethereum встроена собственная валюта – эфир. Она была введена с двумя целями: обеспечить достаточный уровень ликвидности для эффективного обмена цифровыми активами и, что еще более важно, создать механизм оплаты комиссий за транзакции. Для удобства и во избежание будущих споров и дискуссий (как это сейчас происходит вокруг mBTC, uBTC и сатоши в биткойне) мы предварительно обозначили номиналы:

◊ 1: вей;

◊ 1012: сабо;

◊ 1015: финни;

◊ 1018: эфир.

Это своего рода расширенная версия «долларов» и «центов» или «биткойна» и «сатоши». Мы ожидаем, что «эфир» будет использоваться для обычных транзакций, «финни» – для микротранзакций, «сабо» и «вей» – для технических дискуссий о комиссиях и протоколе. Оставшиеся номиналы могут понадобиться позже, и пока их не стоит включать в клиент.

Модель выпуска будет такой.

◊ Эфир будет выставлен на продажу по цене 1000–2000 единиц эфира за 1 BTC – эти средства пойдут на финансирование Ethereum и дальнейших разработок Ethereum. Такая модель уже успешно себя показала в Mastercoin и NXT. Первые покупатели получат большие скидки. Биткойны, приобретенные с продажи, полностью пойдут на зарплаты и премии разработчикам, а также на инвестиции в различные коммерческие и некоммерческие проекты в экосистеме Ethereum.

◊ 0,099x от общего количества проданного эфира (60, 102, 216 ETH) будут выделены организации для поощрения ранних участников и оплаты ETH-расходов перед созданием первичного блока.

◊ 0,099x от общего количества проданного эфира будет сохранено в качестве долгосрочного резерва.

◊ 0,26x от общего количества проданного эфира будет распределено между майнерами за год, и так будет всегда.

Несмотря на линейный во времени выпуск валюты, показатель роста количества валюты, как и у биткойна, со временем стремится к нулю

При создании этой модели мы приняли два важных решения: во-первых, о наличии и размере собственного фонда; во-вторых, о постоянно растущем линейном предложении, в отличие от ограниченного предложения в биткойне. Фонд мы считаем необходимым по следующей причине: если его не создать и уменьшить линейную эмиссию до 0,217x для сохранения того же процента инфляции, то общее количество эфира будет на 16,5 % меньше и каждая единица будет обладать на 19,8 % большей стоимостью. Следовательно, при продаже будет раскуплено на 19,8 % больше эфира, и каждая единица будет иметь абсолютно ту же стоимость, что и раньше. Организация при этом получит 1,198x BTC, которые разделятся на изначальные BTC и дополнительные 1,198x. Таким образом, ситуация с отсутствием фонда приводит в точности к тому же, что и ситуация с фондом, с одним лишь важным отличием: организация получит только BTC и будет уже не так заинтересована в росте ценности эфира.

Непрерывный линейный рост валюты уменьшает риск того, что некоторые считают чрезмерной централизацией активов в Bitcoin, а также обеспечивает будущим поколениям майнеров те же шансы получить валюту, что и у нынешнего поколения. При этом, поскольку процент, на который растет количество валюты, со временем стремится к нулю, пользователи будут заинтересованы в хранении сбережений. Также, поскольку какая-то часть монет всегда будет теряться (из-за неосторожности людей, их смерти и по многим другим причинам) и эти потери можно усреднить до определенного процента от всего предложения в год, количество монет в обращении стабилизируется на значении, равном годовой эмиссии, поделенной на процент потерь (например, при норме потерь в 1 % по достижении предложения 26x каждый год будет добываться 0,26x и столько же теряться, что создаст равновесие).

Отметим, что из соображений безопасности в будущем Ethereum, скорее всего, перейдет на модель proof-of-stake, после чего требование к эмиссии снизится до значения от 0 до 0,05x в год. В случае если организация Ethereum потеряет финансирование или исчезнет по какой-либо другой причине, мы оставляем открытым «социальный контракт»: любой имеет право создать свою версию будущего Ethereum с единственным условием, что количество эфира должно быть не более 60102216 × (1,198 + 0,26 × n), где n – количество лет, прошедших после создания первичного блока. Чтобы оплатить разработку, создатели могут свободно прибегать к краудсейлу или частично или полностью распределять разницу между увеличением монет за счет PoS и максимально допустимым увеличением монет каким-либо иным способом. Если версия обновится так, что перестанет соответствовать социальному контракту, с помощью форка ее вполне обоснованно можно будет откатить до подходящего варианта.

ЦЕНТРАЛИЗАЦИЯ МАЙНИНГА

Алгоритм майнинга биткойна устроен следующим образом: майнеры делают миллионы попыток вычислить хеш SHA256 чуть модифицированных заголовков блоков, пока кто-нибудь наконец не обнаружит хеш, который меньше таргета (сейчас он составляет около 2192). Такой алгоритм майнинга уязвим для двух форм централизации. Во-первых, в экосистеме майнинга доминируют ASIC (application-specific integrated circuits, «интегральная схема специального назначения») – компьютерные чипы, разработанные специально для майнинга биткойнов и, соответственно, в тысячи раз более эффективные. По этой причине майнинг нельзя назвать полностью децентрализованным и эгалитарным, и для заметного участия в нем требуются многомиллионные инвестиции. Во-вторых, большинство биткойн-майнеров на самом деле не производят валидацию блока самостоятельно, а полагаются на централизованные майнинг-пулы, которые предоставляют им заголовки блоков. Возможно, дело обстоит даже хуже: на сегодня три самых крупных майнинг-пула косвенно контролируют примерно 50 % вычислительных мощностей сети Bitcoin, хотя положение улучшает тот факт, что майнеры могут переключиться на другие майнинг-пулы, если пул или несколько пулов попробуют совершить атаку 51 %.

На данный момент мы собираемся решить эту проблему с помощью алгоритма, где майнеры получают случайный фрагмент данных о состоянии, высчитывают несколько случайно выбранных транзакций из последних N блоков и возвращают хеш результата. У такого подхода есть два важных плюса. Во-первых, контракты Ethereum могут включать в себя вычисления любого рода, так что для Ethereum ASIC должны справляться с любого вида вычислениями – то есть обладать более мощным процессором. Во-вторых, для майнинга необходим доступ ко всему блокчейну, из-за чего майнерам придется хранить весь блокчейн и как минимум иметь возможность верифицировать каждую транзакцию. При таких условиях в централизованных майнинг-пулах нет необходимости, поскольку p2p-пулы, по определению децентрализованные, справятся с их функцией не хуже, хотя централизованные майнинг-пулы тоже могут остаться и сглаживать беспорядочность, возникающую при распределении вознаграждений.

Эта модель еще не тестировалась, и может возникнуть проблема ее «хитрых» оптимизаций, при которых исполнение контракта будет использоваться в качестве алгоритма майнинга. Однако у этого алгоритма есть интересная особенность: он позволяет кому угодно «отравить колодец», добавив в блокчейн много контрактов, намеренно непригодных для вычисления ASIC. Производителям ASIC было бы выгодно использовать эту возможность для атаки друг друга. Таким образом, решение, которое мы разрабатываем, – скорее социальное и экономически адаптивное, нежели сугубо техническое.

МАСШТАБИРУЕМОСТЬ

Вопрос масштабируемости очень важен для системы Ethereum, поскольку ей свойственен недостаток, который есть и у Bitcoin: каждая транзакция должна быть проведена каждой нодой сети. Текущий размер блокчейна Bitcoin – 15 Гб, и он растет примерно на 1 Мб в час. Если бы сеть Bitcoin производила 2000 транзакций в секунду, как Visa, то блокчейн рос бы на 1 Мб каждые три секунды (1 Гб в час, 8 Тб в год). Ethereum, по-видимому, будет испытывать те же трудности, отягощенные тем, что, в отличие от Bitcoin, поверх него будет действовать множество приложений. Ситуацию ухудшает тот факт, что в Ethereum полным нодам не нужно хранить историю блокчейна, достаточно лишь помнить текущее состояние.

Большим блокчейнам неизбежно угрожает централизация. Если размер блокчейна возрастает, скажем, до 100 Тб, то с большой вероятностью полными нодами будет управлять незначительное количество крупных компаний, а простые пользователи будут держать легкие SPV-ноды. В такой ситуации владельцы полных нод могут вступить в сговор (например, чтобы изменить выплату за найденный блок или выдать BTC самим себе). Легкие ноды не смогут быстро обнаружить такой вид мошенничества. Конечно, хотя бы один владелец полной ноды будет честен, и буквально через несколько часов информация о мошенничестве просочится в условный Reddit, но будет уже поздно: обычным пользователям придется объединиться и внести конкретные блоки в черные списки, что потребует такого же сложного и, вероятно, недостижимого уровня координации, какой необходим для победы над атакой 51 %. Сейчас Bitcoin испытывает эти трудности, но их смягчает модификация блокчейна, предложенная Питером Тоддом.

В ближайшем будущем Ethereum собирается прибегнуть к двум дополнительным стратегиям, направленным на то, чтобы справиться с этой ситуацией. Во-первых, из-за того что майнинг-алгоритмы основаны на блокчейне, каждый майнер будет обязан как минимум держать полную ноду, что создаст нижний предел для количества полных нод. Во-вторых, что более важно, мы включим промежуточный корень дерева состояния в блокчейн после проведения каждой транзакции. Даже если валидация блоков будет централизована, пока хотя бы нода, занимающаяся верификацией, остается честной, проблемы можно избежать за счет протокола верификации. Если майнер публикует невалидный блок, то у этого блока либо неправильный формат, либо некорректное состояние S[n]. Поскольку начальное состояние S[0] корректно, должно существовать какое-то первое некорректное состояние S[i], где состояние S[i–1] будет корректно. Верифицирующая нода предоставит индекс i вместе с proof-of-invalidity, состоящим из подмножеств нод дерева Патрисии, которые пытаются произвести APPLY(S[i–1],TX[i]) – > S[i]. Ноды смогут использовать эти части дерева Патрисии для выполнения нужного фрагмента вычисления и убедиться, что получившееся S[i] не совпадает с S[i], предъявленным майнером.

Злоумышленники также могут провести более изощренную атаку, опубликовав неполные блоки, – в таком случае полной информации, которая могла бы показать валидность/невалидность блока, попросту не будет существовать. Здесь может помочь протокол ответа на вызов: ноды верификации выпускают «вызовы» в форме индексов целевых транзакций, и после получения ноды легкая нода воспринимает блок как невалидный до тех пор, пока еще одна нода – майнер или другой верификатор – не предоставит подмножество нод дерева Патрисии в качестве доказательства валидности.

ЗАКЛЮЧЕНИЕ

Протокол Ethereum изначально задуман как улучшенная версия криптовалюты, которая предоставляет дополнительные возможности благодаря крайне обобщенному языку программирования: эскроу внутри блокчейна; ограничение суммы снятия; финансовые контракты; рынки азартных игр и прочее. Протокол Ethereum не должен «поддерживать» какое-либо из приложений напрямую, но использование полного по Тьюрингу языка программирования теоретически позволяет создавать произвольные контракты для любого типа транзакций и приложений. Но самое интересное в Ethereum – то, что его протокол выходит далеко за рамки просто криптовалюты. Протоколы децентрализованного хранения файлов, децентрализованных вычислений и децентрализованных рынков предсказаний, а также десятки других концепций могут существенно повысить эффективность IT-индустрии и стимулировать другие p2p-протоколы, впервые добавив экономический уровень. Наконец, есть и значительное множество приложений, не имеющих никакого отношения к деньгам.

Концепция произвольности функции изменения состояния, включенная в протокол Ethereum, предоставляет платформу с уникальным потенциалом; в отличие от протоколов закрытого типа, созданных с конкретной целью и для конкретного типа приложений, скажем, в области хранения данных, азартных игр или финансов, архитектура Ethereum крайне открыта, и мы верим, что в ближайшие годы она станет прекрасным базовым уровнем для огромного количества финансовых и нефинансовых протоколов.

Глоссарий

БЛОКЧЕЙН (BLOCKCHAIN) – основополагающая технология Bitcoin, Ethereum и других протоколов. Он представляет собой общую базу данных, содержание которой формируется с согласия всех участвующих в ней компьютеров. Эта база состоит из блоков данных – о транзакциях, программном коде и прочем, – связанных в последовательную цепочку. Однажды попав в нее, данные остаются там навсегда: их невозможно удалить или изменить. Первой имплементацией технологии считается Bitcoin: его первичный блок был добыт 3 января 2009 года.

ВАЛИДАТОР (VALIDATOR) – пользователь сети на основе proof of stake, который может получить вознаграждение в виде токенов за добавление блоков в блокчейн. Валидатор должен сдать в стейкинг некоторое количество токенов, которые может потерять, если не выполнит свою задачу корректно.

ВНУТРИ БЛОКЧЕЙНА (ON-CHAIN) – действия, происходящие непосредственно в блокчейне: к примеру, процесс голосования с использованием смарт-контракта. В свою очередь, к действиям вне блокчейна (off-chain) относятся обсуждение голосования в социальных сетях или заседание корпоративного совета на тему голосования с помощью токенов компании.

ДЕЦЕНТРАЛИЗАЦИЯ (DECENTRALIZATION) – важнейшая концепция в культуре блокчейна. Термин можно трактовать по-разному (см. статью «Значение децентрализации»), но в целом он подразумевает замену систем, подконтрольных единому центру, системами, распределяющими контроль между многими участниками.

ДОКАЗАТЕЛЬСТВО С НУЛЕВЫМ РАЗГЛАШЕНИЕМ (ZERO-KNOWLEDGE PROOFS) – криптографический метод, который обеспечивает пользователю возможность доказать обладание определенной информацией без предоставления самой этой информации, что позволяет ему защитить свою конфиденциальность.

КВАДРАТИЧНОЕ ГОЛОСОВАНИЕ (QUADRATIC VOTING) – метод принятия решений, при котором пользователь может выделить больше токенов, чтобы повлиять на голосование в интересах своего обогащения или своих предпочтений. Однако каждый дополнительный токен для данного пользователя будет обходиться дороже: таким образом, меньшинству будет сложнее подавлять большинство. Чтобы работать эффективно, квадратичное голосование должно сопровождаться надежной системой подтверждения личности пользователя.

КРИПТОВАЛЮТА (CRYPTOCURRENCY) – общий термин для токенов на базе блокчейна, имеющих хотя бы одно (но обычно не все) свойство традиционных денег, например способность служить средством сбережения или оплаты. Вместе с тем криптовалюта существует без государственной поддержки и зависит от представлений пользователей о ее безопасности, защищенности личных данных, удобстве использования и перспективах стоимости.

КРИПТОГРАФИЯ (CRYPTOGRAPHY) – область математики и информатики, которая в целях безопасного хранения и коммуникации использует шифрование данных и допускает к ним только полномочных пользователей. Благодаря криптографическим техникам и существует технология блокчейна.

КРИПТОЭКОНОМИКА (CRYPTOECONOMICS) – парадигма, вобравшая в себя теорию игр, экономическое стимулирование и криптографическую защиту. Как правило, именно на ее принципах формируются системы, основанные на технологии блокчейна. Часто она поощряет участников действовать сообща в интересах общих целей и продуктов, несмотря на все основания не доверять друг другу.

МАЙНИНГ (MINING) – в контексте блокчейн-систем на основе алгоритма proof of work это добыча новых блоков данных за счет вычислительной мощности компьютера и получение вознаграждения в виде токенов. Хотя майнинг доступен и обычным пользователям, во многих сетях его реализуют в промышленных масштабах, задействуя много специализированных компьютеров и потребляя существенное количество электроэнергии.

ОБЩЕСТВЕННЫЕ БЛАГА (PUBLIC GOODS) – понятие в экономике, подразумевающее блага, которые доступны абсолютно всем и использование которых одним человеком не исключает доступа к ним для других. Это могут быть язык, уличные фонари, парки или программное обеспечение с открытым исходным кодом. В контексте культуры блокчейна под общественными благами обычно подразумевают программную инфраструктуру, которой пользуются многие стороны, но ни одна из них ею не владеет или недостаточно заинтересована в том, чтобы вкладываться в ее развитие.

ОРАКУЛ – система, благодаря которой смарт-контракты могут взаимодействовать с миром за пределами блокчейна. Например, оракул может подтвердить, что определенное событие действительно произошло или что определенная транзакция на другом блокчейне действительно завершилась.

ПЕРВИЧНЫЙ БЛОК (GENESIS BLOCK) – первый блок блокчейна. Термин зародился вместе с Bitcoin, но используется и в других блокчейнах, в том числе Ethereum.

ПЕРВЫЙ И ВТОРОЙ УРОВНИ (LAYERS 1 AND 2) – в контексте блокчейнов так называют два типа сетевой инфраструктуры. К первому уровню относится основной протокол блокчейна, например Ethereum. Ко второму уровню – посреднические сервисы вроде роллапов, которые упрощают разработку приложений для блокчейна.

ПРОТОКОЛ (PROTOCOL) – набор правил взаимодействия между компьютерами в общей сети. Он определяет работу интернета (TCP/IP) и всемирной паутины (HTTP), а также блокчейн-сетей вроде Bitcoin и Ethereum.

ПУБЛИЧНЫЕ И ПРИВАТНЫЕ КЛЮЧИ (PUBLIC AND PRIVATE KEYS) – наборы символов, на основе которых работают криптографические системы. Получить доступ к какому-либо адресу в блокчейне (по аналогии с учетной записью) можно только с помощью публичного ключа (по аналогии с логином) и приватного ключа (по аналогии с паролем).

РОЛЛАП (ROLLUP) – часть экосистемы второго уровня, которая служит посредником между пользователем и блокчейном. Обладая некоторыми преимуществами над первым уровнем – например, меньшей стоимостью и большей скоростью транзакций, – роллап сохраняет такую же степень безопасности. Благодаря стратегии роллапов Ethereum смог выйти за пределы своих первоначальных возможностей.

РЫНОК ПРЕДСКАЗАНИЙ (PREDICTION MARKET) – система, участники которой могут делать ставки на исходы реальных событий и получать вознаграждения в случае точных прогнозов. Часто рынки предсказаний оказываются точнее других форм краудсорсинга и прогнозов.

СМАРТ-КОНТРАКТ (SMART CONTRACT) – программа, за счет которой работают вычислительные блокчейны вроде Ethereum. Контракт выполняет множество функций – например, он выпускает токены, проводит сложные транзакции и не допускает появления централизованного управления.

ТОКЕН – единица стоимости, которую можно установить в соответствии с заданным протоколом или смарт-контрактом на блокчейне. Некоторые токены, в зависимости от их изначального проекта, могут выполнять роль платежных средств – например, пакетов акций или документов о праве собственности.

ТОЧКА ШЕЛЛИНГА (SCHELLING POINT), или фокальная точка, – заключение, к которому будут склонны прийти независимые игроки, которые не могут напрямую взаимодействовать друг с другом. Как правило, основывается на представлениях о поведении других игроков. Поскольку точка Шеллинга часто соответствует истине, в контексте блокчейнов ее нередко используют для оракулов и рынков предсказаний. Концепция названа в честь Томаса Шеллинга, специалиста по теории игр времен холодной войны.

ФОРКИНГ (FORKING) – практика копирования и преобразования открытого исходного кода или данных программного обеспечения для создания его новой версии или улучшения существующей. Например, многие ранние криптовалюты – «альткойны» – это форки Bitcoin. Также форком называют обновление блокчейна или его разделение на две отдельных версии в тех случаях, когда одни пользователи принимают обновление, а другие – нет.

ФУТАРХИЯ (FUTARCHY) – система правления, предложенная экономистом Робином Хэнсоном, в которой рынки предсказаний должны определять самые эффективные стратегии по достижению общепринятых целей.

ШИФРОПАНК (CYPHERPUNK) – идеология и политическое движение, главный элемент которых – криптография как средство защиты конфиденциальности и свободы, а также борьбы с государственным надзором и цензурой. Шифропанковые сообщества десятилетиями экспериментировали с идеями, которые легли в основу технологии блокчейна.

DAPP (сокращение от «decentralized app» – децентрализованное приложение) – любая программа, которая так или иначе полагается на взаимодействие со смарт-контрактами в системе блокчейна.

DEFI (сокращение от «decentralized finance» – децентрализованные финансы) – сфера финансовых инструментов и программ, использующих смарт-контракты в системе блокчейна. К ней относятся продукты для кредитования, получения процентного дохода, стабильных валют, перевода ценностей и прочего.

NFT (NON-FUNGIBLE TOKEN – «невзаимозаменяемый токен») – уникальный токен на основе блокчейна, противоположность криптовалютам, где все токены взаимозаменяемы. NFT часто используют для демонстрации права собственности на произведения искусства, цифровые активы и членство в сообществе.

PEER-TO-PEER (P2P, «ОДНОРАНГОВАЯ СЕТЬ») – тип сети, состоящий из равноправных нод, соединенных друг с другом. Такая сеть отличается от структуры «клиент – сервер», используемой в большинстве веб-сайтов и централизованных платформ, где сервер обладает привилегиями, которых нет у пользователей-клиентов. Публичные блокчейны вроде сети Ethereum позволяют любому пользователю функционировать и в качестве клиента, и в качестве сервера. Другие виды блокчейнов, известные как «эксклюзивные» (permissioned), позволяют только определенным пользователям действовать на равных.

PROOF OF STAKE («ДОКАЗАТЕЛЬСТВО ДОЛИ ВЛАДЕНИЯ») – метод добавления данных в блокчейн, где представленные в сети компьютеры-валидаторы должны сдать в стейкинг токены для получения права участвовать в решении о том, какие новые данные принимать и в каком порядке. За участие валидаторы получают вознаграждение в виде токенов. Риск потери своих токенов удерживает потенциальных злоумышленников от попыток повредить данные.

PROOF OF WORK («ДОКАЗАТЕЛЬСТВО ВЫПОЛНЕННОЙ РАБОТЫ») – метод добавления данных в блокчейн, требующий от компьютера выполнения сложных криптографических вычислений. Чем больше вычислительная мощность компьютера, тем вероятнее он получит вознаграждение за майнинг блока. Энергозатратность майнинга удерживает потенциальных злоумышленников от попыток изменить данные..

Примечания

1

В экономике «золотыми жуками» называют сторонников золотого стандарта и тех, кто предпочитает вкладываться в золото. – Прим. пер.

2

Вайтпейпер (англ. white paper) – документ, излагающий суть, цели и принципы работы криптовалютного проекта. – Прим. ред.

3

Согласно оценке Bitcoin Mining Council, глобальные затраты электричества на майнинг биткойна превышают энергопотребление в таких крупных странах, как Австралия, Испания и Турция. – Прим. ред.

4

Vitalik Buterin, «Ethereum: Now Going Public», Ethereum Foundation blog (January 23, 2014).

5

Информация актуальна на момент написания статьи. – Прим. ред.

6

Чем меньше время создания блока, тем быстрее проходят транзакции. – Прим. ред.

7

В русском языке не закрепилось единственное произношение названия Dogecoin. В русскоязычном интернете варианты «догекойн»/«догикойн» популярны примерно так же, как и «дожкойн» (так название этой криптовалюты произносит ее главный апологет – Илон Маск). – Прим. ред.

8

В то время Bitcointalk, созданный Сатоши Накамото, был онлайн-доской объявлений и главным форумом для обсуждений криптовалют. Любая новая криптовалюта создавала там свой тред. – Далее примечания редактора англоязычного издания следуют без дополнительных пометок.

9

SocialCoin – созданная в 2013 году криптовалюта, основанная на идее добрых дел. Человек получал монету, когда ему чем-то помогли, и таким же образом передавал ее другому. Каждый описывал в общей сети, что именно для него сделали. Каждая монета имела физический аналог и существовала три месяца. – Прим. пер.

10

Демон – программа, работающая в фоновом режиме без прямого взаимодействия с пользователем. – Прим. пер.

11

Английское слово salary произошло от латинского salarium (зарплата), которое, в свою очередь, произошло от sal – соль. – Прим. пер.

12

DPoS – аббревиатура от delegated proof of stake («делегированное подтверждение доли владения»), механизма консенсуса с ограничениями на то, кто может выступать в качестве валидаторов.

13

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

14

Слабая субъективность – концепция Бутерина о том, что сетевой узел должен знать в системе proof of stake.

15

ASIC (application-specific integrated circuit) – интегральная схема специального назначения. В контексте блокчейна так обозначают компьютеры, разработанные специально для эффективного майнинга в системах proof of work. Центры криптомайнинга могут представлять собой склады подобных машин, спроектированных и созданных исключительно для совершения бесполезных математических вычислений, которые необходимы для подтверждения блоков.

16

Австрийская школа – направление экономической теории в рамках маржинализма, подчеркивающее роль самоорганизующей силы рыночного ценового механизма. Получила свое название в связи с тем, что основатель школы и основные его последователи были подданными Австро-Венгерской империи. – Прим. пер..

17

Футархия – модель управления, где избиратели выбирают определенные социальные цели, а инвесторы на рынках прогнозирования делают ставку на политику, которая, по их мнению, с наибольшей вероятностью приведет к достижению этих целей.

18

Рационалистический блог-сообщество, основанный исследователем искусственного интеллекта Элиезером Юдковским.

19

Атака 51 % (или атака «Double Spending») позволяет гарантированно изменить получателя криптотранзакции при концентрации в одних руках свыше 50 % суммарной мощности майнинга.

20

Термин «dApp» – это сокращение от «децентрализованное приложение», под которым подразумевают софт, созданный для работы на блокчейне, а не на чьем-то сервере. Упомянутые проекты – первые попытки создания таких программ.

21

Пропорционально-интегрально-дифференциальный регулятор (ПИД) – устройство для автоматического поддержания в заданном интервале одного или нескольких параметров. – Прим. ред.

22

Алгоритм, который основывается на имитации физического процесса, который происходит при кристаллизации вещества, в том числе при отжиге металлов. – Прим. ред.

23

Убийственное приложение (англ. killer app) – программа, которая становится популярной и тем самым резко повышает ценность технологии, на которой она работает. – Прим. пер.

24

Низко висящие фрукты – метафора самой простой работы, которая требует минимальных усилий и при этом может дать внушительные результаты. – Прим. пер.

25

В 2010 году произошла утечка документов, касающихся войн в Ираке и Афганистане, на сайт WikiLeaks, после чего с подачи правительства США организация потеряла доступ к традиционным методам финансирования. В следующем году WikiLeaks начала принимать пожертвования в биткойнах.

26

Длинный хвост – экономическая теория, утверждающая, что доход от продаж небольшого количества товаров-хитов (их называют «головой» из-за визуального сходства, которое можно увидеть на картинке) не превышает доход от продаж большого количества нишевых товаров (соответственно «хвост»). Эта теория оспаривает мнение о том, что прибыльный бизнес можно построить только на продаже самых модных товаров. – Прим. пер.

27

Lego Mindstorms – конструктор, набор сопрягаемых деталей и электронных блоков, для создания программируемого робота. – Прим. ред.

28

Бэкдор (англ. back door) – дефект алгоритма, который умышленно встраивается в него разработчиком и позволяет получить несанкционированный доступ к данным или удаленному управлению операционной системой и компьютером в целом.

29

Ниже цитируется статья Грегга Кейзера, опубликованная в Computerworld в 2011 году.

30

Система M-of-N – это такая система, где для замка существует, например, N ключей, M из которых необходимо для его открытия.

31

Augur – крипторынок предсказаний, где пользователи могут делать ставки на определенные события, а система «оракулов» сообщает реальные исходы этих событий.

32

Квадратичное голосование (Quadratic voting) – это механизм, при котором избиратели могут голосовать с помощью нескольких токенов, но чем больше токенов человек использует для голосования, тем меньшую силу имеет каждый токен. В этой системе стремятся учитывать интенсивность предпочтений, одновременно противодействуя плутократии со стороны обладателей большего количества токенов.

33

OpenOffice – это бесплатный пакет офисных программ с открытым исходным кодом наподобие Microsoft Office. Сделать «форк» программного обеспечения с открытым исходным кодом означает скопировать его код и трансформировать во что-то другое.

34

Бутерин ссылается на камни раи – большие каменные диски, которые используются в качестве валюты на тихоокеанском острове Яп. Эти камни настолько тяжелые, что владельцы передают их друг другу на словах, лишь изредка перемещая их в пространстве. Известен случай, когда один такой камень утонул, но даже с морского дна исполнял функцию валюты и сменял владельцев. – Прим. пер.

35

Речь идет об ошибке в популярном клиенте Go Ethereum, которая потребовала быстрого обновления программного обеспечения и создания форка блокчейна с двумя разными параллельными реестрами.

36

В Ethereum «анкл-блоки» – это неполные блоки, которые не добавляются в основную цепочку. При этом майнеры получают вознаграждение за их создание – своего рода утешительный приз за то, что их неудачные попытки способствуют безопасности системы.

37

См. на следующей странице. Эта диаграмма взята из работы Пола Барана «О распределенной коммуникации» (On Distributed Communications, RAND Corporation, 1964), где он предложил сетевую архитектуру для того, что впоследствии станет интернетом.

38

Виталик ссылается на трагедию общих ресурсов – ситуацию, где акторы в моменте ставят личные выгоды выше общественных, даже если в перспективе это пойдет во вред всему обществу, в том числе им самим. – Прим. пер.

39

Суперкомитет по политической активности (Super PAC) – организация, не связанная с предвыборным штабом кандидата, которая может собирать средства на его поддержку или для атаки на него. В отличие от простого комитета по политической активности (PAC), в суперкомитете могут участвовать не только частные лица, но и корпорации, профсоюзы и прочие организации. – Прим. пер.

40

Это стратегия, при которой майнеры могут договориться создать частную цепочку и нарушить валидность основной цепочки.

41

Максимум сетевой активности в пределах одного блока, коллективно устанавливаемый майнерами. Так пропускная способность системы балансируется за счет определяемых майнерами ресурсных затрат.

42

В этом эссе Джо Фриман размышляет о неформальных иерархиях, возникших в якобы неиерархических феминистских «дискуссионных кружках». Ее анализ часто применяют к неформальным иерархиям, возникающим в онлайн-сообществах.

43

Этот пример – ода задаче византийских генералов из теории игр: войска взяли Византию в кольцо и должны атаковать одновременно, чтобы победить. Если у них нет безопасных средств связи друг с другом, как им скоординировать одновременную атаку?

44

Генеральный директор криптомайнинговой компании GAW Miners Джош Гарза признал себя виновным в электронном мошенничестве и в 2018 году был приговорен к тюремному заключению за создание финансовой пирамиды.

45

«Ходл» (Hodl) – особый термин в криптолексиконе, отображающий ситуацию, когда человек отчаянно пытается напечатать «hold», чтобы другие не продавали токены в момент падения их стоимости. Чаще всего этот боевой клич ассоциируется с трейдерами, ориентирующимися на цену. В культуре Ethereum есть соответствующий мем – «Бидл» («Buidl»), то есть призыв реагировать на неудачи путем создания лучших, более удобных инструментов.

46

Отсылка к общему количеству монет, которые система Bitcoin выпустит в соответствии с ее текущим дизайном.

47

Демередж – это стоимость, связанная с владением или хранением валюты в течение определенного периода. Иногда его называют балансовой стоимостью денег. – Прим. ред.

48

Slate Star Codex – блог Скотта Александера, «психиатра с Западного побережья США». Блог весьма популярен в криптокультуре. Эссе «Размышления о Молохе» интерпретирует образ пожирающего детей древнего левантийского божества, изображенного в поэме Аллена Гинзберга «Вопль», как бога сбоя координации. В субкультуре Ethereum выражение «убийство Молоха» обозначает создание лучшей системы координации за счет общих стимулов.

49

Метафора, подразумевающая, что катастрофа (модель активно используется в авиации) происходит из-за совокупного нарушения нескольких слоев защиты. Если нарезать швейцарский сыр ломтиками, в каждом будут свои дырки – сбои в системе защиты. Сложенные вместе, ломтики перекрывают дырки друг друга, образуя более надежную систему защиты. – Прим. пер.

50

При атаке Сивиллы один пользователь может подорвать систему, выдавая себя за нескольких пользователей. Название отсылает к бестселлеру 1973 года «Сивилла», описывающему то, что тогда называлось «расстройством множественной личности».

51

Система налогообложения, при которой люди платят налоги на актив по той ставке, по которой они готовы его продать. Как и квадратичные модели из предыдущего пункта, налоги Харбергера привлекли внимание Бутерина и всего криптомира благодаря книге Эрика Познера и Глена Вейла «Радикальные рынки: искоренение капитализма и демократии ради справедливого общества» (Radical Markets: Uprooting Capitalism and Democracy for a Just Society).

52

Сокпаппет (sockpuppet) – фейковый аккаунт, который создает пользователь, чтобы притвориться другим пользователем.

53

Gitcoin – платформа финансирования разработки ПО с открытым исходным кодом, прежде всего в экосистеме Ethereum. Механизм CLR был экспериментом по распределению встречного финансирования в соответствии с пожертвованиями сообщества по принципу «квадратичного финансирования». Идея принадлежит Бутерину, Зои Хитциг и Глену Вейлу.

54

Математическое открытие Кеннета Эрроу о невозможности достижения набора желаемых результатов с помощью систем преференциального голосования, опубликованное в 1951 году.

55

Bitconnect – криптовалютная инвестиционная платформа, которая закрылась в 2018 году после того, как регуляторы начали проверять ее на наличие признаков финансовой пирамиды.

56

Кастодиальные криптовалютные сервисы хранят все персональные данные пользователей, закрытые ключи и пароли. – Прим. ред.

57

См. примечание в статье «Об изолированных системах».

58

См. примечание в статье «Заметки об управлении блокчейном».

59

Кен Уайт – юрист из Лос-Анджелеса, который пишет о вопросах свободы слова, обычно в блоге Popehat.

60

Bitcoin Cash – форк биткойна, созданный в 2017 году с целью увеличить способность системы обрабатывать большие объемы транзакций и служить средством обмена.

61

Корейская конференция, «стремящаяся развить концепцию распределенной экономики», которая проходила в 2018 и 2019 годах.

62

Bryan Caplan, «Ebola and Open Borders», EconLog (16 октября 2014).

63

General Data Protection Regulation (Общий регламент по защите данных). – Прим. пер.

64

Агентство по борьбе с финансовыми преступлениями (Financial Crimes Enforcement Network). – Прим. пер.

65

Миксер – сервис анонимизации, который существенно усложняет отслеживание криптовалютных транзакций. – Прим. ред.

66

«Can’t be evil» – отсылка к фразе «don’t be evil», которая долгие годы была девизом Google. Для сторонников Web 3.0 этот девиз символизирует тот факт, что Web 2.0 основана на доверии и поэтому «быть злым» там – один из возможных вариантов выбора. Взамен они предложили слоган «can’t be evil», подразумевающий, что в Web 3.0 «быть злым» становится технически невозможно. – Прим. пер.

67

Эффект социальной желательности – явление, когда индивид подстраивает свои ответы или поведение под ожидания группы, к которой принадлежит или хочет принадлежать. – Прим. ред.

68

Доказательство с нулевым разглашением – интерактивный криптографический протокол, позволяющий одной из взаимодействующих сторон убедиться в достоверности какого-либо утверждения, не имея при этом никакой другой информации от второй стороны. – Прим. ред.

69

Упоминаемый ранее калифорнийский психиатр Скотт Александер предложил дополнение к концепции «точки Шеллинга», названной в честь теоретика игр времен холодной войны Томаса Шеллинга. Забор подразумевает ограничение системы, обычно согласованное ее участниками.

70

Здесь «второй уровень» отсылает к инфраструктурам, строящимся поверх «первого уровня», то есть блокчейна Ethereum. Это позволяет выстраивать более эффективные процессы для приложений.

71

Роллапы (Rollups) – основная технология для протоколов второго уровня для Ethereum. Использование роллапов позволяет обеспечить высокую приватность транзакций и масштабировать основную сеть Ethereum: множество транзакций объединяется в единый пакет, который подтверждается в блокчейне первого уровня. – Прим. ред.

72

Прогнозирование пиров сравнивает различные пользовательские рейтинги в рейтинговой системе и вознаграждает пользователей, которые точно предсказывают рейтинги других пользователей. Это похоже на концепцию точки Шеллинга, упомянутую выше. В то время как системы репутации, упомянутые в следующем пункте, зависят от уровня доверия к конкретным пользователям в социальной сети, прогнозирование пиров оценивает сами рейтинги относительно друг друга.

73

Система доменных имен (Domain Name System) – один из компонентов интернета. Хотя интернет по своей сути децентрализован, DNS остается централизованной. Один из первых блокчейн-проектов Namecoin стремился обеспечить ей децентрализованную замену. Служба имен Ethereum делает это в рамках экосистемы Ethereum, используя домены, которые заканчиваются на. eth.

74

Речь о статье, упоминаемой в треде с картинки: Andrew Stershic and Kritee Gujral, «Arbitrage in Political Prediction Markets», Journal of Prediction Markets 14, no. 1 (2020).

75

Нейт Сильвер – статистик, писатель и основатель политического блога FiveThirtyEight.com на сайте газеты New York Times. Он является создателем PECOTA, системы прогнозирования бейсбольных результатов. – Прим. ред.

76

DAI – так называемый стейблкойн, предназначенный для сохранения более или менее постоянной цены по отношению к доллару США. Он управляется ДАО под названием MakerDAO.

77

На фото Джейк Анджели – политический активист и участник ультраправого конспирологического движения QAnon. – Прим. пер.

78

Речь, разумеется, о миллиардере Илоне Маске, чьи твиты о криптовалюте способны значительно влиять на ее цену.

79

Виталик ссылается на свою статью «Дизайн рынка предсказаний для ставок на множество крайне маловероятных событий» (Prediction market design for betting on many highly improbable events). – Прим. пер.

80

Научно-исследовательские и опытно-конструкторские работы. – Прим. ред.

81

Ethereum Classic – ветвь блокчейна Ethereum, которая не приняла хардфорк и не стерла взлом The DAO в 2016 году. Раньше это и был Ethereum, но после взлома они разделились.

82

Как уже было сказано, ENS – это сервис имен Ethereum (Ethereum Name Service), то есть регистратор доменов. eth, широко используемых в экосистеме Ethereum. В 2021 году появился токен ENS, который был распределен среди пользователей, чтобы контроль над ENS перешел от корневой мультиподписи к ДАО токена.

83

Имена, заканчивающиеся на. eth, относятся к системе имен Ethereum – реестра доменов, который связывает доменное имя с адресом Ethereum. Uniswap – платформа обмена токенами, которая работает как протокол смарт-контракта на блокчейне Ethereum. Это программное обеспечение с открытым исходным кодом, которое может быть скопировано и изменено любым заинтересованным лицом.

84

Как вскользь упоминалось выше, MolochDAO – материнская компания DAI – получила раннее финансирование от программы грантов Gitcoin, ориентированной на общественные блага.

85

Персонаж комиксов Marvel, который убил половину жителей вселенной, чтобы произвести впечатление на Госпожу Смерть.

86

Блогер-неомонархист, который разработал Urbit – платформу p2p-серверов.

87

Бутерин ссылается на слушания в Сенате США на тему «Криптовалюты: чем они полезны?» (Cryptocurrencies: What are they good for?), которые прошли в 2021 году. – Прим. пер.

88

Декларация была представлена на Всемирном экономическом форуме по случаю принятия в США закона, вводящего ограничения в сфере телекоммуникаций. Автор документа – Джон Перри Барлоу, который был одним из первых защитников интернета, а в прошлом – автором некоторых текстов песен группы Grateful Dead.

89

Речь о взломе The DAO.

90

Предложение по улучшению Ethereum (Ethereum Improvement Proposal – EIP) 2021 года, которое изменило структуру рынка платы за газ.

91

ИПЦ расшифровывается как индекс потребительских цен. RAI – стейблкойн, но (в отличие от DAI и USDT) не привязанный к «фиатной» валюте вроде доллара США. Он стремится быть более стабильным, в то же время отражая изменения на базовых крипторынках.

92

Термин «управление внутри блокчейна» относится к голосованию и принятию других решений непосредственно через протоколы блокчейна, а «управление вне блокчейна» – к механизмам вроде фондов и компаний, олигархического контроля над мультиподписью, неформальной харизматической власти, «сарафанного радио» и многого другого.

93

Sam Hart, Laura Lotti, and Toby Shorin, «Positive Sum Worlds: Remaking Public Goods», Other Internet (July 2, 2021).

94

Перечисленные ниже модели – это системы, которые построены на блокчейнах первого уровня вроде Ethereum или Bitcoin и при этом в той или иной форме обеспечивают большýю пропускную способность.

95

Отсылка к статье Само Бури «Живые игроки против мертвых» (Samo Burja, «Live versus Dead Players», Medium (March 14, 2018)).

96

Виталик ссылается на идеи, высказанные в некоторых прореспубликанских статьях и подкастах. – Прим. пер.

97

Проверяемые функции задержки (Verifiable Delay Functions, VDF) – новые механизмы, вводящие в работу децентрализованной системы предусмотренную задержку.

98

Имеется в виду отбор представителей через лотереи наподобие того, как случайно выбирают присяжных.

99

Steve Randy Waldman, «Complementary Currencies for Municipal Finance».

100

Безусловный базовый доход, в рамках которого граждане на регулярной основе получают равный безусловный доход.

101

Еще одна отсылка к одноименной книге (и набору концепций) Эрика Познера и Э. Глена Вейла.

102

Виталик ссылается на проект Optimism, предлагающий ретроактивное финансирование общественных благ. – Прим. пер.

103

Proof of Humanity – проект, предназначенный для идентификации отдельных людей в блокчейне, не полагаясь на центральные власти вроде правительств или корпораций. Его используют другие криптопроекты, которым необходимо подтверждение личностей участников.

104

В то время как обычные блокчейны вроде Ethereum разглашают отправителей и получателей всех транзакций, протокол Tornado Cash позволяет проводить приватные транзакции, маскируя связь между отправителем и получателем. – Прим. авт. Властями Нидерландов летом 2022 года было возбуждено уголовное дело против Tornado Cash, и один из разработчиков, Алексей Перцев, был арестован. – Прим. ред.

105

Деревья Меркла – центральный в Ethereum криптографический метод, используемый для проверки того, что набор данных не был подделан. Ветвь Меркла является частью такого дерева.

106

ZK-SNARK расшифровывается как Zero-Knowledge Succinct Non-Interactive Argument of Knowledge («краткий неинтерактивный аргумент знания с нулевым знанием»). Это метод предоставления криптографических доказательств того, что сторона владеет определенной информацией, без раскрытия, что это за информация.

107

Слияние (Merge) – переход Ethereum с PoW на PoS. – Прим. пер.

108

Абстракция учетных записей – это парадигма для систем блокчейна, в которой активы хранятся исключительно в смарт-контрактах, а не во внешних учетных записях. – Прим. ред.

109

Речь о направлении внутри культуры шифропанка. Лунапанк (lunapunk) появился в ответ на более оптимистичный соларпанк (solarpunk). – Прим. пер.

110

Выражения из сленга трейдеров: под «быками» подразумевают тех, кто покупает криптовалюту, ожидая ее роста, а под «медведями» – тех, кто продает криптовалюту, ожидая ее падения. – Прим. ред.

111

Имеется в виду основатель FTX Сэм Бэнкман-Фрид. – Прим. пер.

112

В оригинале: «Вдумчивый читатель может заметить, что на самом деле bitcoin-адрес – это хеш публичного ключа эллиптической кривой, а не собственно публичный ключ. Однако с точки зрения терминологии абсолютно нормально называть хеш публичного ключа «публичным ключом», поскольку криптография Bitcoin может считаться кастомным алгоритмом цифровой подписи, где публичный ключ состоит из хеша публичного ключа эллиптической кривой, подпись состоит из публичного ключа эллиптической кривой, связанного с подписью эллиптической кривой, а алгоритм верификации включает сопоставление публичного ключа эллиптической кривой в подписи с хешем публичного ключа эллиптической кривой, предоставленным в качестве публичного ключа, а затем сопоставление подписи эллиптической кривой с публичным ключом эллиптической кривой».

113

В оригинале: «Теоретически – медиана 11 предыдущих блоков».

114

В оригинале: «Предполагается, что 2 и "CHARLIE" – числа, где второе – базовая репрезентация 256 от старшего к младшему. Числа могут быть от 0 и до 2256 – 1».

Content

Виталик Бутерин
Больше денег. Что такое Ethereum и как блокчейн меняет мир

Введение

Часть 1 Премайнинг

Рынки, институты и валюты – новый метод социального стимулирования

Ethereum: криптовалюта следующего поколения и децентрализованная платформа для приложений

Самоисполняемые контракты и фактическое право

Об изолированных системах

Сверхрациональность и ДАО

Ценность технологии блокчейна

Часть 2 Proof of work

Почему исследователям криптоэкономики и Х-рисков стоит чаще прислушиваться друг к другу

Философия proof of stake

Значение децентрализации

Заметки об управлении блокчейном

О сговорах

О свободе слова

Контроль как ответственность

Рождественский спецвыпуск

Часть 3 Proof of stake

Достоверная нейтральность как руководящий принцип

Координация – хорошая и плохая

Рынки предсказаний: истории с выборов

Легитимность – самый важный дефицитный ресурс

Против злоупотребления коэффициентом Джини

Управление: не только голосование монетами

Модели доверия

Криптогорода

«Привязанные к душе» токены

Что меня воодушевляет в экосистеме приложений Ethereum

1. ДЕНЬГИ: ПЕРВОЕ И ПО-ПРЕЖНЕМУ САМОЕ ВАЖНОЕ ПРИЛОЖЕНИЕ

2. DEFI: ЧЕМ ПРОЩЕ, ТЕМ ЛУЧШЕ

3. ЭКОСИСТЕМА ИДЕНТИФИКАЦИИ: AND, SIWE, POH, POAP, SBT

4. ДАО

5. ГИБРИДНЫЕ ПРИМЕНЕНИЯ

Приложение

Вайтпейпер Ethereum: платформа следующего поколения для смарт-контрактов и децентрализованных приложений

ВВЕДЕНИЕ В БИТКОЙН И СУЩЕСТВУЮЩИЕ КОНЦЕПЦИИ

АЛЬТЕРНАТИВНЫЕ ПРИЛОЖЕНИЯ БЛОКЧЕЙНА

НАПИСАНИЕ СКРИПТОВ

ETHEREUM

АККАУНТЫ ETHEREUM

СООБЩЕНИЯ И ТРАНЗАКЦИИ

СООБЩЕНИЯ

ПЕРЕМЕННАЯ STARTGAS

ФУНКЦИЯ ИЗМЕНЕНИЯ СОСТОЯНИЯ ETHEREUM

ВЫПОЛНЕНИЕ КОДА

БЛОКЧЕЙН И МАЙНИНГ

ПРИЛОЖЕНИЯ

СИСТЕМЫ ТОКЕНОВ

ФИНАНСОВЫЕ ДЕРИВАТИВЫ И ВАЛЮТЫ СО СТАБИЛЬНОЙ ЦЕННОСТЬЮ

СИСТЕМЫ ИДЕНТИФИКАЦИИ И РЕПУТАЦИИ

ДЕЦЕНТРАЛИЗОВАННОЕ ХРАНЕНИЕ ФАЙЛОВ

ДЕЦЕНТРАЛИЗОВАННЫЕ АВТОНОМНЫЕ ОРГАНИЗАЦИИ

ДРУГИЕ ПРИЛОЖЕНИЯ

ПРОЧИЕ ИДЕИ И РАЗМЫШЛЕНИЯ

ЦЕНТРАЛИЗАЦИЯ МАЙНИНГА

МАСШТАБИРУЕМОСТЬ

ЗАКЛЮЧЕНИЕ

Глоссарий

Примечания