1. Главная
  2. / BIP39 по-русски
  3. / Металлическая сид-фраза: пластины, стресс-тесты и запись слов
Опубликовано

Металлическая сид-фраза: пластины, стресс-тесты и запись слов

Металлическая сид-фраза — это резервная копия сид-фразы на металле: слова выбивают клеймами, гравируют, отмечают точками от кернера по сетке или собирают из букв-плиток. Обычно берут нержавеющую сталь или титан: такая копия переживает огонь, воду и сдавливание, которые губят бумагу, а плавятся оба металла при температуре намного выше той, что бывает при пожаре в комнате. Где держать копии и как не дать их прочитать посторонним, рассказано в статье как хранить сид-фразу.

Но конструкция значит не меньше, чем металл. В независимых стресс-тестах 75 устройств, которые провёл Джеймсон Лопп, большинство отказов вызвали алюминиевые детали, покоробленные направляющие, растворившиеся заклёпки и выгоревшие надписи. Ниже — сравнение конструкций и металлов, итоги тестов, запись слов, парольной фразы и долей SLIP-39, защита от кражи, бэкап своими руками и проверка восстановлением.

Почему бумаги недостаточно

Бумага горит, а при затоплении намокает и рвётся, и чернила на ней расплываются. Исследователи пожаров из NIST, Национального института стандартов и технологий США, оценивают температуру в комнате во время общей вспышки (flashover) примерно в 1000 °C. Так называют момент, когда поверхности, на которые падает тепловое излучение раскалённых выше 600 °C газов, почти одновременно нагреваются до температуры воспламенения и огонь быстро охватывает всё помещение.

В огневом тесте Лоппа бумага с напечатанным приватным ключом, наклеенная на металлическую карточку, сгорела вместе с ключом.

Металл защищает копию от огня и воды, но не от чужих глаз: пластину, которая пережила пожар, вор прочитает так же легко.

Какие бывают металлические бэкапы

Металлические пластины для сид-фразы бывают с выбитыми или гравированными буквами и с сеткой под кернер; кроме них, есть рамки с буквами-плитками, шайбы на болте и капсулы:

КонструкцияКак устроенаПлюсыМинусы
Пластина с выбитыми или гравированными буквамиБуквы выбивают клеймами или гравируют на цельной пластинеОдна деталь, ничего не выпадетВыбивать долго и легко ошибиться; неглубокая гравировка может выгореть
Пластина с сеткой под кернерКаждая буква или цифра — точка от кернера в ячейке сеткиБыстро, трудно ошибитьсяБез сетки точки не прочитать, поэтому сетку нужно вытравить глубоко
Буквы-плитки в рамкеПлитки с буквами вставляют в направляющие или пазыНичего не нужно выбивать, ошибку легко исправитьДо 96 отдельных плиток; в тестах из покоробленных направляющих плитки выпадали
Шайбы на болтеПо слову на каждой стороне шайбы, шайбы нанизаны на болт под колпачковую гайкуДетали из строительного магазина: дёшево и без заказа у продавца криптотоваровНа шайбах неудобно выбивать, каждому слову нужен номер
КапсулаПлитки нанизаны на стержень внутри трубки с навинчиваемой крышкойКомпактно; в тестах кислота не попала к плиткамСмятую трубку может заклинить

Протестировав десятки устройств, Лопп описал идеальную конструкцию в своём трактате об устройствах для бэкапа сид-фраз: нержавеющая сталь или титан; небольшой, но толстый предмет — не тоньше 5 мм, а лучше толще 1 см; один цельный кусок металла; данные, пробитые кернером или вытравленные электролизом; шаблон для расшифровки, нанесённый прямо на устройство.

В его тестах сдавливание лучше всего выдерживали толстые цельные цилиндры и шестигранные прутки. Крепёж, предупреждает Лопп, может расплавиться, раствориться в кислоте или намертво заклинить смятое устройство.

Металлы и температура плавления

Сплавы, например нержавеющая сталь и латунь, плавятся не при одной температуре, а в диапазоне. Цифры в таблице — по данным Британской ассоциации нержавеющей стали (BSSA), периодической таблицы PubChem и Ассоциации развития меди (Copper Development Association):

МатериалТемпература или диапазон плавленияЧто это значит для бэкапа
Нержавеющая сталь 3041400–1450 °CОстаётся твёрдой намного выше температуры пожара в комнате
Нержавеющая сталь 316 / 316L1375–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, которая лучше переносит соль.

  1. Потренируйтесь на запасной шайбе. Выбивание клеймами Лопп называет самым трудным способом: оттиски выходят слабыми или двойными, буквы — повёрнутыми, а клейма разлетаются по комнате. Наденьте защитные очки.
  2. Выбейте по одному слову на каждой стороне шайбы вместе с номером и бейте каждую букву глубоко.
  3. Заполните болт шайбами до конца, чтобы им некуда было сдвигаться.
  4. Проверьте результат, как описано ниже.

Если выбивать буквы на шайбах кажется вам слишком кропотливым делом, по опыту Лоппа намного проще пробивать кернером точки на пластине с глубоко вытравленной сеткой. Два самодельных проекта пластин с выбитыми и гравированными словами в его тестах тоже получили A во всех испытаниях.

Проверьте копию восстановлением

Пока вы ни разу не восстановили кошелёк из копии, её надёжность не доказана:

  1. Сверьте её, прежде чем запечатать. Прочитайте каждое слово с металла и сравните с исходной записью.
  2. Запустите проверку на самом устройстве. В 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 проверить не может.
  3. Или восстановите кошелёк по-настоящему. Пока на кошельке нет денег или лежит небольшая сумма, сбросьте аппаратный кошелёк к заводским настройкам или переустановите приложение, в котором создавалась фраза, восстановите кошелёк с металла и сравните первый адрес для получения с тем, что записали при создании. Отдельное приложение или компьютер только ради проверки не используйте; порядок действий описан в статье как восстановить кошелёк по сид-фразе.
  4. Не забудьте парольную фразу. Откройте и кошелёк с парольной фразой и сравните его первый адрес.

Для публичной тестовой фразы первый адрес нативного 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, и оба слова есть в списке. Выбивайте английские слова латиницей целиком или их первые четыре буквы.

Нужно ли выбивать парольную фразу на той же пластине?

Нет. Храните её отдельно, в другом месте и записанной точно: тогда ни одна из копий сама по себе не откроет кошелёк с парольной фразой.