Whether Public Chain or Weaving Chains into Networks is the Right Way to Develop Blockchain?
Author： Robert Mao
Editor： Matt McKinney
As we head into spring, the blockchain industry is showing signs of life. While the bear market has been a challenge for many in the industry, it has also helped propel it forward in new and exciting ways. Ethereum completed the Constantinople hard fork aimed at switching their existing Proof of Work (PoW) consensus mechanism to Proof of Stake (PoS), Cosmos officially launched Cosmos Hub, ArcBlock will be formally launching the ABT Network at the end of March, and Polkadot is scheduled to go online in the next few months.
With these releases, the blockchain industry is starting to see a new approach being applied to how blockchain networks are built, and more importantly, a plan that is designed to mitigate many of the industry’s existing issues related to adoption, including scale, performance, ease of use and lock-in. The industry’s new thought leaders like ArcBlock, Cosmos, and Polkadot are simplifying the process of building DApps by including interoperability, user experience, and cross-platform capabilities out of the box. To understand the significance of this new approach, we have first to take a step back to look at the existing systems’ failures during the first two generations of blockchains, and why this new approach may be just what the industry needs to move closer to mass adoption.
In 2018, the blockchain industry saw some public blockchain projects focus their efforts on improving the transaction and throughput performance for a single blockchain. As many people already know, Ethereum and Bitcoin continue to be plagued by slow performance and throughput, and an inability to transact high “transactions per second.” Over the last year, we have seen many new players attempt to improve the existing systems by building on top of the legacy architectures, adding new capabilities and approaches like side-chains, sub-chains, sharding or state channel expansions. While some companies have seen some success in demonstrating higher transactions per second (TPS), the reality of these projects is that they are making an already difficult situation worse by increasing the specialization and complexity needed to build a new DApp on those blockchain systems. We frequently hear about these new projects, but the data shows that due to minimal adoption, few to no true DApps are running on these systems. Even Tron, the current DApp leader, only has about 150 DApps running on their network. What this shows us is that these attempts to improve the legacy systems don’t fix the underlying issues of legacy blockchains like Ethereum and Bitcoin.
To find a potential solution we need to first look at the idea of whether Ethereum’s “World Computer” vision is practical, or even possible. Does the blockchain industry instead need a new way of thinking? An idea that helps developers and users be more successful with blockchain by simplifying the requirements to build a DApp or service, and focus our efforts on the user experience?
Someone recently gave a great example to demonstrate the core issue facing Bitcoin and Ethereum. The question posed: is it practical to build a highway that covers the entire earth where everyone uses the same components, parts, and requirements to ensure the highway is consistent throughout the world? In this scenario, the highway is the only road that connects all the towns and cities so if someone wants to travel, they get onto the highway to go where they need to go. Or, can we create smaller, less complex systems where people only use the parts and components they need to create local systems that can connect to other networks easily? This approach would likely increase efficiency, flexibility and allow people to quickly go where they need to go in the most efficient matter. A person would not need to get on the highway to go to the supermarket. They would merely use the road they need to get where they need to go.
As a "cloud-centric” platform focused on the blockchain 3.0 era of decentralized applications, ArcBlock released Open Chain Access Protocol (OCAP), their first application development tool on July 2018, designed to remove the “barriers” created by different blockchain designs and to enable a unified way to access and use data from those blockchains easily. OCAP was the industry’s first publicly available developer tool that used a new way of thinking about blockchains. OCAP didn’t need a superhighway or large amount of infrastructure to handle the blockchain but instead focused on giving developers what they needed: a unified and easy-to-use abstraction layer for DApps to access blockchains like Bitcoin, Ethereum and more. The purpose behind OCAPs design was the interoperability of the blockchains, that is, enabling the chains to talk to each other without the need to be connected.
For the blockchain industry, this was a significant milestone. With OCAP, a developer could now easily let Hyperledger data talk to Bitcoin data, and so on, using a common language (GraphQL). Since its launch, others have attempted to replicate OCAP’s method of interconnecting chains without physically connecting them. While it does solve it a somewhat developer-centric problem, it was also the first tool attempting to solve a much bigger problem. Rather than locking developers, businesses, and users into a single-purpose global chain, with OCAP, developers now have a choice to use the system that makes the most sense for their project. No longer do companies have to rely on a “one size fits all” blockchain technology, but instead, they can use one, two, or many chains through OCAP. Since the launch of OCAP, ArcBlock has been building other capabilities and tools that further enable interoperability and ease-of-use.
2019 has also seen several companies launching new platforms focused on the idea of “weaving chains into networks.” These new companies are designing a metaphorical transportation network that allows the different blockchains to be woven together and lets the vehicles (data) use what they need, including public roads, highways, bicycle lanes, or even fast lanes (for an additional fee), to do what they need to do. Cosmos and ArcBlock are building next-generation networks that have many blockchains, and function as command centers for those chains to interoperate with each other. You could also look at these new blockchain networks as super routers helping to not only direct traffic and data to where it needs to go, ensuring maximum performance and resources, but also facilitating services, payments and other components required to make the networks work throughout the ecosystem.
So, where does a developer go from here? As we move further into 2019, it appears that we now have two approaches that are attempting to push blockchain closer to mass adoption but in very distinct ways. Is one better than the other? Or can both coexist in today’s marketplace? To answer that, let’s go back in time to the beginning of the internet.
If we look back at the history of the Internet, and the technologies that enabled the internet to work, we can see that there are some striking similarities to today’s blockchain industry.
For anyone older than 35, most of you will remember joining LAN parties or running into compatibility issues when switching between networks. Most early computer networks were, in fact, separate Local Area Networks (LANs). Over time, these local networks incorporated into Wide Area Networks (WANs), eventually leading to larger communication networks. These shifts may have occurred to enable better usability for non-computer scientists, or for businesses to better monetize their investments into infrastructure, but after all this time and all this innovation, there is still no one superhighway. If we use a local mobile operator, we can visit a different country, and the phone is still able to connect. The system can intake my phone, data, and usage, and the local operators can share that data between them. If the inventor of Worldwide Web, Tim Berners-Lee, is to be trusted, then it is safe to say that a decentralized internet will continue to be a reality and become the leading way of thinking in the years ahead. However, for this to be successful, the concept of cross-chain interconnections needs to become more prominent, eventually replacing the need for a public chain altogether.
As we said earlier, several companies are disrupting the blockchain industry when it comes to interconnected blockchains. Cosmos, a cross-chain project developed with the Tendermint team, uses the IBC (Inter-Blockchain Communication) protocol, allowing the use of the same structured blockchain and proxy chain produced by the Cosmos SDK. This happens in the form of Cosmos’ Zone and Hub design, using the hub to form a nebula chain network structure. PolkaDot was perhaps inspired by Cosmos, and its models have a lot of similarities.
Hyperledger Fabric is a leader in the industry but is often overlooked because of its positioning as an enterprise blockchain. However, the creators of Hyperledger Fabric were very forward-thinking in their design ideas. “Fabric” is an apt name, and it utilizes a multi-chain staggered design. However, due to its relationship with IBM, and Fabric’s goal of supporting enterprise environments, its multi-chain design is mainly embodied in segmentation. While cross-chain communication is available, it is often overlooked due to the requirements of enterprise and the lack of companies’ understanding of the benefits of this design, spurred on by security concerns.
ArcBlock's ABT Network differs from the previous two designs. Today, ArcBlock’s view on blockchains is unique, incorporating a broader three-dimensional approach to blockchain networks to increase their overall usability and functionality. ArcBlock is the first to reexamine the concept of a blockchain network and integrate the idea of the user into a global system. This 3D view is based on ArcBlock’s industry-leading programming model where all chains in the network run in parallel, incorporate DID (Decentralized ID) and utilize programmable tokens to support any digital asset in the system. By combining these elements simultaneously, ArcBlock ensures that users can use any service or DApp on the network automatically, and allows seamless communication to occur between the systems with zero requirements. ArcBlock uses a relay-less bridge to enable the networks to interact without any intermediary. This is a critical aspect of the ABT Network, as one of ArcBlock’s goals is to ensure that the system is entirely decentralized.
There is also another significant change that will arise out of these new networks, one that has the potential to transform the industry and shift the focus from “platforms” to use cases. With these new interconnected designs from Hyperledger, Cosmos, and ArcBlock, there is no longer a need to distinguish between private chain and public chain as it relates to permissioned chains or permissionless chains. With these new interconnected chains, you will have one or more public chain(s), as well as private chains that require “permissions” just like today’s internet. With this approach, it becomes more difficult for companies to select a platform based on name recognition, or a one size fits all approach, but instead, they will focus on the specific blockchain technologies that are designed to support use cases. If I want to build a blockchain to promote an identity system, that design will incorporate different elements from, for example, a blockchain-enabled game.
At ArcBlock, we believe that these interconnected blockchains are the future of the industry. However, we also think that something is missing from this approach. So far, we have only talked about developers and the ability to create and build blockchains. What about the end-user? If we are making hundreds of chains to support an application, how does the user exist in that application without having to log into every network? The solution is simple but often overlooked by many of today’s blockchain platforms, old and new.
User-owned decentralized ID technology is the key to connecting DApps to users and allowing seamless interaction between all the blockchain layers. What is DID? By definition, decentralized identity (DID) is a digital ID technology standard created by World Wide Web Consortium (W3C) in January this year. The idea behind DID is to enable user autonomy on the internet and protect user data privacy and asset security. Today, ArcBlock is the only company to have already fully integrated DID as a primary component of their network and ArcBlock is part of the W3C’s DID working group, with industry-accepted DID design that supports all application scenarios including an ArcBlock DID-enabled wallet to efficiently manage user-controlled profiles and DIDs.
To make interconnected blockchains a reality, another critical requirement is the creation of a blockchain-ready development environment. Both ArcBlock and Cosmos have separated the building of a blockchain from bottom to top, including the network layer (underlying data structure and communication protocol design), the consensus layer (consensus mechanism design), and the application layer (specific business logic design). The network layer and the consensus layer are designed and packaged as kernels. The typical functions of the application layer are separated into pluggable modules to form SDK development tools, enabling developers to create and allow core business functions, versus designing an entire blockchain.
ArcBlock’s development framework is called Forge Framework. As shown in the figure above, it is similar to Cosmos’ SDK and helps developers to create blockchains that seamlessly connect with their Dapps. Forge Framework works by using the Forge kernel with RPC (Remote Procedure Call) to invoke the consensus engine, state engine, and storage engine to help the user-defined blockchain achieve consensus, state synchronization, and distributed storage. Each of these components is pluggable within the architecture. For example, ArcBlock is using Tendermint for consensus after reviewing several other algorithms, and that can be swapped out with something else like Algorand, should the developer choose to. FABI (Forge Application Blockchain Interface) connects the Forge kernel with the other layers, including the DID API, Blockchain API, and OCAP API. The above figure shows the basic framework, but there are additional tools that developers can use, including their management consoles, command line tools, block explorers, and so on.
For developers, ArcBlock's Forge development framework is designed to be straightforward and practical, giving developers the immediate “out of the box” capabilities they need to build a DApp - not only the developer's tools, but features like auto-updating nodes, built-in fault tolerance, and smooth migration. The goal is to make blockchain development simple, like web development using Ruby On Rails.
If you look at the Cosmos SDK and ArcBlock’s Forge Framework, Cosmos is theoretically more flexible, while ArcBlock’s ABT Network and Forge Framework are more comfortable. The reason for that is that ArcBlock sacrifices some flexibility in exchange for simplicity and better performance, whereas Cosmos is sacrificing simplicity for greater flexibility. It’s easy to nitpick the two platforms, and in the end, these differences are merely different design philosophies. Whether one is better than the other is up to the developers using the platforms. We can just say that the goal of ArcBlock has always been to build a blockchain application platform that is extremely friendly to developers and prioritizes the ability to create amazing user experiences in combination with excellent performance and capabilities.
The design of weaving blockchains into networks is more likely to build a developer-friendly development platform and ecosystem, which can make the blockchain integrated closer with the real business scenarios and enable decentralized applications to grow in such fertile soil.