以太坊eip-3074分析:普通用户无需eth即可发送不信任的交易

  • A+
所属分类:比特币交易所
摘要

雍和比特币

雍和比特币 作者:lightclients translationamp;Minamp;校正;阿健;以太坊钱包很或许很快就会呈现严重晋级。晋级完成后,EOA能够发送批处理业务、截止日期业务、无序业务等。;我的两位搭档,@Sam wilsn和@aditerichs,以及我正在研讨坐山观虎斗改善以太坊的交互体会。通过屡次迭代,咱们提出了eip3074:操作码auth和authcall。;要运用这两个操作码,外部帐户需求在链下签署一条音讯,并将音讯发送给中继。然后,中继将签名和调用数据发送到链上契约(称为“调用者”)。调用方契约首要运用操作码auth来验证签名,然后运用操作码authcall来中继外部帐户的调用。;authcall和一般调用只需一个差异:authcall将调用方(例如,音讯的发送方)设置为运用操作码auth康复的外部地址。这样,用户无需运用以太网币即可与以太坊进行交互。换句话说,他们的业务是由接力“资助”的。;你或许以为这种机制很熟悉。实践上,这类似于元业务的操作。可是,需求着重的是,不能为元业务恣意设置音讯发送方。因而,契约有必要清晰支撑元业务。eip3074旨在消除元业务并下降契约的复杂性。;在深入研讨它的作业原理之前,让咱们先谈谈咱们想要构建什么。咱们期望树立一种机制,答应一般用户在不运用以太网币的情况下发送不受信赖的业务。这儿的关键词是“不信赖”,也便是说,用户不会颁发中继任何或许被运用的特权。;eip3074通过细心挑选一般帐户签名中包括的参数来创立一个无信赖体系。用户签名keccak(0x03++invoker) address++commit hash)引介 | EIP-3074 简介“类字节”是EIP 2718的常量字节,值为0x03。此字节的意图是防止与其他签名机制抵触,如EIP 2930的拜访列表业务、EIP 1559的费用商场业务、EIP 191的0x19签名音讯等。;调用方地址将用户的调用绑定到特定的约好。用户签名仅对呼叫者合约有用。因而,用户能够挑选他们信赖的呼叫者,就像他们挑选智能合约钱包来存储财物相同。;咱们期望只需少量呼叫者存在,由于假如呼叫者契约的完成犯错,用户或许会遭受丢失(请注意,呼叫者挑选自己参加)。开发一个安全的呼叫者契约的本钱很高,需求多方审计和静态证明。;但和今日的做法没什么不同。智能合约钱包也应该在很多存款前通过全面审阅和认证。很多大defi项目也是如此。;最终一个签名参数是commit Hash(或commit)。这使呼叫者和规划者能够更灵敏地开发许多不同的解决计划。;此提交约束调用者仅履行特定操作并创立特定验证需求来处理调用。用户能够信赖调用者遵从此进程,由于他们能够验证链上的代码。这便是区块链的优势。;让咱们看一个简略的比如。用户期望通过呼叫者发送呼叫。为了防止它们的呼叫被无限中继,它们需求供给一个nonce和其他不行更改的值。用户散列这些值以取得提交,并将提交包括在签名音讯中,以便能够运用auth验证契约。引介 | EIP-3074 简介调用程序运用传入的值从头生成提交哈希。这样,假如付款人更改了其间一个值,则调用者核算的提交哈希将与外部帐户签名的提交哈希彻底不同,然后导致auth康复垃圾地址,如下图所示:引介 | EIP-3074 简介我期望你现在信赖,来电者就像一个智能合约钱包,能够被任何一般账户运用。现在让咱们看看坐山观虎斗运用commit构建一个更风趣的解决计划。;一般,“一个操作对应一个签名”已成为一条经历规律。这是一个相对简略的了解。签名是依据业务的哈希值创立的。咱们为什么不兼并多个业务进行散列核算呢?本来,eip3074能够做到这一点。;只需一个帐号能够通过auth验证,调用者就能够依据帐号的要求进行恣意次数的authcall。这是能够的,由于咱们信赖调用者将按原样履行代码。咱们能够规划一个计划,将多个调用散列到commit中。引介 | EIP-3074 简介在上图所示的计划中,调用者将兼并一切值(nonce1、nonce2等)以散列并生成提交。调用者将运用此提交和用户签名来调用auth。Auth验证用户是否实践签署了这些参数。;然后,调用者遍历每个调用并验证nonce和其他参数,然后将通过身份验证的调用数据(calldata)发送到答应地址。;在此基础上,咱们能够构建更多的解决计划。例如,假定您添加了一个新参数“shelf life”。将此参数与其他参数散列以取得提交。此外,在验证进程中,调用者将验证过期时刻block.number。现在,能够运用外部帐户在期限内进行买卖!;eip3074将在不引进额定信赖假定的情况下带来更流通的用户体会。假如您想阅览eip3074的全部内容,请点击此链接。;go以太坊的原完成在这儿保护。

  • 我的微信
  • 这是我的微信扫一扫
  • weinxin
  • 我的微信公众号
  • 我的微信公众号扫一扫
  • weinxin
头像

发表评论取消回复

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen:

目前评论:0   其中:访客  0   博主  0

    • 头像 F2Pool 9

      将区块链技术应用在金融行业中,能够省去第三方中介环节,实现点对点的直接对接,从而在大大降低成本的同时,快速完成交易支付。