Я только что услышал об этом, и это считается «поворотным моментом» в дебатах о размере блока.
Что такое " отдельный свидетель "? как это работает?
Как это можно использовать для улучшения масштабируемости сети?
Является ли это ответом на все проблемы масштабируемости сети?
Это не серебряная пуля, но это действительно хорошее начало.
Как сказал Гэвин Андресен , Segregated Witness — плохое имя. «Отдельная» часть имени предназначена для обозначения того, что происходит разделение. Часть имени «свидетель» происходит от того факта, что цифровые подписи часто называют свидетелями.
Раздельный свидетель разделяет транзакции на разные части, которые можно обрабатывать отдельно, а не единый блок данных, как сейчас. В частности, он удаляет цифровые подписи из транзакций и помещает их в отдельное дерево Меркла, имеющее ту же структуру, что и дерево Меркла транзакции. Таким образом, при полной реализации для проверки того, что ввод законно расходует свой предыдущий вывод, вы получите подпись из дерева подписи вместо стандартного scriptSig
поля.
Вот несколько преимуществ этой идеи:
Однако это не увеличивает размер блока полностью, а просто увеличивает количество данных подписи, которые может хранить блок. Поскольку транзакции примерно на 60% состоят из данных подписи, это все еще довольно большой выигрыш.
Недостатком является то, что это нетривиальное обновление для сети, чтобы начать использовать сегрегированный свидетель. Формат сериализации транзакций отличается, и код везде, где совершаются биткойн-транзакции, необходимо обновлять. Однако, поскольку это процесс согласия, обновление может выполняться медленно с течением времени.
Вы можете посмотреть выступление Питера Вуилле о Segregated Witness по адресу:
https://www.youtube.com/watch?v=fst1IK_mrng&feature=youtu.be&t=37m12s .
Нейт Элдридж