本文深入探讨了区块链架构的层次结构,主要包括Layer 1、Layer 2和Layer 3等,阐述了不同层的功能与相互作用,以及如何解决区块链扩展性三难问题。文章还讨论了公共、私有、混合和联盟区块链的不同类型,清晰展示了每种架构的特点和应用场景。
了解区块链架构的细微差别,如以太坊和比特币,并将其分解为易于理解的部分。从功能层到Layer1 和Layer2。
当讨论 区块链架构 时,我们指的是组成完整区块链系统的组件、层和整体技术。每一层都有其独特的角色,从存储数据到维护网络连接以及确保系统内部的一致性。
理解这些层如何协同工作构成一个系统对于区块链、智能合约开发者 和任何希望有效利用 区块链技术 的人来说都是至关重要的。
在本文中,我们将区块链架构的复杂性分解为易于理解的部分。我们将解释什么是可扩展性三难问题,什么是区块链功能层,以及它们如何协同作用,以形成我们所听说的Layer1、Layer2 和Layer3 链的架构。
在深入理解构成完整区块链架构的不同部分之前,了解所有这些组件试图解决的问题是很重要的:让区块链可扩展。
区块链技术中的“ 可扩展性”一词意味着提高系统(链)处理交易的能力,通常用 每秒交易数 (TPS) 来衡量,这是定义支付系统是否能够服务大量用户的关键指标。
这并不是一个新指标 - 例如,作为传统支付系统的 Visa,可以处理超过 65,000 TPS。另一方面,比特币 的 TPS(每秒交易数)处理能力仅为 4 到 7。这使得链需要扩展并提高其服务更多用户(每秒交易)的能力。
现实情况是,扩展链并不像听起来那样简单。事实上,有一个问题 - 被称为 区块链可扩展性三难问题。
Vitalik Buterin 首次 创造了这个术语 来描述高性能区块链必须具备的三项属性:
• 去中心化
• 安全性
• 可扩展性
可扩展性三难问题描述了区块链架构的局限性
这个三难问题的论点是,一个区块链 只能同时实现这三目标中的两个。
三难问题表明,让区块链高度可扩展和安全可能需要某种程度的中心化。如果你希望它高度去中心化和安全,它可能会在可扩展性上遇到困难,因为网络中的每个节点可能,例如,需要验证每一笔交易,这可能会减慢处理时间并增加成本。
为了解决这个问题,聪明的开发者决定将像 以太坊 或 比特币 这样的区块链进行重新构建,而不是试图创建一个既可扩展又安全且去中心化的单一链,他们会创建两个链:
在深入理解 Layer1 和Layer2 区块链是什么之前,让我们了解一下当我们在区块链架构的背景下提到术语“层”时的含义。
当我们谈论区块链层次时,在区块链架构的背景下,我们可以指代两种类型的层:
可以把区块链想象成一块蛋糕。
从下到上的每一层都是必不可少的,形成整个结构和功能。功能层就像是混合材料的方法和烘焙过程,以创建一个功能齐全且美味的基础蛋糕(区块链)。
让我们看看这些层是什么:
类型 | 描述 | 关键词 |
---|---|---|
硬件层 | 提供托管区块链所需的基础设施 | 硬件、挖掘设备、计算机 |
数据层 | 确保安全和持久的信息传输 | 区块、账本、签名算法、加密密钥 |
网络层 | 提供点对点节点交互的技术 | 对等网络 |
共识层 | 为节点在当前链状态上的协议设定规则 | 基于工作量证明、权益证明、委托权益证明 |
应用层 | 为最终用户提供基于区块链的应用 | 智能合约、Dapps |
区块链架构 扩展到 硬件 和 基础设施。这形成了 区块链的物理基础,涵盖了执行计算工作、处理交易和进行加密计算所需的所有基础设施。这包括 服务器、计算机 和 挖掘设备。
基础设施层还包括虚拟机,它们作为操作系统运行智能合约。区块链通常具有它们的原生虚拟机,例如以太坊的以太坊虚拟机。
该层以结构化且不可更改的方式存储 链的交易历史 和 账本数据。数据被组织成区块。每个 区块 都与前一个 区块 加密连接,形成链。此链提供了一个安全且不可更改的交易记录。
尽管交易添加和哈希的细节并不是主要焦点,但重要的是要强调数据层在维护完整性和隐私方面的角色。该层定义了协议中使用的大多数 加密原语 - 签名算法,例如 椭圆曲线数字签名算法、加密库和公私钥对。
网络层实现了节点之间有效的发现和交互。
网络层管理连接链中节点的通信协议。该层对维持区块链的去中心化特性至关重要,允许点对点交易。
该层在节点之间达成 交易有效性的一致性。它使用多种机制,如 PoW(工作量证明)、PoS(权益证明)或 DPos(委托权益证明),每个机制都有其方法以验证交易并确保网络的安全。
请注意,例如,ETH 的共识机制是 Gasper,而不是权益证明。权益证明只是其共识机制的一部分。
应用层是整个系统的最终产品,为用户提供特定的产品,如钱包、借贷、质押等。
这是 智能合约和应用 构建的层,同时也是运行在链上的其他任何软件。该层是区块链与用户之间的接口,使技术在各种用途中变得可访问和可用。
功能层的结合导致了新的区块链(蛋糕)的创建,也被称为 Layer1 - 这也是一种层,但非常不同。
正如我们所提到的,所有区块链功能层相互协作形成另一种类型的层,即架构层 - 当我们谈论Layer1、Layer2 和Layer3 区块链时所指的。
区块链层次有 4 种常见类型:
链 | 描述 |
---|---|
层 0 | 为最终用户提供基于区块链的应用。 |
Layer1 | 提供托管区块链所需的能力。 |
Layer2 | 确保安全和可信的信息传输 |
Layer3 | 提供点对点节点之间的交互 |
层 0 区块链旨在促进不同链之间的互操作性,并确保基础设施的稳健性。这包括互操作性协议、网络共识机制以及支撑链的基础互联网和硬件。
Layer1 区块链相较于层 0 进行了改进,是维护区块链功能的层,通常被称为实现层,包括以太坊、比特币和Solana等链。
Layer2 区块链旨在扩展Layer1 的功能,通常在主链(L1)之外处理交易,然后将这些交易批量发送回 L1 进行“结算”。Layer2 解决方案具有许多优化和可扩展性解决方案,以提高性能、减少延迟并降低 gas 费用。然而,也有一些Layer2 方案并不处理交易,而是扩展其他区块链功能。例如,一个预言机解决方案(获取现实世界数据和计算)也被视为 L2。
Layer2 解决方案使用多种机制来实现可扩展性。一些流行的例子包括:
Layer3 区块链 包括 跨链应用、用户界面设计和 API,允许与链进行轻松交互。L3 旨在抽象出链的大部分内部复杂性,为最终用户和开发者提供跨各种链的简化和集成体验。
在结束之前,重要的是要理解,除了功能层或实施的附加技术的差异外,区块链架构还可能根据区块链的类型、目标和目标用例而有所不同。
当我们谈论 区块链架构 时,还重要指出区块链可以是 许可(限制访问)或 无许可(向所有人开放)的,这种区分创造了 4 种类型的区块链架构,每种架构解决 不同的问题,并侧重于可扩展性三难问题的不同组件:
类型 | 描述 | 权限 | 可扩展性 | 示例 |
---|---|---|---|---|
公共区块链 | 可供任何拥有互联网连接的人访问的去中心化区块链 | 无许可 | 有限 | 比特币 |
私有区块链 | 仅可供特定个人、节点或组织访问的区块链 | 许可 | 高 | Corda |
混合区块链 | 结合公共和私有区块链特性的区块链 | 许可 | 高 | Dragonchain |
联盟区块链 | 由多个组织或节点的联盟管理的区块链 | 许可 | 高 | R3 Corda、Hyperledger Fabric |
公共区块链 是 对每个人开放 的,没有权限限制。它们采用各种共识机制。然而,由于大型用户群体的增长需求,可扩展性可能会成为挑战。 比特币 和 以太坊 是公共区块链的典型例子。
私有区块链满足企业需求。它们是 许可的区块链,仅可供特定个人访问,通常在商业组织内。Hyperledger Fabric 是知名的私有区块链。
公共和私有区块链各有其优缺点。混合区块链旨在结合两者的最佳特性。
联合区块链
联盟区块链由 共同管理和拥有。当多个私人节点聚集在一起创建 联盟区块链 时,就形成了这一类区块链。
总之,开发者和用户了解链的工作方式、区块链架构 及其基础技术,包括各种功能层和区块链层,至关重要。
正如我们所见,每个区块链层都履行着独特的职能,促进了区块链系统的整体功能和成功。
随着技术的发展和成熟,我们可能会看到新的层和架构出现,进一步增强其能力。我们鼓励你在这个激动人心的领域不断探索、学习和创新。
如果你想了解有关智能合约开发、安全性以及区块链如何工作的更多信息,请在 Cyfrin Updraft 上注册并获取 70 小时以上的 web3 开发课程,完全免费。
祝编码愉快!
- 原文链接: cyfrin.io/blog/blockchai...
- 登链社区 AI 助手,为大家转译优秀英文文章,如有翻译不通的地方,还请包涵~
如果觉得我的文章对您有用,请随意打赏。你的支持将鼓励我继续创作!