Мультипідпис (Multisig)

[ GUIDE / MULTISIG ]

Мультипідпис (Multisig)

16 хв читання · Гайд 7 з 7

Як налаштування з кількома ключами усувають єдині точки відмови — від базових кворумних політик до просунутих архітектур multisig для фізичних осіб та організацій.

Що таке multisig і як він захищає ваш Bitcoin?

Що таке Multisig?

Мультипідпис (multisig) — це модель безпеки, де для авторизації транзакції потрібно кілька окремих ключів. Замість одного приватного ключа, що контролює доступ до коштів, multisig-гаманець потребує визначеної кількості підтверджень від групи власників ключів.

Це виражається як M-з-N, де:

  • N — загальна кількість ключів у налаштуванні
  • M — мінімальна кількість ключів, необхідних для підпису (кворум)

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

Наприклад, у multisig 2-з-3 існує три ключі, але будь-які два з них можуть підписати транзакцію. Це означає:

  • Жоден окремий власник ключа не може викрасти кошти в односторонньому порядку
  • Втрата одного ключа все одно дозволяє відновлення за допомогою решти двох
  • Зловмисник повинен скомпрометувати два окремих, незалежно збережених ключі

Навіщо використовувати multisig-гаманець?

Навіщо використовувати Multisig?

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

Ключові переваги

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

Які поширені конфігурації multisig, такі як 2-з-3 та 3-з-5?

Поширені конфігурації

2-з-3 — Персональний суверенітет

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

  • Ключ 1апаратний гаманець вдома
  • Ключ 2 — апаратний гаманець (іншого виробника) в банківській комірці
  • Ключ 3 — резервна копія сіда на металевій пластині у безпечному місці довіреного члена сім'ї

Будь-які два можуть підписати. Втрата одного пристрою або локації не призводить до втрати коштів.

3-з-5 — Організаційне управління

Розроблено для бізнесу, DAO або сімейних трастів. П'ять власників ключів, три необхідні для підтвердження:

  • Розподіляє повноваження підпису між керівництвом
  • Витримує одночасну компрометацію або втрату двох ключів
  • Можна призначити ключі окремим особам, підрозділам або юридичним представникам

2-з-2 — Спільне зберігання

Два ключі, обидва обов'язкові. Корисно для:

  • Спільних рахунків (обидва подружжя повинні погодитись на витрати)
  • Сервісів спільного зберігання (ви тримаєте один ключ, довірений сервіс — інший)
Увага При 2-з-2 втрата будь-якого ключа означає безповоротну втрату всіх коштів. Резервування відсутнє. Використовуйте це лише коли обидва ключі мають надійні, незалежні резервні копії.

Як налаштувати ваш перший multisig-гаманець?

Налаштування вашого першого Multisig

Налаштування multisig-гаманця потребує ретельного планування. Ось загальний процес для налаштування 2-з-3:

  1. Оберіть програмне забезпечення-координатор — Sparrow Wallet, Electrum або Nunchuk — популярні варіанти з вбудованою підтримкою multisig
  2. Згенеруйте три незалежні ключі — бажано на трьох різних апаратних гаманцях від різних виробників
  3. Експортуйте розширені публічні ключі (xpub) з кожного пристрою
  4. Створіть multisig-гаманець у вашому координаторі, імпортувавши всі три xpub і встановивши кворум 2-з-3
  5. Зробіть резервну копію дескриптора гаманця — цей файл містить xpub та кворумну політику і необхідний для відновлення разом із сід-фразами
  6. Протестуйте налаштування — надішліть невелику суму, потім виконайте повну витрату, використовуючи два з трьох ключів, щоб переконатися, що все працює
  7. Збережіть ключі та резервні копії в окремих, безпечних місцях
Критично Файл дескриптора гаманця є таким само важливим, як і сід-фрази. Без нього ви не зможете відтворити multisig-гаманець, навіть якщо маєте всі три сіди. Зробіть його резервну копію разом з кожним сідом у кожній локації.

Як працюють Bitcoin Script та OP_CHECKMULTISIG?

Bitcoin Script та транзакції Multisig

Multisig у Bitcoin забезпечується на рівні протоколу через Bitcoin Script — стекову мову програмування, вбудовану в кожну транзакцію. Умови витрачання контролюються не програмним забезпеченням гаманця; вони перевіряються кожним вузлом мережі.

OP_CHECKMULTISIG

Оригінальний механізм multisig використовує опкод OP_CHECKMULTISIG. Скрипт погашення 2-з-3 виглядає так:

Скрипт погашення Multisig 2-з-3
OP_2 <pubkey_1> <pubkey_2> <pubkey_3> OP_3 OP_CHECKMULTISIG

При витрачанні witness/scriptSig повинен містити рівно M дійсних підписів, що відповідають M з N перелічених публічних ключів.

Обгортання скриптів (P2SH, P2WSH)

  • P2SH (Pay-to-Script-Hash) — скрипт погашення хешується; лише хеш з'являється у виході. Повний скрипт розкривається при витрачанні. Адреси починаються з 3.
  • P2WSH (Pay-to-Witness-Script-Hash) — версія SegWit. Переносить дані свідка за межі базової транзакції, зменшуючи ефективний розмір і комісії. Адреси починаються з bc1q (довші за single-sig адреси bc1q).
  • P2SH-P2WSH — вкладений SegWit для зворотної сумісності. Зовнішній P2SH обгортає внутрішній P2WSH. Адреси починаються з 3.
Ончейн-відбиток Традиційний multisig розкриває кворумну політику (M-з-N) та всі публічні ключі при витрачанні UTXO. Це питання конфіденційності — спостерігач може бачити, що вихід контролювався multisig-налаштуванням, і визначити точну політику. Taproot (див. нижче) вирішує це обмеження.

Що таке дескриптори виходів і як вони допомагають відновленню multisig?

Дескриптори виходів та відновлення гаманця

Дескриптори виходів (визначені в BIP 380-386) — це стандартизований спосіб опису умов витрачання для набору адрес. Для multisig-гаманців дескриптор кодує все необхідне для відтворення гаманця:

Дескриптор виходу (2-з-3)
wsh(sortedmulti(2, [fingerprint_1/48h/0h/0h/2h]xpub_1/0/*, [fingerprint_2/48h/0h/0h/2h]xpub_2/0/*, [fingerprint_3/48h/0h/0h/2h]xpub_3/0/* ))#checksum

Компоненти дескриптора

  • wsh() — тип обгортки (Witness Script Hash = нативний SegWit)
  • sortedmulti(2, ...) — кворум 2, з ключами, відсортованими лексикографічно (BIP67)
  • [fingerprint/path]xpub — розширений публічний ключ кожного співпідписанта з його шляхом деривації та майстер-відбитком
  • /0/* — адреси для отримання (для решти використовується /1/*)
  • #checksum — контрольна сума дескриптора для перевірки цілісності

Вимоги до відновлення

Для повного відновлення multisig-гаманця вам потрібно:

  1. M сід-фраз (для можливості підпису)
  2. Усі N xpub (для відтворення набору адрес)
  3. Кворумна політика (M-з-N)
  4. Шляхи деривації для кожного співпідписанта
  5. Тип скрипта (P2SH, P2WSH, P2TR)
Стратегія резервного копіювання Зберігайте повний дескриптор гаманця разом з кожною резервною копією сід-фрази. Без дескриптора наявність M сід-фраз є недостатньою — ви не будете знати, які адреси виводити або який шаблон скрипта використовувати. Кожна локація резервного копіювання повинна містити: одну сід-фразу + повний файл дескриптора.

Як Taproot покращує конфіденційність multisig за допомогою MuSig2?

Taproot Multisig та MuSig2

Оновлення Bitcoin Taproot (активоване у листопаді 2021) ввело підписи Шнорра та MAST (Merkelized Abstract Syntax Trees), що фундаментально покращують конфіденційність та ефективність multisig.

Витрачання через ключовий шлях з MuSig2

MuSig2 — це схема мультипідпису на основі Шнорра, де всі N учасників спільно створюють один агрегований підпис. Ончейн це нерозрізненне від звичайної транзакції Taproot з одним підписом:

  • Лише один 64-байтний підпис Шнорра з'являється у свідку
  • Вихід виглядає ідентично одноключовому виходу P2TR
  • Жодні публічні ключі, кворумні політики чи складність скрипта не розкриваються
  • Комісії за транзакції ідентичні single-sig Taproot

Резервний скриптовий шлях

Якщо не всі N підписантів доступні (наприклад, для порогу M-з-N, де M < N), транзакція може використати лист Tapscript, що кодує порогову політику. Лише конкретна використана гілка розкривається ончейн; невикористані гілки залишаються прихованими в дереві Меркла.

Структура Taproot виходу
Taproot Output
Key Path
MuSig2(всі N ключів)
кооперативне · найприватніше
Script Path (MAST)
Лист 1
поріг 2-з-3
Лист 2
timelock + ключ D
Лист 3
поріг 3-з-5
Перевага конфіденційності З Taproot + MuSig2 multisig-налаштування виглядає точно як звичайний платіж ончейн. Це значне покращення конфіденційності порівняно з P2WSH multisig, де скрипт розкриває точну політику M-з-N та всі залучені публічні ключі при витрачанні.

Як керувати ключами та різноманітністю вендорів у multisig?

Управління ключами та різноманітність вендорів

Безпека multisig-налаштування залежить не лише від кворумної політики, а й від незалежності та різноманітності ключів.

Принцип різноманітності вендорів

Використовуйте апаратні гаманці від різних виробників для кожного ключа у вашому multisig-налаштуванні. Це захищає від:

  • Вразливостей прошивки — zero-day експлойт у прошивці одного вендора може скомпрометувати лише один ключ
  • Атак на ланцюг постачання — скомпрометована виробнича партія впливає лише на один пристрій
  • Корельованих відмов — апаратний дефект, специфічний для однієї моделі, не впливає на інші бренди

Географічний розподіл

Зберігайте ключі у фізично окремих місцях для захисту від:

  • Стихійних лих (пожежа, повінь, землетрус), що знищують кілька ключів
  • Крадіжки зі зломом або фізичної атаки на одну локацію
  • Юридичного вилучення або державної конфіскації в одній юрисдикції

Операційна незалежність

Для організаційного multisig кожен власник ключа повинен:

  • Генерувати та зберігати свій ключ незалежно, не ділячись сідом з іншими
  • Використовувати власне обладнання та інфраструктуру безпечного зберігання
  • Не мати доступу до більш ніж одного ключа (порушення цього зводить нанівець мету multisig)
Антипатерн Генерація всіх multisig-ключів на одному пристрої, зберігання всіх сідів в одному місці або тримання всіх ключів однією особою перетворює ваш multisig на дорогий single-sig із зайвою складністю. Вся цінність multisig полягає в незалежності між підписантами.

Що таке сервіси спільного зберігання та як вони працюють?

Сервіси спільного зберігання

Спільне зберігання — це модель, де сторонній сервіс тримає один ключ у multisig-налаштуванні, забезпечуючи допомогу з відновленням та додаткову безпеку без отримання кастодіального контролю над вашими коштами.

Типова модель спільного зберігання 2-з-3

  • Ключ 1 — утримується вами (апаратний гаманець)
  • Ключ 2 — утримується сервісом спільного зберігання
  • Ключ 3 — утримується вами в холодному сховищі (аварійне відновлення)

Звичайні транзакції потребують ваш ключ (Ключ 1) та співпідпис сервісу (Ключ 2). Якщо сервіс зникне або перестане відповідати, ви відновлюєте доступ за допомогою Ключів 1 + 3. Якщо ви втратите свій основний пристрій, ви відновлюєте доступ за допомогою Ключів 2 + 3 (після верифікації особи сервісом).

Оцінка спільного зберігання

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

[ ЧАСТІ ЗАПИТАННЯ ]

FAQ

Перевірте свої знання

Пройдіть короткий квіз, щоб перевірити розуміння цього гайду.

Пройти квіз