Подписи Шнорра и неизбежность в Bitcoin

Admin Offical AsicFox

Отзывы (0)

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

В тот момент, когда С.Накамото только приступил к работе над Bitcoin, ему нужно было выбрать, какой схемой подписи пользоваться, для открытой и общедоступной финансовой системы. Требования он понимал: необходимо было создать популярный, востребованный, безопасный алгоритм с исходным кодом. На тот момент, наиболее подходящей оказалась опция под названием «Elliptic Curve Digital Signature Algorithm», или «ECDSA».

Тогда, нативную поддержку ECDSA предусматривал OpenSSL, а именно открытый набор инструментов шифрования, который разработан шифропанками со стажем для того, чтобы повысить секретность онлайн коммуникаций. Если сравнивать ECDSA с остальными известными схемами, то можно сказать, что эта опция имеет огромные преимущества: маленькая требовательность по отношению к вычислительным ресурсам, а также небольшая длина ключей. Также обеспечивается пропорциональный уровень безопасности для схемы RSA. Приведем простой пример: 256-битный ключ-ECDSA имеет сравнительно одинаковый уровень безопасности с 3072-битным RSA притом, что его ключ намного меньше.

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

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

Как появились подписи Шнорра

Мы уже ранее говорили, схема цифровых подписей Шнорра имеет ряд преимуществ, если сравнить с ECDSA, и она далеко не новая. Ее изобрели в далеком 1980 году, криптограф и академик из Германии по имени Клаус-Петер Шнорр. Кстати, на тот момент он еще был профессором и ведущим исследователем университета во Франкфурте. Шнорр полагался на научные работы Д.Чаума, Т.Эль-Гамаля, А.Фьята и А.Шамира. И все же, перед тем, как опубликовать новую схему, ему пришлось заполнить большое количество патентов, а они, в свою очередь, долгие годы препятствовали ее прямому применению.

Довольно занимательно то, что алгоритм DSA, являющийся предшественником ECDSA, по своей сути был гибридом схем Шнорра и Эль-Гамаля, который создали только для того, чтобы обойти патенты самого Шнорра. В действительности, всего через 60 дней после того, как К.Шнорру был выдан американский патент, прародитель DSA, Национальный институт стандартов и технологий Соединенных Штатов Америки, тоже успел оформить патент для собственного решения. Затем Шнорр начал более тщательно защищать свои патенты, строго ответив критикам в рассылке Coderpunks.

Через 20 лет после того, как была представлена схема подписи Шнорра, в 2008 г., как раз истек срок действия патента Клауса. Так совпало, что в этом же году С.Накамото познакомил мир с Bitcoin. Подписи Шнорра на тот момент еще не были востребованными и стандартизированными, однако ими уже можно было пользоваться. Скорее всего, именно поэтому С.Накамото решил выбрать ECDSA. На удивление, современные математики и криптографы утверждают, что данный алгоритм ужасен, но ECDSA по-прежнему широко применяется, а тогда он был самой безопасной опцией для Bitcoin.

Подписи Шнорра в Bitcoin

Если рассматривать схему подписей Шнорра сегодня, то картина выглядит несколько менее эзотерично, а ее стандартизованные реализации, к примеру, ed25519 – уже успели стать популярной опцией для определенных альткоинов. Беседы неформального характера о возможной реализации подписей Шнорра в сети Bitcoin приближаются к некой ветке форума BitcoinTalk, которая датируется 2014 г. Однако данное предложение формализовано лишь спустя пару лет исследований и экспериментов, когда П.Вуйле создал Schnorr BIP. А теперь рассмотрим всю спецификацию, а также некоторые технические аспекты будущей реализации подписей Шнорра, потенциально обладающие такими преимуществами перед ECDSA:

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

Перечисленные пункты можно по праву считать преимуществами подписей Шнорра над ECDSA. Доказательство безопасности и негибкость – на самом деле, весьма существенное основание для софт-форка. Однако самым уникальным свойством является все же линейность. В основном, это дает возможность некоторым людям, подписывать переводы при помощи мультиподписи и объединять все открытые ключи в один единственный, который представляет всю группу. А называется такое свойство – агрегированием ключей.

Преимущества подобного объединения не стоит недооценивать. Так как в ECDSA не существует нативной поддержки мультиподписей, в сети Bitcoin их нужно реализовать при помощи стандартизированного смарт-контракта, который называется «Pay-to-ScriptHash». Пользователям он дает возможность добавить условия расходования, именуемые обременениями с целью показать, каким образом можно потратить средства.

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

Еще одной весомой проблемой с P2SH принято считать то, что он дает маленькие гарантии секретности и приватности. В BIP13 было указано, что для  P2SH-переводов нужно, чтобы каждый адрес начинался исключительно с цифры 3. Благодаря такому подходу блокчейн-аналитики можно быстро распознать все P2SH-переводы в сети, а также с удивительной точностью определить адреса, которые принимают непосредственное участие в мультиподписи.

В данном примере, сеть будет знать, как о существовании переводов с наличием мультиподписи, так и о том, какое количество адресов принимает участие в нем, а также, кто конкретно подписал эту транзакцию. С точки зрения приватности, это не очень хорошо, например, для 2FA.

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

Первая итерация подписей Шнорра в Bitcoin значительно упростит опкоды OP_CHECKSIG, OP_CHECKMULTISIG, которые на данный момент применяются в ECDSA, в пользу обновленного класса опкодов, именуемого OP_CHECKDLS. DLS – это подпись с дискретным логарифмированием, которая дает возможность верифицировать подписи намного эффективнее, а также задействовать при этом, самое минимальное число опкодов.

В начале прошлого года Г.Максвелл, Э.Поэлстра, Я.Сеурин, П.Вуйле сделали публикацию уайтпэйпер новой схемы мультиподписи, которая называется MuSig и основывается на примере подписи Шнорра. Затем они стали работать над переводом предлагаемой схемы мультиподписи в специальный код, который был бы пригоден для применения.

Наиболее интересный момент в MuSig (в вопросе агрегирования ключей) – существующая возможность создавать приватные смарт-контракты за пределами блокчейна. Фактически, MuSig дает возможность участникам мультиподписи использовать обременения к таким ключам офчейн, причем не разглашая всех условий, а также обособленно от существующих правил консенсуса Bitcoin.

Э.Таунс зимой прошлого года стал первым разработчиком Bitcoin Core, который подготовил специальное полуформализованное предложение по вопросу активации подписей Шнорра. Его, кстати, даже представили в рассылке для разработчиков сети Bitcoin. Скорее всего, в ближайшие несколько месяцев возрастет число разговоров про возможный софт-форк в будущем.

В результате всего вышесказанного, первая итерация MuSig в Bitcoin сможет иметь поддержку агрегирования ключей, а это незамедлительно улучшит приватность мультиподписей, увеличит эффективность проверки переводов, сделает безопасность более надежной при помощи устранения всех сложностей, которые присущи ECDSA. Также, создаст возможность интегрировать смарт-контракты, например,Taproot.

Кросс-агрегирование входов транзакций – один из последующих шагов на пути к увеличению приватности Bitcoin

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

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

Г.Максвелл, П.Вуйле, Э.Таунс трудились над эволюционированием схемы смарт-контракта под названием «Taproot»  для того, чтобы сделать легче доступ к данному функционалу. Они прозвали такую схему «Generalized Taproot» либо G’root. Она позволит в недалеком будущем сделать легче переход от агрегирования ключей к кросс-агрегированию входов транзакций.

Кросс-агрегирование входов точно также увеличивает эффективность Bitcoin-транзакций. Однако важно то, что это помогает открыть возможности к реализации отдельных механизмов, направленных на сохранение приватности участников на уровне протокола Bitcoin.

Кросс-агрегирование входов имеет ключевой аспект, суть которого в том, что благодаря этому можно значительно сделать лучше CoinJoin-транзакции в сети Bitcoin.

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

Именно Г.Максвелл внес предложение о данной методике на BitcoinTalk еще в 2013 году. С того самого времени, она входила в перечень услуг сервисов JoinMarket, CoinShuffle, ShufflePuff, SharedCoin, DarkWallet. В  вариациях CoinJoin, например, Chaumian CoinJoin, очень сильно усовершенствовали саму оригинальную модель. Но так как приватность не против компании, они также хотят иметь весомое число пользователей для того, чтобы максимально эффективно перемешивать балансы абсолютно всех участников перевода.

Сегодня существует и дополнительная проблема с CoinJoin, а заключается она в будущем подверженности цензуре данного типа переводов. Необходимо принять во внимание также и то, что суть зачастую применяемого в блокчейн-аналитике эвристического правила состоит в отслеживании всех входов транзакций с целью определения количества акторов, которым могут принадлежать адреса. К примеру, если игрок А перевел игроку Б, скажем, 1,982723 биткоинов, то программа анализа блокчейна будет в состоянии отследить даже десятичные доли данного входа для того, чтобы иметь возможность размещать граф транзакций, или же историю разбиений на определенные частички, а также переходы прав на управление UTXO.

Чтобы предотвратить это, разные входы в CoinJoin-транзакции могут быть деноминированы, а по итогу для внешнего наблюдателя все участники данного перевода должны будут отправить одинаковую сумму. А вот вам еще пример: если пользователь Wasabi Wallet номинально отправит 0,1 биткоин в составе транзакции CoinJoin из ста участников. И хоть это не дает установить крепкую взаимосвязь между определенным получателем и отправителем, все же аналитик блокчейна сможет распознать транзакции, которые имеют номинально разные входы, а также порекомендовать собственным клиентам, цензурировать каждый адрес, принимающий в ней непосредственное участие.

Решить данную проблему можно благодаря кросс-агрегированию входов транзакции, а именно при помощи введения определенного механизма сокрытия информации прямо на уровне протокола. Фактически, это даст возможность создавать транзакции CoinJoin, которые основаны на подписях Шнорра, с множеством участников. Внешний наблюдатель будет воспринимать их, как обычные переводы с 1 участником. Благодаря такому подходу можно сделать проще имплементацию CoinJoin в наиболее востребованные кошельки, за счет чего повысится общее анонимное множество сети, или другими словами, число пользователей, которые применяют данный способ сохранения анонимности.

За счет специальных методик также можно решить проблему деноминирования до равных частей, например, Pay-to-EndPoint, который сочетает в себе самые первые наработки С.Накамото в вопросах приватности с CoinJoin, а входы переводов выдаются, как отправителям, так и получателям.

Подытожив все вышесказанное можно отметить, что технология P2EP совместима и обратно и, если применять ее совместно с подписями Шнорра, то можно значительно увеличить конфиденциальность Bitcoin, даже на базовом уровне.

Один выстрел в двух зайцев

Можно сделать предположение о том, что массовое принятие и распространение Bitcoin будет зависеть от надежности его гарантий приватности. Вместе с тем популярность Lightning Network, а также ее потенциал в сфере конфиденциальных переводов сформировал неуверенность в вопросах потенциального спроса на ончейн-расчеты после добычи крайнего Bitcoin. Так, важность и надобность гарантий  приватности, а также долговременная устойчивость Bitcoin при том условии, что награда за блок отсутствует, будут наиболее значимыми проблемами, которые связаны с биткоином. Не может не радовать тот факт, что механизмы обеспечения приватности, которые дают подписи Шнорра, потенциально решают сразу 2 данные проблемы.

Те, кто всерьез занимаются этой сферой, досконально изучили самые сложные технологии обеспечения приватности, в том числе и разные реализации кольцевых подписей, например, MimbleWimble, Confidential Transactions, zk-STARK, zk-SNARK, Bulletproof-подписи. Конечно, некоторые из них на данный момент довольно зрелые, чтобы включить их в основной слой Bitcoin, но они также до сих пор взаимосвязаны с единичными в истории рисками и компромиссами.Также, Bitcoin вообще не предрасположен к возникающим хард-форкам, а это дает повод сомневаться в существовании возможности введения поддержки любой их перечисленных технологий в Биткоин.

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

А если есть вариант достичь отличной приватности без внедрения данных технологий на основном слое Bitcoin?

Внедрение поддержки подписей Шнорра могло бы помочь с этим. Если представить, что в большей части Bitcoin-транзакций применялась функция кросс-агрегирования входов в совокупности с Pay-to-EndPoint, то выполнить вычисление определенных получателей и отправителей при помощи методов блокчейн-аналитики нельзя. Объем эмиссии Bitcoin по-прежнему проверить было бы можно, однако, при условии более серьезных гарантий приватности.

Когда существует спрос на приватность, тогда можно сделать предположение, что пользователи и бизнесы захотят принять пассивное участие в транзакциях CoinJoin таким образом, чтобы их кошельки могли постоянно перемешивать монеты, которые находятся на их балансе, в фоновом режиме. Тогда спрос на приватность приведет к увеличению комиссий за ончейн-переводы. Также как и с SegWit, пользователи самыми первыми выступят за принятие технологии, однако компаниям в определенный момент нужно будет начать следовать за трендом. Нужно это для того, чтобы не потерять свои позиции на рынке.  

Через некоторое время принятие данных технологий неизбежно приведет к старению блокчейн-аналитики, а также устранению из перечня нужных KYC-AML-процедур компаний, занимающихся блокчейном, также как и с наличными. В тот момент, когда вы внесли наличные на личный счет в банке, данная организация никогда не проверяет купюры на следы наркотиков, а если и найдет случайно, то не будет препятствовать зачислению этих банкнот. Сегодня не существует реальных причин, почему так же должно произойти и с Bitcoin, если не считать распространенность блокчейн-аналитики в совокупности с отрицательными моментами данных методов, как транзакции CoinJoin без подписей Шнорра.

В тот момент, когда выполнение KYC/AML-процедур в вопросах определенных адресов, а также UTXO утратит собственную актуальность, а фокус внимания переместится с балансов счетов на пользователей, тогда Bitcoin-компании смогут принять новый уровень приватности. Как правило, поле этого, приватность и взаимозаменяемость монет станут важной частью предложения потенциальных Bitcoin-компаний.

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

 

For the full operation of the site you need to enable JavaScript in your browser settings.