Проблемы масштабируемости биткоина и возможные решения

Проблемы масштабируемости биткоина и возможные решения

11.05.2023

Время прочтения - 9 мин.

Биткоин как первая и самая известная криптовалюта привлекает множество пользователей со всего мира. Уже сейчас этот актив используют 300 млн людей, и ожидается, что через три года их количество увеличится до 1 млрд. Однако это вряд ли произойдет, если блокчейн биткоина не решит свои проблемы с масштабированием, которые негативно влияют на работу сети и ее развитие в будущем. Далее мы проанализируем основные проблемы масштабируемости биткоина и рассмотрим возможные пути их решения. 

Суть проблемы масштабирования Bitcoin

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

Для понимания того, как это работает, можно рассмотреть следующий пример. Представим, что сеть биткоина обрабатывает 10 транзакций в секунду (TPS). Если вдруг количество пользователей и транзакций в сети увеличится в несколько раз, например до 100 TPS, то блокчейн просто не сможет обработать такой объем переводов. В сети будут накапливаться необработанные транзакции, из-за чего время их подтверждения может увеличиться до нескольких дней, если не недель.

Но проблема не только в этом. Чтобы ускорить скорость обработки своих транзакций, пользователи начнут повышать комиссии — чем выше комиссия, тем выше приоритет транзакции в очереди на обработку. Это приведет к резкому удорожанию всех переводов в сети. Подобное мы наблюдали в июле 2017 года, когда любая биткоин-транзакция, будь то перевод на $1 или $100, стоила до $40. Это слишком много по любым стандартам.

 


В 2017 году из-за очень высокой нагрузки стоимость транзакций в сети Биткоина достигала $40. Источник — masterthecrypto

 

Почему блокчейн биткоина такой медленный?

Пропускная способность сети первой криптовалюты ограничена двумя основными факторами:

  • Среднее время создания блока. Создание и подтверждение блока, содержащего 2 000+ транзакций, занимает около 10 минут. Это означает, что в этот момент времени может быть обработано только определенное количество транзакций.
  • Ограничения размера блока. Изначально размер блока был ограничен 1 МБ, что было обусловлено защитой от атак типа «отказ в обслуживании» (DOS) со стороны хакеров, стремящихся создать огромные (или бесконечные) блоки, которые нанесут вред и парализуют сеть биткоина. Однако обновление SegWit в 2017 году увеличило объем блока до текущих 4 МБ. Сейчас этого хватает, но в перспективе этой величины будет мало.

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

Все эти ограничения нужно снять, чтобы сеть продолжала развиваться. 

Возможные решения проблем масштабирования

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

1. Количество транзакций в блоке

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

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

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

  • Применить более эффективный алгоритм хеширования, который может генерировать короткие подписи. Сейчас биткоин использует для этого протокол ECDSA, но, возможно, подпись Шнорра сможет стать лучшей альтернативой.
  • Использовать альтернативные структуры данных, отличные от дерева Меркла, для организации транзакций внутри блока. Например, дерево Меркла можно заменить на мерклизированные абстрактные синтаксические деревья (MAST). Эксперты полагают, что они уменьшат размер транзакций и повысят их конфиденциальность.

2. Частота добавления блоков в цепочку

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

Возможно, у вас создалось впечатление, что решить проблему масштабирования довольно просто: достаточно лишь увеличить размер блока и частоту добавления блоков. Однако это не соответствует действительности, так как в реальности сложность этой задачи гораздо выше. Давайте разберемся, почему.

Сокращение времени создания блока станет причиной:

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

Увеличение размера блока повлечет за собой:

  • увеличение времени распространения блоков (поскольку объем данных возрастет);
  • увеличение времени проверки блоков.

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

Кроме того, оба изменения потребуют хардфорка.

3. Связь между узлами блокчейна

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

Сейчас это никак не влияет на скорость транзакций, но в будущем может стать очень большой проблемой. Было подсчитано, что если биткоин когда-либо масштабируется до пиковых уровней пропускной способности Visa (24 000 TPS), то каждому узлу потребуется интернет со скоростью 48 Мбит/с, чтобы сохранить время распространения транзакции на текущих значениях. Для большинства людей в мире это больше половины пропускной способности их соединения с сетью — мало кто согласится выделить столько трафика ради поддержания работы узла блокчейна биткоина. При этом для трети людей в мире такая скорость интернета просто недоступна.

 


Средняя скорость интернета в странах. Источник — wisevoter

 

Что еще более важно, после масштабирования до пропускной способности Visa сеть биткоина будет генерировать 518 Гб данных в день, или 190 Тб данных в год, что сделает практически невозможным их хранение кем-либо, кроме крупных корпораций. Кроме того, для запуска узла потребуется загрузить все эти петабайты данных и проверить каждую подпись — и то и другое приведет к тому, что запуск нового узла займет очень и очень много времени (годы). Это прямой путь к централизации биткоина.

4. Консенсус и проверка

Скорость достижения консенсуса также влияет на пропускную способность блокчейна. Сейчас сеть первой криптовалюты использует алгоритм консенсуса «Доказательство выполнения работы» (proof-of-work, PoW), который включает в себя много вычислений, и их сложность будет увеличиваться вместе с масштабом. Кроме того, алгоритм PoW неустойчив и неэкологичен. 

Решить проблему масштабирования PoW можно несколькими способами:

  • Заменить PoW на другой, более быстрый алгоритм консенсуса, например на «Доказательство доли владения» (Proof-of-stake, PoS), как сделали в сети эфириума. 
  • Перенести обработку транзакций на второй слой с помощью сайдчейнов, каналов состояния или таких технологий, как Plasma в Ethereum. Биткоин-сообщество решило пойти по этому пути, интегрировав протокол канала состояния Lightning Network, обрабатывающий транзакции вне основной цепочки сети.

Почему внести изменения в Bitcoin нелегко?

В децентрализованной системе мы не можем никого заставить что-либо делать. Чтобы изменение было реализовано, необходимо получить согласие всех заинтересованных сторон (майнеров, разработчиков и пользователей), иначе произойдет раскол сообщества (хардфорк), как это случилось с Bitcoin Cash, Bitcoin Gold и Bitcoin Classic. 

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

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

 

Источники: Cointelegraph, forklog, bitcoinmagazine, codementor, masterthecrypto, bitinfocharts, blockchain.com, wisevoter

Дисклеймер. Инвестирование в любые финансовые активы сопряжено с риском потери капитала. Ничто в настоящем тексте не может считаться инвестиционной рекомендацией или предложением покупать/продавать какие-либо финансовые инструменты. За все свои действия на фондовом рынке каждый инвестор несет всю полноту ответственности самостоятельно.

Подпишись на наш телеграм канал

только самое важное и интересное

Подписаться
Если вы нашли ошибку, пожалуйста, выделите фрагмент текста и нажмите Ctrl+Enter.

Читать также

{"type":"article","id":5938,"isAuthenticated":false,"user":null}