Порівняння мультипідпису, схеми Шаміра та MPC

Порівняння мультипідпису, схеми Шаміра та MPC

Детальний огляд моделей порогової безпеки для розподіленого зберігання біткоїна.

Ті, хто володіє значними біткоїн-статками, повинні вважати структуру зберігання з єдиною точкою відмови неприйнятною. Якщо втрата чи крадіжка хоч одного компоненту гаманця може призвести до втрати коштів, такий варіант занадто небезпечний. Ніхто не бажає ризикувати значними заощадженнями.

Для бізнесу, уряду чи іншої установи, яка хоче убезпечити біткоїн-активи, усунення єдиних точок відмови – це не просто примха, а необхідна умова. Єдині моделі зберігання, які варто розглянути цим організаціям – це ті, які включають порогову вимогу для доступу до коштів. Порогова вимога означає структуру з кількома окремо захищеними компонентами, причому для схвалення будь-якого виведення коштів потрібна підмножина цих компонентів. Це єдиний спосіб досягти безпеки з повним усуненням окремих точок відмови.

У цій статті ми поговоримо про те, як застосовувати порогову безпеку, використовуючи три різні методи: мультипідпис, схему поділу секрету Шаміра (схема Шаміра) та багатосторонні обчислення (MPC). Ми також розглянемо недоліки, пов'язані з кожним підходом, і те, як установа може вибрати найкраще рішення для задоволення своїх потреб.

Що таке мультипідпис?

Нагадаємо, що гаманець з мультипідписом має кілька закритих ключів і може бути налаштований так, щоб для підпису транзакції була потрібна певна кількість (порогове значення) цих закритих ключів. Підписи можна створювати у різний час та в різних місцях, що дозволяє фізично розділяти ключі. Після створення порогової кількості підписів їх можна об'єднати в одну біткоїн-транзакцію для витрати коштів.

Порівняння мультипідпису, схеми Шаміра та MPC
Кворум «2 з 3» для мультипідпису, коли для виведення коштів потрібне порогове значення з двох унікальних підписів від двох ключів.

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

Сатоші Накамото заклав основу для мультипідпису, коли було випущено біткоїн, очікуючи, що це може стати популярним механізмом захисту коштів. Однак тільки після софтфорку P2SH у 2012 році мультипідпис став широко вживаним інструментом. Відтоді мультипідпис зарекомендував себе як перевірена модель безпеки для кількох типів адрес.

Що таке схема Шаміра?

Схема поділу секрету Шаміра – це алгоритм обміну секретами, розроблений відомим криптографом Аді Шаміром у 1979 році. Його можна використовувати як ще одну порогову вимогу для захисту біткоїна. Схема Шаміра дозволяє користувачам розділити ключ на кілька частин, причому для повторного складання ключа потрібна лише певна кількість частин. Цей підхід можна використовувати для створення кворумів 2 з 3 або 3 з 5, подібно до мультипідпису.

Порівняння мультипідпису, схеми Шаміра та MPC
Схема Шаміра «2 з 3» коли будь-які дві частини, представлені кольоровими фігурами, можуть повторно зібрати ключ до гаманця з єдиним підписом.

Однак цей підхід, як і раніше, призводить до появи окремих точок відмови в певних випадках протягом життєвого циклу. Одним із прикладів є ситуація, коли ключ розділяється на частини. Ця операція зазвичай виконується на одному пристрої, в один час і в одному місці. Якщо зловмисник скомпрометує цей пристрій, процес генерації ключа або процес створення частин, він скомпрометує ключ. Інший приклад: користувачеві необхідно повторно зібрати ключ для підписання транзакції. Необхідно об'єднати порогову кількість частин ключа, знову ж таки на одному пристрої, в один час і в одному місці, чим може скористатися зловмисник.

Досить простий метод реалізації схеми Шаміра для зберігання криптовалюти – використання резервної копії Шаміра, розробленої Satoshi Labs у 2017 році. Цю опцію можна знайти в деяких моделях апаратних гаманців Trezor.

Що таке MPC?

MPC, або багатосторонні обчислення, це сфера криптографії, яка виникла в 1970-х роках. Мета MPC – дозволити кільком учасникам спільно виконувати обчислення, при цьому внесок кожного учасника в обчислення не розкривається решті групи і, отже, може залишатися конфіденційним. Це дозволяє кільком сторонам співпрацювати у різних сценаріях без необхідності довіряти одне одному.

Що стосується зберігання біткоїна MPC передбачає використання розподілених «частин» ключа, подібно до схеми Шаміра. Однак, на відміну від схеми Шаміра, частини не відокремлюються від закритого ключа і не використовуються для відновлення закритого ключа. Натомість кілька сторін обчислюють єдиний підпис безпосередньо на основі порогового значення своїх частин ключа.

Порівняння мультипідпису, схеми Шаміра та MPC
Схема MPC «2 з 3», коли будь-які дві частини ключа, представлені кольоровими фігурами, можуть створювати підпис без попереднього складання ключа.

На відміну від схеми Шаміра, MPC не передбачає виникнення єдиної точки відмови. Частини MPC можуть генеруватися окремо одна від одної, і їх ніколи не потрібно обʼєднувати для роботи гаманця. Інформацію, отриману від частини, можна передати іншим учасникам без розкриття частки.

Оскільки біткоїн та інші криптовалюти в основному використовують систему підпису на основі ECDSA (алгоритм цифрового підпису на еліптичних кривих), MPC довелося адаптувати для цього контексту. Перші практичні порогові протоколи для ECDSA були опубліковані у 2018 році. [GG18, LNR18]

Недоліки порогових моделей

Порівнюючи три порогові моделі безпеки, необхідно визначити сильні та слабкі сторони кожного варіанта.

Недоліки мультипідпису

Мультипідпис – це стандартизований спосіб досягнення порогової безпеки, вбудований у протокол Біткоїна. Така конструкція вважається відносно простою та надійною. Бар'єр для входу також невеликий: якщо користувач біткоїна знає, як працювати з гаманцем з єдиним підписом, то навчитися налаштовувати та використовувати гаманець з мультипідписом також не викличе труднощів.

Під час ініціалізації гаманця з мультипідписом, адреси, створені для отримання біткоїна в гаманець, отримують вбудовану порогову вимогу. Після надходження коштів на адресу з мультипідписом біткоїн стає захищеним незмінним контрактом, який, по суті, записаний у сам блокчейн. Єдиний спосіб змінити контракт (наприклад, змінити політику контролю доступу, налаштувати ключі, які захищають біткоїн) – це перемістити біткоїн на нову адресу, створену з використанням іншого контракту. Для кількох сторін, які співпрацюють для захисту біткоїна, цей механізм незмінних контрактів базового рівня може забезпечити найвищий ступінь упевненості в тому, що гроші захищені відповідно до намірів усіх сторін. Якби відбулася якась фундаментальна зміна, це стало б очевидним для всіх у результаті публічної транзакції, і ключі, які б схвалили цю зміну, стали б відомі. Тому провайдери послуг спільного зберігання, такі як Unchained, покладаються на мультипідпис для своїх продуктів.

Однак публічне розміщення контрактів у блокчейні пов'язане з певними ризиками. Оскільки біткоїн витрачається з адреси з мультипідписом, політика контролю доступу для цієї адреси повинна бути опублікована в блокчейні. Потім спостерігачі зможуть переглянути детальну інформацію про використаний кворум мультипідпису. Хоча кошти, що залишилися, можна легко перенести на нову адресу в майбутньому, той факт, що минулі заходи безпеки розкриваються, не ідеальний. Крім того, необхідність переміщення біткоїна з однієї адреси на іншу для коригування політики контролю доступу означає, що в цьому процесі завжди присутні комісії за транзакцію (і чим більший кворум, тим дорожче це обійдеться).

Для організацій, які зберігають альткоїни, такі як біржі криптовалют, використання мультипідпису може становити більшу проблему, ніж два інші методи порогової безпеки. Це пов'язано з тим, що на рівні блокчейну встановлено пороговий кворум для мультипідпису, при чому різні криптовалюти використовують різні блокчейни. Багато криптовалют взагалі не підтримують нативну реалізацію мультипідпису. Тим часом схема Шаміра та MPC забезпечують дотримання порогових кворумів на рівні ключів і публічно виглядають як транзакції з єдиним підписом. Оскільки майже всі криптовалюти підтримують подібний стандарт зберігання з єдиним підписом (один і той же ключ можна використовувати для більшості криптовалют), це дозволяє схемі Шаміра та MPC бути більш сумісними на кроссчейн-рівні.

Недоліки схеми Шаміра

Схема Шаміра пропонує інший спосіб розробки порогових вимог на основі відносно простої та перевіреної криптографії. Для цілей зберігання криптовалюти схема Шаміра також має поширений метод з низьким бар'єром входу (резервне копіювання Шаміра). Якщо у вас є досвід використання звичайного гаманця з єдиним підписом, то й проблем під час використання Trezor для налаштування гаманця з резервною копією Шаміра виникнути не повинно.

На відміну від мультипідпису, схема Шаміра працює повністю за межами загальнодоступних адрес і транзакцій у блокчейні. Натомість порогова вимога визначається тим, як розділено закритий ключ. Це означає, що поділ ключа на частини та подальше повторне складання можуть виконуватися конфіденційно, так що тільки люди, які беруть участь у зберіганні біткоїна, знають, що використовується схема Шаміра. Крім переваг конфіденційності, збереження порогової структури за межами блокчейну також означає, що транзакції за схемою Шаміра не призведуть до збільшення комісій, і її можна використовувати для захисту різних криптовалют. Хоча більшість криптовалют мають власні унікальні блокчейни, всі вони можуть використовувати один і той же закритий ключ як точку доступу, і цей ключ, своєю чергою, можна розділити за допомогою схеми Шаміра.

Найбільший недолік схеми Шаміра вже згадувався вище – закритий ключ повинен існувати в одному місці в один час, перш ніж він буде вперше розділений на частини, а також коли частини повторно об'єднуються для схвалення виведення коштів. Ці вразливості створюють тимчасові єдині точки відмови, а це означає, що схема Шаміра сама по собі не забезпечує достатній захист для розподіленого зберігання, на відміну від мультипідпису або MPC.

Крім того, схема Шаміра не пропонує методу налаштування політики контролю доступу. Після того, як приватний ключ буде розділено згідно з кворумом, ці частки завжди зберігатимуть можливість відтворити цей ключ. Якщо кошти охороняються групою за допомогою схеми Шаміра, і один із членів групи її покидає, безпечне відкликання дозволів для цієї людини може стати проблемою. Члени групи, що залишилися, можуть повторно зібрати ключ, а потім розділити його на нові частини, але старі частини необхідно буде знищити перевіреним способом. В іншому випадку кошти доведеться відправити на новий гаманець, захищений іншим ключем.

Недоліки MPC

Як і схема Шаміра, MPC забезпечує дотримання порогових вимог лише на рівні ключа, а не на рівні блокчейну. Це відкриває аналогічні переваги, такі як надання вищого ступеня конфіденційності, уникнення збільшення комісій за транзакції та можливість використання однієї структури зберігання MPC для різних криптовалют.

Важливо те, що MPC вдається уникнути тимчасових єдиних точок відмови, які виникають під час використання схеми Шаміра. Використовуючи інший криптографічний метод, спільні ключі можуть існувати окремо з моменту створення гаманця і навіть залишатися окремими під час підписання транзакцій для виведення коштів. Більшість реалізацій MPC також включають власний метод налаштування політики контролю доступу (створення нового кворуму частин) без необхідності надсилати кошти на нову адресу гаманця.

Проте MPC для порогового ECDSA вважається дуже складною криптографією, і немає узгодженого стандарту його використання. Існує безліч різних протоколів, перші два з яких були розроблені у 2018 році Дженнаро та Голдфедером [GG18] та Лінделлом та ін. [LNR18]. Хоча нові протоколи вносять певні покращення порівняно зі старими, вони, схоже, мають менше можливостей для рецензування, аудиту та інших випробувань.

Вищий рівень складності, пов'язаний з MPC, розширює поверхню атаки. Завдяки додатковим компонентам та процедурам з'являється більше можливостей для помилок та потенційних уразливостей безпеки. Докази серйозних недоліків безпеки, у тому числі атаки з повним вилученням закритого ключа, з'являлися вже не раз, впливаючи на деякі порогові протоколи ECDSA.

Приклади вразливостей:

AS20, вересень 2020 р., впливає на реалізацію GG18.

Alpha-Rays, грудень 2021 р., впливає на GG18 та GG20.

TSSHOCK, серпень 2023 р., впливає на GG18, GG20 та CGG+21.

BitForge, серпень 2023 р., впливає на GG18 та GG20.

«Криптографії потрібно пройти випробування часом, щоб досягти довговічності, і ці нові протоколи явно не пройшли випробування часом [...] це дослідження не було готове до впровадження чи широкого прийняття. На мою думку, реалізація та проведення таких досліджень досить небезпечне». – Технічний директор Ledger Шарль Гійме щодо Alpha-Rays, грудень 2021 року.

«[MPC] складніший, можливо більше помилок. Розширені криптопротоколи вразливі в деталях та реалізації. Я більш впевнено ставлюся до мультипідпису, який дуже простий і надійний». – пост відомого криптографа Адама Бека, січень 2023 року.

MPC також обмежений тим, хто може реально його використовувати. Як згадувалося раніше, порогове значення ECDSA дуже складне. У звичайної людини немає інструментів для безпечного або легкого самостійного налаштування MPC. Хоча деякі компанії пропонують гаманці MPC для спільного зберігання, які досить прості у використанні, ці компанії не пропонують користувачам простий спосіб повернути кошти у разі припинення їхньої роботи (або взагалі не пропонують жодного способу, і в цьому випадку вони є єдиною точкою відмови). Оскільки мультипідпис є простим і відкритим стандартом, компанії, які надають рішення для спільного зберігання з його використанням, можуть пропонувати прості у використанні інструменти відновлення з відкритим кодом. Це створює пряму можливість для клієнтів повернути свої кошти, навіть якщо компанія, яка надає послуги зберігання, більше не може допомогти.

Яка модель краща?

Як бачите, існує безліч недоліків у використанні мультипідпису, схеми Шаміра та MPC. Їх можна розмістити у таблиці для наочного порівняння:

Порівняння мультипідпису, схеми Шаміра та MPC
Сильні (синій) та слабкі сторони (червоний) кожного методу реалізації порогової безпеки. Сірий може бути силою чи слабкістю залежно від ситуації.

Якщо компанія спеціалізується на зберіганні різних криптовалют, вона може бути мотивована найняти команду професіоналів для ретельного налаштування моделі зберігання MPC. Однак, якщо компанія або окрема особа обирають простий і надійний спосіб захистити біткоїн протягом тривалого терміну, використання мультипідпису та прийняття недоліків щодо конфіденційності може бути для них кращим варіантом. Схема Шаміра рідко використовується сама по собі через її нездатність забезпечити постійне дотримання порогових вимог для розподіленого зберігання.

Об'єднання моделей для спільного зберігання

Хоча мультипідпис, схема Шаміра та MPC часто розглядаються як конкурентні моделі безпеки, у загальну структуру зберігання можна включити більше ніж одну з них. Як було описано раніше, схема Шаміра та MPC дозволяють використовувати певну кількість частин ключа для створення підпису транзакції. Якщо підпис призначається для витрачання коштів із гаманця з єдиним підписом, то для завершення транзакції більше нічого не потрібно. Однак, якщо підпис призначений для витрачання коштів з гаманця з мультипідписом, можуть знадобитися додаткові підписи інших ключів.

Порівняння мультипідпису, схеми Шаміра та MPC
Структура мультипідпису «2 з 3»

Хоча таке поєднання методів може здатися непотрібним і енергозатратним, у деяких випадках воно справді має практичний сенс. Зі зростанням популярності зберігачів ключів та розподіленого зберігання зростає кількість спеціалізованих компаній, яким приватні особи та установи доручають збереження одного з ключів до гаманця з мультипідписом. Ці розподілені зберігачі можуть допомогти знизити ризики. Але як саме вони повинні захищати єдиний ключ, за який несуть відповідальність?

Схема Шаміра чи MPC – це можлива стратегія для мінімізації чи усунення окремих точок відмови у цьому випадку. Під час спільного зберігання можна розробити систему, у якій кілька осіб у компанії володіють частинами ключа, і підпис може бути створений лише за згодою порогової кількості цих осіб. Крім того, якщо атака відбудеться під час повторного складання ключа відповідно до схеми Шаміра або реалізація MPC виявиться схильною до нової вразливості вилучення ключа, подібної до перерахованих раніше, тоді кошти клієнта не опиняться під негайною загрозою. У зберігача буде час відреагувати та вирішити проблему, тоді як біткоїн залишиться захищеним за допомогою ширшого гаманця з мультипідписом.

Використання мультипідпису для створення порогової вимоги як основного незмінного контракту, а потім призначення професійних зберігачів ключів для захисту кожного ключа з мультипідписом з використанням свого власного порогу згідно зі схемою Шаміра або MPC, є, поза всяким сумнівом, найбезпечнішим методом довгострокового забезпечення безпеки біткоїна.

Нові можливості завдяки Taproot

У листопаді 2021 року відбувся софтфорк Taproot, в результаті якого в екосистемі Біткоїна з'явилися нові інструменти. Деякі з цих інструментів впливають на майбутнє розподіленого зберігання біткоїна, пропонуючи певні покращення та можливості.

  • Підписи Шнорра: Алгоритм підпису Шнорра тепер доступний у Біткоїні як альтернатива ECDSA. Використання MPC на основі Шнорра призводить до створення порогових схем безпеки, які є набагато менш складними, і забезпечує більшу впевненість у безпеці порівняно зі згаданими раніше протоколами ECDSA. FROST – це провідний протокол порогового підпису Шнорра, тоді як MuSig2 доступний спеціально для кворумів N-із-N. Обидві ці схеми підпису можуть стати стандартизованими інструментами в Біткоїн-індустрії, і очікується, що вони зроблять MPC доступним для звичайних людей, з користувацьким досвідом, подібним до мультипідпису.
  • Конфіденційність на основі типу скрипту: адреси Pay-to-Taproot (P2TR) – це новий тип адреси, який дозволяє біткоїн-адресам з мультипідписом виглядати ідентичними до адрес, які використовуються для гаманців з єдиним підписом. Це забезпечує значне покращення конфіденційності, оскільки означає, що сама біткоїн-адреса не дає жодних підказок про модель безпеки її власника, наприклад, чи використовує він мультипідпис.
  • Кілька шляхів витрачання: адреси P2TR також можуть містити кілька вбудованих шляхів витрачання. Це може створити нові способи структурування порогового рівня безпеки для розподіленого зберігання, як описано в BIP 342 (обґрунтування, розділ 5). Наприклад, користувач може створити сценарій витрати з мультипідписом N-із-N для кожної комбінації ключів, які можуть витрачати кошти. Замість того, щоб створювати кворум 2 з 3 з ключами A, B і C, аналогічного результату можна досягти з трьома окремими кворумами 2 з 2 як можливих шляхів витрачання – один з ключами A і B, інший з ключами A і C і третій з ключами B і C. Ця стратегія може підвищити конфіденційність, оскільки буде розкрито лише той шлях витрачання, який зрештою буде використано. Подібну концепцію можна застосувати до кворумів MPC, що дозволяє використовувати MuSig2 для порогових значень.

Ці інструменти Taproot є відносно новими, і їхнє впровадження все ще знаходиться на ранньому етапі. Багато Біткоїн-програм та сервісів поки не пропонують повну підтримку того, що може запропонувати Taproot. Також варто зазначити, що для більшості альткоїнів ці інструменти початково недоступні.

Підсумок

Дедалі більше установ виявляє інтерес до забезпечення захисту біткоїн-активів і потребує ефективних рішень. Першорядні завдання – запобігти єдиним точкам відмови та мінімізувати ризики контрагента. Найкращий спосіб задовольнити ці критерії – використовувати структуру з кількома підписами, в якій ключі можуть бути розподілені між різними зберігачами, жоден з яких не матиме одностороннього контролю над біткоїном. Кожен зберігач ключів може використовувати схему Шаміра або MPC, щоб додати додатковий пороговий захист для конкретного ключа.

Упередженість провідних ЗМІ – це погано, але буде лише гірше Упередженість провідних ЗМІ – це погано, але буде лише гірше Боротьба з упередженістю ЗМІ важлива в епоху цифрових технологій, коли ця упередженість стає дедалі очевиднішою. Фернандо Ніколіч 21 липня 2024
Недоліки самостійного зберігання за допомогою seed-фрази Недоліки самостійного зберігання за допомогою seed-фрази Усталені методи забезпечення безпеки не відповідають очікуванням дедалі більшого сегмента ринку Біткоїн-користувачів. Алекс Бержерон 20 липня 2024
Foundation Devices планує створити iPhone у сфері апаратного забезпечення Біткоїна Foundation Devices планує створити iPhone у сфері апаратного забезпечення Біткоїна Співзасновник і генеральний директор Foundation Devices Зак Герберт прагне створити Біткоїн-продукти, які будуть такими ж елегантними та зручними у використанні, як пристрої Apple, але при цьому захищатимуть конфіденційність користувачів та будуть створені на відкритому коді. Френк Корва 16 липня 2024