• 欢迎访问博狗扑克网站,注册博狗扑克免费送10美元现金和2张比赛门票
  • 2022世界杯外围投注网站,注册Bodog博狗投注最高送3888奖金

【博狗扑克】V神:支付抽象化方案可不用ETH支付交易费

博狗扑克比特币 博狗扑克 6年前 (2018-12-13) 484次浏览 扫描二维码

【博狗扑克比特币报道】

【博狗扑克】V神:支付抽象化方案可不用ETH支付交易费
译者前言:如果想要让更多的人采用区块链应用,那么经济抽象化会是非常重要的一步,此前伯克利大学的区块链研究者提出过相关的解决方案,而对此问题,以太坊创始人vitalik 也是非常关注的,在本文当中,vitalik提出了一种Layer 2的gas支付抽象化方案。
 
以下为译文:
 
假设用户想要进行一笔ERC20 token转账,但他不想用以太币支付交易费,而是想用ERC20币进行支付,那他该怎么做呢?我们可通过扩展ERC20协议(如下所示),而无需修改基础层协议来做到这一点。
 
我们添加了一个函数submitSignedPayments({to: address, value: uint256, fee: uint256, deadline: uint256, seq: uint256, sig: bytes[65]}[]),其工作原理如下。对于每次提交的付款:
 
1、设sender = ecrecover(hash(to, value, fee, seq, deadline, self), sig);
 
2、验证balances[sender] >= value + fee;
 
3、验证seqs[sender] == seq;
 
4、验证block.number <= deadline;
 
5、设balances[sender] -= value + fee;
 
6、设balances[to] += value;
 
7、设balances[msg.sender] += fee;
 
8、设seqs[sender] += 1;
 
而希望发送ERC20币的用户,可发布提供交易费用的离线消息,然后等到有人在一笔交易中纳入他们的消息。
 
请注意,发布交易的21000 gas费用可在多个ERC20合约之间进行共享。方法是创建一个接受已签名付款对象列表的中心路由合约,然后根据需要,调用每个ERC20合约的submitSignedPayments及其相关的签名付款。
 
如果我们将它与账户抽象方案结合到一起,我们可进一步实现抽象化。考虑这样一种抽象方案,其中用户账户是合约,而交易是对账户的调用,msg.sender设置为block.coinbase,我们还假设通过账户抽象,用户可创建排列多笔操作的交易。但是,用户账户不能仅通过交易调用,你还可以让另一个合约调用这个用户账户,以此作为交易的一部分。
 
用户可发送具有两种操作的一笔交易:(i)向msg.sender发送一些ERC20 token,(ii)执行一些其它任务。然后可以将这种类型的一系列交易放入封装交易当中,该交易支付以太币费用,然后在以太坊链上进行发布。而封装交易的发布者,将收集这些ERC20 token。

【比特币是时下最火爆、最具话题性的数字货币,它改变了人们交易、消费的方式。我们推荐您在Bodog博狗使用比特币交易,因为它快捷安全且无需手续费。】
【博狗扑克(bogoupoker.com),亚洲最大的德州扑克线上现金平台!
今天注册Bodog博狗账户,您可以享受双份迎新奖金60元新手奖励+1000美金奖金】


博狗扑克 , 版权所有丨如未注明 , 均为原创丨本网站采用BY-NC-SA协议进行授权
转载请注明原文链接:【博狗扑克】V神:支付抽象化方案可不用ETH支付交易费
喜欢 (0)

大发娱乐正式上线现在注册送2000