Scalability

Scalability has been a major subject in the crypto community, and was naturally a topic of discussion at EDCON this year. Multiple potential solutions were proposed, but two prominent themes emerged: modifying the foundational protocol design of the Ethereum blockchain (Layer 1 Solutions), and improving scaling through off-chain solutions (Layer 2 Solutions).

Layer 1 Scalability — Sharding

To solve the scaling problem from the blockchain’s base layer is to solve a trilemma that all blockchain systems face. This trilemma is formed by the idea that a blockchain system can only satisfy at most 2 out of the 3 key properties: scalability, security, and decentralization. Prysmatic Labs is currently working on tackling this trilemma through a technique called blockchain sharding. The idea is to partition the entire state of the Ethereum blockchain into individual shards, and only a subset of nodes will be needed to process transactions for a particular shard, allowing more total throughput from a network perspective. Currently, the Ethereum network acts like a single shard, where every transaction is processed by all nodes within the network. To learn more about how sharding works, check out Prysmatic Lab’s GitHub repository.

The team at Prysmatic Labs has made tremendous progress on development of the alpha version (Ruby), and it’s almost ready for release. You can now try out the sharding process on your local machine (by following the guide), and stay up-to-date with their development status. The testnet version (Saphire) is expected to be complete by late 2018, with the mainnet release (Diamond) scheduled for 2019.

Layer 2 Scalability — Plasma

Plasma is a technique for conducting off-chain transactions while relying on an underlying main-chain to maintain its security. The technique can be used recursively to spawn up child-chains, which will eventually create a tree of chains. This allows complex transactions performed on the child-chains to be faster and cheaper, as the transactions do not need to be processed by the entire Ethereum blockchain.

A minimal viable plasma implementation (Plasma MVP) is already “production ready” — in quotes as we learned from our conversation with Joseph and Kelvin that the MVP cannot be deployed and used without modifications. Instead, the MVP provides the basic template for application-specific teams to build on top of, and to modify according to their own unique use cases.

Another insight we took away from our conversation is that the tree of chains ideology is an application specific scaling solution rather than a solve-all solution. This is due to the fact that cross-chain transactions between sibling chains (i.e. child chains sharing the same ancestors) will be rather slow. Therefore, applications implementing these Plasma structures will have to be designed on a per use-case basis such that it avoids transactions across sibling chains.

Interoperability

Another popular topic at the conference was blockchain interoperability (a.k.a. cross-chain transactions). A number of teams contributed to this topic at the conference, including Cosmos, Aion and Parity. Our team had the pleasure of interacting with Parity to learn about their development progress.

One of Parity’s long-term projects is Polkadot. In essence, Polkadot is an inter-blockchain protocol that allows public, consortium, and private chains to connect and to exchange information. Polkadot aims to provide interoperability across different blockchains while offering scalability with techniques such as side-chains offloading and parallel processing between multiple chains. While Polkadot itself is still far from being production ready, we can now use one of its core components, Parity Bridge, to mitigate scaling issues. The bridge is the concept used by Polkadot to relay messages between different blockchains, and developers can start exploring as the test version of the bridge is already deployed on the testnets with Ropsten being the home-chain (slower, more expensive chain) and Kovan being the side-chain (faster, cheaper chain).