AUTH:走进EIP-3074

以太坊钱包可能很快进行一次重大升级。部署了提案的变更后,外部账户(EOA)将马上可以发送批量交易、逾期交易、无序交易等。

我的同事@_SamWilsn_和@adietrichs和我一直致力于改善与以太坊交互的用户体验。经过了多次迭代,我们提出了"EIP-3074:AUTHandAUTHCALLopcodes"。

这些操作码是这样使用的:外部账户对一条链下信息签名,给一个中继器提供消息,这个中继器把签名和调用数据传给一个链上合约(被称为invoker,调用器),合约用操作码AUTH验证签名,随后用操作码AUTHCALL发送外部账户的调用。

操作码AUTHCALL的功能基本与CALL相同,除了它把CALLER(即msg.sender信息发送者)设为外部账户的地址,需要通过AUTH来恢复。这使得用户可以无须ETH也能与以太坊交互。也就是说,他们的交易可以由一个中继器来“资助”。

由DAO资助的动画电影The Rise of Blus: A Nouns Movie试播:金色财经报道,第一部由DAO资助,并且由皮克斯、Netflix和漫威前动画师领衔制作的《The Rise of Blus:A Nouns Movie》动画电影发布了试播集,用户可通过Nouns Movie网站观看电影的试播片段。据介绍,该项目的预算为275万美元,Nouns DAO社区在3月份通过了资助这部电影的提案。Atrium的创意人员William Yu、HK Jay、Zen Doubt、3D Print Guy和Meta Ent正在帮助编写、制作和制作这部电影的动画。

Atrium创始人兼首席执行官Supriyo Roy表示,由于Nouns项目已经作为开源发布,电影的创作者可以自由地为8位角色制作一个完整的世界和故事情节,没有任何限制。[2023/6/22 21:53:21]

这个方案听上去可能很熟悉。实际上,它与meta-txs(元交易)的工作机制几乎相同。一个重要区别是meta-txs无法随意设置msg.sender。因此,合约必须明确支持meta-txs。EIP-3074旨在去除meta-txs,减少合约复杂性。

TrueUSD:TUSD铸造和赎回服务不受影响,与银行机构的合作关系不变:6月10日消息,美元稳定币 TrueUSD 官方在社交媒体上发文表示:TUSD 的铸造和赎回服务不受影响,将继续照常运作。我们与其他银行机构的合作伙伴关系保持不变,可实现无缝交易。

此前报道,TrueUSD 今日早些时候表示已暂时停止通过 Prime Trust 铸造 TUSD,以等待进一步通知。[2023/6/10 21:28:27]

为了更深入它的工作机制,一起来了解我们正在构建什么吧。我们想要一个机制允许没有ETH的外部账户可以无须信任地发送交易。“无须信任”是关键。用户不应该给中继器任何可以被利用的特权。

EIP-3074允许通过谨慎选择加入到外部账户签名的参数来构建去信任系统。用户需要对keccak(0x03invoker_addresscommit_hash)哈希函数签名。

安全团队:dForcenet合约遭受攻击,总损失约370万美元:金色财经报道,据区块链安全审计公司Beosin旗下平台监测显示,dForcenet合约,分别在Optimism 和 Arbitrum两条L2链上遭到了攻击。两条链上总损失约370万美元。据Beosin安全技术人员分析,原因为项目方外部接口curve的使用方式不当,未考虑重入风险,影响了Oracle的价格,攻击者在价格被操纵的情况下清算头寸获取利润。

在Arbitrum上的攻击交易获利719,437枚dForce USD (USX) 和 1236 枚 ETH(约195万美元)。ETH还留在Arbitrum链上的地址上,USX通过跨链桥转移到Optimism链上。在Optimism链上的攻击交易获利1,037,000 USX,最后所有的USX被兑换成了1110 枚ETH(约175万美元)。ETH还留在Optimism链上的地址上。[2023/2/10 11:59:11]

“typebyte(类型字节)"是EIP-2718里值为0x03的恒定字节。这是用来防止与其他签名规则冲突的,比如EIP-2930的访问列表交易、EIP-1559的费用市场交易、EIP-191的0x19签名消息等。

印度储备银行:加密货币既不是货币也不是金融资产:6月30日消息,印度储备银行(RBI)在6月30日发布的2022年6月金融稳定报告中承认加密货币已经获得了普及,但强调数字资产不能被归类为货币或金融资产,同时强调加密货币没有内在价值,会带来风险。此外,RBI认为加密货币市场与股票的相关性是另一个重大风险。因此,RBI坚持认为,加密货币的增长需要各国的紧急监管。根据该银行的说法,打算监管加密货币的政策制定者应该关注围绕网络风险和气候相关金融风险的挑战。

该报告补充了之前RBI对数字货币的怀疑态度,坚持认为数字货币对国家的金融部门构成了威胁。据RBI官员警告说,由于大多数加密货币以美元计价,可能导致国家经济的美元化。为了阻止私人加密货币的渗透,RBI指出其正在探索推出中央银行数字货币(CBDC)的可能性。随着不同国家对CBDC的研究,RBI建议每个国家在设计数字货币时应制定其风险缓解措施。(Finbold)[2022/6/30 1:42:32]

调用器地址把用户的调用与一个特定合约进行捆绑。签名只对该合约有效,即调用者。这使得用户可以选择一个他们信任的调用器——就像选择一个智能合约钱包托管资产一样。

我们预想调用器的数量不会多,因为如果他们实现出错的话(注意调用器的使用是选择性的),用户的利益会受损。开发一个安全的调用器花费会很高。它需要接受多方的审计,并在静态证明上是可靠的。

这与现状其实没有太大区别。智能合约钱包在被用来托管大额资产前应该通过了全面的审计与证明。很多大型DeFi项目也是这样做的。

要签名的最后一个参数是commit_hash。这就是给调用器设计师很大灵活性,以及允许非常多不同签名规则得以开发的地方。

委托参数限定调用者只能执行某些操作,并为处理一次调用建立了一定的有效性要求。用户可以信任调用器会遵循这个程序,因为代码可以在链上得到验证。这是区块链很好的一个特性。

现在来看一个简单的案例。假设一个用户想通过调用器发送一个调用。为了避免调用被传送,他们提供一个随机数。他们还提供其他不可篡改的数值。用户对这些数值进行哈希以获得委托,并在用于AUTH的签名信息里使用该委托。

调用器会用收到的值重新生成委托哈希值。这样,如果资助方修改了一个值,调用器会计算出一个不同于外部账户签名的委托哈希值,导致AUTH恢复一个垃圾地址。会出现下图的情况:

希望现在你相信调用器能像一个智能合约钱包那样运作,任何外部账户都可以使用。现在看一下如何用委托哈希构建更多有趣的方案。

总的来说,最重要的是”一个操作一个签名“。这是看待事情的一个简单方法。一个签名由一笔交易的哈希创造,为什么不对多笔交易进行哈希呢?其实EIP-3074是可以实现的。

当一个账户已经用AUTH验证了,调用器就可以进行该账户想要的、尽可能多次的AUTHCALL。因为我们信任该调用器会没有偏差地执行它的代码,这很好。我们还可以设计出委托哈希是多个调用的哈希值的方案。

在上文的方案里,调用者会用到全部的数值(随机数1、随机数2等),并把它们合起来进行哈希,生成一个委托哈希值。它用委托哈希值和用户签名来调用AUTH。AUTH会验证用户是否都对那些参数签名了。

然后,调用器会对所有调用逐个验证其随机数和其他参数,然后把鉴别过的调用数据发送到鉴别过的地址。

在这个基础上可以构建更多的方案。假如你添加了一个新参数”expiration"。这个参数会被哈希成委托哈希值,且在验证过程中,调用者会验证是否expiration<block.number。这样外部账户就可以有逾期交易了!

EIP-3074提供的是功能强大的基元,能为更多顺滑用户体验打开可能性而无须引入额外的信任假设。如果你想阅读这份EIP的完整版,你可以点击这里:

https://eips.ethereum.org/EIPS/eip-3074

用go-ethereum编写的原型实现可以在这里看到:

https://t.co/XWhlX9C4Y5?amp=1

原文链接:

https://twitter.com/lightclients/status/1371911245561917441

来源|@lightclients

郑重声明: 本文版权归原作者所有, 转载文章仅为传播更多信息之目的, 如作者信息标记有误, 请第一时间联系我们修改或删除, 多谢。

金星链

[0:31ms0-1:309ms