Бумажные кошельки: почему старый способ холодного хранения плохо состарился

·4 мин. чтения·Автор: SSP Editorial Team
Обложка SSP Academy: бумажные кошельки и холодное хранение

Бумажные кошельки: почему старый способ холодного хранения плохо состарился

В первые годы криптовалют золотым стандартом холодного хранения был лист бумаги. Вы генерировали пару ключей на сайте, распечатывали адрес и приватный ключ в виде QR-кодов, складывали лист в конверт и убирали в надёжное место. Ничего в сети, нечего взламывать.

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

Что такое бумажный кошелёк

Бумажный кошелёк — это один приватный ключ и его адрес, напечатанные на бумаге. Чтобы получить средства, любой может отправить монеты на напечатанный адрес. Чтобы потратить их, вы импортируете приватный ключ в программный кошелёк или делаете его «свип» (sweep) — переводите всё целиком.

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

Что пошло не так

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

Печать оставляет следы. Принтеры хранят копии в памяти и в очередях печати, сетевые принтеры передают данные по сети, а некоторые принтеры с подключением к облаку загружают туда документы. Каждая такая копия — экземпляр вашего приватного ключа вне вашего контроля.

Один адрес, используемый повторно. У бумажного кошелька один адрес. Каждое поступление идёт в одно и то же место, поэтому весь ваш баланс и вся история оказываются связаны между собой в блокчейне. Современные кошельки создают новый адрес для каждого получения.

Трата по принципу «всё или ничего» — и ошибиться легко. В сетях, устроенных как Bitcoin, транзакция тратит монеты целиком, а остаток возвращает как «сдачу». Ранние кошельки, импортировавшие бумажный ключ, иногда отправляли эту сдачу на новый адрес в программном кошельке, а не обратно на бумажный. Люди, потратившие часть средств с бумажного кошелька и вернувшие листок в ящик, позже обнаруживали его пустым: остаток ушёл на адрес, резервную копию которого они так и не сделали. Как устроены монеты и сдача объясняет почему.

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

Что пришло на смену

Основная идея сохранилась; изменилась реализация:

  • Фразы восстановления заменили одиночные ключи. Двенадцать или двадцать четыре слова воссоздают целую иерархию ключей и адресов, поэтому кошелёк может каждый раз использовать новый адрес и при этом восстанавливаться из одной резервной копии.
  • Специализированные устройства и приложения генерируют ключи локально, с надёжной случайностью, а не на веб-странице.
  • Мультиподпись (multisig) устранила единую точку отказа: для траты нужно несколько ключей, хранящихся в разных местах.

Разница между горячим и холодным хранением по-прежнему реальна, но «холодное» больше не обязано означать «один приватный ключ на листке бумаги».

Если у вас есть старый бумажный кошелёк

  1. Не вводите ключ на сайтах. Ни для проверки баланса, ни для того, чтобы «проверить» сам ключ. Проверяйте баланс, вводя в обозреватель блоков адрес — никогда не ключ.
  2. Планируйте перевести всё сразу. Используйте функцию свипа в надёжном кошельке: она переводит весь баланс одной транзакцией на адрес в вашем новом кошельке.
  3. Сначала подготовьте получателя, надёжно сохранив его фразу восстановления. Как это сделать, описано в статье Лучшие практики хранения сид-фразы.
  4. После этого считайте бумажный ключ использованным. Больше ничего не отправляйте на этот адрес.
  5. Если речь о форке или старом блокчейне, прежде чем уничтожать бумагу, проверьте, не контролирует ли тот же ключ монеты где-то ещё: на некоторых старых кошельках лежат и монеты, полученные при форках.

Как с этим справляется SSP

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

И главное — нет единого листка, который контролирует всё. Ваши средства находятся в мультиподписном хранилище 2-of-2: один ключ в SSP Wallet, другой в SSP Key, и у каждого своя фраза восстановления. Потеря или раскрытие одного из них никому не отдаёт ваши монеты.

Честный итог

Бумажные кошельки были остроумным ответом на реальную проблему: как держать ключи подальше от интернета. Но генерация на сайтах, утечки через принтеры, единственный адрес, ошибки со сдачей и хрупкость бумаги сделали их рискованнее, чем казалось.

Если у вас всё ещё есть такой кошелёк, проверьте его по адресу, переведите всё одним свипом в кошелёк с надёжной резервной копией и отправьте бумагу на покой. Цель, которой он служил, — ключи под контролем только у вас — сегодня лучше достигается фразами восстановления, локальной генерацией ключей и мультиподписью.

Поделиться статьёй

Похожие статьи