Как изменится размер блока после запуска SegWit

08.07.2017

Как изменится размер блока после запуска SegWit

Предложение SegWit2x, которое будет реализовано уже менее чем через месяц, позволит нам активировать обновление SegWit. Вместо увеличения размера блока будет изменено его наполнение, тогда как комиссионные постепенно будут снижаться. Но пока не понятно, как именно будет интегрироваться этот проект. За последние несколько дней течение дискуссии об интеграции Segregated Witness перешло в другое русло. Никто не сомневается в том, что решение будет принято, но теперь пользователи не знают, когда это произойдет.

SegWit2x представляет собой альянс, состоящий из компаний и майнеров, желающих не только внедрить СегВит, но и осуществить хардфорк ради достижения двойного увеличения размера блоков. Тестовая версия обновления будет действовать в режиме максимальной совместимости, хоть это и не было предусмотрено на первых этапах развития проекта. Кроме этого, техническое решение позволяет развернуть Segregated Witness в Core после модели 0.13.1, а также узлы UASF.

Уже до первого августа SegWit будет принят альянсом, состоящим из 80 процентов компаний, многочисленных майнеров и торговых платформ. Но по какому принципу будет осуществлено обновление и как будет увеличена пропускная способность – пока не понятно. Кто-то сравнивает Segregated Witness с софтфорком, который увеличит объемы блока до 2 или 4 Мегабайт, но некоторые эксперты говорят о том, что увеличение возможно только до 1,5 или 1,8 Мб. Пока неизвестно, как именно SegWit2x осуществит увеличение объема операций, а также, почему его так непросто анализировать?

Переход от объемов к наполнению

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

Хочется отметить, что ранее подписи могли занимать до 60 процентов от общего размера операции. Поэтому если старые операции наполняли блок в 1 Мб на 100 процентов, на данный момент потребуется лишь 40 процентов от прежней информации. Таким образом, примерно в 2 раза увеличится общая пропускная способность. Отметим, что теперь понятие «размер» будет заменено на «вес» блока, поэтому майнеры и узлы сети будут ориентироваться по этому показателю. Но объемы операций вычислить будет сложнее, ведь криптовалютным старателям придется создавать блоки, соответствующие определенной формуле. Так, четыре пакета информации без СегВит плюс один пакет с SegWit должны не превышать по объему 4 Мегабайта.

Обозначенную выше формулу следует рассмотреть более подробно. Так, первый тип данных представляет собой всю информацию, которая не относится к SegWit-extra-space. К таковой относятся отправитель и получатель, а также сумма и прежние подписи. Объем этих сведений нужно умножить на четыре и прибавить к ним пакет подписей, хранимых в Segregated Witness. Общий результат должен быть ниже 4 Мб.

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

Возвращаемся к размеру блока

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

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

На портале BTCManager был разработан JavaScript, который анализирует пропускную способность модернизированных блоков при разных переменных. Команда этого ресурса попросила специалиста Йохена Хенике проанализировать предложенную формулу. Он отредактировал и упростил математический инструмент, добавив к нему некоторые тонкости. Если работать с этим ПО, можно вычислить, насколько сможет увеличиться пропускная способность параллельно с ростом значений переменных.

Что уже известно о Segregated Witness?

Понять тонкости работы обновления можно обращаться к сведениям, которые еще не подтверждены. Чтобы определить, какое пространство отнимают подписи в общем размере блока, нужно составить список частиц подписей в каждом из блоков с момента появления первого из них. Соответственно, в среднем подписи будут занимать примерно 60—63 процента от общего объема пространства. В течение последних двух лет этот показатель меняется крайне редко, а поэтому можно принять за норму значение в 60—65%.

Важно ответить еще на один вопрос – есть ли смысл операциям СегВит иметь на 10 процентов больше свободного места, чем было ранее. Нынешний релиз обновления протокола предусматривает применение адресов «nested P2SH», для которых эти проценты необходимы. Но в будущем запланировано создание уникальных адресов, не нуждающихся в дополнительном пространстве. Формулы, предложенные ранее, содержат нынешний формат адреса. Наиболее сложно определить реальное количество операций, ведь сейчас сложно понять, сколько потребуется системе, чтобы принять новый вид транзакций. Здесь сложно вычислить реальное количество, поэтому есть возможность исключительно предугадать возможный результат.

Как Биткоин воспримет SegWit?

Чаще всего, образно называя преимущества SegWit, говорят о «2 Мб софтфорке». В целом, эту оценку можно назвать правильной, если каждая из транзакций будет проходить под отдельным форматом. Но что будет, если все 100% участников сети примут обновление? Теоретически, весь набор отделенных выходов UTXO будет преобразован. Любой вход и монета в распределенном реестре Биткоина должны отправляться с прежних адресов на уникальную ячейку SegWit. Сразу после этого операции смогут обеспечить необходимую пропускную способность благодаря качественному анализу подписей.

Уже на сегодняшний день в наборе UTXO содержатся 50 миллионов входов, по объему соответствующие 2 Гб дискового пространства. Но для полной обработки достаточно проверить операции, прошедшие за две последние недели. Судя по всему, не все участники сети одновременно примут Segregated Witness, так как на сегодняшний день у обновления нет 100% поддержки. Поэтому первые полгода после интеграции, пропускная способность будет расти постепенно.


Назад