什么是元交易?智能合约开发实战:元交易(Metatransaction)系列一
引言
DApp(Decentralized Application)是通往去中心化世界的应用程序,让人们真正能够感受到去中心化魅力的工具。但令人沮丧的是,使用它意味着你需要有一定的对区块链(以太坊)基础知识的掌握,包括但不限于钱包地址、哈希函数(散列、Hash)、公私钥、交易、智能合约等。
这对一个对区块链陌生的用户来说,太可怕了!他需要学大量的知识,只为了使用 DApp。这阻挠了 DApp 的发展,而元交易可以减轻普通用户的学习压力,只需要他基本掌握使用一个区块链钱包,例如 MetaMask、TrustWallet、ImToken 等等。
什么是元交易?
元交易(Metatransaction),是一种让用户不需要支付 gas 费就能够使用 DApp、发起交易、调用智能合约的手段。
这意味着用户将不再需要深入了解什么是交易、什么是智能合约,只需要确保自己的钱包是安全的,知道什么是钱包地址就可以了。这大大的简化了 DApp 的使用流程。
为什么元交易能够让用户不需要支付 gas 费?
聊元交易之前,首先了解一下什么是交易(Transaction)。一笔以太坊交易由以下内容构成:
- from – 发送者地址
- recipient – 接收地址(如果为一个外部持有的帐户,交易将传输值。 如果为合约帐户,交易将执行合约代码)
- signature – 发送者的签名。 当通过发送者的私钥签名交易来确保发送者已授权此交易时,生成此签名。
- value – 从发送者向接收者转移 ETH 的金额 (以 WEI 为单位,ETH 的一种面值单位)
- data – 可包括任意数据的可选字段
- gasLimit – 交易可以消耗的 Gas 的最大数量。 Gas 单位代表了计算步骤
- gasPrice – 发送者按单位 gas 支付的费用
- nonce – 区块链严格根据 nonce 值从小到大的顺序执行交易
注意其中的 signature 字段,通过它任何人都能够验证这笔交易就是发送者地址签署的。交易会被发送给区块链节点,发送者会支付 gas 费,通过验证的交易才会被节点包含进自己的区块链中,并进行广播。而如果说,这样一笔交易发给某个中间人/节点,让他帮忙来付 gas 费并执行该交易,我们的目的就实现了。
但问题是,简单的将这样一笔交易发给中间人,中间人也并不能帮你支付 gas 费,因为它是一个普通的交易,它会被验证通过,并认为是发送者来支付 gas 费。
那我们如何绕过这个限制呢?答案是智能合约。
如果这笔交易发生在智能合约内部,也就是说,在普通的交易内部嵌入一个交易(这个交易就被称作元交易),交易被你的中间人/节点签署,并指定接收者地址为元交易智能合约的地址,因此 gas 费由中间人/节点支付;而元交易智能合约在收到一笔元交易后,会验证元交易的签名信息,确认无误后,你的元交易在元交易智能合约中被执行。
举个例子
Alice 想向 Bob 转账 0 ETH,而由于 Alice 账户上没有任何 ETH,即便是转账 0 ETH,但她仍然需要支付一定数额的 gas 费,因此 Alice 无法直接执行这样一笔交易。
而 Alice 知道 Carol 恰好账号上有足够多的 ETH 去支付 gas 费,于是请求他的帮助。
Carol 让 Alice 签署这笔元交易,并将所有内容发送给他;Carol 收到 Alice 的元交易后,构造出一个发送给元交易智能合约地址的交易,广播给区块链的节点。
区块链节点将验证 Carol 的交易合法性;元交易智能合约 扣除 Carol 的 gas 费作为执行智能合约的费用,并验证该交易中的元交易是否合法(验证是否为 Alice 的签名,nonce 值是否合法等)。
验证合法后,元交易智能合约执行该元交易,从而 Alice 在没有花任何 gas 费的情况下,通过中间人 Carol 执行了交易。
总结
元交易是让 DApp 迅速发展的关键性技术之一,它减小了普通用户理解区块链运作机制的成本,让用户不需要支付 gas 费即可发起交易。
以上就是什么是元交易?智能合约开发实战:元交易(Metatransaction)系列一的详细内容,更多关于什么是元交易的资料请关注脚本之家其它相关文章!
你可能感兴趣的文章
-
元宇宙Metaverse是什么?为什么这么火爆?
这篇文章主要介绍了元宇宙Metaverse是什么?为什么这么火爆的相关资料,希望这篇关于什么是元宇宙的文章,能够帮助到各位朋友对元宇宙有个更加深入地了解。…
2021-12-06 -
元宇宙究竟是什么?如何抓住机遇?
这篇文章主要介绍了元宇宙究竟是什么?如何抓住机遇?的相关资料,希望这篇关于元宇宙究竟是什么的文章,能够帮助到各位新人投资者对元宇宙有一个深入的了解。…
2021-12-01 -
一文读懂元宇宙的驱动力是什么?
这篇文章主要介绍了元宇宙的驱动力是什么的相关资料,希望这篇关于元宇宙的驱动力是什么的文章,能够使大家对元宇宙有个更加深入的了解。…
2021-11-24 -
十个问题告诉你什么是元宇宙 元宇宙详细介绍
这篇文章主要介绍了十个问题告诉你什么是元宇宙的相关资料,希望这篇关于什么是元宇宙的文章,能让大家对于元宇宙有个深入的了解。…
2021-11-15 -
通俗解释元宇宙与Web3时代的重要基础设施:Rollup/波卡/Cosmos
这篇文章主要介绍了通俗解释元宇宙与Web3时代的重要基础设施:Rollup/波卡/Cosmos的相关资料,希望这篇关于元宇宙与Web3时代的重要基础设施的文章,能够让大家深入的了解Cos…
2021-11-15 -
CE 加密货币元宇宙的地位
这篇文章主要介绍了CE 加密货币元宇宙的地位的相关资料,作为流行语,元宇宙指的是在在线一切转变期间获得动力的各种虚拟体验、环境和资产。…
2021-11-04 -
元宇宙概念是什么意思?元宇宙要具备哪些属性?
这篇文章主要介绍了元宇宙概念是什么意思?元宇宙要具备哪些属性?的相关资料,希望这篇通俗解释元宇宙概念的文章,能够帮助各位投资者对元宇宙这一概念有一个更加全面深入的…
2021-09-18 -
区块链解析:什么是Metaverse(元宇宙)?下一个时代风口
这篇文章主要介绍了什么是Metaverse(元宇宙)?下一个时代风口的相关资料,通过对元宇宙的源起,元宇宙创世而生,给大家分析什么是元宇宙及特点是什么,怎么通过区块链技术创…
2021-08-10 -
什么是元宇宙?元宇宙数字货币有哪些?
这篇文章主要介绍了什么是元宇宙?元宇宙数字货币有哪些?的相关资料,很多从业者和专家都从不同的角度界定了元宇宙,那么元宇宙数字货币有哪些?现在就让小编为大家带来元宇…
2021-08-10