
Разделение сид-фразы или мультиподпись: сравнение Shamir, SLIP-39 и SSKR
«Чтобы переместить деньги, нужно несколько частей» — эта фраза описывает две очень разные схемы. Первая — разделённая сид-фраза: один секрет, разбитый на доли с помощью схемы разделения секрета Шамира или основанного на ней стандарта, например SLIP-39 или SSKR. Вторая — мультиподпись: несколько независимых ключей, причём сам блокчейн отказывается перемещать средства, пока не наберётся достаточно подписей.
Обе схемы распределяют риск, но защищают от разных вещей, и если их путать, получаются конфигурации слабее, чем кажется.
Как работает схема разделения секрета Шамира
Схема разделения секрета Шамира, опубликованная Ади Шамиром в 1979 году, делит секрет на n долей так, что любые t из них позволяют его восстановить, а меньше t не раскрывают вообще ничего. При разделении 2 из 3 любые две доли восстанавливают секрет, а одна доля не сообщает злоумышленнику буквально ничего.
На ней основаны два распространённых стандарта для кошельков:
- SLIP-39 от SatoshiLabs кодирует каждую долю как фразу из 20 или 33 слов и поддерживает группы (например, «две из трёх моих долей или одна от семьи и одна от юриста»). Его использует резервная копия Shamir в устройствах Trezor.
- SSKR (Sharded Secret Key Reconstruction) от Blockchain Commons делает то же самое со своей кодировкой и применяется в некоторых офлайн-устройствах для подписи.
Доли SLIP-39 не взаимозаменяемы с обычной фразой BIP-39. Кошельки с поддержкой SLIP-39, как правило, не могут превратить уже существующую фразу из 24 слов в доли — резервную копию нужно с самого начала создавать именно так.
Подвох: для подписи ключ снова собирается
Шамир — это техника резервного копирования. Доли защищают секрет, пока он хранится. Но доля не может ничего подписать. Чтобы потратить средства, доли объединяют и восстанавливают полный ключ — на одном устройстве, целиком.
Значит, в момент подписи кошелёк с резервной копией по Шамиру — это кошелёк с одним ключом. Если это устройство скомпрометировано или человека, собирающего ключ, принуждают, разделение не помогает. Часто ключ собирают один раз, и дальше он хранится на одном аппаратном кошельке.
Мультиподпись работает наоборот. У каждого подписанта свой ключ, созданный отдельно, и ключи никогда не встречаются. Каждый подписывает на своём устройстве, а блокчейн проверяет, достаточно ли действительных подписей. Нет ни одного момента, когда одно устройство держит всё. В статье MPC-кошельки и мультиподпись разобран третий подход, где ключи разделяются криптографией, а не правилом, которое обеспечивает сеть.
Не режьте свои 24 слова на три части
Соблазнительный самодельный вариант — записать первые восемь слов на одну карточку, следующие восемь на другую, а последние восемь на третью. Это не Шамир, и у такого способа две проблемы.
Во-первых, это не пороговая схема. Нужны все три части, так что потеря любой карточки означает потерю кошелька.
Во-вторых, каждая часть раскрывает долю секрета. Каждое слово BIP-39 несёт 11 бит; фраза из 24 слов содержит 256 бит случайности плюс 8-битную контрольную сумму. Карточка из восьми слов раскрывает 88 из этих 256 бит. Тому, у кого одна карточка, остаётся угадать 168 бит — это по-прежнему недостижимо. Но тому, у кого две карточки, остаётся всего 80 бит — гораздо меньше запаса, на который рассчитана фраза. Для фразы из 12 слов (128 бит) две из трёх частей по четыре слова оставляют лишь 40 бит, которые можно перебрать на обычном оборудовании.
В настоящей схеме Шамира доля ниже порога не раскрывает ничего. В разрезанной фразе каждая часть облегчает работу злоумышленнику. Если хотите разделить сид, используйте нормальный стандарт; лучшие практики хранения сид-фразы описывают более привычные варианты — металлические копии и раздельные места хранения.
Компромиссы: заметность и сети
У каждого подхода есть реальные преимущества:
- След в блокчейне. Шамир невидим в блокчейне: кошелёк выглядит и ведёт себя как любой кошелёк с одним ключом, в любой сети. Мультиподпись заметна — трата с мультиподписью в Bitcoin раскрывает свой скрипт, а в сетях на основе аккаунтов хранилище — это смарт-контракт или программа, которую может изучить кто угодно.
- Поддержка сетей. Шамир работает с любой сетью, которую поддерживает ваш кошелёк, потому что затрагивает только резервную копию. Мультиподпись зависит от сети: Bitcoin использует скрипты, EVM-сети — смарт-контрактные аккаунты, Solana — программу, и у каждой свои комиссии и ограничения.
- Что защищает. Шамир защищает резервную копию от потери и кражи. Мультиподпись защищает каждую транзакцию, потому что ни одно устройство не может подписать в одиночку.
Подходы не исключают друг друга; важно понимать, какой риск закрывает каждый из них.
Где здесь SSP
SSP — это мультиподпись 2 из 2. SSP Wallet, расширение для браузера, и SSP Key, приложение для телефона, каждое создаёт свою фразу восстановления из 24 слов. В UTXO-сетях, таких как Bitcoin, адрес хранилища строится из скрипта мультиподписи 2 из 2, содержащего по одному открытому ключу от каждого, и каждая транзакция требует обеих подписей. Два ключа никогда не объединяются на одном устройстве.
SSP не реализует Шамира, SLIP-39 или SSKR. Вы храните резервные копии двух обычных фраз из 24 слов, и для восстановления хранилища с нуля нужны обе, поэтому обе копии одинаково важны. Статья 2 из 2, 2 из 3 или M из N объясняет этот компромисс, а наследование и экстренный доступ — как сделать так, чтобы другой человек при необходимости смог восстановить средства.
Честный итог
И разделение сида, и мультиподпись требуют нескольких частей, но в разные моменты. Стандарты на основе Шамира, такие как SLIP-39 и SSKR, защищают резервную копию: доли ниже порога ничего не раскрывают, а кошелёк остаётся невидимым и не зависит от сети. Но для подписи полный ключ восстанавливается, так что у подписи по-прежнему есть единая точка отказа. Мультиподпись держит раздельные ключи, которые никогда не встречаются, и поручает сети соблюдение правила — ценой заметности и привязки к конкретной сети.
Не режьте фразу на части вручную: понадобится каждая часть, и каждая раскрывает биты секрета. SSP использует мультиподпись 2 из 2 с двумя отдельными фразами из 24 слов и не предлагает разделение сида — поэтому надёжно храните обе копии.


