Seed-фраза: 12 слов, которые нельзя доверить облаку

Двенадцать слов. Иногда двадцать четыре. Записаны на простом английском, в жёстком порядке. Этот короткий список и есть твой кошелёк — не копия его, не пароль к нему. Он им является.

Любой, кто прочитает эти слова, может воссоздать твой кошелёк на своём устройстве, в любой точке Земли, и забрать всё. Взлом не нужен. Пароль подбирать не надо. Он просто вводит слова. Вот и всё. Вот и всё ограбление.

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

Что такое seed-фраза на самом деле

Когда ты создаёшь кошелёк самохранения, он генерирует seed-фразу (её же зовут фразой восстановления или мнемоникой) — обычно 12 или 24 слова из фиксированного списка в 2048 (стандарт BIP-39). Из этой фразы кошелёк математически выводит каждый приватный ключ и каждый адрес, которым ты когда-либо воспользуешься.

Вот почему она так мощна и так опасна:

Двенадцать слов. Тотальная власть. Ноль возврата, если утекут. Вот сделка, которую ты принимаешь за право быть собственным банком.

Почему облако — ровно неправильное место

Вот ошибка, осушившая больше кошельков, чем любой эксплойт: люди фотографируют фразу, или вставляют в заметку, или отправляют себе на почту. Удобно. Смертельно.

В тот миг, когда твоя seed-фраза касается системы, подключённой к интернету, ты вручил её каждому атакующему, кто когда-либо пробьёт эту систему:

Правило жестокое и простое: seed-фраза никогда не касается устройства, подключённого к интернету, в виде читаемого текста. Ни разу. Атакующие гоняют автоматические сканеры, охотящиеся за паттернами seed-фраз по пробитым облакам, вставленному тексту и скомпрометированным машинам. Фразу, которая хоть раз была цифровой-и-онлайн, следует считать уже сгоревшей.

Наша запись

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

Как люди реально его теряют — и как не потеряешь ты

Два режима отказа, противоположные направления, оба смертельны. Защищаться надо от обоих сразу.

Отказ первый: оно утекает. Фото, заметка, облачный синк, фишинговый сайт, просящий «верифицировать кошелёк» вводом фразы (ни один легитимный сервис никогда не просит полный seed — никогда). Защита: держи офлайн и физическим. Пиши от руки. Храни в приватном и надёжном месте. Для серьёзных сумм выбей в металле — огнеупорно, водостойко, невзламываемо. И никогда, ни за что не вводи её на сайте или в приложении, которое не является экраном восстановления твоего собственного кошелька.

Отказ второй: ты его теряешь. Пожар, потоп, единственный листок бумаги, затерявшийся за десятилетие, аппаратный кошелёк, умерший без бэкапа. Защита: избыточность. Больше одной копии, в больше чем одном надёжном месте. Рассмотри разделение знания между доверенными людьми или устоявшиеся схемы бэкапа с несколькими долями. Цель: ни одна случайность — пожар, кража, забывчивость — не должна уничтожить твою единственную копию.

Балансируй эти двое. Слишком мало копий — и один пожар кончает тебя. Слишком много беспечных копий — и одна утекает. Золотая середина — небольшое число офлайновых, физических, географически разнесённых копий, которые только ты можешь найти и использовать.

Думай об этом как о root-доступе к проду. Ты не вставляешь root-ключ в Slack, потому что так удобно. И не хранишь его в одном месте, которое сотрёт один инцидент. Ты обращаешься с ним с паранойей, которой требует его власть, — потому что в самохранении seed-фраза и есть root, и нет ops-команды, которую можно поднять по тревоге, когда он утечёт.

Рычаг

Самохранение — всё обещание: твои ключи, твои монеты, никакого посредника, который может заморозить или изъять. Но эта свобода приходит с полным весом ответственности. Никто не придёт тебя спасать, если seed утечёт или пропадёт. Это не баг — это та же монета, что и свобода.

Так неси дисциплину, которая эту свободу заслуживает. Никогда цифровым, никогда онлайн, никогда в облаке, никогда в фото, никогда введённым во что-либо, кроме экрана восстановления твоего собственного кошелька. Пиши от руки или выбивай в металле. Держи небольшое число избыточных копий в раздельных надёжных местах. Проверь, что реально можешь восстановиться из бэкапа, до того, как это понадобится.

Сделай это — и ни пробой, ни сканер, ни фишинговый сайт не дотянутся до истинного имени твоего Ка. Двенадцать слов, держимых верно, нерушимы. Двенадцать слов, держимых беспечно, уже потеряны.

Береги имя. Сохрани тело.