Просто о сложном. Проблема масштабирования Биткоина

Проблема масштабирования Биткоина

С проблемой масштабируемости до сих пор не разобрались и со временем она становится только хуже. PROFVEST помогает разобраться, в чем там дело!


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

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


Почему не получается обрабатывать сделки?

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

В 2010 г в блокчейн было введено ограничение на объём блока в 1 Мб. Это означает, что записи, превышающие установленный объем, не принимаются сетью. Решение было принято для защиты сети от DDoS-атак, предпринимаемых хакерами. К сожалению, оно негативно отразилось на производительности сети Биткоина.

11111

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

Сейчас блоки могут работать с 3-7 операциями в секунду. Но этого уже недостаточно, при этом количество пользователей только растет.


Чем грозит малый размер блока?

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

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

11111

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


Имеется ли решение проблемы масштабируемости?

Вариантов решения предлагалось несколько, но никакой из них не подошел. Первые предложения поступили в 2015 г. Их представили разработчики ядра Биткойна – Д. Гарзик и Г. Андресен. Решения имели в основе изменение размеров блока, и подразумевали хардфорк, что означало бы создание новой сети, для которой старые блоки были бы невалидны. Разница между предложениями была в том, сделать размер блока настраиваемым (BIP100) или единожды увеличить его до 8 Мб (BIP101).

Споры об этих идеях продлились весь 2015 год, но все было без толку. Ни одно решение не было принято.

Результатом дискуссий стала мысль, что если подогнать размер записи под все нужды, то его размер будет равен нескольким петабайтам. Однако это приведёт к централизации системы. Мелкие узлы просто перестанут работать. Это идёт вразрез с основной идеей Биткоина об управлении пользователями.


Решение при помощи SegWit

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

11111

Если некоторые данные попросту не записывать блок, то освободится место и получится записать больше транзакций. Такой вариант мог бы привести к повышению производительности сети на 60-70%. Но была бы лишь временная мера! Чтобы полностью справится с проблемой масштабируемости предлагалась надстройка над сетью – Lightning Network, позволяющая сделать операции быстрее и дешевле.


Гонконгская договорённость

Еще один из вариантов решения проблемы – это некий компромисс между увеличением объёма блока и применением SegWit. Именно он считается наиболее корректным и адекватным в сообществе Биткойна.

11111

В некоторой степени компромисс был выработан во время мероприятия в Гонконге в 2016 году. В дискуссии участвовали представители команды Bitcoin Core, создавшие концепцию SegWit, и представители крупнейших майнинговых компаний, выступающие за расширение физического объёма блока. Конечным решением той встречи стало планомерное продвижение в разработке SegWit и по увеличению блока до 2 Мб.


И SegWit был применен!

Окончательная активация протокола произошла 24 августа в 01:57 по всемирному времени на блоке 481 824. Его выпуск ознаменовал конец многолетним спорам об улучшении кода.

Активированный в конце августа протокол Segregated Witness (SegWit) запустил своего рода цепную реакцию и позволил разработчикам биткоина начать работу над другими обновлениями, призванным оптимизировать состояние сети. В частности, уже образовалась отдельная команда разработчиков, ведущая работу над так называемыми подписями Шнорра.

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

Причём они настолько верят в свою правоту, что устроили форк блокчейна, создав совершенно новую версию — Bitcoin Cash, в которой используются другие технологии масштабирования.

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

До этого доля SegWit транзакций в сети составляла в среднем 15%. Однако после объявлений ведущих игроков рынка об интеграции решения на свои платформы – уровень использования SegWit транзакций взлетел в два раза. На данный момент более 28% всех транзакций в сети Биткоин совершается с использованием решения SegWit.
Тарас С.Частный инвестор, предприниматель, блогер. Инвестирую с 2008 года. Зарабатываю в интернете на высокодоходных проектах, криптовалютах, IPO, акциях и других активах. Со-владелец нескольких ресторанов и сети магазинов электронной техники. Консультирую партнеров, делюсь опытом.

Присоединяйся в Telegram-канал блога со свежими новостями. Чат с консультантом в Телеграм.