Jump to content
Sign in to follow this  
sashka_somik

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

Recommended Posts

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. Как же мы можем преобразовать вес блока обратно в размер блока?

 

 

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

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
Sign in to follow this  

  • Recently Browsing   0 members

    No registered users viewing this page.

×
×
  • Create New...