Глава 2: НАЧАЛО

Помимо YouTube с аудиокнигой можно ознакомиться на популярных подкаст-площадках: https://www.21ideas.org/audio-audiobooks/

На заре Биткоина, с 2009 по начало 2011 года, Биткоин-клиент был единственной составляющей программного обеспечения экосистемы. Это программное обеспечение изначально существовало для Microsoft Windows и состояло из кошелька, полной ноды и майнера. Не было ни мобильных приложений, ни мерчантов, ни игорных сайтов, ни даркнет-рынков, ни биржевых инструментов, ни самих бирж, ни институциональных инвесторов; только одно-единственное примитивное и базовое приложение. Все возможности ограничивались майнингом, отправкой и получением монет. В то время Биткоин был довольно бесполезен, и на первый взгляд система не имела большой ценности или потенциала. Чтобы заинтересоваться этим новшеством нужно было обладать недюжинным воображением. Нужно было видеть на много шагов вперед и концептуально представлять как система будет развиваться и изменяться со временем, шаг за шагом выстраивая предположения о том, как будет развиваться Биткоин. Многие из этих предположений никогда не проверялись и всесторонне не обсуждались; они просто считались само собой разумеющимися и принимались на веру. К 2015 году Биткоин существовал уже пять-шесть лет, и для тех, кто уже окунулся в эту сферу, такой срок был довольно долгим, чтобы сформировать то или иное мнение. У многих участников сообщества были разные, противоречивые предположения о том, как работает Биткоин, и степень этих разногласий никогда не раскрывалась. К тому времени эти разногласия всплыли на поверхность, и, поскольку Биткоин так много значил для этих людей, результаты могли оказаться уродливыми и непредсказуемыми.

Цена биткоина также значительно выросла: с нескольких центов в 2010 году до примерно $220 за монету к лету 2015 года. Таким образом, многие стороны конфликта получили значительную финансовую выгоду, инвестировав в биткоин на ранней стадии. Неприятным последствием этого стало то, что некоторые члены сообщества стали слишком самоуверенными, даже немного заносчивыми. Допустим, кто-то решил инвестировать в начале 2011 года, когда цена биткоина была ниже 1 доллара США. Возможно, он основывал свои инвестиции на определенных предположениях и конкретном видении. Затем они могли продолжать держать монеты до 2015 года, в результате чего их инвестиции выросли более чем в 200 раз. Подобное может повлиять на психологию инвестора: наверняка предположения, сделанные в 2011 году, были верными? В конце концов, они привели к такому значительному росту. Теперь он, вероятно, будет считать, что он очень хорошо разбирается в Биткоине и знает, что лучше всего делать в будущем, полагая, что в 2011 году он уже хорошо понимал Биткоин, что и помогло ему добиться таких больших успехов. К сожалению, люди не всегда осознают, что другие ранние участники с совершенно иными и противоречивыми взглядами также инвестировали в биткоин в начале 2011 года, тем самым сводя на нет эту несколько несовершенную и предвзятую логику. Часто казалось, что люди просто полагали, что остальные ранние инвесторы согласны с ними, а те, кто занимал противоположную позицию в войне за размер блоков, были новичками. Это в значительной степени объясняет, почему противостояние так быстро обострилось и стало таким жестоким.

Здесь стоит немного углубиться в раннюю историю Биткоина. На момент выпуска Биткоина ограничения на размер блока не существовало, хотя вполне вероятно, что большие блоки, возможно, более 32 МБ, сломали бы систему. Впервые ограничение было введено Сатоши летом 2010 года. 15 июля 2010 года Сатоши добавил следующую строку кода в репозиторий программного обеспечения:

Static Const Unsigned Int MAX_BLOCK_SIZE = 1000000;[1].

Программное обеспечение, содержащее это обновление, было выпущено 19 июля 2010 года. Новое ограничение в 1 МБ вступило в силу только 7 сентября 2010 года на высоте блока 79 400 (79 400 блоков с момента запуска Биткоина). Этот тип обновления был назван софт-форком, то есть новым правилом, ужесточающим ограничения на срок действия блока. Это софт-форк, потому что уменьшение лимита ужесточает правила. Увеличение лимита ослабляет правила и следовательно является хард-форком. В случае хард-форка все должны перейти на новое программное обеспечение, чтобы следовать новой цепочке. Однако в то время терминология софт-форк/хард-форк не была известна и стала использоваться только с апреля 2012 г.[2] Этот софт-форк с ограничением размера блока был первым новым правилом Биткоина, которое имело некую методику активации, в данном случае — сигнальный день, когда новые правила становились активными при определенной высоте блока. В то время Сатоши так и не назвал четкую причину введения ограничения размера блока. Многие сторонники больших блоков утверждают, что эта мера была лишь временной, хотя мне не удалось найти заметок, датирующихся тем  временем и подтверждающих это утверждение.

Следующее ключевое событие, представляющее интерес и широко упоминаемое сторонниками больших блоков, произошло 4 октября 2010 года. Не прошло и месяца после введения ограничения на размер блока, как один из разработчиков Биткоина, Джефф Гарзик, предложил отказаться от ограничения и увеличить лимит.[3] Он представил программное исправление, отменяющее ограничение в 1 МБ и заявил, что это обеспечит Биткоину возможность масштабирования до объёма транзакций Paypal. Хотя Джефф знал, что такая проблема в столь ранние дни не являлась актуальной, он считал инициативу важной с точки зрения маркетинга и нарратива. Всего через 15 минут Theymos ответил, заявив следующее: "Применение этого патча сделает вас несовместимым с другими клиентами протокола Биткоин". Затем в разговор вступил Сатоши:

+1 Theymos. Не используйте этот патч — вы потеряете совместимость с сетью, нанеся тем самым себе вред. В случае необходимости мы можем внести изменения позже.

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

Это можно сделать поэтапно, например:
If (Blocknumber > 115000)
Maxblocksize = Largerlimit
Он может начать присутствовать в версиях намного раньше, так что к тому времени, когда он достигнет указанного номера блока и вступит в силу, предыдущие версии, в которых его нет, уже устареют.
Когда мы приблизимся к указанной высоте блока, я смогу отправить предупреждение старым версиям, чтобы они знали, что им нужно обновиться.

Следует отметить, что в то время высота блока составляла 83 500; следовательно, достижение высоты блока в 115 000 заняло бы еще 31 500 блоков, то есть примерно семь месяцев. Для сторонников больших блоков намерение Сатоши здесь очевидно. Сатоши ввел лимит только как временную меру и уже давал инструкции по его увеличению, имея четкий план.

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

Следующее высказывание Сатоши, широко цитируемое  сторонниками больших блоков, относится к еще более раннему периоду, ноябрю 2008 года, еще до запуска Биткоина, где он говорит о том, что в конечном итоге сеть сможет обрабатывать столько же транзакций, сколько их обрабатывает Visa, — 100 миллионов в день. Эта цитата очень важна для приверженцев больших блоков и явно соответствует многим их представлениям о Биткоине:

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

Пропускная способность не является таким фактором ограничения, как некоторые, возможно, думают. Типичная транзакция составляет около 400 байт (ECC очень компактна). Каждая транзакция должна быть передана дважды, поэтому допустим, она займет 1 КБ. Visa обработала 37 миллиардов транзакций в 2008 финансовом году, или в среднем 100 миллионов транзакций в день. Такое количество транзакций потребует 100 ГБ пропускной способности, что соответствует размеру 12 DVD или 2 фильмов в HD-качестве, или около $18 пропускной способности по текущим ценам.

Если сеть станет такой большой, на это уйдет несколько лет, и к тому времени отправка 2 фильмов высокой четкости через Интернет, вероятно, не будет казаться большой проблемой".[4]

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

Приведенный ниже ответ на заявление Сатоши был опубликован в оригинальной ветке рассылки, где Биткоин был впервые анонсирован, за несколько месяцев до его запуска. Самый первый ответ Сатоши, когда он анонсировал Биткоин, был от некоего Джеймса Дональда, который уже выражал беспокойство по поводу емкости, всего через один день после объявления идеи:

Чтобы своевременно обнаружить и отвергнуть двойную трату, необходимо иметь большинство предыдущих транзакций по монетам, участвующим в транзакции, что, при наивной реализации, требует, чтобы каждый участник имел большинство предыдущих транзакций или большинство недавно произошедших транзакций. Если сотни миллионов людей совершают транзакции, это транслируется в существенную пропускную способность — каждый должен знать их все или значительную их часть".[5]

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

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

Скрипт на самом деле является предикатом. Это просто уравнение, которое оценивается как истина или ложь. Предикат — длинное и незнакомое слово, поэтому я назвал его скриптом.

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

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

Я не верю, что вторая, совместимая реализация Биткоина когда-либо окажется хорошей идеей. Так много в конструкции зависит от того, чтобы все узлы получали абсолютно идентичные результаты в синхронном режиме, что вторая реализация будет угрозой для сети. Лицензия MIT совместима со всеми другими лицензиями и коммерческим использованием, поэтому нет необходимости переписывать ее с точки зрения лицензирования".[6]

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

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

Сатоши действительно внес свой вклад в дебаты в 2015 году. В день публикации Bitcoin XT с одного из адресов электронной почты Сатоши (Satoshi@vistomail.com) было отправлено письмо, в котором излагалась позиция сторонников малых блоков, в том числе утверждалось, что он изменил свое мнение о масштабировании:

Я следил за недавними дебатами о размере блока через рассылку. Я надеялся, что дебаты улягутся и что предложение о форке достигнет широкого консенсуса. Однако с официальным выпуском Bitcoin XT 0.11A это вряд ли произойдет, и поэтому я вынужден поделиться своими опасениями по поводу этого очень опасного форка.

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

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

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

Большинство сторонников больших блоков немедленно объявили письмо подделкой. Однако заголовки письма указывали на то, что оно действительно пришло от Vistomail. Таким образом, остается три варианта: 1) почтовый ящик Сатоши был взломан; 2) письмо отправили администраторы Vistomail; или 3) Это письмо действительно пришло от Сатоши. Вторая возможность кажется крайне маловероятной, поэтому похоже, что либо это сообщение подлинное, либо аккаунт был взломан. Взлом аккаунта, конечно, возможен, поскольку другой аккаунт Сатоши (Satoshi@gmx.com) ранее подвергался взлому, когда кому-то удалось сбросить пароль. В любом случае, это не имеет значения. Если один человек, такой как Сатоши, имел настолько сильное влияние на систему, что мог в одиночку спасти ее от этого кризиса, то Биткоин не смог бы пережить ранние дни собственного развития, когда он еще зависел от одного человека. Биткоин должен был быть надежным сам по себе, чтобы выдержать огромное давление, которому он будет подвергаться как спорная и революционная денежная система, без зависимости от одного человека, которого, предположительно, легко остановить или который может исчезнуть в любой момент. Возможно, именно поэтому Сатоши и исчез. Я бы хотел сообщить, что на этом предполагаемое участие Сатоши в этой истории закончилось. Однако, к сожалению, Сатоши, а точнее заявления о Сатоши, снова появляются в этой истории позже.

В 2010 году обсуждались вопросы масштабирования, но существенных разногласий не наблюдалось, все только учились. К апрелю 2011 года ситуация немного изменилась, и стало очевидным глубокое разногласие по поводу масштабирования, комиссий и долгосрочного стимулирования биткоин-майнинга. Все по-прежнему были вежливы и учтивы, но, похоже, возникло фундаментальное расхождение во мнениях. Пользователь BitcoinTalk "Vandroiy" задал вопрос о том как будут стимулироваться майнеры, когда субсидия за блок сойдет на нет. Конечно, все знали ответ на этот вопрос, поскольку в whitepaper говорится, что "единственным источником поощрения работы над блоками останутся комиссии".[8] Однако вопрос Vandroiy был куда сложнее. Как он сказал 22 апреля 2011 года:

Любой самостоятельный небольшой майнер намерен максимизировать прибыль. Его решение о том, какие транзакции включить, не имеет значительного влияния на размер комиссии. Таким образом, майнер будет включать все транзакции, платящие любую комиссию, даже очень низкую, чтобы получить максимальную прибыль. Это приводит к снижению цены на транзакции. В свою очередь, те майнеры, которые были едва прибыльны, получают ещё меньше дохода и вынуждены покидать сеть. Это снижает хэшрейт, сложность падает, и круг замыкается. По этой причине сложность, скорее всего, упадет почти до нуля".[9]

Анализируя точку зрения Vandroiy с экономической точки зрения, он, по сути, говорит, что предельные затраты на включение транзакции близки к нулю, и в условиях конкуренции цена равна предельным затратам. В этом случае рынок очистится при низких ценах, что иногда называют "проблемой смертельной спирали рынка комиссий". Однако это не обычный рынок, где единственной целью является достижение равновесной цены и клиринг; некоторые считают, что этот рынок имеет положительные внешние эффекты, или другую цель, как говорится в whitepaper, — стимулировать майнеров. Вопрос о том, действительно ли это является проблемой для Биткоина, оказался сам по себе спорным. Читая эту ветвь форума, создается впечатление, что примерно половина участников считает это проблемой, а вторая половина — нет. Даже Майк Хирн сначала, казалось, согласился с проблемой смертельной спирали, заявив, что она "кажется правдоподобной". Однако на следующий день, 23 апреля 2011 года, Майк вполне обоснованно пересмотрел свою позицию и больше не считал это проблемой:

Аргумент "спирали смерти" предполагает, что я буду включать все транзакции, независимо от того, насколько низка их комиссия/приоритет, потому что мне это ничего не стоит, и почему бы мне не принять бесплатные деньги? Однако в реальной жизни полно компаний, которые могли бы это сделать, но не делают, потому что понимают, что это подорвет их собственный бизнес".[10]

Большинство участников, считавших, что смертельная спираль рынка комиссий представляла собой проблему, похоже, остановились на предложенном решении: ограничение размера блока не позволит комиссии упасть слишком низко, поскольку пользователям придется конкурировать друг с другом за место в заполненных блоках. Таким образом, ограничение размера блока создаст то, что экономисты называют излишком производителя (разница между тем, что готов уплатить конкретный потребитель против рыночной цены товара, прим. ред.), который может стимулировать майнеров после того, как субсидии за нахождение блока прекратятся. Хотя эти разногласия, казалось, раскололи сообщество ровно пополам, никто не выглядел слишком обеспокоенным сложившейся ситуацией. Вместо того, чтобы продолжить дискуссию, в течение следующих нескольких лет публичные обсуждения по этому вопросу практически не велись. Все участники дискуссии, казалось, полагали, что Биткоин будет развиваться в предпочтительном для них направлении. В 2013 году Майк, похоже, признал смертельную спираль рынка комиссий как реальную проблему, но предложил в качестве потенциального решения "гарантийные контракты"[11], а не ограничение размера блоков.

Первым публичным свидетельством активной кампании по вопросу размера блока стало видео, подготовленное разработчиком Биткоина и сторонником малых блоков Питером Тоддом. В мае 2013 года он выпустил профессионально подготовленный видеоролик на YouTube[12]. В видео он утверждал, что необходимо, чтобы размер блока оставался небольшим, чтобы пользователи могли подтверждать все транзакции и поддерживать децентрализацию Биткоина. Автор видео даже советовал "игнорировать любого, кто выступает за изменение программного обеспечения, которое вы используете, чтобы увеличить размер блока более 1 МБ". Видеоролик подвергся многочисленным насмешкам со стороны сторонников больших блоков, которые в конечном итоге даже захватили сайт Питера, посвященный кампании в поддержку малых блоков keepbitcoinfree.org, и заменили его материалами в поддержку больших блоков.

Питер Тодд также возмутил многих сторонников больших блоков из-за своей позиции главного сторонника так называемой "замены комиссии" (RBF). RBF позволяет пользователям заменить биткоин-транзакцию (до ее подтверждения в блокчейне) новой транзакцией, состоящей из тех же входящих данных, только с более высокой комиссией. Майнеры, принимающие политику RBF, предпочитают включать транзакцию с более высокой комиссией. В противоположность, майнеры, не принимающие эту политику и следующие принципу first seen safe (FSS, буквально "первое увиденное безопасно"), будут включать транзакцию, которую они увидели первой. В целом, Майк, Гэвин и сторонники больших блоков были против RBF, в то время как малоблочники, как правило, поддерживали это обновление. Здесь следует упомянуть решающее различие между этим спором и войной за размер блоков: ограничение размера блоков является частью протокола Биткоина, в то время как RBF — это лишь политика майнеров. Поэтому майнеры могут делать то, что им нравится в отношении RBF, и здесь нет необходимости в консенсусе. Различие между правилом протокола Биткоина и любым другим аспектом системы, таким как RBF, было чрезвычайно важно для сторонников малых блоков, в то время как большинство приверженцев больших блоков не видели этого различия или не соглашались с тем, что оно имеет такое же значение. Некоторые считали это произвольным разделением, которое сторонники малых блоков придумали, чтобы добиться своего. Несмотря на это, основной экономический аргумент вокруг RBF был почти таким же, как и вокруг спирали смерти рынка комиссий.

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

Мне кажется, что ответ на эту очевидную дилемму зависит в первую очередь от уровня конкуренции в индустрии майнинга. Если майнинг сильно сконцентрирован в руках нескольких мелких игроков, то FSS представляется в некоторой степени логичной политикой, и аргумент о спирали смерти рынка комиссий не применим. Это объясняется тем, что решения, принимаемые этими майнерами, будут оказывать значительное влияние на экосистему и, таким образом, потенциально могут нанести ущерб их будущим доходам. Если уровень концентрации отрасли низкий, то влияние решений отдельных майнеров на экосистему более ограничено. Майнеры могут предпочесть максимизировать свою краткосрочную прибыль, а не заботиться о долгосрочном пользовательском опыте, на который их действия в любом случае не окажут существенного влияния. Эту проблему иногда называют трагедией общин. Если считать, что этот феномен применим в данном случае, то рациональным будет применение политики RBF, а риск “спирали смерти” представляется в некоторой степени реальным.

Споры о RBF, похоже, имели много общего со спорами о размере блоков:

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

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

В среду, 15 апреля 2015 года, в Лондоне состоялось официальное мероприятие Bitcoin Foundation под названием DevCore. На нем присутствовал Гэвин, который прилетел, чтобы выступить с основным докладом под названием "Почему нам нужна бóльшая цепь". Я также присутствовал на этом мероприятии. Гэвин был очень приветлив и открыт к обсуждению этого вопроса. Гэвин подчеркнул, что 1 МБ — это смехотворно мало, и что многие веб-страницы превышают этот размер. По его мнению, история информационных технологий была связана с экспоненциальным ростом и тем, что все становилось быстрее и больше. Неоднократно упоминался закон Мура; он использовался в качестве примера, демонстрирующего как системы улучшаются со временем, и что в конечном итоге у Биткоина будут гораздо бóльшие блоки, до гигабайта, и не будет никаких технических проблем с масштабированием. Гэвин лично сообщил мне, что он выступает за переход к лимиту в 20 МБ, но готов пойти на компромисс и, возможно, изменить его на 8 МБ в случае согласия остальных. Через несколько дней, 18 апреля 2015 года, Майк и Гэвин провели вечернюю сессию вопросов и ответов в Лондоне. Обсуждая размер блоков, где Гэвин высказал следующую точку зрения:

Возможно, мне придется просто воспользоваться своим положением и сказать: "Будет именно так, а если вам это не нравится, найдите другой проект". Честно говоря, именно это и произошло с проектом P2SH; я просто сказал: "Я выслушал всех, выслушал пару предложений, и вот что произойдет".[13]

Пока он это говорил, я окинул комнату быстрым взглядом. Большинство людей, казалось, были довольны тем, что Гэвин обладает такой силой. Однако, очевидно, было меньшинство людей, возможно, всего пять процентов или около того, которые были несколько возмущены сказанным и считали Гэвина высокомерным за этот комментарий; было видно, что им не по себе. По их мнению, Гэвин не руководил Биткоином; если он может просто воспользоваться своим положением и изменить протокол, то в чем смысл Биткоина? Упомянув P2SH, Гэвин напомнил о несколько спорном софт-форке Биткоина в 2012 году, у которого были конкурирующие предложения, и Гэвин, по сути, выбрал дальнейшее направление развития.[14] Пообщавшись после выступления, у меня сложилось четкое ощущение, что Майк подталкивает Гэвина принять более жесткую позицию в споре о размера блоков, а Гэвин настроен менее решительно. Майк даже спросил, может ли Гэвин вытеснить других разработчиков из основного репозитория Bitcoin Core на GitHub и взять его под полный контроль. Из дальнейшего разговора с ними стало ясно, что Гэвин в конечном итоге присоединится к Майку и займет более жесткую позицию. Они оба явно считали, что как только Гэвин займет такую позицию, это окажется решающим фактором. Каким образом и когда Гэвин это сделает, и какие конкретные действия предпримет, мне тогда было неясно.

4 мая 2015 года Гэвин опубликовал блог-пост под названием "Пора выкатить более крупные блоки"[15]. Это было первое сообщение в серии постов, в которых он попытался ослабить обеспокоенность многих, связанную с увеличением размера блоков. Гэвин явно решил, что настало время продвигать более крупные блоки. 7 мая 2015 года ведущий разработчик проекта Bitcoin Core на GitHub, Владимир Ван Дер Лаан, сделал следующий комментарий в рассылке:

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

Bitcoin Core было названием эталонной реализации Биткоина и потомка клиента, который изначально создал Сатоши. Первоначально этот клиент назывался просто Bitcoin или Bitcoin-QT, однако название Bitcoin Core было принято в феврале 2013 года по предложению Майка Хирна[17], что сейчас кажется несколько ироничным. Ранее Гэвин передал право собственности на репозиторий Bitcoin на GitHub Владимиру, чтобы Гэвин мог больше сосредоточиться на исследовательской стороне протокола. Здесь также есть некоторая ирония, поскольку Гэвин, по-видимому, передал контроль, чтобы иметь возможность исследовать такие области, как комиссии и блокчейн. Возможно, в то время это казалось более важной ролью по сравнению с утомительной работой по обслуживанию репозитория; это не рассматривалось как отказ Гэвина от власти. Позже сторонники больших блоков расценили решение Гэвина передать контроль Владимиру как критическую его ошибку. Однако их оппоненты обычно утверждали, что у Владимира не было реальной власти, и что владение репозиторием было сродни работе уборщика. Окончательное решение о слиянии кода принималось только при наличии широкого согласия группы разработчиков, поэтому в конечном итоге контроль над репозиторием не имеет значения. В дополнение к этому, что очень важно, правила Биткоина не определяются изменениями в репозитории программного обеспечения; они определяются клиентами, с которыми пользователи уже работают. Конечно, репозиторий мог публиковать новые версии клиента с изменениями протокола, но функции автоматического обновления не существовало, и никто не был обязан обновляться. Это очередной пример различий, которые были важны для сторонников малых блоков, но сторонники увеличения просто не видели разницы или отрицали ее наличие. По мнению приверженцев больших блоков, в руках Bitcoin Core было сконцентрировано слишком много власти, поэтому он быстро стал их главным врагом.

Как бы кто ни относился к власти ведущего разработчика проекта, комментарий Владимира о его "слабой" оппозиции увеличению размера блока в ближайшем будущем показался весьма значимым. Казалось, хард-форк не будет включен в Bitcoin Core, несмотря на значительное лоббирование со стороны Гэвина, и поэтому возможности Гэвина были несколько ограничены. 29 мая 2015 года Гэвин гораздо более агрессивно намекнул на то, что он планирует сделать: он может переключить свое внимание на Bitcoin XT и поддержать альтернативный не имеющий обратной совместимости Биткоин-протокол. Несмотря на нижеприведенное письмо, которое было довольно ясным, я никогда не верил в это и не считал это угрозой; я думал, что это какая-то тактика ведения переговоров.

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

Затем я попрошу помощи в лоббировании мерчантов, биржи, компании, обслуживающие  кошельки, и другие компании, использующие инфраструктуру Биткоина (и всех, кто согласен со мной в том, что большие блоки нужны нам как можно скорее), чтобы они запустили Bitcoin-XT вместо Bitcoin Core и заявили о своей поддержке обновленной версии. Мы сможем наблюдать за распространением в сети, отслеживая версии клиентов.

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

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

Потому что если мы не сможем прийти к консенсусу, то окончательным решением для определения консенсуса будет то, какой код использует большинство мерчантов, бирж и майнеров".[18]

21 июля 2015 года Питер Вюлле, один из разработчиков Биткоина, который в прошлом работал с Майком Хирном в Google, предложил увеличить размер блока через хард-форк. Питера считали сторонником малых блоков. На мой взгляд, это было компромиссное предложение в ответ на давление со стороны Гэвина. Предложение получило номер BIP 103 и содержало благодарность Владимиру Ван Дер Лаану и разработчику по имени Грегори Максвелл за их рекомендации[19], что указывало на их потенциальную поддержку. Предложение предусматривало активацию хард-форка в январе 2017 года, после чего лимит размера блоков будет увеличиваться на 17.7 процента в год до 2063 года. Предложение не содержало никакой методологии активации. Судя по всему, оно должно было послужить катализатором для дальнейшего обсуждения, а затем, после достижения согласия, планировалось определить методику активации.

Я считаю это предложение важным моментом. График увеличения размера блоков действительно казался несколько консервативным, однако я считал такой подход частью переговоров. Я ожидал, что Гэвин положительно отреагирует на предложение, возможно, выдвинет встречное предложение, и стороны смогут постепенно двигаться навстречу друг другу. Казалось, что мы постепенно приближались к разрешению проблемы. К моему удивлению, Гэвин и его сторонники не отреагировали положительно на BIP 103. Они посчитали предложенное увеличение настолько незначительным, что это было скорее оскорблением, чем прогрессом. К сожалению, BIP 103, похоже, не помог. При предложенном в BIP 103 ежегодном увеличении на 17.7 процента казалось вероятным, что спрос на транзакции Биткоина превысит этот темп роста. Сторонники больших блоков, в свою очередь, хотели добиться прямо противоположного; они хотели, чтобы лимит размера блоков увеличивался быстрее, чем спрос. Если обе стороны хотят противоположных вещей, можно ли вообще достичь компромисса?

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

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

Кроме того, сторонники малых блоков склонны считать полные блоки необходимыми и неизбежными в долгосрочной перспективе. Это было необходимо для предотвращения “спирали смерти” рынка комиссий, и продолжения работы майнеров над удлинением цепочки блоков, когда субсидия за нахождение блока станет низкой. Считалось жизненно важным всегда иметь избыток транзакций, которые не попали в блоки, и ожидали добавления; таким образом, у майнеров всегда бы был стимул создавать новые блоки. Если бы не было полных блоков и избытка транзакций, зачем майнеру вообще заниматься добычей, не приносящей дохода? Вместо этого майнеры выключали бы свое оборудование, экономили бы электроэнергию и ждали, пока после каждого блока снова накопится запас транзакций. Такая работа майнеров значительно снизила бы безопасность сети. Крупноблочники считали эти рассуждения крайне неуместными. Субсидии за блок будут существовать десятилетиями; зачем терять клиентов сейчас ради того, что может стать проблемой через 20-100 лет?

Малоблочники также считали, что полные блоки неизбежны в любом случае. В конце концов, если пространство в блоках доступно, почему бы его не использовать? Любой мог хранить в блокчейне все, что угодно, например, свою музыкальную коллекцию или зашифрованные документы. Спрос на дешевые, реплицированные хранилища, по сути, неограничен, утверждали они. Поэтому требование увеличить лимит сверх ожидаемого спроса является бессмыслицей. Действительно, один человек мог бы легко заполнить все пространство самостоятельно. В ответ на это сторонники крупных блоков вновь привели аргумент о стимулах майнинга; майнеры не стали бы этого делать, утверждали они, майнеры не допустили бы такого объема данных в блоках. В дополнение к этому крупноблочники утверждали, что в первые пять лет существования Биткоина блоки не были полными, что, по их мнению, способствовало его успеху. Зачем кому-то делать рискованный шаг, меняя это теперь?

К сожалению, сообщество не приблизилось к согласию, и Гэвин продолжил реализацию своего плана. Говорят, что в июле 2015 года Гэвин проинформировал некоторых китайских майнеров и майнинговые пулы о своем предложении.[20] В Пекине состоялась встреча, на которой майнеры, как говорят, не согласились с Гэвином, настаивающем на увеличении размера блока до 20 МБ, поскольку китайская коммуникационная инфраструктура считалась слишком слабой для быстрой передачи блоков такого размера. По слухам это привело к соглашению о размере блока в 8 МБ. За кулисами Гэвин готовился к запланированному на август большому обновлению, до которого осталось всего несколько недель.

В разделе "Вопросы и ответы" на сайте Bitcoin XT было сказано следующее:

Решения принимаются по договоренности Майка и Гэвина, причем в случае возникновения серьезных разногласий окончательное решение остается за Майком".[21]

В некоторых частях сообщества это только усилило впечатление, что все это было захватом власти со стороны Майка. Кто он такой, чтобы "принимать окончательное решение"? Не то чтобы Майк был чем-то плох, он казался довольно приятным парнем; просто такое откровенное заявление казалось неправильным подходом. Биткоинерам нравится чувствовать себя хозяевами положения, они хотят владеть ситуацией и обладать финансовым суверенитетом. Это совсем не входило в послание Bitcoin XT, которое, как оказалось, было слишком сосредоточено вокруг Майка лично. В этом кроется второй серьезный просчет со стороны сторонников больших блоков: Bitcoin XT слишком сильно ассоциировался с Майком, вместо того, чтобы принять подход нацеленного на рядового пользователя. Даже использование персоналии Гэвина, вероятно, повысило бы шансы на успех.

[1] https://github.com/bitcoin/bitcoin/blob/a30b56ebe76ffff9f9cc8a6667186179413c6349/main.h#L18

[2] https://gist.github.com/gavinandresen/2355445

[3] https://bitcointalk.org/index.php?topic=1347.msg15139#msg15139

[4] https://www.mail-archive.com/cryptography@metzdowd.com/msg09964.html

[5] https://www.mail-archive.com/cryptography@metzdowd.com/msg09963.html

[6] https://bitcointalk.org/index.php?topic=195.msg1611#msg1611

[7] https://lists.linuxfoundation.org/pipermail/bitcoin-dev/2015-August/010238.html

[8] https://bitcoin.org/bitcoin.pdf

[9] http://archive.is/URni1

[10] http://archive.is/URni1

[11] https://bitcointalk.org/index.php?topic=157141.0

[12] https://www.youtube.com/watch?v=cZp7UGgBR0I

[13] https://www.youtube.com/watch?v=RIafZXRDH7w

[14] https://bitcoinmagazine.com/articles/the-battle-for-p2sh-the-untold-story-of-the-first-bitcoin-war

[15] http://gavinandresen.ninja/time-to-roll-out-bigger-blocks

[16] https://www.mail-archive.com/bitcoin-development@lists.sourceforge.net/msg07472.html

[17] http://archive.is/kWqW0

[18] https://sourceforge.net/p/bitcoin/mailman/message/34155307/

[19] https://github.com/bitcoin/bips/blob/master/bip-0103.mediawiki

[20] https://bitco.in/forum/threads/gold-collapsing-bitcoin-up.16/page-712#post-25018

[21] https://archive.is/KoknZ#selection-311.0-311.128


Оригинал