Introduction

Many leading institutions in the blockchain industry, including A16Z, Coinbase, and Multicoin Capital, are exploring: what will Web3.0 look like? At present, for the future of Web3.0, the technology stack of Web3.0 has initially reached a consensus in the industry.

According to the development status of Web3.0 and our understanding of Web3.0, Yixin Blockchain Research Institute also sorted out a panorama of the core technology stack of Web3.0:

From bottom to top, the technology stack of Web3.0 is mainly divided into: Storage Layer, State Layer, Computation Layer, Component Layer, Scalability Transfer Layer, User Control Layer, User Control Layer, Application layer Decentralized application Layer.

### storage layer

Distributed storage of blockchain-related information. At present, there are three main star projects - IPFS, Arweare and Swarm.

The storage cost on the blockchain is very high, so the storage solution of Web3 is generally an off-chain distributed storage. IPFS is a distributed peer-to-peer hypermedia protocol. Its incentive layer is Filecoin. Through Filecoin, nodes around the world can store and retrieve these data. Swarm is also a similar decentralized storage network. The difference from Filecoin is that Swarm's incentive system is built-in and executed through smart contracts on the Ethereum blockchain for storing and retrieving data. Arweave took a different path: it promised permanent storage. That is, one time payment, permanent access.

### state layer

The state layer keeps all the state that happened, and also needs to provide data distribution and interaction capabilities. The state layer is mainly a collection of public chains, such as Bitcoin, Ethereum, Solana, etc. Of course, in fact, the state layer can be subdivided into state transformation layer, consensus layer, sharding layer, P2P layer, etc., but the difference between these modules is essentially the trade-off between the performance of the underlying public chain in terms of technology selection, so this article This part is not further subdivided.

At present, the state-level public chain ecological development is the best Ethereum, but other public chains are still catching up. Compared with other public chains, the prosperous and powerful developer ecology of Ethereum is a strong barrier. Whether it is the infrastructure protocol of Web3.0 or the application layer protocol such as DeFi and NFT, it usually explodes in Ethereum first, and then other The ecological projects of the public chain follow up and imitate.

### computing layer

The computation layer allows humans to instruct the state layer to do what they want. Specifically refers to the state transition machine, such as EVM, WASM, etc.

Ethereum Virtual Machine (Ethereum Virtual Machine) is abbreviated as EVM. A virtual machine is an emulator of a computer system, which can provide the functions of a real computer in a completely isolated system. Through the Ethereum Virtual Machine, the logic defined in the smart contract can be executed to handle the state changes that occur on the Ethereum state machine.

### Component layer

Components are usually not an essential technology stack for Web3, but are often optional components that are important for the widespread adoption of Web3. Components are built on the computing layer and reuse standardized smart contract templates.

Optional components mainly include: query layer (The Graph, dfuse), oracle (Chainlink, Band Protocol), DID, DDNS, Digital Assets (BTC, ETH, etc.), Crypto Currencies (ERC20, ERC721, etc.), Stablecoin (USDC , DAI), etc.

### Extensible transport layer

The extensible transport layer can be collectively referred to as the Layer 2 protocol at present. It mainly includes 6 categories: Sidechain, State Channel, Plasma, Optimisitc Rollup, ZK Rollup, Volidium, etc.

This layer enhances the capabilities of Layer 1, and realizes the functions of improving scalability, encrypted message transmission, and distributed computing, which is of great significance to promote the large-scale commercial application of Web3.0. For details about this part, you can read "Ethereum Layer 2 Expansion, the General Trend", so I won't repeat it here.

### User Control Layer

Without a user control layer, it is difficult for ordinary users to participate. The user control layer includes: Exchange, Wallet, DAO, Broswers, etc.

The industry generally believes that Wallet is the entrance of Web3.0. The most widely used Wallets include Metamask, imToken, TokenPocket, etc.

### application layer

The application layer of Web3.0 is usually a decentralized application protocol, and there are many types. At present, the main ones that have developed include: DEFI, GameFi, Social Messaging, Media, Ecomerce, and Security.

The best-developed ones so far are DeFi and GameFi. For the next application layer development of Web3.0, we will keep a close eye on the creator economy. In addition, star application protocols such as Helium that provides open wireless networks, music streaming Audius, video transcoding and streaming Livepeer, and decentralized writing platform Mirror are all expected to become leading applications in their respective fields in the Web 3.0 era.

In addition to the above-mentioned core stack, Web3.0 also has some infrastructures that are far away from end users, such as: Trusted Execution Environment (TEE), Internet Protocol (IP), hybrid network packet routing, etc. It is also generally listed as the core stack of Web3.0 in the industry. Although these technology stacks are far away from end users, they have actually made some progress. For example: there are dRoute, BloxRoute, etc. in the block distribution network, and NYM in the mixed routing of network data packets.

Some of these stacks are not part of the underlying chain, and have not been considered essential to the development of DApps, such as: Layer 2, query layer, application layer, user control layer, etc. Since these stacks will become the core stacks for development in the future and have already developed relatively maturely, they are also included.