Первый модуль Криптобазы дал нам общую картину: что такое биткоин, зачем он появился, что такое блокчейн и почему данные в нём нельзя изменить. Но «нельзя изменить» — это пока просто слова. Почему нельзя? Что именно стоит за этим утверждением?
Второй модуль отвечает на эти вопросы. Мы разбираем блокчейн по деталям — как механизм часов, которые нужно открыть и рассмотреть изнутри. Никакой магии, только математика. И она устроена красиво.
В этом уроке вы узнаешь:
- Что такое хэш-функция и почему она «необратима»
- Что конкретно находится внутри каждого блока — поле за полем
- Как устроено дерево Меркла и зачем оно нужно
- Почему изменить запись в блокчейне — практически невозможно
- Что такое орфанные блоки и чем различаются Bitcoin и Ethereum по скорости
- Чем full node отличается от мобильного кошелька
После урока вы сможете открыть Mempool.space — сайт, который показывает все блоки Bitcoin в реальном времени — и понять каждую строчку на экране. Вот пример реального блока — открой его, посмотри и ничего не пугайся. Разберём всё по порядку.
Хэш-функция: цифровой отпечаток данных
Начнём с эксперимента. Открой наш SHA-256 калькулятор — введи в поле слово Bitcoin. Ты получишь 64-символьную строку из цифр и букв от a до f. Теперь измени одну букву: напиши bitcoin со строчной «b». Строка полностью изменилась — ни одного совпадающего символа.
Это и есть хэш-функция (hash function) в действии — математический алгоритм, который превращает любой текст в строку фиксированной длины. Bitcoin использует алгоритм SHA-256 (Secure Hash Algorithm, 256-bit): что бы вы ни ввёл — одно слово, роман Толстого или файл на гигабайт — на выходе всегда ровно 64 символа.
Слово «хэшировать» просто означает «применить хэш-функцию». Хэшировали транзакцию — значит превратили её данные в 64-символьную строку. Ничего загадочного.
У этой функции четыре свойства, которые делают блокчейн возможным:
- Одинаковый вход — всегда одинаковый выход. Слово «Bitcoin» даст один и тот же хэш хоть через год, хоть на другом компьютере. Это позволяет любому узлу сети самостоятельно проверить данные.
- Одна изменённая буква — полностью другой хэш. Это называется лавинный эффект (avalanche effect). Невозможно «немного подправить» данные и получить похожий результат. Попробуй в калькуляторе: добавь один пробел в конце — хэш другой.
- Из хэша нельзя восстановить исходные данные. Это дорога в одну сторону. Хэш — это цифровой отпечаток, а не зашифрованные данные. Зная отпечаток, исходный текст восстановить невозможно.
- Невозможно подобрать другой текст с тем же хэшем. Нельзя придумать поддельный текст, который даст такой же хэш, что и оригинал. Это устойчивость к коллизиям (collision resistance).
Если хэши двух наборов данных совпадают — данные идентичны. Это гарантировано математически, а не на доверии. Именно это и лежит в основе всей защиты блокчейна.
Поиграй с калькулятором: переключись на SHA-512 — хэш станет вдвое длиннее (128 символов). Алгоритм другой, принцип тот же. SHA-256 выбран Bitcoin не случайно: он даёт оптимальный баланс между скоростью вычисления и надёжностью защиты.
Анатомия блока: что внутри
Вернись к примеру блока на Mempool.space. Ты видишь: номер блока (944423), хэш, временна́я метка, размер, вес, майнер — это сводная карточка блока. За ней скрывается компактная структура — заголовок блока (block header), всего 80 байт, — которая и содержит всё критически важное для безопасности цепочки.
Вот шесть полей этого заголовка — их нет в сводке, но они существуют в каждом блоке на уровне протокола:
| Поле в заголовке | Что это такое | Зачем нужно |
|---|---|---|
| Version | Версия правил протокола Bitcoin | Говорит сети, по каким правилам составлен блок |
| Previous Block Hash | Хэш предыдущего блока | Это «скрепка», соединяющая блоки в цепочку |
| Merkle Root | Один хэш от всех транзакций блока | Гарантирует, что ни одна транзакция не изменена |
| Timestamp | Дата и время создания блока | Временна́я метка для хронологии цепочки |
| Bits (Target) | Текущая сложность задачи для майнеров | Регулирует, насколько трудно найти новый блок |
| Nonce | Число, которое подбирают майнеры | Ключ к решению задачи — подробно в уроке 2.2 |
Теперь прокрути страницу блока вниз — там список транзакций. Первая запись помечена как «No Inputs (Newly Generated Coins)». Это особая coinbase-транзакция.
Что она означает: когда майнер находит новый блок, протокол Bitcoin разрешает ему «создать из воздуха» определённое количество монет и отправить их себе. Это и есть coinbase-транзакция — единственный законный способ появления новых BTC. Все остальные транзакции в блоке — обычные переводы между адресами.
Важная техническая деталь: хэшируется именно заголовок (80 байт), а не весь блок целиком. Почему? Потому что список транзакций уже «упакован» в Merkle Root — одно поле заголовка гарантирует целостность всего содержимого. Эффективно и элегантно.
Coinbase — это технический термин в протоколе Bitcoin (появился в 2009 году), а не название биржи. Биржа Coinbase взяла это имя позже — скорее всего, именно из-за ассоциации с «созданием монет».
Дерево Меркла: умная организация транзакций
Вот задача: в блоке ~2 000 транзакций. Нужно одним числом описать их все так, чтобы изменение любой одной было немедленно заметно. И при этом нужно уметь доказать присутствие конкретной транзакции, не скачивая весь список. Как?
Ответ — дерево Меркла (Merkle Tree). Это структура данных в виде перевёрнутой пирамиды:
На нижнем уровне — хэши каждой из ~2 000 транзакций. Берём их попарно, склеиваем и снова хэшируем. Из 2 000 хэшей получаем 1 000 уровнем выше. Снова попарно — 500. Потом 250, 125… пока не останется один-единственный хэш на вершине. Это Merkle Root — он и хранится в заголовке блока.
Измени хоть одну транзакцию — изменится её хэш, пересчитается вся ветка пирамиды вверх, изменится Merkle Root, изменится хэш всего блока. Обнаружить подделку можно мгновенно.
Второй бонус — Merkle Proof (доказательство включения). Чтобы доказать, что транзакция есть в блоке, не нужно скачивать все 2 000 транзакций. Достаточно ~11 хэшей — путь от вашей транзакции до вершины пирамиды. Именно поэтому мобильные кошельки (Trust Wallet, Exodus) не хранят 600 ГБ данных — им хватает заголовков блоков (~50 МБ для всего Bitcoin) плюс нескольких хэшей для проверки конкретной транзакции.
Такой режим работы называется SPV — Simplified Payment Verification (упрощённая верификация платежей). Это не костыль, а часть изначального дизайна Bitcoin: Сатоши описал SPV ещё в оригинальном whitepaper 2008 года.
Цепочка блоков: почему историю нельзя переписать
Вернись к таблице полей заголовка. Поле Previous Block Hash содержит хэш предыдущего блока. Это и создаёт цепочку. Каждый новый блок «ссылается» на предыдущий, тот — на ещё более ранний, и так до самого первого — Genesis Block (блок «#0», созданный Сатоши Накамото 3 января 2009 года).
Представь конкретную ситуацию: вы хакер, хочешь изменить транзакцию в блоке №500. Меняешь данные → меняется Merkle Root → меняется хэш блока №500. Но поле Previous Block Hash в блоке №501 ссылается на старый хэш блока №500. Блок №501 теперь недействителен. Значит, недействителен и блок №502, и все следующие.
Чтобы атака сработала, нужно пересчитать блок №500 и все ~390 000 блоков после него быстрее, чем честная сеть добавляет новые. Сеть Bitcoin производит около 700 квинтиллионов хэш-вычислений в секунду. Это экономически нереально. Детали — в уроке 2.2.
Каждый новый блок поверх транзакции — одно подтверждение (confirmation). После 6 подтверждений (~60 минут) вероятность успешной атаки — меньше 0,1%. Именно поэтому крупные биржи ждут 6 блоков перед зачислением больших BTC-депозитов.
Транзакция с нулём подтверждений — это ещё не запись в блокчейне. Она попала в mempool (пул ожидающих транзакций), но ещё не включена в блок. Для небольших сумм обычно нормально принять такую транзакцию. Для крупных — ждите минимум 3–6 подтверждений.
Когда два блока появляются одновременно: орфанные блоки
Майнеры по всему миру работают параллельно и не знают о работе друг друга в реальном времени. Иногда два из них находят корректный блок почти одновременно — с разницей в секунды. Сеть временно «раздваивается»: часть нод получила блок A первым, другая часть — блок B.
Ситуация разрешается через правило самой длинной цепи (longest chain rule): сеть принимает ту ветку, которая первой вырвется вперёд. Обычно достаточно одного-двух следующих блоков, чтобы определился победитель. Блок из «проигравшей» ветки становится орфанным (orphan block, буквально «осиротевший»): он не входит в основную цепь.
Майнер орфанного блока теряет всю награду — несмотря на честно выполненную работу. Именно поэтому соло-майнинг рискован, а пулы майнинга так привлекательны. Об этом подробнее в уроке 2.2.
В Bitcoin орфанные блоки случаются редко: примерно 1–2 раза в месяц. Длинный интервал в 10 минут намеренно снижает их вероятность. За 10 минут новый блок успевает «разойтись» по всей сети прежде, чем кто-то другой найдёт следующий.
Block time и скорость: почему Bitcoin намеренно медленный
Block time — это интервал между блоками. В Bitcoin он составляет ~10 минут. Кажется медленным — и это действительно медленно. Но это сделано намеренно.
Чем длиннее интервал, тем меньше вероятность орфанных блоков и тем устойчивее консенсус. Чем короче — тем больше коллизий и тем сложнее поддерживать единое мнение сети. Разные блокчейны выбирают разный баланс:
| Сеть | Block time | Как решаются орфаны | Компромисс |
|---|---|---|---|
| Bitcoin | ~10 минут | Правило длинной цепи | Медленно, зато максимально стабильно |
| Litecoin | ~2,5 минуты | Правило длинной цепи | В 4 раза быстрее Bitcoin, та же архитектура |
| Ethereum | ~12 секунд | GHOST-протокол (орфаны частично вознаграждаются) | Сложнее консенсус, но быстрее |
| BNB Chain | ~3 секунды | Ограниченный набор валидаторов | Скорость за счёт децентрализации |
| Solana | ~0,4 секунды | Tower BFT + механизм PoH | Требует мощного оборудования у валидаторов |
Важно понимать: быстрый block time не равно «транзакция быстро подтверждена». Для окончательной необратимости нужно несколько блоков сверху — независимо от сети. Подробнее о финальности транзакций — в уроке 2.5.
Здесь проявляется знаменитая трилемма блокчейна: быстро + дёшево + безопасно — одновременно все три почти невозможно. Bitcoin выбрал безопасность. Это и породило целую индустрию Layer 2-решений — в уроке 2.9.
Частая ошибка: видишь, что транзакция попала в блок — и считаешь её завершённой. На самом деле одно подтверждение ещё не финально. Для крупных сумм в Bitcoin — жди 6 блоков, около 60 минут.
Full Node vs Light Node: нужно ли скачивать весь блокчейн
Слово «нода» (node = узел сети) означает компьютер, который участвует в работе блокчейна. Но участие может быть разным.
Полный узел (full node) хранит всю историю блокчейна с самого первого блока и самостоятельно проверяет каждую транзакцию, не доверяя никому. Bitcoin весит около 600 ГБ (2026). Ethereum в режиме архива — 1–2 ТБ, в обрезанном режиме (pruned) — 50–100 ГБ. Синхронизация с нуля занимает несколько дней. Зато такой узел полностью независим.
Лёгкий узел / SPV (Simplified Payment Verification) хранит только заголовки блоков — 80 байт на блок, ~50 МБ для всего Bitcoin. Для проверки конкретной транзакции запрашивает Merkle Proof у полного узла. Никакого доверия к серверу биржи или кошелька — только к математике дерева Меркла. Именно так работают все мобильные кошельки.
Для обычного пользователя лёгкого узла более чем достаточно — им является любой мобильный кошелёк. Полный узел нужен тем, кто хочет полной независимости или поддерживает децентрализацию сети.
Запустить полный узел Bitcoin можно на обычном компьютере с 1 ТБ SSD — специального железа не нужно. Чем больше независимых полных узлов, тем сложнее кому-либо скомпрометировать сеть. Если вы хотите поддержать Bitcoin — запуск своей ноды делает это напрямую.
Посмотри реальный блок прямо сейчас: block explorers
Теперь у вас есть всё, чтобы прочитать реальный блок. Открой этот блок Bitcoin на Mempool.space. Вот что вы видите в сводке — и что это означает теперь, когда вы знаете устройство блока:
- Блок 944423 — это высота (block height): порядковый номер в цепочке от Genesis Block (3 января 2009). К 2026 году их более 890 000.
- Хэш — SHA-256 хэш заголовка этого блока. Именно на него ссылается следующий блок через поле «Previous Block Hash».
- Временна́я метка — дата и время, когда майнер нашёл блок.
- Размер / Вес — объём блока. Лимит Bitcoin ~1 МБ / 4 MWU ограничивает ~2 000–4 000 транзакций на блок.
- Субсидия + комиссии — сумма, которую получил майнер: 3,125 BTC субсидия (после халвинга апреля 2024) плюс комиссии всех транзакций блока.
- 3 758 транзакций — прокрути вниз. Первая — coinbase (написано «No Inputs, Newly Generated Coins»). Это единственный законный способ появления новых BTC.
Кроме Mempool.space, есть и другие проводники блоков (block explorers). Для разных сетей:
- Bitcoin — Blockchain.com/explorer: классический, удобен для поиска по адресу или хэшу транзакции.
- Ethereum — Etherscan.io: стандарт индустрии. Транзакции, смарт-контракты, токены ERC-20.
- Ethereum (стейкинг) — Beaconchain: данные о валидаторах и наградах Proof of Stake.
- Solana — Solscan.io: транзакции, токены SPL, NFT.
Блокчейн полностью публичен: любой может посмотреть баланс любого адреса и всю его историю. Отследить транзакцию до конкретного человека — другой вопрос, но сами данные открыты. Именно поэтому вопросы приватности в крипте — отдельная большая тема, которой посвящён модуль «Безопасность и кошельки».