木星链 木星链
Ctrl+D收藏木星链
首页 > Uniswap > 正文

以太坊:以太坊钱包可能很快就要迎来重大升级?读懂EIP-3074

作者:

时间:1900/1/1 0:00:00

以太坊钱包可能很快就要迎来重大升级。一旦升级完成,普通账户即可发送批量事务、限期事务、无序事务等。

我与两位同事@_SamWilsn_和@adietrichs正在研究如何改善以太坊的交互体验。经过多次迭代后,我们提出了EIP3074:操作码AUTH和AUTHCALL。

要想使用这两个操作码,外部账户需要在链下签署一个消息,并将该消息发送给中继者,再由中继者将签名和调用数据发送至一个链上合约。调用者合约会先使用操作码AUTH来验证签名,再使用操作码AUTHCALL中继外部账户的调用。

AUTHCALL与普通调用只有一个区别:AUTHCALL将调用者设为使用操作码AUTH恢复的外部地址。这样一来,用户不使用以太币也可与以太坊交互。换言之,他们的事务是由中继者“赞助”的。

你可能会觉得这个机制似曾相识。事实上,这与元事务的运作方式差不多。但是这里要强调一下,元事务是不能随意设置消息发送方的。因此,合约必须明确支持元事务。EIP3074旨在淘汰元事务,降低合约的复杂性。

以太坊Gas费7日平均值创一个月新高:金色财经报道,Glassnode数据显示,以太坊Gas费7日平均值刚刚达到22.187GWEI,创一个月新高。[2023/1/15 11:12:50]

在深入阐述运作原理之前,我们先来介绍一下我们想要构建什么。我们想要构建一个让普通用户无需使用以太币即可以免信任方式发送事务的机制。这里的关键词是“免信任”,即,用户不会授予中继者任何可能会被利用的特权。

EIP3074通过谨慎选择普通账户签名中包含的参数来创建免信任系统。用户签署keccak。

“typebyte”是EIP2718的常量字节,值为0x03。这个字节的作用是避免与其它签名机制发生冲突,例如,EIP2930的访问列表事务、EIP1559的费用市场事务、EIP191的0x19签名消息等。

调用者地址将用户的调用与特定合约绑定。用户的签名只对调用者合约有效。因此,用户可以选择自己信任的调用者,就像是选择用来存放资产的智能合约钱包那样。

以太坊Geth客户端开发者考虑移除对存档节点功能的支持:9月13日消息,以太坊Geth客户端开发者Peter Szilagyi发推表示,考虑移除对存档节点功能的支持,在Gas越来越高的情况下,存档节点没有可持续发展的意义。

Peter Szilagyi在回复中表示也有可能采用一种混合模式,让用户有一个用于访问存档数据的全局数据分发层和自己的完整客户端,可以验证和证明数据是正确的。[2021/9/13 23:20:50]

我们预期只会有少量调用者存在,因为如果调用者合约的实现出错,用户就有可能蒙受损失。开发一个安全的调用者合约成本会很高,需要经过多方审计和静态证明。

不过这与如今的惯例没什么太大的不同。在存放巨额资金之前,智能合约钱包也应该经过全面的审计和证明。很多大型DeFi项目也是如此。

最后一个签名参数是commit_hash。这为调用者设计者带来了更大的灵活性,可以让他们开发出很多不同的方案。

动态 | 按目前出块速度,以太坊预计在明早8点26分进行伊斯坦布尔升级:据ethernodes.org数据,按目前出块速度,以太坊预计在北京时间12月8日8点26分进行伊斯坦布尔升级,距离升级还有约21个小时。此前报道,以太坊将按计划在区块高度9,069,000处进行伊斯坦布尔升级,目前区块高度为9,064,071。[2019/12/7]

这个commit限制调用者只能执行特定操作并创建特定的验证要求来处理调用。用户可以信任调用者会遵循这一流程,因为他们可以在链上验证代码。这就是区块链的优点。

我们来看一个简单的案例。用户想要通过调用者发送一个调用。为了避免他们的调用被无限次中继,他们需要提供一个nonce,另外还有其它不可更改的值。用户对这些值进行哈希计算得到commit,并将该commit包含在签名消息内,以便合约使用操作码AUTH进行验证。

动态 | 有人用价值1.6万美元的以太坊购买F1数字收藏品:据Newslogical消息,在刚刚结束的F1 Delta Time拍卖会上,一个不知名的人用高达91.5的以太坊(约合16,000美元)获得了F1许可的数字收藏品的``日本版2019'',这是一个以太坊上的区块链游戏,专注于交易和收集独特组件,驾驶员和汽车。[2019/10/20]

调用者会使用传入的值来重新生成commit哈希。这样一来,如果代付者改变了其中一个值,调用者计算得到的commit哈希会与外部账户签署的完全不同,导致AUTH恢复出一个垃圾地址,如下图所示:

希望你现在已经相信,调用者就像任何普通账户都可以使用的智能合约钱包。现在我们来看看如何使用commit来构建更有趣的方案。

通常情况下,“一个操作对应一个签名”已经成了经验法则。这是一种比较简单的理解。签名是基于一个事务的哈希值创建的,为什么我们不将多个事务合并进行哈希计算呢?事实证明,EIP3074可以做到这点。

只要某个账户可以通过AUTH的验证,调用者就可以按该账户的要求做任意多次AUTHCALL。这样做是没问题的,因为我们相信调用者会如实执行代码。我们可以设计将多个调用合并哈希成commit的方案。

在上图所示的方案中,调用者会将所有值合并进行哈希,生成commit。调用者将使用这个commit和用户签名来调用AUTH。AUTH会验证用户是否真的签署了这些参数。

然后,调用者会遍历每个调用并验证nonce和其它参数,然后将经过认证的调用数据发送至被许可的地址。

在此基础上,我们还可以构建更多方案。例如,假设你增加一个新的参数“保质期”。该参数会与其它参数一起经过哈希得到commit。另外,在验证过程中,调用者会验证expiration<block.number。现在,外部账户已经可以使用限期交易了!

EIP3074将带来更多流畅的用户体验,同时不会引入额外的信任假设。如果你想要阅读EIP3074的完整内容,请点击这个链接:https://eips.ethereum.org/EIPS/eip-3074

go-ethereum的原型实现在此处维护:

https://github.com/quilt/go-ethereum/tree/eip-3074

我们正在与一些对该机制有兴趣的团队合作。如果你觉得这个机制有用的话,请告诉我们,让我们一起努力!欢迎大家提供对该提案的反馈,非常感谢!点击该链接,留下你的反馈:https://ethereum-magicians.org/t/eip-3074-auth-and-authcall-opcodes/4880/49。

最后,如果你对我们的工作感兴趣,我们的团队正在火热招聘中。我们致力于对以太坊核心协议进行中长期改进。如需了解更多信息,请直接私信我@lightclients。

原文链接:https://twitter.com/lightclients/status/1371911245561917441作者:lightclients翻译&校对:闵敏&阿剑

你可能还会喜欢:

账户抽象化:为什么&如何做

以太坊元交易

以太坊中的账户、交易、Gas和区块GasLimit

标签:以太坊AUTHCOMMIT以太坊最新价格行情昭AuthorshipArbitrage Analysis Beyond CommodityCMIT价格

Uniswap热门资讯
NFT:NFT 游戏公司 Big Time Studio 完成 2100 万美元融资,FBG 领投

链闻消息,据VentureBeat报道,由前DecentralandCEO创建的BigTimeStudio宣布完成2100万美元融资,融资将分为两部分.

1900/1/1 0:00:00
USD:BiONE关于对YFI3S等13个ETF产品进行份额合并的公告

尊敬的用户:由于当前部分ETF产品的单价均低于0.01USDT,为提高其价格变化的灵敏度,优化交易体验,BiONE将在2021年5月13日21:00-23:00期间.

1900/1/1 0:00:00
ANK:关于LBank蓝贝壳延迟上线BAFE的公告

尊敬的LBank蓝贝壳用户:因故,原定2021年5月13日16:00(UTC8)上线的BAFE,将延迟上线,具体上线时间将以公告形式另行通知,给您带来的不便敬请谅解.

1900/1/1 0:00:00
BIKI:BiKi合伙人3.0

尊敬的用户:BiKi合伙人制度自推行以来,获得了较大的成功,为了更加适应当前合伙人和市场的需求,即日起将对合伙人制度进行迭代.

1900/1/1 0:00:00
YFI:YIF官方支持的分叉YFIUP火热空投中!

加密币市场持续上涨,市场疯狂阶段还未到来。今天YFI真正的分叉币YFIUP空投火热进行中!yfi是一种代币,而且是一个完全无财务价值且零供应的代币.

1900/1/1 0:00:00
SEC:SEC 的新玩具 “加密印钞机” 7 年罚款17亿美元

一份新报告显示,截止2020年12月31日,美国证券交易委员会在过去7年里总计发起了75次与加密市场有关的执法行动.

1900/1/1 0:00:00