Shard chain

From JaxNetwork Wiki
Revision as of 03:29, 5 July 2022 by ForgetfulFunctor (talk | contribs) (→‎Reward function)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to navigation Jump to search

There are multiple blockchains in JaxNetwork. There is one beacon chain (BC) and one or more shard chains (SC). The number of shards is not fixed; JaxNet protocol allows the nodes to dynamically increase the number of shard chains to scale JaxNetwork.

Shard chain properties

The block difficulty on shard chains is adjusted every 4096 blocks according to the difficulty adjustment algorithm to keep average block time around 15 seconds.

Shard chain independence

The important property of shards is their data autonomy. There are no cross-shard interactions when miners add new blocks or when full nodes verify their validity. So shard node doesn't depend on the data from other shards and doesn't rely on data providers. JaxNet implements this independence via the use of different tokens for different chains; each shard has its own token. We believe that shards’ tokens will have similar values over time. This common value is called Jax coin.

Merkle Mountain Range commitments

Shard chains in JaxNetwork support an efficient transaction verification light client called FlyClient. This feature requires a specific approach to organize data in the blockchain. In contrast to traditional blockchains in which blocks are arranged into chains, where every block header contains the hash of the previous one, in JaxNetwork block headers form a specific data structure called Merkle Mountain Range (MMR).

Reward function

A miner, who has mined a valid shard block, can get a block reward and transaction fees for his work. The amount of Jax coins in the block reward is calculated according to the formula:

[math]\displaystyle{ \small Reward = \frac{K \cdot D} {N}, }[/math]

where

[math]\displaystyle{ \small K }[/math] is a K-coefficient,

[math]\displaystyle{ \small D }[/math] is a difficulty of the shard block,

[math]\displaystyle{ \small N }[/math] is a number of shard chains that were merge-mined by the miner.

This function for the block reward is also called generalized proportional allocation rule (see [1], p.6, example 3).

Merge-mining of shard chains

Merge-mining Merkle Tree

Merge-mining number

ChainID

Shard creation protocol

Condition for opening a new shard

Genesis block of the shard chain

Cross chain atomic swaps

Superlight client

Atomic swaps

Exchange agents

See also

External links

References

  1. {{{title}}}. ArXiv.org.