Благодаря 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. Как же мы можем преобразовать вес блока обратно в размер блока?
В последние недели споры об активации 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. Как же мы можем преобразовать вес блока обратно в размер блока?
Комментарий