ブロックチェーン セキュリティ会社 Zellic の共同創設者である Stephen Tong 氏は、これまでで最も人気のあるスマート コントラクトにバグを発見しました。
彼の ラップされた ETH (WETH) のフォーマット検証 Stephen Tong 氏は、DeFi アプリケーションで Ether (ETH) をミラーリングする ERC-20 トークンである Wrapped Ether のトークンノミカル設計に不可欠な XNUMX つのパラメーターを検証しました。
アナリストは、WETH の総供給量とそのソルベンシーの正確性をチェックしました: 結果
本日、19 年 2022 月 20 日、トング氏はラップド イーサリアム (WETH) の XNUMX つの機能に関するレビューを公開しました。これは、イーサリアム (ETH) ネットワーク上のスマート コントラクトであり、DeFi での ETH の使用を通常の ERC に「ラップ」することによって合理化するように設計されています。 XNUMX アセット。
WETH のバグ:
ラップされた ETH は、125 億 11.5 万件を超える Ethereum トランザクションで使用されているスマート コントラクトです。 今年は、すべてのトランザクションの XNUMX% がラップされた ETH を使用しました。
しかし、それは安全ですか? SMT ソルバー Z3 を使用して、XNUMX つの重要な安全特性を正式に検証しました。👇🧵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() が…「総供給量」と等しくなければならないと規定しています。 これはちょっとあいまいですが、存在するトークンの合計であると想定できます
契約を終了するか、指定されたアドレスへの契約資金の転送を行う自己破壊機能を介して、ユーザーはラッピングのために実際に ETH を送信することなく WETH トークンを作成できると Tong 氏は結論付けました。
これはWETHユーザーにとって本当に危険ですか?
彼はまた、Ethers (ETH) の預金者が必ずしもいつでもスマート コントラクトから資金を引き出すことができるとは限らないことを示しました。
うんざり! それが私たちが見たい結果です! pic.twitter.com/ls7bhPakY1
— cts (@gf_256) 2022 年 11 月 19 日
そのため、WETH コントラクトの残高と実際に発行されたトークンの数との間に相関関係がないこと、および引き出しプロセスに影響を与える可能性のある「ソルベンシーの欠陥」を示すために、XNUMX つの仮説モデルを提供しました。
しかし、彼は両方の状況が仮説であり、実験のためにのみモデル化されていることを強調しました. 研究のバグは「マイナー」で「無害」です。
2020 年のローンチ以来、Zellic は 1inch (1INCH)、LayerZero、SushiSwap (SUSHI) など、数多くの一流の DeFi プロトコルを監査してきました。
ソース: https://u.today/wrapped-ether-weth-design-bugs-unveiled-by-analyst