Режимы отказа multisig и как SSP их смягчает

·10 мин. чтения·Автор: SSP Editorial Team
Тёмно-синяя обложка SSP с иконками щита, ключа, перечёркнутого глаза и процессора на тёмном градиенте, глава режимов отказа серии Multisig Deep Dive

Это закрывающая статья Multisig Deep Dive. На протяжении шести предыдущих материалов мы строили картину: что такое multisig, какой порог выбрать, монтаж BIP48, агрегация Schnorr, сравнение с social-recovery, и single-signer UX, который связывает всё это для реальных людей. Абстракция работает хорошо в нормальных условиях. Эта статья — про аномальные условия.

У каждого multisig-кошелька есть предсказуемые режимы отказа — места, где удобная single-signer-абстракция ломается и нижележащий протокол становится видимым. Знать, какие отказы соответствуют каким восстановлениям — это разница между стрессовым инцидентом и рутинным. Мы пройдём пять из них, в порядке наибольшей вероятности, с тем, что SSP действительно делает (и что должен делать ты) в каждом случае.

TL;DR

  • Режим 1: одно устройство потеряно, seed этого устройства цел. Тривиальное восстановление — установи SSP на сменное устройство, восстанови из seed, перепариси. Средства не под угрозой.
  • Режим 2: одно устройство потеряно и его seed потерян. Кошелёк повреждён, но не потерян: трать с оставшегося устройства, используя второй seed как единственный ключ восстановления, потом перенеси средства в свежепарированный кошелёк.
  • Режим 3: одно устройство скомпрометировано malware/phishing. Средства в безопасности, потому что у атакующего только одна из двух подписей. Ты сдерживаешь брешь, перепаривая с чистым устройством; SSP не может быть опустошён с одного скомпрометированного устройства.
  • Режим 4: координационный слой SSP недоступен. Неудобно, не катастрофически. Координация — это транспорт метаданных; нижележащий multisig-кошелёк восстановим любым BIP48-совместимым ПО, используя только два seed.
  • Режим 5: оба устройства и обе бумажки с seed уничтожены одновременно. Это единственный катастрофический режим отказа, и это также тот, для которого твой self-custody-чек-лист спроектирован, чтобы сделать его географически неправдоподобным.

Прочитать эту статью один раз достаточно. Запоминать не нужно. Суть в том, что для каждого отказа, о котором твой будущий ты может беспокоиться, есть конкретный, исполнимый ответ.

Режим 1: Одиночное устройство потеряно, seed цел

Это самый частый отказ: ты меняешь телефон, роняешь ноутбук, делаешь чистую переустановку ОС. Устройство, на котором запускалась одна половина твоего SSP-кошелька, ушло, но seed phrase для этой половины всё ещё на месте (потому что ты следовал чек-листу первой 1000 и хранил его физически отдельно).

Восстановление такое:

  1. Установи SSP на сменное устройство (новый телефон, новый ноутбук и т.д.).
  2. Восстанови эту половину из её seed phrase.
  3. Перепариси с выжившим устройством. SSP проводит тебя через показывание устройств друг другу — координационный слой multisig обнаруживает тот же xpub на новом устройстве и принимает его.
  4. Продолжай пользоваться кошельком как обычно. On-chain личность кошелька не изменилась — тот же адрес, тот же баланс, та же история.

В ни в какой момент во время этого потока средства не подвержены риску. Seed phrase предназначена именно для этого: восстанавливать одну подписывающую половину с нуля. Причина, по которой онбординг SSP так настойчив насчёт раздельного бэкапа обоих seed, в том, что это и есть то восстановление, за которое ты платишь.

Затраты времени: ~20 минут, если у тебя seed-бумажка под рукой.

Режим 2: Устройство и его seed потеряны

Более жёсткая версия режима 1: ты потерял устройство и его seed-бумажку одновременно. Пожар дома, наводнение, кража единственного физического места и т.п. Теперь ты не можешь восстановить эту подписывающую половину из её собственного seed.

Это ровно тот случай, где решение 2-of-2 vs 2-of-3 показывает свои последствия. Под 2-of-2 — дефолт SSP — у тебя осталась ровно одна подписывающая половина (выжившее устройство со своим seed). Под 2-of-3 у тебя было бы два из трёх ключей и ты мог бы тратить без спешки; под 2-of-2 ты вообще не можешь тратить из этого кошелька, потому что chain по-прежнему требует обе оригинальные подписи.

Восстановление такое:

  1. Не паникуй. Средства в безопасности — никакой атакующий тоже не может их потратить, потому что они под правилом 2-of-2.
  2. Проверь, что seed твоего выжившего устройства всё ещё забэкаплен и доступен. Внезапно это твой единственный страховочный план.
  3. Настрой новый SSP-кошелёк на свежей паре устройств (твоё оставшееся устройство и новое устройство, у каждого новые seed).
  4. Переведи средства из старого кошелька — стоп, не можешь. 2-of-2 сломан.

Хм. Шаг 4 раскрывает честную правду про 2-of-2: в этом конкретном режиме отказа средства заморожены. Не украдены. Не потеряны в криптографическом смысле. Они по-прежнему на on-chain адресе. Но ты не можешь их двинуть, потому что кошелёк навязывает правило траты 2-of-2, а у тебя только одна половина.

Что ты можешь сделать — пересоздать кошелёк. Конкретно: выжившее устройство всё ещё имеет свой seed, ты настраиваешь совершенно новое устройство с совершенно новым seed, парируешь их как новый 2-of-2 кошелёк, и тратишь со старого кошелька на новый — и это ключ — комбинируя выживший оригинальный seed с потерянным, восстановленным откуда-то ещё. Если у тебя нет другой копии потерянного seed, средства реально застряли.

Вот почему инструкция чек-листа «два seed, два физически разделённых места, одно из которых огнеупорное» — не паранойя. Это ответ на режим 2. Если бы ты следовал только одному совету self-custody, следуй лучшим практикам seed phrase для обоих твоих SSP-seed. Остальной кошелёк хорошо спроектирован вокруг допущения, что ты это сделал.

Режим 3: Одно устройство скомпрометировано

Представь более зловещий сценарий: твой ноутбук скомпрометирован malware. Расширение браузера всё ещё установлено; атакующий потенциально наблюдал твоё использование, может иметь полный доступ к подписывающему ключу этого устройства. Что они получают?

Под single-sig hot wallet — всё. Кошелёк опустошается, как только ты в следующий раз попробуешь потратить (или раньше, если malware может тихо инициировать траты).

Под 2-of-2 SSP-кошельком они пока ничего не получают. У них одна подпись; chain требует две. Они не могут тратить в одиночку. Максимум, что они могут — сфабриковать предложение транзакции, протолкнуть его на твой телефон через координационный слой SSP и надеяться, что ты одобришь на телефоне, не заметив.

Здесь обсуждение single-signer UX пересекается с безопасностью. Шаг подтверждения на телефоне — не UX-вкусняшка; это единственное, что стоит между скомпрометированным ноутбуком и опустошённым кошельком. Читай детали транзакции на телефоне. Сверь адрес получателя. Сверь сумму. Если что-то выглядит не так, не одобряй, независимо от того, как промпт туда попал.

Реакция сдерживания, когда обнаруживаешь компрометацию:

  1. С твоего нескомпрометированного устройства переведи средства в совершенно новый SSP-кошелёк (настроенный на двух свежих устройствах, с двумя свежими seed). Это одна multisig-транзакция — оба старых устройства должны подписать один раз, но сразу после ты прекращаешь использовать скомпрометированное.
  2. Сотри скомпрометированное устройство. Сброс к заводским; не просто удаление расширения.
  3. Считай скомпрометированный seed сожжённым. Никогда не реимпортируй этот конкретный seed; считай его утёкшим.

Это сдерживание гораздо быстрее и менее напряжённое, чем эквивалент для single-sig кошелька, где надо обогнать атакующего. С multisig у тебя есть время действовать спокойно, потому что атакующий заблокирован без второй подписи. Статья про семь режимов отказов из предыдущей серии переводит это в доллары: большинство потерь retail-self-custody — это компрометации одного ключа, и 2-of-2 — ответ на самый частый сценарий.

Режим 4: Координационный слой SSP недоступен

Что происходит, если у SSP, компании, отказ? Или если координационный сервис, перевозящий PSBT между твоим расширением браузера и телефоном, не работает? Или ты решил, что вообще не хочешь больше пользоваться SSP?

Честный ответ: координационный слой — это транспорт метаданных, удобный, но не несущий. Реальный кошелёк живёт on-chain, выведен из твоих двух BIP48-seed. Если сервер подписи SSP лежит час, можешь подождать час. Если лежит неделю, это раздражает. Если лежит навсегда, ты всё равно можешь восстановить кошелёк, загрузив оба seed в любой другой BIP48-совместимый кошелёк — Sparrow на Bitcoin, Electrum, descriptor-кошельки Bitcoin Core, эквивалентные multisig-клиенты на EVM-сетях и т.д.

Путь восстановления такой:

  1. Подтверди, что проблема на стороне SSP (а не у твоих локальных устройств) — статус-страница SSP или их сообщество скажут.
  2. Если нужно срочно тратить, установи сторонний кошелёк, поддерживающий BIP48-multisig путь. Sparrow — самый дружелюбный выбор для Bitcoin; для EVM — Safe или аналогичный multisig-клиент.
  3. Загрузи оба seed в этот сторонний кошелёк. Появляется тот же адрес, тот же баланс, та же возможность тратить.
  4. Подпиши и бродкасти оттуда как обычно.

Причина, по которой ты можешь это сделать — причина, по которой это не маркетинговое заявление, а проверяемое свойство — в том, что SSP использует стандарты. Статья про BIP48 и Что такое 2-of-2 multisig проходят это. SSP — удобный фронтенд поверх кошелька, существующего независимо от SSP.

На практике инфраструктура подписи SSP построена для высокой доступности — но гарантия, что кошелёк восстановим без SSP, — это то, что делает удобство значимым, а не пугающим.

Режим 5: Оба устройства и оба seed уничтожены одновременно

Это катастрофический режим отказа, и он заслуживает прямого изложения: если ты потеряешь обе подписывающие половины и оба бэкапа seed в одном событии, кошелёк постоянно недоступен. Средства всё ещё on-chain, на multisig-адресе, но никто — включая SSP — не может их двинуть. Это цена настоящей self-custody; то же свойство, что значит, что SSP не может заморозить твои средства, значит, что он также не может их разморозить.

Защита географическая и структурная:

  • Два seed живут в физически разделённых местах. Чек-лист первой 1000 называет «другая комната, другое здание, если практично».
  • Хотя бы один из seed живёт в огнеупорном контейнере.
  • Если твой стек достаточно велик, чтобы это оправдать, со временем ты мигрируешь к 2-of-3 — добавление третьего ключа (часто хранимого у адвоката, родственника или в банковской ячейке) снижает поверхность катастрофического отказа с «оба физических места уничтожены» до «любые два из трёх мест уничтожены».

Честная подача: этот режим отказа меняет вероятность на тяжесть. Single-key кошельки отказывают гораздо чаще (режимы 1 и 3 доминируют в данных), но с меньшей тяжестью на инцидент. Multisig с географическим разделением seed снижает частоту отказов на порядок, но слегка повышает тяжесть на инцидент. Большинство пользователей выходят в плюс.

Введение Meet SSP Wallet подаёт продукт как инструмент для продвинутой retail-self-custody. Серьёзность режима 5 — часть того, почему эта подача честна — продукт построен для людей, готовых относиться к seed-бумажкам как к несущей инфраструктуре, а не как к чему-то, что записал один раз и забыл.

Что это значит для тебя

Закрывающие выводы:

  1. У большинства режимов отказа рутинные восстановления. Режимы 1, 3 и 4 — самые частые с большим отрывом — имеют чётко определённые, малостpессовые пути восстановления. Модель 2-of-2 реально делает то, что обещает: поглощает компрометации одной точки и даёт тебе время на реакцию.
  2. Катастрофический случай географический, не криптографический. Режим 5 — это то, о чём твои лучшие практики seed phrase. Криптография кошелька хорошо проаудирована; оставшаяся поверхность отказов — это вопрос о том, хранил ли ты два seed в физически разных, долговечных местах.
  3. Теперь у тебя полная картина. Эта серия (статья 1, статья 2, статья 3, статья 4, статья 5, статья 6, эта) покрыла, что такое multisig, когда какой порог выбирать, как всё связано, что меняет агрегация, как отличаются модели восстановления, почему UX ощущается так, как ощущается, и как каждый режим отказа выглядит операционно. Предыдущая серия Self-Custody Fundamentals дала тебе почему; эта серия дала как. Отсюда работа — операционная дисциплина: гигиена бэкапов, периодические репетиции восстановления и терпение, чтобы спокойно делать восстановления режимов 1 / 2 / 3 / 4, когда они случаются.

Кошелёк хорошо спроектирован. Оставшаяся переменная — ты.

Поделиться статьёй

Похожие статьи