不断进击的以太坊:EIP-1559之后的EIP-3074能带来哪些改变?

原标题:《不断进击的以太坊:EIP-1559之后的EIP-3074》

Ropsten测试网已于6月24日上线,区块高度为10,499,401。自部署以来,约有88,500个测试网以太坊被烧毁,价值1.776亿美元。大约在Eth2启动的同时,价值2亿美元的10万以太坊已经被存入Eth2的质押合约。备受期待的以太坊改进提案EIP-1559最终部署在Ropsten测试网,用于以太坊即将到来的伦敦升级。几天前,伦敦硬分叉的三个以太坊测试网发布日期公布。以太坊核心开发者TimBeiko宣布Ropsten、Goerli和Rinkeby测试网的区块高度已经确定。Ropsten的高度为10499401,已于6月24日推出。另一方面,Goerli在6月30日,Rinkeby将在7月7日。

EIP-1559的燃烧机制可能有利于代币的价格

虽然伦敦硬分叉有5个以太坊改进提案,但EIP-1559已经吸引了所有的注意力。新的升级预计将消耗网络上的交易费用。据EIP-1559跟踪网站WatchtheBurn报道,自从Ropsten测试网在伦敦进行升级后,约有88500个测试网以太坊被烧毁,价值1.776亿美元。然而,EIP-1559所燃烧的大量以太坊再次引发了Eth2大修通货紧缩的讨论。由于燃烧机制,以太的燃烧速度比流通的供应更快。这可能对ETH的价格非常有利。

在EIP-1559之后,社区关注的是EIP-3074,旨在解决安全问题

报告:比特币持续横盘,导致交易量不断下滑:过去几周,比特币的波动性出现了前所未有的下降,其整合趋势开始于5月初,并迅速发展为9000美元到10000美元之间的窄幅交易区间。从那时起,在这个范围之上或之下的每次突破都是短暂的。这种波动性使许多活跃的市场参与者选择观望,导致交易量大幅下降。

Arcane Research在最近的一份研究报告中提供了一张图表,显示了比特币交易量的下降,同时补充称,这种趋势“令人担忧”。报告指出:“本周,比特币的7天平均真实交易量继续下降……而加密市场的总体交易量看起来比比特币交易量更稳定,这种稳定的下降趋势令人担忧……”根据分析平台Skew的数据,过去一个月里,Coinbase上的比特币日交易量非常低,平均为7400万美元。(CryptoSlate)[2020/7/17]

然而,EIP-1559并不是以太坊社区关注的唯一EIP。EIP-3074是社区在升级中高度期待的另一个改进提案。根据DavidMihal和他的推文,以太坊忽视的一个主要安全问题是ERC20的批准。他补充说,他已经推动了ERC777,他们修复这一问题的唯一机会是EIP-3074。这一以太坊改进提案将允许用户在一次交易中批准转账、执行操作和撤销批准。

此前,以太坊开发者注意到EIP-1559的设计并不是为了降低gas成本:但许多人仍然相信,该提案肯定会大幅降低gas成本。这甚至可能使矿工的收入减少50%,导致“矿工起义”,但最终以失败告终。尽管如此,伦敦的升级预计将促进以太坊的看涨趋势。知名加密分析师CryptoQuant指出,大约在Eth2推出的同时,价值2亿美元的10万以太坊已经存入Eth2的质押合约。目前,超过5%的ETH供应量被锁定,价值约117.5亿美元。

伊拉克恐怖主义风险不断上升,Bitisis交易所BTC持续溢价420美金:最近几周,极端组织“伊斯兰国”对伊拉克及其邻国多地频频发动袭击,引发外界对当地恐怖主义风险不断上升的担忧。中东环境持续动荡,中东最大交易所Bitisis.com对比其他地区交易所持续溢价420美金。(国际在线)[2020/5/8]

什么是EIP-3074?

当我们想要发送代币到智能合约时,通常必须做两个交易:第一笔交易approve是花费我们的代币的合约,第二笔是transferFrom将代币发送到合约的交易。

EIP-3074通过引入一种智能合约的方式来在外部拥有的账户(EOA,或简单地说一个常规以太坊地址)中发送交易,来解决问题。

这个EIP介绍了两个EVM指令AUTH和AUTHCALL。第一个设置*authorized*基于ECDSA签名的上下文变量。第二个发送呼叫作为*authorized*。这实质上将EOA的控制权委托给了智能合约。

AUTH和AUTHCALLEVM指令(也称为操作码),让智能合约基于已签名的消息授权EOA,并从该EOA发送交易(“调用”)。这带来了很多可能性,比如:

声音 | 学习时报:区块链等技术快速发展,数字科技与普惠金融融合程度不断加深:学习时报今日发表文章《数字科技助力普惠金融》。文章指出,近年来,随着大数据、云计算、人工智能、区块链等信息技术的快速发展,数字科技与普惠金融的融合程度不断加深,数字科技日益成为我国破解普惠金融落地难点、实现普惠金融可持续发展的重要手段。文章中表示,数字科技有助于提升小微企业金融服务可得性,破解小微企业融资难融资贵难题;有助于提高金融服务的覆盖面,解决金融服务“最后一公里”问题;有助于打通各参与方之间的数据通道,打造多元化普惠金融生态系统。[2020/2/14]

赞助交易(也称为元交易):从另一个账户支付交易的gas。这也将允许我们从一个没有任何以太的地址发送代币。批量交易:在一个调用中发送多个交易。这保证了在同一个区块中执行两个或多个交易,还可以降低交易费用。改进的用户体验(UX):例如,我们可以在单个交易中调用approve和transferFrom。与这些问题的现有解决方案不同,EIP-3074不需要智能合约钱包。我们可以简单地将交易发送给执行交易的所谓调用者。调用者是无状态的、无需信任的智能合约,它们不要求我们预先将余额发送给合约。EIP-3074也没有引入新的交易类型。通过只引入两个新的EVM指令,它在技术上应该更容易实现。

AUTH和AUTHCALL操作码

EIP-3074定义了两个新的操作码,可以从智能合约中调用:

声音 | 交易员Crypto Bitlord:我们正在朝着分叉XRP不断迈进:曾扬言要分叉XRP的交易员Crypto Bitlord称,他和他的同事们正在朝着硬分叉XRP迈进。Crypto Bitlord在Periscope上发布的一段视频中披露了这一信息,声称专家们正在尽一切努力让XRP硬分叉,并谴责Ripple向投资者抛售数十亿XRP。Crypto Bitlord表示,XRP离分叉越来越近,相关白皮书很快就会发布。他还提到,关于推进分叉的地下工作也正在进行,以获得官方支持。据悉,Crypto Bitlord是那些不满Ripple将其部分加密资产投资于有潜力推动XRP效用以提振币价的人之一。据此前消息,Bitlord曾给Ripple Labs下了60天的“最后通牒”,要求其停止抛售,否则“将发起一场社区接管”。此后该交易员称,因为此事收到了很多死亡威胁。[2019/9/14]

AUTH(0xf6)-根据签名和提交授权外部拥有的帐户。它接受四个输入参数:commit和签名的yParity、r和s。AUTHCALL(0xf7)-在授权的EOA上下文中发送调用(交易)。它接受8个输入参数:gas、addr、value、valueExt、argsOffset、argsLength、retOffset、retLength。这类似于现有的CALL操作码。为了授权一个EOA,我们需要一个来自该EOA的签名消息。调用AUTH的智能合约可以从消息签名中恢复签名者,然后将消息签名设置为authorizedEVM上下文变量。现在,无论何时智能合约调用AUTHCALL,调用者都被设置为授权地址。当被调用的智能合约调用CALLER(例如,通过Solidity的msg.sender)时,这现在是授权EOA的地址,而不是执行调用的智能合约调用者的地址。

动态 | 2019年7月国内一级市场区块链融资10强发布 区块链行业的发展不断向产业端深入:据中国金融信息网报道,8月8日,中国金融信息网与烯牛数据联合发布2019年7月份国内一级市场区块链项目融资10强榜单。从榜单来看,在整体融资大幅下滑的趋势下,2019年7月份国内区块链项目融资数量出现回升。监测数据显示,数字货币和交易平台类融资项目明显增多,天秤币白皮书的发布在一定程度上提振了市场预期,但是此类项目将面临与天秤币的直接竞争,其商业逻辑未来或将受到天秤币严酷打压。与实体经济结合的项目依然占据着榜单的主流,分别涉及金融、大数据、交通运输、电商、传媒、产权、房地产和游戏领域。从连续发布的榜单来看,区块链行业的发展不断向产业端深入,应用端的开发落地越来越具体,与实体经济结合发展的想象空间逐渐立体化。从技术角度来看,加密、数据库、共识、P2P和智能合约的发展日益成熟,区块链作为集成性创新技术的发挥边界正在逐步拓展。[2019/8/8]

发送一个或多个交易的基本流程如下所示:

一个基本的EIP-3074流程,其中调用者契约发送多个交易。

EOA签署授权信息;EOA或其他gas支付人将交易数据和授权信息发送给调用者合约;调用者合约使用AUTH执行授权,并使用AUTHCALL发送交易。谁将交易发送到合约中并不重要,只要EOA的签名是有效的。这使得其他人(或另一个帐户)可以发送交易。

授权消息和提交

为执行授权,EOA必须以特定格式签署消息:

(注意:||用作字节串联操作符)

它由三部分组成:一个魔术字节(0x03)、填充到32字节的调用者地址(将执行授权的智能合约的地址)和32字节的提交。

授权消息格式,包括可用于提交的示例

提交描述了EOA提交的对象,并且可以根据调用的某些属性(如地址、值)进行计算。调用者合约可以根据提供的属性重新计算提交,如果这些字段正确,则执行授权。

例如,假设我们想要发送以下交易(表示为JSON):

我们可以哈希这些字段(例如,以一种确定的方式将它们连接在一起,或者使用EIP-712之类的东西)并将其用作提交。

我们可以在智能合约中提供要发送的交易和授权消息的签名,如此JSON数据所示。合约函数可以是这样的:

智能合约重新计算提交交易,并将此提交(连同签名)提供给AUTH调用。这将尝试恢复签名者的地址,如果提交无效,将从签名中恢复错误的地址,这意味着交易将失败。

调用者完全负责确保此提交是安全的。我们可以简单地用0x0将消息签名为提交,并给予智能合约对EOA的完全访问权。EIP-3074以前的版本包含了一个更严格的提交格式,包括像重放保护之类的东西,但后来为了更灵活而被删除了。因此,信任与我们交互的调用程序非常重要。

限制和安全问题

EIP-3074能够基于签名更改CALLER,从而显著地改变了EVM的工作方式。这可能会在新合约和现有合约中引入潜在的漏洞。因此,EIP-3074被审计。

下面解释了一些可能的安全问题。由于这些不同的原因,EIP-3074建议只与受信任的调用者进行交互。

弱提交和重放攻击

如上所述,EIP-3074没有为提交定义标准化的格式。调用者可以自由地以他们想要的任何方式实现这一点。这意味着调用者完全负责提供足够的保护,以防止(例如)重放攻击。

如果提交不包含某种随机数,则可以简单地获取签名消息并将其再次发送给调用者。恶意调用者可以通过根本不验证提交来获得对EOA的控制。我们在签名消息时应该始终小心。

通过在授权消息中包含调用者的地址,EIP-3074具有防止重放攻击的基本保护。这样就不可能在另一个调用者上重放一个调用程序的授权消息。

可升级的调用程序

EIP-3074明确地指出,调用程序必须是不可升级的。如果调用程序是可升级的,则有人可以部署该调用程序的另一个版本,该版本不验证提交,从而给予合约对EOA的完全控制。

重入攻击

目前,智能合约可以使用require(tx.origin==msg.sender),它检查一个交易是否从EOA(而不是另一个合约)发送。这允许简单的重入预防,因为它防止合约调用函数。

EIP-3074也允许tx.origin成为授权消息的签名者。即使调用是由智能合约AUTHCALL执行的,调用者执行的任何s也会导致tx.origin==msg.sender为真,从而可能引入重入攻击。EIP-3074提到:“本EIP的作者没有找到任何这种形式的重入保护的例子,尽管搜索并非详尽无遗。”

结论

EIP-3074为以太坊带来了许多令人兴奋的新可能性。AUTH和AUTHCALL允许EOA将帐户的控制权委托给智能合约调用者,从而使发送批量交易、赞助交易等成为可能。不过,它对以太坊上的交易工作方式带来了一些重大变化,所以在EIP-3074在主网上被激活之前,还需要对安全性进行更多思考。

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

银河链

Polygon波卡生态 | Plasm 发布 Shiden 众贷奖金说明

加入PolkaWorld社区,共建Web3.0! 这是一篇简短的文章,解释了我们的平行链插槽租赁发行(PLO)策略以及PLO的工作原理。在与Polkadot的社区成员沟通后,我们意识到很多人误解了PLO的概念.

[0:31ms0-1:966ms