Merged mining in JaxNetwork

From JaxNetwork Wiki
Revision as of 04:46, 8 July 2021 by Ishyshatskyi (talk | contribs)
Jump to navigation Jump to search

The mining scheme in JaxNet relies on merged mining. The miner can choose the subset of shards, download the necessary information about them and the Beacon Chain, form valid block candidates for those shards, put them into the Merkle tree and start mining them simultaneously.

Merge-mining of shard blocks

Nodes in JaxNet have a special agreement described in the protocol on how to perform merged mining. Every miner composes a Merkle tree in which he places his shard block candidates. In JaxNet protocol this data structure is called Merge-mining Merkle Tree (MMMT) since it is used for merge-mining. Another name for it is Shard Merkle Tree (SMT) since its leaves correspond to shards in JaxNetwork.

Shard Merkle Tree

The set of shards in JaxNet are in one-to-one correspondence with the set of leaves of Shard Merkle Tree: the first leaf from the left corresponds to the first shard, the second leaf to the second shard and so on. It is allowed to merge-mine the shard block only on the leaves of the Shard Merkle Tree which corresponds to this shard. Blocks which are merge-mined in the wrong place should be rejected during the block verification within the shard.

Hash sorting

Merged Mining Proof

Verification of the merge-minined block candidate

Verification of Shard Proof

Verification of Merged Mining proof