A network is only as strong as its weakest shard
Blockchain, a nascent technology, has enterprises globally enamored with the promise it holds to fundamentally turn everything from how we interact, transact, store, and manage data on its head. While the technology’s immutable nature and democratized architecture do have the potential to truly disrupt the world as we know it, there is currently no blockchain capable of truly unlocking the technology’s true potential let alone monetizing it.
The reason for this is blockchain continues to be held back by certain limitations – primarily of speed and scale. We know that Bitcoin and Ethereum average about 7 to 15 transactions per second (tps) respectively, nowhere near acceptable rates needed for mainstream applications like the Visa network, which runs at roughly 60,000 transactions per second(tps) or Nasdaq that processes at transaction throughputs of 500,000 tps. To overcome these challenges, many of the blockchains today are resorting to a concept borrowed from database architecture called sharding.
What is sharding?
The term sharding, which means horizontal partitioning, is used to describe a method for dividing a database in such a way that data can be accessed and analyzed much faster in horizontal pieces, instead of a single, large database. Existing blockchain solutions that employ sharding work with the notion that having an entire network of machines to reach consensus, where each machine has to do the same amount of work, can be time-consuming and costly. So, they shard the consensus, thus splitting the network into halves, quarters and eighths.
This partitioning of the network essentially foregoes the need to have an entire network of machines go through the set of processes, such as transaction verification and creating blocks. This helps reach consensus much faster, thus resulting in higher transaction speeds.
However, while sharding allows the network to reach consensus quickly, this speed comes at the cost of security.
How sharding creates security loopholes
Instead of the blockchain validating each and every transaction across every node, sharding distributes the workload, and in doing so, opens the door to a single-shard attack. This creates vastly greater opportunities for an attacker, who would now only need to overcome one shard. Once that shard is compromised, the attacker can easily breach other shards. With sharding eliminated from the equation, however, an attacker would have to attack every single machine on the network, which is much harder to do.
Sharding also adds significant poundage to an already complex software stack. It would be like trying to build one skyscraper on top of another. At some point, the structure would likely either tip over or just collapse under its own weight.
Scaling without sharding
Clearly, sharding isn’t the ideal solution for enterprise-grade blockchains that demand speed and scale. In fact, with the next generation of computers promising almost one terabit of transfers through better bandwidth and processing power, it is pointless to optimize for having fewer computers verify transactions to reach consensus quickly. Instead, the focus should be on eliminating the wait time for consensus entirely.
This calls for a consensus algorithm that allows to determine order and produce blocks with virtually zero wait time. For example, Bitcoin uses Proof of Work as the consensus algorithm, which forces all the machines to synchronize and solve a set transaction-related algorithm. The machine that solves it first is assigned the leader and can create the next block on the blockchain. This leader then selects the next block producer. This entire process involves a lengthy wait time.
One way to bypass this wait time entirely is to employ a time-based consensus algorithm. In this algorithm, each computer on the network is assigned a moment in time and can rapidly switch between leader and block producer with no wait time. This symmetric-clock approach to the distributed ledger enables vast speeds to be achieved in sub-second finality time. It also creates a pathway to scale up to unlimited speeds without sacrificing security or reliability.
This kind of algorithm, coupled with the capabilities of modern-day hardware, has the power to turn the dream of hundreds of millions of transactions per second into a reality.
While blockchain’s real-world applications are yet to make waves, there’s no doubt that the technology’s potential is unlimited. For blockchain to truly succeed, it needs to be able to support enterprise at scale, while simultaneously being bulletproof. A combination of reliable hardware, fast and efficient operating system, and an architecture that can offer strength, security and true decentralization is all that’s needed to truly unlock its real potential.