Limitation of scalability with current block creation process.
Lack of parallelizability
Sharding solves scalability problems with on-chain state partitions and higher throughput. With sharding, only the small pieces of proof of collations have to be recorded on main chain — the rest goes in the shard chains.
Purpose of VMC can be outlined as follows:
Collation header validation.
Fork Choice Rule of Shard Chain
In basic sharding, the fork choice rule depends on the longest main chain.
The valid head collation of the given shard is not simply the head collation of “longest valid shard chain” but the “the longest valid shard chain within the longest valid main chain.”
Sharding produces randomness on-chain
The chance of being selected as collator should only be relevant and proportional to the validator’s deposit.
If the validators can predict or choose which shard they will participate in arbitrarily, the dishonest validators can collude with each other and start an adaptive attack.