Корни дебатов о размере блока

Корни дебатов о размере блока

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

14 мая, 2015 года, Гэвин Андресен написал в своём блоге:

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

Я займусь написанием серии постов в блоге, каждый будет посвящён одному аргументу за увеличение размера блока биткойна, или против запланированного повышения прямо сейчас… пожалуйста, шлите мне письмо (g..@gmail.com) в случае, если я будут упускать аргументы.»

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

5 мая (через день после публикации Гэвином своего первого поста), Майк Хирн опубликовал у себя на Medium запись «Порог вместимости». По прошествии 2-х дней, он также опубликовал «Аварийное падение». В этих постах, он заявлял:

«Распространённый аргумент в пользу того, чтобы блоки становились всё более полными, состоит в том что последствия не будут так уж плохи; всего лишь рынок для комиссий… это неверно. Я не верю, что комиссии станут стабильнее и выше, если у Биткойна закончится место. Уверен, что вместо этого Биткойн падёт.

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

Также, в выпущенной позже статье, он пояснил, что не согласен с видением Сатоши насчёт пути взросления Биткойна [1, 2]:

«Ни я ни Гэвин не верим, что рынок комиссий станет работать в качестве замены инфляционной субсидии».

Гэвин продолжил публикацию своих анонсированных постов в блоге, пока Хирн делал эти предсказания.[1][2][3][4][5][6][7]

В течении нескольких дней, Мэтт Коралло внёс предложение Гэвина в рассылку разработчиков, он написал:

«Недавно Гэвин в своём блоге на Svbtle выдал серию постов, где он выступаил строго за увеличение максимального размера блока. Однако, про это в рассылке разработчиков не было дискуссий в течении уже нескольких лет, как я могу судить…

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

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

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

Вскоре после этого, Коралло продолжил объяснение:

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

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

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

У Slush не было чёткого мнения, не было его и у Эрика Ломброзо, хотя Эрик был заинтересован в разработке самых лучших практик, и хотел:

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

Мэтт Уитлок озвучил своё мнение:

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

Брайан Бишоп высказался категорически против предложения Гэвина, и предложил философский взгляд на данную тему:

«Уже прошло много публичных обсуждений… насчёт того, почему увеличение максимального размера блока всего-то оттягивает дело, одновременно возможно компрометируя защищённость блокчейна. Прозвучало много отличных контр-аргументов, которые как я вижу, совсем не отражаются в недавнем медиа шторме. Если честно, я не могу помочь, но чувствую, что если бы вклады таких людей как #bitcoin-wizards, игнорировались вместо проведения технического анализа, а также ввиду отсутствия дискуссий на эту тему в данной рассылке, я думаю, есть и другие скрытые и очень важные технические детали, совершенно отличные от этого – и других – предложений.

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

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

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

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

Грэгори Максвелл отразил и расширил эту точку зрения:

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

Существует как минимум двойное беспокойство относительно этого конкретного («долгосрочные стимулы для майнеров») фронта:

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

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

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

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

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

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

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

Множество людей, включая меня самого, работали до изнеможения в кулуарах тусовки Bitcoin Core ради поднятия темы масштабирования. Эта работа не просто скучная инженерская хрень-мелочёвка; Я имею ввиду, даже мой персональный вклад включают такие вещи, как изобретение полностью новых обобщённых алгебраических схем подписей, увеличивающих производительность на 4%, и это ещё до того как мы углубимся в научные исследования и разработку, от которых до сих пор не было плодов, вроде доказательства мошенничества.

На текущий момент, на аналогичном железе, клиент Bitcoin Core более чем в 100 раз быстрее синхронизируется и передаёт транзакции, чем когда я только заходид в эту отрасль, однако, эти улучшения были съедены процессом роста. Ирония в том, что наши усилия по сохранению децентрализации были и недостаточны (по самым точным данным, использование полных узлов на самом низком уровне со времен 2011, хотя база пользователей сейчас огромна) и, одновременно, так упорны, что люди могут всерьёз говорить про увеличение размера блока к гигантским 20 Мб. Это звучит ещё менее умно, когда понимаешь, что даже при 1 Мб мы, скорее всего, вместо Биткойна имели бы дымящуюся дыру в земле, если бы не приложенные огромные усилия с целью не допустить масштабирования за счёт потери децентрализации.

Питер Тодд также свел воедино некоторые академические открытия на эту тему:

«Если вкратце, то без какого-либо фиксированного размера блока либо фиксированной комиссии за каждую транзакцию, Биткойн не выживет, так как не существует другого способа оплачивать безопасность Proof of Work. Последняя возможность – фиксированная комиссия за каждую транзакцию – не может быть внедрена в какой-либо значительной мере – легче давать майнерам «пинки поддержки» – оставляя размер блока фиксированным.

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

Некоторые разработчики (например Аарон Войсин) выразили поддержку предложению Гэвина, повторяя аргументацию из «Аварийного Падения» Майка Хирна.

Питер Уилль сказал:

Я — в общем-то — не против увеличения размера блоков…

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

Причиной для увеличения является «необходимость», по которой всё не остановится после 20 Мб. Нет ничего фундаментально невозможного в использовании 20 Мб блоков, что не выполнялось бы одинаково легко с 1 Мб блоками.

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

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

Централизация майнеров. Сейчас, как мне известно, не существует технологии, которая может транслировать и подтверждать 20-Мбайтные блоки по всей планете так, чтобы это было достаточно быстро для избежания увеличения расходов на майнинг. Насчёт этого ведётся некоторая работа (включая узлы Гэвина, основанные на IBLT, или кодирование блочной сети Грэга), но я не думаю, что нам нужно строить будущее системной экономики на основе системы не продемонстрированных идей. Без таковых (или даже с ними), в результате, майнеры могут само-ограничить размер блоков ради ускорения распространения, но если это случится, большие, лучше подсоединённые к сети, и более централизованно расположенные группы майнеров получат конкурентное преимущество, т. к. они будут в состоянии производить огромные блоки. Я бы хотел заметить, что в этом нет ничего злобного – простая обратная связь для разработки оптимального размера блока для каждого конкретного майнера приведёт к появлению бОльших блоков для более хорошо подсоединённой хеш-мощности. Если мы не хотим, чтобы у майнеров была такая способность, «мы» (в данном случае: те, кто использует полные узлы) должны требовать ограничений, чтобы предотвратить подобное. Одним из таких ограничений является ограничение на размер блока (каким бы оно ни было).

Способность использовать полный узел.

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

Комиссии и долгосрочные стимулы

Я не думаю, что 1 Мб оптимален. Размер блока является компромиссом между масштабируемостью транзакционной пропускной способности и подтверждаемостью в системе. Система, пропускающая 10 транзакций в день, которые подтверждаемы при помощи карманного калькулятора, неэффективна, так как она будет служить лишь нескольким крупным банковским системам. Система, которая может справиться с каждой купленной чашкой кофе на планете, но требующая дата-центры настолько масштабные, как у компании Google, также бесполезна, так как она будет конкурентно побеждена компанией с дизайном как у Visa. Полезность использования нуждается в балансе, и нет оптимального выбора для каждого.

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

Выбирайте мудро.»

Майк Хирн ответил на это:

«Эта рассылка не является хорошим местом для достижения успеха или принятия решений.

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

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

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

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

Спустя некоторое время, Питер Тодд указал, что вопреки заявлениям Майка Хирна, консенсус между разработчиками не раз успешно достигался в рамках рассылки Core. BTC-Drak попросил Майка объяснить, «откуда именно взялось временное ограничение в 12 месяцев?»

Жорж Тимон написал невероятно прозорливый ответ Майку:

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

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

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

Наличие настоящего рынка комиссий кажется чётким преимуществом. Какие именно предположительно разрушительные негативные части этого плана делают альтернативный план (т. е. Увеличение размера блока) таким нужным и очевидным? Я думаю, что сторонники увеличения размера блока не в состоянии объяснить минусы поддержки текущего размера блока. Чувствуется, что не хватает объяснений, потому как это вроде как должно быть очевидным, почему небеса загорятся пламенем если мы в ближайшем будущем не увеличим размер блоков. Ну вообще, лично для меня это не очевидно, таким образом пожалуйста раскройте тему: почему наличие рынка комиссий (вместо простого мерила для рынка, который ещё даже не существует) будет катастрофой.

Некоторые заподозрили, что Гэвин и Майк пытались ускорить хард форк из личной выгоды.

Ответ Майка Хирна заключался в том, чтобы требовать «лидера», который сможет единолично направлять курс проекта Биткойн и принимать никем не проверенные решения:

«Не-а. Что я имею ввиду, так это то, что кто-то должен принять чёткое решение (теоретически Владимир). Если таким решением будет нечто вроде «Bitcoin Core будет ждать и наблюдать искры, когда блоки станут заполняться на полную», то это будет демонстрацией лидерства.

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

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

Жорж Тимон ответил:

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

Кажется, что некоторые люди хотели бы увидеть как всё это происходит до того, как выплаты майнерам станут низки (но не обязательно на уровне нуля), тогда как другие люди не против подождать этого, но не хотят рано или поздно вообще приближаться к лимитам масштабирования. Я ещё хотел бы узнать, насколько долго нам необходимо приоретизировать краткосрочное принятие таким способом. Как уже сказали другие, если ответ «навсегда, принятие всегда является самой важной вещью», то мы закончим всё усовершенствованной версией Visa. Но да, это прогресс, я буду ждать ваших более детальных описаний трагедий, которые произойдут сразу после достижения максимального размера блока, учитывая, что это случится через 12 месяцев с текущего момента. Мой предыдущий ответ нервному «мы упрёмся в лимит на размер блока в течении 12 месяцев, если ничего не сделаем» был такой «не уверен насчёт 12 месяцев, но конечно, без проблем, отлично, я жду этого чтобы увидеть, как именно это влияет на комиссии». Но это должен был быть вопрос: «А что плохого в том, чтобы упереться в верхнюю планку лимита на размер блока в течении 12 месяцев?»

Майк Хирн снова указал на необходимость в лидере:

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

Брайан Бишоп попытался объяснить, почему это не имеет смысла в рамках Git архитектуры.

Наконец, Гэвин анонсировал своё желание включить патч в Bitcoin XT чтобы проскочить проверку пирами, которую он получил в рассылке разработчиков оригинального Биткойн.

Источник



Categories: Безопасность, Инвестиции, История, Криптофилософия, Разработчикам, Стандарты

Tags: , , , , , , , , , ,

Leave a Reply

1 Комментарий на "Корни дебатов о размере блока"

Notify of
avatar
Участник

Это было ооочень интересно, спасибо.

wpDiscuz