- Главная
- / BIP39 по-русски
- / Металлическая сид-фраза: пластины, стресс-тесты и запись слов
Металлическая сид-фраза: пластины, стресс-тесты и запись слов
Металлическая сид-фраза — это резервная копия сид-фразы на металле: слова выбивают клеймами, гравируют, отмечают точками от кернера по сетке или собирают из букв-плиток. Обычно берут нержавеющую сталь или титан: такая копия переживает огонь, воду и сдавливание, которые губят бумагу, а плавятся оба металла при температуре намного выше той, что бывает при пожаре в комнате. Где держать копии и как не дать их прочитать посторонним, рассказано в статье как хранить сид-фразу.
Но конструкция значит не меньше, чем металл. В независимых стресс-тестах 75 устройств, которые провёл Джеймсон Лопп, большинство отказов вызвали алюминиевые детали, покоробленные направляющие, растворившиеся заклёпки и выгоревшие надписи. Ниже — сравнение конструкций и металлов, итоги тестов, запись слов, парольной фразы и долей SLIP-39, защита от кражи, бэкап своими руками и проверка восстановлением.
Почему бумаги недостаточно
Бумага горит, а при затоплении намокает и рвётся, и чернила на ней расплываются. Исследователи пожаров из NIST, Национального института стандартов и технологий США, оценивают температуру в комнате во время общей вспышки (flashover) примерно в 1000 °C. Так называют момент, когда поверхности, на которые падает тепловое излучение раскалённых выше 600 °C газов, почти одновременно нагреваются до температуры воспламенения и огонь быстро охватывает всё помещение.
В огневом тесте Лоппа бумага с напечатанным приватным ключом, наклеенная на металлическую карточку, сгорела вместе с ключом.
Металл защищает копию от огня и воды, но не от чужих глаз: пластину, которая пережила пожар, вор прочитает так же легко.
Какие бывают металлические бэкапы
Металлические пластины для сид-фразы бывают с выбитыми или гравированными буквами и с сеткой под кернер; кроме них, есть рамки с буквами-плитками, шайбы на болте и капсулы:
| Конструкция | Как устроена | Плюсы | Минусы |
|---|---|---|---|
| Пластина с выбитыми или гравированными буквами | Буквы выбивают клеймами или гравируют на цельной пластине | Одна деталь, ничего не выпадет | Выбивать долго и легко ошибиться; неглубокая гравировка может выгореть |
| Пластина с сеткой под кернер | Каждая буква или цифра — точка от кернера в ячейке сетки | Быстро, трудно ошибиться | Без сетки точки не прочитать, поэтому сетку нужно вытравить глубоко |
| Буквы-плитки в рамке | Плитки с буквами вставляют в направляющие или пазы | Ничего не нужно выбивать, ошибку легко исправить | До 96 отдельных плиток; в тестах из покоробленных направляющих плитки выпадали |
| Шайбы на болте | По слову на каждой стороне шайбы, шайбы нанизаны на болт под колпачковую гайку | Детали из строительного магазина: дёшево и без заказа у продавца криптотоваров | На шайбах неудобно выбивать, каждому слову нужен номер |
| Капсула | Плитки нанизаны на стержень внутри трубки с навинчиваемой крышкой | Компактно; в тестах кислота не попала к плиткам | Смятую трубку может заклинить |
Протестировав десятки устройств, Лопп описал идеальную конструкцию в своём трактате об устройствах для бэкапа сид-фраз: нержавеющая сталь или титан; небольшой, но толстый предмет — не тоньше 5 мм, а лучше толще 1 см; один цельный кусок металла; данные, пробитые кернером или вытравленные электролизом; шаблон для расшифровки, нанесённый прямо на устройство.
В его тестах сдавливание лучше всего выдерживали толстые цельные цилиндры и шестигранные прутки. Крепёж, предупреждает Лопп, может расплавиться, раствориться в кислоте или намертво заклинить смятое устройство.
Металлы и температура плавления
Сплавы, например нержавеющая сталь и латунь, плавятся не при одной температуре, а в диапазоне. Цифры в таблице — по данным Британской ассоциации нержавеющей стали (BSSA), периодической таблицы PubChem и Ассоциации развития меди (Copper Development Association):
| Материал | Температура или диапазон плавления | Что это значит для бэкапа |
|---|---|---|
| Нержавеющая сталь 304 | 1400–1450 °C | Остаётся твёрдой намного выше температуры пожара в комнате |
| Нержавеющая сталь 316 / 316L | 1375–1400 °C | Лучше 304 переносит соль; Лопп советует 316L |
| Титан (чистый) | 1668 °C | Второй металл, который рекомендует Лопп |
| Медь (чистая) | 1085 °C | Чуть ниже 1093 °C — температуры пламени в тесте Лоппа |
| Патронная латунь (70/30) | 916–954 °C | Плавится ниже тех ≈1000 °C, что бывают в комнате при общей вспышке |
| Алюминий (чистый) | 660 °C | Плавится намного раньше; по словам Лоппа, от него остаётся куча шлака |
Но одной высокой температуры плавления мало. Несколько устройств из нержавеющей стали провалили огневой тест, вовсе не расплавившись: от жара их направляющие повело, и плитки выпали. А с титаном не используйте стальной крепёж: по словам Лоппа, сталь в паре с титаном со временем подвергается гальванической коррозии.
Что показали стресс-тесты
По методике Лоппа каждое устройство проходит три испытания:
- Огонь: пламя большой пропановой горелки 1093 °C (2000 °F) в течение 10 минут или до разрушения, затем погружение в ведро с водой — так Лопп имитирует тушение пожара.
- Коррозия: до 12 часов в 16-процентной соляной кислоте.
- Сдавливание: гидравлический пресс на 20 тонн.
Сам Лопп называет эти опыты не слишком научными, а свою систему оценок — произвольной: A означает, что ему не удалось повредить данные, F — что устройство легко уничтожить.
Из 75 устройств в его итоговой таблице 45 получили A во всех трёх испытаниях. Четырнадцать получили F хотя бы в одном: 10 — за огонь, 8 — за коррозию и 5 — за сдавливание, причём шесть из этих четырнадцати после первых двух испытаний пострадали так, что прессовать их уже не имело смысла. В обзорах повторяются одни и те же причины:
- Алюминий плавился. Три устройства, которые продавались как огнестойкие или защищённые от стихийных бедствий, через пять–шесть минут в пламени развалились или превратились в шлак. У одного из них, как указано на сайте самого производителя, корпус был алюминиевым, а из стали — только плитки; судя по обзорам Лоппа, алюминий был и в двух других.
- Направляющие коробились. От жара или сдавливания пазы у устройств с плитками расходились, и плитки выпадали.
- Заклёпки растворялись. У двух устройств с направляющими кислота съела заклёпки, направляющие рассыпались, и выпали все плитки.
- Тонкий металл не выдерживал. Медный лист толщиной с бумагу провалил испытание на сдавливание без всякого пресса, а тонкую пластинку, частично растворённую кислотой, Лопп сломал, согнув плоскогубцами.
- Надписи исчезали. Печатный текст, шаблоны, нанесённые краской или неглубоким травлением, и гравировка от руки выгорали или растворялись. На одной пластине пламя стёрло гравированные слова, а выбитые клеймом остались.
- Закрытые конструкции заклинивало. Крышку капсулы, согнутой прессом, уже нельзя было отвинтить: данные уцелели, но чтобы до них добраться, пришлось бы распиливать трубку.
Оценки относятся к тем версиям, которые он тестировал, а часть изделий с тех пор изменилась или снята с продажи. Тестировать много новых устройств Лопп больше не собирается: по его словам, почти все они похожи на уже проверенные. Его вывод — чем больше деталей, тем больше точек отказа, а выгоднее всего цельные пластины с сеткой под точки от кернера.
Как записать слова на металл
Английский список BIP39 составлен так, что каждое слово однозначно определяется первыми четырьмя буквами: у всех 2048 слов они разные. Поэтому фраза из 24 слов умещается в 96 букв, а из 12 — в 48 (чем отличаются эти длины, рассказано в статье 12 или 24 слова). Речь именно об английском списке: русского списка в стандарте нет, а большинство кошельков поддерживают только английский, так что ваша фраза почти наверняка английская. Прочитать и сверить слова поможет словарь BIP39 с переводом и транскрипцией.
- Короткие слова. Длина слов — от 3 до 8 букв. Из 103 трёхбуквенных слов 49 совпадают с началом более длинных: act — самостоятельное слово, но в списке есть и action, actor, actress, actual. Четвёртую клетку у таких слов оставьте пустой и ничего не дописывайте.
- Порядок. Нумеруйте каждое слово. Лопп приводит расчёт: если перемешать 24 плитки со словами, возможных порядков будет 24! ≈ 6,2 × 10²³, а у 96 плиток с буквами — 96! ≈ 9,9 × 10¹⁴⁹. Поэтому на отдельной детали должно быть одно слово вместе с его номером.
- Заглавные буквы. Выбивать заглавными можно: в кошелёк вы введёте те же слова строчными, как в списке.
- Латиница, а не перевод. Для английских слов нужен набор клейм с латинскими буквами. Перевод и транслитерация не годятся: по ним не всегда удаётся однозначно восстановить исходное слово, а любое другое слово — это уже другая фраза.
- Номера. На некоторых пластинах под кернер записывают не буквы, а номер слова в списке. Отметьте, с чего начинается счёт: с 1 (abandon = 1, zoo = 2048) или с 0. В словаре на этом сайте слова пронумерованы с 1, а при счёте с нуля номер на единицу меньше. Лопп предупреждает, что цифры хуже переносят повреждения: если не читается одна буква, подходящих слов остаётся, может быть, два, а если одна цифра — до десяти.
Вот публичная фраза из официальных тестовых векторов BIP39 — одиннадцать раз abandon и в конце about — во всех трёх видах: первые четыре буквы, номера с 1 и номера с 0. Хранить на ней средства нельзя:
Four letters: ABAN ABAN ABAN ABAN ABAN ABAN ABAN ABAN ABAN ABAN ABAN ABOU
Position 1-2048: 1 1 1 1 1 1 1 1 1 1 1 4
Index 0-2047: 0 0 0 0 0 0 0 0 0 0 0 3
Контрольная сумма ловит большинство ошибок переписывания, но не все: во фразе из 12 слов она занимает 4 бита, во фразе из 24 слов — 8, поэтому примерно каждая 16-я (у 24 слов — каждая 256-я) случайная замена слова всё равно проходит проверку. Если со временем какая-то буква перестанет читаться, остальные буквы и контрольная сумма обычно сужают выбор до нескольких вариантов; как их перебрать, рассказано в статье неверная сид-фраза.
Парольная фраза и доли SLIP-39
Парольная фраза
Парольную фразу BIP39 не выбивайте на одной пластине со словами: её смысл в том, что одни слова открывают другой кошелёк. Любая парольная фраза открывает действительный кошелёк, поэтому опечатка в ней не вызовет никакого предупреждения: вы просто увидите нулевой баланс. Записывайте её точно, с регистром, цифрами, пробелами и знаками. Для этого подойдёт не всякий носитель: на пластине для сид-фраз могут быть только заглавные буквы.
Доли SLIP-39
Каждая доля SLIP-39 — отдельная мнемоническая фраза, и ей нужна своя пластина: 20 слов для 128-битного секрета, 33 — для 256-битного. Trezor Safe 3 (с июня 2024 года), Safe 5 и Safe 7 по умолчанию создают резервную копию из одной доли в 20 слов. Пластина на 24 слова вместит долю из 20 слов, но не из 33. В списке SLIP-39 1024 слова длиной от 4 до 8 букв, и первые четыре буквы у каждого тоже свои, так что четырёх букв хватит и здесь, но с тремя оговорками:
- Отметьте стандарт. Четыре буквы уникальны только внутри своего списка: у 197 слов SLIP-39 те же первые четыре буквы, что у другого слова BIP39. CRIT в SLIP-39 — это critical, а в BIP39 — critic.
- Подпишите доли. Все доли одного набора начинаются с одних и тех же двух слов. Отметьте номер каждой доли и сколько долей нужно для восстановления.
- Помните об ограничении парольной фразы. В SLIP-39 она может состоять только из печатных символов ASCII: латинских букв, цифр, пробела и знаков вроде ! или @. Кириллица не подойдёт.
Об остальных различиях стандартов — в статье SLIP-39 vs BIP39 (на английском).
От кражи металл не спасает
Лопп советует исходить из того, что любой, кто доберётся до копии, сможет её прочитать. Ограничить ущерб можно тремя способами:
- Парольная фраза, которая хранится в другом месте: без неё одни слова откроют другой кошелёк.
- SLIP-39 с несколькими долями: любое число долей меньше порогового ничего не раскрывает о секрете.
- Кошелёк с мультиподписью: одной украденной фразы мало, чтобы перевести средства.
Точки, пробитые на пустой пластине без разметки, не выдают, что перед вами сид-фраза. Но, как замечает Лопп, такая копия превращается в схему «2 из 2»: без шаблона пластина бесполезна.
Не берите пластину, на которой уже нанесены слова или ключи, не соглашайтесь на предложение продавца выгравировать ваши слова и не заказывайте гравировку в мастерской: кто видел слова, тот может потратить средства. Это та же ловушка, что и в других видах мошенничества с сид-фразой. Ещё Лопп советует считать, что данные о доставке у продавца рано или поздно утекут, и никогда не заказывать такие устройства на домашний адрес.
Где держать копии и как запечатать их в пакет с защитой от вскрытия, рассказано в статье о хранении сид-фразы, ссылка на которую есть в начале. Что должны знать близкие, разобрано в статье о наследовании криптовалюты.
Металлический бэкап своими руками
Всё нужное продаётся в строительном магазине, и такая покупка не оставляет следов в базе заказов продавца криптотоваров. Рецепт SAFU Ninja, который проверял Лопп, состоит из трёх деталей из нержавеющей стали:
- болт с шестигранной головкой М6 (или 1/4 дюйма) длиной 1–2 дюйма, то есть примерно 25–50 мм;
- колпачковая гайка того же размера;
- шайбы под М6 (или 1/4 дюйма) с увеличенным наружным диаметром: в дюймовом варианте рецепта он равен 1 дюйму, около 25 мм.
Такая сборка не потеряла данные ни в одном испытании: A за огонь и кислоту, B за сдавливание. Нержавеющий крепёж обозначают по стандарту ISO 3506: A2 примерно соответствует стали 304, A4 — стали 316, которая лучше переносит соль.
- Потренируйтесь на запасной шайбе. Выбивание клеймами Лопп называет самым трудным способом: оттиски выходят слабыми или двойными, буквы — повёрнутыми, а клейма разлетаются по комнате. Наденьте защитные очки.
- Выбейте по одному слову на каждой стороне шайбы вместе с номером и бейте каждую букву глубоко.
- Заполните болт шайбами до конца, чтобы им некуда было сдвигаться.
- Проверьте результат, как описано ниже.
Если выбивать буквы на шайбах кажется вам слишком кропотливым делом, по опыту Лоппа намного проще пробивать кернером точки на пластине с глубоко вытравленной сеткой. Два самодельных проекта пластин с выбитыми и гравированными словами в его тестах тоже получили A во всех испытаниях.
Проверьте копию восстановлением
Пока вы ни разу не восстановили кошелёк из копии, её надёжность не доказана:
- Сверьте её, прежде чем запечатать. Прочитайте каждое слово с металла и сравните с исходной записью.
- Запустите проверку на самом устройстве. В Trezor Suite в настройках устройства есть кнопка «Проверить резервную копию» (Check wallet backup). Для Ledger есть приложение Recovery Check: его устанавливают из раздела «Мой Ledger» (My Ledger) в Ledger Wallet (бывший Ledger Live). Оба способа сравнивают введённые слова с сид-фразой, которая хранится в самом устройстве. На Nano X и Nano S Plus приложение Recovery Check требует вводить слова целиком, поэтому рядом с четырёхбуквенной копией держите распечатанный полный английский список слов: на странице словаря есть файл Excel со всеми 2048 словами. Парольную фразу приложение Ledger проверить не может.
- Или восстановите кошелёк по-настоящему. Пока на кошельке нет денег или лежит небольшая сумма, сбросьте аппаратный кошелёк к заводским настройкам или переустановите приложение, в котором создавалась фраза, восстановите кошелёк с металла и сравните первый адрес для получения с тем, что записали при создании. Отдельное приложение или компьютер только ради проверки не используйте; порядок действий описан в статье как восстановить кошелёк по сид-фразе.
- Не забудьте парольную фразу. Откройте и кошелёк с парольной фразой и сравните его первый адрес.
Для публичной тестовой фразы первый адрес нативного SegWit (m/84’/0’/0’/0/0) — это тестовый вектор BIP84. С парольной фразой TREZOR из тестовых векторов BIP39 те же слова открывают другой кошелёк:
No passphrase: bc1qcr8te4kr609gcawutmrza0j4xv80jy8z306fyu
Passphrase TREZOR: bc1qv5rmq0kt9yz3pm36wvzct7p3x6mtgehjul0feu
Это публичные тестовые значения, вычисленные библиотеками @scure: не отправляйте на эти адреса средства и никогда не вводите свои настоящие слова на сайтах и в «проверялках фраз».
Частые вопросы
Выдержит ли металлическая сид-фраза пожар?
Нержавеющая сталь и титан плавятся намного выше тех примерно 1000 °C, что бывают в комнате при общей вспышке. В тестах Лоппа 59 из 75 устройств получили A за огонь после 10 минут в пламени 1093 °C, а у большинства из 10 провалившихся были алюминиевые детали или коробящиеся направляющие.
Что лучше: нержавеющая сталь или титан?
Подходят оба. Титан плавится при более высокой температуре, а сталь 316L лучше 304 переносит соль, но в тестах конструкция значила больше, чем металл.
Можно ли выбить только первые четыре буквы?
Да, для английских фраз BIP39 и для долей SLIP-39: в обоих списках первые четыре буквы у каждого слова свои. Трёхбуквенные слова оставьте как есть и отметьте на пластине, какой стандарт на ней записан.
Можно ли выбить слова по-русски?
Нет. Русского списка в BIP39 нет, а кошелёк принимает только слова из своего списка. Русский перевод не всегда удаётся однозначно вернуть к английскому слову: «рука» — это и arm, и hand, и оба слова есть в списке. Выбивайте английские слова латиницей целиком или их первые четыре буквы.
Нужно ли выбивать парольную фразу на той же пластине?
Нет. Храните её отдельно, в другом месте и записанной точно: тогда ни одна из копий сама по себе не откроет кошелёк с парольной фразой.