本文深入探讨了区块链架构的各个层面,包括应用层、服务层、协议层、网络层、数据层和硬件/基础设施层。文章还讨论了不同类型的区块链架构,如公有链、私有链、混合链和联盟链,并解释了一层和二层区块链的区别和特点,最后强调了区块链安全的重要性。
更新于:2025 年 6 月 30 日
阅读需 6 分钟
作者:Oleh Malanii
区块链架构是指构成完整区块链系统的组件和子组件或层。每个层都有其独特的作用,从存储数据到维护网络连接,再到确保整个系统达成共识。
对于希望有效利用区块链技术的区块链开发者和创业公司企业家来说,理解这些层至关重要。
本文旨在通过分解区块链的层及其各自的功能,来揭示区块链架构的复杂性。我们的目标是帮助你了解区块链设计的复杂性,优化性能,并识别潜在的安全漏洞。
一般来说,区块链有四种类型:公有链、私有链、联盟链和混合链。当然,区块链架构的具体细节取决于类型。
| 区块链类型 | 描述 | 可扩展性 | 示例 |
| 公有链 | 任何有互联网连接的人都可以访问的去中心化区块链 | 有限 | 比特币、以太坊 |
| 私有链 | 只有特定个人或组织才能访问的区块链 | 高 | Hyperledger Fabric、Corda |
| 混合链 | 结合了公有链和私有链特性的区块链 | 高 | Dragonchain、EWF Baseline |
| 联盟链 | 由组织联盟管理的区块链 | 高 | R3 Corda、Hyperledger Fabric |
公有链对所有人开放,不受权限限制。它们可以使用各种共识机制,但由于广泛用户群的需求不断增加,可扩展性可能具有挑战性。比特币和以太坊是经典的例子。
私有链是为企业需求而创建的。它是有权限的区块链,仅供选定的少数人访问,通常用于商业组织。Hyperledger Fabric 是最著名的私有链之一。
公有链和私有链各有优缺点。像 Dragonchian 这样的混合链背后的想法是兼得两者的优点。
联盟链,例如 R3 Corda,是由合作伙伴共同拥有和管理的,即当多个私有节点形成联盟链时。
根据区块链的类型,实现其架构的方式有很多种,而且没有标准。但是,大多数区块链通常具有以下结构:
| 层 | 作用 | 组件 |
| 应用层 | 托管与区块链交互的应用程序。 | 智能合约、用户界面、去中心化应用程序 |
| 服务及可选组件 | 通过额外的服务增强区块链的功能。 | 治理/DAO、预言机、钱包、区块链监控器 |
| 协议/共识层 | 定义和规范区块链中的节点如何达成一致。 | 共识、侧链、许可式和非许可式、传播协议、虚拟机 |
| 网络层 | 促进节点之间的有效发现和交互。 | 通信机制、可信执行环境、递归长度前缀 |
| 数据层 | 满足数据的创建、管理和加密。 | 数字签名、哈希、默克尔树、数据块、非对称加密、存储 |
| 硬件/基础设施层 | 提供托管区块链所需的物理资源。 | 挖矿、节点、代币、服务器 |
为最终用户提供基于区块链的应用程序。
应用层是整个系统的最终产品,为用户提供特定的产品,即钱包、借贷、质押等。
应用层从智能合约开始,智能合约是一种管理状态转换的可编程代码。它可以充当托管、支付渠道或金库,并在不同的生态系统中以不同的名称为人所知,例如 Solana 中的“程序”和 Hyperledger 中的“链码”。智能合约是黑客经常攻击的目标,因为其代码中的任何严重错误都可能被利用以获取非法利益。
通常,用户不会直接与智能合约交互。相反,他们依赖 Web3 应用程序或 API 的前端。Uniswap 网站就是一个结合了 UI 和智能合约的去中心化应用程序的例子。
通过额外的功能增强区块链能力。
服务层创建 Web3 互连,消除障碍并实现流畅的交互。可选元素包括去中心化自治组织 (DAO),协助 Arbitrum 和 Polygon 等网络中的管理和通信,但在比特币和以太坊中不存在。预言机将 Web3 应用程序与资产定价的真实世界数据连接起来,从而帮助链下计算。热钱包存储链上资产,但也充当访问点,例如 Metamask 或 Kaikas——Klaytn 的原生钱包。最后,区块浏览器跟踪链的健康状况,帮助检测技术故障和安全漏洞,并及早缓解问题。
为节点就状态达成一致制定规则。
协议层为区块链参与制定规则,共识机制是其关键组成部分。共识确保节点之间在区块挖掘和处理方面达成一致,并概述验证者要求,这些要求因工作量证明、权益证明和其他共识机制而异。传播协议广播决策,而协议审计确保针对 51% 攻击等威胁的安全性。
区块链可以是许可式的(限制访问)或非许可式的(对所有人开放)。侧链与主链并行运行,具有单独的共识机制,可提供增强的功能。Polygon-以太坊关系就是一个例子。
提供对等节点交互。
网络层支持被称为节点的对等方之间的有效发现和交互。通常,节点定位一个引导节点,该节点扫描可用的对等方并启动绑定。当信息流通时,它通过可信执行环境 (TEE) 受到保护,以保持完整性。节点会话维护因网络而异;例如,以太坊采用递归长度前缀,定义节点定位、验证和共享数据所需的时间。
确保安全和自信的消息传输。
区块链技术的数据层主要关注数据存储和结构。它包含区块链,区块链是存储交易信息的块的线性序列。根据具体的区块链,数据结构可以从简单的交易列表(例如比特币使用的交易列表)到更复杂的结构(例如以太坊的状态 trie,它存储合约状态信息)不等。
虽然这里不重点介绍交易添加和所用哈希的细节,但重要的是要注意,数据层确实在维护完整性和隐私方面发挥作用。这是协议中使用的大多数加密原语(签名算法、加密库和公钥-私钥对)被定义的地方,并且应该与高安全标准相关联。
非对称加密是一个关键组件,公钥-私钥对保持数据的机密性。公钥与钱包地址关联,私钥授予对与该地址关联的资产的控制权。
每笔交易都附带一个数字签名,这是一种加密机制,用于验证正确私钥的控制权而不泄露它,从而确保安全。加密签名由签名算法生成,例如椭圆曲线数字签名算法、Rivest-Shamir-Adleman 等。
提供托管区块链所需的必要容量。
区块链架构扩展到硬件和基础设施。在这一层——在工作量证明共识协议中——矿工和验证者进行操作,矿工使用专用设备(GPU、通风机、稳定器)和电力创建新区块,而验证者运行节点进行区块挖掘。至于数据存储,由于容量限制,一些区块链选择第三方去中心化数据托管,例如 Filecoin、IPFS、Arweave 或 Firebase。
节点或客户端有三种类型:完整节点、轻节点和存档节点。完整节点存储整个链的状态,参与共识过程,并根据请求提供数据。轻节点仅托管区块摘要,而存档节点存储从创世区块到现在的交易数据,可供用户查询。
基础设施层还包括虚拟机,虚拟机充当操作系统并托管智能合约。区块链通常具有原生虚拟机,例如 Avalanche 的 Avalanche 虚拟机和以太坊的以太坊虚拟机。但是,区块链也可以与其他虚拟机兼容。
应用层、服务层、协议层、网络层、数据层和基础设施层构成了一个完整的区块链。但是,了解 L1 与 L2 可扩展性解决方案也很重要,因为这些是你最常遇到的“层”。
| 特点 | 扩展解决方案 | 示例 | |
| Layer 1 | 独立、安全、无需许可 | 分片、分叉 | 以太坊、比特币、Solana |
| Layer 2 | 依赖、可扩展、快速 | 状态通道、嵌套区块链、Rollups、侧链 | Polygon、闪电网络、Arbitrum |
以太坊和比特币是 Web3 中两个最主要的 L1。Layer 1 区块链是基础且自我维持的链。它们大多是公共且无需许可的。一个典型的 Layer 1 区块链具有区块链架构的所有组件。
然而,由于它们的技术瓶颈,大多数 L1 的可扩展性可能相当有限。一些 L1 一直积极采用原生扩展解决方案。例如,以太坊正在实施分片以快速跟踪其吞吐量。
Layer 2 区块链以更高的吞吐量和更低的 gas 费用提供扩展,同时依赖 L1 来实现安全性和底层操作。但是,它们通常实现不同的共识层。
L2 通过各种创造性的方式进行其扩展活动:运行侧链、状态通道、Rollups 或嵌套区块链。闪电网络和 Stack 是比特币生态系统中 L2 的显著例子。
区块链是不同组成部分和层级的最终产物。这些层为其提供了正常运行所需的各种因素。
但是请注意,区块链技术最大的痛点之一是安全漏洞。区块链的每一层都容易受到漏洞攻击。为此,协议、dApp 和智能合约应经过全面审计,以阻止潜在的安全威胁。
- 原文链接: hacken.io/discover/block...
- 登链社区 AI 助手,为大家转译优秀英文文章,如有翻译不通的地方,还请包涵~
如果觉得我的文章对您有用,请随意打赏。你的支持将鼓励我继续创作!