Концепт сегрегированного свидетельства может сделать биткоин удобней и быстрей
На завершившейся на этой неделе конференции Scaling Bitcoin в Гонконге состоялись оживленные дебаты относительно возможного увеличения размера блока биткоина. Недостатка в предложениях не наблюдалось, и одно из них, представленное как «сегрегированное свидетельство» (Segregated Witness), может стать началом новой интересной дискуссии.
В презентации бельгийского разработчика Питера Велле «Сегрегированное свидетельство и его влияние на масштабируемость» был представлен механизм, работающий в качестве наблюдателя за подписями транзакций в элементах блокчейнах. Подписи при этом выступают в качестве «свидетелей», авторизуя выходы от исходных владельцев.
Основная идея состоит в переводе входов-свидетелей от хеша транзакций, создавая собственное отдельное дерево. Это означает, что полные ноды будут валидировать блоки данных, однако отдельно от данных подписи. Лёгкие клиенты и вовсе будут обходиться без ввода отдельных данных.
Велле утверждает, что уже существует механизм валидирования этих подписей с помощью чекпоинтов. По его словам, люди, вероятней всего, с радостью бы от этого отказались. Внедрение его системы, как он сам признаёт, необязательно облегчит нагрузку на блокчейн, но сможет его разделить для более плавной работы.
В качестве примера работы системы Велле привёл аналог переезда компании на новое место и найма специальной компании для облегчения процесса. Самое ценное вы, как правило, берёте с собой, а остальное, может быть, не столь важное, перевозится в любом случае, потому что вы всё же желаете сохранить эти вещи.
Велле спросил участников конференции, считают ли они, что от подписей хорошо бы вовсе отказаться, и тут же сам ответил на этот вопрос, отметив, что пока это невозможно, так как подписи входят в хеш транзакции. Однако, хотя этот протокол и нельзя исключить из транзакции, его можно пометить как «особый» в специально отведённом месте.
«Одним из способов сделать это является превращение дерева Меркла, по которому идут блоки к ID транзакции, в двусторонне дерево, где одна сторона соответствует ID транзакций без подписей, а другое дерево точно той же формы содержит хеши без подписей», — объяснил Велле.
Возможно, система Велле способна обуздать «атаки взаимозаменяемости», и нельзя исключать, что она способна и полностью их устранить. С такой «программой защиты свидетелей» отдельные ноды смогут более активно участвовать в упрощённой верификации платежей. Также это открывает ворота для инициации доказательств подделки, которые важны для таких систем, как Lightning. С этой дополнительной особенностью в блокчейн может быть помещён целый lightning-канал.
Велле отмечает, что «свидетеля» можно исключить, передавая данные старому узлу в любой момент. Для них транзакция валидна и без него. Поскольку свидетель не влияет на txid, можно сказать, что он фактически не является частью транзакции, а просто очередной порцией данных, передаваемой вместе с самой транзакцией, утверждает разработчик.
Мнения по поводу предложения оказались полярными. Тем не менее, многие участники конференции нашли эту идею отличной и дающей множество новых возможностей всей сети, особенно в отношении сайдчейнов. Сам Велле уверен, что такая система могла бы создать «более масштабируемую модель полных или частичных нод», хотя это и стоило бы уступок в области безопасности, на которые согласятся не все.
Тем не менее, такое дополнение можно провести через софт-форк, а не как хард-форк в клиенте. С использованием системы свидетельства, полагает Велле, пользователи смогут загружать блокчейн и верифицировать транзакции, не загружая слишком много данных. Применение системы, возможно, позволит ограничить размер блока 2 мегабайтами.
Рассылки ForkLog: держите руку на пульсе биткоин-индустрии!