Подпись шнорра в bitcoin что это
Перейти к содержимому

Подпись шнорра в bitcoin что это

  • автор:

Значение подписей Шнорра для биткоина

Как вы, вероятно, знаете, биткоин реализует защиту права собственности посредством алгоритма электронной цифровой подписи на основе эллиптических кривых (ECDSA). Алгоритм позволяет вам взять одно число (т. е. закрытый ключ ) и получить на его основе открытый ключ.

Магия заключается в том, что получить публичный ключ из приватного легко, а наоборот – невозможно. Приватный ключ – ваш паспорт в сети биткоина. На его основе генерируется адрес для перевода монет , и, зная приватный ключ, вы можете тратить средства.

В этой статье мы рассмотрим алгоритм подписи Шнорра – альтернативу ECDSA, благодаря которой биткоин может претерпеть интереснейшие изменения.

Краткий обзор цифровых подписей

Цифровые подписи работают так же, как и их предшественники на бумажных носителях, но они более безопасны. Потратив некоторое количество времени и ресурсов, подделать бумажную подпись сможет кто угодно. С надежной схемой цифровой подписи это не получится, даже если бы в вашем распоряжении были сотни тысяч лет.

Существует несколько вариантов использования цифровых подписей. Наиболее популярный – доказать, что именно вы написали то или иное сообщение. Как мы уже говорили, вы можете создать публичный ключ на основе приватного (это очень большое число, которое необходимо хранить в тайне). Публичный ключ генерируется в результате выполнения некоторых сложных вычислений над кривой secp256k1. Аналогичным образом вы можете сгенерировать публичный адрес из открытого ключа.

Обратите внимание: что раскрывать публичный ключ совершенно безопасно. Вы можете разместить его на своем сайте или в описании Twitter, чтобы другие могли верифицировать вашу личность. Точно так же вы можете поделиться своими публичными адресами с окружаюшими, чтобы они могли отправлять вам криптовалюту.

Ваш приватный ключ позволяет генерировать цифровые подписи. Написав сообщение и выполнив над ним операцию с помощью своего закрытого ключа, вы создаете подписанное сообщение. Любой может взять его и сравнить с вашим открытым ключом, чтобы убедиться, что сообщение подписано действительно вами.

Как это связано с биткоином? Каждый раз, когда вы совершаете транзакцию биткоина , вы создаете подписанное сообщение, в котором говорится «Я отправляю эти монеты, которые ранее были отправлены мне» . Когда это сообщение отправляется на ноды сети, они могут проверить, соответствует ли сообщению подпись ECDSA. Если нет, они его отклоняют.

Что такое схема Шнорра?

Подписи Шнорра работают по другой схеме. Они устроены аналогично алгоритму электронной цифровой подписи на эллиптических кривых, который мы сейчас используем, но имеют ряд дополнительных преимуществ. На самом деле, подписи Шнорра появились еще до ECDSA, что не может не вызвать вопрос: почему они не использовались в биткоине с самого начала?

Одно из возможных объяснений заключается в том, что Клаус П. Шнорр, создатель схемы, их запатентовал. Срок действия патентов истек в начале 2008 года, за несколько месяцев до выпуска whitepaper биткоина, но схема все еще не была полностью стандартизирована. Поэтому Сатоши Накамото выбрал намного более распространенный (и обладающий открытым исходным кодом ) алгоритм ECDSA.

В чем достоинства подписей Шнорра?

Подписи Шнорра довольно просты по сравнению с другими схемами. В результате их безопасность доказывается проще, чем безопасность других вариантов. Кроме того, они обладают еще одним незначительным на первый взгляд свойством – линейностью .

Простыми словами, это свойство делает схему особенно привлекательной для определенных видов деятельности, в первую очередь – для мультисигнатурных транзакций. Возможно, вы знаете, что биткоин уже поддерживает мультиподпись, но не самым лучшим образом.

Когда вы создаете мультисигнатурный адрес, тот, кто отправляет на него средства, не должен знать, какие ограничения вы устанавливаете на трату переведенных средств. Они могут даже не знать, что отправляют средства на адрес с мультиподписью – единственная особенность адреса заключается в том, что он начинается с «3».

Однако вы раскрываете его особенность, когда выводите средства. Скажем, вы вместе с Алисой и Бобом создали адрес со скриптом «3 из 3». Чтобы потратить, например, 5 BTC, трое участников должны предоставить открытые ключи и действительные подписи. Когда вы переводите средства с адреса, вся сеть может узнать о транзакции, просматривая блокчейн .

С точки зрения конфиденциальности это не очень хорошо. Кроме того, если создать мультиподпись с большим количеством участников (например, 8 из 10), их подписи займут достаточно много места в блокчейне. Это может быть дорого, так как транзакция получится длинной – помните, что, чем больше байтов в вашей транзакции, тем больше нужно заплатить.

Подписи Шнорра рекламировались как решение проблем конфиденциальности и масштабируемости. Они реализовывают такие функции, как агрегация подписей , которая на основе подписей нескольких участников создает одну. Полученная «мастер-подпись» – такой же длины, что и обычная однопользовательская подпись, что ведет к значительной экономии места.

Кроме того, комбинированные подписи значительно усложняют определение сущностей, подписавших (или не подписавших) транзакцию. В схемах m из m (чтобы потратить средства, транзакцию должны подписать все участники) вы даже не сможете отличить индивидуальные транзакции от мультисигнатурных.

Важно отметить, что подписи Шнорра являются ступенью для дальнейшего развития. После внедрения их можно использовать для улучшения криптографических технологий, таких как атомарные свопы и Lightning Network .

Когда подписи Шнорра будут реализованы в сети биткоина?

Мы не знаем. Как и в случае с большинством обновлений протокола биткоина, для того, чтобы договориться о включении подписи Шнорра, сообществу может потребоваться время на согласование изменений. Разработчики Bitcoin Core Питер Вулль, Джонас Ник и Тим Раффинг представили проект предложения по улучшению биткоина (BIP), но он нуждается в доработке.

Blockstream уже выпустил свою реализацию – MuSig . Поддерживая агрегацию подписей и ключей, он может служить основой для схемы подписи Шнорра биткоина.

Подписи Шнорра могут быть включены в код в виде софтфорка , а это означает, что изменение не приведет к разделению сети. Это будет бесшовное обновление. Тем не менее, было бы оптимистично предположить их интеграцию в ближайшем будущем – достижение консенсуса может занять пару лет.

Резюме

Подписи Шнорра – одна из наиболее ожидаемых вех на текущей дорожной карте биткоина. Всего лишь за одно обновление они обеспечат значительное улучшение конфиденциальности и масштабируемости . Кроме того, они подготовили почву для дальнейшего развития смарт-контрактов в сети биткоина и более продвинутых концепций, таких как Taproot .

Отказ от ответственности: на платформе опубликованы материалы и мнения третьих лиц. Не является финансовой рекомендацией. См. Правила и условия.

Схема Шнорра и её роль в Биткоине

Данная статья рассчитана на людей, уже знакомых с основами защиты информации. Если слова «Протокол доказательства знания», «Криптосистема с открытым ключом» не являются для Вас заклинаниями, you’re welcome!

Историческая справка

Схема Шнорра была изобретена в 1980 гг. Клаусом-Петером Шнорром. Клаус Шнорр — немецкий криптограф, академик, на тот момент профессор и исследователь Франкфуртского университета. Перед публикацией самой схемы Клаус Шнорр заморочился с патентами, из-за чего вплоть до 2008 года прямое её использование было затруднительно.

В 2008 году, в том же году, когда Сатоши Накамото представил миру Биткойн, срок действия патента Клауса Шнорра истёк. Даже несмотря на то что подписи Шнорра уже можно было использовать, Сатоши Накамото выбрал для Биткоина ECDSA. Это связано с тем, что схема Шнорра ещё не являлась стандартизированной и широко используемой.

Хоть криптографы зачастую и считают ECDSA неудачным, он до сих пор используется. К слову, DSA, предшественник ECDSA, представлял собой гибрид схем Эль-Гамаля и Шнорра, созданный исключительно для обхода патентов Клауса Шнорра Национальным институтом стандартов и технологий США (NIST). После его появления в рассылке Coderpunks начался, что называется, интеллигентный срач, а Клаус Шнорр стал ещё активнее защищать свои патенты.

Суть протокола Шнорра

Вообще говоря схема Шнорра является одним из вариантов протоколов доказательства с нулевым раскрытием. Доказываем мы то, что для некоторого публичного ключа h, который суть элемент группы с фиксированным порождающим элементом g, известен секрет x такой что g степени x суть у нас публичный ключ h.

Также, стоит заметить что протокол интерактивный, т.е. подразумевается многораундовый обмен сообщениями между участниками.

Первым делом Алиса выбирает случайное число k из подгруппы порядка q, оно должно быть уникально для каждой сессии. Затем Алиса считает I и посылает его Бобу.

Боб также выбирает случайное число из подгруппы и отправляет его обратно Алисе.

Алиса вычисляет s и отправляет его Бобу.

Боб совершает проверку и подтверждает.

Схема подписи

Эта схема является по сути развитием интерактивного протокола за исключением того, что r — не случайная величина, здесь берётся вывод случайного оракла.

Стоит заметить, что на вход хэш-функции идёт элемент группы и сообщение m (это хоть и может быть также элементом группы, но зачастую это просто битовая строка), в таком случае вместо I следует подавать выход некой функции, которая элемент группы переводит в битовую строку.

Вычисление значения r таким образом (изначальная схема подписи): называется слабым преобразованием Фиата-Шамира, оно НЕ является безопасным. На практике же стоит также добавлять в r ещё и публичный ключ pk. Слабым преобразованием Фиата-Шамира пользовались до 2010-х годов, хотя оно встречается и сейчас, в нём были найдены различные уязвимости, в частности, например, в системе электронного голосования Helios.

Тут public key (pk) — это элемент группы, т.е. его размер невелик и порядка n (на практике всего 33 байта). Отсюда следует, что размер подписи это также 2 числа из группы, т.е. 2n бит (64 байта на практике). Т.е. в сравнении с предыдущими алгоритмами этот на порядки эффективнее.

Схема подписи Шнорра позволяет подписать очень много документов (учитывая, разумеется, уникальность k). В истории были случаи, когда k совпадали в различных документах и это позволяло вскрыть ключ. Таким образом однажды уже взламывали и перепрошивали приставки, в истории Биткоина тоже были подобные случаи.

Почему подписи Шнорра считаются лучше ECDSA?

Чтобы ответить на этот вопрос давайте рассмотрим три основных критерия, по которым мы сравним ECDSA и подписи Шнорра.

  • Безопасность
  • Размер подписи
  • Приватность
Безопасность ECDSA

Вообще говоря, для ECDSA отсутствуют доказательства безопасности для задачи дискретного логарифмирования в группе точек эллиптической кривой при использовании случайного генератора группы, но на самом деле это не основная причина, по которой многие хотят изменить ECDSA на подписи Шнорра. С 2009 года ECDSA на кривой x 3 +7 достаточно надёжно работает, и если и была обнаружена какая-то критическая уязвимость, то уже давно об этом знали. То есть фактически на данный момент ECDSA и описанной кривой вполне достаточно. Выходит, дело тут немножко в другом.

Давайте рассмотрим размер подписи. Где вообще на находится это значение? У нас есть транзакция:

Вход транзакции состоит из хэш значения предыдущей транзакции, индекса выхода предыдущей транзакции, дальше поле sequence и собственно поле scriptSig — доказательство владения монетами, то есть собственное значение подписи, причем это значение занимает достаточно большую часть из входов транзакции.

В выходах находится value и scriptPubKey — условия траты монет, то есть по сути условия, которые должны выполняться для того, чтобы монеты были потрачены.

Если транзакцию подписывает один участник, то размер одиночного значения подписи плюс-минус одинаковый для ECDSA и для подписи Шнорра. Но что если мы используем мультиподпись, т.е. транзакцию подписывает несколько человек?

В ECDSA мультиподпись представляет из себя просто набор нескольких подписей. Так что при увеличении количества участников, которые должны подписать транзакцию, увеличивается и размер доказательства владения монетами.

Приватность ECDSA

Фактически после подтверждения транзакции каждый участник сети может точно сказать, какие ключи использовались для ее подписания. Так как мультиподпись представляет из себя набор значения подписей, каждая подпись формируется при помощи одного секретного ключа, который относится к одному публичному ключу, то есть каждый публичный ключ связан с конкретным значением подписи. Получив при верификации транзакцию с мультиподписью, можно точно сказать, какие публичные ключи были использованы, и если вы знаете, какой конкретный субъект владеет каким конкретно публичным ключом, вы можете назвать всех участников подписания той или иной транзакции. Получается, приватность не обеспечивается в принципе.

Размер подписи ECDSA

Давайте выделим ключевые поля транзакции: это scriptSig , то есть доказательства владения монетами, и scriptPubKey, то есть условия траты монет. Эти поля занимают самое большое место в входах и выходах транзакций. Изначально архитектура подразумевала, что каждый конкретный вход должен содержать значения подписи (то есть когда вы хотите потратить монет с конкретного выхода, вы должны подать на вход значение подписи). В выходе транзакций находится собственно адрес получателя. То есть как мы уже рассматривали в ECDSA, могла произойти такая ситуация, что в одном входе содержалось n значений, в другом m и т.д. Это огромные объёмы данных.

А что же подпись Шнорра?

Подпись Шнорра позволяет агрегировать значение ключей и подписи. Что такое агрегация? Пусть у нас есть 4 субъекта и есть алгоритм мультиподписи, в случае ECDSA каждый из них создает свою подпись, и на выходе получаем 4 подписи. В случае Шнорра у нас есть все те же четыре субъекта они подписывают транзакцию, значения подписи складывается и мы получаем одно общее значение, которое по размеру равно обычному значению подписи.

В результате, если мы применим такую вот модель для транзакции Биткойна, то каждый выход сможет иметь только одно значение подписи, это гораздо уменьшает объем доказательства владения монетами.

Но при этом, когда мы подписываем, определяем значение подписи для каждого входа, мы также подписываем всю транзакцию целиком. Поэтому можно провести агрегацию этих значений, то есть в итоге одно значение подписи будет покрывать всю транзакцию.

Мы агрегируем значение подписей в одно значение, и её можно будет проверить, сагрегировав наши значения публичных ключей. Мы колоссально экономим на объеме транзакции, соответственно пропускная способность повышается, так как транзакция будет занимает меньше места, а блок остается тот же самый.

Касательно приватности в подписи Шнорра. Что такое общий открытый ключ? В общем виде это сумма публичных ключей, это наш агрегированный публичный ключ. Значение подписи тоже агрегируется таким же образом, и получаем одно общее значение подписи. Этот публичный ключ соответствует этой подписи. Когда валидатор проверяет такую транзакцию, в выходе транзакции у нас находится ровно один публичный ключ, во входе транзакции находится ровно одно значение подписи. То есть независимо от того, подписал транзакцию один человек или это была мультиподпись, валидатор не замети тэтой разницы. Это положительно влияет на приватность, ведь нельзя соотнести общий открытый ключ с конкретными субъектами.

В итоге

Схема Шнорра, это одна из наиболее эффективных и теоретически обоснованных схем аутентификации. Она оказалась не очень популярна из-за продолжительного патента, продолжающегося вплоть до 2008 года. Схема хоть претерпела некоторые изменения с момента создания, но её основные идеи остались не тронутыми и высоко ценятся в криптографии.

Источники
  • Статья Подписи Шнорра и неизбежность конфиденциальности в Биткойне
  • Вики
  • Семинар ИТМО о схеме Шнорра
  • Лекция о подписях Шнорра в Биткоине

Значение подписей Шнорра для биткоина

Как вы, вероятно, знаете, биткоин реализует защиту права собственности посредством алгоритма электронной цифровой подписи на основе эллиптических кривых (ECDSA). Алгоритм позволяет вам взять одно число (т. е. закрытый ключ) и получить на его основе открытый ключ.

Магия заключается в том, что получить публичный ключ из приватного легко, а наоборот – невозможно. Приватный ключ – ваш паспорт в сети биткоина. На его основе генерируется адрес для перевода монет, и, зная приватный ключ, вы можете тратить средства.

В этой статье мы рассмотрим алгоритм подписи Шнорра – альтернативу ECDSA, благодаря которой биткоин может претерпеть интереснейшие изменения.

Краткий обзор цифровых подписей

Цифровые подписи работают так же, как и их предшественники на бумажных носителях, но они более безопасны. Потратив некоторое количество времени и ресурсов, подделать бумажную подпись сможет кто угодно. С надежной схемой цифровой подписи это не получится, даже если бы в вашем распоряжении были сотни тысяч лет.

Существует несколько вариантов использования цифровых подписей. Наиболее популярный – доказать, что именно вы написали то или иное сообщение. Как мы уже говорили, вы можете создать публичный ключ на основе приватного (это очень большое число, которое необходимо хранить в тайне). Публичный ключ генерируется в результате выполнения некоторых сложных вычислений над кривой secp256k1. Аналогичным образом вы можете сгенерировать публичный адрес из открытого ключа.

Обратите внимание: что раскрывать публичный ключ совершенно безопасно. Вы можете разместить его на своем сайте или в описании Twitter, чтобы другие могли верифицировать вашу личность. Точно так же вы можете поделиться своими публичными адресами с окружаюшими, чтобы они могли отправлять вам криптовалюту.

Ваш приватный ключ позволяет генерировать цифровые подписи. Написав сообщение и выполнив над ним операцию с помощью своего закрытого ключа, вы создаете подписанное сообщение. Любой может взять его и сравнить с вашим открытым ключом, чтобы убедиться, что сообщение подписано действительно вами.

Как это связано с биткоином? Каждый раз, когда вы совершаете транзакцию биткоина, вы создаете подписанное сообщение, в котором говорится «Я отправляю эти монеты, которые ранее были отправлены мне». Когда это сообщение отправляется на ноды сети, они могут проверить, соответствует ли сообщению подпись ECDSA. Если нет, они его отклоняют.

Что такое схема Шнорра?

Подписи Шнорра работают по другой схеме. Они устроены аналогично алгоритму электронной цифровой подписи на эллиптических кривых, который мы сейчас используем, но имеют ряд дополнительных преимуществ. На самом деле, подписи Шнорра появились еще до ECDSA, что не может не вызвать вопрос: почему они не использовались в биткоине с самого начала?

Одно из возможных объяснений заключается в том, что Клаус П. Шнорр, создатель схемы, их запатентовал. Срок действия патентов истек в начале 2008 года, за несколько месяцев до выпуска whitepaper биткоина, но схема все еще не была полностью стандартизирована. Поэтому Сатоши Накамото выбрал намного более распространенный (и обладающий открытым исходным кодом) алгоритм ECDSA.

В чем достоинства подписей Шнорра?

Подписи Шнорра довольно просты по сравнению с другими схемами. В результате их безопасность доказывается проще, чем безопасность других вариантов. Кроме того, они обладают еще одним незначительным на первый взгляд свойством – линейностью.

Простыми словами, это свойство делает схему особенно привлекательной для определенных видов деятельности, в первую очередь – для мультисигнатурных транзакций. Возможно, вы знаете, что биткоин уже поддерживает мультиподпись, но не самым лучшим образом.

Когда вы создаете мультисигнатурный адрес, тот, кто отправляет на него средства, не должен знать, какие ограничения вы устанавливаете на трату переведенных средств. Они могут даже не знать, что отправляют средства на адрес с мультиподписью – единственная особенность адреса заключается в том, что он начинается с «3».

Однако вы раскрываете его особенность, когда выводите средства. Скажем, вы вместе с Алисой и Бобом создали адрес со скриптом «3 из 3». Чтобы потратить, например, 5 BTC, трое участников должны предоставить открытые ключи и действительные подписи. Когда вы переводите средства с адреса, вся сеть может узнать о транзакции, просматривая блокчейн.

С точки зрения конфиденциальности это не очень хорошо. Кроме того, если создать мультиподпись с большим количеством участников (например, 8 из 10), их подписи займут достаточно много места в блокчейне. Это может быть дорого, так как транзакция получится длинной – помните, что, чем больше байтов в вашей транзакции, тем больше нужно заплатить.

Подписи Шнорра рекламировались как решение проблем конфиденциальности и масштабируемости. Они реализовывают такие функции, как агрегация подписей, которая на основе подписей нескольких участников создает одну. Полученная «мастер-подпись» – такой же длины, что и обычная однопользовательская подпись, что ведет к значительной экономии места.

Кроме того, комбинированные подписи значительно усложняют определение сущностей, подписавших (или не подписавших) транзакцию. В схемах m из m (чтобы потратить средства, транзакцию должны подписать все участники) вы даже не сможете отличить индивидуальные транзакции от мультисигнатурных.

Важно отметить, что подписи Шнорра являются ступенью для дальнейшего развития. После внедрения их можно использовать для улучшения криптографических технологий, таких как атомарные свопы и Lightning Network.

Думаете, с чего начать работу с криптовалютами? Купите биткоин на Binance!

Когда подписи Шнорра будут реализованы в сети биткоина?

Мы не знаем. Как и в случае с большинством обновлений протокола биткоина, для того, чтобы договориться о включении подписи Шнорра, сообществу может потребоваться время на согласование изменений. Разработчики Bitcoin Core Питер Вулль, Джонас Ник и Тим Раффинг представили проект предложения по улучшению биткоина (BIP), но он нуждается в доработке.

Blockstream уже выпустил свою реализацию – MuSig. Поддерживая агрегацию подписей и ключей, он может служить основой для схемы подписи Шнорра биткоина.

Подписи Шнорра могут быть включены в код в виде софтфорка, а это означает, что изменение не приведет к разделению сети. Это будет бесшовное обновление. Тем не менее, было бы оптимистично предположить их интеграцию в ближайшем будущем – достижение консенсуса может занять пару лет.

Резюме

Подписи Шнорра – одна из наиболее ожидаемых вех на текущей дорожной карте биткоина. Всего лишь за одно обновление они обеспечат значительное улучшение конфиденциальности и масштабируемости. Кроме того, они подготовили почву для дальнейшего развития смарт-контрактов в сети биткоина и более продвинутых концепций, таких как Taproot.

Значение подписей Шнорра для биткоина

Как вы, вероятно, знаете, биткоин реализует защиту права собственности посредством алгоритма электронной цифровой подписи на основе эллиптических кривых (ECDSA). Алгоритм позволяет вам взять одно число (т. е. закрытый ключ ) и получить на его основе открытый ключ.

Магия заключается в том, что получить публичный ключ из приватного легко, а наоборот – невозможно. Приватный ключ – ваш паспорт в сети биткоина. На его основе генерируется адрес для перевода монет , и, зная приватный ключ, вы можете тратить средства.

В этой статье мы рассмотрим алгоритм подписи Шнорра – альтернативу ECDSA, благодаря которой биткоин может претерпеть интереснейшие изменения.

Краткий обзор цифровых подписей

Цифровые подписи работают так же, как и их предшественники на бумажных носителях, но они более безопасны. Потратив некоторое количество времени и ресурсов, подделать бумажную подпись сможет кто угодно. С надежной схемой цифровой подписи это не получится, даже если бы в вашем распоряжении были сотни тысяч лет.

Существует несколько вариантов использования цифровых подписей. Наиболее популярный – доказать, что именно вы написали то или иное сообщение. Как мы уже говорили, вы можете создать публичный ключ на основе приватного (это очень большое число, которое необходимо хранить в тайне). Публичный ключ генерируется в результате выполнения некоторых сложных вычислений над кривой secp256k1. Аналогичным образом вы можете сгенерировать публичный адрес из открытого ключа.

Обратите внимание: что раскрывать публичный ключ совершенно безопасно. Вы можете разместить его на своем сайте или в описании Twitter, чтобы другие могли верифицировать вашу личность. Точно так же вы можете поделиться своими публичными адресами с окружаюшими, чтобы они могли отправлять вам криптовалюту.

Ваш приватный ключ позволяет генерировать цифровые подписи. Написав сообщение и выполнив над ним операцию с помощью своего закрытого ключа, вы создаете подписанное сообщение. Любой может взять его и сравнить с вашим открытым ключом, чтобы убедиться, что сообщение подписано действительно вами.

Как это связано с биткоином? Каждый раз, когда вы совершаете транзакцию биткоина , вы создаете подписанное сообщение, в котором говорится «Я отправляю эти монеты, которые ранее были отправлены мне» . Когда это сообщение отправляется на ноды сети, они могут проверить, соответствует ли сообщению подпись ECDSA. Если нет, они его отклоняют.

Что такое схема Шнорра?

Подписи Шнорра работают по другой схеме. Они устроены аналогично алгоритму электронной цифровой подписи на эллиптических кривых, который мы сейчас используем, но имеют ряд дополнительных преимуществ. На самом деле, подписи Шнорра появились еще до ECDSA, что не может не вызвать вопрос: почему они не использовались в биткоине с самого начала?

Одно из возможных объяснений заключается в том, что Клаус П. Шнорр, создатель схемы, их запатентовал. Срок действия патентов истек в начале 2008 года, за несколько месяцев до выпуска whitepaper биткоина, но схема все еще не была полностью стандартизирована. Поэтому Сатоши Накамото выбрал намного более распространенный (и обладающий открытым исходным кодом ) алгоритм ECDSA.

В чем достоинства подписей Шнорра?

Подписи Шнорра довольно просты по сравнению с другими схемами. В результате их безопасность доказывается проще, чем безопасность других вариантов. Кроме того, они обладают еще одним незначительным на первый взгляд свойством – линейностью .

Простыми словами, это свойство делает схему особенно привлекательной для определенных видов деятельности, в первую очередь – для мультисигнатурных транзакций. Возможно, вы знаете, что биткоин уже поддерживает мультиподпись, но не самым лучшим образом.

Когда вы создаете мультисигнатурный адрес, тот, кто отправляет на него средства, не должен знать, какие ограничения вы устанавливаете на трату переведенных средств. Они могут даже не знать, что отправляют средства на адрес с мультиподписью – единственная особенность адреса заключается в том, что он начинается с «3».

Однако вы раскрываете его особенность, когда выводите средства. Скажем, вы вместе с Алисой и Бобом создали адрес со скриптом «3 из 3». Чтобы потратить, например, 5 BTC, трое участников должны предоставить открытые ключи и действительные подписи. Когда вы переводите средства с адреса, вся сеть может узнать о транзакции, просматривая блокчейн .

С точки зрения конфиденциальности это не очень хорошо. Кроме того, если создать мультиподпись с большим количеством участников (например, 8 из 10), их подписи займут достаточно много места в блокчейне. Это может быть дорого, так как транзакция получится длинной – помните, что, чем больше байтов в вашей транзакции, тем больше нужно заплатить.

Подписи Шнорра рекламировались как решение проблем конфиденциальности и масштабируемости. Они реализовывают такие функции, как агрегация подписей , которая на основе подписей нескольких участников создает одну. Полученная «мастер-подпись» – такой же длины, что и обычная однопользовательская подпись, что ведет к значительной экономии места.

Кроме того, комбинированные подписи значительно усложняют определение сущностей, подписавших (или не подписавших) транзакцию. В схемах m из m (чтобы потратить средства, транзакцию должны подписать все участники) вы даже не сможете отличить индивидуальные транзакции от мультисигнатурных.

Важно отметить, что подписи Шнорра являются ступенью для дальнейшего развития. После внедрения их можно использовать для улучшения криптографических технологий, таких как атомарные свопы и Lightning Network .

Когда подписи Шнорра будут реализованы в сети биткоина?

Мы не знаем. Как и в случае с большинством обновлений протокола биткоина, для того, чтобы договориться о включении подписи Шнорра, сообществу может потребоваться время на согласование изменений. Разработчики Bitcoin Core Питер Вулль, Джонас Ник и Тим Раффинг представили проект предложения по улучшению биткоина (BIP), но он нуждается в доработке.

Blockstream уже выпустил свою реализацию – MuSig . Поддерживая агрегацию подписей и ключей, он может служить основой для схемы подписи Шнорра биткоина.

Подписи Шнорра могут быть включены в код в виде софтфорка , а это означает, что изменение не приведет к разделению сети. Это будет бесшовное обновление. Тем не менее, было бы оптимистично предположить их интеграцию в ближайшем будущем – достижение консенсуса может занять пару лет.

Резюме

Подписи Шнорра – одна из наиболее ожидаемых вех на текущей дорожной карте биткоина. Всего лишь за одно обновление они обеспечат значительное улучшение конфиденциальности и масштабируемости . Кроме того, они подготовили почву для дальнейшего развития смарт-контрактов в сети биткоина и более продвинутых концепций, таких как Taproot .

Отказ от ответственности: на платформе опубликованы материалы и мнения третьих лиц. Не является финансовой рекомендацией. См. Правила и условия.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *