区块链安全公司 Zellic 的联合创始人 Stephen Tong 在最受欢迎的智能合约中发现了漏洞
在他的 Wrapped ETH (WETH) 格式验证 在研究中,Stephen Tong 验证了两个对 Wrapped Ether 的代币经济学设计至关重要的参数,Wrapped Ether 是一种 ERC-20 代币,在 DeFi 应用程序中反映了 Ether (ETH)。
分析师检查了 WETH 总供应量及其偿付能力的准确性:结果
今天,即 19 年 2022 月 20 日,Tong 发表了对 Wrapped Ethereum (WETH) 的两个功能的评论,这是以太坊 (ETH) 网络上的智能合约,旨在通过将其“包装”到常规 ERC 中来简化 DeFi 中的 ETH 使用- XNUMX 资产。
WETH 中的一个错误:
Wrapped ETH 是一种智能合约,已经进行了超过 125 亿次以太坊交易。 今年,所有交易中有 11.5% 使用了 Wrapped ETH。
但它安全吗? 我使用 SMT 求解器 Z3 正式验证了两个关键安全属性。👇🧵https://t.co/KH5vLjxwnm pic.twitter.com/fM7cf3TLAg—cts (@gf_256) 2022 年 11 月 19 日
他利用 Constrained Horn Clause (CHC) 工具来模拟 Wrapped Ethereum (ETH) 的所有可能状态。 然后,他检查了 WETH 智能合约的“总供应量”指标是否实际上等于铸造的代币数量。
他还试图验证是否可以随时从 WETH 中赎回 ETH; 童称这种功能为“偿付能力”。
关于第一点,分析师透露总供应量不一定等于现有代币数量:
从技术上讲,ERC-20 标准规定 totalSupply() 应该等于……“总供应量”。 这有点含糊,但人们会假设它是存在的总代币
Tong 总结道,通过终止合同或将任何合同资金转移到指定地址的 selfdestruct 功能,用户将能够铸造 WETH 代币,而无需实际发送 ETH 进行包装。
这对 WETH 用户真的很危险吗?
他还证明,以太币 (ETH) 的存款人不一定能够随时从智能合约中提取资金。
不满意! 这就是我们想要看到的结果! pic.twitter.com/ls7bhPakY1
—cts (@gf_256) 2022 年 11 月 19 日
因此,他提供了两个假设模型来证明 WETH 合约余额与实际铸造的代币数量之间没有相关性,以及可能影响提款过程的“偿付能力缺陷”。
然而,他强调这两种情况都是假设的,只是为了实验而建模的。 研究中的错误是“轻微的”和“无害的”。
自 2020 年推出以来,Zellic 审计了许多顶级 DeFi 协议,包括 1inch(1INCH)、LayerZero 和 SushiSwap(SUSHI)等。
资料来源:https://u.today/wrapped-ether-weth-design-bugs-unveiled-by-analyst