From deb7a3510a6b14c6cbcec7d69022d3c176df5755 Mon Sep 17 00:00:00 2001 From: Philipp Gackstatter Date: Wed, 25 Oct 2023 12:40:26 +0100 Subject: [PATCH] Add note on how the output id proof can be used --- tips/TIP-0045/tip-0045.md | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/tips/TIP-0045/tip-0045.md b/tips/TIP-0045/tip-0045.md index 254c1c988..1a26a2ffc 100644 --- a/tips/TIP-0045/tip-0045.md +++ b/tips/TIP-0045/tip-0045.md @@ -45,8 +45,8 @@ to a Block Issuance Credits account. A [merkle tree](https://en.wikipedia.org/wiki/Merkle_tree) is a tree data structure that allows for efficient proofs of inclusion. -A merkle tree proof is serialized as one of two possible schemas: A tree node or the hash of the -value for which the proof is computed. A `Leaf Hash` schema is additionally used in tree nodes, but cannot be at the top-level of a proof. +A merkle tree proof is serialized as one of two possible schemas: A tree node or the hash of the value for which the +proof is computed. A `Leaf Hash` schema is additionally used in tree nodes, but cannot be at the top-level of a proof. ### Node @@ -718,6 +718,10 @@ A proof is serialized as follows: +By computing the [merkle root](#root-computation) from the `Output Commitment Proof` the +[Transaction ID](#transaction-id) and Output ID can be reconstructed, using the other fields of the proof. The +`Output ID Proof` can thus be used to prove that a given Output ID was derived from a given Output. + ### Transaction ID A Transaction ID consists of two commitments, the _Transaction Commitment_ and the _Ouptut Commitment_. It is a