Резервная копия Shamir и разделение сид-фразы
Резервная копия Shamir делит секрет восстановления кошелька на доли, чтобы ни одна отдельная копия не позволила украсть ваши средства. Узнайте, как это работает и почему разрезать сид-фразу пополам рискованно.
Резервная копия Shamir делит секрет восстановления вашего кошелька на несколько долей, каждая из которых записывается как отдельный набор слов, так что выбранное их число (например, любые две из трёх) может восстановить кошелёк, а меньшее число долей не раскрывает ничего полезного. Это позволяет хранить резервные копии в разных местах так, чтобы ни в одном из них не было полного ключа.
Это решает реальную дилемму. Единственная резервная копия сид-фразы — это единая точка отказа: если её потерять, средства пропадут, а если её найдут, средства могут украсть. Больше копий снижает риск потери, но повышает риск кражи. Резервная копия Shamir призвана снизить оба риска одновременно, но она добавляет сложности, и ошибка может лишить вас доступа.
Как работает схема разделения секрета Шамира
Схему разделения секрета описал криптограф Ади Шамир в 1979 году. Основная идея опирается на математический факт: чтобы задать кривую, нужно определённое количество точек. Две точки задают прямую, три — параболу и так далее.
Если упростить:
- 1Секрет кодируется как одна точка на случайно выбранной кривой.
- 2Разные точки этой кривой раздаются как доли.
- 3Имея достаточно долей (порог), можно восстановить кривую и получить секрет.
- 4При меньшем числе долей подходит бесконечно много кривых, поэтому доли ничего не говорят о секрете.
Именно последнее свойство отличает этот метод от простого деления фразы на части.
Резервная копия Shamir в кошельках: SLIP-39
Производитель аппаратных кошельков SatoshiLabs, компания, стоящая за Trezor, опубликовал стандарт резервных копий Shamir под названием SLIP-39. Кошельки с его поддержкой создают доли в виде списков слов — похожих на сид-фразу, но из другого словаря и в другом формате.
При настройке резервной копии Shamir обычно выбирают:
- Количество долей: например, 3 или 5.
- Порог: сколько долей нужно для восстановления, например 2 или 3.
Некоторые реализации также позволяют создавать группы, например «одна доля из семейной группы и две из личной», для более сложных схем.
Предупреждение о совместимости
Доли SLIP-39 нельзя ввести в кошелёк, который поддерживает только BIP-39 — стандарт, используемый большинством кошельков для сид-фраз из 12 или 24 слов. Прежде чем полагаться на резервную копию Shamir, убедитесь, какие кошельки могут её восстановить, и запишите эту информацию вместе со своим планом.
Почему не стоит просто разрезать сид-фразу пополам
Распространённый самодельный способ — записать слова 1–12 на одном листе, а 13–24 на другом. Это кажется хитрым решением, но у него две проблемы:
| Способ | Если украдут одну часть | Если потеряется одна часть |
|---|---|---|
| Одна полная сид-фраза | Средства могут забрать | Средства потеряны, если откажет и кошелёк |
| Сид-фраза, разрезанная пополам | Злоумышленник узнаёт половину секрета, и остальное подобрать гораздо проще | Средства потеряны, если откажет и кошелёк |
| Shamir 2 из 3 | Злоумышленник не узнаёт ничего полезного | Восстановление с помощью двух других долей |
Разделение фразы делает каждую часть ценной для вора и каждую часть незаменимой. Вы получаете недостатки обоих подходов. Если вам нужны распределённые резервные копии, используйте полноценную схему. Чтобы разобраться глубже, прочитайте Пути деривации кошельков: объяснение.
Резервная копия Shamir в сравнении с другими вариантами
| Вариант | Как работает | Главное преимущество | Главный недостаток |
|---|---|---|---|
| Одна сид-фраза | Один список слов | Просто, широко поддерживается | Единая точка отказа |
| Сид-фраза + пароль (passphrase) | Сид плюс секретное дополнительное слово | Одной найденной сид-фразы недостаточно | Забытый пароль означает потерю средств |
| Резервная копия Shamir | Доли с порогом | Распределённое хранение, устойчивость к потере долей | Нужна поддержка SLIP-39; больше того, за чем надо следить |
| Мультиподписной кошелёк | Подписать должны несколько ключей | Ни один ключ в одиночку не может переместить средства | Более сложные настройка и восстановление |
Наши руководства о паролях (passphrase) и мультиподписи для общих средств рассказывают об этих альтернативах.
Как безопасно настроить резервную копию Shamir
- 1Используйте кошелёк, который её поддерживает, скачанный или купленный из официального источника.
- 2Выберите разумный порог. 2 из 3 — частая отправная точка: можно потерять одну долю и всё равно восстановить кошелёк, а одна украденная доля бесполезна.
- 3Аккуратно запишите каждую долю от руки, пометив её номер и порог, и никогда её не фотографируйте.
- 4Храните доли в разных местах, например дома и во втором надёжном месте. Хранить все доли в одном ящике — значит свести смысл на нет.
- 5Проверьте восстановление с пороговым числом долей, прежде чем переводить на кошелёк крупные суммы.
- 6Задокументируйте план, чтобы доверенный человек знал, что схема существует, сколько долей нужно и какой тип кошелька её восстанавливает. См. наше руководство по планированию наследования криптовалюты.
- 7Подумайте о металлических резервных копиях для каждой доли, чтобы защитить их от огня и воды.
Частые ошибки
- Установить порог, равный общему числу долей: тогда потеря одной доли означает потерю всего.
- Отдать слишком много долей людям, которые знакомы друг с другом и могут их объединить.
- Забыть, какой стандарт кошелька используют доли.
- Ни разу не проверить восстановление.
- Считать Shamir защитой от вредоносного ПО на подписывающем устройстве; это не так.
Итог
Резервная копия Shamir позволяет распределить секрет восстановления кошелька по нескольким местам, чтобы потеря или кража одной доли не стоила вам средств. Это гораздо безопаснее, чем разрезать сид-фразу пополам, но требует совместимых кошельков и тщательной документации. Большинству людей, которые сами хранят Bitcoin или другую криптовалюту, достаточно одной надёжно хранящейся резервной копии; Shamir имеет смысл, когда сумма и ваше планирование оправдывают дополнительные шаги. Начните с основ в нашем руководстве о том, как правильно сделать резервную копию сид-фразы.
Частые вопросы
Что такое резервная копия Shamir?
Резервная копия Shamir делит секрет восстановления кошелька на несколько долей, каждая из которых записывается как отдельный список слов. Вы сами выбираете, сколько долей нужно для восстановления, например любые две из трёх. Меньшее число долей не раскрывает о секрете ничего полезного, поэтому потеря или кража одной доли не ставит ваши средства под угрозу.
Нельзя ли просто разрезать сид-фразу из 24 слов пополам?
Так делать не рекомендуется. Каждая половина всё равно раскрывает часть секрета и сильно сокращает работу, которую злоумышленнику нужно проделать, чтобы подобрать остальное, а потеря любой из половин может сделать восстановление невозможным. Резервные копии Shamir и мультиподписные кошельки созданы, чтобы избежать обеих проблем.
Совместима ли резервная копия Shamir со всеми кошельками?
Нет. Распространённый стандарт резервных копий Shamir в кошельках, SLIP-39, отличается от сид-фраз BIP-39, которые используют большинство кошельков. Доли Shamir можно восстановить только в кошельках с поддержкой SLIP-39, поэтому проверьте совместимость и запишите, каким типом кошелька созданы доли.
Резервная копия Shamir — это то же самое, что мультиподпись?
Нет. Резервная копия Shamir делит на доли резервную копию одного ключа, но после восстановления кошелёк по-прежнему подписывает одним ключом. Мультиподпись использует несколько независимых ключей, каждый из которых должен подписать транзакцию. Мультиподпись защищает от компрометации одного устройства, а Shamir в основном защищает способ хранения резервной копии.
