Что такое подписи Шнорра?

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

Предыстория

Разработчик подписей Шнорра ‒ немецкий профессор Клаус-Петер Шнорр. Прославленный математик и криптограф современности родился в 1943 году. В 1966 г. получил докторскую степень. А в 1991 г. представил технологию, вписавшую его имя, а точнее, фамилию, в историю криптографии.

К слову, его решение не было создано с нуля, а базировалось на схемах Эль-Гамаля и Фиата-Шамира. Ранние российские ГОСТы для электронных подписей тоже базировались на схеме Эль-Гамаля. На ней же базируется протокол ECDSA, используемый биткоином, но это уже скоро может измениться.

Также Клаус известен как автор определения алгоритмически случайной последовательности ‒ одного из ключевых в криптонауке.

За свои достижения Шнорр получил в 1993 г. премию Лейбница, а спустя ровно два десятилетия ‒ премию RSA.

Петер-Клаус Шнорр на церемонии награждения RSA
Петер-Клаус Шнорр на церемонии награждения RSA

После презентации свою технологию криптографических подписей Клаус-Петер запатентует. Однако, в 2008 году срок патентной защиты истек, что дало право всем желающим использовать решения немецкого математика. Конечно, наибольший интерес к нему проявят в зарождавшейся на тот момент сфере криптовалют. Для начала ‒ зачем это нужно и как работает?

Зачем нужны подписи Шнорра?

Здесь все просто: использование цифровых подписей Шнорра позволяет повысить конфиденциальность криптовалюты (или другой системы, где они используется), а заодно повысить масштабируемость.

Сравнение с ECDSA

В 2008 году, когда срок патентов на подписи истек, Сатоши Накамото только презентовал Белую книгу Биткоина. Сам биткоин начал свою работу годом позже, когда был добыт блок генезиса.

Работать со схемами Шнорра на тот момент было можно, но каких-либо стандартов еще не было, и решение оставалось малоизвестным. К тому же, известно, что Сатоши начала работу над BTC минимум в 2007 г., а значит, должен был выбирать из доступных решений, не защищенных патентом.

Таким стала ECDSA ‒ альтернатива подписям Шнорра, созданная для обхода патентов. Вклад в развитие ECDSA для сети биткоина сделал Питер Вюлле. Он же признает, что у этой технологии есть отдельные недостатки. С 2014 года Питер активно продвигает внедрение более эффективного оригинала ‒ Schnorr, и, похоже, свой цели он почти достиг.

Питер Вюлле (или Сатоши Накамото)
Питер Вюлле (или Сатоши Накамото)

Как и в случае с любым известным разработчиком, кое-кто видит в Питере того самого Сатоши Накамото. Возможно, не зря: Вюлле известен как создатель одной из главных биткоин-технологий ‒ SegWit, если коротко, обновления, призвавшего резко увеличить производительность сети за счет увеличения размеров блоков и уменьшить скорость. Обернулась презентация SegWit главным холиваром 2017 года и появлением Bitcoin Cash.

Чуть позже Вюлле представил Miniscript ‒ упрощенную версию языка Script, позволяющего писать смарт-контракты под Bitcoin. Да, так можно, хотя и с ограничениями.

Но вернемся к ECDSA и Schnorr. Одно из главных преимуществ подписей Шнорра перед ECDSA ‒ отсутствие возможности для хакеров изменить цифровые подписи и провести двойную трату.

Bitcoin Double Spend ‒ возможность злоумышленнику дважды потратить одни и те же монеты. Становится это возможным при успешном проведении атаки 51% ‒ взятии под контроль более, чем половины мощности сети. Больше о мощности сети ‒ хешрейте ‒ в нашем обзоре.

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

Не совсем монахи, но суть отображает точно Источник: freeton.house
Не совсем монахи, но суть отображает точно
Источник: freeton.house

И, конечно, подписи Шнорра, которые войдут в обновление Taproot биткоина, обещают уменьшение объемов данных, поступающих с транзакциями, а значит, повышение производительности сети.

Как работают подписи Шнорра?

Представим наших новых героев ‒ Алису и Базилио. Обычно это Боб, но нам надо было что-то сделать, чтобы вы не заскучали. Делают Алиса и Базилио все то же, что и другие пользователи криптосети ‒ совершают транзакции.

И им нужна подпись. Например, чтобы убедиться ‒ в сделке участвует именно Алиса, а не кто-то другой. Главная задача: каждый должен иметь возможность проверить, что подпись поставлена Алисой. С другой стороны, нужно обеспечить, чтобы, кроме Алисы, подпись поставить никто не смог. Для этого Алиса должна знать некий секрет. Такой секрет называется Trapdoor Function, или Функция с потайным входом.

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

На кривой есть некая точка P. С ней все предельно просто: P + P + P = 3 * P.

P ‒ это открытый ключ Алисы. Еще у Алисы есть закрытый ключ x.

Алиса и Базилио договариваются о подписании операции на точке G ‒ история о Буратино начинает играть новыми, совсем не детскими красками.

Глаза кота Базилио ярко говорят, что он все понял про криптографию
Глаза кота Базилио ярко говорят, что он все понял про криптографию

Алиса вычислит P = x * G, представив P публике, а x сохранив в секрете.

Дальше начинаются математические джунгли, где Базилио предстоит убедиться, что хеш-функция равна e ‒ одному из двух чисел, составляющих подпись.

Алиса, зная x, вычисляет второе число ‒ s, которое составит подпись, и отправляет оба значения Базилио.

Кольцевые подписи

Кольцевые подписи ‒ это расширение подписей Шнорра. Их суть в том, что подписать транзакцию может любой участник собравшейся группы, не раскрывая себя. Участвовать могут и два пользователя ‒ в этом случае сторонний наблюдатель также не сможет определить, кто из них ставит подпись.

Кольцевые подписи используются разработчиками анонимных криптовалют, включая Monero.

Taproot

А завершим мы обзор более масштабным Taproot.

В случае биткоина, подписи Шнорра планируется ввести с более масштабным обновлением Taproot. Taproot ‒ крупнейшее обновление BTC с момента появления SegWit. Разработчики учли прошлый, не совсем удачный опыт ‒ в этот раз обойдется без хардфорка и появления альтернативных версий биткоина.

Среди технологий в пакете:

  1. MAST (дерево Меркла) ‒ повышает конфиденциальность, расширяет возможности смарт-контрактов.
  2. P2SH ‒ повышает безопасность кошельков, позволяет взаимодействовать адресам, использующим разные способы защиты.

Вместе со Schnorr выглядит весьма интригующе. Оправдает ли себя? Скоро узнаем.

Понравилась статья? Поделиться с друзьями: