Блокчейн
Что такое блокчейн
12 января 2009 года. Сатоши Накамото отправляет 10 BTC Хэлу Финни. Первая транзакция в истории, где деньгами владеет человек - не государство, не банк. Никто не может заморозить, отменить, напечатать ещё. Не анархия - математика. SHA-256 хеш-функция, известная с 1993 года. Proof-of-work, описанный в 1993-м. Цепочка блоков Стюарта Хабера из 1991-го. Накамото соединил три идеи в одном 9-страничном white paper - и создал рынок в 1 триллион долларов.
- **Bitcoin** - 21 миллион монет, рыночная капитализация 1 трлн долларов, 10+ лет без единого взлома протокола
- **Ethereum** - смарт-контракты: программы, которые исполняются автоматически без посредников. 500 млрд долларов в DeFi-протоколах
- **Solana** - 65000 TPS для NFT и DeFi; **SWIFT-альтернативы** для трансграничных переводов без 3-5 дней ожидания и комиссии 25-50 долларов
Распределённый реестр
До 2009 года любой цифровой перевод требовал посредника. Не потому что технически невозможно - а потому что нельзя было доверять. Если записать «Иван заплатил Марии 100 рублей» в файл на сервере, Иван может изменить этот файл. Нужен кто-то, кто хранит правду. **Банк.** Государство. Нотариус.
**Распределённый реестр** переворачивает это: копия данных есть у каждого участника сети. Когда кто-то добавляет запись, все остальные получают обновление. Подделать свою копию бессмысленно - остальные сразу увидят расхождение. Нет единого сервера, который можно взломать. Нет банка, который может заморозить счёт.
Аналогия: деревенская доска объявлений
Как работает распределённый реестр в реальной жизни
В маленькой деревне есть доска объявлений на площади. Но вместо одной доски - **каждый житель ведёт свою копию**. Когда Иван продаёт Марии корову, оба кричат на площади: «Иван → Мария, 1 корова!» Все записывают. Если Иван потом скажет «я не продавал» - у 100 соседей записано обратное.
**Ключевое свойство:** нет единого центра, который контролирует данные. Каждый участник - равноправный хранитель истины. Это называется **децентрализация**.
В чём главное отличие распределённого реестра от обычной базы данных банка?
Блоки
Записи добавляются не по одной - они **группируются в блоки**. Блок - это пакет транзакций за определённый период времени. Bitcoin: блок каждые ~10 минут, до 2500 транзакций. Ethereum: блок каждые ~12 секунд.
Зачем? Тысячи переводов происходят каждую секунду. Синхронизировать каждую транзакцию по отдельности между тысячами узлов сети - это экспоненциальная нагрузка. Блок - это пакетная обработка: собрать пачку, проверить разом, распространить одним сообщением.
**Аналогия:** блок - это **страница** в тетради. Каждая покупка не на отдельном листе. Страница заполняется - начинается следующая.
Почему транзакции группируются в блоки, а не записываются по одной?
Цепочка блоков
Каждый блок содержит **хеш предыдущего блока**. Хеш - это цифровой отпечаток: SHA-256 превращает любые данные в строку из 64 символов. Изменишь хотя бы одну букву в транзакции - отпечаток полностью изменится. Так блок №5 привязан к №4, тот к №3 - цепочка до самого первого, **genesis block**.
Это и есть защита. Если злоумышленник изменит транзакцию в блоке №3, его хеш изменится. Поле `prev` в блоке №4 перестанет совпадать - блок №4 невалиден. А значит и №5, и №6, и все последующие. Чтобы подделать одну транзакцию, нужно пересчитать всю цепочку.
Изменение блока №2 приведёт к каскаду: 1. Хеш блока №2 изменится 2. Поле `prev` блока №3 перестанет совпадать → блок №3 невалиден 3. И так далее по всей цепочке Чтобы подделать одну транзакцию, нужно пересчитать **все последующие блоки**.
Что произойдёт, если злоумышленник изменит транзакцию в блоке №50 при текущей длине цепочки 100 блоков?
Неизменяемость
Связка «блоки + цепочка хешей + распределённость» даёт **immutability** - неизменяемость. Данные, попавшие в блокчейн, практически невозможно изменить задним числом. Практически - не теоретически.
Чтобы изменить блок, злоумышленнику нужно: пересчитать хеш изменённого блока, пересчитать все последующие блоки и сделать это быстрее всей остальной сети, которая продолжает добавлять новые блоки. Затем убедить более 50% участников принять его версию - **атака 51%**.
В Bitcoin для атаки 51% нужна половина хешрейта всей сети. На 2024 год - примерно 250 EH/s из 500 EH/s. Стоимость оборудования - около 20 млрд долларов. Электричество - 18 млн долларов в день. Это и есть неизменяемость - не технический замок, а экономическая нерентабельность.
Стоимость атаки 51% на Bitcoin
Сколько стоит подделать Bitcoin
Хешрейт сети Bitcoin (2024): ~500 EH/s Стоимость оборудования для 51%: ~$20 млрд Электричество: ~$18 млн/день Для сравнения: годовой бюджет NASA - 25 млрд. Именно поэтому Bitcoin считается одной из самых защищённых систем в мире.
Неизменяемость - не абсолютное свойство, а **экономическое**. Технически изменить данные возможно, но стоимость атаки делает это нерентабельным. Чем больше участников в сети, тем дороже атака.
Почему данные в блокчейне считаются неизменяемыми?
Trustless: система без доверия
Обычные системы требуют **доверия** к посреднику: банку, нотариусу, государственному реестру. Если посредник ошибётся, обанкротится или решит заблокировать счёт - ничего не поделаешь. Lehman Brothers 2008, кипрский банковский кризис 2013, заморозка российских активов 2022 - везде один паттерн: деньги есть, но доступа нет.
Блокчейн - **trustless** система. Не «ненадёжная» - «не требующая доверия». Не нужно доверять ни одному конкретному участнику. Доверие заменяется математикой: SHA-256 не ошибается, консенсус не берёт взятки, протокол не знает что такое санкции.
| Традиционная система | Блокчейн | |
|---|---|---|
| Доверие | Центральному органу (банк, нотариус) | Математике и протоколу |
| Точка отказа | Единая (сервер банка) | Нет (распределённая сеть) |
| Прозрачность | Закрытая (банк видит всё, клиент - нет) | Открытая (все видят все транзакции) |
| Цензура | Банк может заблокировать счёт | Невозможна без контроля >50% сети |
| Скорость | Секунды (внутри банка) | Минуты-секунды (зависит от блокчейна) |
Перевод за границу: банк vs блокчейн
Реальный сценарий международного перевода
Банковский перевод Москва → Буэнос-Айрес: • Срок: 3-5 рабочих дней • Комиссия: $25-50 + конвертация • Участники: твой банк → корр. банк → SWIFT → корр. банк → банк получателя • Каждый может задержать или отклонить перевод Bitcoin перевод: • Срок: ~10 минут (1 подтверждение) • Комиссия: $1-5 • Участники: ты → сеть Bitcoin → получатель • Никто не может заблокировать транзакцию
**Главный инсайт:** блокчейн решает **проблему двойной траты** (double spending) без посредника. В цифровом мире скопировать файл - легко. Но блокчейн делает невозможным «потратить» одну и ту же монету дважды, потому что сеть отслеживает все транзакции.
Блокчейн - это то же самое, что Bitcoin
Bitcoin - одно из применений технологии блокчейн. Та же технология лежит в основе Ethereum (смарт-контракты), Solana (DeFi), корпоративных блокчейнов (Hyperledger) и NFT-платформ.
Bitcoin был первым успешным применением блокчейна - поэтому термины смешиваются. Но блокчейн - это технология (как TCP/IP), а Bitcoin - приложение (как email). Точно так же email - не весь интернет
Что означает «trustless» в контексте блокчейна?
Ключевые идеи
- **Распределённый реестр** - копия данных у каждого участника, нет единого центра контроля. Изменить данные = обмануть >50% сети
- **Блоки** - транзакции группируются в пакеты для эффективности. Bitcoin: блок каждые 10 минут, до 2500 транзакций
- **Цепочка хешей** - каждый блок содержит хеш предыдущего. Изменение одного блока ломает все последующие - каскадная защита
- **Неизменяемость** - не технический замок, а экономическое свойство: атака 51% на Bitcoin стоит ~20 млрд долларов оборудования
- **Trustless** - не нужно доверять посредникам: правила обеспечиваются SHA-256, proof-of-work и консенсусом. Именно так Сатоши отправил 10 BTC без банка в 2009 году
Связанные темы
Блокчейн опирается на несколько фундаментальных идей из CS:
- Хеш-функции — Основа целостности блоков - SHA-256 создаёт «цифровой отпечаток» данных
- Merkle Trees — Эффективная проверка транзакций внутри блока
- Распределённые системы — Консенсус среди узлов сети - CAP-теорема и Byzantine Fault Tolerance
Вопросы для размышления
- SHA-256 существовал с 1993 года, proof-of-work - с 1993-го, цепочки хешей - с 1991-го. Почему биткойн появился только в 2009? Какой элемент был недостающим?
- Если блокчейн такой надёжный, почему банки всё ещё существуют? Что блокчейн принципиально не умеет?
- Публичность блокчейна - это особенность или баг? Приведите сценарии, где полная публичность транзакций создаёт проблемы.
Связанные уроки
- crypto-01-intro — Хеш-функции (SHA-256) - криптографический примитив, делающий связь блоков возможной
- ds-01-intro — Концепции распределённых систем (консенсус, Byzantine Fault Tolerance, CAP-теорема) лежат в основе блокчейн-сетей
- net-01-intro — P2P-сеть - транспортный уровень, связывающий узлы блокчейна
- alg-01-big-o — Понимание алгоритмической сложности помогает осознать, почему атака 51% экономически нерентабельна
- bc-02-hashing — Следующий урок углубляет механику SHA-256 и деревьев Меркла
- dist-07-transactions