Как деревья Merkle могут помочь проверить содержимое блока в блокчейне - PullRequest
0 голосов
/ 19 октября 2018

Насколько я понимаю, merkle-tree можно использовать для разделения фактических транзакций (или другого содержимого) блока и процесса его проверки путем рекурсивного применения хеш-функций к содержимому блоков.

Это позволяет реализовать упрощенную проверку платежа (или проверку любых других данных в блоке).

Связанное определение гласит, что SVP является

[...] методом для проверки, включены ли конкретные транзакции в блок без загрузки всего блока.

Если дерево меркля является методом проверки, была ли конкретная транзакция частью блока, это означает, что мы не «доверяем блоку» и, таким образом, проверяем, хэш ли поисковая транзакцияявляется частью дерева.Если мы не доверяем блоку (или первоначальному валидатору блока), почему мы доверяем дереву Меркле, которое также может быть подделано (или не может?).

Неужели мы "просто" полагаемся на тот факт, что значения имеют псевдослучайный характер и что будет трудно создать поддельное дерево с тем же корневым значением, но с другим значением узла?

Спасибо!

1 Ответ

0 голосов
/ 20 октября 2018

Понимание дерева Merkle
Дерево Merkle позволяет нам объединять несколько транзакций в одном блоке регистра.Каждый листовой узел дерева является представителем одной транзакции.Тогда как все остальные узлы являются хешами их детей.

Merkle Tree representation

В чем выгода этого?
В блоке транзакции нужно будет хранить только корень MerkleДерево.Цель, которую заявляет SPV, заключается в том, что любой клиент, выполняющий транзакцию в цепочке, может просто сохранить путь хэшей от корня до своей транзакции вместо хранения всей книги, которая может быть очень большой по размеру.

Мы не доверяем блоку?
Как только ваша транзакция обработана, вы можете проверить, что она была добавлена ​​в бухгалтерскую книгу, проследив путь от корня, указанного в блоке, кконечный узел, который является вашей транзакцией.Таким образом, вы проверяете, действительно ли ваша транзакция была обработана или нет.

Можно ли ее подделать?
Нет. Как только блок принят в основную цепочку, которая обычно являетсяПомимо примерно 5 или 6 блоков в биткойнах, ваша транзакция необратима.Сама концепция блокчейна заключается в том, что бухгалтерская книга является неизменной.Это означает, что корень деревьев Merkle также постоянно хранится в регистре и не может быть изменен.Теперь, чтобы отслеживать вашу транзакцию, вы можете просто сохранить заголовки и путь от root до ваших транзакций.

...