Оптимизация SegWit

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

На данный момент только 3% всех транзакций пользуются преимуществами SegWit.

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

Разработчики Bitcoin Core — самого используемого клиента данной криптовалюты — стараются помочь в данном направлении.

По крайней мере, это видно по последнему обновлению Bitcoin Core 0.15.0, вышедшему на прошлой неделе и привнёсшему множество улучшений производительности, которые направлены на заложение рабочего фундамента для оптимизации SegWit.

Фокус на производительность

На презентации в Сан Франциско главный инженер Blockstream и один из самых активных разработчиков Bitcoin Core, Грег Максвелл, подчеркнул, что обновление 0.15.0 сфокусировано на улучшении SegWit.

Максвелл объяснил: «Мы знали, что с приходом SegWit блокчейн будет расти ещё быстрее, поэтому у нас возникло желание выжать максимум возможной производительности»

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

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

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

SegWit лишь стал ещё одной причиной, по которой стоит фокусироваться на оптимизации и скорости.

Максвелл сказал: «Мы всегда стараемся улучшить производительность, особенно это видно в обновлении 0.15.0».

Среди значимых изменений также можно отметить новый способ хранения данных о неизрасходованных выходах с транзакций (UTXOs), что позволило снизить нагрузку на пользователей, желающих загрузить полную ноду. Загрузка всей истории транзакций в 0.15.0 происходит на 30-40% быстрее и затрачивает на 10-20% меньше памяти.

Другие технологические обновления, призванные улучшить производительность, включают в себя неатомную чистку (non-atomic flushing), которая откроет путь дальнейшим улучшениям, а также сброс проверки подлинности скриптов (script validation flushing), что позволяет быстрее получать информацию о транзакциях.

Фокус на производительности показывает, что команда Bitcoin Core нацелена на улучшение биткоина “вперёд” SegWit, то есть до того, как основная часть пользователей начнёт пожинать плоды этого обновления.

Слишком рано до SegWit

На данный момент многие биткоин кошельки ещё не поддерживают SegWit, но это скоро изменится.

Неудивительно, что обновление Bitcoin Core 0.15.0 сфокусировано на производительности, чтобы приготовиться к SegWit, хотя сам клиент и не поддерживает SegWit транзакции. Разработчики сходятся в мнении, что лучше подождать и посмотреть, будет ли работать SegWit, прежде чем добавлять поддержку транзакций в Core. Тем не менее, в замечаниях к новой версии ПО говорится о том, что более “полная” поддержка будет добавлена в последующих обновлениях.

Когда придёт это время, мы сможем создавать SegWit транзакции, используя свой кошелёк Core, и пользоваться преимуществом данного механизма, уменьшающим комиссии в почти два раза.

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


X