Babylon Docs 中文版
by DocsZH
  • 介绍 Babylon
    • Babylon 概述
    • 比特币时间戳
    • 比特币质押
    • Babylon 架构
  • 用户指南
    • 比特币质押主网-阶段 1
      • 后端部署
        • 后端部署概述
        • 基础设施设置
          • MongoDB设置
          • RabbitMQ设置
          • 比特币全节点设置
        • 后端服务设置
          • 质押索引器
          • 质押 API
          • 质押期限检查器
        • 全局系统配置
    • 比特币质押测试网-4
    • 比特币质押测试网-3 (Sunset)
      • 安装
      • 验证器部署概述
      • 区块链网络信息
      • 设置节点
      • 获取测试网代币
      • 成为验证者
      • 成为 Finality 提供商
        • EOTS 管理器
        • Finality 提供商
      • 使用 BTC Staker CLI 进行质押
      • 成为 Babylon 守护者
      • BTC 时间戳集成
  • 开发者指南
    • Babylon 开发模块
      • Epoching 模块
      • 检查点模块
      • BTC 检查点模块
      • BTC 轻客户端模块
      • Zone Concierge 模块
    • Babylon Vigilantes 模块
      • Vigilante 提交者程序
      • Vigilante 报告者程序
      • 检查点监控器程序
    • gRPC 网关 (REST API)
  • Babylon 白皮书
  • 团队支持
  • 常见问题
  • 相关链接
    • Babylon 官方链接
    • DocsZH 相关链接
  • CLI 代码参考
由 GitBook 提供支持
在本页
  • Babylon节点模块
  • Vigilantes
  • 监控器
  • 比特币质押程序
  • 消费者链 (CZ: Consumer Zones)
  1. 介绍 Babylon

Babylon 架构

上一页比特币质押下一页用户指南

最后更新于6个月前

Babylon系统由一个使用构建的Babylon节点,以及外围程序组成。这些外围程序可促进BTC质押、最终轮次参与,以及比特币网络与其他PoS区块链的跨链通信。

Babylon节点模块

比特币质押模块

最终确定性 (Finality)

激励模块

Vigilantes

Vigilante程序套件旨在Babylon和比特币网络之间充当数据中继器。Babylon的安全运行需要每个程序至少有一名诚实的操作者,否则监控程序将发出警报。

一个独立程序,通过OP_RETURN比特币网络脚本,将Babylon检查点数据嵌入比特币交易,提交到比特币网络。

一个独立程序,扫描比特币网络交易账本,以获取比特币网络区块头和Babylon检查点信息,并通过Babylon交易将其报告给Babylon。

监控器

监控器程序套件负责监控Babylon和比特币网络间的状态一致性。

一个独立程序,用于监控:

  • 比特币标准链与比特币轻客户端模块维护的比特币区块头链之间的一致性。

  • 是否及时地将比特币检查点信息打包进了Babylon交易账本中。

一个独立程序,用于监控:

  • 比特币网络账本上BTC质押按需解质押交易的执行情况,并向Babylon报告。

  • 当发生最终性提供者双重投票的恶意行为,执行BTC质押权益罚没交易。如果未执行,监控器将提取最终性提供者的密钥并执行罚没。

  • 对由最终性提供者发起的选择性罚没攻击的执行。在这种情况下,监控器将提取该最终性提供者的密钥并进行罚没。

比特币质押程序

比特币质押程序套件包含启用BTC质押者和最终性提供者功能的组件,同时确保他们遵循协议。

BTC质押者

BTC持有者可以通过创建一组交易质押其BTC资产,并将它们添加到比特币网络账本中,然后向Babylon反馈质押信息,确认质押成功。BTC持有者还可以在质押到期时按需解锁或提取BTC资产。Babylon开发了以下一组独立程序来实现这些功能:

  • Wallet Integrations (待定)

消费者链 (CZ: Consumer Zones)

以下IBC中继器可以实现此功能:

Babylon 合约

Babylon区块链被划分为若干个纪元 (),每个纪元由一组参数化数量设定的区块组成。在每个纪元内,验证者集不会改变。这样,Babylon只需在每个纪元而非每个区块设置一个检查点,从而降低了检查点设置成本。纪元模块通过将影响验证者集的交易执行,延迟到每个纪元的最后一个区块来实现这一目标。

比特币轻客户端模块接收由报告的比特币区块头 (header) 信息,并维护一条基于比特币PoW共识的比特币区块头链。其负责披露关于比特币标准链信息、区块头深度以及比特币交易打包凭证有效性等信息。

(checkpoint)

比特币检查点模块验证由报告的Babylon比特币检查点信息,并根据比特币轻客户端模块的区块深度向检查点模块提供这些检查点的确认状态。

检查点模块负责创建提交至比特币网络的Babylon检查点,并维护其确认状态。它负责收集每个区块验证者的,并将其聚合成一个BLS多重签名,以包含在比特币检查点中。每个检查点的确认状态由比特币检查点模块提供的比特币检查点所包含的信息决定。

Zone Concierge模块从连接的中提取经过验证的PoS链区块头信息,并根据包含这些区块头信息的基于Babylon交易的比特币确认状态,来维护其比特币确认状态。它通过向PoS链传递可验证的比特币确认状态证明。

比特币质押模块是比特币质押协议的记账员。它负责验证和激活BTC质押请求,并维护活跃的最终性 (finality) 提供者集。它与比特币轻客户端模块通信以提取质押请求的确认状态,并接收比特币质押的按需解锁质押的通知信息。

最终性模块负责最终确定由共识生成的区块。它接收并验证来自最终性提供者的最终性投票,如果有足够的投票权,该区块将被视为最终确定。每个最终性提供者的投票权基于从比特币质押模块获得的BTC质押权益。最终性投票采用可提取的一次性签名 (EOTS) 进行,并使用最终性提供者承诺的公共随机数进行验证。

激励模块从分配给Babylon质押者的奖励中提取一定比例,并将其分配给BTC质押者和监察者 ()作为奖励。

:连接比特币钱包和Babylon的守护进程程序。

:连接比特币钱包扩展和Babylon API的Web应用程序。仅用于测试目的。

一个独立程序,用于最终性提供者的注册和维护。负责监控最终性提供者的活跃状态,提交可提取一次性签名 (EOTS) 的公共随机数,并为区块提交最终性投票。最终性投票通过连接到独立的来创建,该守护进程负责维护最终性提供者的私钥安全。

由模拟器委员会成员使用的独立程序。用于监控待处理的质押请求,验证其信息并提交必要的签名来模拟Covenant功能。

IBC中继器维护Babylon和其他消费者链 (CZ: Consumer Zones) 之间的连接。负责更新Babylon账本内的消费者链轻客户端,以启用检查点功能,并将检查点信息广播至部署在消费者链的Babylon智能合约中。

:用Go语言编写的功能齐全的中继器。

:Cosmos Relayer的封装器,用于维护单向IBC连接。建议在消费者链尚未部署Babylon智能合约时使用。

:用Rust语言编写的功能齐全的中继器。

关于Cosmos Hub提出的消费者链 (CZ: Consumer Zones) 参考阅读:

一种基于的智能合约,部署在消费者链中。它支持比特币检查点功能,且无需对消费者链的代码进行大规模修改。得益于比特币检查点功能,消费者链可以根据比特币账本中打包的检查点做出决策 (例如执行BTC的解质押请求)。

Epoching
epoch
比特币轻客户端
Vigilante Reporter
比特币检查点
Vigilante Reporter
检查点模块
BLS签名
Zone Concierge模块
IBC轻客户端
IBC连接
期限检查器
CometBFT
Vigilante
Vigilante提交者
Vigilante报告者
检查点监控器
比特币质押监控器
BTC Staker Daemon
BTC Staker Dashboard
最终性 (Finality) 提供者
EOTS管理器守护进程
Covenant模拟器
Covenant
IBC协议
Cosmos Relayer
Babylon Relayer
Hermes Relayer
解析Cosmos Hub的多元安全模型
CosmWasm
Cosmos SDK