Средний Урок 4 4 мин чтения

Пароль: 13-е слово и скрытые кошельки

Одно лишнее слово создает совершенно новый кошелек из той же семени. Это самая мощная защита и самая легкая для потери.

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

Механизм почти разочаровывающе прост. В Уроке 1 фраза вводилась в функцию PBKDF2 вместе с фиксированной приправой, словом mnemonic. Passphrase — это просто текст, который вы добавляете туда. Любой текст. Слово, фраза, стих, последовательность символов. Результат — это совершенно другое семя и, следовательно, совершенно новый кошелек, не имеющий никакого отношения к первому.

Обратите внимание на то, что подразумевает эта простота. Не существует неправильной passphrase. Нет проверки, нет контрольной суммы, нет предупреждения. Каждый разный текст открывает законный, пустой и одинаково действительный кошелек — и их миллиарды на одно семя. Ввод "собака" вместо "Собака" не вызывает сообщение об ошибке; это приводит к нулевому балансу, что является самым пугающим, что может показать экран кошелька.

Опустить ведро с неправильным словом не вызывает ошибку. Это приводит к пустому колодцу.

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

Сумка на столе существует, чтобы её нашли.

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

Существует второе ограничение, более распространённое и более забытое. Passphrase защищает бумагу; она не защищает устройство, на котором вы её вводите. На компьютере с шпионской программой фраза и passphrase выходят вместе по одному и тому же пути, и скрытый кошелек исчезает с той же лёгкостью, что и другой. Именно поэтому её вводят на специальном устройстве, а не в браузере.

Слово защищает сохранённую бумагу, а не комнату, где вы её написали.

И есть риск, который убивает больше людей, чем все воры вместе взятые: забыть. В 2011 году программист Стефан Томас сохранил 7.002 биткоина на зашифрованном диске и потерял бумагу с паролем. Диск позволяет десять попыток, прежде чем навсегда удалить содержимое. Он использовал восемь. Последние две остаются там, как и деньги, за словом, которое никто не помнит. Забытая passphrase делает именно это, без счётчика и без церемоний.

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

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

Один ключ, защищённый только одним словом, всё ещё является единственной точкой отказа. Существует схема, при которой ни один ключ в одиночку не может ничего переместить, и она меняет риск потери всего на процедуру с участием более одного человека. В следующем уроке — multisig.