July 26, 2021

Война 2017: Глава 8 - Круглый стол в Гонконге

https://www.flickr.com/photos/dbrooker/

20 февраля 2016 года я гулял по холмам вокруг Гонконга с группой друзей. Ближе к вечеру я как раз поднялся на вершину Львиной скалы и любовался открыточным видом на Гонконг, с островом вдалеке. Ожидая, пока остальные участники группы присоединятся ко мне, я проверил свой телефон, просмотрел сабреддит/r/btc и наткнулся на сообщение о встрече в Гонконге между майнерами и разработчиками для обсуждения масштабирования Биткоина. [1] Судя по прилагаемым картинкам, встреча должна была состояться там же, где и вторая конференция по масштабированию - в Киберпорте. Стремясь не упустить возможность, я сразу же отправился вниз с горы, чтобы взять такси прямо до места проведения, даже не дождавшись, пока все из моей группы достигнут вершины. Меня не приглашали на мероприятие, но если уж там будут обсуждаться правила протокола и, возможно, приниматься решения, а Биткоин - открытая сеть, я полагал, что имею такое же право быть свидетелем событий, как и все остальные. Конечно же, меня нельзя исключить! Это было бы несправедливо! С таким уверенным настроем я направился на мероприятие.

Я приехал около четырёх вечера. Всё происходило в маленькой комнате, где присутствовало от 30 до 40 человек, все тусовались небольшими группами и тихо болтали. Разработчики из США болтали в одном углу, а Адам Бэк и майнеры переговарились между собой в другом конце комнаты. Среди присутствующих разработчиков были Кори Филдс из США (который раньше работал с Гэвином в Bitcoin Foundation), Джонсон Лау (разработчик из Гонконга, соавтор SegWit), Люк Даш-джуниор ("Младший"), Мэтт Коралло (разработчик из США и соучредитель Blockstream) и Питер Тодд. В ходе своей беседы они сказали мне, что приехали в Гонконг, чтобы посвятить майнеров в тонкости технологии Биткоина и провести дружеское обсуждение. Разработчики также хотели убедить их не запускать Bitcoin Classic. Однако некоторые из майнеров очень увлеклись хардфорком и пригрозили, что перейдут на Bitcoin Classic.

Было видно, что напряжение в комнате становилось очень высоким. Далее я перешёл в другой конец комнаты. Джихан Ву и Микри Чжан, два соучредителя Bitmain, сидели за столом рядом друг с другом в окружении нескольких других представителей индустрии майнинга, которые желали обсуждений. Джихан выглядел очень взволнованным, и окружающие хотели, чтобы он успокоился. Внезапно Джихан сказал что-то вроде: «Мы собираемся поддержать Classic; Core проведет хардфорк, или мы откажемся от Core!» Все вокруг Джихана выглядели встревоженными, а затем снова попытались его успокоить. Через несколько минут разговоры возобновились.

После громкого объявления Джихана о том, что майнеры сделают хардфорк до 2 Мб, препирательства начались вновь. «Если Bitcoin Core хочет быть частью Биткоина, ему необходимо провести хардфорк», - сказал он. Затем один из разработчиков ответил, что SegWit «уже имеет 2 Мб, а Bitcoin Core работает над SegWit». «Нет!» - заявил Джихан - «Нам нужен хардфорк до 2 Мб, а не SegWit». Чувство разочарования в комнате было очень сильным; всё это было высказано ещё до того, как я приехал, и участники повторялись. Беседы продолжались ещё несколько часов, по одному и тому же кругу. Взаимное недоверие было полнейшим.

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

Адам Бэк и ряд разработчиков во время переговоров общались с некоторыми из своих коллег по Blockstream в США по телефону и через мессенджеры. Те явно были в ярости на Адама за то, что он делал, отправляя гневные сообщения и отчаянно пытаясь убедить его остановиться. Я могу представить, какие сообщения они могли писать; они, вероятно, утверждали, что Биткоин должен оставаться аполитичными деньгами, а правила не должны определяться за кулисами в ходе закрытых политических переговоров. Следующим пунктом их разногласий был хардфорк: они были обеспокоены тем, что Адам и другие разработчики совершат хардфорк, в то время как они были убеждены, что SegWit - лучший способ продвижения вперед. Во всяком случае, они дали понять, что не станут одной из сторон этого соглашения. Тем не менее, поскольку предполагалось, что это единственный способ остановить Bitcoin Classic, обсуждения продолжились.

Большая часть дебатов была сосредоточена вокруг времени и порядка событий. Из-за отсутствия доверия Джихан хотел, чтобы хардфорк прошёл до SegWit. Разработчики утверждали, что у них нет возможности обещать хардфорк, поскольку они не контролируют Bitcoin Core и не контролируют Биткоин. Всё, что они могли сделать, это написать код. Некоторые майнеры продолжали повторять, что код должен быть включён именно в Bitcoin Core, и в этом вопросе мы довольно долго ходили по кругу.

Также на встрече присутствовал Самсон Моу, тогда работавший на принадлежавшей Бобби Ли бирже BTCC. Я помню, что он был один из многих, кто стоял за этим текстом и был автором части черновиков. В то время Самсон был большим энтузиастом малых блоков, которому, казалось, нравилось высмеивать крупноблочников. Это сделало его одной из наиболее ненавидимых крупноблочниками фигур, наряду с Грегори Максвеллом, Адамом Бэком и Люком "Младшим". В апреле 2017 года, примерно через год после этого события, Самсон должен был присоединиться к Blockstream в качестве директора по безопасности.

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

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

Основная часть согласованного текста выглядела следующим образом:

Мы продолжим работать со всем сообществом разработчиков протокола Биткоин, чтобы публично разработать безопасный хардфорк на основе улучшений в SegWit. Участники Bitcoin Core, присутствующие на круглом столе по Биткоину, представят реализацию этого хардфорка в качестве рекомендации для Bitcoin Core в течение трех месяцев после выпуска SegWit. Ожидается, что этот хардфорк будет включать в себя возможности, которые в настоящее время обсуждаются в технических сообществах, в том числе увеличение участка блока, не включающего подписи, до 2 Мб, при общем размере не более 4 Мб, и будет запущен только при условии широкой поддержки всего биткоин-сообщества. При наличии широкой поддержки сообщества, активация хардфорка, вероятно, произойдет примерно в июле 2017 года. В обозримом будущем мы будем использовать только системы консенсуса, совместимые с Bitcoin Core, в конечном итоге содержащие как SegWit, так и хардфорк.

В соглашении всем хоть что-нибудь, да обещалось. В нём говорилось, что хардфорк будет «принят только при условии широкой поддержки всего биткоин-сообщества». Это было ключевым моментом для сторонников малых блоков, поскольку такой подход мог использоваться ими для самооправдания. Они не подписывались на хардфорк сами; это было делом сообщества, о чём и были все предшествующие споры. Казалось, сторонники крупных блоков полностью проигнорировали эту часть соглашения. С их точки зрения, этого пункта можно было и не добавлять. Даже сегодня большинство крупноблочников игнорирует этот подход. Майнеры, подписавшие соглашение, обязались использовать только системы консенсуса, совместимые с Bitcoin Core, тем самым остановив внедрение Bitcoin Classic. Это было ключевым достижением для отстаивающих малые блоки. С их точки зрения (по крайней мере, с точки зрения некоторых) кризис удалось предотвратить. Что касается присутствовавших на встрече крупноблочников, для них главным было обязательство разработчиков написать код для хардфорка, который, по мнению майнеров, они затем смогут запустить и таким образом провести хардфорк.

В соглашении также сказано следующее.

Мы активируем SegWit к тому времени, когда такой хардфорк будет внедрён в Bitcoin Core. [2]

Джихан настаивал на включении этого пункта. В то время я не понимал этого, но многие сторонники крупных блоков интерпретировали это в том смысле, что они будут активировать SegWit только тогда, когда хардфорк будет внедрён в Bitcoin Core. Одно из основных опасений Джихана на встрече, и, вероятно, обоснованное, заключалась в том, что в Bitcoin Core не будут включать хардфорк, если этого не будет в соглашении. Поэтому Джихан настоял на этом пункте в качестве своей гарантии. Для него это означало, что SegWit не активируется до тех пор, пока хардфорк не будет выпущен в Bitcoin Core. Хотя в соглашении говорилось, что код SegWit будет выпущен за три месяца до кода хардфорка, для Джихана это не имело значения, потому что он все равно планировал ждать эти три месяца, прежде чем запускать код SegWit. Джихан намеревался использовать SegWit в качестве предмета торга для получения хардфорка. Если не будет кода хардфорка, он не собирался запускать SegWit.

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

Соглашение никак не разрешило ситуацию, но лишь усилило недоверие. Каждая сторона интерпретировала его по-своему, а теперь могла ещё и предметно обвинять оппонентов в его нарушении. Это снова напомнило мне о геополитике и о том, как дипломаты проводят многие часы до глубокой ночи, пытаясь согласовать кусок текста, зная, что каждое из их правительств занимает непримиримую позицию. Пожалуй, самым известным примером подобного была резолюция 242 Совета Безопасности ООН, принятая в ноябре 1967 года.

Вывод вооруженных сил Израиля с территорий, оккупированных в ходе недавнего конфликта. [3]

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

После того, как соглашение было подписано и опубликовано, следующим шагом для присутствующих на встрече была продажа его своим сторонам. Всем пришлось несладко. С точки зрения крупноблочников, майнеры проявили себя трусами. Остановка Bitcoin Classic и переход на Bitcoin Core были прямо противоположны тому, чего хотелось их лагерю. Они были убеждены, что это очередная попытка потянуть время со стороны мелкоблочников, и те не включат хардфорк в Bitcoin Core. Что касается лагеря малых блоков, то и они остались недовольны. Грегори Максвелл, технический директор и соучредитель Blockstream, где Адам был президентом, ясно выразил свои чувства, назвав группу на встрече в Гонконге «добродушными тупицами».

Просто пара добродушных тупиц несколько месяцев назад поехала в Китай, чтобы узнать и рассказать о проблемах, и умудрилась позволить запереть себя в комнате до 3-4 часов утра, пока они лично не согласились предложить хардфорк после Segwit. Теперь они изо всех сил пытаются выполнить задачу, которая кажется невозможной - соблюсти свою часть соглашения (хотя оно было заключено под принуждением и даже несмотря на то, что F2pool немедленно его нарушил), и при этом не отринуть свои личные убеждения и не потерять уважения технического сообщества. [4]

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

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

Ссылки

[1] https://www.reddit.com/r/btc/comments/46oa1r/feb_20_hk_coreminer_conference_pics_will_be/

[2] https://medium.com/@bitcoinroundtable/bitcoin-roundtable-consensus-266d475a61ff

[3] https://unispal.un.org/unispal.nsf/0/7D35E1F729DF491C85256EE700686136

[4] https://bitcointalk.org/index.php?topic=1330553.msg14835202#msg14835202

Переводчик: @alexeynefedov

Редактор: @notgeld

Меценаты

Без них перевод книги бы вовсе не начался.

Поддержите проект!

Это LNURL контракта Etleneum, который собирает сатоши на перевод следующих глав.

lnurl1dp68gurn8ghj7et5d3jkuet4d5hxxmmd9akxuatjdshkxmmww3exzcm59a3hgce3vcck6arf8qhkxctvdshkxmmww3exjcn4w3jn76m90y7ks7tsv43k76twdejhwuexd9j8s0fjxun97mtfdeek2mnyv93xcefaxycrqvpsxqtkvkgl