2.2 BIP 10122 июня 2015 года, Гэвин Андресен представил аналогичное предложение, описанное в БИП 101 [20]. Согласно предложения, предельный размер блока должен увеличиться до 8 МБ в 2016 году, а затем удваиваться каждые два года, пока не достигнет размера 8192 МБ в 2036 году. После этого, максимальный размер блока будет оставаться постоянным. Дата увеличения будет приниматься на основании решения, принятого квалифицированным большинством: через две недели после того как 750 из 1000 последовательных блоков в blockchain будут иметь определенный номер версии, но не раньше, чем 11 января 2016 года. Рациональным обоснованием предложения является то, что мощность процессора, объем памяти, пропускная способность сети растут в геометрической прогрессии в соответствии с законом Мура [21]. Этот рост, однако, в конечном итоге будет постепенно замедляться.
Это предложение было сформировано после того, как Андресен получил отрицательный отзыв на предложение по увеличению максимального размера блока до 20 МБ от китайских майнинг-пулов, и противопоставляет ему 8 МБ. Основные негативные пункты о BIP 101 такие же, как и по предложению до него. Хотя максимальный размер блока в БИП 101 растет с предсказуемой скоростью, все равно трудно оценить как эта предопределенная скорость будет соотноситься со скоростью росту сети Bitcoin в будущем.
2.3 Форк Bitcoin XTНе добившись поддержки со стороны разработчиков ядра Bitcoin, Андресен решил внедрить BIP 101 и некоторые другие патчи, которые не были включены в Bitcoin Core в отдельном Биткойн-клиенте Bitcoin XT, разработанном им совместно с Майком Хирном (Mike Hearn). Отрицательные моменты в Bitcoin XT:
Раскол между клиентским программным обеспечением установленным на полных узлах может вызвать негативное влияние на имидж Bitcoin и привести к снижению доверия к блокчейну Bitcoin.
Транзакции в Bitcoin XT могут привести к форку блокчейна: есть опасение, что слишком малая разница между Bitcoin Core и Bitcoin XT может привести к тому, что Bitcoin XT будет принимать некоторые транзакции, признанные неправильными в сети Bitcoin Core.
Надежность Bitcoin XT гораздо ниже, так в нем нет публичного аудита кода, и отсутствует формальный процесс верификации, который является ключевой частью развития Bitcoin Core.
В отличие от Bitcoin Core, разработчики Bitcoin XT не планируете использовать механизм утверждения изменений на основе консенсуса (Майк Хирн заявил, что он будет “благожелательным диктатором” Bitcoin XT – прим. ред).
Команда разработчиков Bitcoin XT значительно меньше, чем команда, работающая над Bitcoin Core. Это вызывает вопрос, насколько они будут способны объективно оценивать изменения, вносимые в Bitcoin XT.
Можно поспорить, что процесс девелопмента, принятый для Bitcoin XT, якобы позволит быстрее вносить изменения, чем это происходит с Bitcoin Core. Однако же, на наш взгляд это преимущество не перевешивает недостатки.
2.4 BIP 100Один из более умеренных подходов к увеличению размера блока был предложен разработчиком Bitcoin Core Джеффом Гарзиком (Jeff Garzik) в БИП 100 [22]. В соответствии с предложением, жесткий лимит на размер блока отодвигается. Вместо этого, представляется плавающий размер блока. Форк запланирован на 11 января 2016. Изменения плавающего лимита будут решаться путем голосования майнеров (аналогично BIP 34 [23]):
Размер блока не должен быть более исторического предела в 32 МБ, установленного в p2p протоколе используемом в сети Bitcoin.
Чтобы ввести плавающий лимит, 90% от 12 000 последовательных блоков (что соответствует примерно трем месяцам по времени) должны обозначать поддержку предложения.
Для того чтобы изменить плавающий предел, майнеры должны включать предлагаемое ограничение на размер блока в сигнатуры подписей намайненых блоков. Голоса оцениваются путем отбрасывания верхних 20% и нижних 20%, и затем выбирается наиболее распространенный уровень (минимальный) оставшихся голосов.
Увеличение или уменьшение предельного размера блока не может превышать 2-x крат в одном раунде голосования.
По сравнению с остальными вариантами, это предложение имеет следующие преимущества:
Лимит размера блока определяется на основе консенсуса
Лимит размера блока не определяется раз и навсегда, но предусмотрен механизм, который позволит майнерам изменять его адаптивно в зависимости от изменения потока транзакций.
Предложение решает проблему потенциально возможного форка блокчейна, так как каждый новый блок будет автоматически поддерживаться большинством майнеров.
Предложение не требует переезда на новый софт
И хотя майнеры не представляют все Bitcoin-сообщество, в их интересах поддержание сети в добром здравии.
Недостатком BIP 100 является нечеткая формулировка используемая в описании метода подсчета голосов. Если мы предположим, что решение о плавающем лимите размера блока, принятое минимум голосов, оставшимся после отбрасывания верхних и нижних 20%, получится что партия с 21% майнинговых мощностей сможет эффективно задерживать все попытки увеличения лимита в течение неопределенного времени. Другой недостаток (общий и для остальных предложений) это остающийся верхний лимит в 32 МБ, который вызван ограничением на размер сообщения в протоколе peer-to-peer, используемом сетью Bitcoin. Для того, чтобы обойти этот лимит, в протокол должна быть внесена рекомендация разрешить разносить доставку блоков по нескольким сообщениям.
Мы рассматриваем проблему атаки 21% с точки зрения формальной математики, примененной к процессу голосования в BIP 100 (Приложение А). Наш подход направлен на прояснение неопределенности процесса голосования. Он может быть использован для алгоритмического определения наилучшего лимита размера блока, который будет принят, как подходящий для всех майнеров.
2.5 BIP 102В качестве альтернативы BIP 100, Джеф Грзик предложил BIP 102 [24]. Это минималистическое решение, которое 11 ноября 2015 увеличивает размер блока до 2 МБ. Автор позиционирует BIP 102 как запасной вариант, если консенсус по другим вариантам не будет достигнут.
Непосредственным недостатком BIP 102 является отсутствие дальнейших планов по регулированию размера блока. В лучшем случае, это может быть использовано в качестве промежуточного решения, на которое согласятся все стороны.
Предложение ВуйлеПитер Вуйле (Peter Wuille), другой девелопер Bitcoin Core, составил свое собственное предложение по увеличению размера блока [25]. Предложение Вуйле заключается в изменении лимита на максимальный размер блока в соответствие с экспоненциально растущей функцией, которая зависит от даты и времени блока, начиная с января 2017. Если предложение будет реализовано, максимальный размер блока будет расти примерно на 17,7% в год.
Возможно, скорость роста заложенная Вуйле, слишком консервативна. Предложение привязывает скорость роста лимита размера блока к скорости роста сетевого трафика. Однако, если Биткойн превратится в широко распространенную мировую платежную систему, возникнет необходимость в значительно большем увеличении транзакционной пропускной способности.
2.7 Другие решения масштабирования БиткойнУвеличение лимита размера блока является среднесрочной проблемой масштабируемости Bitcoin (то есть, своевременная обработка транзакций, циркулирующих в сети). Есть и другие усилия, предпринимаемые Биткойн-сообществом, которые преследуют цель сделать Bitcoin более масштабируемым в долгосрочной перспективе.
Инвертируемые светящиеся поисковые таблицы (Invertible bloom lookup tables (IBLT) – призваны распространять блоки намного быстрее путем минимизации количества рассылаемых данных [26]. Если это будет реализовано, то майнеры смогут значительно увеличить размер блока, не беспокоясь о том, что может вырасти количество брошенных блоков.
Офф-чейн решения (Off-chain solutions), такие как сайдчейны [9] и каналы для микроплатежей, такие как Lightning Network [10] могут быть использованы для уменьшения количества транзакций в Биткойн-сети. Эти решения могут быть использованы для быстрого масштабирования Биткойна, пока поддерживается сравнительно небольшой размер блока.
Древовидный сайдчейн (Treechains) позволит организовать блокчейн в древовидной структуре, вместо линейной последовательности. Это поможет увеличить пропускную способность сети без необходимости в увеличении лимита размера блока.
Greedy heaviest observed sub-tree (GHOST) протокол [28], протокол, который может быть использован для уменьшения среднего времени между блоками с 10 минут до нескольких секунд без какого-либо риска потратить большую часть майнинга сети на потерянные блоки.
Централизованные oфф-чейн транзакции (Centralized off-chain ledgers) используемые Coinbase, ChangeTip и другими сервисами. Эти решения могут помочь уменьшить поток блокчейн-транзакций, хотя остаются вопросы относительно их надежности и защищенности.
Проблема возросших требований к железу может быть решена с помощью супер-нод корпоративного класса, поддерживаемых майнерами и другими (богатыми ресурсами) участниками, заинтересованными в стабильности экосистемы Биткойн. При использовании специализированного программного обеспечения и железа, эти ноды будут способны проводить тысячи транзакций в секунду.
Поскольку наше исследование изучает регулирование размера блока, анализы этих усилий по масштабированию сети выходят за рамки данного исследования.
3. ВыводыДля того, чтобы экосистема Bitcoin продолжила развиваться, максимальный размер блока должен быть увеличен. Существует общее понимание среди разработчиков Bitcoin, что текущее ограничение в один мегабайт ограничивает масштабируемость Bitcoin и может остановить его дальнейшее принятие и более широкое применение. Это мнение поддерживается математическим моделированием, которое показывает увеличение задержек подтверждения транзакций по мере того, как размер блока приближается к пределу.
Повышение требований к оборудованию может привести к тому, что существенное количество полных узлов отключится от сети в случае, если прямо сейчас увеличить размер блока до 8 МБ. Это аргумент против предложений по повышению максимального размера блока одним большим скачком. Точно так же, предложения создать форк клиентского программного обеспечения может иметь негативные последствия для всей экосистемы Bitcoin. BIP 100 Джеффа Гарзика и предложение Питера Вуйле озвучивают оба этих аспекта.
Оптимальный способ разрешения спора о размере блока это решение на основе консенсуса. Механизм голосования представленный в BIP 100 это хороший способ достижения такого рода консенсуса. Прогнозы роста сети Биткойн сделанные в других предложениях не имеют достаточной предсказательной силы, и в этом случае цена ошибки может оказаться очень велика. Поскольку BIP 100 позволяет членам Биткойн-сообщества определять лимит размера блока, это наилучшее решение в данном отношении.
Ввиду означенных доводов, мы считаем BIP 100 наиболее благоразумным выбором по увеличению лимита размера блока в среднесрочной перспективе. В то же самое время, мы понимаем, что регулирование размера блока это только один из многих шагов на пути эволюции Биткойна. В протокол должны быть включены и другие изменения, чтобы улучшить масштабируемость Биткойна.
С математическим моделированием формализации процесса голосования в BIP 100 можно ознакомиться в первоисточнике в Приложении А.
http://bitnovosti.com/2015/09/05/bitfury-group-block-size-inxrease/