wiki commit

This commit is contained in:
1HXb9KMAtwNJqz4egi6hJx08EQgJajiBTH
2019-12-18 15:03:59 -05:00
committed by buwiki
parent 7430631daa
commit 243236c6de
3 changed files with 5 additions and 3 deletions
+1 -2
View File
@@ -13,8 +13,7 @@
- [Block](/protocol/blockchain/block) - [Block](/protocol/blockchain/block)
- [Header](/protocol/blockchain/block/block-header) - [Header](/protocol/blockchain/block/block-header)
- [Merkle Tree](/protocol/blockchain/block/merkle-tree) - [Merkle Tree](/protocol/blockchain/block/merkle-tree)
- Merkle Root - [Partial Merkle Tree](/protocol/blockchain/block/merkle-tree/partial-merkle-tree)
- Partial Merkle Tree
- Transactions - Transactions
- Legacy Transaction Ordering - Legacy Transaction Ordering
- Canonical Transaction Ordering (CTOR) - Canonical Transaction Ordering (CTOR)
+2
View File
@@ -5,3 +5,5 @@ A [merkle tree](https://en.wikipedia.org/wiki/Merkle_tree) is a data structure d
In Bitcoin Cash, the transactions in a [block](/protocol/blockchain/block) are built into a merkle tree. The root of this tree, or **merkle root**, is a hash representing a compound, indirect hash of all of the items added to the merkle tree (i.e. transactions) and is included in the [block header](/protocol/blockchain/block/block-header), ensuring the block hash is dependent (indirectly) on all of the transactions that are included in the block. In Bitcoin Cash, the transactions in a [block](/protocol/blockchain/block) are built into a merkle tree. The root of this tree, or **merkle root**, is a hash representing a compound, indirect hash of all of the items added to the merkle tree (i.e. transactions) and is included in the [block header](/protocol/blockchain/block/block-header), ensuring the block hash is dependent (indirectly) on all of the transactions that are included in the block.
Using a merkle tree to manage hashing the transactions in a block enables efficient addition of newly submitted transactions to a block being mined. Rather than re-hashing the entirety of the data of the transactions to be included in the block, the new transaction can be hash and then a small number of hashes can be recalculated, leading up to the merkle root. For large blocks this can heavily reduce the amount of data to be (re-)hashed. Using a merkle tree to manage hashing the transactions in a block enables efficient addition of newly submitted transactions to a block being mined. Rather than re-hashing the entirety of the data of the transactions to be included in the block, the new transaction can be hash and then a small number of hashes can be recalculated, leading up to the merkle root. For large blocks this can heavily reduce the amount of data to be (re-)hashed.
Using merkle trees also allows for transferring only a subset of a block while still providing confidence that the data provided in fact appeared in the block in question. For more information, see [Partial Merkle Tree](/protocol/blockchain/block/merkle-tree/partial-merkle-tree).
@@ -0,0 +1 @@
# Partial Merkle Tree