一文读懂什么是 Web3 架构
最近看了一些Web3.0的文章,总结了一些个人的理解:
Web3.0 通过区块链基础设施管理用户数据,重构用户和互联网平台之间的关系和交互,重新定义了互联网应用的架构方式和交互模式。
Web 1.0 中,以浏览性的网站(只能看)为代表,如Baidu、搜狐、163等。
Web 2.0 中,以可读+可写的网站为代表,用户之间可以互动,但互联网平台仍然控制着用户数据和信息,如 微信、QQ、钉钉、B站、小红书、抖音等。
Web 3.0中、可读+可写+拥有。用户和互联网平台是独立存在的,可以拒绝填写身份信息,不需要同意任何隐私协议。用户可以通过数字密钥或钱包登录任何平台。
一、Web2 基础架构
前端代码中主要定义前端交互逻辑
后端代码主要处理请求的业务逻辑
数据库用于存储所有数据
当然还会有MQ、Redis等中间件
交互模式如下:
客户端->服务端->数据库->服务端->客户端
二、Web3 基础架构
-
前端保持与 Web2 应用程序相同
-
只改变后端处理和交互模式
-
前端与底层区块链网络交互
-
交互层发起事务并写入数据,在区块链上索引并读取数据
-
基于协议构建 dApp
-
区块链协议和智能合约取代特定业务逻辑的后端代码
-
前端代码直接与区块链网络交互
-
智能合约 = 定义业务逻辑
-
以太坊虚拟机 = 在不同操作环境下,按照相同的业务逻辑进行数据计算和处理
-
区块链 = 数据被打包成块,永久存储在链上
-
前端->智能合约->EVM->区块链->前端
-
节点是应用程序和区块链网络之间的关键
-
两种主流实现方式:
-
自己构建和运行节点
-
使用第三方提供的节点服务
-
在 Web2 中,身份信息存储在平台上
-
在 Web3 中,身份信息基于公钥和私钥。钱包(Metamask)被用作访问任何 web3 应用程序的接口。
-
星际文件系统(IPFS, Interplanetary File System) - 一种网络传输协议,旨在创建持久和分布式存储以及共享文件,也是一个点对点超媒体分发协议。
-
Swarm 是一种去中心化的存储、服务和通信协议,为 dApp 的部署提供无许可、抗审查的基础设施。
-
由于数据被打包在每个块中并链接在一起,因此是一个链表结构。解码需要处理链上的加密数据。API 用于查询和索引数据。
-
除此之外,web 服务用于提供一些特效以及其他业务逻辑并返回给前端。
Web3.0对于我们开发者来说和一个很好机会,这也代表了未来5~10年互联网应用发展的趋势。