···
Что такое блок Биткоина и за что отвечает его размер

Что такое блок Биткоина и за что отвечает его размер

Что такое блок Биткоина и за что отвечает его размер

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


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

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

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

Почему размер так важен

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

Ограничение размера блока биткоина прямо влияет на пропускную способность сети. Чем больше размер, тем больше транзакций можно включить в пакет. Это означает, что сеть сможет обрабатывать больше операций в единицу времени, что важно для пользователей, которым нужно быстрое и дешевое подтверждение их действий. Например, если размер блока в биткоине ограничен 1 мегабайтом, это лимитирует количество операций, которые можно обработать примерно до 7 транзакций в секунду. Теоретически можно было бы увеличить размер блока, но у этого будут свои последствия. 

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

Чем больше пакет, тем дольше узлам потребуется время для его проверки и распространения по сети. Это может увеличить вероятность появления «сиротских пакетов» (orphaned), которые добавили в сеть, но затем отклонили, поскольку другой пакет с тем же номером добавили быстрее. Это также создает дополнительные сложности в поддержании консенсуса среди узлов, особенно в условиях глобально распределенной сети.

Кроме того, увеличение размера пакета может создать угрозу стабильности работы сети. В блокчейне биткоина среднее время создания пакета составляет около 10 минут, и этот показатель поддерживается за счет динамического изменения сложности майнинга. Если его размер будет слишком большим, время на его обработку и распространение среди узлов увеличится, что может вызвать задержки в сети и усложнит поддержание стабильного времени создания. Это особенно важно в системах, где предсказуемость времени обработки данных критична для функционирования сети.

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

Размер пакета в блокчейне биткоина ограничен 1 мегабайтом (МБ) в основном по историческим и техническим причинам, связанным с балансом между децентрализацией, безопасностью и производительностью сети. 

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

Зачем нужно расширять блоки

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

Одна из ключевых проблем, с которой сталкивается блокчейн, например, биткоина, — это ограниченная пропускная способность. Она позволяет обработать в среднем около 7 операций в секунду. Это крайне мало по сравнению с традиционными платежными системами, такими как Visa или Mastercard, которые способны обрабатывать тысячи переводов в секунду. С ростом популярности криптовалют сеть часто перегружается, что приводит к задержкам в подтверждении операций и значительному росту комиссий за транзакцию.

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

Высокие комиссии за транзакции — еще одна важная проблема, которую может решить расширение пакетов. Когда сеть перегружена, пользователи предлагают более высокие комиссии. Это особенно ощутимо в периоды «бычьего» рынка или других событий, когда происходит массовый приток новых пользователей. Высокие комиссии делают сеть менее доступной для микроплатежей и операций с небольшими суммами. Расширение снижает потребность в высоких комиссиях для ускоренного подтверждения. Это делает сеть более доступной и экономически эффективной для всех пользователей. Скорость и время, за которое проводят транзакции — это один из самых серьезных факторов, которые сдерживают рост базы пользователей. 

Что было в BIP 101

BIP 101 (Bitcoin Improvement Proposal 101, предложение по доработке BTC) подготовил инженер Майк Херн в 2015 году. BIP 101 был частью более широкого проекта Bitcoin XT, который представлял собой форк оригинального программного обеспечения Bitcoin Core и предлагал ряд изменений для решения проблемы масштабируемости сети BTC, в частности, включал в себя и увеличение размера пакета.

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

Основная идея BIP 101 заключалась в постепенном увеличении, начиная с 8 МБ и далее, в течение нескольких лет, с целью улучшения масштабируемости биткоина. BIP 101 предлагал следующий план:

  1. Первоначальное увеличение размера блока биткоина до 8 МБ. Согласно BIP 101, он должен был быть увеличен с текущего лимита в 1 МБ до 8 МБ. Это должно было произойти сразу после активации BIP 101. Увеличение до 8 МБ было основано на идее, что больший размер позволит включать больше операций в каждый block, что значительно повысит пропускную способность сети.

  2. Планомерное увеличение каждые два года. После начального увеличения до 8 МБ, BIP 101 предлагал дальнейший рост каждые два года, удваивая лимит. Это означало, что через два года после первого увеличения размер вырос бы до 16 МБ, затем до 32 МБ и так далее.

  3. Максимальный размер блока биткоина. BIP 101 предполагал, что процесс удвоения будет происходить не бесконечно, а лишь до 2036 года, когда он должен был достигнуть уровня 8 гигабайт (ГБ).

  4. Механизм активации. BIP 101 предусматривал активацию через процесс голосования майнеров. Для этого нужно было, чтобы 75% майнеров выразили поддержку за определенный период (1000 пакетов). Если необходимый процент голосов был достигнут, то через 2 недели предложение BIP 101 вступило бы в силу, и новое программное обеспечение с изменением размера стали бы применять в сети.

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

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

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

BIP 101 был частью более широкого проекта Bitcoin XT, который предложили как альтернативный клиент BTC, форк (ответвление) Bitcoin Core. Проект Bitcoin XT поддерживали некоторые известные разработчики и пользователи. Однако в 2015 году он столкнулся с сопротивлением со стороны большинства сообщества и разработчиков Bitcoin Core. В итоге проект не набрал достаточной поддержки, и BIP 101 не реализовали непосредственно в сети. Но Bitcoin XT все-таки запустили. К счастью или к сожалению, но поддержки XT со стороны пользователей и майнеров не получил, несмотря на перспективы решения проблем.

Тем не менее обсуждения вокруг масштабируемости криптомонеты продолжились, что привело к другим предложениям, таким как Segregated Witness (SegWit) и форку Bitcoin Cash (BCH), который, в отличие от Bitcoin XT, увеличил размер блока и получил поддержку части сообщества.

Какие предложения по увеличению размера блока понравились комьюнити

Система первой криптовалюты получила большое количество сторонников, а устроена она как одноранговая сеть, где нет «главного» участника сети. Вместо этого все решения принимают сами майнеры. А их много, и у каждого из них свои интересы. Согласовать их всех — задача непростая. Потому относительно немногие предложения (BIP’ы) получили поддержку. В итоге после длительных дискуссий приняли несколько подходов

  1.  Segregated Witness (SegWit). Одно из наиболее значимых предложений, которое получило широкую поддержку в сообществе. SegWit представили в виде BIP 141 и внедрили в сеть в августе 2017 года. Основная идея SegWit заключалась не в прямом увеличении размера блока, а в оптимизации его пространства. В SegWit подпись транзакции, которая занимает значительное место в блоке, вынесли за пределы основного блока. Это позволило увеличить реальный размер до примерно 2–4 МБ, сохранить при этом лимит в 1 МБ для основных данных. Подробнее об этом улучшении расскажем далее. 

  2. Bitcoin Cash (BCH) и hard fork до 8 МБ. Bitcoin Cash стал результатом форка (разделения) оригинальной сети биткоина, который произошел в августе 2017 года. Этот форк вызвал разногласия в сообществе по поводу того, как лучше масштабировать сеть. В отличие от SegWit, Cash выбрал путь прямого увеличения размера блока. Первый шаг сделали на 8 МБ, а позже еще больше — до 32 МБ. Этот подход сразу увеличил количество транзакций в блоке, что значительно улучшило пропускную способность сети и снизило комиссии за транзакции. Тем не менее у BCH нет такой значительной поддержки среди майнеров, какая есть у основной сети. И если смотреть на динамику курса новой монеты, то она примерно на том же уровне, что была, когда происходило разделение. Тогда как курс самого BTC значительно вырос. 

  3. Taproot и Schnorr Signatures. Также получили широкую поддержку как часть эволюции масштабируемости биткоина. Taproot, который активировали в ноябре 2021 года, позволил улучшить конфиденциальность и сделал транзакции эффективнее. Это, в свою очередь, помогло снизить нагрузку на блоки. Schnorr позволяют объединять несколько подписей в одну, что экономит место в блоке. А Taproot позволяет скрывать сложные сценарии смарт-контрактов, делает их неотличимыми от обычной транзакции

Также реализовали доработки для поддержки сетей второго уровня, таких как Lightning Network.

Что такое SegWit

Основная идея SegWit заключалась в отделении данных подписей (witness data) от основной части транзакции. До внедрения SegWit все данные транзакции хранили внутри блока. Подписи занимают значительное место, и при лимите блока в 1 мегабайт (МБ) это сильно ограничивало количество операций, которые можно включать в block

После внедрения SegWit данные подписей (witness data) вынесли из основной части блока в отдельную структуру данных. Теперь он состоит из двух частей:

  1. Основная (base block), которая содержит основные данные транзакции, такие как входы и выходы.

  2. Сегрегированная (witness block), которая включает в себя данные подписей транзакции.

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

За счет вынесения данных подписей за пределы основного блока SegWit фактически увеличивает количество транзакций, которые можно включать в каждый пакет данных. Эффективный размер блока увеличивается примерно до 2–4 МБ, что позволяет обрабатывать больше транзакций и снизить конкуренцию. 

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

SegWit открыл путь к внедрению решений второго уровня, таких как Lightning Network. А последняя, в свою очередь, позволяет проводить миллионы транзакций вне основной цепочки блоков и значительно увеличивать пропускную способность сети и снижать комиссии. Это стало возможным благодаря устранению проблемы гибкости транзакций и созданию более предсказуемой среды для разработки сложных многослойных решений.

SegWit внедрили через софт-форк (soft fork, мягкое обновление), что означало сохранение обратной совместимости. То есть узлы, которые не обновили программное обеспечение для поддержки SegWit, могли продолжать работать в сети. Такой подход позволил избежать разделения сети и минимизировать риски, связанные с потерей части вычислительных мощностей из-за несовместимости протоколов.

Активацию SegWit утвердили голосованием майнеров. Нужно было, чтобы 95% блоков, которые добыли в течение 2016 блоков (около двух недель), сигнализировали поддержку обновления. Такой высокий порог установили для обеспечения максимального консенсуса и минимизации риска разделения сети. Для сравнения BIP 101 не смог преодолеть 70% барьера, пошел на разделение сети и в итоге провалился. 

Почему разделился блокчейн биткоина

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

Для вас, как для владельца криптовалюты, это выглядит как появление дополнительного адреса, на который уже зачислили число монет, равное тому, что у вас было на момент разделения в BTC. Например, если у вас до отделения BCH был 1 биткоин, то в новой сети BCH вы получили бы также 1 монету. 

Отделения новых, несовместимых меток от основной ветки развития называют «форком». Эволюционное развитие движется так называемыми мягкими форками, когда необновленные узлы успешно продолжают свою работу, хотя и с ограничениями. А вот жесткий форк (hard fork) приводит к полной несовместимости протоколов. И поскольку разделение идет внутри сообщества, а его ресурсы не копируют, то новые сети получают в целом меньше ресурсов — каждый свою долю. 

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

Заключение

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

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

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