4. Формирование хеша: После подписания, транзакция суммируется в хеш (криптографический хеш), который представляет собой уникальную строку, созданную на основе данных в транзакции и закрытом ключе отправителя. Этот хеш будет позже использоваться для верификации транзакции.
5. Отправка транзакции в сеть: Подписанная транзакция отправляется в сеть блокчейна. В сети существует множество узлов, которые служат как посредники для транзакций. Транзакция будет распределена между этими узлами и станет доступной для последующей обработки.
6. Ожидание подтверждения: Транзакция не сразу включается в блокчейн. В зависимости от сети, это может занять некоторое время. Пока транзакция не получит необходимое количество подтверждений (обычно требуется несколько подтверждений в сети Биткоина), она считается неподтвержденной.
2.2. Подтверждение транзакции
Подтверждение транзакции – это ключевой этап работы блокчейна, обеспечивающий доверие и безопасность в системе. Давайте рассмотрим этот процесс подробнее:
Сбор транзакций: После того как пользователь A инициировал транзакцию и отправил ее в сеть, она попадает в пул транзакций (transaction pool) или мемпул (mempool). Это временное хранилище для транзакций, ожидающих подтверждения. Транзакции в мемпуле ожидают, пока майнеры не выберут их для включения в новый блок.
Создание блока: Майнеры – это специальные участники сети, ответственные за создание новых блоков. Они выбирают транзакции из мемпула и объединяют их в новом блоке. Выбор транзакций может зависеть от различных факторов, таких как комиссии, прикрепленные к транзакциям, приоритет и другие.
Решение криптографической задачи (Proof of Work): После того как майнеры выбрали транзакции для нового блока, они начинают работу над решением сложной криптографической задачи, которая называется "Proof of Work" (PoW). Эта задача требует вычислительной мощности и времени. Майнеры решают ее, перебирая множество вариантов, путем хеширования данных в блоке и добавления специфической "цели" (target), которая должна быть достигнута.
Добавление блока: Первый майнер, который успешно решит криптографическую задачу (находя так называемый "золотой" хеш), объявляет о создании нового блока. Этот блок содержит выбранные транзакции, служебную информацию и хеш предыдущего блока. Остальные участники сети проверяют блок на корректность и соглашаются с добавлением его в цепь.
Обновление распределенной копии: Каждый участник сети, получивший уведомление о новом блоке, обновляет свою локальную копию блокчейна, добавляя новый блок в цепь. Это происходит одновременно во всей сети, обеспечивая единое состояние блокчейна для всех участников.
Этот процесс подтверждения транзакции гарантирует, что каждая транзакция в блокчейне прошла через процесс проверки и была добавлена к общей истории транзакций. Это также делает блокчейн безопасным и надежным, так как изменение данных в одном блоке потребовало бы пересоздания всех последующих блоков, что крайне сложно и требует огромных ресурсов.
2.3. Добавление блока
После того как майнер решает сложную криптографическую задачу (Proof of Work) и создает новый блок, происходит несколько важных шагов, связанных с добавлением этого блока в блокчейн:
Хеш предыдущего блока
Каждый блок в цепи содержит информацию о хеше (хеш – это уникальная строка символов) предыдущего блока. Это связывает блоки вместе и обеспечивает непрерывность цепи. Если даже один символ в предыдущем блоке был бы изменен, это изменение отразилось бы на хеше, и блокчейн был бы бит. Таким образом, хеш предыдущего блока служит неким "отпечатком" предыдущего состояния блокчейна.
Вы ознакомились с фрагментом книги.
Приобретайте полный текст книги у нашего партнера: