un.Block

Posted on Oct 09, 2021Read on Mirror.xyz

O3 Swap

我们第一期讲的就是跨链协议,这一期我们为大家介绍一个好用的跨链应用 O3 Swap

O3 产品架构

O3 Swap 包含钱包,流动性聚合器,跨链。这张图清楚的展示了 O3 Swap 的产品架构。最底层是 O3 Swap 已经支持和即将支持的网路。倒数第二层是流动性。第二层结算层包含聚合器和跨链流动性池子。也就是说除了跨链交易的流动性是 O3 Swap 自己的,其他交易所使用的流动性来自其他 DEX。最顶层应用层有 O3 的钱包,交易和支付服务。

跨链交易

我们将聚焦O3 Swap 的跨链部分。

目前 O3 Swap 的跨链池提供以太坊,币安和火币;支持 USDT,ETH,BTC,USDC。一天总交易量在 800 万美金左右,总流动性大约 7 亿美金左右。

其中流动性最高的是 USDC 池子,约为 2亿美金;APR 最高的是 USDT 池子 27.42%。

我们使用 O3 Swap 进行跨链交易时感觉速度较快且交易手续费较低。具体视频教程可以参考*这个*。

⚙️ 跨链原理

O3 Swap 的代币和聚合器部分均已开源,并且经过了安全审计,但是跨链部分并没有详细的介绍。只有这样言语不清的几个架构图。

可以看到魔法就发生在跨链池中。比如说对于 USDT 的跨链池,用户在任意一条链上提供 USDT 流动性,就可以收获 LP。因此 O3 Swap 的跨链交易可能就是在不同的链上都有流动性池子,因此用户可以将代币从一条链里发给 O3 Swap,并从另一条链上得到新的代币。

在白皮书中,O3 Swap 提到使用了 PolyNetwork 这一个跨链技术。PolyNetwork 支持 Atomic Swap。在它的白皮书中,它介绍了 DEX 这个应用场景。PolyNetwork 采用两阶段协议(Two-phase Protocol)的方式来实现 Atomic Swap。在此场景中一共有三个角色,唯一的 Poly 链,两个参与者或者说参与链(Participant Chain),以及一个 Relayer 用来在不同的链之间传递信息。每个参与者链上可能有多个 Relayer。

具体的执行过程分为两个阶段。第一阶段确保交易可以在参与者链上被执行,第二个阶段确保交易的一致性即所有参与者的交易执行状态一致。

第一阶段是准备阶段。 Poly Chain 让参与者准备好提交交易,并从参与者那儿获取最新的信息和状态。

第二阶段是具体的执行阶段。如果第一阶段失败,那么 Poly Chain 会通知参与者回滚。如果有参与者交易执行失败,Poly Chain 也会通知所有参与者回滚。

相关阅读