Что такое Segregated Witness?
За последние несколько месяцев точилось много разговоров о SegWit и причинах, которые делают этот апгрейд настолько хорошим для решения споров по поводу размера блока в Bitcoin. Хотя пока что не все поддерживают Segregated Witness, у него есть неплохие перспективы, делающие затею весьма интересной.
Коротко о SegWit
Segregated Witness ― это либо изящное, либо ужасное решение для проблемы размера блока сети Биткоин: все зависит от человека, у которого вы будете спрашивать. Однако не стоит судить книгу по обложке, а обновление по мнениям. У SegWit есть свои особенности, которые необходимо учитывать. В первую очередь это решение представляет собой софтфорк (а не хардфорк), призванный решить пресловутую проблему расширяемости.
Для того чтобы было понятнее, необходимо сказать пару слов и по поводу «форков». Софтфорк требует таких изменений в коде, которые никак не влияют на основной протокол Bitcoin. Хардфорк же можно внедрить быстрее, но он способен подвергнуть риску весь протокол сети, если его не проведут правильно. К несчастью, это говорит о Segregated Witness как о немного запоздалом способе разрешения вопроса с размером блока. Поэтому он и вызвал разногласия среди членов биткоин-сообщества. В то же время, все, что требуется от пользователей сети для софтфорка ― это обновить клиент. Хардфорк же вызывает необходимость переходить на обновление как можно скорее.
Но и это не все, поскольку обновление позволит полю для подписи, которое есть в биткоин-транзакциях, стать отдельным от самого трансфера. По сути, подпись попадет в дерево Меркла (тип хеш-функции) первоначального компонента транзакции. В результате размер трансфера уменьшится, что позволит включать больше транзакций в блок вне зависимости от его размера.
Более того, SegWit позволит внедрять дальнейшие улучшения для проблемы расширяемости с меньшими препятствиями. Податливость транзакций также перестанет тревожить людей, как она это делает уже довольно долго. Отмена транзакций для изменения ID трансфера станет невозможной ― а это уже обеспечивает дополнительную безопасность переводов в сети Bitcoin.
Вопрос времени
Недавний релиз клиента Bitcoin Core заложил фундамент для начала внедрения Segregated Witness. Но для этого надо дождаться выхода версии 0.12.2 ― только тогда начнется процесс активации. К этому времени каждый, кто поддерживает Bitcoin Core, получит извещение о том, что необходимо как можно скорее обновить клиент. 95% хеш-мощности сети должны будут перейти на новую версию Bitcoin Core ― как минимум на две недели ― и только тогда можно будет сказать, что Segregated Witness успешно активирован.
И даже это не будет последним шагом. Нет смысла внедрять Segregated Witness пока все биткоин-кошельки не начнут предлагать эти новые типы транзакций. В данный момент невозможно рассчитать, насколько это затянется, пусть даже некоторые провайдеры кошельков и сделают это быстрее других. Только время покажет, сколько придется ждать.