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

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

Почему сеть не справляется с нагрузкой?

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

Блоки криптографически «запечатаны» и защищены, в них содержится информация обо всех операциях, имевших место последние 10 минут. Новый блок автоматически становится последним в цепочке блокчейна.

По задумке Сатоши Накамото – создателя биткоина, размер блоков в сети ограничен 1 Мбайтом, то есть блоки, большие по размеру, системой воспринимаются, как инвалидные. И если ваша транзакция не «помещается» в блок, она будет ждать, пока через 10 минут не создастся новый, а может быть даже и не один.

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

Текущий размер блока позволяет обрабатывать от 3 до 7 транзакций в секунду, чего для миллионной пользовательской сети недостаточно. Единственный способ «втиснуться» в очередь и проскочить в блок – платить высокую комиссию, без оной можно ждать подтверждения сети очень долго, а то и вовсе его не дождаться.

Следовательно, проблема масштабируемости повлекла за собой еще одну – проблему высоких комиссий.

Последствия неэффективного размера блока

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

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

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

Решение проблемы

Сразу оговоримся, что среди множества решений проблемы скалирования, на сегодняшний день многие все еще находятся на этапе рассмотрения или апробирования. Наиболее обговариваемые и серьезные «предложения по улучшению Биткоина» (сокращенно BIP) принадлежат Джефу Гарзику (BIP 100) и Гевину Андерсену (BIP 101). Оба предложения предполагают увеличение размера блока, что возможно только после реализации хардфорка.

Гарзик предлагает осуществлять настройку размера блока в зависимости от решений майнеров, Андерсен – сделать размер постоянным, увеличив его до 8 Мбайт. Кстати, недавно отколовшийся от основной сети форк Bitcoin Cash как раз таки имеет блоки величиной 8 Мб.

Главная преграда на пути к ощутимому увеличению размера блока – результаты недавних исследований, которые показали, что, если размер блока привести в соответствие с мировыми нуждами, «вес» блокчейна увеличится в разы, достигнув нескольких петабайт. Хранить такой объем информации смогут далеко не все, а это может пошатнуть принципы децентрализации, на которых построена сеть биткоин.

SegWit, как решение проблемы масштабируемости

Технология SegWit не имеет ничего общего с вопросом размера блоков. Ее идея в увеличении емкости блоков за счет вынесения некоторых второстепенных данных за пределы блокчейна. «Облегчение» транзакций позволяет уместить в блок прежнего размера большее их количество. Такое решение увеличивает пропускную способность сети примерно на 60-75% и позволяет решить проблему пластичности транзакций (вид атаки, позволяющий мошеннику изменять идентификатор транзакции до ее подтверждения сетью).

После долгих споров и непростого пути активации, протокол SegWit таки был реализован, это произошло 24 августа 2017 года.

Кстати, технология SegWit и вопрос увеличения размера блоков не пересекаются и могут быть интегрированы вне зависимости друг от друга. Попытка сделать это была предпринята в 2016 году в Гонконге на встрече (получившей в дальнейшем название Гонконгское соглашение) представителей Bitcoin Core и крупнейших майнинговых пулов. Тогда пытались продвинуть внедрение SegWit и одновременно увеличить размер блока до 2 Мбайт.

Что вышло из последней затеи мы уже знаем – хардфорк SegWitх2 сорвался в последний момент. Сеть продолжает генерировать 1-мегабайтные блоки. Это говорит лишь об одном: повлиять на сеть биткоин никто не может, она действительно децентрализована и защищена от влияний извне.