Disclaimer
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
ideas.
Value Proposition
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.
Status Quo
There is no child-chain support in Aeternity.
Approach
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 mainnet
.
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 mainnet
.
Note: State Channels as a feature/capability are orthogonal to child-chains.
Advantages
- leaders only receive transaction fees, thus are incentivized to accept all transactions
-
mainnet
miners still receive block reward, thus are incentivized to mine blocks - a child-chain can implement forms of governance different from
mainnet
Disadvantages
- miners in
mainnet
could stall progress in the child-chain by not including leader’s transactions
Additional References
https://eosauthority.com/producers_schedules
https://elrond.com/assets/files/elrond-whitepaper.pdf
Required Work
TBD
Estimate
TBD
Known Limitations
TBD