如何搭建一个Web 2.0应用呢?
首先,需要一个数据库,用于存储基本数据。
其次,要有后端代码,用于定义业务逻辑。
再次,要有前端代码,用于定义UI 逻辑。
这些代码和数据托管在中央服务器上提供Web服务,用户可通过互联网浏览器访问。
怎么转变为Web 3.0应用呢?
数据存储: 中心化数据库 --> 区块链
区块链是一个全局可访问的确定性状态机,由对等节点网络维护。状态机上的状态更改由遵循共识规则。任何人可以访问状态机数据,数据一旦写入不可篡改。
业务逻辑: 后端代码 --> 智能合约
智能合约是一个运行在区块链上的程序,它定义了区块链上业务发生状态变化的逻辑。任何人都可以检查智能合约的应用逻辑。
前端如何获取区块链数据?
区块链提供(Provider)是同区块链交互连接的区块链节点,实现了一种无状态的数据查询协议。
前端如何进行数据修改?
交易签名器(Signer)是指将交易信息使用私钥进行加密,生成一段独一无二的数字签名,并将其附加到交易信息中。交易签名可以用于验证交易的合法性,任何人不能篡改该交易的内容。
如何降低数据存储成本?
去中心化存储是一种基于去中心化网络的存储解决方案(IPFS/Arweave等),数据保存在分散网络中的各个节点上,可提高存储数据安全性。
如何提高前端代码可用性?
还是去中心化存储,前端代码业进行托管。
如何提高数据查询效率?
去中心化检索是基于区块链实现的数据检索(TheGraph),没有单一的控制点,爬取、索引、数据挖掘和处理分布在网络中的对等节点之间。
如何进一步提高应用性能?
Layer 2扩容是指不修改Layer 1(主链)的共识规则,构建一个链下的二层(Layer 2)网络,处理交易以实现扩容,仅在必要时同主链进行交互,Layer 2技术方案主要有状态通道、侧链、Plasma 和 Rollup。
这样,一个完整的Web 3.0应用程序架构就此诞生了。