Инфраструктура открытых ключей. Часть 3. Блокчейн.

- -
- 100%
- +
Вопрос ИИ: «Как валидатор формирует блок?»
ИИ:
Процесс формирования блока валидатором напоминает работу строгого цифрового нотариуса. Валидатор собирает новые переводы, проверяет их по правилам математики и криптографии, а затем упаковывает в единый реестр.
Вот детальный пошаговый алгоритм, как именно валидатор создает новый блок в PoS-сети:
1. Сбор транзакций из Мемпула (Mempool)
Когда пользователи отправляют кому-то криптовалюту, их транзакции не попадают в блокчейн мгновенно. Сначала они отправляются в мемпул — это общая «комната ожидания» или буфер неподтвержденных транзакций.
Выбранный сетью валидатор подключается к мемпулу и выбирает оттуда транзакции для своего будущего блока.
Как правило, валидатор в первую очередь выбирает транзакции с самой высокой комиссией, чтобы максимизировать свой заработок.
2. Локальная проверка (Валидация) каждой транзакции
Прежде чем добавить транзакции в блок, валидатор обязан убедиться, что они легитимны. Для этого его программное обеспечение проверяет каждую операцию по жестким правилам:
Проверка баланса: Хватает ли у отправителя монет на счету для перевода и оплаты сетевой комиссии?
Криптографическая подпись: Действительно ли транзакция подписана приватным ключом владельца кошелька (что исключает кражу)?
Защита от двойного расходования: Не пытался ли отправитель перевести эти же самые монеты кому-то еще одновременно?
3. Упаковка в блок и построение дерева Меркла
Проверенные транзакции группируются. Чтобы блок был компактным и безопасным, транзакции внутри него связываются с помощью криптографической функции (хэширования) в специальную структуру — Дерево Меркла.
На выходе получается один короткий код — корень Меркла (Merkle Root). Он представляет собой цифровой отпечаток абсолютно всех транзакций в этом блоке. Если в будущем изменить хотя бы один символ в любой транзакции, этот корень полностью изменится, и обман раскроется.
4. Создание заголовка блока (Block Header)
Валидатор формирует «паспорт» блока — его заголовок. Заголовок содержит метаданные, без которых блок не примет сеть:
Хэш предыдущего блока: Ссылка на самый последний блок в сети. Это то, что намертво связывает блоки в неразрывную цепочку (блок-чейн).
Корень Меркла: Тот самый отпечаток транзакций из шага 3.
Временная метка (Timestamp): Точное время создания блока.
Техническая информация: Версия протокола и адрес самого валидатора (чтобы сеть знала, кому выплатить награду).
5. Подписание и трансляция блока в сеть
Валидатор скрепляет сформированный заголовок и тело блока своей цифровой подписью (используя свой приватный ключ валидатора). Это доказывает сети, что именно он несет материальную ответственность за этот блок.
После этого валидатор отправляет (транслирует) готовый блок по P2P-сети всем остальным узлам (нодам) и валидаторам для финальной проверки (аттестации). Как только большинство других валидаторов подтверждают, что блок собран честно, он навсегда записывается в общую базу данных.
В централизованной PKI было ASN.1 дерево, а теперь появилось какое-то дерево Меркла.
Вопрос ИИ: «Что такое дерево Меркла?»
ИИ:
Дерево Меркла (Merkle Tree) — это структура данных в криптографии и блокчейне, которая позволяет быстро и безопасно проверять подлинность больших объемов информации.
Проще говоря, это способ свернуть тысячи или миллионы транзакций в один короткий буквенно-цифровой код (хэш). Если в будущем изменится хотя бы одна точка в любой из транзакций, этот итоговый код полностью поменяется, сигнализируя об обмане.
Как устроена эта структура?
Дерево Меркла строится снизу вверх («листья» превращаются в «корень»):
[ Корень Меркла ] <-- Итоговый хэш блока (записывается в заголовок)
/ \
[ Хэш AB ] [ Хэш CD ] <-- Промежуточные хэши (ветви)
/ \ / \
[Хэш A][Хэш B][Хэш C][Хэш D]<-- Хэши отдельных транзакций
| | | |
Транс. Транс. Транс. Транс. <-- Сами данные (листья дерева)
A B C D
Листья дерева (Транзакции): Берутся исходные данные, например, четыре транзакции: A, B, C и D.
Первое хэширование: Каждая транзакция прогоняется через криптографическую функцию (например, SHA-256), превращаясь в уникальные строки фиксированной длины: Хэш A, Хэш B, Хэш C и Хэш D.
Объединение в пары (Ветви): Хэши соседних транзакций склеиваются друг с другом и хэшируются снова.
Конец ознакомительного фрагмента.
Текст предоставлен ООО «Литрес».
Прочитайте эту книгу целиком, купив полную легальную версию на Литрес.
Безопасно оплатить книгу можно банковской картой Visa, MasterCard, Maestro, со счета мобильного телефона, с платежного терминала, в салоне МТС или Связной, через PayPal, WebMoney, Яндекс.Деньги, QIWI Кошелек, бонусными картами или другим удобным Вам способом.



