May 22, 2024

Блокчейн и механизмы консенсуса

Что такое блокчейн?

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

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

Что такое механизм консенсуса и для чего он нужен?

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

Кроме того, механизм консенсуса также предотвращает двойные расходы (это ситуация, при которой одна и та же цифровая валюта используется несколько раз для совершения различных транзакций) и мошенничество в системе. Например, в блокчейне Биткойн механизм консенсуса Proof of Work предотвращает двойные расходы, требуя от майнеров решения сложной математической задачи для добавления нового блока в блокчейн (подробнее ниже).

Какие существуют механизмы консенсуса?

  1. Proof of Work (PoW): Этот механизм используется в Биткойне и некоторых других криптовалютах. Узлы, называемые майнерами, соревнуются друг с другом, чтобы решить сложную математическую задачу. Первый майнер, который решает задачу, добавляет новый блок в блокчейн и получает вознаграждение.
  2. Proof of Stake (PoS): В этом механизме узлы, называемые валидаторами, выбираются для добавления новых блоков в блокчейн на основе их доли или залога в криптовалюте. Валидаторы получают вознаграждение за создание новых блоков.
  3. Proof of Authority (PoA): В этом механизме узлы, называемые валидаторами, выбираются для добавления новых блоков в блокчейн на основе их репутации или авторитета. Валидаторы должны быть доверенными субъектами, и их идентичность должна быть проверена.

На самом деле, механизмов консенсуса намного больше, я представил лишь самые основные.

Как работают механизмы консенсуса?

Разберем пошагово работу на Proof of Work (PoW).

  1. Когда участник сети (майнер) хочет добавить новый блок в цепочку, он собирает все неподтверждённые транзакции из сети и объединяет их в блок.
  2. Майнер добавляет к блоку специальное число (называемое nonce), которое меняет хэш блока.
  3. Майнер вычисляет хэш блока и проверяет, соответствует ли он определённому условию (например, начинается ли он с определённого количества нулей).
  4. Если хэш блока не соответствует условию, майнер меняет nonce и повторяет шаг 3.
  5. Когда майнер находит nonce, который делает хэш блока соответствующим условию, он передаёт блок и nonce другим участникам сети.
  6. Другие участники сети проверяют, что блок содержит только правильные транзакции, и что хэш блока действительно соответствует условию.
  7. Если блок проходит проверку, другие участники сети добавляют его в свою копию цепочки, и майнер получает вознаграждение в виде криптовалюты (например биткойн).

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

Так же разберем Proof of Stake (PoS).

  1. Когда участник сети (валидатор) хочет добавить новый блок в цепочку, он создаёт блок и подписывает его своей криптографической подписью.
  2. Валидатор передаёт блок другим участникам сети, которые проверяют его подлинность и правильность.
  3. После проверки, другие участники сети голосуют за то, добавить ли блок в цепочку.
  4. Вероятность того, что валидатор будет выбран для добавления нового блока в цепочку, зависит от его доли (stake) в сети. Доля вычисляется на основе количества криптовалюты, которую валидатор заложил (staked) в качестве залога.
  5. Валидатор, который был выбран для добавления нового блока в цепочку, получает вознаграждение в виде криптовалюты.

В настоящее время, PoS используется во многих криптовалютах, включая Ethereum 2.0 (в первой версии был PoW), Cardano и Tezos.