-
Notifications
You must be signed in to change notification settings - Fork 9
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
1 parent
1085d96
commit 9e6309a
Showing
5 changed files
with
176 additions
and
12 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,64 @@ | ||
## 模块化区块链 | ||
|
||
模块化区块链(Modular Blockchain)是区块链架构的一种设计理念,它将区块链的不同功能模块化,使每个模块可以独立地执行特定的功能。这种架构设计旨在提高区块链的可扩展性、灵活性和效率,同时允许不同模块之间进行组合,以适应不同的应用场景和需求。 | ||
|
||
### 模块化区块链的基本概念 | ||
|
||
传统的区块链(如 [以太坊](https://learnblockchain.cn/tags/以太坊?map=EVM))通常采用单体架构(Monolithic Architecture),即所有功能都由同一层区块链处理,包括共识、数据可用性、执行和结算等。这种设计虽然简单,但在面对高负载或复杂应用时,容易遇到性能瓶颈。 | ||
|
||
模块化区块链将这些功能分离成不同的模块,各模块可以独立运行,并通过标准化接口进行通信。 | ||
|
||
主要的模块化区块链设计包括以下几个部分: | ||
|
||
1. **执行层(Execution Layer)**:负责执行智能合约和交易,并生成区块链状态的变更记录。 | ||
|
||
2. **结算层(Settlement Layer)**:处理交易的最终性和结算,确保交易在链上得到确认。 | ||
|
||
3. **共识层(Consensus Layer)**:负责区块的生产和共识机制的执行,确保网络中的节点对区块链的状态达成一致。 | ||
|
||
4. **数据可用性层(Data Availability Layer)**:确保区块链中所有交易数据的可用性,即使部分节点无法访问数据,仍然可以验证区块的有效性。 | ||
|
||
|
||
|
||
### 模块化区块链的工作原理 | ||
|
||
模块化区块链通过将上述不同功能分离成独立模块,使每个模块可以在不同的区块链上独立实现。例如: | ||
|
||
- 共识层可以由一个高度去中心化且安全的区块链(如以太坊主网)实现。 | ||
- 数据可用性层可以由专门的解决方案(如 EIP4844 Blob、Celestia、EigenDA)提供,确保所有交易数据的可用性。 | ||
- 执行层可以在 Layer 2 上运行,以提高执行速度和扩展性。 | ||
- 结算层则处理最终的交易确认和结算,确保整个系统的一致性。 | ||
|
||
这些模块之间通过标准化的接口和协议进行通信,从而允许不同的模块化区块链系统无缝集成和协作。 | ||
|
||
|
||
|
||
模块化区块链的一个典型应用,是 Layer 2 扩容,例如 Rollup 通过在 Layer 1 上处理数据可用性和结算,而将执行放在链下, 执行还可以选着不同的虚拟机。 | ||
|
||
|
||
|
||
### 模块化区块链的优势 | ||
|
||
1. **可扩展性**:通过将不同功能模块化,模块化区块链可以更容易地进行扩展。例如,执行层可以在不同的 Layer 2 解决方案中并行运行,提高交易处理速度。 | ||
|
||
2. **灵活性**:开发者可以根据具体的应用需求选择合适的模块进行组合,从而构建具有特定功能的区块链网络。 | ||
|
||
3. **效率**:各个模块可以专注于优化其特定功能,如数据可用性层专注于提高数据传输和存储效率,而执行层则可以优化智能合约的执行速度。 | ||
|
||
4. **安全性**:通过将共识和数据可用性等关键功能分离,模块化区块链可以提高整个系统的安全性,因为攻击者必须同时攻破多个模块才能破坏整个系统。 | ||
|
||
5. **互操作性**:模块化设计使得不同区块链系统之间的互操作性大大增强,允许跨链交易和跨链智能合约的执行。 | ||
|
||
|
||
|
||
### 模块化区块链的挑战 | ||
|
||
1. **协调性**:不同模块之间的协调和通信可能带来复杂性,如何确保模块间的无缝集成和高效通信是一个挑战。 | ||
|
||
2. **标准化**:模块化区块链依赖于标准化接口和协议,目前这些标准化协议尚在发展中,如何推动标准化进程也是一个重要课题。 | ||
|
||
3. **安全性**:尽管模块化提高了系统的安全性,但各模块间的交互可能引入新的攻击面,因此需要仔细设计和防范。 | ||
|
||
|
||
|
||
|
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,3 +1,73 @@ | ||
## 以太坊升级历程 | ||
|
||
以太坊同意一次次硬分叉来执行升级。 | ||
|
||
升级历程可参考:https://ethroadmap.com/ | ||
### 执行层硬分叉 | ||
|
||
![以太坊执行层硬分叉](https://img.learnblockchain.cn/pics/20240828181743.png) | ||
|
||
|
||
|
||
**创世** 2015 年 7 月 30 日 | ||
|
||
以太坊的第一个区块,也被称为 Frontier,在其构思近两年后发生。 | ||
|
||
**黑客攻击和分叉** 2016 年 6 月 - 7 月 | ||
|
||
由以太坊社区众筹的大型风险投资基金(The DAO)被黑客攻击。为了恢复丢失的资金,实施了一个有争议的硬分叉。 | ||
|
||
**EVM 升级** 2016 - 2021 | ||
|
||
五年内进行了六次硬分叉,升级了 EVM,并且独立于信标链,尽管最后几次变化是为准备工作。 | ||
|
||
**上海升级** 2023 年 4 月 12 日 | ||
|
||
启用了从信标链中提取验证者的功能,完成了向 PoS 的过渡。 | ||
|
||
**坎昆升级** 2024 年 3 月 13 日 | ||
|
||
通过 EIP-4844 和 Blobs 以及其他辅助改进扩展了 Layer2。 | ||
|
||
**布拉格(Prague)升级** 2024 年底 | ||
|
||
社区仍在讨论具体包含哪些内容。可能在 2024 年底上线。 | ||
|
||
**大阪** 2025 年底 | ||
|
||
待定, Verkle Trees 正在受到关注。 | ||
|
||
### 共识层硬分叉 | ||
|
||
![以太坊共识层硬分叉](https://img.learnblockchain.cn/pics/20240828181757.png) | ||
|
||
**共识层启动** 2020 年 12 月 1 日 | ||
|
||
这标志着以太坊向权益证明共识机制过渡的开始,也是现在的共识层的创世。 | ||
|
||
**Altair** 2021 年 10 月 27 日 | ||
|
||
对信标链的首次升级。引入了包括同步委员会在内的若干改进。 | ||
|
||
**Bellatrix** 2022 年 9 月 6 日 | ||
|
||
为信标链进行的准备性升级,为合并奠定了基础。 | ||
|
||
**Merge** 2022 年 9 月 15 日 | ||
|
||
从工作量证明向权益证明的过渡,由达到终端总难度触发,并不是一次硬分叉。 | ||
|
||
**Capella** 2023 年 4 月 12 日 | ||
|
||
启用了从信标链中提取验证者的功能,完成了向 PoS 的过渡。 | ||
|
||
**Deneb** 2024 年 3 月 13 日 | ||
|
||
通过 EIP-4844 和 Blobs 以及其他辅助改进扩展了 Layer2。 | ||
|
||
**Electra** 预计 2024 年底 | ||
|
||
社区仍在讨论具体包含哪些内容。可能在 2024 年底上线。 | ||
|
||
**Fulu** 预计 2025 年底 | ||
|
||
待定 Verkle Trees 正在受到关注。 |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,32 @@ | ||
## Avail | ||
|
||
[Avail](https://learnblockchain.cn/tags/Avail?map=EVM) 是一种专注于提供数据可用性(Data Availability, DA)的模块化区块链解决方案。由 Polygon 开发,Avail 旨在成为去中心化应用程序(DApps)和 Layer 2 解决方案的数据可用性层。 | ||
|
||
|
||
|
||
Avail 作为一个独立的区块链,专注于数据可用性服务。它通过存储和验证区块链网络中的交易数据,确保所有节点都可以访问并验证这些数据,从而防止数据丢失和恶意攻击。Avail 是[模块化区块链](https://learnblockchain.cn/tags/模块化区块链)架构的一部分,它与执行层、共识层等其他模块化区块链组件协同工作,提供高效的扩展性和安全性。 | ||
|
||
Avail 旨在与现有的区块链网络和 Layer 2 解决方案(如 [Rollup](https://learnblockchain.cn/tags/Rollup?map=EVM))兼容,成为这些系统的数据可用性层。 | ||
|
||
### Avail 的工作原理 | ||
|
||
Avail 通过以下方式确保数据可用性: | ||
|
||
1. **数据分片和冗余**:Avail 将数据分片并存储在多个节点上,通过纠删码等技术实现数据的冗余存储。这意味着即使部分节点出现故障或被恶意攻击,网络仍然可以恢复和验证数据。 | ||
|
||
2. **数据可用性采样**:通过数据可用性采样(Data Availability Sampling, DAS),网络节点可以对数据的可用性进行抽样验证,而无需下载和存储所有数据。这种方法提高了验证的效率,同时保证了数据的完整性和可用性。 | ||
|
||
3. **独立验证**:任何节点都可以独立验证数据的可用性,无需依赖其他节点的计算结果。这提高了网络的去中心化程度,并防止了潜在的中心化风险。 | ||
|
||
4. **与 Layer 2 的集成**:Avail 通过与 Layer 2 解决方案(如 Optimistic Rollup 和 ZK-Rollup)的集成,提供数据可用性支持,使得这些扩展方案能够在提高交易速度和降低成本的同时,确保数据的安全性和可用性。 | ||
|
||
|
||
|
||
### Avail 的挑战 | ||
|
||
1. **网络效应**:Avail 作为一个独立的数据可用性层,需要建立足够的网络效应,吸引更多的节点参与,以确保其安全性和去中心化程度。 | ||
|
||
2. **与现有区块链的集成**:虽然 Avail 设计上是模块化和兼容的,但在实际应用中,与现有区块链和 Layer 2 方案的无缝集成仍然需要克服一些技术挑战。 | ||
|
||
3. **市场接受度**:作为一个新兴的区块链基础设施,Avail 需要得到开发者和区块链项目的广泛接受,才能充分发挥其潜力。 | ||
|