Проблема масштабируемости блокчейна с ростом популярности биткоина становится всё острее. Мультиподписи Шнорра — один из наиболее перспективных путей её решения.
Cryptonomist рассказывает об особенностях этого подхода и его преимуществах.
Альтернатива SegWit2x
В блокчейне биткоина сейчас используется схема подписей ECDSA. Это алгоритм, который для создания цифровой подписи применяет открытый ключ, созданный в группе точек эллиптической кривой, в паре с закрытым ключом.
Схема Шнорра — более стойкий и перспективный подход. Методика, разработанная Клаусом Петером Шнорром в 1990 году, связывает приватный и публичный ключи с подписями. Её безопасность определяет сложность процесса вычисления дискретных логарифмов. Достоинства схемы: сравнительно высокая скорость подтверждения транзакций, высокая точность, поддержка мультиподписей.
Мультиподписи Шнорра было сложно внедрить в блокчейне биткоина до реализации SegWit — только с хардфорком. Поддержку SegWit добавили в августе 2017 года. После этого внедрение мультиподписей Шнорра вместо ECDSA стало возможным реализовать с помощью обратно совместимого софтфорка.
Как мультиподписи Шнорра изменят биткоин
Известные биткоин-разработчики Грегори Максвелл, Эндрю Поэлстр, Янник Серин и Питер Вулль опубликовали статью, в которой рассказали о возможностях решения проблемы масштабируемости с помощью мультиподписей Шнорра. Фактически это whitepaper новой схемы аутентификации.
Основное отличие подхода — в том, что мультиподписи Шнорра предполагают группировку, а не наличие нескольких отдельных подписей. Чем больше отдельных подписей, тем выше размер транзакции, соответственно, и комиссии за её проведение. А если подписи объединить в один вход данных, они обрабатываются как единое целое, и достигается экономия ресурсов.
Мультиподписи Шнорра позволят освободить место в блокчейне и использовать его для дополнительных транзакций. В описанной схеме размер мультиподписи увеличивается линейно с ростом числа подписантов. В идеале схема мультиподписей должна генерировать подписи, суммарный размер которых не зависит от числа сторон-подписантов. Сгруппированные данные будут обрабатываться быстрее мелких блоков, и это приведёт к снижению нагрузки на блокчейн.
Новая технология также повысит безопасность проведения транзакций. Мультиподписи Шнорра предполагают, что до обработки транзакцию должны подтвердить как минимум двое. Это исключит для злоумышленников возможность отправлять транзакции с чужих аккаунтов.
Наконец, мультиподписи Шнорра повысят приватность. За счёт группировки данных из разных источников отследить отправителя транзакции будет сложнее.
Разработчик BitGo Джеймсон Лопп заявил:
В перспективе подписи Шнорра помогут улучшить производительность сети биткоина и усовершенствовать параметры приватности.
Он также привёл графики роста объёма блокчейна биткоина с мультиподписями (нижняя кривая) и без них (верхняя кривая):
«Simple Schnorr Multi-Signatures with Applications to Bitcoin» — a new multi-signature scheme that can improve both performance and user privacy in Bitcoin. https://t.co/wqfCjbl1h5 pic.twitter.com/QcgpDW71KN
— Jameson Lopp (@lopp) 18 января 2018 г.
Преимущества и недостатки
Если мультиподписи Шнорра имплементируют в блокчейне биткоина, его размер в перспективе снизится на 25%. Сейчас объём уже достиг 160 Гб.
Ноды более компактного блокчейна будут работать быстрее, производительность сети повысится. Повысится и безопасность проведения транзакций.
Консультант Blockchain.com Сэм Воутерс считает:
Если транзакция отправляется из разных источников одним и тем же человеком, должен быть способ делать это с применением лишь одной подписи, верно? Именно это позволяют делать подписи Шнорра.
Единственный недостаток схемы — проблема аннулирования. Теоретически потенциальный злоумышленник может извлечь ключ из транзакции с мультиподписью Шнорра и исключить одну из сторон. В результате транзакция может быть аннулирована.