当前位置:英为财情官网 > 货币 >

ETH钱包可能非常快迎来一次重大升级?知道eip-3074

ETH钱包可能非常快就要迎来重大升级。一旦升级完成,一般竞价推广账户(EOA)即可发送批量事务、限时事务、无序事务等。

ETH钱包可能非常快就会迎来重大升级。升级完成后,EOA可以发送批量事务、截止事务、无序事务等。

两位同事和我@SamWilsn和@Apterichs正在研究怎么样改进ETH的交互体验。经过多次迭代,大家提出了eip3074:操作码auth和authcall。

要用这两个操作码,外部帐户需要对链下的消息进行签名并将消息发送给中继,然后中继将签名和调用数据发送给链上契约(称为“调用者”)。调用方契约第一用操作码auth来验证签名,然后用操作码authcall来中继外部帐户的调用。

authcall和一般调用只有一个不同:authcall将调用方(比如,消息的发送方)设置为用操作码auth恢复的外部地址。如此,用户就可以与ETH进行交互,而不需要用以太网货币。换句话说,他们的事务是由接力“赞助”的。

你可能觉得这种机制很了解。事实上,这种似于元事务的操作。但,需要强调的是,不可以为元事务任意设置消息发送方。因此,契约需要明确支持元事务。eip3074旨在消除元事务并减少契约的复杂性。

在深入研究它的工作原理之前,让大家先谈谈大家想要构建什么。大家期望打造一种机制,允许一般用户在不用以太网货币的状况下发送不受信赖的事务。这里的关键字是“不信赖”,也就是说,用户不会授与中继任何可能被借助的特权。

eip3074通过仔细选择一般帐户签名中包含的参数来创建一个无信赖系统。用户签名keccak(0x03++invoker) address++commit hash)

“类字节”是EIP 2718的常量字节,值为0x03。此字节的目的是防止与其他签名机制冲突,比如eip2930的访问列表事务、eip1559的成本市场事务、eip191的0x19签名消息等。

调用方地址将用户的调用绑定到特定的约定。用户签名仅对呼叫者合约有效。因此,用户可以选择他们信赖的呼叫者,就像他们选择智能合约钱包来存储资产一样。

大家期望只有少数呼叫者存在,由于假如呼叫者契约的达成出错,用户可能会遭受损失(请注意,呼叫者选择自己加入)。开发一个安全的呼叫者契约的本钱非常高,需要多方审计和静态证明。

但和今天的做法没什么不一样。智能合约钱包也应该在很多存款前经过全方位审核和认证。不少大去中心化的金融项目也是这样。

最后一个签名参数是commit Hash(或commit)。这使呼叫者和设计者可以更灵活地开发很多不一样的解决方法。

此提交限制调用者仅实行特定操作并创建特定验证需要来处置调用。用户可以信赖调用者遵循此过程,由于他们可以验证链上的代码。这就是区块链的优势。

让大家看一个容易的例子。用户期望通过呼叫者发送呼叫。为了防止它们的呼叫被无限中继,它们需要提供一个nonce和其他不可更改的值。用户散列这部分值以获得提交,并将提交包含在签名消息中,以便可以用auth验证契约。

调用程序用传入的值重新生成提交哈希。如此,假如付款人更改了其中一个值,则调用者计算的提交哈希将与外部帐户签名的提交哈希完全不同,从而致使auth恢复垃圾地址,如下图所示:

我期望你目前相信,来电者就像一个智能合约钱包,可以被任何一般竞价推广账户用。目前让大家看看怎么用commit构建一个更有趣的解决方法。

一般,“一个操作对应一个签名”已成为一条经验法则。这是一个相对容易的理解。签名是基于事务的哈希值创建的。大家为何不合并多个事务进行散列计算呢?原来,eip3074可以做到这一点。

只须一个帐号可以通过auth验证,调用者就可以依据帐号的需要进行任意次数的authcall。这是可以的,由于大家相信调用者将按原样实行代码。大家可以设计一个策略,将多个调用散列到commit中。

在上图所示的策略中,调用者将合并所有值(nonce1、nonce2等)以散列并生成提交。调用者将用此提交和用户签名来调用auth。Auth验证用户是不是实质签署了这部分参数。

然后,调用者遍历每一个调用并验证nonce和其他参数,然后将经过身份验证的调用数据(calldata)发送到许可地址。

在此基础上,大家可以构建更多的解决方法。比如,假设你添加了一个新参数“shelf life”。将此参数与其他参数散列以获得提交。除此之外,在验证过程中,调用者将验证过期时间block.number。目前,可以用外部帐户在期限内进行买卖!

eip3074将在不引入额外信赖假设的状况下带来更流畅的客户体验。假如你想阅读EIP 3074的全部内容,请点击此链接:https://eips.以太币ereum.org/EIPS/eip-3074

goETH的原达成如下:

https://github.com/quilt/go-以太币ereum/tree/eip-3074

版权保护: 本文由 英为财情官网 原创,转载请保留链接: http://www.fysenyan.com//huobi/191.html

  • 关注微信

猜你喜欢