Разработчики Bitcoin Core еще не закончили работы по масштабированию сети. Несмотря на то, что долго обсуждавшееся обновление SegWit было активировано чуть больше шести недель назад, оно уже положило начало цепной реакции по работе над другими оптимизациями, нацеленными на поддержку большего количества пользователей.
Технология под названием «подписи Шнорра» предлагает использование более надежных типов подписей вместо применяемых сейчас ECDSA. Одно из преимуществ технологии – она поддерживает «объединение подписей» в блокчейне Биткоина.
Хоть это и может показаться чрезвычайно сложным, цель изменений – консолидация действий, которые уже происходят с каждой транзакцией сети. В случае с подписями ECDSA, каждая часть транзакции подписывается отдельно, а при помощи подписей Шнорра все эти данные могут быть подписаны всего один раз. По словам разработчиков, такое изменение сможет улучшить работу Биткоина сразу по нескольким направлениям.
Член команды Blockstream Йонас Ник (Jonas Nick) отмечает, что этот новый тип подписей можно рассматривать как «очевидное решение для поддержки масштабирования Биткоина».
Во-первых, уменьшая количество подписей, технология увеличивает количество данных транзакции, которые могут находится в каждом блоке. Во-вторых, путем слияния подписей технология сможет улучшить конфиденциальность, затрудняя определение источника транзакций. В-третьих, считается, что изменение сможет обуздать «спам-атаки», когда один объект отправляет много небольших транзакций, которые занимают дополнительное пространство в блокчейне, что может затруднить работу узлов.
Успех через неудачу
Несмотря на то, что идея нового типа подписей витала в воздухе по крайней мере с 2013 года, только сейчас разработчикам удалось сделать прорыв, который приблизил реальное внедрение подписей Шнорра в Биткоин.
SegWit был первым необходимым шагом для этого изменения кода, так как перемещает данные подписей в другую часть блока. Это делает возможным внедрение подписей Шнорра (или аналогичной технологии) посредством софтфорка, что было невозможно ранее.
Затем совсем недавно разработчики наткнулись на малоизвесттное исследование, которое может помочь им быстрее создать алгоритм.
Согласно отчету ежегодного собрания команды Bitcoin Core, разработчики представили документ с изложением своей схемы агрегирования подписей на мероприятии Financial Cryptography and Data Security 2017. Комитет конференции отклонил его, отметив, что доказательство безопасности для схемы объединения подписей недостаточно убедительно, и предложили другой документ с более грамотным доказательством безопасности.
Брайан Бишоп (Bryan Bishop), один из членов команды Bitcoin Core, отметил:
«Это важная и полезная информация, означающая, что криптография была изучена в прошлом в большей степени, чем мы думали».
Теперь разработчики могут потратить меньше времени на решение проблем безопасности и больше – на то, чтобы понять каким образом внедрить технологию в Биткоин.
Дальнейшие шаги
Программист из Blockstream рассказал о находящемся в работе пакете изменений кода под названием «модуль объединения подписей», охарактеризовав его как основной способ внедрения подписей Шнорра в сеть Биткоина.
Другие специалисты, работающие над кодом - Эндрю Поэлстра (Andrew Poelstra), Грег Максвелл (Greg Maxwell), Питер Вюлле (Pieter Wuille), Питер Деттман (Peter Dettman) и другие, еще с 2012 года отмечали этот модуль среди самых передовых методов улучшения блокчейна.
В то время как многие разработчики обратили внимание на внедрение подписей Шнорра для максимально быстрого выполнения проверки подписей, пока не хватает некоторых частей модуля aggsig, что не позволяет внедрить его в Биткоин.
Например, функция OP_CHECKSIG сети проверяет, действительно ли кто-то владеет биткоином, который пытаются отправить. В настоящее время функция не учитывает новые подписи Шнорра, что означает, что подписи нельзя объединить.
«Пока не поступило предложений, которые могли бы решить эту проблему», - пояснил он, добавив, что разработчикам необходимо написать что-то вроде плана развития для новой функции, прежде чем ее можно будет реализовать.
Тем не менее, он настроен оптимистично и считает, что эта разработка не займет много времени, называя это «относительно простым». Ник сказал:
«Специалистам нужно просто найти время, чтобы сфокусироваться на нем».