Криптокошелёк на уровне криптографии: seed phrase, private key, подпись и hardware wallet

Radar Expert разбирает кошелёк как криптографическую систему: от энтропии и BIP39 mnemonic до HD derivation, public keys, ECDSA/Schnorr и hardware signing. Почему seed phrase не “лежит в блокчейне” и что реально защищает hardware wallet.

Криптокошелёк на уровне криптографии: seed phrase, private key, подпись и hardware wallet
Криптокошелёк не хранит биткоины внутри приложения или устройства. Он хранит или способен восстановить секреты, с помощью которых пользователь доказывает право распоряжаться on-chain состоянием. Монеты остаются в blockchain ledger; wallet управляет ключами, адресами, derivation paths, transaction construction и подписью. Эта разница кажется семантической, пока человек не теряет seed phrase или не подписывает чужую транзакцию.

Wallet — это менеджер ключей и намерений, а не сейф с монетами

Когда приложение показывает баланс, оно вычисляет его из blockchain state: UTXO, account balance, token contracts и истории. Локально могут храниться labels, address book, cached transactions и metadata, но экономическое право контролируется private key или набором ключей.

В Bitcoin право потратить output проверяется script-условиями и подписью. В Ethereum externally owned account авторизует transaction подписью над её полями. В обоих случаях сеть не спрашивает, какой бренд кошелька использовался. Она проверяет криптографическое доказательство.

Private key — это секретное число

Private key в системах на эллиптических кривых — число в допустимом диапазоне. Из него математически вычисляется public key. Обратное восстановление private key из корректно выбранного public key считается вычислительно недостижимым при современных параметрах и предположениях безопасности.

Для secp256k1, используемой Bitcoin и Ethereum, private key обычно представлен как 256-bit значение, хотя не каждое 256-bit число является допустимым ключом: оно должно попадать в диапазон порядка группы.

Случайность важнее красивого формата

Безопасность private key зависит прежде всего от entropy. Если человек «придумал» ключ или использовал предсказуемый генератор случайных чисел, математическая криптография не спасёт. Атакующему не нужно ломать secp256k1 — достаточно угадать слабый seed.

Public key как точка на кривой secp256k1, вычисленная из private key
Bitcoin Developer Guide показывает public key как точку эллиптической кривой. Private key — секретный scalar, public key — производная публичная точка.

Seed phrase — человекочитаемое представление entropy и recovery material

BIP39 описывает mnemonic code: entropy преобразуется в последовательность слов с checksum, после чего mnemonic вместе с optional passphrase через PBKDF2-HMAC-SHA512 преобразуется в seed. Этот seed затем может использоваться HD wallet-ом для derivation дерева ключей.

Важно различать термины. В разговоре «seed phrase» часто называют 12 или 24 слова. Технически слова — mnemonic sentence, из которой получается binary seed. А уже из seed HD wallet строит master extended key.

Почему слова удобнее hex-строки

Людям проще аккуратно переписать набор слов из фиксированного словаря, чем длинное шестнадцатеричное число. Checksum позволяет обнаружить часть ошибок. Это UX-слой над entropy, а не дополнительная магия безопасности.

12 и 24 слова не означают «12 ключей» и «24 ключа»

Mnemonic — единый recovery secret. Из него может детерминированно получиться огромное дерево account/address keys. Потеря одной фразы способна означать потерю всех связанных accounts; компрометация одной фразы — компрометацию всего дерева, если нет дополнительной passphrase/разделения.

Seed phrase нужно защищать как корневой секрет ко всему wallet tree. Фотография в облаке превращает hardware wallet в дорогой экран: атакующему уже не нужен сам device.

HD wallet превращает один seed в дерево ключей

BIP32 ввёл Hierarchical Deterministic wallets. Master seed создаёт extended private key, содержащий private key material и chain code. Из него выводятся child keys по derivation function.

Главное удобство: backup одного root secret способен восстановить множество адресов. Wallet может создавать новый receive address для каждой операции, не требуя отдельного backup после каждого адреса.

Hierarchical deterministic derivation: master key создаёт дерево child keys
Bitcoin Developer Guide показывает HD tree: один root extended key детерминированно порождает дочерние private/public keys.

Extended key — это больше, чем обычный key

Extended private/public key содержит сам key плюс chain code и metadata derivation. Поэтому xpub — не просто один public key. Он способен порождать целую ветку child public keys для non-hardened derivation.

Это удобно для watch-only wallet: сервер может генерировать deposit addresses, не имея private keys. Но утечка xpub раскрывает privacy: наблюдатель способен связать большую ветку будущих адресов.

Hardened derivation меняет границу компрометации

BIP32 предусматривает hardened children. Их нельзя вывести только из parent extended public key. Это уменьшает риск некоторых cross-generational compromise scenarios.

Почему xpub тоже чувствительная информация

xpub не позволяет напрямую тратить funds, но может раскрыть balances, историю и структуру адресов. В финансовой privacy-модели это серьёзный secret-adjacent объект, хотя он и не равен private key.

BIP44 и derivation path превращают дерево в стандартную структуру

BIP44 предложил путь вида m / purpose' / coin_type' / account' / change / address_index. Это позволяет разным wallet implementations одинаково искать accounts и addresses.

Например, software wallet после recovery должен знать не только mnemonic, но и derivation convention. Если устройство использовало другой path или script type, пользователь может восстановить seed и временно «не увидеть» баланс, хотя ключи математически существуют.

Address не является public key один к одному

В Bitcoin адрес обычно кодирует hash или script-related destination, а не просто «public key в другом шрифте». Taproot, SegWit и legacy адреса используют разные witness/script constructions. В Ethereum адрес получают из public key по другой схеме.

Один seed может обслуживать разные сети

HD standards позволяют одному root seed строить ветки разных coin types. Это удобно, но увеличивает blast radius: компрометация seed затрагивает не один Bitcoin account, а потенциально все сети, которые wallet вывел из этого root.

Цифровая подпись доказывает авторизацию, не раскрывая private key

Когда wallet подписывает transaction, он не отправляет private key в сеть. Он создаёт signature над protocol-defined message digest. Узлы используют public key и подпись, чтобы проверить, что signer обладал соответствующим private key и что подписываемые данные не были изменены.

Bitcoin исторически использует ECDSA с secp256k1, а Taproot вводит BIP340 Schnorr signatures для соответствующих spending paths. Ethereum EOAs также используют подписи на secp256k1, но serialization и signed payload отличаются.

Подписывается не абстрактное «я согласен»

Signature привязана к конкретному digest. В transaction signing digest включаются определённые поля: inputs, outputs, amounts, nonce, chain id или другие protocol data в зависимости от сети и signing mode.

Поэтому hardware wallet должен показывать человеку **что именно** он подписывает. Криптография способна доказать, что device подписал bytes, но не способна гарантировать, что человек правильно понял их смысл.

Nonce в подписи — другой nonce

В ECDSA используется per-signature secret nonce k. Это не Ethereum transaction nonce. Если k повторяется или генерируется предсказуемо, private key может быть восстановлен из подписей. Современные implementations используют deterministic nonce generation или надёжный CSPRNG, чтобы избежать исторически известных catastrophic failures.

Signing-only wallet: online система создаёт unsigned transaction, offline signer подписывает и возвращает signature
Bitcoin Developer Guide показывает разделение online construction и offline signing — фундаментальную модель hardware/cold wallets.

Hardware wallet изолирует signing key от общего-purpose компьютера

Hardware wallet пытается сделать private key недоступным для операционной системы ноутбука или телефона. Host строит unsigned transaction, device получает данные, пользователь подтверждает критические поля на отдельном доверенном дисплее, а device возвращает signature.

Private key при нормальной работе не покидает hardware security boundary. Это значительно уменьшает риск malware, которое умеет читать файлы, clipboard или browser memory.

Пользователь сверяет адрес и сумму на экране Trezor перед hardware-подписью
Официальная иллюстрация Trezor: host подготавливает операцию, но критические параметры подтверждаются на отдельном устройстве.

Hardware wallet не делает заражённый компьютер безопасным

Malware может подменить recipient address до отправки transaction на device. Защита работает, если пользователь сверит адрес и сумму на trusted display. Если человек механически нажимает Confirm, hardware boundary не компенсирует человеческую невнимательность.

Secure element и open hardware — разные design choices

Некоторые устройства используют secure element для защиты secrets от physical extraction, другие делают акцент на открытом микроконтроллере и auditable design, некоторые комбинируют подходы. Нельзя сводить безопасность к одной строке «есть secure element / нет secure element».

Главная граница — signing verification path

Сильный hardware wallet должен минимизировать случаи blind signing, показывать понятные transaction details и защищать firmware/update chain. Пользователь должен иметь возможность проверить, что display показывает именно данные, которые device собирается подписать.

Hot, cold, hardware и multisig решают разные риски

«Cold wallet» означает, что signing key не находится постоянно в online environment. Hardware wallet — физическое устройство для изолированного signing. Эти понятия пересекаются, но не идентичны.

МодельГде private keyГлавное преимуществоГлавный риск
Hot software walletOnline deviceУдобство и скоростьMalware / browser compromise
Hardware walletDedicated signerИзоляция ключа + trusted displaySupply chain, blind signing, seed backup
Air-gapped signerOffline deviceМинимум online interfaceОшибки data transfer / physical security
MultisigНесколько независимых keysНет одной точки отказаBackup complexity / coordination
Custodial walletКлючи у сервисаПростота recoveryCounterparty/custody risk

Multisig меняет модель с «защитить один secret» на quorum

Bitcoin scripts и Taproot позволяют policies, где для spending нужно несколько signatures. Например, 2-of-3 setup переживает потерю одного key и компрометацию одного key, если остальные независимы.

Но multisig не спасает, если все три seed backups лежат в одном облачном аккаунте или все devices покупались/настраивались как единый correlated setup.

Recovery — самая недооценённая часть wallet security

Повседневный device может быть защищён PIN, biometric или secure element, но disaster recovery часто сводится к листу бумаги с seed. Атакующий, получивший mnemonic, способен восстановить keys на другом wallet без знания PIN оригинального device.

Seed backup должен пережить две противоположные угрозы

Он должен быть доступен владельцу после пожара, поломки или потери device — и одновременно недоступен постороннему. Эти требования конфликтуют. Чем больше копий, тем выше resilience и attack surface. Чем меньше копий, тем выше риск необратимой утраты.

Passphrase создаёт отдельный wallet namespace

В BIP39 optional passphrase входит в key stretching и приводит к другому seed. Неверная passphrase обычно не даёт «ошибку» — она создаёт другой валидный wallet. Это повышает защиту seed backup, но добавляет ещё один secret, потеря которого делает recovery невозможным.

Passphrase, которую невозможно восстановить самому владельцу через пять лет, является не дополнительной защитой, а дополнительной точкой отказа.

Проверка backup важнее уверенности

Recovery procedure полезно тестировать безопасным способом до того, как на wallet окажется значимая сумма. Ошибка в слове, derivation path, passphrase или multisig descriptor обнаруживается намного дешевле заранее.

Threat model важнее рейтинга hardware wallets

Выбор wallet зависит от угроз. Для маленькой ежедневной суммы удобный mobile wallet может быть рациональнее сложного multisig. Для treasury компании одного hardware device недостаточно из-за insider risk и single-person dependency.

Полезный threat model отвечает:

  1. Что произойдёт при краже телефона?
  2. Что произойдёт при malware на ноутбуке?
  3. Что произойдёт при компрометации seed backup?
  4. Может ли один человек украсть средства?
  5. Как восстановиться после смерти/недееспособности владельца?
  6. Как проверить firmware и transaction details?
  7. Есть ли риск coercion или physical attack?
  8. Как изменится защита при росте суммы в 100 раз?

UX — часть security

Система, которую пользователь не понимает, создаёт обходные пути. Люди фотографируют seed, потому что бумага неудобна; отключают verification, потому что display мелкий; хранят все multisig backups рядом, потому что иначе сложно.

Security engineering должен учитывать реальное поведение, а не только идеального пользователя.

Главный вывод

Криптокошелёк — это цепочка доверия от entropy до подписанной transaction. Seed phrase позволяет восстановить root material. HD derivation создаёт дерево ключей. Private key порождает public key и signature authority. Address переводит cryptographic destination в удобный формат. Hardware wallet изолирует signing и переносит critical verification на отдельный display.

Самая опасная ошибка — думать, что безопасность определяется устройством. Hardware wallet не защищает украденный seed, blind signing, неправильный backup или плохо спроектированный multisig. Сильная схема строится вокруг threat model: как создаются secrets, где они хранятся, что видит signer, как проверяется transaction и как владелец восстанавливает контроль после реальной аварии.

FAQ

Seed phrase и private key — одно и то же?

Нет. Mnemonic/seed обычно является корневым recovery material, из которого HD wallet выводит множество private keys. Один конкретный private key контролирует конкретную ветку/адрес согласно правилам wallet.

Хранится ли seed phrase в blockchain?

Нет. Blockchain содержит public transaction/state data. Seed и private keys должны оставаться секретными у владельца или custodial system.

Может ли hardware wallet подписывать без подключения к интернету?

Да, signing itself не требует network access. Unsigned transaction можно перенести на offline signer, получить signature и затем broadcast-ить её с online machine.

Что можно украсть, зная только xpub?

Обычно xpub не позволяет тратить средства, но может раскрыть большую ветку addresses и balances. Это серьёзная privacy leak и в некоторых derivation scenarios часть более сложных компрометационных рисков.

Чем Schnorr отличается от ECDSA для обычного пользователя?

Обе схемы позволяют доказать владение private key без его раскрытия. Schnorr в Bitcoin Taproot имеет более простые algebraic properties и поддерживает эффективные constructions для key aggregation и signatures, но wallet UX для пользователя может выглядеть похожим.

Если потерян hardware wallet, потеряны ли монеты?

Не обязательно. Если recovery material сохранён и wallet scheme известна, ключи можно восстановить на совместимом устройстве/software. Потеря одновременно device и единственного seed backup обычно означает необратимую потерю контроля.

Материал носит образовательный характер и не является финансовой рекомендацией или торговым сигналом.

Trust 96 Importance 84 Noise 0% Связанный символ Информационный материал, не является финансовой рекомендацией.