Everyday, we browse websites and interact with different content from dozens of servers, networks, and geographic locations. Each web page includes links to other websites, iframes, images, video, pop-up windows connecting it to other web pages.
What makes these interactions possible? The answer is in the protocols and networks built throughout decades and APIs that sit on top of this infrastructure that make it possible for developers to send content across the globe. Protocols such as TCP, IP, BGP, and HTTP define communication standards, Internet Service Providers run the underlying networks, and interconnectivity networks, by companies like Akamai, deliver packets efficiently from one network to another. APIs such as those powered by Twilio make it easy to build on top of the stack.
Why can’t a blockchain developer offer their users the same experience? Namely, the ability to interact with other applications and assets across the entire ecosystem. Today’s blockchain ecosystem is extremely fragmented: hundreds of blockchains, dozens of bridging technologies, applications, and users scattered across the ecosystem. We’re still in the early days of ecosystem development, and several core protocols and APIs are missing that prevent us from achieving global adoption.
In the following series of blogs, we aim to understand how we got here and what we can do to solve it. We will start by understanding the history of Internet protocols and what makes computer networks tick. We will then take a look at the existing blockchain ecosystem and some of the missing protocols.
The need to connect networks is not new. We’ve seen it played out during the development of the Internet. Engineers figured out how to make devices talk to each other on the same network, many networks were created hosting different applications and users, so the need to connect them emerged. Routing protocols (e.g., IP, BGP), naming services (DNS), and transmission and application-level protocols (e.g., UDP, TCP, HTTP) were developed to deliver traffic across networks and autonomous systems.
Vinton G. Cerf and Robert E. Kahn laid out some of the foundations of the Internet protocols and developed the basic interconnectivity principles across networks [1, 2]. These are the essentials. You need to get them right. Building a system that actually satisfies them is a whole other ballgame.
So let’s recap the core principles that any interoperability system that connects distinct networks to the Internet must satisfy [1]:
If you look at the architecture of the Internet, it resembles these principles very closely. Distinct networks speak their custom protocols offering everything from cable-based to cellular connectivity. Routers and gateways connect individual networks and route information based on IP and BGP packets. Transmission and application-level protocols are then responsible for the guaranteed delivery of specific content.
Existing solutions for blockchain interoperability fit into one of these buckets:
As a result, the blockchain interconnectivity protocols are at about the same state as Internet protocols were in the early 80s. In other words, there is a lot of potential for improvement! We need global naming schemes, address discovery protocols, naming protocols, scalable routing algorithms. We need those “IP” or “BGP” equivalents. We need systems that support these protocols and adhere to core principles developed and tested by Cerf, Kahn, and others for decades. Of course, blockchain protocols have their own twists and properties essential for our ecosystem, such as trust, authentication, and integrity of information.
Building the right architectures and systems that scale is challenging and incredibly rewarding at the same time. But true interoperability will unlock massive potential for the ecosystem.
In the follow-up blogs, we will dive deeper into the design principles required for blockchain interconnectivity and then discuss the approach we’re taking at Axelar.