一分钟读懂Gravity Bridge协议

1 基本概况

Gravity Bridge 是以太坊和 Cosmos 生态之间的跨链桥,允许人们通过在以太坊端锁定代币并在 Cosmos 端铸造等价代币,将代币从以太坊转移到 Cosmos 中,并可以再次返回。

2 项目详情

2.1 团队

Gravity Bridge 背后的主要开发团队是 Althea Networks。

Deborah Simpier - Co-Founder。

Justin Kilpatrick - Co-Founder。

William Moglia - 社区经理。

2.2 资金与合作

Altgea 团队目前还未进行过融资。

2.3 社区

  • Twitter: 16202个粉丝。

  • Discord: 2477个成员。

3 协议实现

在 Cosmos 生态中,链间的互操作性很容易,因为可以使用 IBC 协议来传输任何加密资产。然而,在 Cosmos 和以太坊之间传输加密资产在技术上非常复杂,因为 EVM 的设计并不与 IBC 协议兼容,IBC 数据包无法在以太坊中有效地解码。

Gravity 架构图
Gravity 架构图

3.1 Peggy模块

  • Peggy 具体包含5个部分。如下:

    1)以太坊智能合约:充当资产托管人,能够托管以太坊原生代币并发行 Cosmos 原生代币;

    2)Witness:负责证明以太坊中的事件,Witness 组件运行一个完全验证的以太坊节点,待交易打包完成并过去 100 个块后,达到了确定性阈值,则向 Peg zone 提交数据来证明以太坊内的状态变化。

    3)Peg zone:一个独立的区块链网络,建立在 Tendermint 共识之上,允许用户执行和查询交易,是 Cosmos 与以太坊通信的转接点。

    4)签名者:签名者使用以太坊所能解析的 secp256k1 签名方案对消息数据进行签名,并将其发布到 Peg zone 中,以便可以传递到智能合约中进行验证。

    5)中继器:中继器组件会将签名者签名的交易列表(数组)发布到以太坊智能合约上。运行逻辑:例如,用户想将一些代币从 Cosmos 中移出,并将它们转换为以太坊上等值的代币,交易会先发送到 Peg zone 中,将IBC 协议数据转为为 secp256k1 格式,以便以太坊可以对此解析,以此实现跨链桥互操作。

  • Peggy的运行过程如下: 从 Cosmos Hub 开始,通过 IBC 将代币交易数据移动到 Peg zone,Peg zone 接收传入的 IBC 数据包:包含用于发送代币交易数据,让签名者将 IBC 数据包转换为 secp256k1 格式,以便以太坊可以对此解析。 之后中继者会等待,直到他们看到 2/3 的签名者已经签署了该笔交易,然后将该交易列表发送到以太坊智能合约所在的 EVM 执行环境中。以太坊智能合约现在检查交易列表是否有效,若符合要求,智能合约会生成用户代币的 ERC20 版本,并发送到用户指定的以太坊地址中。

3.2 Gravity 实现方案

Gravity Bridge 以 Peggy 技术框架为基础,部署了 4 个主要部分:1)以太坊智能合约 Gravity.sol;2)Gravity 模块(Peg zone);3)编排器(The orchestrator);4)中继者。

  • Gravity Bridge 部署在以太坊上智能合约为 Gravity.sol,合约采用多签管理。主要功能是将 ERC20 代币锁定在以太坊上,以便在Cosmos 上进行铸造。锁定在 Gravity.sol 中的代币返回 Cosmos 上的代币。 Gravity.sol 智能合约由 Cosmos 的验证者负责运行,用户将 Cosmos 上的代币通过 IBC 协议发送到 Gravity 模块(Peg zone),并指定以太坊上的哪个地址应该接收它们,Gravity 模块会创建相应类型的代币数据,由签名者对其进行签名,并通过中继者将其发送到 Gravity.sol 智能合约中,由 Gravity.sol 将相应的代币转移到目标地址中。

  • 带有 Gravity 模块的 Cosmos 链上的每个验证者都必须运行一个以太坊全节点,同时运行一个编排器(The orchestrator),以此来监控以太坊上的事件状态。编排器中的一个参数叫做 EthBlockDelay,用于让验证者确信给定交易事件在以太坊链上是具备完全最终性,并确保每个验证者对链有相同的看法。 当编排器从Gravity.sol合约中看到事件时,它会将事件放入Cosmos 消息中,对其进行签名,然后将其广播到Cosmos链,Gravity 模块接收这些消息并跟踪哪些验证者为该事件进行了验证。当一个事件超过 2/3 以上签名,Gravity 模块会进行相应状态改变,例如,当收到 SendToCosmosEvent 时,Gravity 模块会为目标地址铸造代币。

  • 考虑到以太坊的交易费用高昂,Gravity模块会对交易进行批量处理。当用户想要将代币从Cosmos发送到以太坊上的地址时,他们会将代币发送到 Gravity 模块。Gravity 模块从他们的账户中扣除代币,然后将一笔交易放入交易池中,交易池存储所有尚未成批的Cosmos到以太坊的交易。

  • 中继器负责监控交易池中的交易批次,并可以计算给定批次是否有利可图,如果批次中包含的费用高于将其提交给以太坊的 Gas 成本,则这是一个有利可图的批次。该计算会考虑以太坊链上当前的平均 Gas 价格、链上的拥塞以及该代币与以太坊 Gas 之间的汇率等参数。 批次交易处理有个额外优势:抗审查性,Gravity Bridge 协议通过定义每个批次的交易,然后要求每个验证者进行验证和签名,并转播,确保每一个存取款事件都需要被超过 2/3 的验证者签名才能得以执行。

参考资料

Gravity Bridge 投研报告

Everything You Need to Know About the Gravity Bridge Chain