仮想通貨は誕生して10数年と歴史は浅いですが、様々な事件が起こっています。素晴らしい技術でも残念ながら悪用しようと考える人はいます。いいものは使い方次第で紙一重になります。
今回は有名な事件を紹介していきます。もっとも有名なMt.Gox事件はここで紹介すると長くなるので、別の記事で書いてます。
51%攻撃
2018年5月13日から15日かけて、国産仮想通貨であるモナコインを対象に攻撃した事件になります。
ちなみにモナコインとは、日本のインターネット掲示板である2ちゃんねるから発祥した国内初の仮想通貨です。
この事件では、モナコインが採用しているコンセンサスアルゴリズム(合意形成)であるPoWの特性を利用されたセルフィッシュマイニングと呼ばれる攻撃です。
直訳すると利己的なマイニングになります。ここでは、自己都合でマイニングを行うことを意味します。
PoWとは簡単にいうと、ブロック生成時に膨大な計算を行うマイニング(採掘)をします。世界中のマイナーが膨大な計算の末に、一番早く解を求められたものがブロックを生成でき、その対価として報酬がもらえる仕組みとなっています。
PoWでは計算パワーを競争するのですが、同時に2つのブロックが生成されてしまうことがあります。このことを食事の際に使用するフォークの枝分かれした先端にちなんでフォークするといいます。
フォークする理由
①同時にマイニングに成功したとき
②取引の処理性能を上げるため(スケーラビリティ問題を解決するため)
③悪意のある人からの攻撃
①は稀にありますが、②はブロック内の容量がいっぱいになると取引の処理速度が低下し、送金が遅延するようになります。このことをスケーラビリティ問題と呼ばれています。この問題を解決するためにブロックサイズを変更するといったアップデートを行います。
③が今回起きた事件の原因になります。悪意のある人がマイニングに成功し、不正送金等の取引データを含むブロックをネットワークに公開せず隠し持っています。その状態でマイニングを行い、ブロックを繋げていきます。このように自己都合でマイニングを行うことがセルフィッシュマイニングです。
メインネットで公開されているチェーンより一定以上長いチェーンを用意して公開します。下記の図のようになります。
2つのブロックが生成される場合どうなってしまうのかというと、
一定以上長く繋がっているチェーンの方が採用され、短い方は消滅します。ブロックが消滅してしまったため、取引もなかったことになり本来貰えるマイニングの報酬も無くなってしまいます。
このようにネットワーク全体で計算パワーが半数以上、つまり51%以上の計算パワーを手に入れることができれば不正をすることができてしまいます。圧倒的な計算パワーでブロックチェーンをコントロールしてしまうことを51%攻撃といいます。
ただし本来の取引がなかったことになるだけであり、他人の仮想通貨を盗むことはできません。
コインチェック事件
2018年1月26日に国内取引所のコインチェックがハッキングされ、銘柄であるネム(NEM)が約580億円不正送金されてしまった事件です。
この不正送金に気づくまでに11時間以上かかったと言われています。時系列でみてみましょう。
日時 | 出来事 |
2018.1.26 00:02 | 1100円流出 |
2018.1.26 00:04 | 110億円流出 |
2018.1.26 00:06 | 110億円流出 |
2018.1.26 00:07 | 1110億円流出 |
2018.1.26 00:08 | 110億円流出 |
2018.1.26 00:09 | 110億円流出 |
2018.1.26 00:10 | 22億円流出 |
2018.1.26 00:21 | 3.3億円流出 |
2018.1.26 03:35 | 1.7億円流出 |
2018.1.26 04:33 | 1.1億円流出 |
2018.1.26 08:26 | 8816万円流出 |
2018.1.26 11:25 | 残高の異常を検知 |
2018.1.26 12:38 | 売買停止 |
2018.1.26 17:23 | 大半の通貨を売買停止 |
2018.1.26 23:30 | 記者会見で流出を公表 |
始めにハッキングできるか少額で試し、次から億単位で盗み出しています。
原因としては、サーバーに接続した状態のホットウォレットで通貨を保存していたことです。サーバー上のウォレットに鍵をかけて管理していたところ、サーバーを攻撃されその鍵(秘密鍵)を盗み出されてしまいました。
当然盗まれれば鍵を開けて中身を取り出されてしまうといったことがあり得るので、サーバーから遮断されているコールドウォレットに分散して保存する対策をします。これをしなかった運営側のずさんな管理が問題で、仮想通貨に使われているブロックチェーン技術の問題ではないという結論に至りました。
同年の3月にユーザーに対して約460億円の補償が行われた。
The DAO 事件
2016年6月17日にイーサリアム上で採用しているスマートコントラクトのシステムの脆弱性を悪用され、DAOの資金の3分の1(当時の相場で約50億円)であるイーサリアムを盗まれた事件です。
ここで新たに用語が出てきたので、確認しておきましょう。
ブロックチェーン上のシステムで、あらかじめ設定したルールに該当すれば自動的に契約を実行する仕組みのこと。
一番初めにこのシステムを採用したのが、自動販売機です。
ルール:一定の金額を投入→ボタンを押す
契約成立:該当する飲み物、食べ物が出てくる
Decentralized Autonomous Organizationの略で、直訳すると自立型分散組織。
中央管理者がおらず、労働者は存在する組織。
また、階層構造もなく、労働者ひとりひとりによって自律的にかつあらかじめ決められたルールに従って運営されている。
ソフトフォークだと分岐がいずれ収束するので、盗まれたイーサを取り戻すことができません。なので、ハードフォークで対策を検討しました。
内容としては、イーサが盗まれる前の状態に戻してしまおうというもので、盗まれる前のブロックを起点にハードフォークさせ別のブロックチェーンを作ることにしました。
こうすれば盗まれることを無効にできるとイーサのコミュニティ参加者のうち半数以上が賛成をとったため、ハードフォークすることにしました。
ただハードフォークするにも問題があります。分岐したチェーンは盗まれる前のブロックと互換性がなくなってしまったため、新たな銘柄になってしまうことです。
こうして新たな銘柄としてイーサリアムクラシック(ETC)が誕生し、イーサが盗まれるのを防ぎました。
元々の方をイーサリアムクラシックとし、新たにできた方をイーサリアムとしました。
この事件から非中央集権のブロックチェーンでも場合によってコミュニティ参加者の意見でフォークを実行できてしまう中央集権的な操作ができることも明らかになりました。
このようなことがあるので、スマートコントラクトの設計者は充分検討を行わなければ、銘柄の信用を失ってしまいます。
まとめ
ブロックチェーン技術にもまだ抜け穴があるのが事実です。これにいかに速く気づき迅速に対応するかがキモになります。まだ浅い歴史なのでこれからどんどん改良され、より良い仕組みができてくると思います。今後の技術にも期待しましょう。
各事件の対策
・51%攻撃:現在有効な手がない
・コインチェック事件:サーバーから遮断されたコールドウォレットで管理
・The DAO事件:ハードフォークする
最後まで読んで頂きありがとうございます!
ご意見等ございましたら下記に記載願います!
コメント