ブログに戻る
ethereumsmart-contractsauditsecurity
2600万ドルのブラックボックス:なぜ未検証コードは時限爆弾なのか
5年前のスマートコントラクトが2600万ドルのETH搾取を受けました。コードが検証されていなかったからです。「ブラックボックス」コードを信頼するのはもはやオプションではありません。
Miguel Treviño•

要約:
- 搾取: 5年間ライブだったスマートコントラクトが、未検証バイトコードの脆弱性により2600万ドル(8,536 ETH)を失いました。
- 危険: 未検証コードは「ブラックボックス」として機能し、ユーザーも研究者もコントラクトが実際に何をするかを監査できません。
- 神話: このインシデントは「生存期間」がセキュリティを意味しないことを証明しています。欠陥は何年もの間休眠状態で存在し、トリガーされるのを待つことがあります。
- Zelfの基準: 重要なインフラはオープンソースで検証可能でなければなりません。ZelfはZK証明を使用して、盲目的な信頼を必要とせずに正確性を数学的に保証します。
信頼するが、検証せよ。暗号のゴールデンルールです。しかし検証できない場合はどうなるでしょうか?
セキュリティ研究者Pashovが強調した最近の搾取により、**8,536 ETH(約2600万ドル)**が失われました。被害者は?イーサリアムメインネット上で5年間ライブだったスマートコントラクト。
詳細な原因は?未検証バイトコード。
ブラックボックスの危険
5年間、ユーザーはこのコントラクトが正確に何をするか知らずにインタラクションしていました。ソースコードはEtherscan上で公開も検証もされていませんでした。「ブラックボックス」—人間が簡単に読んだり監査したりできないコンパイルされたマシンコードの集合体でした。
厳然たるリマインダーです:時間はセキュリティを意味しません。 コントラクトがハッキングされずに何年も存在してきたからといって、安全だとは限りません。時限爆弾がまだ爆発していないだけかもしれません。
「希望」を信じるな
DeFiの世界では、開発者が正直または有能であることを「望む」のは戦略ではありません。ギャンブルです。
Zelfでは、ブラックボックスセキュリティという考え方を拒絶します。
- オープンソース倫理:重要なインフラは検査のために公開されるべきだと信じています。
- ゼロ知識の完全性:サーバーの内部状態を信頼してくださいとは言いません。ZK証明を使用して、基礎となるプライベートデータを明かさずに計算が正しく行われたことを暗号学的に証明します。
Zelfを使用する場合、ブラックボックスを信頼しているのではありません。数学を信頼しているのです。