原文来源:KiloEx
从 Defi summer 算起,链上金融已经发展了四年之久,然而时至今日,中心化交易所仍然占有大部分的流动性和更多的 web3 用户。究其原因,CEX 具有一些显而易见的优势:操作更为简单,交易处理十分迅速等。相比之下,DEX 则由于其晦涩的概念,复杂的操作以及繁多的步骤,将多数 web3 用户拒之门外。
进一步说,DEX 对于新入圈的用户来说更是灾难性的。比如,几乎所有的 web3 新用户都有这样一个疑问,什么是 gas?我应该购买哪种代币作为 gas?gas 具体需要准备多少?事实上,这些只是使用 DEX 需要搞懂的第一步,却已经足以让大部分用户望而生畏,心生退意。
此外,使用 DEX 首先要求用户学会使用钱包,并了解如何进行签名交易。对于部分动作而言,用户甚至需要进行多次签名以完成操作。交易的执行时间也会因各种原因变得十分缓慢。显然,这些都是我们不愿意看到的。
作为由 YziLabs(前 BinanceLabs)投资的永续合约 DEX,KiloEx 正在全力探索如何实现 gasless 交易,帮助用户轻松在平台上完成交易。
当前,主流的 gasless 实现方式主要有如下两种:
1.EOA Based Paymaster
该方案由 BNB Chain 团队在 EIP-4337(通过 Entry Point 合约规范实现的账户抽象)协议的基础上进行改进后提出。
EIP-4337 允许第三方支付用户的交易费用,让用户无需持有 ETH 也能完成交易。然而,EIP-4337 虽然引入了适用于智能合约钱包的 Paymaster 机制,但 EVM 生态中仍有大量用户依赖 EOA 账户(外部拥有账户)。因此,BNB Chain 提出了一种 专为 EOA 设计的创新型 Paymaster 解决方案,无需将 EOA 迁移至智能合约钱包,即可享受交易代付和更好的用户体验。该方案的目标是让 Gas 费代付更加普及,使 BNB Chain 用户的区块链交互更加便捷且低成本。
这种方案中,交易的处理方式发生了重大变化,验证者不再逐个验证区块内的交易 Gas 价格,而是由彼此分离的两个角色,Builder 和 Proposer 前后配合完成。其中,builder 负责打包区块,包括从公共交易池和私有交易流中挑选交易并进行组合。Proposer 验证区块,他们从多个 Builder 提出的区块中选择最有利可图的区块进行上链。
该方案的具体流程是,首先,用户使用兼容的钱包发起交易,并将 Gas 价格设为 0,以便该交易有可能获得赞助。随后,钱包将这笔 0 Gas 交易提交给 Paymaster(代付机制,一个基础设施组件,支持交易代付进行处理)。
接下来,Paymaster 会根据预设的赞助规则验证交易是否符合条件,规则可能涉及发送方或接收方地址、代币类型或交易额度等。如果交易符合赞助条件,Paymaster 将创建一笔赞助交易,并为其设置 Gas 价格。然后,原始交易和赞助交易会被打包为一个交易包(Bundle)。如果交易不符合赞助要求,则会被拒绝或返回给用户进行普通交易处理。
完成打包后,该交易包将被提交给多个 MEV Builder 进行处理。MEV Builder 会选择合适的交易包,并将其纳入区块提案。随后,Proposer(区块验证者)会从多个区块提案中选取最具盈利性的区块进行上链。最终,用户的原始交易和赞助方的交易将被原子执行,确保完整性。
交易完成后,Paymaster 管理器会更新赞助方的账户,并扣除相应的 Gas 费用。整个流程依托 BEP322 的 Proposer-Builder 分离(PBS)架构,确保 Gas 赞助的高效性和安全性,为用户提供更流畅的区块链交互体验。
但这种方式受制于钱包项目是否已经集成该组件,截至目前,MetaMask 等主流钱包依然无法支持,因此 KiloEx 放弃了这种方案。
2.ERC-2771 (Meta Transaction)
首先解释什么是元交易(Meta-Transaction)。在元交易机制中,用户无需持有 gas 代币即可完成交易,依靠 Gas Relay 代理支付 Gas 费用,实现无缝链上交互。整个流程由 交易签名者(Transaction Signer)、Gas Relay、受信任的转发者(Trusted Forwarder)、接收者合约(Recipient)共同协作完成。
首先,交易签名者(Transaction Signer)负责对交易进行本地签名,签名可通过主钱包完成。需要注意的是,Transaction Signer 不会直接上链,它仅在本地进行加密操作,并通过接口将加密后的签名数据提交到后台,而非直接广播至区块链。
随后,Gas Relay(后台服务)接收交易签名数据,并负责将交易提交至区块链。Gas Relay 通过 受信任的转发者(Trusted Forwarder)进行交互,确保交易可以合法执行。Trusted Forwarder 合约在上链前会对签名的合法性进行验证,并防止重放攻击(Replay Attack)。验证通过后,它会与接收者合约(Recipient)交互,最终完成交易执行。
1CT 钱包通过消除用户在交易时与钱包的交互需求,实现更加高效的一键交易(1CT),大幅缩短交易所需时间。它采用派生的外部账户(EOA)钱包来提交交易,并结合交易授权(Trade Delegation)机制,确保交易的安全性和便捷性。
用户在首次使用 1CT 钱包时,需要设置一个 4 位数的 PIN 码,并使用自己的钱包对该 PIN 进行前缀消息签名。网站随后利用该签名消息作为种子,生成一个 Secp256k1 密钥对,并将加密后的密钥材料存储在用户的本地设备上。由于交易授权机制的引入,用户无需在每次交易时手动签名,而是由 1CT 钱包自动执行交易提交,从而极大提升交易效率。
KiloEx 对比多种方案,并结合实际情况考虑,最终采用 Meta-Transaction 方案以实现 gasless 交易。在此基础上,KiloEx 同时结合 1CT wallet,为用户带来无比顺滑流畅的交易体验。
对于 KiloEx 用户来说,体验极速交易模式时,只需要在首次交易前进行签名以创建 1ct 钱包,进行额度授权并确定绑定关系。之后的每次交易则无需再次唤醒主钱包进行签名。且相比以前的传统路径,极速交易模式的交易处理速度更快。最重要的一点是,用户甚至不需要在钱包中持有 gas 代币,而只需要持有 usdt/usdc 稳定币即可完成合约开单。
本文来自投稿,不代表 BlockBeats 观点。
欢迎加入律动 BlockBeats 官方社群:
Telegram 订阅群:https://t.me/theblockbeats
Telegram 交流群:https://t.me/BlockBeats_App
Twitter 官方账号:https://twitter.com/BlockBeatsAsia