Как работает блокчейн: блоки, хэши и консенсус на пальцах

Бесплатный курс по криптовалюте
Уровень 1: Основы блокчейнаУрок 1.1 · 10 из 698 мин чтения

Как работает блокчейн, проще всего понять, если проследить один перевод с момента нажатия «Отправить» до записи, которую уже не исправишь. В этом уроке поговорим о блоках, хэшах, подписях и консенсусе. После него станет ясно, почему переводам нужны подтверждения и откуда у сети берутся комиссии.

Коротко о главном
  • Блокчейн — это общий журнал записей, разбитый на блоки, где каждый блок ссылается на хэш предыдущего.
  • Перевод подписывается приватным ключом, а сеть проверяет подпись и баланс до того, как включить его в блок.
  • Порядок блоков участники согласуют через консенсус: доказательство работы (PoW) или доказательство доли (PoS).
  • Чем больше блоков построено поверх вашего, тем надёжнее перевод, поэтому биржи ждут подтверждений.

Общий журнал, который никто не может переписать

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

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

Главное: в эту книгу можно только дописывать. Старые страницы не вырывают и не исправляют. Ошиблись адресом? Исправлением станет новая запись с обратным переводом, а не правка старой, и сделать её может только получатель.

Термин · Нода

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

Из чего состоит блок и зачем нужен хэш

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

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

Именно поэтому историю не переписать втихую. Допустим, злоумышленник решил изменить сумму в 100-м блоке. Хэш этого блока изменится, а 101-й продолжит хранить старый, и связь нарушится. Чтобы подделка выглядела правдоподобно, ему придётся пересчитать все последующие блоки, причём быстрее, чем остальная сеть строит новые.

У корня Меркла другая задача: он позволяет лёгкому кошельку убедиться, что ваша транзакция действительно попала в блок, не скачивая блок целиком. Для этого хватает короткой цепочки промежуточных хэшей. На этом построены так называемые лёгкие кошельки: им не нужно хранить весь блокчейн.

Часть блока Что содержит Зачем
Хэш предыдущего блока Отпечаток блока, стоящего перед этим Связывает блоки в цепочку
Корень Меркла Один общий хэш от всех транзакций блока Позволяет быстро проверить, что транзакция входит в блок
Метка времени Когда блок был создан Упорядочивает события
Список транзакций Переводы с подписями отправителей Основное содержимое блока

Пример · Попробуйте сами

Найдите в интернете любой онлайн-калькулятор SHA-256 и введите слово «блокчейн», а затем «Блокчейн». Одной заглавной буквы достаточно, чтобы результат стал совсем другим, и никакой связи между двумя хэшами не усмотришь.

Путь одного перевода: от кнопки до блока

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

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

  1. Кошелёк формирует транзакцию: адрес получателя, сумму и комиссию сети.
  2. Транзакция подписывается вашим приватным ключом прямо на устройстве, сам ключ никуда не отправляется.
  3. Подписанная транзакция рассылается нодам, они проверяют подпись и наличие средств.
  4. Проверенная транзакция попадает в очередь ожидания, мемпул, и ждёт включения в блок.
  5. Майнер или валидатор собирает блок, обычно отдавая приоритет транзакциям с более высокой комиссией.
  6. Блок принимают остальные ноды, и ваш перевод получает первое подтверждение.

Консенсус: как тысячи компьютеров договариваются

Раз центрального владельца нет, нужно правило: кто добавит следующий блок и какую версию цепочки считать правильной. Его называют механизмом консенсуса. Самые распространённые — доказательство работы (Proof of Work) и доказательство доли (Proof of Stake).

В доказательстве работы майнеры перебирают числа, пока не найдут такое, при котором хэш блока соответствует заданному условию. На это уходят электричество и специальное оборудование. Кто первым нашёл решение, тот добавляет блок и получает награду. Так работает биткоин: новый блок появляется в среднем раз в 10 минут.

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

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

Proof of Work Proof of Stake
Кто создаёт блоки Майнеры Валидаторы
Чем рискует участник Расходами на оборудование и электричество Своими монетами в залоге
Энергопотребление Высокое Низкое
Примеры Bitcoin, Litecoin Ethereum, Solana, Cardano

Какими бывают блокчейны

Блокчейны открыты в разной степени. В публичных сетях, вроде Bitcoin и Ethereum, читать данные, отправлять транзакции и запускать ноду может кто угодно. В частных и консорциумных сетях участников заранее отбирает компания или группа компаний. Такие решения применяют для расчётов между банками или учёта поставок, но к криптовалютам для частных лиц они обычно отношения не имеют.

Ещё блокчейны делят по слоям. Основную сеть называют первым уровнем, L1. Когда она перегружена и комиссии растут, часть операций выносят на сети второго уровня, L2: там транзакции обрабатываются быстрее и дешевле, а итоговые результаты периодически записываются в основную сеть. У Ethereum это, например, Arbitrum, Optimism и Base, у биткоина — Lightning Network.

Для вас из этого следует одно: перед переводом нужно знать, в какой именно сети лежат монеты. Один и тот же токен может жить и в основной сети, и на нескольких L2, а скорость и комиссия у них будут разными.

  • Публичные сети: участвовать может любой, все данные открыты.
  • Частные и консорциумные: участников выбирает владелец сети.
  • Сети второго уровня: ускоряют и удешевляют переводы поверх основной сети.

Подтверждения, комиссии и что из этого следует для вас

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

Комиссия сети идёт не бирже и не кошельку: её получают те, кто включает транзакции в блоки (в Ethereum базовая часть комиссии вдобавок сжигается). Место в блоке ограничено, и при большом спросе комиссии растут. Если поставить слишком низкую, перевод может надолго застрять в мемпуле.

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

Важно · Одна монета — разные сети

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

Задание к уроку

Откройте обозреватель блоков Ethereum etherscan.io, перейдите в раздел последних блоков и откройте самый свежий. Посмотрите его номер, время и число транзакций, затем нажмите «More Details» и скопируйте хэш предыдущего блока (Parent Hash). Откройте блок с номером на единицу меньше и убедитесь, что его собственный хэш совпадает с тем, что вы скопировали: это и есть та самая цепочка, о которой шла речь в уроке.

Учитесь и зарабатывайтеБесплатные турниры каждый день — путь к призам в USDT

Вход бесплатный, торговля на демо-счёте — свои деньги не нужны. В бесплатных турнирах выигрывают Tour Pass, а с ними заходят в турниры с призами в USDT. Лучшие идут дальше — к funded-счёту на $5 000.

Частые вопросы

Можно ли взломать блокчейн?

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

Почему перевод идёт так долго?

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

Блокчейн и биткоин — это одно и то же?

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

Кто хранит блокчейн и сколько он весит?

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

Обсуждение

Комментарии из BuyCrypt Live. Войдите через Google или Apple — аккаунт BuyCrypt создадим сразу, тот же, что в приложении.