Paper 2017/406

OmniLedger: A Secure, Scale-Out, Decentralized Ledger via Sharding

Eleftherios Kokoris-Kogias, Philipp Jovanovic, Linus Gasser, Nicolas Gailly, Ewa Syta, and Bryan Ford


Designing a secure permissionless distributed ledger that performs on par with centralized payment processors such as Visa is challenging. Most existing distributed ledgers are unable to "scale-out'' -- growing total processing capacity with number of participants -- and those that do compromise security or decentralization. This work presents OmniLedger, the first scale-out distributed ledger that can preserve long-term security under permissionless operation. OmniLedger ensures strong correctness and security by using a bias-resistant public randomness protocol to choose large statistically representative shards to process transactions, and by introducing an efficient cross-shard commit protocol to handle transactions affecting multiple shards atomically. In addition, OmniLedger optimizes performance via scalable intra-shard parallel transaction processing, ledger pruning via collectively-signed state blocks, and optional low-latency "trust-but-verify'' validation of low-value transactions. Evaluation of our working experimental prototype shows that OmniLedger's throughput scales linearly in the number of validators available, supporting Visa-level workloads and beyond, while confirming typical transactions in under two seconds.

Available format(s)
Publication info
Published elsewhere. 39th IEEE Symposium on Security and Privacy
BlockchainsScale-OutDecentralizationShardingHigh throughputLow latencyTrust-but-Verify
Contact author(s)
eleftherios kokoriskogias @ epfl ch
2018-02-21: last of 3 revisions
2017-05-11: received
See all versions
Short URL
Creative Commons Attribution


      author = {Eleftherios Kokoris-Kogias and Philipp Jovanovic and Linus Gasser and Nicolas Gailly and Ewa Syta and Bryan Ford},
      title = {OmniLedger: A Secure, Scale-Out, Decentralized Ledger via Sharding},
      howpublished = {Cryptology ePrint Archive, Paper 2017/406},
      year = {2017},
      note = {\url{}},
      url = {}
Note: In order to protect the privacy of readers, does not use cookies or embedded third party content.