Блоки, ноды, майнинг и транзакции - главные составные части блокчейна

В этом уроке мы начнем знакомиться с четырьмя важнейшими составляющими блокчейна:

  • нодами (узлами сети)
  • блоками и их устройством
  • майнингом
  • транзакциями

Блоки

Начнем с блоков. В блокчейне блок - это не кирпичик, а скорее лист записной книжки, в который заносятся транзакции. Каждый такой блок содержит:

  1. Данные Транзакций: Это могут быть финансовые операции, пересылка данных и прочее. По сути в блок можно записать любые данные, которые требуется заверить и сделать общедоступными.
  2. Хэш (Merkle Root): Это уникальный идентификатор блока, что-то вроде его цифрового отпечатка пальца.
  3. Хэш Предыдущего Блока: Эта связь между блоками и создает всю цепочку, которую мы называем блокчейном.
  4. Nonce - решение криптографической задачи, которая усложняет майнинг. Усложнение нужно для регулирования скорости добычи блоков и защиты от их подделки. Если вам нужно много часов работы дорогого оборудования, чтобы вычислить блок, заниматься попытками подделки становится нерентабельно.
  5. Метаданные - дата и время добычи блока, его версия, а также сведения о сложности его добычи.

Структура блока в bitcoin

Узлы сети, или "ноды"

Теперь об узлах. Узел, также называемый "нода" (node - англ.) - это компьютер, который подключен к сети блокчейна, и который хранит в себе данные обо всех транзакциях. В различных блокчейнах по всему миру участвуют сотни миллионов устройств. Их задачи:

  1. Поддержание Работы Блокчейна: У каждого узла есть своя копия всего блокчейна, что делает систему устойчивой к сбоям и атакам.
  2. Проверка Транзакций: Узлы подтверждают подлинность транзакций и блоков.
  3. Протокол Консенсуса: Узлы должны прийти к единому мнению относительно состояния блокчейна и его транзакций.

Консенсус в блокчейне

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

Майнинг

И, наконец, майнинг. Это процесс, когда узлы сети решают математические задачи, чтобы добавить новый блок в цепочку. В этом процессе:

  1. Доказательство Работы: Майнеры выполняют сложные вычисления, чтобы создать новый блок. Как было сказано выше, это во-первых позволяет управлять скоростью добычи блоков, и во-вторых защищает систему, делая процесс добычи блока дорогостоящим занятием.
  2. Создание Новых Блоков: Когда задача решена, блок добавляется в блокчейн и проверяется другими узлами.
  3. Награды за Майнинг: За свою работу майнеры получают награду в виде криптовалюты.
  4. Защита Сети: Майнинг - это не только про создание блоков, но и про безопасность всей системы.

    Транзакции

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

Что происходит когда вы тратите (переводите) биткоины? Вначале кошелек формирует сведения о транзакции: с какого адреса и на какой адрес перевести монеты, и какую комиссию вы готовы заплатить сети (майнерам) за обработку вашей транзакции. Затем транзакция подписывается криптографическим приватным ключом (private key), чтобы подтвердить, что вы имеете право тратить с данного кошелька. Часто на этом моменте кошелек может запросить пароль или биометрическую верификацию, если он установлен в смартфоне.

Далее происходит трансляция (broadcast) созданной транзакции - кошелек рассылает её в сеть, сообщая всем узлам о новой транзакции.

После этого транзакция попадает в "мемпул" (mempool), то есть встает в очередь на добавление в блок. Чем выше размер комиссии, которую вы согласны заплатить, тем раньше майнеры возьмут вашу транзакцию в работу и тем быстрее она получит подтверждение в виде записи её в блокчейн.

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

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