Zilliqa: Scalability & The Promise of Sharding

SF Blockchain Week post #2

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