Zilliqa: Scalability & The Promise of Sharding
Abstract:
Zilliqa has been working on sharding for 2+ years with the promise of using sharding of nodes to create a much faster blockchain that scales linearly with the number of nodes.
Commentary:
Very impressive project with very clear intentional thinking. The speaker gave a very thoughtful and detailed presentation. Going forward, I am excited to see Zilliqa explore more use cases that requires high scalability blockchain.
Notes:
Promise of Sharding
Onchain — linear scalability
Challenges of sharding
Divide the network — un-compromised security, sharding to fewer nodes
Smart contract on sharding — the complexity is really high
What goes to which shard?
pow, Sybil defense
random sampling — 600 node consensus
With random assignment of nodes, we may have problem of double spending
Sharding according to sender (from the same user, double spending will not happen)
with smart contract
what could be the solution?
state locking — account locking, but limits parallel processing
type1 — payment, just need to look at the sender address
type 2–1 user account to smart contract, look at both the sender and recipient addresses, shard accordingly
type 3 — all other cases, more complex cases, shard x, special shard
future work
optimizations for type iii
language support for greater parallelism
client support for better efficiency
incidents with smart contracts
$60 million stolen dao hack
$300m frozen
in dao incident, malicious smart contract
multisig contract incident, anyone can set owner
integer overflow attacks,
scilla, smart contracts on zilliqa
prioritize security
non-turing complete
decidable contracts
amenable to formal verification
clean separation: communication vs computation
non-turing complete — avoids the possibility that smart contracts may never terminate
Zilliqa is open sourced
Etheremon — high gas costs, most popular game on ethereum, zilliqa as a scalability solution for better player experience