Solidity開発の初期には、符号なし整数(uint)に対する算術演算で、計算結果が最大値を超えても自動的に処理が巻き戻ることはありませんでした。その代わり、数値はゼロに巻き戻ってしまう(オーバーフローしてしまう)のです。これは、チェックされなければ壊滅的な結果を招きかねない挙動でした。後に広く普及した SafeMath ライブラリは、この問題に直接対処し、オーバーフロー対策をイーサリアム開発の標準的な一部へと押し上げました 。しかし、HongCoinのコントラクトは、これが一般的な慣行になるよりも前に展開されていたのです。
脆弱性を抱えた管理者機能は、本来、特定の活動に対する報酬としてチームがトークンを発行するために設計されたものでした。0xflorent氏は、この機能に意図的に巨大な値を入力することで、投資家のトークン残高を「2の256乗マイナス1」を超えてオーバーフローさせ、極小の数値に巻き戻す、つまり実質的に「リセット」できることに気づきました。これにより、残高は返金を阻んでいた「グローバルカウンター」の値を下回るのです 。
この管理者機能へのアクセス権は、HongCoinチームが管理するマルチシグ(複数署名)ウォレットによって守られていました。そのため、0xflorent氏は単独で行動することはできませんでした。彼はオリジナルの開発チームに連絡を取り、プライベート環境で実証した「コンセプトの証明」を共有し、資金を解放するための協調的な救出ミッションを提案しました 。
チームはこれに同意しました。2026年5月26日から5月30日にかけて、彼らは合計で 41回のオンチェーン取引 を実行しました 。それぞれの処理で、彼らは意図的に整数オーバーフローを引き起こし、異なる投資家のトークン残高をリセットしていきました。これは、資金を盗むためではなく、資金の流れを「再開」するために行われた、欠陥への外科的な悪用でした。
その結果、1,003.62ETHすべてのロックが解除されました。0xflorent氏はこの作戦を「イーサリアムにおける初のホワイトハット・エクスプロイト(善意的な悪用)」と評し、注目すべきことに、救出した資産から手数料を一切受け取りませんでした。ただし、早期に申請した2人の投資家からは、任意で報奨金(バウンティ)が支払われています 。
2026年6月1日現在、状況は驚くほどシンプルですが、完全には解決していません。
元のHongCoinコントラクトは完全に機能しています。必要なのは、新しいフロントエンドでも、移行ポータルでも、サードパーティ製のツールでもありません。投資家は、2016年に参加した時と同じウォレットを使用して、同じ「返金機能」をオンチェーンで呼び出すだけで済むのです 。
HongCoin ICOの物語は、イーサリアムの「青年期」から届いたタイムカプセルのようなものです。SafeMathのような標準規格の不在が、いかにして数百万ドルもの資金をデジタル上の「袋小路」に追い込み得るかを示しています。しかし同時に、この物語は、パーミッションレスなシステムにおいては、たとえ10年近く前のバグであっても、それを「解決策の鍵」として捉え直せることを証明しています——それを見抜くスキルと、それを善意のために使う誠実さがあればの話ですが。
Comments
0 comments