Last week, Ethereum cofounder Vitalik Buterin broadcasted a list of ‘hard questions’ for the blockchain community to a WeChat group. Buterin asked about things like the massive amounts of electricity used by proof-of-work consensus protocols (he wants to move Ethereum to proof-of-stake) and the centralization risks of bitcoin mining pools, but a few of his questions cut right to the heart of what is holding back blockchain technology: scalability.
“Why aren’t there any useful large scale applications yet?” Buterin asked, and then he wondered, “How can decentralized apps work well even with 5-10 second blockchain latency?” Zack Yang, a WeChat user, responded to the first question: “The throughput is the key for large-scale application, need to find the balance between transparency, throughput and security. Once the throughput issue is resolved along with security, it will be adopted to scalable solutions.”
One of the common ways to measure throughput is transactions per second: Bitcoin’s network can handle about 6 transactions per second; Ethereum does 15 tps; while Visa’s network typically processes about 3,600 tps. The decentralization of public blockchains, which is part of what makes them so attractive—because they do not rely on trusted third parties, the transactions are uncensorable—is also what makes them so slow. Since all of the nodes in a given network work independently to verify all transactions, adding nodes to the network does not result in a net increase of computing resources.
But now blockchain’s “second layer” moment has arrived. There are now a number of blockchain and cryptocurrency projects that are working on techniques to build a second layer of blockchain infrastructure that would sit on top of the first ‘layer’, the blockchain itself. Second-layer blockchains allow parties to a transaction, for example a smart contract settling payment for a shipment contingent on a number of conditions, to store IoT data, payment details, and contract logic off chain. When the transaction is completed, the results will be hashed into the primary layer and an immutable record will be created in the blockchain. That way, every time a GPS device on a container box pings its location, or a blockchain-enabled reefer unit updates its temperature, every single node on the network does not have to work to validate a new block.
The necessity for second-layer blockchains, whether they’re considered ‘off chain,’ sidechains, or child chains, was recognized early on by blockchain pioneers. In 2010, Hal Finney, who received the first bitcoin payment from Satoshi Nakamoto, explained that “Bitcoin itself cannot scale to have every single financial transaction in the world be broadcast to everyone and included in the block chain. There needs to be a secondary level of payment systems which is lighter weight and more efficient.”
Cardano was one of the first projects to offer two layers, the Cardano Settlement Layer and the Cardano Computation Layer, to separate the accounting of value from complex computation. Charles Hoskinson, who leads the Cardano project, was an Ethereum cofounder. The largest blockchain networks, bitcoin and Ethereum, have since begun exploring second-layer solutions. Bitcoin’s Lightning Network, which is being developed by a number of groups, including MIT’s Digital Currency Initiative, is a second layer protocol designed for “instant, high-volume micropayments that removes the risk of delegating custody of funds to trusted third parties.” CoinDesk reported on July 10 that 100 merchants have been approved to pilot instant payments with Lightning Network.
Ethereum’s second layer is called Plasma, and was proposed by Joseph Poon and Vitalik Buterin last August. They wrote in the Plasma white paper that “we seek to design a system whereby computation can occur off-blockchain but ultimately enforcible on-chain which is scalable to billions of computations per second with minimal on-chain updates.” Plasma implementation is currently lagging the Lightning Network, but Buterin says it’s being designed to complement a new sharding architecture for Ethereum. Sharding is a first-level scalability solution that essentially creates smaller galaxies of nodes on the Ethereum blockchain, so that fewer nodes have to validate each block and the overall size of the blockchain in each shard grows more slowly than it would if every single Ethereum computation was hashed into it.
There are, of course, second layer applications built by developers that sit on top of Ethereum’s already existing single-layer infrastructure, notably Counterfactual, which builds generalized state channels that move transactions off chain, and TrueBit, which aims to solve complex computations much less expensively than cranking them out on the gas-powered Ethereum network.
Logistics and transport-specific blockchain projects have dealt with the problem in similar ways. The Fr8 Network Protocol separates off chain data about a shipment from the cryptographic hash ‘seal’ that verifies that the data was not tampered with. “As this data comes into the protocol, we store the data itself securely off-chain and the data’s cryptographic hash on-chain to ensure continued integrity. The cryptographic hash essentially seals the data to ensure that it has not been modified or tampered with, and is a permanent record of its existence,” wrote the authors of Fr8 Network’s white paper.
Slync, on the other hand, avoids the problem entirely by taking the enterprise-level permissioned blockchain route, where only a small number of parties actually doing business with each other would have nodes on a miniature network. The permissioned or ‘private’ blockchain model sacrifices decentralization and a degree of security for speed and privacy, functioning mostly as a systems integrator and shared version of truth for collaborating companies.
Over the course of the next six months, blockchain enthusiasts and developers will be able to further stress test bitcoin and Ethereum’s second layer solutions and measure the throughput that Lightning Network and Plasma are able to achieve.