塔岸网

Meta Transactions如何改变DApp付费生态

热度:17℃ 发布时间:2023-11-04 11:43:49

最近Meta Transactions一词开始在中文区块链圈流行,但其实这并不是新名词,早在2018年中就由Alex Van de Sande提出的EIP-1077带起讨论,而Austin Thomas Griffith也紧接着提出他的解决方案bouncer-proxy,成了目前许多实作的参考。

那什么是Meta Transactions 呢?

让使用者免费使用DApp

其实这是个杀人标题,使用者当然还是可以付费使用DApp,但不可否认目前多数DApp 需要使用者支付Gas 才能使用,已是公认DApp 无法普及的主要原因之一。

使用者付费,听起来很合理,但使用者早已经习惯App Store / Google Play 上众多免费的App,我该怎么跟我爸妈解释他们要Line 之前得先买以太币?(于是得办交易所帐号、通过KYC,甚至要装个钱包App、写下注记词…)

教育市场接受Gas是很困难的

开发应用必然要评估市场的接受度,支付Gas 对使用者来说违反直觉,也缺乏动机去了解Gas 的原理,归纳出几个问题:

大多数初心者手中并没有Eth​​er,要想办法购买Ether 就得先申请交易所帐号,并且通过KYC、AML 等繁琐验证需要拥有区块链、钱包等相关知识,不管是使用MetaMask、冷钱包或是将Ether 保管在交易所,都仍然要具备发送交易、私钥保管等基本观念,甚至需要了解如何计算Gas Limit 跟Gas Price

这成为使用者进入DApp 世界的巨大障碍,许多App 开发者因此不采用以太坊作为基础架构,与其要解决这些问题本身还不如从UX 体验上作改善。

事实上

开发者很愿意为获取用户而支付伺服器成本

大家不都是在AWS 或GCP 上架设服务,一开始免费使用再让使用者付费升级吗?

Meta Transactions 就是解法,透过中继的Relayer 来代替使用者上链并支付Gas,绕过了开启钱包支付Gas 的步骤,体验立刻改善。而就算是需要收费的DApp,也可以让使用者透过信用卡或In-App Purchase 消费,不需要使用者拥有加密货币钱包,大幅降低使用门槛。

实现方法

假设我们要开发一款领养猫咪的DApp,使用者要透过专属前端(Web or App)来发送领养的请求,最终在DApp 的合约中记载领养的猫咪,并于前端的UI 呈现。

目前比较成熟的实作方法有三种:

原生:逻辑简单、步骤精简,但仅支援新的合约代理:需要透过Proxy Contract互动,但现有的DApp皆可使用Gas Station Network:流程复杂,但解决了许多痛点,受到许多公司或组织的支持,下一篇文章详细介绍原生Meta Transactions步骤Client向Relay Server送出领养一只猫的请求,并用本机端的私钥将资料与指令签名,Relay Server应提供API介面给Client呼叫Relay Server 要求使用者透过信用卡或In-App Purchase 付费,当然也可以选择不收费Relay Server支付Gas送出交易,由于Relay Server是交易的发起方,但Client才是领养猫的人,为避免合约以为是Relay Server是领养方,需要替换领养地址为Client的地址再上链Client 透过Web3 得知猫咪已经被领养成功,显示在UI 上原理

每次Client端发起请求时,会用本机端的私钥(可能保存在KeyChain或Browser Cookie)打包上链的资料以及要执行的指令,生成签名给Relay Server验证并取得signer,该签名又被称作Executable signed message (EIP-1077 Gas relay for contract calls)。

在Austin Griffith的Native Meta Transactions范例中,其关键程式码如下:

Meta Transactions如何改变DApp付费生态

其中巧妙地将发送者从msg.sender替换成signer,因为msg.sender其实是Relay Server,交易的signer才是真正的使用者,因此购买的资产会转交给使用者而不会交给Relay Server。

听起来解决问题了,但很可惜…

现有的合约无法支援原生Meta Transactions

因为现有的DApp合约通常都是使用msg.sender作为资产接收者,因此必须是全新的合约才能支援原生Meta Transactions,不能相容现有的DApp 。

优缺点

Relay Server 实际上是交易的发起方,在此架构下Relay Server 拥有绝对的权力,若Relay Server 窜改资料,会造成验证失败交易无法执行,使用者拿不到应得的资产,Relay Server 也有可能审查内容后决定拒绝服务。

Relay Server 中必须准备好足够的Ether 做为Gas,若有需要使用者可透过信用卡或In-App Purchase 购买Relay Server 的服务。

代理Meta Transactions步骤第一次使用时Client应向Relay Server发起注册装置的请求,Relay Server应提供API介面给Client呼叫Relay Server会代为向Proxy Contract发送建立新合约或将装置写入合约白名单的交易。这里的Proxy Contract可视作Proxy Identity,运作方式相当于一个握有私钥的使用者,属于使用者的链上IDClient向Relay Server送出领养一只猫的请求,并用本机端的私钥将资料与指令签名,Relay Server应提供API介面给Client呼叫Relay Server 要求使用者透过信用卡或In-App Purchase 付费,当然也可以选择不收费Relay Server支付Gas发送第一次交易,将Client端给的资料直接转发给Proxy Contract验证签章正确后上链,虽然Client是原本的领养方,但Proxy Contract才是真正拥有猫的地址Client 透过Web3 得知猫咪已经被领养成功,显示在UI 上原理

Meta Transactions 在授权执行的合约动作上,会遇到授权(Client)与执行(Relay Server)是不同角色的问题。

原生Meta Transactions 可以在全新的合约中将资产发送给正确的角色,但对于已经部署的合约则需要将相关动作拆解为另一个合约,才能够支援Meta Transactions。

优缺点

与原生Meta Transactions 最大的差别在于支援现有的DApp,但并不能解决Relayer 过于中心化,可能审查内容或是停止服务的问题。

Proxy Contract对应到Client形成一个身份,实际上猫的拥有者是Proxy Contract,因此需要一套可以将Client对应到Proxy Contract的身份验证机制,可以参考bouncer proxy和Universal Login。

结论

以上提到的两种方法,已经可以满足大多数应用替使用者付费或是透过第三方付费的需求,但缺点也是相当明显。

Relayer 的权力集中某些程度上与区块链的核心价值相抵触,若Relay Server 因故无法继续提供服务,也可能造成使用者无法继续使用DApp。

所以这已经是最好的作法了吗?

下篇文章透过Gas Station Network(GSN)打造更好的DApp开发与入门体验会详细介绍另一种解决方案Gas Station Network。

以上就是Meta Transactions如何改变DApp付费生态的全部内容,望能这篇Meta Transactions如何改变DApp付费生态可以帮助您解决问题,能够解决大家的实际问题是塔岸网一直努力的方向和目标。

  • 区块链推荐
更多+
香港HashKey交易所正式上线App,平台币HSK或在明年年中

香港HashKey交易所正式上线App,平台币HSK或在明年年中

香港持牌加密货币交易所HashKey Exchange 周三(1日)正式推出行动端应用程序,为专业投资人和零售用户提供服务。HashKey 营运长Livio Weng 受访表示,HashKey 还计划铸造自己的ERC-20 应用型代币HSK,可能会在明年年中上市。App 正式上线根据《The Blo...

11-15

Sushi社群起义要求归还代币分润权,SUSHI过去一周涨超

Sushi社群起义要求归还代币分润权,SUSHI过去一周涨超

Sushi 社群成员在治理论坛发布提案,拟议恢复SUSHI 代币的价值与功能,并让DAO 重新掌握协议治理权。Sushi 社群起义重拾治理权社群成员Trantor 表示,自从Kanpai 2.0 于2022 年12 月推出以来,所有协议费用都流入国库,尽管这有助于确保国库能够获得充足的资金,但核心团...

11-15

继贝莱德之后,景顺的比特币ETF也在DTCC上架,股票代

继贝莱德之后,景顺的比特币ETF也在DTCC上架,股票代

继贝莱德的IBTC 之后,景顺(Invesco)与Galaxy 共同提交的比特币现货ETF 也在美国证券存托清算公司的清单(DTCC)上架,股票代码为BTCO。标志着这两档ETF 申请正朝着标准程序持续推进。需要再次重申的是,许多人甚至会误将「上架DTCC」视为比特币现货ETF 批准的预告,但事实上...

11-15

OKX POR 一周年里程碑事件回顾:创下多个里程碑

OKX POR 一周年里程碑事件回顾:创下多个里程碑

由于传统金融体系缺乏信任而诞生的加密行业,逐渐崭露头角,并引发了人们的思考以及全球范围内的广泛关注,迄今已经成长为万亿美元市场。但作为没有任何参考的新兴行业,加密市场为传统金融市场带来创新与注入活力的同时,各种突现的黑天鹅事件也不容忽视,合规透明正成为其未来发展的主旋律。作为全球领先的加密资产交易所...

11-15

Bitfinex被列入英国FCA未经授权警告名单

Bitfinex被列入英国FCA未经授权警告名单

根据英国金融行为监理总署 (Financial Conduct Authority, FCA) 官方公告显示,知名交易所 Bitfinex 被列为未经当局授权的警告名单。FCA:Bitfinex 在未经授权下推广英国金融行为监理总署 (Financial Conduct Authority, FCA...

11-15

网友评论
评论
发 布

更多区块链