一分钟读懂Gravity Bridge协议
May 31st, 2022

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 的验证者签名才能得以执行。

参考资料

Subscribe to luxebeng
Receive the latest updates directly to your inbox.
Verification
This entry has been permanently stored onchain and signed by its creator.
More from luxebeng

Skeleton

Skeleton

Skeleton