I've read a little bit about Ethereum's problems with the implementation of "sharding", and got the impression that for Ardor this feature may be easier to achieve, what would be a big point for it.
Sharding is one of the "holy grails" of cryptocurrency scaling - it means basically that not all full nodes must process and validate the whole blockchain. The problem - very oversimplified - seems to be when transactions of different "shards" conflict - who is the arbitrator then?
Well, in Ardor's child-chain design one could simply assign one shard per (major) child-chain, while the main Ardor chain continued to be processed by all nodes (but that's not a problem given Ardor should not be used for everyday transactions). Child-chain transactions of one shard would never conflict with those of another, because they belong to a different child-chain.
There are however some points to take into account:
- What about assets and currencies that are not child-chains? According to what I've read they are "global", so transactions involving them would have to be processed by all shards.
- Security of child-chains. Afaik there is no "forging" on child-chains, only bundling. So how to incentive forgers to validate child chains? One idea could be that all nodes that actively forge must process all child-chains for the blocks when they're participating. This could however limit the efectiveness of sharding and encourage centralization as only pretty big nodes would be able to forge once the system sees mass adoption.
- Some child-chains are meant to be more popular than others. One example is IGNIS which should be the main transactional currency. In the one-shard-per-childchain model IGNIS would be processed by one shard. A possible solution would be - pegged child-chains, as I've proposed some years ago on the NXT forum. So there could be various IGNIS child chains, fungible via some kind of two-way peg (Ignis that are "parked" in one child-chain become available in another, and are only released on chain 1 if they're "returned") just like it's possible with MS currencies.
Just some loud thinking - maybe it's possible to discuss some of these points here