Шардирование seed-фразы: как разделить бэкап по методу Шамира
Seed-фраза из 12 или 24 слов — это единственный ключ ко всем вашим средствам. Потеряли её — потеряли всё. Огласили её постороннему — тоже потеряли всё. Логичное желание: а нельзя ли как-то «размазать» риск? Чтобы ни одна отдельно взятая часть не давала доступа, но достаточное количество частей вместе восстанавливали кошелёк.
Именно для этого существует пороговая схема Шамира (Shamir's Secret Sharing) и её реализация для криптокошельков — стандарт SLIP-39 от SatoshiLabs. Trezor — единственный крупный производитель аппаратных кошельков, который поддерживает SLIP-39 «из коробки», и в этой статье мы разберём, как это работает, как настроить и какая конфигурация порога подойдёт именно вам.
Не будет математики на пять экранов — будет практика: конкретные схемы, цифры, ошибки, которые стоили людям денег, и пошаговый чек-лист.
Что такое схема Шамира простыми словами
Представьте, что ваш секрет — это точка на плоскости. Через неё можно провести бесконечное множество кривых. Схема Шамира раздаёт каждому участнику не сам секрет, а координату на этой кривой.
- Одна координата сама по себе не даёт ничего — через одну точку проходит бесконечное число кривых.
- Две координаты однозначно задают прямую (при пороге 2).
- Три координаты однозначно задают параболу (при пороге 3) — и так далее.
Зная пороговое количество точек, вы восстанавливаете кривую и находите секрет. Меньше порога — информация о секрете строго нулевая. Не «сложно подобрать», а именно нулевая: это математически доказанное свойство.
Ключевая разница с «простым» разделением фразы пополам: если разрезать 24 слова на две части по 12, каждая половина резко сужает пространство перебора. А шард Шамира без остальных — это случайный мусор без какого-либо следа секрета.
SLIP-39: стандарт для кошельков
BIP-39 (привычные 12/24 слова) не умеет шардирование. SatoshiLabs разработала SLIP-39 — формат, где:
- Секрет делится на N шардов (от 2 до 16).
- Восстановление требует K шардов — порога (от 1 до N).
- Каждый шард — это 20 слов из словаря на 1024 слова.
- Есть группы: например, 3 группы (семья, банк, адвокат), и внутри каждой — свои шарды со своим порогом.
Важный нюанс: SLIP-39 совместим с BIP-39 на уровне итогового мастер-ключа — кошелёк после восстановления даёт те же адреса, но сами словари разные. Слова SLIP-39 не совпадают со словарём BIP-39, и это сразу видно: 20 слов вместо 12/24.
Для чего нужны группы — пример. Конфигурация «2-из-3 групп, каждая группа 1-из-1»: семейная группа, банковская ячейка, юрист. Для восстановления нужно собрать шарды из любых двух групп. Умрёт юрист или сгорит ячейка — доступ не потерян.
Правило: секрет восстанавливается только при K шардах из N. Один шард или порог минус один — это не «почти достаточно», это криптографический ноль. Планируйте запас так, чтобы потеря любого одного места хранения не сделала доступ невосстановимым.
Как настроить SLIP-39 на Trezor
Пошагово на примере Trezor Model T / Safe 5 (в Trezor One шардирования нет):
Создание кошелька с шардингом
- Подключите кошелёк, в Trezor Suite выберите создание нового кошелька → «Мульти-шейр бэкап» (Multi-share Backup).
- Выберите общее количество шардов, например 5.
- Выберите порог, например 3.
- Подтвердите на устройстве, дождитесь генерации.
- Кошелёк покажет шард №1 — 20 слов. Запишите их на карточки из комплекта или вытравите на металлические пластины.
- Устройство попросит подтвердить каждое слово, прежде чем показать следующий шард. Не листайте вперёд, записывайте внимательно.
- Повторите для всех 5 шардов.
- Проверьте: в настройках кошелька статус бэкапа должен быть «Multi-share Backup».
Хранение шардов
Разные места, разные города, разные риски:
- Шард 1 — дома в сейфе.
- Шард 2 — банковская ячейка.
- Шард 3 — у надёжного родственника в другом городе.
- Шард 4 — у доверенного друга.
- Шард 5 — второй банковский сейф или офис.
При пороге 3 из 5 вы переживёте потерю любых двух мест.
Проверка восстановления
После настройки обязательно сделайте тест: сбросьте кошелёк до заводских настроек и восстановите его, собрав порог шардов. На это уйдёт 15–20 минут. Не сделаете сейчас — рискуете обнаружить ошибку в записи, когда будет поздно.
Практический пример: считаем риск и стоимость
Допустим, вы храните крипту на 2 000 000 ₽ и выбираете схему.
Вариант А: классический BIP-39, одна фраза, одна банковская ячейка. Годовое обслуживание ячейки в крупном банке — около 5 000–8 000 ₽ (Москва, малый бокс). Риск единственный: утрата доступа или кража одной фразы = потеря 100% портфеля. Одна точка отказа.
Вариант Б: 3-из-5 SLIP-39. Затраты:
| Статья | Сумма | |---|---| | Металлические пластины (5 шт. по ~1 500 ₽) | 7 500 ₽ | | Банковская ячейка ×2 | ~12 000 ₽/год | | Почтовые/транспортные расходы на развозку | ~5 000 ₽ разово | | Итого первый год | ~24 500 ₽ |
Это около 1,2% от суммы хранения в первый год и менее 0,7% ежегодно дальше (при дальнейших расходах ~12 000 ₽/год — это 0,6% от суммы хранения). Что вы получаете:
- Компрометация любых двух шардов не даёт атакующему ничего (нужно 3).
- Потеря любых двух шардов не лишает вас доступа.
- Нет больше единой фразы, которую надо хранить как зеницу ока.
Вариант В: 1-из-2 (частая ошибка). Формально это тоже SLIP-39, но каждый шард сам по себе восстанавливает кошелёк. Вы не разделили риск, а продублировали дыру. Если уж 2 шарда — ставьте порог 2.
Порог «K из N» выбирайте по формуле: K = минимум, при котором потеря (N−K) мест хранения survivable, а компрометация (K−1) шардов безопасна. Практические ориентиры: 2-из-3 для средних сумм, 3-из-5 для крупных, 3-из-5 с группами — для очень крупных и наследования.
Частые ошибки и чек-лист
Чек-лист перед тем как считать бэкап готовым:
- [ ] Порог ≥ 2 (никогда не 1-из-N).
- [ ] Все шарды в физически и географически разных местах.
- [ ] Ни один шард не сфотографирован и не набран на клавиатуре.
- [ ] Тестовое восстановление выполнено хотя бы один раз.
- [ ] Порог шардов доступен вам без посторонней помощи (если 2 из 3 шардов у друзей, а друзья в ссоре с вами — это проблема).
- [ ] В схеме с группами вы помните структуру: сколько групп, порог групп, порог внутри групп. Запишите конфигурацию (не секрет!) отдельно.
- [ ] Родственники знают, что делать в случае вашей смерти: где искать и сколько шардов нужно собрать.
Топ ошибок:
- Порог 1-из-3 «чтобы проще было восстановиться» — каждый шард = полный доступ.
- Все шарды в одном доме — пожар или квартирная кража обнуляет всю затею.
- Порог равен количеству шардов (3-из-3) — потеря одного шарда = потеря всего. Всегда оставляйте запас минимум в один шард.
- Доверие «проверенным» онлайн-сервисам для разделения фразы. SLIP-39 делайте только на аппаратном кошельке, офлайн.
- Отказ от проверки восстановления — опечатка в одном слове обнаружится в худший момент.
FAQ
Чем SLIP-39 отличается от простого деления 24 слов на части? При физическом делении фразы каждая часть содержит реальные фрагменты секрета и снижает энтропию для атакующего. Шард SLIP-39 не содержит секрета вовсе: меньше порога — это математически случайный набор слов. Плюс встроена избыточность: потеря части шардов не фатальна.
Что делать, если один шард скомпрометирован — например, его видел посторонний? Один скомпрометированный шард при пороге ≥ 2 относительно безопасен, но правильное решение — создать новый кошелёк с новой схемой шардинга и перевести средства. Занимает час, зато старая схема больше не имеет значения.
Поддерживают ли SLIP-39 Ledger, Keystone или другие кошельки? Ledger не поддерживает SLIP-39. У Ledger есть своя схема passphrase, но это другой механизм. Прямая поддержка SLIP-39 — у Trezor (Model T, Safe 3, Safe 5). Сторонние инструменты вроде Shamir Backup существуют, но вводить секрет на обычном компьютере небезопасно — только через аппаратный кошелёк или проверенный офлайн-инструмент с открытым кодом.
Шардирование по Шамиру превращает самую хрупкую вещь в крипте — единственную seed-фразу — в устойчивую систему с запасом прочности. Настройте её один раз правильно, протестируйте восстановление — и одна потерянная пластина или один любопытный взгляд перестанут быть приговором вашему портфелю.