イーサリアムの億万長者になる素晴らしい機会を逃したかもしれません!
「Ethereumアカウント残高操作」というタイトルで提出された主要なバグにより、障害のあるトランザクションまたはアドレスウォレットを使用したスマートコントラクトの実行に関連する一連の手順に従うことで、ウォレット内の無制限のエーテルにアクセスできました。 しかし、バグは修正されたため、チャンスはなくなりました。
ドラマはどのように展開しましたか?
VI Companyというオランダのフィンテック企業は、昨年12月にCoinbaseに脆弱性を特定し、報告しました。 米国最大の暗号通貨取引所はすぐに行動を起こしましたが、1月後半までにバグを修正するのに1か月近くかかりました。 (Coinbase:内容と使用方法も参照してください。)
VI Companyは、Coinbase取引所から、問題の率直な報告に対して1万ドルの報奨金を受け取り、問題は公開されました。
バグは無制限のETH供給をどのように許可しましたか?
Ethereumは、ネットワークの不可欠な部分としてスマートコントラクトを使用しています。 この脆弱性は、次のシナリオのスマート契約による資金移動中に存在しました。
たとえば、ユーザーがスマートコントラクトを使用して、複数のウォレットのセットにイーサーを配布したとします。 この標準的な演習では、イーサリアムネットワーク上で複数のトランザクションが発生します。 このような中間トランザクションの1つが失敗すると、スマートコントラクトの動作メカニズムにより、それ以前のすべてのトランザクションも取り消されます。 (ハッカーに脆弱なイーサリアムスマートコントラクト:リスクのあるイーサ400万ドルも参照してください。)
ただし、これらのトランザクションが取り消されないCoinbaseアカウントで問題が発生します。 これにより、人はバランスに無限の数のエーテルを追加することができました。 Coinbaseウォレットのアドレスを調べると、Etherがクレジットされていないことがわかりますが、その人のCoinbaseウォレットにはトークンが表示されます。
基本的に、ユーザーはスマート契約を使用して、数百のトランザクションに分割された資金移動を開始できます。 ユーザーが意図的に誤ったトランザクションを最後に設定した場合、以前のトランザクションはすべて取り消され、ウォレットに累積トークン量が入金されます。
HackerOneは、問題を再現するためにVI Companyによって以下のステップをリストしています。
- いくつかの有効なCoinbaseウォレットと1つの最後の欠陥のあるウォレットでスマートコントラクトを設定し、スマートコントラクトを受け取るときに常に例外をスローするスマートコントラクトに適切な資金を転送するスマートコントラクトウォレットを離れることなく、スマートコントラクトの実行を開始します。 Coinbaseウォレットに設定された量のエーテルが追加されます。 完全なトランザクションは最後のウォレットで失敗するため、以前のすべてのトランザクションは元に戻りますが、Coinbaseアカウントでは元に戻りません。
このバグによる大きな違反や誤用の報告はまだありませんが、コインベースは「偶発的な損失」を確認しています。 Coinbaseは要約メモで次のように述べています。「この問題は契約処理ロジックを変更することで修正されました。 この問題の分析により、Coinbaseの偶発的な損失のみが示され、悪用の試みは示されませんでした。