Підписи Шнорра і неминучість у 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.