Odaily星球日报■以太坊上的通用经济抽象( 二 )
第 0 步:客户端钱包想要发送一笔由一组操作 [1…n] 组合而成的交易 。
第 1 步:客户端钱包通知 Gas 中继器它想要发送哪笔交易 , 以及想要用何种资产支付交易手续费 。
第 2 步:中继器回复一个签过名的报价消息 , 即为中继用户请求的交易指定一个价格 , 该价格以用户指定(用于支付手续费)的资产计算 。
第 3 步:客户端钱包增加一笔额外的操作 , 即转移指定价值的资产给中继器 。
第 4 步:这笔最终由操作 [1…n+1] 组合而成的交易连同签过名的报价消息被发回给中继器 。
第 5 步:中继器验证交易和报价消息 , 然后将该交易发送至区块链上 。
有了这一功能 , 客户端钱包可以要求许多 Gas 中继器分别提供报价 , 最终选择报价最低的中继器发送交易 。
实现代币抽象一旦有了多操作交易的加持 , 实现代币抽象也就轻而易举了 , 关键的难点在于交易分析 。 客户端钱包需要能够分析潜在的交易 , 以便知道在执行交易中的操作时会花费(或收到)哪些资产 , 花费多少(或收到多少) 。
我们在 Astro 中建构了一个改良版的以太坊节点 , 从而可以运行上述的分析 , 但由于这在很大程度上是一个工程挑战而非算法挑战 , 因此我们将它留给读者朋友们做练习 。
一旦我们可以确定这组操作中所需要及会产生的资产 , 钱包就可以轻松地连接至各个 DEX 来为用户完成这组资产的兑换 。 诸如 0x API 这样的聚合器非常适合聚合这些用户所需的兑换 , 或者钱包也可以选择使用诸如 Uniswap 这类更简单但滑点效率更低的解决方案 。 有了这组互换交易 , 钱包可以在用户的操作前后分别附加所需和所得资产的兑换操作来完成最终的交易 。
合体吧!现在我们已经同时实现了手续费和代币抽象 , 而二者合体就能实现经济抽象了!
我们还可以加入其它一些灵活的功能 , 比如即时授权 , 这样就无需再发送单独的交易来授权诸如 0x 和 Uniswap 之类的合约动用我们的资产了 。 此举也提升了用户的安全性 , 因为我们只需授权这笔交易动用所需数量(而非全部)的资产 。
本文插图
我们可以通过这一流程图清楚地说明引言中那个相当复杂的示例 , 抽象地展示这一笔交易最终包含的操作列表 。 如我们所见 , 用户可以支付 0x 协议的手续费(ETH)、0x 中继器的手续费(ZRX)、加密猫卖家的出价(DAI)以及 Gas 中继器传送交易的费用 , 而这一切单靠钱包里的 USDC 就足以完成 。 【Odaily星球日报■以太坊上的通用经济抽象】感谢 Clinton Bembry、Linda Xie、Aparna Krishnan、以及 Clay Robbins 对本文的审阅 。
推荐阅读
- 淄博政务督查:“一网通”考核平台获《法制日报》点赞,快看!淄博市法治政府建设督察
- 【北京日报客户端】4000多家中小银行主要经营指标处在合理区间
- 【人民日报】我爱你中国,多地中国留学生晒健康包:感谢祖国
- 『北京日报客户端』疫情影响是否会超过2008年金融危机?央行:目前还没有
- 『人民日报客户端』35+55!持续关注!
- 人民日报客户端▲非洲49国确诊新冠肺炎超6000例
- 经济日报:华为完成中国优惠贷款合作项目——“智慧塞内加尔”助力塞政府举行首次远程内阁会议
- 人民日报海外版▲这个中国留学生“火了”,自制疫情图引英国网友关注
- 『北京日报』医院政府机构优先,亚马逊停止向公众出售N95口罩
- 「广西日报」三年后变成怎样?,时光的列车!正式启动“新战略”的恒大
