The Web3 Stack: A Macro View
As the Web3 space continues to grow, contextualising the various technologies has become an increasingly demanding task. In this series of articles, we will start with a high level overview of the various concepts and eventually arrive at the use cases which various Web3 protocols are trying to solve.
This article is the first in the series defining the distinct layers of the Web3 stack, from the user interface all the way down to the machines which are running the code. The articles are divided into 3 levels of increasing detail:
L1 - Overview
An overview of the different layers and how they enable Web3 functionality through building on top of each other:
- A Macro View
L2 - Concepts
The key concepts within each layer that informs business and technical decisions. This highlights the different categories of Web3 technologies:
L3 - Implementations
Understanding the difference between various protocol/standard implementations and how they relate to each other. The focus will be on Web3 lego blocks and its affects on value flows:
- Transaction Settlement
- Assets
- Web3 Primitives
- Optimisers (WIP)
A Macro View
Analysis
Applications and tools which help to make sense of blockchain transaction data. These are read only applications which help to increase transparency in the space. By combining both on-chain and off-chain data, these tools enable insights to be drawn from the vast amount of data while also providing more structure and context to the data.
Wallets
User owned wallets which stores and manages the private keys of the user. These self-custodial wallets enable users to prove their consent by digitally signing a transaction. These transactions range from a simple transfer of coins to complex interactions with decentralised application smart contracts. Transactions are finalised when it is mined by the network.
Optimisers
A set of decentralised applications which build on top of DeFi primitives in order to exploit profit opportunities through implementing specific strategies. Such applications will usually aggregate data across the entire ecosystem to form an executable strategy that maximises returns for the user.
Web3 Primitives
The building blocks of Web3 which are enabled through modular smart contracts. As smart contracts are able to handle any logical combination represented in code (i.e. general-purpose), there is no limit to the possible use cases. Protocol teams are able to mix-and-match use cases across Web3 primitives which uncovers significant value at the ecosystem level. Nonetheless, primitives must be selected carefully as the stack will be vulnerable to the weakest link.
Oracles
Data providers that enable DeFi protocols to ingest external data for logic processing within their smart contracts. Smart contract logic will usually require some form of external data as a parameter and oracles incentivise the secure sourcing of data from multiple sources.
Assets
The object/thing that is being transferred on the blockchain. This data can describe any object (money, real world assets, etc) on the blockchain and is usually represented in the form of a token. Various standards exist to ensure the interoperability of different assets.
Cross-Chain Bridges
Protocols that enable assets to be securely moved across various independent chains. As an asset is specific to a particular chain, cross-chain bridges opens up interoperability between chains by enabling data/value to be transferred between chains.
Transaction Settlement
The base software layer for Web3 where all transactions are finalised and secured. Each blockchain network implements its own set of rules around achieving consensus and finality. Such decisions lead to tradeoffs between decentralisation, scalability, and security which application teams will have to consider when choosing a chain to build their application on.
Nodes
Hardware devices that runs the code of a particular chain thereby acting as a decentralised compute infrastructure for the blockchain. The protocol code would consist of logic to validate and finalise transactions in a decentralised manner. Blockchain data is stored across the nodes which enables for computing to be distributed. Most protocols will incentivise nodes to host their chain by providing some form of reward.
Thanks for staying till the end. Would love to hear your thought/comments so do drop a comment. I’m active on twitter @AwKaiShin if you would like to receive more digestible tidbits of crypto-related info or visit my personal website if you would like my services :)