Определение
Подпись Шнорра — это схема цифровой подписи, изобретенная немецким математиком и криптографом Клаусом-Петером Шнорром, известная своей математической простотой, доказуемой безопасностью и уникальным свойством линейности, позволяющим эффективно агрегировать несколько подписей. В контексте блокчейна подписи Шнорра были введены в Биткоин посредством обновления Taproot (BIP 340/341/342), активированного в ноябре 2021 года, заменив алгоритм цифровой подписи на эллиптических кривых (ECDSA), который Биткоин использовал с момента своего создания. Ключевым нововведением подписей Шнорра для блокчейн-приложений является их встроенная поддержка агрегации ключей — несколько открытых ключей и соответствующие им подписи могут быть объединены в одну пару ключ-подпись, неотличимую от обычной транзакции с одним подписантом. Это имеет серьезные последствия для конфиденциальности, масштабируемости и функциональности смарт-контрактов. Кошельки с несколькими подписями, использующие подпись Шнорра, выглядят идентично кошелькам с одной подписью в блокчейне, что повышает конфиденциальность. Меньший общий размер подписи уменьшает объем данных транзакций, повышая масштабируемость. Кроме того, подписи Шнорра обеспечивают более эффективные и гибкие возможности создания скриптов с помощью taproot , который использует конструкцию MAST (Merkelized Alternative Script Trees) в сочетании с подписями Шнорра для сохранения конфиденциальности сложных условий расходования средств, если они не были реализованы. Математическая основа подписей Шнорра базируется на задаче дискретного логарифма, том же предположении, что и в ECDSA, обеспечивая эквивалентную криптографическую сложность.
Происхождение и история
| Время | События |
| 1989 | Клаус-Петер Шнорр изобретает схему подписи Шнорра; подает заявку на патент США в 1990 году (патент США № 4 995 082). |
| 1991 | Шнорр опубликовал статью «Эффективное создание подписей с помощью смарт-карт» в журнале «Journal of Cryptology». |
| 2008 | Сатоши Накамото выбирает ECDSA вместо Schnorr для биткоина из-за действующих патентных ограничений Schnorr. |
| 2008 | Срок действия патента Шнорра истекает, что делает алгоритм свободно доступным для внедрения. |
| 2020 | Питер Вуйлле, Йонас Ник и Тим Раффинг предлагают BIP 340 для подписей Шнорра в биткоине. |
| 2020 | Официально предложены BIP 340 (Schnorr), BIP 341 (Taproot) и BIP 342 (Tapscript). |
| 2021 | Обновление Taproot/Schnorr обеспечивает привязку к серверу благодаря поддержке сигналов более чем у 90% майнеров. |
| Ноябрь 2021 | Taproot активируется на блоке 709 632 Биткоина, что позволяет использовать подписи Шнорра в сети Биткоин. |
| 2022-2023 | Кошелек Разработчики протоколов начинают интегрировать функции, основанные на алгоритме Шнорра, включая агрегацию ключей. |
| 2024 | Многоподписные схемы на основе алгоритма Шнорра (MuSig2) получают все большее распространение в сетях Lightning Network и для институционального хранения ценных бумаг. |
«Подписи Шнорра — это самая элегантная схема цифровой подписи: их свойство линейности делает их принципиально превосходящими для многосторонних криптографических протоколов». — Питер Вуйлле, разработчик Bitcoin Core.
Как это работает
«` +——————————————————————+
| СХЕМА ПОДПИСИ ШНОРРА | +——————————————————————+
| ГЕНЕРАЦИЯ КЛЮЧЕЙ (та же кривая, что и у ECDSA: secp256k1) |
| +————————————————————+ |
| +————————————————————+ |
| ПРОЦЕСС ПОДПИСАНИЯ: |
| +————————————————————+ |
| +————————————————————+ |
| ПРОЦЕСС ПРОВЕРКИ: |
| +————————————————————+ |
| +————————————————————+ |
| АГРЕГАЦИЯ КЛЮЧЕЙ (Многосигнатурная магия): |
| +————————————————————+ |
| +————————————————————+ |
| СРАВНЕНИЕ С ECDSA: |
| +——————+——————+ |
| +——————+——————+ |
| +——————+——————+ |
+——————————————————————+ “`
| Характеристика | ECDSA (Pre-Taproot) | Шнорр (пост-стержневой корень) |
| Размер подписи | ~72 байта (в кодировке DER) | 64 байта (фиксированный размер) |
| Агрегация ключей | Не поддерживается изначально | Нативная линейная агрегация |
| Многоподписная конфиденциальность | Скрипты с мультиподписью видны в блокчейне | Агрегированный ключ выглядит как однозначная подпись. |
| Пакетная проверка | Неэффективно | Значительно более быстрая пакетная валидация |
| Доказуемая безопасность | Безопасность на основе модели общей группы | Доказуемо безопасно в модели случайного оракула |
| Отличительная пластичность | Гибкий (может изменяться третьими лицами) | Не поддается пластичности по своей конструкции. |
| Математическая сложность | Более сложное уравнение знака | Более простая и элегантная математика. |
Простыми словами
- Подпись Шнорра — это как более элегантная версия цифровой подписи. — это доказывает, что вы авторизовали транзакцию, не раскрывая свои данные. закрытый ключно делает это с помощью более простых математических вычислений и меньшей по размеру подписи, чем предыдущий метод ECDSA, использовавшийся в Биткоине.
- Секрет успеха – в фирменном дополнении. — Если Алисе и Бобу необходимо подписать сделку (мультиподпись), Schnorr позволяет математически объединить их две подписи в одну, которая выглядит точно так же, как любая другая подпись. В случае с ECDSA обе подписи приходилось указывать отдельно.
- Это значительно повышает уровень конфиденциальности. — в блокчейне Биткоина, Шнорр мульти-подпись Эта транзакция выглядит идентично обычной транзакции с одним подписантом. Никто не может определить, кто именно подписал транзакцию — один человек или пятьдесят, что повышает конфиденциальность для всех участников.
- Это экономит место и снижает затраты. — Поскольку несколько подписей объединяются в одну, транзакции с мультиподписью по методу Шнорра занимают меньше места в блоке, чем транзакции с мультиподписью по методу ECDSA. Меньшее пространство означает более низкие комиссии за транзакции для пользователей и больше транзакций в блоке для сети.
- Taproot объединяет все это воедино. — Обновление Taproot в Bitcoin объединяет подписи Шнорра с MAST (Merkelized Alternative Script Trees), что позволяет создавать сложные условия расходования средств (такие как временные блокировки, мультиподпись или депонирование), которые остаются полностью конфиденциальными, если не выбран нестандартный путь.
Примеры из реального мира
| Сценарий | Реализация | Результат |
| Биткоин-кошелек с мультиподписью | Институциональный поставщик услуг хранения ценных бумаг использует MuSig2 (на основе алгоритма Шнорра) для мультиподписи 3 из 5. | Идентичный объем данных в блокчейне, как у односторонней подписи; снижение комиссионных сборов на 60% по сравнению с традиционной многосторонней подписью. |
| Каналы сети Lightning | В операциях открытия/закрытия каналов Lightning используется агрегация ключей Шнорра. | Операции по управлению каналами продаж становятся меньше по объему и неотличимы от обычных платежей. |
| Конфиденциальность CoinJoin | Реализации CoinJoin на основе алгоритма Шнорра объединяют подписи нескольких участников. | Повышенная конфиденциальность, поскольку совместные транзакции выглядят как транзакции с одним подписантом, что снижает эффективность анализа цепочки транзакций. |
| Биткойн смарт-контракты | Разработчики используют Taproot (Schnorr + MAST) для создания скриптов условного расходования средств. | Сложная логика контрактов остается скрытой в блокчейне, если не используется неконструктивный путь, что повышает как конфиденциальность, так и эффективность. |
Преимущества
| Преимущества | Описание |
| Доказуемая безопасность | В отличие от ECDSA, подписи Шнорра имеют формальное доказательство безопасности в модели случайного оракула. |
| Агрегация ключей | Встроенная линейная агрегация подписей обеспечивает эффективное подписание многосторонних соглашений с помощью единой подписи в блокчейне. |
| Повышение конфиденциальности | Мультиподпись, CoinJoin и сложные скрипты становятся неотличимы от простых транзакций в блокчейне. |
| Эффективное использование пространства | Использование подписей фиксированного размера в 64 байта (в отличие от переменных подписей ECDSA размером около 72 байт) и агрегация подписей позволяют сократить объем данных, используемых в блокчейне. |
| Пакетная проверка | Проверка нескольких подписей Шнорра одновременно происходит быстрее, чем проверка каждой из них по отдельности, что ускоряет валидацию узла. |
Недостатки и риски
| Снижение | Описание |
| Темпы внедрения | Интеграция функций Schnorr/Taproot в кошельки и сервисы происходит медленнее, чем ожидалось, с момента запуска в 2021 году. |
| Уязвимость повторного использования одноразового числа | Если один и тот же случайный одноразовый код используется дважды при подписи по методу Шнорра, закрытый ключ немедленно становится доступным. |
| Сложность протокола | Многосторонние протоколы Шнорра (MuSig, MuSig2) требуют тщательной обработки одноразовых чисел и многократных циклов обмена данными. |
| Обратная совместимость | Устаревшие системы необходимо обновить для поддержки проверки по методу Шнорра, что создаст переходный период с использованием различных типов подписей. |
| Анализ сокращенной цепи | Несмотря на то, что функции защиты конфиденциальности Schnorr обеспечивают пользователям дополнительную защиту, они вызывают опасения у регулирующих органов и групп по обеспечению соответствия, которые полагаются на анализ структуры транзакций в блокчейне. |
Советы по управлению рисками:
- Для подписания по алгоритму Шнорра всегда используйте аппаратные кошельки или хорошо проверенное программное обеспечение, которое корректно реализует генерацию случайного одноразового числа (nonce).
- При участии в многосторонних протоколах Шнорра (MuSig2) убедитесь, что все стороны соблюдают правильный протокол подтверждения одноразового числа.
- Обновите кошельки до версий, совместимых с Taproot, чтобы воспользоваться преимуществами Schnorr в плане конфиденциальности и эффективности.
- Следите за развитием экосистемы Биткойна, чтобы узнать о передовых методах Schnorr/Taproot по мере совершенствования технологии.
- Важно понимать, что Шнорр не меняет фундаментальную модель безопасности Биткоина — он её улучшает, сохраняя те же криптографические предположения.
FAQ
В: Почему в Биткоине с самого начала не использовались подписи Шнорра?
А: Когда Сатоши Накамото разработал Биткойн в 2008 году, алгоритм подписи Шнорра все еще находился под патентом (патент США № 4 995 082, заявка подана в 1989 году). Хотя срок действия патента истек в 2008 году, ECDSA был устоявшимся, свободно доступным стандартом с широкой поддержкой реализации. Сатоши выбрал ECDSA, чтобы избежать потенциальных проблем с патентами, а также потому, что он уже широко использовался в криптографических библиотеках.
В: Что такое MuSig2 и как он связан со шнорром?
A: MuSig2 — это двухэтапный протокол мультиподписи, основанный на подписях Шнорра, разработанный Йонасом Ником, Тимом Раффингом и Янником Сеурином. Он позволяет нескольким сторонам совместно создавать единую подпись Шнорра, неотличимую от обычной подписи одного подписанта. MuSig2 улучшил оригинальный протокол MuSig, сократив количество необходимых раундов связи с трех до двух, что делает его более практичным для реальных приложений.
В: Делает ли Шнорр биткойн более приватным?
А: Да, это существенно. Благодаря агрегации ключей Шнорра через Taproot, кошельки с несколькими подписями, транзакции CoinJoin, операции канала Lightning и сложные смарт-контракты отображаются в блокчейне как простые транзакции с одной подписью. Это значительно затрудняет для компаний, занимающихся анализом блокчейна, различение различных типов транзакций, повышая конфиденциальность для всех пользователей Bitcoin.
В: Являются ли подписи Шнорра более безопасными, чем подписи ECDSA?
А: Подписи Шнорра считаются как минимум столь же безопасными, как ECDSA, а возможно, и более безопасными. В модели случайного оракула имеется формальное доказательство безопасности подписей Шнорра, показывающее, что взлом подписей Шнорра так же сложен, как решение задачи дискретного логарифма. У ECDSA такого четкого доказательства безопасности нет. Кроме того, подписи Шнорра не поддаются изменению, что исключает класс атак, которые затрагивали транзакции биткоина ECDSA.
В: Могут ли подписи Шнорра противостоять атакам с использованием квантовых вычислений?
А: Нет. Как и ECDSA, подписи Шнорра основаны на проблеме дискретного логарифма на эллиптических кривых, которая уязвима для алгоритма Шора на достаточно мощном квантовом компьютере. Обе схемы подписи необходимо будет заменить постквантовыми альтернативами, если крупномасштабные квантовые компьютеры станут практически применимыми. Это активная область исследований во всем криптографическом сообществе.
Источники
- BIP 340: Подписи Шнорра для secp256k1 — github.com/bitcoin/bips/blob/master/bip-0340.mediawiki
- Шнорр, К. П. «Эффективное создание подписей с помощью смарт-карт» — Журнал криптологии, 1991 г.
- Bitcoin Optech — bitcoinops.org (ресурсы Taproot/Schnorr)
- Книга Андреаса М. Антонопулоса "Освоение биткойна"
- Blockstream Research — Спецификация протокола MuSig2
Совет от UPay: Если вы храните биткоины, обновите свой кошелек до версии, поддерживающей подписи Taproot и Schnorr. Используя адреса Taproot (начинающиеся с 'bc1p'), вы автоматически получаете преимущества в виде повышенной конфиденциальности, более низких комиссий за транзакции и самой продвинутой схемы криптографической подписи, доступной в сети Bitcoin. Каждая ваша транзакция через Taproot также способствует развитию экосистемы Bitcoin в целом, повышая уровень анонимности для всех пользователей Taproot.
Предупреждение: Данная информация предназначена исключительно для образовательных целей и не является финансовой консультацией. Всегда проводите собственное исследование (DYOR) и консультируйтесь с квалифицированными финансовыми консультантами, прежде чем принимать инвестиционные решения.
UPay — Создание криптоэнциклопедии









