Урок 3

Monad 的技术架构解析

本模块详细介绍 Monad 的技术设计,重点说明其如何实现高效的吞吐量与极低的交易延迟。内容涵盖并行执行引擎、异步处理模型、MonadBFT 共识机制以及定制的 MonadDB 存储系统,这些技术共同支持复杂且可扩展的链上应用。

乐观并行执行

Monad 的核心创新之一是乐观并行执行,这种技术颠覆了传统区块链按顺序处理交易的方式。像以太坊这样的区块链通常逐笔处理交易,虽然能够确保数据一致性,但却限制了网络的吞吐量和整体性能。

Monad 的虚拟机采用了全新的并行处理方式,假设区块中的大多数交易是独立的,彼此之间不会影响区块链状态的同一部分。基于这一假设,交易被分批安排在多个线程上同时运行。这种设计充分利用了现代多核处理器的性能,在网络负载较高时也能显著提升交易处理速度。

当然,并行处理可能会带来数据冲突问题,例如两笔交易尝试修改同一个账户或智能合约。对此,Monad 引入了冲突检测与解决机制。在交易并行处理后,系统会检查是否存在冲突。如果发现问题,只有相关交易会被重新执行或重新排序,以确保数据的准确性和状态的一致性。

这种设计类似于现代数据库中的乐观并发控制技术,大多数情况下假设操作无冲突并同时处理,仅在特殊情况下才进行纠正。这种方式让 Monad 的执行层既能适应高交易量场景,又能保持高效运行,非常适合去中心化金融(DeFi)、链上游戏和 NFT 市场等需要高频交互的应用场景。

乐观并行执行对 DeFi、游戏和 NFT 等领域尤为有利。在这些场景中,用户通常同时进行大量操作,但彼此之间的数据交互较少。Monad 可以高效并行处理这些交易,减少网络拥堵,同时提升应用的响应速度,无需依赖链外扩展方案。

此外,Monad 的设计对开发者非常友好。它完全兼容以太坊虚拟机(EVM),开发者可以直接使用 Solidity 编写智能合约,无需为适配并行处理而修改代码。系统会自动在后台处理并行执行逻辑,既简化了开发流程,又显著提升了网络性能。

异步执行

Monad 的异步执行技术是其并行执行模型的强力补充,它将交易执行与区块链的共识过程分离开来。在传统区块链中,共识和交易执行是捆绑在一起的,验证者必须先完成所有交易的运行,才能最终确认一个区块。这种设计不仅增加了延迟,还限制了区块生成的速度。

Monad 的设计则完全解耦了这两部分。它通过共识机制优先确定交易的顺序,然后再进行交易的执行。这样,共识层可以独立运行,而交易的执行则在后台并行完成。这种方式让验证者的效率提升,同时缩短了区块生成的时间,因为验证者不需要等待每笔交易的计算结果。

为了确保网络的一致性,Monad 让所有节点以完全相同的顺序执行交易,即使执行的时间不同,也能保证区块链状态的一致性。这种机制避免了区块链状态分裂问题,同时确保了安全性。

这种异步执行方式与乐观并行处理相辅相成。在共识快速推进并完成区块确认的同时,交易的执行在多个线程中同时进行,只有在出现冲突时才进行处理。这种设计最大限度地提升了系统的并发能力和资源利用效率,同时也确保了交易的准确性。

对于用户和开发者来说,这种架构意味着交易确认速度更快、应用响应更迅速,同时网络的扩展能力也更强。验证者由于减少了处理瓶颈,也能更高效地参与网络,进一步增强了去中心化的特性。

MonadBFT 共识机制

Monad 的共识机制使用了 MonadBFT,这是一种基于 HotStuff 拜占庭容错协议的定制版本,专为性能和安全性优化而设计。它支持低延迟的交易最终确认和高吞吐量,同时对去中心化的验证者保持友好。

传统的 HotStuff 协议通过减少区块确认所需的通信轮数来提升效率,而 MonadBFT 在此基础上进一步优化,实现了单轮共识确认区块的功能。每个区块只需一次共识轮便可完成确认,无需等待多次确认。这种设计让交易能够被即时确认,提高了应用的稳定性,同时降低了链重组的风险。

MonadBFT 的工作模式是基于领导者的。在每一轮共识中,一个验证者负责提议区块,其他验证者对其进行验证并投票。如果验证者总权益的三分之二同意该区块,该区块便被确认。这种简化流程不仅减少了系统的运行开销,还加快了区块的生成速度,特别是在网络运行正常的情况下。

为了保证网络持续运行,MonadBFT 设计了领导者轮换和超时机制。如果当前领导者未能提议区块,系统会自动切换到下一位验证者。这种机制确保即使部分验证者离线或无法响应,网络仍能正常运行。

在安全性方面,MonadBFT 遵循拜占庭容错的标准,允许最多三分之一的验证者行为恶意而不会影响网络的安全性。一旦区块被确认,它会被加密保护,无法被篡改,除非恶意行为者控制了大多数验证者的权益。

MonadBFT 与异步执行模型紧密结合。由于区块在执行交易之前已经被确认,系统可以在不延迟区块生成的情况下独立处理交易执行。这种设计降低了验证者的工作压力,同时保持了高性能运行,不需要依赖中心化排序服务或可信中介。

MonadDB

MonadDB 是 Monad 区块链的核心存储系统,专门用于管理链上数据,包括账户余额、合约存储和其他重要状态信息。它的设计目标是快速、高效,并与 Monad 的并行执行引擎完美兼容。

MonadDB 采用了一种版本化的键值存储系统,能够同时保存多个状态快照。这种设计特别适合 Monad 的并行执行模式,因为多个交易在同时处理时可能会发生冲突,需要回滚或调整。通过存储不同版本的状态,MonadDB 可以帮助系统快速隔离并解决数据冲突问题。

为了保证区块链的安全性和验证效率,MonadDB 使用了 Merkle Patricia Trie 数据结构。这种结构不仅能够快速验证状态变化,还可以生成新的根哈希,供所有节点验证。它支持轻客户端、无信任同步和基于证明的状态验证,为区块链的安全性和扩展性提供了坚实基础。

为了应对高交易量需求,MonadDB 优化了数据读取和写入速度,结合缓存、高速磁盘存储以及并发访问控制,确保数据的快速存取。这些优化让 Monad 的执行层能够高效运行,无需担心数据访问带来的延迟。

对开发者来说,MonadDB 的复杂性完全被抽象化。开发者只需使用 Solidity 编写智能合约,与区块链交互,无需关注底层的状态存储机制。即使在复杂合约或高负载情况下,MonadDB 也能确保数据的准确性和稳定性。

Отказ от ответственности
* Криптоинвестирование сопряжено со значительными рисками. Будьте осторожны. Курс не является инвестиционным советом.
* Курс создан автором, который присоединился к Gate Learn. Мнение автора может не совпадать с мнением Gate Learn.
Каталог
Урок 3

Monad 的技术架构解析

本模块详细介绍 Monad 的技术设计,重点说明其如何实现高效的吞吐量与极低的交易延迟。内容涵盖并行执行引擎、异步处理模型、MonadBFT 共识机制以及定制的 MonadDB 存储系统,这些技术共同支持复杂且可扩展的链上应用。

乐观并行执行

Monad 的核心创新之一是乐观并行执行,这种技术颠覆了传统区块链按顺序处理交易的方式。像以太坊这样的区块链通常逐笔处理交易,虽然能够确保数据一致性,但却限制了网络的吞吐量和整体性能。

Monad 的虚拟机采用了全新的并行处理方式,假设区块中的大多数交易是独立的,彼此之间不会影响区块链状态的同一部分。基于这一假设,交易被分批安排在多个线程上同时运行。这种设计充分利用了现代多核处理器的性能,在网络负载较高时也能显著提升交易处理速度。

当然,并行处理可能会带来数据冲突问题,例如两笔交易尝试修改同一个账户或智能合约。对此,Monad 引入了冲突检测与解决机制。在交易并行处理后,系统会检查是否存在冲突。如果发现问题,只有相关交易会被重新执行或重新排序,以确保数据的准确性和状态的一致性。

这种设计类似于现代数据库中的乐观并发控制技术,大多数情况下假设操作无冲突并同时处理,仅在特殊情况下才进行纠正。这种方式让 Monad 的执行层既能适应高交易量场景,又能保持高效运行,非常适合去中心化金融(DeFi)、链上游戏和 NFT 市场等需要高频交互的应用场景。

乐观并行执行对 DeFi、游戏和 NFT 等领域尤为有利。在这些场景中,用户通常同时进行大量操作,但彼此之间的数据交互较少。Monad 可以高效并行处理这些交易,减少网络拥堵,同时提升应用的响应速度,无需依赖链外扩展方案。

此外,Monad 的设计对开发者非常友好。它完全兼容以太坊虚拟机(EVM),开发者可以直接使用 Solidity 编写智能合约,无需为适配并行处理而修改代码。系统会自动在后台处理并行执行逻辑,既简化了开发流程,又显著提升了网络性能。

异步执行

Monad 的异步执行技术是其并行执行模型的强力补充,它将交易执行与区块链的共识过程分离开来。在传统区块链中,共识和交易执行是捆绑在一起的,验证者必须先完成所有交易的运行,才能最终确认一个区块。这种设计不仅增加了延迟,还限制了区块生成的速度。

Monad 的设计则完全解耦了这两部分。它通过共识机制优先确定交易的顺序,然后再进行交易的执行。这样,共识层可以独立运行,而交易的执行则在后台并行完成。这种方式让验证者的效率提升,同时缩短了区块生成的时间,因为验证者不需要等待每笔交易的计算结果。

为了确保网络的一致性,Monad 让所有节点以完全相同的顺序执行交易,即使执行的时间不同,也能保证区块链状态的一致性。这种机制避免了区块链状态分裂问题,同时确保了安全性。

这种异步执行方式与乐观并行处理相辅相成。在共识快速推进并完成区块确认的同时,交易的执行在多个线程中同时进行,只有在出现冲突时才进行处理。这种设计最大限度地提升了系统的并发能力和资源利用效率,同时也确保了交易的准确性。

对于用户和开发者来说,这种架构意味着交易确认速度更快、应用响应更迅速,同时网络的扩展能力也更强。验证者由于减少了处理瓶颈,也能更高效地参与网络,进一步增强了去中心化的特性。

MonadBFT 共识机制

Monad 的共识机制使用了 MonadBFT,这是一种基于 HotStuff 拜占庭容错协议的定制版本,专为性能和安全性优化而设计。它支持低延迟的交易最终确认和高吞吐量,同时对去中心化的验证者保持友好。

传统的 HotStuff 协议通过减少区块确认所需的通信轮数来提升效率,而 MonadBFT 在此基础上进一步优化,实现了单轮共识确认区块的功能。每个区块只需一次共识轮便可完成确认,无需等待多次确认。这种设计让交易能够被即时确认,提高了应用的稳定性,同时降低了链重组的风险。

MonadBFT 的工作模式是基于领导者的。在每一轮共识中,一个验证者负责提议区块,其他验证者对其进行验证并投票。如果验证者总权益的三分之二同意该区块,该区块便被确认。这种简化流程不仅减少了系统的运行开销,还加快了区块的生成速度,特别是在网络运行正常的情况下。

为了保证网络持续运行,MonadBFT 设计了领导者轮换和超时机制。如果当前领导者未能提议区块,系统会自动切换到下一位验证者。这种机制确保即使部分验证者离线或无法响应,网络仍能正常运行。

在安全性方面,MonadBFT 遵循拜占庭容错的标准,允许最多三分之一的验证者行为恶意而不会影响网络的安全性。一旦区块被确认,它会被加密保护,无法被篡改,除非恶意行为者控制了大多数验证者的权益。

MonadBFT 与异步执行模型紧密结合。由于区块在执行交易之前已经被确认,系统可以在不延迟区块生成的情况下独立处理交易执行。这种设计降低了验证者的工作压力,同时保持了高性能运行,不需要依赖中心化排序服务或可信中介。

MonadDB

MonadDB 是 Monad 区块链的核心存储系统,专门用于管理链上数据,包括账户余额、合约存储和其他重要状态信息。它的设计目标是快速、高效,并与 Monad 的并行执行引擎完美兼容。

MonadDB 采用了一种版本化的键值存储系统,能够同时保存多个状态快照。这种设计特别适合 Monad 的并行执行模式,因为多个交易在同时处理时可能会发生冲突,需要回滚或调整。通过存储不同版本的状态,MonadDB 可以帮助系统快速隔离并解决数据冲突问题。

为了保证区块链的安全性和验证效率,MonadDB 使用了 Merkle Patricia Trie 数据结构。这种结构不仅能够快速验证状态变化,还可以生成新的根哈希,供所有节点验证。它支持轻客户端、无信任同步和基于证明的状态验证,为区块链的安全性和扩展性提供了坚实基础。

为了应对高交易量需求,MonadDB 优化了数据读取和写入速度,结合缓存、高速磁盘存储以及并发访问控制,确保数据的快速存取。这些优化让 Monad 的执行层能够高效运行,无需担心数据访问带来的延迟。

对开发者来说,MonadDB 的复杂性完全被抽象化。开发者只需使用 Solidity 编写智能合约,与区块链交互,无需关注底层的状态存储机制。即使在复杂合约或高负载情况下,MonadDB 也能确保数据的准确性和稳定性。

Отказ от ответственности
* Криптоинвестирование сопряжено со значительными рисками. Будьте осторожны. Курс не является инвестиционным советом.
* Курс создан автором, который присоединился к Gate Learn. Мнение автора может не совпадать с мнением Gate Learn.