Как работает блокчейн? Транзакции. Пошаговое объяснение
Для тех, кому удобнее читать в Телегам
=================
Давайте, на примере Биткойна, подробнее разберем процесс создания и добавления блока в цепочку более подробно, чтобы понять механику работы этой системы.
Чтобы использовать криптовалюту, вам нужен "цифровой кошелёк". Это программное обеспечение, которое хранит ваши "ключи" – длинные последовательности символов. Есть два типа ключей:
- Публичный (открытый) ключ. Это ваш адрес, который вы можете давать другим людям, чтобы они могли отправлять вам криптовалюту.
- Приватный (секретный, закрытый) ключ. Это секретный ключ, который вы используете для подписи транзакций и доступа к вашей криптовалюте. Его нужно хранить в строжайшем секрете, так как потеря приватного ключа означает потерю доступа к вашим средствам.
Инициирование транзакции. Пользователь А хочет отправить определенное количество криптовалюты (например, 1 биткойн) другому пользователю – Б. «А» создает транзакцию, указывая сумму и адрес кошелька Б, сеть. Затем подписывает эту транзакцию своей уникальной цифровой подписью, используя свой закрытый ключ. Соответствующий открытый ключ используется для проверки подписи, подтверждая, что транзакция была авторизована владельцем. Эта подпись доказывает, что А является законным владельцем отправляемых средств и что именно он авторизовал эту транзакцию.
Распространение транзакции. Подписанная транзакция А передается в сеть блокчейна (в нашем случае – Биткойна). Она немедленно распространяется среди всех подключенных узлов (компьютеров) сети. Каждый узел получает копию этой транзакции. Такой узел называется «майнером».
Проверка транзакции. Получив транзакцию, майнеры начинают ее проверять. Они выполняют несколько ключевых проверок:
- Действительность цифровой подписи. Узлы используют открытый ключ А, чтобы убедиться, что цифровая подпись подлинная и транзакция действительно была инициирована А.
- Наличие достаточных средств. Узлы проверяют историю блокчейна, чтобы убедиться, что у А, на адресе его кошелька, достаточно средств для совершения этой транзакции и что он не пытается потратить одни и те же средства дважды (проблема "двойной траты").
- Соответствие правилам сети. Узлы проверяют, что транзакция соответствует всем другим правилам протокола блокчейна (например, минимальная сумма транзакции, формат адресов и т.д.).
Формирование блока. Проверенные и подтвержденные транзакции собираются в "блок". Каждый блок имеет ограниченный размер, поэтому он может содержать только определенное количество транзакций. Помимо транзакций, блок также содержит:
- Метка времени - время создания блока.
- Номер блока - порядковый номер в цепочке.
- Хэш предыдущего блока - это критически важный элемент, который криптографическии связывает текущий блок с предыдущим, формируя цепочку.
- Нонс (Nonce) - случайное число, которое майнеры ищут для решения криптографической задачи.
- Корневой хэш Меркла - хэш всех транзакций в блоке, организованных в древовидную структуру.
Важной задачей майнера является поиск такого нонса, который при добавлении к данным блока и хэшировании всего блока даст результат (хэш блока), соответствующий определенным критериям. Например, в сети Биткойн хэш блока должен начинаться с определенного количества нулей. Чем больше нулей требуется, тем сложнее задача.
Майнеры методом перебора многократно изменяют нонс и пересчитывают хэш блока, пока не найдут тот, который удовлетворяет условиям. Это требует огромных вычислительных мощностей и энергии, что делает процесс дорогостоящим и служит защитой от злоупотреблений. Этот процесс и называется майнингом.
5. Добавление Блока в Цепочку. Первый майнер, который находит правильный нонс и, следовательно, действительный хэш блока, объявляет об этом всей сети. Он транслирует найденный блок другим узлам. Другие узлы проверяют его решение - они берут данные блока, нонс и пересчитывают хэш. Если хэш совпадает с требуемым критерием, блок считается действительным.
6. Обновление Реестра. После того как большинство узлов сети подтверждают действительность нового блока, он добавляется к концу цепочки блоков. Все узлы обновляют свои копии блокчейна, включая новый блок. Таким образом, все участники сети имеют актуальную и идентичную копию распределенного реестра. Майнер, который успешно добавил блок, получает вознаграждение в виде вновь созданной криптовалюты (например, биткойнов) и комиссий за транзакции, включенные в этот блок. Именно так создаются новые единицы криптовалюты. Это стимулирует майнеров продолжать участвовать в сети и обеспечивать ее безопасность.
Этот процесс повторяется примерно каждые 10 минут в сети Биткойн, создавая непрерывную, безопасную и неизменяемую цепочку блоков.




