区块链NFT投资,BTC/USDT/CGPAY,虚拟加密货币交易行情分析平台
解析 EIP-3074 的工作流程与安全性
| 百款NFT链游免费玩 | 数字货币支付图解教程 | 区块链游戏获利技巧 | 
EIP-3074 使以太坊发送批量交易、赞助交易等成为可能,但在被激活之前还需要对安全性进行更多思考。
- Ropsten 测试网已于 6 月 24 日上线,区块高度为 10,499,401。
 - 自部署以来,约有 88,500 个测试网以太坊被烧毁,价值 1.776 亿美元。
 - 大约在 Eth2 启动的同时,价值 2 亿美元的 10 万以太坊已经被存入 Eth2 的质押合约。
 
备受期待的以太坊改进提案 EIP-1559 最终部署在 Ropsten 测试网,用于以太坊即将到来的伦敦升级。几天前,伦敦硬分叉的三个以太坊测试网发布日期公布。以太坊核心开发者 Tim Beiko 宣布 Ropsten、Goerli 和 Rinkeby 测试网的区块高度已经确定。Ropsten 的高度为 10499401,已于 6 月 24 日推出。另一方面,Goerli 在 6 月 30 日,Rinkeby 将在 7 月 7 日。
EIP-1559 的燃烧机制可能有利于代币的价格
虽然伦敦硬分叉有 5 个以太坊改进提案,但 EIP-1559 已经吸引了所有的注意力。新的升级预计将消耗网络上的交易费用。据 EIP-1559 跟踪网站 Watch the Burn 报道,自从 Ropsten 测试网在伦敦进行升级后,约有 88500 个测试网以太坊被烧毁,价值 1.776 亿美元。然而,EIP-1559 所燃烧的大量以太坊再次引发了 Eth2 大修通货紧缩的讨论。由于燃烧机制,以太的燃烧速度比流通的供应更快。这可能对 ETH 的价格非常有利。
在 EIP-1559 之后,社区关注的是 EIP-3074,旨在解决安全问题
然而,EIP-1559 并不是以太坊社区关注的唯一 EIP。EIP-3074 是社区在升级中高度期待的另一个改进提案。根据 David Mihal 和他的推文,以太坊忽视的一个主要安全问题是 ERC20 的批准。他补充说,他已经推动了 ERC777,他们修复这一问题的唯一机会是 EIP-3074。这一以太坊改进提案将允许用户在一次交易中批准转账、执行操作和撤销批准。
此前,以太坊开发者注意到 EIP-1559 的设计并不是为了降低 gas 成本:但许多人仍然相信,该提案肯定会大幅降低 gas 成本。这甚至可能使矿工的收入减少 50%,导致「矿工起义」,但最终以失败告终。尽管如此,伦敦的升级预计将促进以太坊的看涨趋势。知名加密分析师 CryptoQuant 指出,大约在 Eth2 推出的同时,价值 2 亿美元的 10 万以太坊已经存入 Eth2 的质押合约。目前,超过 5% 的 ETH 供应量被锁定,价值约 117.5 亿美元。
什么是 EIP-3074?
当我们想要发送代币到智能合约时,通常必须做两个交易:第一笔交易 approve 是花费我们的代币的合约,第二笔是 transferFrom 将代币发送到合约的交易。
EIP-3074 通过引入一种智能合约的方式来在外部拥有的账户 (EOA,或简单地说一个常规以太坊地址) 中发送交易,来解决问题。
这个 EIP 介绍了两个 EVM 指令 AUTH 和 AUTHCALL。第一个设置 authorized 基于 ECDSA 签名的上下文变量。第二个发送呼叫作为 authorized。这实质上将 EOA 的控制权委托给了 [a] 智能合约。
AUTH 和 AUTHCALL EVM 指令 (也称为操作码),让智能合约基于已签名的消息授权 EOA,并从该 EOA 发送交易 (「调用」)。这带来了很多可能性,比如 :
- 赞助交易 (也称为元交易):从另一个账户支付交易的 gas。这也将允许我们从一个没有任何以太的地址发送代币。
 - 批量交易:在一个调用中发送多个交易。这保证了在同一个区块中执行两个或多个交易,还可以降低交易费用。
 - 改进的用户体验 (UX):例如,我们可以在单个交易中调用 approve 和 transferFrom。
 
与这些问题的现有解决方案不同,EIP-3074 不需要智能合约钱包。我们可以简单地将交易发送给执行交易的所谓调用者。调用者是无状态的、无需信任的智能合约,它们不要求我们预先将余额发送给合约。EIP-3074 也没有引入新的交易类型。通过只引入两个新的 EVM 指令,它在技术上应该更容易实现。
AUTH 和 AUTHCALL 操作码
EIP-3074 定义了两个新的操作码,可以从智能合约中调用 :
- AUTH (0xf6) -根据签名和提交授权外部拥有的帐户。它接受四个输入参数:commit 和签名的 yParity、r 和 s。
 - AUTHCALL (0xf7) -在授权的 EOA 上下文中发送调用 (交易)。它接受 8 个输入参数 :gas、addr、value、valueExt、argsOffset、argsLength、retOffset、retLength。这类似于现有的 CALL 操作码。
 
为了授权一个 EOA,我们需要一个来自该 EOA 的签名消息。调用 AUTH 的智能合约可以从消息签名中恢复签名者,然后将消息签名设置为 authorized EVM 上下文变量。现在,无论何时智能合约调用 AUTHCALL,调用者都被设置为授权地址。当被调用的智能合约调用 CALLER(例如,通过 Solidity 的 msg.sender) 时,这现在是授权 EOA 的地址,而不是执行调用的智能合约调用者的地址。
发送一个或多个交易的基本流程如下所示 :
一个基本的 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 在主网上被激活之前,还需要对安全性进行更多思考。
| 百款NFT链游免费玩 | 数字货币支付图解教程 | 区块链游戏获利技巧 | 
相关文章
热门推荐
- 解析波卡平行链插槽拍卖参与方式及潜在影响
 - 美国 SEC 监管行动如何影响加密货币市场?
 - 两小时蒸发数千亿美元,加密货币市场究竟发生了什么?
 - 孙宇晨 60 万 ETH 如果被清算,ETH 价格真会跌破 1...
 - 硬盘热炒、挖矿门槛高涨,Chia 究竟是「绿色比特币...
 - 新生代稳定币协议 Claim 开启 IDO,白名单活动教程
 - 资管赛道投资热度高企,Figure 完成本周唯一亿级融资
 - 为内容创作者提供易用的一站式解决方案
 - 专注高端加密艺术市场的 NFT 平台
 - 加密货币市场整体走势场震荡下行
 - 内蒙古等多地矿场被清退,比特币系统会受影响吗?...
 - 告别 PoW 之后,以太坊能耗究竟会如何?
 - 比特币挖矿真的有害环境吗?Coinbase 澄清比特币挖...
 - Richest的数字货币投资学习日记和空投整理 | 区块...
 - 巨鲸上周购买了约 7.7 万枚比特币
 - 从非合作博弈理解 DeFi 衍生品协议 Shield 治理与...
 
最新文章
- 川普《60 分钟》谈加密货币、特赦 CZ:誓言让美国...
 - Stream Finance 爆 9,300 万美元损失!暂停存提款...
 - Animoca Brands 宣布将合并 Currenc,明年赴美「借...
 - 比特币跌破 10.5 万美元、多军惨赔 12 亿美元!11 ...
 - 再加码 397 枚比特币!Strategy 拟发行欧元计价优...
 - BitMine 加码 8.2 万枚以太币、持仓突破 120 亿美...
 - 买入 ZEC 为砸盘 BTC?隐私币暴涨背后的 4 大产业真相
 - 智能合约存在「致命漏洞」!Balancer 惊传遭骇,损...
 - 警告「世纪大崩盘」将来袭!罗伯特清崎:快买比特...
 - 「数位欧元」开发进入最后阶段!争取 2029 年全面...
 - 香港证监会发布新指引:允许虚拟资产平台连接全球...
 - 比特币「牛市涨不动」!分析师揭「盘整闷局」背后真相
 - 「V 神」赞一句值千金!ZKsync 两日狂飙 143%,创...
 - 赵长鹏自曝「买进 209 万枚」!$ASTER 飙逾 20% 引...
 - 链上费用报告:1,124 个协议实现获利,营收突破 20...
 - 机构掌控 12.5% 的比特币? Bitwise:这场「财富大...
 
					
					
														BTC
														ETH
														USDT
														XRP
														BNB
														SOL
														USDC
														STETH
														TRX
														DOGE