Путь к блокам размером в 1 Мб

Путь к блокам размером в 1 МбВ начале 2013 года биткойн-майнеров впервые были вынуждены повысить мягкий лимит на размер блока. Сеть была перегружена из-за игры SatoshiDice. Программное обеспечение кошелька было совсем не готово к новому рынку комиссий. Вследствие этого операторы пулов решили незамедлительно действовать и добавить в блоки дополнительные транзакции. Из-за неудачного стечения обстоятельств в марте 2013 года, случайный форк выявил отсутствие готовности сети к большим нагрузкам. При этом, не было проведено надлежащее исследование и анализ рисков.

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

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

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

В статье, недавно опубликованной на bitcoincore.org, я обозначил некоторые наиболее важные ключевые моменты, вошедшие в проект Bitcoin Core, и объяснил их влияние на состояние сети, а также то, как это помогло справиться с ростом нагрузки.

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

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

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

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

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

 

Источник

 



Categories: Инфраструктура, Стандарты, Теория, Технологии

Tags: , , ,

Leave a Reply

2 Комментарий на "Путь к блокам размером в 1 Мб"

Notify of
avatar
trackback
Андреас Антонопулос: Какова роль Биткойн-узла? | Заработок онлайн доступный каждому

[…] ‹ Путь к блокам размером в 1 Мб […]

trackback

[…] Источник […]

wpDiscuz