区块链的基本架构

区块链的基本架构
一、六层层级结构
1.1应用层
智能合约、链码(Hyperledger生态)和去中心化应用程序(DApp)构成了应用层,应用层包括最终用户用来与区块链网络通信的程序,脚本、应用程序编程接口 (API)、用户界面和框架都是其中的一部分。
应用层协议进一步细分为应用层和执行层。
1.2服务和可选组件层
服务层通过附加功能增强区块链功能。
1.3协议/共识层
设置节点在状态上达成一致的规则。通过 Protocol/Consensus 层的设计,区块链系统能够实现去中心化、安全、可信的交易记录和共识达成。不同的共识机制和通信协议选择将根据具体的区块链系统和应用需求来确定。
1.4 网络层
网络层提供对等节点的交互和发现。
节点会定位引导节点,该引导节点会扫描可用的对等点并启动绑定。 信息的流通过程会通过可信执行环境 (TEE) 得到保护,以保持数据的完整性。节点会话维护因网络而异,例如以太坊采用递归长度前缀,定义定位、验证和共享数据所需的时间节点。
- 网络拓扑结构
- 节点连接和发现
- 路由和传输
- 安全性和保护机制
1.5 数据层
区块链的 Data(数据)层是区块链架构中的一个关键组成部分,它涉及区块链中数据的存储、验证和一致性。该层负责确保区块链数据的安全性、可靠性和完整性。
- 分布式账本
- 数据验证和一致性
- 数据存储
1.6 硬件/基础设施层
区块链的 Hardware/Infrastructure(硬件/基础设施)层是区块链架构中的一个关键组成部分,它涉及支持区块链系统运行所需的硬件设备和基础设施。该层提供了计算、存储和网络等基础设施,支持区块链网络的功能和性能。
- 硬件设备
- 基础设施
二、执行、结算、排序、数据可用性
区块链的 Execution(执行)层、Settlement(结算)层、Data Availability(数据可用性)层和Ordering(排序)层是区块链架构中的四个关键组成部分,用于处理和管理交易的执行、结算、数据传输和排序。
- Execution层(执行层)
Execution层处理区块链上的交易执行,确保交易的可靠性和一致性。它包括智能合约引擎、虚拟机和执行环境等组件,用于验证和执行用户提交的智能合约和交易。Execution 层负责执行交易中的计算操作,并在区块链网络中更新状态和账本数据。它通常使用编程语言和执行环境来处理智能合约的逻辑和业务逻辑。
- Settlement层(结算层)
结算层是通过共识机制确保交易的合法性和一致性,处理和确认交易结算,并提供安全的交易环境。它是区块链系统中至关重要的组成部分,为交易的安全性和可靠性提供了坚实的基础。它涉及将执行层中执行的交易结果映射到区块链账本中的状态变化和账户余额。
- Data Availability层(数据可用性层)
数据可用性层是指区块链技术中负责存储、访问和检索数据的组成部分,用于确保区块链上的数据可以被有效地存储、传输和使用,为区块链的可靠性、可用性和数据安全性提供了基础支持。
- Ordering层(排序层)
Ordering 层负责对区块链中的交易进行排序,并将已排序的交易打包成区块,确保交易的正确执行、结算、数据传输和顺序。
三、L1 和 L2
区块链的 Layer1 和 Layer2 是指区块链技术中的两个层级或层次结构,用于描述不同的技术和解决方案。
- Layer1
Layer1是区块链技术的基础层,包括底层协议、共识机制、加密算法、网络和数据结构。它提供了区块链系统的基本架构和功能,确保数据的安全性、一致性和可用性。Layer1的设计和实现对于区块链的性能、安全性和可扩展性至关重要
- Layer2:
Layer2是在区块链 Layer1 之上构建的一系列扩展性解决方案和协议,旨在提高区块链系统的性能、可扩展性和交易吞吐量。Layer2不是独立的区块链,而是在区块链 Layer1 上的补充技术,旨在增强区块链系统的性能和功能。Layer2解决方案通过在区块链之外进行交易和数据处理,减轻了Layer1上的负担,从而提供了更高效的交易和应用体验。常见的 Layer2 解决方案包括闪电网络(Lightning Network)、Plasma 、rollup 等。
- 公链和 Layer1 的区别
Layer1和公链(Public Blockchain)在概念上有一些区别,尽管它们在某些方面可以重叠或相关。
- Layer1是指区块链技术中的基础层级,它包括底层的区块链协议、共识算法、数据结构和网络协议等。Layer1是区块链系统的核心组成部分,提供了区块链的基本功能和特性,例如分布式账本、交易验证和共识达成。Layer1的设计决定了区块链系统的安全性、可靠性、性能和可扩展性。在 Layer1 中,可以实现不同类型的区块链,包括公链、私链和联盟链等。
- 公链是一种开放的区块链网络,允许任何人加入并参与其中,无需特定的许可或限制。
因此,公链是指基于Layer1的开放区块链网络,允许任何人参与其中,并保持公开、透明和去中心化的特性。公链是Layer1的一种应用和实现方式,而Layer1更广泛地涵盖了区块链技术的基础层级和协议。公链可以视为Layer1的一种形式或类型,用于实现开放和去中心化的区块链网络。