Двенадцать слов. Иногда двадцать четыре. Записаны на простом английском, в жёстком порядке. Этот короткий список и есть твой кошелёк — не копия его, не пароль к нему. Он им является.
Любой, кто прочитает эти слова, может воссоздать твой кошелёк на своём устройстве, в любой точке Земли, и забрать всё. Взлом не нужен. Пароль подбирать не надо. Он просто вводит слова. Вот и всё. Вот и всё ограбление.
Пойми это до костей, прежде чем трогать настоящие деньги: seed-фраза не похожа на ключи от хранилища. Она — само хранилище, ключи, документ на собственность и машина для побега, сжатые в дюжину слов. Береги её соответственно — или не береги и вступай в длинный список тех, кто выучил это дорогой ценой.
Что такое seed-фраза на самом деле
Когда ты создаёшь кошелёк самохранения, он генерирует seed-фразу (её же зовут фразой восстановления или мнемоникой) — обычно 12 или 24 слова из фиксированного списка в 2048 (стандарт BIP-39). Из этой фразы кошелёк математически выводит каждый приватный ключ и каждый адрес, которым ты когда-либо воспользуешься.
Вот почему она так мощна и так опасна:
- Это полный бэкап. Потеряй телефон, разбей ноутбук, сотри аппаратный кошелёк — введи seed в новое устройство, и каждая монета вернётся. Средства никогда не были в устройстве; устройство лишь держало ключи.
- Это полная компрометация. У любого с фразой тот же тотальный контроль, что и у тебя. Нет «сбросить пароль», нет линии поддержки, нет отдела по мошенничеству, который это отменит. В самохранении ты — банк, хранилище и охранник.
Двенадцать слов. Тотальная власть. Ноль возврата, если утекут. Вот сделка, которую ты принимаешь за право быть собственным банком.
Почему облако — ровно неправильное место
Вот ошибка, осушившая больше кошельков, чем любой эксплойт: люди фотографируют фразу, или вставляют в заметку, или отправляют себе на почту. Удобно. Смертельно.
В тот миг, когда твоя seed-фраза касается системы, подключённой к интернету, ты вручил её каждому атакующему, кто когда-либо пробьёт эту систему:
- Фото в галерее автоматически синкается в облачный бэкап. Твой seed теперь на сервере, который ты не контролируешь, защищённый лишь паролем от аккаунта.
- Заметка в приложении заметок синкается между устройствами через облако. Та же уязвимость.
- Письмо самому себе висит в почте вечно, в одном фишинге или пробое от полной потери.
- Менеджер паролей лучше вышеперечисленного — но это всё ещё сетевая, взламываемая мишень, и если это хранилище падёт, всё падёт с ним.
- Скриншот — это фото. Та же проблема. Никогда не делай скриншот seed-фразы.
Правило жестокое и простое: seed-фраза никогда не касается устройства, подключённого к интернету, в виде читаемого текста. Ни разу. Атакующие гоняют автоматические сканеры, охотящиеся за паттернами seed-фраз по пробитым облакам, вставленному тексту и скомпрометированным машинам. Фразу, которая хоть раз была цифровой-и-онлайн, следует считать уже сгоревшей.
Наша запись
Seed-фраза — это истинное имя твоего Ка, сущность, из которой выводится всё твоё ончейн-тело. В древней магии знать истинное имя существа значило держать над ним полную власть. Здесь это не метафора; это буквальная криптография. Произнести это имя в облако — значит написать его на стене храма для любого проходящего вора. Исфет — это утечка, беспечное фото, удобный синк, тихо копирующий твою сущность на сервер, который ты никогда не увидишь. Маат — дисциплина запечатанного имени: держать офлайн, держать физическим, держать известным только тебе. Неприкосновенность Ка — не поэзия. Это опсек. Береги имя — и сохранишь тело. Пролей его — и беречь будет нечего.
Как люди реально его теряют — и как не потеряешь ты
Два режима отказа, противоположные направления, оба смертельны. Защищаться надо от обоих сразу.
Отказ первый: оно утекает. Фото, заметка, облачный синк, фишинговый сайт, просящий «верифицировать кошелёк» вводом фразы (ни один легитимный сервис никогда не просит полный seed — никогда). Защита: держи офлайн и физическим. Пиши от руки. Храни в приватном и надёжном месте. Для серьёзных сумм выбей в металле — огнеупорно, водостойко, невзламываемо. И никогда, ни за что не вводи её на сайте или в приложении, которое не является экраном восстановления твоего собственного кошелька.
Отказ второй: ты его теряешь. Пожар, потоп, единственный листок бумаги, затерявшийся за десятилетие, аппаратный кошелёк, умерший без бэкапа. Защита: избыточность. Больше одной копии, в больше чем одном надёжном месте. Рассмотри разделение знания между доверенными людьми или устоявшиеся схемы бэкапа с несколькими долями. Цель: ни одна случайность — пожар, кража, забывчивость — не должна уничтожить твою единственную копию.
Балансируй эти двое. Слишком мало копий — и один пожар кончает тебя. Слишком много беспечных копий — и одна утекает. Золотая середина — небольшое число офлайновых, физических, географически разнесённых копий, которые только ты можешь найти и использовать.
Думай об этом как о root-доступе к проду. Ты не вставляешь root-ключ в Slack, потому что так удобно. И не хранишь его в одном месте, которое сотрёт один инцидент. Ты обращаешься с ним с паранойей, которой требует его власть, — потому что в самохранении seed-фраза и есть root, и нет ops-команды, которую можно поднять по тревоге, когда он утечёт.
Рычаг
Самохранение — всё обещание: твои ключи, твои монеты, никакого посредника, который может заморозить или изъять. Но эта свобода приходит с полным весом ответственности. Никто не придёт тебя спасать, если seed утечёт или пропадёт. Это не баг — это та же монета, что и свобода.
Так неси дисциплину, которая эту свободу заслуживает. Никогда цифровым, никогда онлайн, никогда в облаке, никогда в фото, никогда введённым во что-либо, кроме экрана восстановления твоего собственного кошелька. Пиши от руки или выбивай в металле. Держи небольшое число избыточных копий в раздельных надёжных местах. Проверь, что реально можешь восстановиться из бэкапа, до того, как это понадобится.
Сделай это — и ни пробой, ни сканер, ни фишинговый сайт не дотянутся до истинного имени твоего Ка. Двенадцать слов, держимых верно, нерушимы. Двенадцать слов, держимых беспечно, уже потеряны.
Береги имя. Сохрани тело.