Сид-фраза, закрытый ключ, xpub: что на самом деле может каждый

·5 мин. чтения·Автор: SSP Editorial Team
Обложка SSP Academy: сид-фразы, закрытые ключи и xpub в сравнении

Сид-фраза, закрытый ключ, xpub: что на самом деле может каждый

Криптокошельки выдают вам несколько видов материала, похожего на секретный, и опасны они по-разному. Одни могут потратить всё, чем вы владеете. Другие могут только наблюдать. Третьи сами по себе не могут ни того, ни другого.

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

Сид-фраза: всё и навсегда

Ваша сид-фраза — 12 или 24 слова — это корень. Из неё кошелёк детерминированно выводит каждый закрытый ключ для каждой цепочки и каждого счёта, которыми он когда-либо воспользуется.

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

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

Правило: никто добросовестный никогда не просит вашу сид-фразу. Ни поддержка, ни инструмент «синхронизации», ни форма проверки.

Закрытые ключи: каждый — один замок

Закрытый ключ выводится из сида и контролирует конкретный адрес или, в некоторых схемах, счёт. Именно он на деле создаёт подписи.

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

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

Расширенный открытый ключ: видеть всё, не тратить ничего

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

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

Вот и всё различие, которое стоит запомнить:

Сид и закрытые ключи могут тратить. Xpub может только наблюдать.

Инструменты только для чтения, бухгалтерские программы и трекеры портфеля используют xpub вполне законно. Разумная просьба об xpub — не тревожный сигнал. Просьба о сиде или закрытом ключе — всегда тревожный.

Где мультиподпись меняет расклад

Всё сказанное описывает кошелёк с одним ключом. Мультиподпись меняет цену отдельного секрета.

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

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

С xpub в мультиподписи то же самое. SSP выводит адреса по пути BIP-48, m/48'/coin'/account'/script_type'/change/index, и каждое устройство хранит xpub другой стороны, чтобы строить общие адреса. Эти xpub позволяют каждой стороне видеть счёт; ни один не позволяет никому тратить.

Практическая шпаргалка

Сид-фраза. Тратит всё, навсегда. Храните офлайн, не вводите нигде, кроме кошелька, никому и ни под каким предлогом не передавайте.

Закрытый ключ. Тратит то, что контролирует. Не экспортируйте без точного понимания зачем; никогда не вставляйте на сайт.

xpub. Ничего не тратит, раскрывает весь счёт. Давайте только тем инструментам, которым доверили бы всю историю.

Адреса. Публичны по замыслу. Делитесь свободно — так вам платят, — но помните, что повторное использование адреса связывает ваши платежи.

Подписанные транзакции и сообщения. Разовое разрешение на конкретное действие. Безвредны после использования и опасны лишь тогда, когда вы подписали то, чего не читали.

Единственный вопрос, который стоит задать

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

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

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

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