基于区块链技术的基础设施
区块链脱胎于BTC系统,从本质上讲,它是一个共享数据库,存储于其中的数据或信息,具有“不可伪造”、“公开透明”、“集体维护”等特征,基于这些特征,区块链奠定了坚实的“信任”基础,创造了可靠的“合作”机制。
Web3的基础设施基于区块链技术,Web3.0 Foundation将Web3的技术栈定义为由L0~L4组成的5层架构系统,如下图所示:
Web3技术栈
L0提供数据分发和互动能力,主要包括:
L1提供分发和互动数据的能力,主要包括:
L2增强了L1的能力,进行提升扩展性、加密消息传递、分布式计算等功能。
L3是人类可读语言和库的层。在这一层,开发人员可以适当抽象并进行程序开发,包括可扩展协议的API和语言:
L4是技术栈顶层,参与者主要是普通用户。用户可以在这一层和单个或多个区块链应用等进行互动,而不需要知道如何编程和实现细节,案例有Status、MetaMask、MyCrypto等。
去中心化应用(DApp)程序架构
Web3去除了管理中心,无需数据库集中存储应用程序的状态,也不需要集中的网络服务器来存放后端的逻辑,Web3的应用程序(DApp)架构与Web2时代的App有很大不同,Web3可以利用区块链在互联网上的去中心化状态机上构建应用程序。
状态机是由状态寄存器和组合逻辑电路构成的,能够根据控制信号按照预先设定的状态进行状态转移,是协调相关信号动作、完成特定操作的控制中心。区块链可以理解为一种被实例化为创世状态的状态机,并且有非常严格的规则(即共识)来定义该状态如何转换。
没有存在的实体控制这个去中心化的状态机,状态机是由网络中的每个人共同维护的。与Web2后端被控制的方式不同,在Web3生态中,我们可以编写智能合约,定义应用程序的逻辑,将应用程序部署到去中心化的状态机上,这意味着,每个想构建区块链应用的人,都可以在共享状态机上部署代码。以下是该架构示意图:
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。