Месяц после активации: оптимизация и медленное принятие SegWit
Технология Segregated Witness (SegWit) работает в сети Биткоина уже почти месяц, однако ее потенциал так и не реализован. Активация SegWit произошла утром 24 августа, однако оптимизация пока не сильно повлияла на сеть, на сегодняшний день чуть более 3.5% транзакций реально пользуются её преимуществами. Получается, что несмотря на широкую рекламу и почти двухлетнее ожидание, технология оказалась слабо востребована пользователями. На этот процесс повлияли и последние события в Китае: после резких заявлений государственных чиновников, запрета ICO и практически “домашнего ареста” руководителей криптовалютных бирж, объем транзакций в Китае значительно упал, так как и бизнес и частные инвесторы выжидают окончательных решений правительства.
Эта неопределенность привела к уменьшению очереди транзакций и почти 20-кратному падению комиссий по сравнению с летними месяцами. На момент публикации средняя комиссия составляет около 15 сатоши за байт, что соответствует уровням 2014-2015 года. Заполнение блоков упало почти до половины, а следовательно и востребованность решений для масштабирования значительно снизилась. Но SegWit в этом процессе почти не сыграл роли, и значение этой технологии начнет проявляться только после возвращения прежнего объема транзакций.
Транзакций SegWit пока мало, но их количество, вероятно, будет расти по мере внедрения технологии кошельками и сервисами. Тогда SegWit получит большее распространение, и увеличение размера блока с его помощью станет более заметным. Хотя SegWit в основном рассматривается как база для внедрения решений второго уровня, в том числе Lightning Network. Его собственный эффект в масштабировании практически не отличается от линейного увеличения блока, так как все данные, включая подписи, по-прежнему сохраняются в блокчейне.
Сами разработчики также не стремятся к быстрому и массовому развертыванию технологии. По крайней мере, такое впечатление складывается после релиза последней версии Bitcoin Core 0.15.0, которая была выпущена на прошлой неделе. В ней введен ряд улучшений, которые нацелены на увеличение производительности, и частично направлены на стимулирование более широкого распространения SegWit. Однако, все операции с segwit-адресами и транзакциями по-прежнему доступны только продвинутым пользователям, которые могут управлять кошельком из командной строки.
Акцент на производительность
Во время презентации в Сан-Франциско пару недель назад, технический директор Blockstream и один из самых активных разработчиков Bitcoin Core Грег Максвелл (Greg Maxwell) поддержал идею того, что одна из главных целей релиза 0.15.0 связана с подготовкой Биткоина к повышению пропускной способности сети и росту размера блока из-за SegWit. Максвелл объясняет:
«После появления SegWit мы знали, что блокчейн будет расти еще быстрее, поэтому у нас возникло желание выжать все что возможно из производительности».
Некоторые из улучшений направлены на сокращение времени, необходимого для синхронизации полного узла Биткоина, что станет гораздо сложнее после широкого внедрения SegWit, поскольку обновление увеличивает размер блока (объем данных транзакций, который может быть сохранен в каждом блоке).
Полные узлы особенно важны для криптовалютного сообщества, поскольку их запуск поддерживает работу децентрализованной сети – а это один из основных принципов, лежащих в основе цифровых денег. Активация SegWit стала еще одной причиной для того, чтобы сфокусироваться на оптимизации скорости загрузки блокчейна и снижении потребления аппаратных ресурсов. Максвелл отмечает:
«Как всегда, но в особенности в версии 0.15.0, мы значительно улучшили производительность».
Среди заметных обновлений в этой версии – новая система хранения данных о неизрасходованных транзакционных выходах (UTXO), сокращающая вычислительную нагрузку. Согласно примечаниям к релизу, версия кошелька 0.15.0 загружает историю транзакций Биткоина на 30-40% быстрее и использует на 10-20% меньше памяти.
Этот акцент на производительность демонстрирует, что команда разработчиков Core намерена сделать Биткоин более управляемым до того, как большое число людей начнет пользоваться новым типом транзакций.
Медленнное принятие
Сегодня большинство кошельков для биткоина по умолчанию не проводят операции с SegWit, хотя технически имеют такую возможность, но в будущем ситуация должна измениться.
Учитывая это неудивительно, что, хотя в Bitcoin Core 0.15.0 основное внимание уделено повышению производительности для подготовки к SegWit, эта версия в графическом интерфейсе не поддерживает транзакции SegWit, их можно создавать только с помощью RPC или в командной строке. Разработчики Bitcoin Core утверждают, что безопаснее будет подождать и посмотреть, реально ли работает SegWit, перед добавлением новых функций в графический интерфейс Core. Однако в примечаниях к релизу говорится, что «более полная» поддержка изменений будет включена в следующую версию.
Когда это случится, пользователи смогут создавать транзакции SegWit непосредственно в кошельке Core. Возможно, другие кошельки также придерживаются выжидательной стратегии, но еще одна сторона проблемы состоит в том, что операторы многих популярных веб-кошельков подписали соглашение SegWit2x и поэтому, вероятно, ожидают выполнения второй части соглашения (ноябрьского хардфорка), прежде чем включить в своих продуктах полную поддержку SegWit.