区块链技术:巴比伦链(二):架构介绍

517 阅读2分钟

区块链技术:巴比伦链(二):架构介绍

在前文中,我们介绍了babylonchain的作用,接下来,我们看一下babylon的基础功能组件,如何使用这些基础构建保护PoS链。

architecture.png

epoching

epoching模块是巴比伦新增的cosmos app模块。它对巴比伦区块进行了epoch,并且在每个纪元内验证器集不会改变。它通过将验证者集更改事务的执行延迟到每个纪元的最后一个区块来实现这一点。这样,巴比伦只需要每个纪元一个区块到BTC的检查点,从而降低了检查点成本。

Checkpointing

巴比伦的cosmos app 模块。它收集每个要检查点的块上的巴比伦验证者的BLS签名,并将它们聚合到BLS多重签名中,并相应地准备一个检查点。然后,它根据 BTCCheckpoint模块提供的状态维护每个检查点和关联纪元的确认状态。

Vigilante Submitter

一个独立的程序,将巴比伦检查点作为BTC op_return交易提交给BTC。

Vigilante Reporter

一个独立的程序,扫描BTC分类账以查找巴比伦的BTC检查站,并将其作为巴比伦交易报告给巴比伦。它还将BTC标头报告为巴比伦交易。

BTCCheckpoint

巴比伦的cosmos app模块。它验证义警报告者上报的巴比伦BTC检查点,并根据链上BTC轻客户端,根据其深度向检查点模块提供这些检查点的确认状态.

BTCLightClient

巴比伦的cosmos app模块。该模块维护BTC标头链,并验证BTC块是否是规范BTC链的一部分,其深度以及比特币交易的包含证据是否有效。

Vigilante Master Monitor

一个独立的程序,用于监视:

  • 现实世界的BTC链和巴比伦的btclightclient模块维护的BTC头链之间的一致性
  • 是否所有巴比伦的BTC检查点都已按时包含在巴比伦的账本中,以便所有巴比伦节点都可以看到它们。

IBC relayer

一个标准的 Cosmos 程序,可实现链间通信。其默认客户端更新函数将 Cosmos 区域 (CZ) 的标头作为巴比伦事务发送到巴比伦,使其成为一种自然的检查点机制。

IBC light client

驻留在巴比伦的标准 Cosmos 应用模块。它验证 IBC 中继器共享的 CZ 标头,并使用已验证的 CZ 标头进一步验证 CZ 事务。

CZConcierge

适用于 Babyon 的新 Cosmos 应用模块。它从 IBC 轻客户端中提取经过验证的 CZ 标头,并根据携带它们的巴比伦交易的 BTC 确认状态维护其 BTC 确认状态。