Криптография

Криптография блокчейна

Bitcoin майнеры сжигают ~170 TWh/год - больше Аргентины. Ethereum переключился на Proof-of-Stake и снизил энергопотребление на 99.95%. Monero использует кольцевые подписи для такой приватности, что Coinbase и Binance деlistили монету по требованию регуляторов. Криптография блокчейна - не просто технология, это политика.

  • **Bitcoin**: SHA-256 PoW, 600 EH/s hashrate (2024), ~$150 млрд/год энергозатраты. Merkle tree в каждом блоке, SPV для мобильных кошельков.
  • **Ethereum PoS**: 900k+ валидаторов, ~35 млн ETH в стейке. BLS подписи для ~500k attestations/slot. Энергопотребление снижено на 99.95%.
  • **Ledger/Trezor**: hardware wallets с BIP32/39/44. Seed phrase хранится в защищённом элементе, никогда не покидает устройство в открытом виде.
  • **Monero**: LSAG ring signatures + stealth addresses + RingCT. Delistнут с Coinbase (2023) и OKX (2023) по требованию финансовых регуляторов.

Деревья Меркла: эффективная верификация данных

Дерево Меркла (Merkle Tree) - бинарное дерево хэшей. Листья - хэши данных, родители - хэши своих детей. Корень (Merkle root) - хэш всего набора данных. Изменение любого листа меняет весь путь до корня.

SPV (Simplified Payment Verification): Bitcoin Light клиенты (мобильные кошельки) не хранят весь блокчейн. Они запрашивают Merkle proof для конкретной транзакции - O(log n) вместо 400+ GB полного blockchain. Ethereum использует Merkle Patricia Trie для state, transactions и receipts.

Почему Merkle Proof для транзакции занимает O(log n) а не O(n) данных?

Proof-of-Work и Proof-of-Stake

Proof-of-Work (PoW): нода должна найти nonce такой, что SHA-256(SHA-256(block_header)) < target (число начинающееся с N нулей). Это вычислительно трудно (перебор) но легко проверить. Bitcoin: средний поиск 10 минут, 600 EH/s (2024).

51% атака: контроль >50% мощности сети позволяет переписывать историю. Bitcoin 51% атака стоит ~$5 млрд/час аренды hashrate (2024). Ethereum PoS: 51% атака = контроль >1/3 ETH в стейкинге (~$30 млрд). Slashing делает атаку финансово невыгодной даже при технической возможности.

Почему Proof-of-Work защищает историю транзакций?

HD кошельки: иерархия из одного seed

HD (Hierarchical Deterministic) кошелёк (BIP32, BIP39, BIP44): один 12-24 слов mnemonic seed генерирует бесконечное дерево приватных ключей. Без раскрытия приватных ключей можно создать xpub (extended public key) для мониторинга баланса.

Потеря mnemonic = потеря всех средств навсегда. Нет центрального сервера для восстановления. Hardware wallets (Ledger, Trezor) хранят seed в защищённом чипе. Если знать xpub и любой child private key - можно вычислить master private key (BIP32 не hardened derivation). Для аккаунтов нужно hardened derivation (m/44').

Почему xpub (расширенный публичный ключ) безопасно передавать, но с оговорками?

Кольцевые подписи: анонимность в группе

Ring signature: один из n участников подписал, но неизвестно кто. Верификатор убеждается что подпись от члена группы (ring), но не знает от кого конкретно. Monero использует kольцевые подписи для скрытия отправителя.

Monero (XMR): ring signatures (скрывает отправителя), stealth addresses (скрывает получателя), RingCT (скрывает суммы). Тройная конфиденциальность делает Monero предпочтительной монетой для тех, кто ценит приватность - и проблемой для регуляторов.

Как Monero предотвращает двойное расходование при кольцевых подписях где отправитель скрыт?

Итоги

  • **Merkle Tree**: O(log n) Merkle Proof для верификации включения транзакции. SPV - мобильные кошельки без полного блокчейна.
  • **PoW vs PoS**: PoW - вычислительные ресурсы. PoS - финансовый залог. Ethereum PoS: 99.95% меньше энергии, slashing против атак.
  • **HD кошельки**: BIP39 мнемоника -> бесконечное дерево ключей через HMAC-SHA512. xpub для мониторинга без приватных ключей.
  • **Ring signatures**: подпись от одного из n без раскрытия кого. Key Image предотвращает double spend. Monero = ring + stealth + RingCT.

Связанные темы

Блокчейн-криптография - прикладная криптография в децентрализованных системах:

  • Хэш-функции — SHA-256 (Bitcoin PoW и Merkle), Keccak-256 (Ethereum). Merkle tree - дерево хэшей.
  • ZK-SNARKs — ZK-Rollup (zkSync, StarkNet) = SNARKs + блокчейн. Тысячи транзакций доказываются одним SNARKs доказательством на L1.
  • Zero-Knowledge Proofs — Ring signatures - OR-composition Sigma-протокол. ZKP = математическая основа приватности Monero и Zcash.

Вопросы для размышления

  • Bitcoin SPV клиенты доверяют только цепи с наибольшим PoW. Как злоумышленник с 10% hashrate может обмануть SPV клиент?
  • BIP39 мнемоника из 12 слов: 128 бит энтропии. При потере кошелька можно восстановить из мнемоники. Какова реальная security assumption и кто может атаковать?
  • Monero Key Image публично записан в блокчейне. Это 'утечка' информации о пользователе? Что именно раскрывает KI?

Связанные уроки

  • nt-03
  • alg-35-bit-manipulation
Криптография блокчейна

0

1

Войти