Перейти к публикации
sashka_somik

Каким будет реальный размер блока после активации SegWit

Рекомендованные сообщения

020717_realnii-razmer-bloka-s-segwit_1.j

 

Благодаря SegWit2x, уже через неполный месяц мы, вероятно, пройдем через активацию SegWit. Размер блока будет заменен "весом" блока, объем транзакций будет увеличен, а комиссионные сборы станут ниже. Но каким образом это произойдет – не самый простой вопрос.

 

В последние недели споры об активации SegWit изменили свой вектор – теперь речь идет не о том, нужно ли активировать протокол, а том, как и когда это сделать. SegWit2x – объединение майнеров и компаний, которые хотят не только активировать протокол SegWit, но и произвести 2Мб хардфорк. Альфа-версия протокола имеет максимально возможный режим совместимости, что не предполагалось изначально. Он также поддерживает развертывание SegWit в Core с версии 0.13.1 и даже узлы UASF (о крайней мере, до хардфорка).

 

Альянс из 80% компаний, как майнеров, так и платформ, активирует SegWit до 1 августа. Но каким именно образом SegWit увеличит пропускную способность сети? Иногда говорят, что SegWit это «2Мб софтфорк», а иногда даже – «4Мб софтфорк», однако в тоже время можно услышать мнение, что SegWit обеспечить только пропускную способность, эквивалентную 1.5 или 1.8Мб.

Как SegWit обеспечит долгожданное увеличение объема транзакций и почему его так сложно оценить?

 

От размера к весу

 

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

 

В этом свете стоить отметить, что подписи занимают примерно 60% объема транзакции. Таким образом, если старые узлы, которые обеспечивают ограничение размера блока в 1Мб, продолжат работать с 40% необходимых данных, то тогда, конечно общая пропускная способность сети значительно увеличится.

 

Помимо этого, стоит отметить, что узлы SegWit и майнеры заменят размер блока на «вес блока». Расчет веса немного сложнее, чем просто «размер блока = 1Мб». Теперь майнерам необходимо создавать блоки, которые не нарушают следующего условия:

 

4 * Non-Segwit-Data + 1 * SegWit-Data <= 4000 Kilobyte

 

Давайте рассмотрим это условие подробнее. «non SegWit data» - это все, что не входит в SegWit-extra-space: ID, отправитель, получатель, сумма, старые подписи. Размер этих данных умножается на четыре. Затем прибавляется пакет подписей SegWit, но только один за раз. Результат не должен превышать 4Мб.

 

Каким-то образом необходимо провести SegWit через софтфорк – это заставляет пользователей вести себя более рационально во имя масштабируемости сети. Данные SegWit можно легко сократить – удалить их из блокчейна, в то время как от всего, что входит в понятие non SegWit-data, избавиться гораздо сложнее.

 

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

 

 

Читать полностью

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Создайте аккаунт или войдите в него для комментирования

Вы должны быть пользователем, чтобы оставить комментарий

Создать аккаунт

Зарегистрируйтесь для получения аккаунта. Это просто!

Зарегистрировать аккаунт

Войти

Уже зарегистрированы? Войдите здесь.

Войти сейчас

  • Сейчас на странице   0 пользователей

    Нет пользователей, просматривающих эту страницу.

×