Since the publication of the Bitcoin whitepaper in 2008, the concept of blockchain has spread across the world. While decentralized money and applications are becoming well-publicized ideas, design limitations have challenged the core aspiration of Bitcoin. The original Bitcoin blockchain was designed as a peer-to-peer payment system that allows people to transfer value without intermediaries like banks or payment processors. However, as Bitcoin gained popularity, its performance bottleneck became evident due to its limited throughput of ~7 transactions per second (TPS), and its cost as a payment system became prohibitively expensive.
In 2014, Buterin et. al. proposed a new blockchain infrastructure called Ethereum, which enabled developers to create various kinds of blockchain applications using “smart contracts.” However, Ethereum didn’t solve the scalability problem and, with its ~15 TPS, failed to support high-throughput applications such as gaming or decentralized exchanges.
Given Ethereum and Bitcoin’s performance limitations, many blockchain projects proposed various solutions that attempt to increase transaction throughput. Various blockchains proposed to replace Proof-of-Work (PoW) consensus with Proof-of-Stake (PoS) consensus. Other blockchains like EOS use Delegated Proof of Stake (DPoS), where block proposers are elected by voting rather than by an on-chain algorithmic process.
Projects like IOTA replaced the chain-of-blocks data structure with a DAG (Directed Acyclic Graph) data structure, which breaks the limitation of sequential processing of transactions.
However, these proposed solutions cannot make significant performance gains without sacrificing other critical aspects, such as security and decentralization. The scalability solution that both preserves security and decentralization is sharding, which creates multiple groups (i.e. shards) of validators and lets them process transactions concurrently. As a result, the total transaction throughput increases linearly as the number of shards grows. Zilliqa was the first public blockchain that proposed to address the scalability problem with sharding. However, Zilliqa’s sharding approach falls short in two ways. First, it does not divide the storage of blockchain data (state sharding). This prevents machines with limited resources from participating in the network, thus curtailing decentralization. Second, Zilliqa’s sharding process is susceptible to a single-shard takeover attack due to its reliance on PoW as its randomness generation mechanism.
We introduce Harmony, the next generation sharding-based blockchain that is fully scalable, provably secure, and energy efficient. Harmony addresses the problems of existing blockchains by combining the best research results and engineering practice in an optimally tuned system.
Specifically, Harmony makes breakthroughs in following aspects:
● Fully Scalable: Harmony shards not only the network communication and transaction validation like Zilliqa, but also shards the blockchain state. This makes Harmony a fully scalable blockchain.
● Secure Sharding: Harmony’s sharding process is provably secure thanks to the distributed randomness generation (DRG) process which is unpredictable, unbiaseable, verifiable and scalable. Harmony also reshards the network in a non-interruptive manner to prevent against slowly adaptive byzantine adversaries.
● Efficient and Fast Consensus: Unlike other sharding-based blockchains which require PoW to select validators, Harmony is based on PoS and thus energy efficient. Consensus is reached with a linearly scalable BFT algorithm that’s 100 times faster than PBFT.
● Adaptive-Thresholded PoS: The threshold of stakes required for a node to join the network is adjusted based on the volume of total staking in a way that malicious stakers cannot concentrate their power in a single shard. Moreover, the threshold is low enough so that small stakers can still participate in the network and earn rewards.
● Scalable Networking Infrastructure: With RaptorQ fountain code, Harmony can propagate blocks quickly within shards or across network by using the Adaptive Information Dispersal Algorithm. Harmony also adopts Kademlia routing to achieve cross-shard transactions that scale logarithmically with the number of shards.
● Consistent Cross-Shard Transactions: Harmony supports cross-shard transactions with shards directly communicating with each other. An atomic locking mechanism is used to ensure the consistency of cross-shard transactions.
By innovating on both the protocol and network layers, Harmony provides the world with a scalable and secure blockchain system that is able to support the emerging decentralized economy. Harmony will enable applications which were not previously feasible on blockchain, including high-volume decentralized exchanges, interactive fair games, Visa-scale payment systems, and Internet-of-Things transactions. Harmony strives to scale trust for billions of people and create a radically fair economy.Harmony Whitepaper