月亮链 月亮链
Ctrl+D收藏月亮链
首页 > Ethereum > 正文

BSP:对 EIP-3074 的批评以及一种简单的替代_BabySwap

作者:

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

对于开发者来说,AUTH/AUTHCALL 机制非常具有吸引力。它可以让人们创建调用者来实现不同的批量处理策略(例如,支持多个 nonce 来实现更好的并行性)、gas 抽象模型和复杂的账户抽象方法等。

这种灵活性源于这一机制赋予了开发者极大的自由。AUTH/AUTHCALL 机制不要求开发者遵循特定的模式,而是要求用户签署一个 commit 哈希值(commit 内容将由调用者来解析),让开发者基于 commit 自行设置限制。

然而,这种灵活性是以牺牲安全性为代价的。在本文中,我想要介绍一种更简单的替代方案。这个方案具备 AUTH/AUTHCALL 机制的绝大多数优点,但是风险远低于后者。

为什么签署一个 AUTH commit 所带来的风险高于签署一个与存在漏洞/恶意合约相关的事务?

BitKeep Swap 新增对 Solana 的支持:5月29日消息,BitKeep Swap 已集成 Solana 生态交易协议 Raydium,提供 Solana 链上代币交易服务以及 K 线行情查询功能。BitKeep 此前已经开通 Solana 跨链兑换通道,通过集成跨链桥 SWFT,用户可以在 Solana 与以太坊、BNB Chain、Polygon、Arbitrum 等链之间进行自由询价与交易。[2023/5/29 9:49:19]

用户在签署与合约相关的事务时,所承担的风险是已知的,即,可能会损失在该合约控制范围内的资产。比方说,用户给一个 ERC 20 合约签署了批准事务,授权恶意的 DEX 合约。这个恶意 DEX 合约就可以提走用户在 ERC 20 合约中的全部余额。但是,它无法从该用户的其它 ERC 20 合约中提走代币,除非得到该用户的批准。它也不能代表用户进行其它操作,因为这也需要专门获得用户的批准。

Animoca Brands 完成对 Web3 数字营销机构 Be Media 的收购:8月17日消息,Animoca Brands 宣布完成对 Web3 数字营销机构 Be Media 的收购。Be Media 由企业家 Jordan Fogarty 于 2013 年创立。Animoca Brands 此前表示,收购完成后,Be Media 将协助 Animoca Brands 与澳大利亚主要品牌建立合作伙伴关系。[2022/8/17 12:30:56]

相较之下,EIP 3074 不仅要求用户签署 “空白支票”,而且假设调用者是诚实且没有漏洞的。一个恶意/存在漏洞的调用者可以代表用户执行任何操作 —— 访问用户持有的资产,代表用户进行投票,控制用户所有的合约等。

更糟糕的是,调用者随时都可以作恶,因为 nonce 实现是由调用者控制的。存在漏洞/恶意的 nonce 逻辑实现可以重放用户过去的事务。如果 commit 验证的其它部分的逻辑也存在漏洞,调用者就可以利用这个 nonce 逻辑实现来代表用户执行任何操作。即使漏洞被发现,用户也无法撤回空白支票。这个外部账户(EOA)已经被永久入侵了。

公告 | Upbit:终止对 BAY/BTC 交易的支持:Upbit发布公告表示,由于Bittrex交易所将在BTC市场上终止对BAY交易支持,因此Upbit宣布将终止对 BAY/BTC 交易的支持,用户可以在9月6日前将账户内的BAY回撤,BAY/BTC 交易终止时间为9月5日。[2019/8/8]

编写一个正确的调用者程序很难,而且我们几乎可以肯定,调用者会不定期出现错误,从 EIP 3074 最后列出的调用者应该警惕的检查/漏洞/情况非详尽清单中可见一斑。这份清单势必会变得越来越长,很可能伴随着痛苦的发现过程。

此外,恶意参与者可以编写一个看似无害的调用者程序,但是故意留下一个细微的漏洞,等到大量外部账户授权该调用者之后才会被攻击者利用。

如果攻击者没有直接或立即利用这个漏洞从用户那里窃取资金,这个漏洞可能很长时间都不会被发现。

恶意去中心化交易所 EveSwap 为其用户编写了一个调用者程序。这个调用者程序通过空投 EVE 代币来为用户提供 gas 资助,并批量处理用户的批准和转账事务。

声音 | BM:我喜欢看到所有现实世界对 EOSIO 的采用:据 IMEOS 报道,BM 刚刚在推特上转发了一篇文章《利伯兰自由共和国利用 EOSIO 构建去中心化自治政府》并写道,我喜欢看到所有现实世界对 EOSIO 的采用。

利伯兰自由共和国是一个由捷克人维特·耶德利奇卡于2015年4月13日创立的私人国家,在将来正式得到国际承认后会成为全球第三小的主权国家。在文中,利伯兰总统说到,“之所以选择 EOSIO,是因为它是一种顶级技术,它提供了许多在区块链上运行国家管理所需的功能。例如,它能够将我们的国民大会,司法部甚至公司注册纳入一个可随时间而发展的综合系统。”[2019/4/24]

EveSwap 的调用者程序看似无害,而且永远不会窃取用户的代币,因为这样马上就会露馅。

用户很开心。交易都成功了,交易费也很便宜。几个月来平安无事。

然而,每当有人使用 EveSwap 交易 AliceSwap 的治理代币 ALI 时,会自动将用户的 AliceSwap 投票权委托给 EveSwap。

声音 | CNBC主持人Ran NeuNer:股票市场的修正或让基金经理对 BTC感兴趣:CNBC主持人 Ran NeuNer发推称,股票市场的修正对BTC来说应该是个好兆头。在某个阶段,基金经理寻找创造性的地方,以获得股票、债券和黄金之外的回报。考虑到股票市场正在经历大规模修正,它可能会让 BTC看起来很便宜,对他们来说很有吸引力。[2018/12/25]

一旦授权人数达到某个阈值,EveSwap 就会通过治理提案劫持 AliceSwap。

EveSwap 用户不太可能注意到这个过程,因为交易总是成功的,但是最终会给 AliceSwap 带来毁灭性的打击。

EIP 3074 合理地建议 commit 应该包含 chainid。但是,这是由调用者,而非协议执行的。在另一条链上有着相同地址的调用者可能会跳过该检查(或与此相关的检查)。

EveSwap 在兼容 EVM 的 BobSpongeChain 上运行,后者支持 EIP 3074。EveSwap 在 BobSpongeChain 上部署了一个诚实的调用者。

用户使用该调用者在 BobSpongeChain 上交易,然后使用桥将资产转移到以太坊上。

EveSwap 使用同一个部署密钥在以太坊上部署了另一个地址相同的调用者。这个在以太坊上的调用者不会检查 commit,只会检查 ownerOnly,并充当其所有者的通用 AUTH/AUTHCALL 代理。

这样一来,EveSwap 就可以劫持用户在以太坊上的外部账户并卷走他们的资产了。

用户从未在以太坊上交易过,运行在 BobSpongeChain 上的调用者程序又经过了严格的安全审查。尽管如此,用户还是丢失了全部资产。

以太坊通过 EIP 155 的重放保护来防范这种情况。AUTHCALL 没有重放保护。由于所有 commit 检查都交给调用者完成,我们失去了以太坊提供的一切交易保护。攻击是在所难免的,因为保护措施很随意。如果要接受EIP 3074,AUTH 消息必须明确包含 chainid,而非将其作为 commit 的一部分。

我的提议是实现一个更明确的机制,在协议层面强制规定 commit 的含义。commit 结构将是类型化的(如 EIP 712 所述),钱包会以用户可读的形式将 commit 呈现出来。用户可以确切地知道事务是什么样子的,并确信这个事务不会在任何链上重放,无需依赖于调用者程序开发者的品行和能力。

一个可能的实现:

AUTH 将使用包含授权调用列表的类型化结构代替 commit 哈希值。每个调用都将指定 {nonce,to,gas,calldata,value,chainid}。签名将被验证,整个授权调用列表将保存为 authorized_transactions 而非 authorized 地址变量。

AUTHCALL 将得到一个新的参数 index,该参数指向最后一个 AUTH 创建的列表中的地址。

用户地址的 nonce 将随 AUTHCALL 递增。nonce 并非由调用者存储,而是实际的账户 nonce。

利:

用户可以清楚地了解情况。

安全性由协议保障。

依然支持批处理和账户抽象。

弊:

nonce 实现,不支持并行。

复杂调用者程序的事务处理起来很繁琐,因为用户必须查看并接受整个调用列表。

不同的实现可能支持不同的 nonce 方案。但是,无论我们使用什么机制,该机制必须由协议而非调用者执行。

无论如何都应该避免让复杂调用者执行大量用户调用。复杂操作应该作为普通的智能合约实现,而非尝试实现使用多个外部账户调用的算法。

还有一个选择是完全避免 AUTH 机制,并通过 vbuterin 建议的另一种交易池来解决账户抽象和批量处理问题。

无需硬分叉,可由智能合约和可以感知这些智能合约的节点支持。

可用于一切支持 EIP 3074 的实现,而不会引入额外的风险。

不向后兼容已有的外部账户。用户需要部署一个合约钱包并将资产转移到该钱包内。

除非要求在不迁移的情况下支持已有的外部账户,否则这个选择看起来更安全。

标签:BSPNBSAUTHSWAPBSPAY价格nbs币发行量AuthorshipBabySwap

Ethereum热门资讯
NFT:区块链进入“疯狂出圈”时代 NFT新叙事全解读_DEF

目前的NFT在圈内毫无争议是一个炙手可热的词儿,除非你是一个刚刚入圈的萌新,否则对于NFT概念的定义和解释,相信你早已烂熟于心.

1900/1/1 0:00:00
区块链:新型:电信瞄准了虚拟货币_SDT

电信网络是近年来高发多发的一类新型网络犯罪,人民群众深恶痛绝。目前利用虚拟货币、区块链等新技术产物进行电信网络案件更是越来越多.

1900/1/1 0:00:00
DEFI:DeFi项目分析:DeFi赛道的蓝海—保险_Clever DeFi

Trade your own risk.金融指货币的发行、流通和回笼,贷款的发放和收回,存款的存入和提取,汇兑的往来等经济活动.

1900/1/1 0:00:00
USD:半年增长超800亿美元 稳定币市场究竟谁输谁赢?_BABYUSDT

稳定币作为加密资产世界的圣杯之一,一直备受市场的关注,从年初至今,仅仅是锚定美元的稳定币市场规模就从300亿美元增长到当前超过1100亿美元.

1900/1/1 0:00:00
比特币:牛市还在吗?这10个指标帮你下判断_比特币暴跌要完了

本文将涵盖10个不同的比特币指标数据,大部分被证明是有效的,曾正确预测过上一轮牛市高峰。下面我们将对比过去和现在的数据,进一步帮助我们深入剖析当下行情走到何种阶段.

1900/1/1 0:00:00
加密货币:币安为何遭遇全球监管围堵?出路在哪?_ANC

币安成立于2017年,曾是国内三大数字货币交易所之一。由于中国的政策法规限制,2018年2月后币安宣布退出中国市场,此后业务更多面向海外.

1900/1/1 0:00:00