Я понимаю, для чего нужен корень Меркла. И я понимаю, что блоки не хранят дерево Меркла.
Вопрос 1) Есть ли место, где хранятся полные деревья Меркла? Я не имею в виду корневые хэши merkle, так как я знаю, что они находятся в заголовках блоков.
Вопрос 2) Допустим, полный узел начинает доказывать легкому узлу, что конкретная транзакция находится в блоке J. Как полный узел отправляет ветвь merkle легкому узлу? Он снова перебирает транзакции, чтобы получить хэши, а затем отправляет хэши транзакций внутренних узлов, или полные узлы уже где-то хранят полное дерево Меркла (все дерево и каждый внутренний хэш)?
Bitcoin Core в своей реализации BIP37 вычисляет доказательства Меркла на лету. Он нигде не хранит деревья Меркла блоков (хранится только его корень).
Ника Курашвили
Ника Курашвили
Питер Уилле