Web3 Infrastructure: A Layered Cake Of The New Internet
What else is there on top of blockchains and why we need it to build a decentralized future
The original Bitcoin paper was concerned only with the secure decentralized transactions and offered a great concept, but it never had set a goal to provide a step by step instruction on how to implement it in a scalable and sustainable way.
Once we have determined a secure way to seal an agreement between several independent agents (check out our short explanation of consensus mechanisms), what’s stopping us from making every service, website, and application on the web decentralized?
Turns out, you need a lot more than a protocol to make things work. Just as TCP/IP is crucial, but not the only part of the modern web.
Web3 is built for everyone and that means it has to be scalable, secure, and with a certain degree of user experience. To achieve all those things we need several infrastructural layers. Let’s go from the ground up.
Blockchains — decentralised ledgers that hold all the data. The chain is supported by the miners for a reward. The important part here is that the reward is not just some amount of tokens, but the right to add transactions to the block and add the block to the chain. In other words, there’s no other way to add your data to the blockchain — you either have to ask a miner to do it, or become a miner yourself. You can spot a bottleneck here — when there are more transactions than the miners can process, we see the network overload. Longer transaction times, high gas fees — the infamous “scalability” issues.
How do we get that many transactions? Usually, by some popular app spikes — like Cryptokitties (remember them?) or NTF mints most recently.
Before we get to the apps, there’s another level — infrastructural tools. One of the key areas of the web3 advancement is scalability research. In order to improve the performance, three main avenues had been developed:
- off-chain data processing (faster side chains that manage micro transactions on top of a main blockchain, application-specific chains, e.t.c.) and tools to support them (such as oracles and bridges, that help chains keep track of viable data and communicate with each other): for example, Polygon;
- tools that help other apps to process blockchain data, so instead of working with a miner directly (which increases their workload, since they have to process your queries) or maintaining a node, apps or even individuals could use a much faster and convenient API to get all the info they need, such as Infura.
- tools that provide long term storage and retrieval for the data that is too big, or too specific to be stored on the chain. You may have heard some names: IPFS, Filecoin, Arweave.
We got to the part that is facing actual users. Platforms that connect the user and the chain in some meaningful way that helps them achieve a goal or complete a task live here. For example, NFT spaces like Rarible or OpenSea, swap protocols such as Uniswap that help exchange tokens on/between chains. You may think of them as SaaS services in the traditional model.
Finally, with all of these we can make a decentralized app (dApp), or a browser, or a wallet, or social media platform — all the things you’re familiar with from the web2.
However, there are several problems here. Most apps require a backend to process data / make computations that are too app/domain specific to be processed on chain (and that would also create a tremendous load rendering the performance).
Any sophisticated website with more than just a static page would require a way to perform computations and process its users data in a secure way.
Unfortunately, the problem of making scalable computations decentralized is still to be solved. Most dApps have to use centralised providers like AWS (but not because they want to, there’s just not much choice).
That’s exactly what we are about to solve with Super Protocol — provide secure confidential and decentralized computations for the dApps.
If you’re interested in a deeper dive into the Web3 layered structure, here are some good articles to start: