Читателю, чьё любопытство всегда было острым как игла, предлагается хронология некоторых событий, связанных с началом «холодной войны» между связанными с Биткоином корпоратистами и одиночками. Она поможет лучше понять, почему идеология «биг-блокеров» в начале её появления не сросталась с принципами сообщества.
14 мая, 2015 года, Гэвин Андресен написал в своём блоге:
Я займусь написанием серии постов в блоге, каждый будет посвящён одному аргументу за увеличение размера блока биткоина, или против запланированного повышения прямо сейчас… пожалуйста, шлите мне письмо (g..@gmail.com) в случае, если я будут упускать аргументы.»
Другими словами, Гэвин предложил хард-форк при помощи кучки постов в блоге, минуя все каналы коммуникации разработчиков вместе взятые и требуя персональные, приватные письма от любого заинтересованного в дальнейшем обсуждении.
5 мая (через день после публикации Гэвином своего первого поста), Майк Хирн опубликовал у себя на Medium запись «Порог вместимости». По прошествии 2-х дней, он также опубликовал «Аварийное падение». В этих постах, он заявлял:
… начнёт бесконечно расти «бэклог» (список неподтверждённых транзакций)… по мере его роста, у узлов закончится память и они начнут отключаться… пока софт Core принимает любую правильную транзакцию без всяких лимитов, падение узла естественным образом неминуемо.»
Гэвин продолжил публикацию своих анонсированных постов в блоге, пока Хирн делал эти предсказания.[1][2][3][4][5][6][7]
В течении нескольких дней, Мэтт Коралло внёс предложение Гэвина в рассылку разработчиков, он написал:
Так что, рискуя зажечь пламя раздора, я предоставлю еще аргументов, чтобы получить ответы от сообщества, и надеюсь, что дискуссия выльется в честное сравнение компромиссов. Определённо, в такого типа техническом сообществе консенсус должен быть основным требованием для любого серьёзного внесения правок в размер блока.
Я лично выступаю категорически против внесения изменений в размер блока в ближайшем будущем. Долгосрочная совместимость стимулов требует наличия давления в плане комиссий, а также того, что блоки будут относительно или почти полностью заполнены. Сегодня мы видим, что транзакции подтверждаются уже в следующем блоке, почти без давления в смысле включения какой-либо комиссии за перевод (несмотря на это, многие кошельки включают принудительные комиссии в платежи, т.к. это делает код кошелька проще).
Это позволяет хорошо спонсируемой экосистеме Биткоина продолжать строить системы, полагающиеся на транзакции, быстро включаемые в блоки, продолжая притворяться, что эти системы могут масштабироваться. Так что, вместо работы над системами, привносящими биткоино-подобное отсутствие доверия как качество в новые системы, масштабируемые далеко за пределы блокчейнового обязательно медленного и (в сравнении с обновленными цифрами в базе данных) дорогого окружения, экосистема в целом продолжает фокусироваться на построении централизованных платформ и защищать изменения в Биткоине, позволяющие им поддерживать статус-кво.»
Вскоре после этого, Коралло продолжил объяснение:
Тиер Нолан предложил последующие расширения и модификации, которые могли бы улучшить предложение Гэвина, и утверждал, что мягкие верхние лимиты могут быть использованы для уменьшения рисков изменения размера блока. Том Хардинг выразил поддержку предложению Гэвина.
Питер Тодд упомянул, что ограниченный размер блока предоставляет выгоды защиты от недобросовестных стимулов, стоящих за потенциальными атаками удержанными блоками.
У Slush не было чёткого мнения, не было его и у Эрика Ломброзо, хотя Эрик был заинтересован в разработке самых лучших практик, и хотел:
Мэтт Уитлок озвучил своё мнение:
Брайан Бишоп высказался категорически против предложения Гэвина, и предложил философский взгляд на данную тему:
Защищённая децентрализация является самой важной и самой интересной особенностью Биткоина. Всё остальное скорее тривиально и может быть достигнуто в миллион раз эффективнее с помощью традиционных технологий. Наша техническая работа должна быть сформирована изнутри технической природой системы, которую мы создали. Я не сомневаюсь, что Биткоин всегда будет сталкиваться с самыми экстремальными вызовами и самыми ужасными недопониманиями… в целях разработки, мы должны придерживаться максимально высоких стандартов перед тем, как предлагать изменения, особенно публике, которая потенциально может быть не безопасной, а в особенности экономически не безопасной. Существует множество потенциальных технических решений для сбора миллионов (триллионов?) транзакций в крохотные пакеты. В качестве маленького доказательства идеи, представьте две стороны отправляющие транзакции туда сюда 100 миллионов раз, вместо записи каждой транзакции, вы могли бы записать начальное состояние и конечное состояние, и оказаться с двумя транзакциями или менее. Это в 100 миллионов снижает необходимость увеличения размера блока с последующим снижением возможного компрометирования децентрализации. Группа MIT должна прислушаться и приступить к работе, выясняя, как измерить децентрализацию и её защищённость.. Правильно проведённое измерение окажет благотворное влияние, потому как у нас появится для работы более академическое и техническое понимание.»
Грэгори Максвелл отразил и расширил эту точку зрения:
Существует как минимум двойное беспокойство относительно этого конкретного («долгосрочные стимулы для майнеров») фронта: Первая часть беспокойства касается давнего аргумента о том, что безопасность системы Биткоина в долгосрочной перспективе зависит от притока комисиий, спонсирующих автономных, анонимных, децентрализованных майнеров, которые выгодно применяют достаточно хеш-мощности, чтобы сделать реорганизацию невозможной. Чтобы комиссии достигли этой цели, должно появиться отсутствие пропускной способности. Вторая часть беспокойства касается того, что когда награда за нахождение блока снизится намного ниже комиссии, пропадает стимул поддерживать блокчейн. Что средний рациональный майнер скорее всего уйдёт в какой-нибудь форк, чтобы получить больше, вместо того, чтобы продолжить наращивать блокчейн [биткоина]… Инструменты вроде Lightning Network могут позволить нам удовлетворить более широкий спектр требований за один присест – включая защищённые транзакции с нулевым подтверждением (это то, что большой размер блока делает невозможным, если вы не знали), что является важным для многих приложений. Используя правильную технологию, мне кажется, мы сможем приготовить свой торт и даже его съесть, но должна существовать база для его построения; уровень безопасности Биткоина и его децентрализации жёстко ограничивает сверху то, на чём могут основываться следующие слои. Другая ключевая особенность здесь в том, что маленькие увеличения размера блока, которые точно толкнули бы систему в преимущественно централизованное состояние – мелкие постоянные – достаточно малы для того, чтобы они количественно изменили работу системы; они не открывают новых способов применения, которые не были бы возможны сегодня. Процедура, которую я бы рекомендовал, выглядит так: если есть устойчивое заполнение очереди транзакций, мы — сообщество пользователей, обращаем внимание на индикаторы чтобы замерить, теряет ли сеть децентрализацию, а затем удвоить жёсткий лимит при помощи правильного контроля и позволить мягкое изменение без уходящих в ноль комиссий за транзакции (посмотрите прошлые предложения для автоматического контроля размера блока, которые позволяют майнерам увеличивать блок вплоть до жесткого максимума по сравнению с со средним значением, если они майнят при четырёхкратном повышении сложности майнинга), и мы не будем увеличивать блок если окажется, что это произойдёт за счет значительного увеличения риска централизации. Изменения путём хард-форка должны вноситься лишь если они почти не вызывают противоречий – когда практически каждый может взглянуть на живые данные и сказать «а чо, это не нарушает мои права собственности или будущее использование Биткоина; не проблема». К сожалению, все индикаторы, о котором я только могу подумать, кроме общего размера комиссий, с 2012 года, когда объём транзакций начал ударяться в потолок рамера блока, на что была реакция в виде увеличением мягкого лимита по умолчанию, почти всё время неуклонно изменялись в неверном направлении. Это не может не удручать. Множество людей, включая меня самого, работали до изнеможения в кулуарах тусовки Bitcoin Core ради поднятия темы масштабирования. Эта работа не просто скучная инженерская хрень-мелочёвка; Я имею ввиду, даже мой персональный вклад включают такие вещи, как изобретение полностью новых обобщённых алгебраических схем подписей, увеличивающих производительность на 4%, и это ещё до того как мы углубимся в научные исследования и разработку, от которых до сих пор не было плодов, вроде доказательства мошенничества. На текущий момент, на аналогичном железе, клиент Bitcoin Core более чем в 100 раз быстрее синхронизируется и передаёт транзакции, чем когда я только заходид в эту отрасль, однако, эти улучшения были съедены процессом роста. Ирония в том, что наши усилия по сохранению децентрализации были и недостаточны (по самым точным данным, использование полных узлов на самом низком уровне со времен 2011, хотя база пользователей сейчас огромна) и, одновременно, так упорны, что люди могут всерьёз говорить про увеличение размера блока к гигантским 20 Мб. Это звучит ещё менее умно, когда понимаешь, что даже при 1 Мб мы, скорее всего, вместо Биткоина имели бы дымящуюся дыру в земле, если бы не приложенные огромные усилия с целью не допустить масштабирования за счёт потери децентрализации.
Питер Тодд также свел воедино некоторые академические открытия на эту тему:
Даже относительно небольшое увеличение до 20 Мб значительно уменьшит количество людей, полноценно участвующих в Биткоине, создавая среду где следующее увеличение требует согласия ещё меньшего количества людей из Биткоин-экосистемы. Где этому придёт конец? В чём суть предложенного механизма, который создаст стимул и социальный консенсус не просто для того, чтобы «оттягивать время» и далее централизовываться, но действительно масштабировать Биткоин жесткими способами?»
Некоторые разработчики (например Аарон Войсин) выразили поддержку предложению Гэвина, повторяя аргументацию из «Аварийного Падения» Майка Хирна.
Питер Уилль сказал:
Противоречивые хард-форки. Я надеюсь, что здешняя рассылка уже является доказательством того, что это противоречивая штука. Вне зависимости от личных мнений «За» или «Против», я не думаю, что мы можем позволить себе противоречивый по своей природе хард-форк. Или результатом станет форк, и пред-существовавшие монеты можно будет потратить единожды на обеих цепях (при этом будет нарушено основное предназначение Биткоина), или результатом станет необходимость одного из лагерей обновлять софт до версии, которая им не по душе – что даёт такую власть разработчикам, которой у них никогда не должно было быть. Процитируем кое-кого: «Я не подписывался на то чтобы быть частью комитета центральных банков». Причиной для увеличения является «необходимость», по которой всё не остановится после 20 Мб. Нет ничего фундаментально невозможного в использовании 20 Мб блоков, что не выполнялось бы одинаково легко с 1 Мб блоками. Неправильное толкование компромиссов. Вы можете сколько угодно спорить, что из всех свойств увеличения размера блока ни одно даже частично не вредит сети, и таким образом, всё в порядке. Но всё-таки, кое-что будет поврреждено (смотрите объяснение ниже), и мы обязаны проанализировать все возможные эффекты, быть честными относительно них, и принимать их в качестве компромиссов, на которые мы вынуждены идти, чтобы смочь лучше масштабировать систему. Если вы просто спросите людей, хотят ли они больше транзакций, конечно же вы услышите «Да». Если вы спросите людей, хотят ли они платить меньше налогов, я уверен — большинство также ответит утвердительно. Централизация майнеров. Сейчас, как мне известно, не существует технологии, которая может транслировать и подтверждать 20-Мбайтные блоки по всей планете так, чтобы это было достаточно быстро для избежания увеличения расходов на майнинг. Насчёт этого ведётся некоторая работа (включая узлы Гэвина, основанные на IBLT, или кодирование блочной сети Грэга), но я не думаю, что нам нужно строить будущее системной экономики на основе системы не продемонстрированных идей. Без таковых (или даже с ними), в результате, майнеры могут само-ограничить размер блоков ради ускорения распространения, но если это случится, большие, лучше подсоединённые к сети, и более централизованно расположенные группы майнеров получат конкурентное преимущество, т. к. они будут в состоянии производить огромные блоки. Я бы хотел заметить, что в этом нет ничего злобного – простая обратная связь для разработки оптимального размера блока для каждого конкретного майнера приведёт к появлению бОльших блоков для более хорошо подсоединённой хеш-мощности. Если мы не хотим, чтобы у майнеров была такая способность, «мы» (в данном случае: те, кто использует полные узлы) должны требовать ограничений, чтобы предотвратить подобное. Одним из таких ограничений является ограничение на размер блока (каким бы оно ни было). Способность использовать полный узел. Стимулы, искажённые ради улучшений… без реального давления на людей поработать над этим, я сомневаюсь, что произойдут изменения, сиюминутное увеличение размера блока попросту сделает всё более дешёвым для продолжения бизнеса в привычном русле, на время – провоцируя массивное увеличение расходов (не только денежных) для всей экосистемы. Комиссии и долгосрочные стимулы Я не думаю, что 1 Мб оптимален. Размер блока является компромиссом между масштабируемостью транзакционной пропускной способности и подтверждаемостью в системе. Система, пропускающая 10 транзакций в день, которые подтверждаемы при помощи карманного калькулятора, неэффективна, так как она будет служить лишь нескольким крупным банковским системам. Система, которая может справиться с каждой купленной чашкой кофе на планете, но требующая дата-центры настолько масштабные, как у компании Google, также бесполезна, так как она будет конкурентно побеждена компанией с дизайном как у Visa. Полезность использования нуждается в балансе, и нет оптимального выбора для каждого. Мы можем просто выбрать, где находится баланс, но мы должны принять тот факт что это делается в качестве компромисса, и что он будет стоить дорого: ценой железа, уменьшения анонимности, уменьшения независимости, истощения целевой аудитории, ухода людей, которые способны на полное подтверждение транзакций,… Выбирайте мудро.»
Майк Хирн ответил на это:
Если Биткоин будет продолжать развиваться согласно текущим темпам роста, он обязательно истощит пропускную способность, почти уверен, в какой-то момент в следующем году. В чём мы сейчас нуждаемся, так это в лидере и плане, который вмещается в имеющееся временное окно. Я больше не верю, что это сообщество может достичь консенсуса относительно чего угодно, что касается протокола. Когда денежная масса будет со временем уменьшаться, я сомневаюсь, что это будет из-за давления комиссий, которые финансируют майнинг. Чего я пока не увидел с вашей стороны, так это детальный и правдоподобный план, который укладывается в следующие 12 месяцев и который позволит Биткоину продолжить рост.» Спустя некоторое время, Питер Тодд указал, что вопреки заявлениям Майка Хирна, консенсус между разработчиками не раз успешно достигался в рамках рассылки Core. BTC-Drak попросил Майка объяснить, «откуда именно взялось временное ограничение в 12 месяцев?»
Жорж Тимон написал невероятно прозорливый ответ Майку:
Ох, ну ваш ответ на «биткоину придется жить за счёт комиссий и мы бы хотели узнать больше о том, как это будет в итоге выглядеть» это «не биткоин долгосрочен, а поломка долгосрочна, но она в далёком будущем, так что давайте будем просто беспокоиться за настоящее». Я согласен, что довольно-таки сложно предсказывать будущее, но наличие некоторой конкуренции для размера блока на самом деле поможет нам получить больше данных по такой ситуации, и мы будем в состоянии предсказывать будущее более удачно. То, чего вы хотите избежать любыми средствами (что весь размер блока на самом деле используется), я вижу лучшей возможностью из всех у нас имеющихся относительно будущего. Вот мой план: мы ждём 12 месяцев… и начинаем получать доверху заполненные блоки, и людям придётся ждать по 2 блока чтобы их транзакции однажды начали подтверждаться. Это было бы началом настоящего «рынка комиссий», о котором совершенно недавно Гэвин высказывался как о своём приоритете №1 (что кажется противоречивым учитывая его теперешние попытки избежать этого). Наличие настоящего рынка комиссий кажется чётким преимуществом. Какие именно предположительно разрушительные негативные части этого плана делают альтернативный план (т. е. Увеличение размера блока) таким нужным и очевидным? Я думаю, что сторонники увеличения размера блока не в состоянии объяснить минусы поддержки текущего размера блока. Чувствуется, что не хватает объяснений, потому как это вроде как должно быть очевидным, почему небеса загорятся пламенем если мы в ближайшем будущем не увеличим размер блоков. Ну вообще, лично для меня это не очевидно, таким образом пожалуйста раскройте тему: почему наличие рынка комиссий (вместо простого мерила для рынка, который ещё даже не существует) будет катастрофой.
Некоторые заподозрили, что Гэвин и Майк пытались ускорить хард форк из личной выгоды.
Ответ Майка Хирна заключался в том, чтобы требовать «лидера», который сможет единолично направлять курс проекта Биткоин и принимать никем не проверенные решения:
Я буду писать больше на тему того, что случится, если мы столкнёмся с заполнением блоков… Я также верю, что из подобного события невозможно получить какие-либо полезные данные. Я уже видел до этого, как распределённые системы исчерпывают свои возможности. Что произойдет, так это технологическая ошибка, за которой последует быстрое истощение пользовательской базы… Нам нужно услышать что-то подобное от Владимира, или от того, кто здесь держит за собой финальное слово.»
Жорж Тимон ответил:
Кажется, что некоторые люди хотели бы увидеть как всё это происходит до того, как выплаты майнерам станут низки (но не обязательно на уровне нуля), тогда как другие люди не против подождать этого, но не хотят рано или поздно вообще приближаться к лимитам масштабирования. Я ещё хотел бы узнать, насколько долго нам необходимо приоретизировать краткосрочное принятие таким способом. Как уже сказали другие, если ответ «навсегда, принятие всегда является самой важной вещью», то мы закончим всё усовершенствованной версией Visa. Но да, это прогресс, я буду ждать ваших более детальных описаний трагедий, которые произойдут сразу после достижения максимального размера блока, учитывая, что это случится через 12 месяцев с текущего момента. Мой предыдущий ответ нервному «мы упрёмся в лимит на размер блока в течении 12 месяцев, если ничего не сделаем» был такой «не уверен насчёт 12 месяцев, но конечно, без проблем, отлично, я жду этого чтобы увидеть, как именно это влияет на комиссии». Но это должен был быть вопрос: «А что плохого в том, чтобы упереться в верхнюю планку лимита на размер блока в течении 12 месяцев?»
Майк Хирн снова указал на необходимость в лидере:
Брайан Бишоп попытался объяснить, почему это не имеет смысла в рамках Git архитектуры.
Наконец, Гэвин анонсировал своё желание включить патч в Bitcoin XT чтобы проскочить проверку пирами, которую он получил в рассылке разработчиков оригинального Биткоин.