2022年初,多链的未来成为加密行业的主导话题。

随着L1和L2区块链日臻成熟,市场份额持续增长,多链格局已势不可挡。在此背景下,市场对跨链解决方案的需求也愈加明显。但这方面也面临一些障碍:

• 易用性:智能合约通常依赖用户转账来促进跨链活动。跨链桥接过程经常需要多次手动点击,以执行批准和交易。

• 去中心化:跨链通信涉及多个中介步骤,每个都面临多个故障场景,这加大了无需信任和安全的技术的设计难度

• 流动性:大部分桥接方案都要依赖多个流动性池,并会在目标链上产出封装资产(wrapped asset)。这会导致流动性分散问题。

Swim解决了以上所有问题。下面,我们先同步一下Swim的最新功能,再深入介绍Propeller设计方案。

易用性/去中心化/集中流动性

Swim生态系统现状

通过利用Swim的稳定资产Hexapool,用户可在Solana、以太坊及BNB链(前BSC链)之间交易原生代币。

Swim引入了提供集中流动性的单一多链池Hexapool,取代了分布于不同链上的单独的流动性池。这有助于解决流动性分散问题,并能为用户提供目标链上的原生资产。

例如,支持4个不同区块链的跨链基础设施需要在这些链上部署12个不同的流动性池

Swim的多链池可提供单一、多链的集中流动性来源

我们的协议利用Wormhole进行跨链通信。Wormhole Guardians是Solana的Guardians的一个子集,它推动Wormhole在去中心化道路上走在了当前所有跨链桥方案的最前沿。我们的多链池部署在所支持的三个区块链中速度最快的一个上面:Solana。目前,我们依靠用户提示交易来维持一个无需信任的系统。Propeller设计将为此带来改变。

提供无需信任的桥接过程需要多次手动执行钱包的批准和交易。长期以来,我们一直屈从于这一现实,并因此牺牲了易用性。但现实正在发生改变。Propeller设计正是缺失的那一块拼图,它能在不影响Swim协议两大支柱(去中心化和流动性)的情况下改善易用性。

很高兴可以在此介绍和讨论Propeller设计。

Swim的Propeller设计

Propeller设计将实施一种无需信任的机制,一键即可实现资产跨链。这是Swim协议的一个重大里程碑。

为Propeller奠定基础

跨链资产交易中有3个术语很重要:

• 来源链:用户将代币移出该链。他们的初始资产被锁定在该链上。

• 引擎:负责监控网络并发布Solana VAA(由Swim合约与Guardian签名相结合发出的消息)。Propeller服务器位于链下。

• 目标链:用户在该链上接收资金。它在交易期间通过服务器接收信息。

跨链交易的整体逻辑非常简单:首先在来源链上启动交易,然后由引擎采取必要步骤,最后在目标链上完成交易。若干智能合约在幕后促成该流程。

但由于区块链遵循交易驱动的范式,如上文所述,如果不涉及用户手动交互,很难提示智能合约调用。为解决该问题,Serum的Crank和Sushi的Sushimaker等协议利用了部分链下服务来执行协议功能。这些服务通过调用公共智能合约来执行简单任务,使它们与智能合约一样安全且无需信任。

同样,Propeller引擎也采纳了部分链下服务来调用Swim智能合约。

Propeller设计详情

通过Propeller设计,Swim协议可省去用户确认交易的步骤,自动调用智能合约。智能合约编写在来源链上,由引擎调用,最终抵达目标链。Swim的Propeller是一个无需信任的机制,可在调用中灵活执行。

Propeller的引擎是这套设计背后的大脑。它类似于上文提到的Serum和Sushi协议。用户与一项智能合约交易进行交互后,剩余工作将由Swim完成。通过在Propeller智能合约上调用“next()”,服务器无需用户介入即可走完后续交易流程。

下面通过前后对比来说明Propeller设计对用户体验的影响。

当前交易过程(EVM到Solana)

(EVM)

1. 用户将资产锁定在Wormhole代币桥上,并指定Solana钱包地址

(Solana)

2. 用户发布VAA(由于Solana的限制,这一步需要执行3次交易)

3. 用户通过Wormhole代币桥领取资产

4. 用户调用Swim池子智能合约,接收目标代币

该流程需要用户手动执行6次交易。

Propeller设计交易流程(EVM到Solana)

(EVM)

1. 用户将资金转移至来源链Propeller智能合约(PSC-以太坊),并指定Solana钱包地址

a. PSC-以太坊对消息进行编码,并将资产锁定在Wormhole代币桥上

(Solana)

2. Propeller通过Wormhole Guardians获取VAA

3. Propeller在Solana上发布VAA

4-6. Propeller在PSC上调用“next()”,直到完成交易

a. PSC-solana从Wormhole代币桥领取资产

b. PSC-solana通过Swim池子智能合约执行交易

c. PSC-solana向用户的Solana钱包发送资金

*4-6 资金的一小部分被发送至Propeller引擎,用于gas费报销。PSC会针对每项用户交互,强制依序执行上述步骤。

Propeller的直接影响

Propeller设计显著提高了易用性,同时未牺牲Swim跨链交易协议的去中心化。以下5点即是明证:

• 用户不再需要手动确认交易。一次确认,即可干净利落地实现跨链资产交易。

• 用户无需使用代币在目标链上支付gas费。

• 非Solana转账(例如以太坊到BNB链)无需Solana钱包地址。

• 全过程可通过移动设备执行。

• 减少手动交互可降低人为错误风险。

移动友好/目标链无gas费/无人为错误/一键交易

对Propeller未来的思考

Swim相信区块链的未来将是互联互通的,我们正为这一目标而努力建设。Propeller设计最初将用于跨链交易,但它未来也有望成为跨链智能合约调用的原语。以下是几种可能的方向:

• 通过创建更通用的Propeller智能合约,Propeller或可无缝处理复杂的交互,例如将你在StepN上赢得的GST SPL转换为以太坊上的ETH,用于购买你心仪已久的NFT

• Propeller引擎的设计方式最终可促成完全的去中心化,人人都可运行Propeller服务,并获得费用奖励,类似于运行验证器

• 提供内建于钱包扩展和仪表板后端的多链桥。用户将能直接在钱包(MetaMask、Phantom等)内无缝交易跨链资产

Swim的目标是让web3用户不必再耗费精力去理解每个区块链的底层技术。我们认为用户应该能通过自己的现有资金使用任何区块链上的任何dapp,而不必担心跨链资产管理的繁琐任务。

该领域的中继器(Relayer)

Swim的Propeller是对Wormhole中继器的扩展:

https://github.com/certusone/wormhole/tree/dev.v2/relayer/spy_relayer

需要注意,Wormhole中继器与LayerZero的有本质差别:

https://layerzero.network/pdf/LayerZero_Whitepaper_Release.pdf