Как генерируется путь дерева Меркле?

Я пытался понять, как работает дерево Меркля в SPV и многих других сценариях в технологиях блокчейна, и не мог разобраться с одним вопросом: как генерируется путь Меркле при проверке транзакции.

На приведенном ниже графике предположим, что я хотел бы проверить транзакцию 2, я понимаю, что необходимы хэши 3, 01, 4567 и корень, однако мне интересно, как этот путь Меркель генерируется в первую очередь.

Когда транзакция 2 передается серверу / узлу, как сервер / узел узнает, какой путь вернуть для проверки 2? Если сервер уже знал этот путь, почему сервер не проверяет его и зачем возвращать этот путь?

Спасибо,

1 ответ

Решение

Непонятная часть для меня была на графике выше, 1,2,...,8 используются для представления транзакций, однако это слишком упрощенное представление заставило меня думать, что транзакция имеет только один компонент, поэтому упорядочение и проверка могут происходить в одном действие, т.е. сортировка проверяется.

На самом деле, два графика ниже показывают детали части данных транзакции, где это txid, который служит индексом как 1, 2,..., 8 выше, и в транзакции есть намного больше, чем один тксид.

В дереве Merkle идентификаторы транзакций (txid) проверяются для размещения входящей транзакции в нужном месте в нижней части дерева Merkle, и путь Merkle возвращается в SPV для проверки содержимого.

Для серверов проще вернуть путь Merkle, чем проверять саму транзакцию, чтобы уменьшить рабочую нагрузку. Следовательно, весь процесс работает.

введите описание изображения здесь введите описание изображения здесь

Другие вопросы по тегам