This proposal is work-in-progress and based on previous internal discussions.
The intention is to find and agree on an approach which is both possible to
realize and practicable. So feel free to join the discussion with feedback and
Privacy and scalability through child-chains. By supporting
child-chains with more lightweight consensus mechanisms which
still leverage the root-chain for PoW we can improve privacy
and scalability for the entire network.
Definition of Terms
- Child-Chain: A chain which is somehow linked to a root-chain, thus allowing
one to build a network of chains.
- Privacy: Describes the possibility to keep information within a child-chain
inaccessible to users outside of that chain.
- Scalability: Describes how much traffic/work the network can handle.
There is no child-chain support in Aeternity.
The idea is to leverage the Proof-of-Work consensus of the
mainnet as an incentive and security to be able to use a leader-group consensus in a child-chain. A similar approach has been described some time ago by @yani as Hyperchains although in a more general context.
A child-chain would use a less expensive consensus which make it
more applicable for high-volume use-cases which would be economically impossible
to realize using
In order for someone to apply for the leader election one registers in a pool of potential leaders. The protocol for leader pool most likely includes negotiating information for what each potential leader sees as the
mainnet top hash. Then using the
mainnet's next header as a source of entropy, a new leader or leaders are selected deterministically. Since network propagation is bound at least with the speed of light, different nodes could see
mainnet's top hash being different at the same time even without a fork. For the next leader to be elected at least a certain majority of potential leader nodes must acknowledge they agree upon the next block in
Note: State Channels as a feature/capability are orthogonal to child-chains.
- leaders only receive transaction fees, thus are incentivized to accept all transactions
mainnetminers still receive block reward, thus are incentivized to mine blocks
- a child-chain can implement forms of governance different from
- miners in
mainnetcould stall progress in the child-chain by not including leader’s transactions