2016年5月末に、パブリックブロックチェーン「Ethereum(イーサリアム)」上で流通する暗号通貨Ether(イーサ、通貨単位:ETH)を通じて100億円以上の資金を集めた事業投資ファンド「The DAO」が、同年6月17日にコードの脆弱性を突かれ、資金の約3分の1を流出させる騒ぎがあった。

 The DAOは、ドイツのスタートアップSlock.itがDAOのコンセプトを実証するために組成した事業ファンドだ。5月28日までにEthereum上で1207万ETH(5月28日時点の相場で約156億円)を調達したが、6月17日から18日にかけて約3分の1に当たる364万ETHが流出した。流出したEtherはThe DAOの子DAO上にプールされて(リンク:流出先の口座)おり、仕様により27日間は動かすことができない。

 DAOとは分散型自動化組織(Distributed Autonomous Organization)の略で、ブロックチェーン上のスマートコントラクトを使って構築された仮想組織を指す。スマートコントラクトとは「プログラムとして記述され、計算機上で自動的に実行される契約」としてニック・サボ(Nick Szabo)氏によって1993年までに提唱された概念である。

 イーサリアムは、スマートコントラクトを実行できるブロックチェーンベースの分散アプリケーション実行環境として設計された。ビットコインと比べて柔軟なプログラミング言語を持つ。そして「The DAO」は、分散型自動化組織というコンセプトを実証するため、自然言語の契約ではなく、イーサリアム上のスマートコントラクトでDAOを構築し、実際に運用しようとする試みだった。

 だが今回、The DAOを構成するスマートコントラクトのプログラムコードに脆弱性があり、その脆弱性を突かれてThe DAO内部のEtherの一部が別の口座に送金されてしまった。

 今回の攻撃に対してイーサリアムの提唱者ヴィタリック・ブテリン(Vitalik Buterin)は、イーサリアム自体の安全は損なわれていないと表明した上で、The DAOから流出したEtherを凍結するために、イーサリアムに参加するコンピュータノードのブロックチェーンソフトウエアを修正する「ソフトフォーク」を提案している。(リンク先:DAO脆弱性に対応した更新に関するイーサリアムプロジェクトの声明

 ソフトフォークとは後方互換性を維持したアップデートを指すもので、旧バージョンのソフトウエアも引き続き使い続けることができる。The DAOから流出したEtherの利用を止めるには、7月14日までにイーサリアムのソフトフォークを実施する必要がある。さらに凍結されたEtherをThe DAOに払い戻すためには、後方互換性のないソフトウエア更新を全てのイーサリアムノードに求める「ハードフォーク」が必要となるが、その実施に対して専門家の間では反対意見も多い。

 今回の事件はMITメディアラボ所長の伊藤穣一氏がThe DAOの資金調達に対して懸念を表明 (リンク先:フィンテック・バブル )した矢先の出来事だった。伊藤氏の懸念は、The DAOがまだ法的にきちんと記述されておらず、投資家にパートナーシップ上のパートナーとしての損害賠償責任を負わせかねないこと、まだ十分に検証されているとはいえないイーサリアム上に構築されていること、The DAOのキュレーターでもあるヴラド・ザムフィル(Vlad Zamfir)氏を含む専門家グループがThe DAOの脆弱性について指摘し、プロジェクトの一時停止を働きかけていた(リンク先:A Call for a Temporary Moratorium on The DAO)にも関わらず、実施を強行したことだった。

 ひとまず流出したEtherの凍結と返還について技術的な見通しは立ったものの、実際に流出したEtherがThe DAOの手元に戻るかどうかは予断を許さない。凍結にはイーサリアムのソフトフォーク、返還にはイーサリアムのハードフォークが必要で、まずソフトフォークについて実装が提案されている(リンク先:GitHub)段階だが、その実行にはEtherの報酬目当てにコンピュータ資源を提供する「採掘者」たちの協力が必要となる。