Blockchain is among the rare technologies managed to move the crowds with an utopia. Summarized in the phrase “decentralizing the world”, the cause was carrying -ultimately- all data processes on trustless networks thus eliminating the dependencies to centralized organizations. Although peer-to-peer networks had already existed, complete trustlessness was only achieved by data encryption/decryption method that is blockchain which, beyond financial transactions, is beneficial on any data process where secure authentication is of importance. This creates a wide array of potential use cases for applications theoretically on any scale. Theoretically because while the technology is ready today for small to medium and private/centralized applications; beyond that, the limitations set by network architecture and mean infrastructure capacity left the development stuck at the scaling handicap, which, even though blockchain adoption is increasing, blocks the way to the decentralization utopia.
From the early days of blockchain, it was clear to the developers that the maximum transaction per second (tps) is the most fundamental obstacle on the way to running a global scale decentralized network. This realization lead to continuous further development from just a few tps of Bitcoin to a few thousand of more recent blockchain networks. Although the advancement saved blockchain networks from giving out, the reached capacity was still not satisfactory because of the scaling problem. The maximum tps possible was always limited to the blockchain mechanism and it stopped increasing after the network reached a certain size. If a thousand node network with thousand tps capacity is only being used for simple peer-to-peer transactions, great; but when the network grows to ten thousand to hundred and with the addition of complex decentralized finance operations, this thousand tps quickly becomes irrelevant for the transaction demand.
While the cryptocurrency sector was thriving faster than blockchain development, the capacity problem was initially solved by executing most operations on centralized applications and using the network only as a bridge which summarizes the sector today. Fortunately, the scaling problem wasn’t invincible and a few years back developers started exploring the possibility of sharding a blockchain. The concept is similar to starting a chain and when it reaches a certain number of nodes, starting a second and so on. Because each chain has a separate maximum tps and a fixed number of nodes, transaction capacity per node is not affected by network growth. In a sharded blockchain network, this is achieved by randomly grouping nodes into shards.
While Zilliqa is still the latest running tech in sharded architecture, there is a new blockchain project to be launched on mainnet later this year who comes as a step forward: Harmony One. Harmony makes a strong case on scalability and decentralization which is accomplished mainly by two important developments: Effective Proof-of-Stake and State Sharding.
Effective Proof-of-Stake
The simplest way of designing a sharded network would be where each shard acts as a separate blockchain. In this design however each shard would have to secure itself with a difficulty method like proof-of-work or proof-of-stake(POS). This is both inefficient and less secure as it divides resources. What sharded blockchains do instead is using difficulty to choose an initial group of nodes (called Beacon Chain in Harmony) to identify all other nodes and assign them to shards. Afterwards, each shard can reach consensus on their own without need of difficulty which makes the entire system much efficient.
Harmony relies on POS for securing the network. While POS has major advantage as it operates with absolute minimum energy consumption, it raised many concerns. Because POS relies on wealth (amount of coins a node has in a staking wallet) to elect nodes, in many of its applications, the result was a system making wealthy wealthier and giving a few wealthiest absolute control. Admittedly, this kept me skeptical about the project as well, until it resolved by the Effective Proof-of-Stake proposal explained nicely in this article by the Harmony CTO. In short, it is going to take let’s say 1600 staking nodes with highest balance and within this 1600 nodes favor the ones with lower staking balance. There are further steps to prevent one from taking advantage of the system by dividing the coins into many high balance nodes. Beyond sharding, this seems like an advancement in POS based delegation as well. Previous solutions didn’t work out as decentralized as it was hoped in different implementations like EOS or Steem.
State Sharding
Since Effective Proof-of-Stake ensures the decentralization and security of the entire chain, each shard can process transactions much efficiently and reach consensus without worrying about network threats. That’s how shards can operate with a simple mechanism called Practical Byzantine Fault Tolerance. This is pretty much a network voting system enhanced for better efficiency which gives Harmony the right substructure to reach its impressive transaction capacity. The advancement however taken even further with improved network protocols and state sharding. The technical details about networking can be found in the Harmony Whitepaper, state sharding on the other hand is a major milestone that needs to be explained.
State sharding means each shard having a separate blockchain and Harmony is the first project with such architecture. All shards must do is getting their block headers signed by the Beacon Chain and record only the signed block headers of other shard chains broadcasted directly by Beacon which saves time and cost compared to broadcasting entire blocks between shards. Moreover, new nodes only has to synchronize the chain of the shard they are assigned to. Although effective, synchronization could be a problem since nodes will get assigned to different shards and has to synchronize all over again. Harmony solves this problem by revoking the full historical node obligation which is incidentally the most defining aspect of Harmony for decentralization. One of the main reasons cryptocurrency industry grew on centralized applications is the fixation of major blockchain projects on full historical nodes. This made peer-to-peer unavailable to execute with majority of devices such as mobile, basic laptops, slower internet connections etc. and impractical for the rest. If combined with user friendly wallet applications on all platforms, this seemingly insignificant side effect of state sharding could make Harmony “the” decentralized blockchain solution not just in theory like other blockchains but also in practice by making peer-to-peer reachable.
Even though state sharding is heavy on benefits, it is still a major compromise against complexity. This is not an issue to affect users directly but via smart contracts. As a result of state sharding, Harmony is based on user accounts with separate balances on each shard. Smart contracts needs to be executed on each shard separately as well. Just by saying it, it is obvious how messy this can get for dapp development. Fortunately this is not an insolvable issue. Right now the project is finalizing the core development so I would assume smart contracts would be the next step. It would be beneficial for the project adoption to come up with a smart contract language solution with a strong stand on developer friendliness and bug resistance.
Final Thoughts
Even though the scalability bottleneck is leading cryptocurrency industry to centralized finance, with ongoing development, decentralized finance is still a possibility. Harmony One is a definite step forward in the right direction by improving scalability and peer-to-peer accessibility. And the recent Effective Proof-of-Stake proposal put the project in an whole new light by showing the willingness of the team in making major core changes to ensure decentralization even at a late testnet stage.