See what makes Kong the fastest, most-adopted API gateway
Check out the latest Kong feature releases and updates
Single platform for SaaS end-to-end connectivity
Enterprise service mesh based on Kuma and Envoy
Collaborative API design platform
API and Microservices Security for Gateways, Service Mesh, and Beyond
Call for speakers & sponsors, Kong API Summit 2023!
5 MIN READ
Decentralization is a common term heard in systems architecture. But what that term means can vary from person to person — especially when Web3 enters the picture.
In this post, we’ll look at a couple different concepts of decentralization and how the Web3 version differs from Web2. For a primer on the basics of Web3, check out our guide to Web3 basics for frontend developers.
When we talk about decentralization, we might mean several things.
First, physical decentralization. Physical decentralization is a system consisting of multiple nodes with the same level of autonomy. In a decentralized architecture, every node is autonomous and self-contained, so even if numerous nodes go offline, the system keeps working. This concept is similar to horizontal scaling in traditional architectures, where multiple instances of the same service are deployed. This type of decentralization is seen both in Web2 and in Web3.
Next, typically seen in Web3, there is governance decentralization. In governance decentralization, instead of one stakeholder or company controlling a system, many unrelated parties work together. Systems controlled by decentralized governance are changed and improved by a proposal system. Proposals are public and implementation of them is voted on by the project stakeholders.
A third concept, seen most often in Web3, is permissionless architectures. In a permissionless decentralized architecture, anyone can add their own node to the system without permission from a central authority, as long as they fulfill the necessary hardware and software requirements.
What does decentralization in Web3 mean? Let’s go through it step by step.
At the core of Web3 are blockchain networks (BNs). Ethereum, Polygon, Solana, and Polkadot are examples of such BNs. They’re different implementations of the core idea, the blockchain, each contributing to Web3 in their own way. Ethereum focuses on security and permissionless architecture, Solana and Polygon both provide a faster and more scalable experience, while Polkadot is a collection of specialized blockchains all connected in one unified network.
Foundationally, however, these BNs are all interconnected servers, called nodes, that do the work in the network.
While not a requirement for a BN, most of these networks are decentralized. This means that the nodes of a BN are all autonomous and self-contained. Each node stores a full copy of the blockchain data and communicates with the rest of the network to agree on the current state of the blockchain. Every node has a role to play, but if one node goes down, the network still operates. Decentralization in this case ensures that the network never loses data when a node goes offline.
Figure 1: Blockchain network
Many of the blockchains managed by these BNs are immense and have enormous storage requirements that burden the operators of such nodes. The harder it becomes to run a node, the fewer people can do so, and the more centralized a BN might become, as only companies with enough capital can cover the hardware requirements.
Another factor of decentralization in Web3 is that BNs are also permissionless. Everyone and anyone can add nodes to a BN without asking a central authority. No node is trusted by the network more than any other node. There is no central authority that controls all the nodes.
BNs use distributed consensus algorithms like Proof of Work (PoW), or Proof of Stake (PoS), to ensure all nodes work correctly.
In short, PoW sees many nodes in the network race to solve computationally complex math problems that produce the next block. The new block is easily verified by the rest of the network, and the winner of the computation race receives a reward.
In PoS, nodes stake a certain amount of a blockchain’s native token. These nodes are selected at random to produce the next block. If successfully verified, the node receives a reward, but if not, the node loses its staked assets. There are many other types of consensus algorithms, but PoW and PoS are the two most popular.
Overall, these consensus mechanisms make it easy for the network to agree or disagree on changes to the blockchain. So if an adversary running their own node adds modified blocks to a BN, attempting to steal crypto tokens, the other nodes can use the consensus algorithm to exclude these malicious blocks. However, the economic incentives for participating in the network usually outweigh the reward/cost ratio for attacking the network. This results in fewer successful attacks on blockchain networks.
On top of these decentralized networks are the layers where other systems can access BNs via HTTP gateways, like frontends or mobile apps. Such gateways are usually run and controlled centrally by companies and offer both public and private gateways.
Figure 2: HTTP Gateways
Public gateways are usable by anyone, so they are essentially permissionless. They are public HTTP APIs. The downside is that they might not be very performant. If you want to run time-critical workloads, they might be too slow.
Private gateways from node providers such as Infura or Alchemy deliver more performance and can be dedicated to yourself only, though they require a subscription. Although much faster than the public ones, they require a monthly fee. Additionally, they are built as Infrastructure-as-a-Service type models and easily scale depending on resource requirements.
Client libraries like Ethers.js allow configuring multiple gateways at the same time. This way, one gateway might be centralized, but by using various gateways from different companies, you can still get some level of decentralization.
Figure 3: Multiple Gateways
On top of all this is the decentralized governance mentioned above.
BNs often follow decentralized governance models that allow users and participants to update and modify the network itself. For the most part, Decentralized Autonomous Organizations (DAOs) enable this type of governance.
A DAO brings like-minded people together from all over the globe to work asynchronously towards a common goal. All important decisions are discussed openly and voted on using blockchain technology to ensure the results are permanent, immutable, and verifiable by anyone.
It’s common for most DAOs to start off in a centralized or semi-decentralized structure. A group of core founders push the agenda and lay down a roadmap, and once certain goals are met and the organization is sustainable, the founders relinquish their positions to a decentralized community.
For example, a common theme in Web3 is a company with promising ideas for a BN. They implement and release it to the public and later transition the control away from the company to a DAO. This includes decisions for standards like the Ethereum Name Service (ENS) and the development of the technology behind BNs.
Decentralization is a concept applicable to different areas. We can use the idea in a physical sense to distribute servers that create redundancy or increase performance, like when we deploy multiple instances of the same server. But we can also use decentralization in a social or business sense. For example, when we want to remove single points of failure for decision making. Decentralized governance can be a way to get more eyes on an issue and form a conclusion that keeps the needs of all participants in mind.
Looking to go beyond the basics and build better, faster, and more securely? See why Kong is king for modernization.