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

Глава 8: Круглый стол в Гонконге
Photo by Florian Wehde / Unsplash
Помимо YouTube с аудиокнигой можно ознакомиться на популярных подкаст-площадках: https://www.21ideas.org/audio-audiobooks/

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