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