Technology Deep Dive

Harmony uses deep sharding to achieve high-throughput

Our Approach

Harmony's technical architecture implements a full & secure sharding scheme, with an efficient consensus (EPoS), and scalable networking infrastructure.

Harmony relies on a secure sharding process, where validators are distributed into shards based on a randomness that is both unpredictable and unbiasable. Harmony is a Proof-of-Stake blockchain, where validators needs to stake a certain amount of tokens to be eligible for block validation. Harmony integrates an efficient consensus protocol called FBFT that combines BLS multi-signature and view change protocol to achieve high robustness and low latency. With the adoption of networking technology including RaptorQ fountain code and Kademlia routing, Harmony is able to achieve cross-shard transactions that scale sub linearly by the number of shards.

By innovating on each layer, Harmony aims to provide a scalable, secure, and decentralized system that supports economic activities, including data marketplaces, gaming, and financial transactions, for billions of people.

To participate in our research and technical discussions, join our Research forum on talk.harmony.one

Core technical innovations

Harmony is the highly scalable, minimal-fee and provably secure blockchain that will serves as the backbone of next-generation decentralized applications. Harmony innovates on both protocol and networking layers of blockchain by introducing:

  1. Highly scalable BFT consensus using BLS multi-signature

  2. Secure distributed randomness generation protocol using VDF (Verifiable Delay Function)

  3. Adaptive PoS-based sharding mechanism guaranteeing the network security

  4. Kademlia routing and erasure encoding for optimal network usage

Technical differentiation compared to existing projects

Harmony is a POS-based state-sharding protocol, while existing protocol projects are mostly POW-based. Harmony’s consensus is a fast BFT algorithm which uses BLS multi-sig and scales linearly with the number of nodes, while many existing projects uses the old single chain-based consensus (same as Bitcoin). Harmony’s consensus doesn’t have forks and has instant finality, while existing chains have forks and no instant finality. Harmony provides a provably secure source of randomness with the latest technology Verifiable Delay Functions (VDF), which guarantees the security of the shards and provides fair randomness to applications. However, most existing protocols sharding security is not guarded by randomness, so it’s prone to single-shard takeover attacks, and there is no fair randomness for Dapps (such as gambling games etc.). Harmony’s cross-shard communication is sublinearly efficient because we use Kademlia routing and Erasure Encoding.

What is Kademlia routing and how does Harmony apply it?

We currently use gossiping and Kademlia in a mutually complementary arrangement: Kademlia handles baseline peer discovery as well as topic mesh forming, and pub–sub gossiping for topical broadcast routing over the topical mesh discovered by Kademlia. Our cross-shard communication will also rely on Kademlia routing technology.

For cross-shard communication, we will use Kademlia routing table to minimize network cost. The tradeoffs of doing so as opposed to using gossip are:

  • Gossip (pros): The message delivery is mostly guaranteed because all nodes are involved in relaying the message to the destination.

  • Gossip (cons): A single message incurs network cost for every node, which can easily lead to network congestion.

  • Kademlia (pros): Only a subset of the nodes on the short path to destination needs to relay the message. Overall network cost is low. Less chance of network congestion.

Open Source

We’re proud of what we’ve built and our implementation of Adaptive IDA is open source for anyone to use. Please head over to our github and dig around in the code! This is one part of our larger effort to release a full P2P, E2E networking library called libunison. We hope that our our open-source networking software contributions will drive the entire blockchain ecosystem forward.

SDK

The Harmony SDK is now built and ready to use. Find all the documentation here.

Discord

If you want to get in touch with us, we are very active on Discord and welcome you to join our channel and get to know us. You can watch our open development in progress!

Research Forum

If you found this interesting, please check out our research forum where we talk about many more ideas like these.