Binanceでビットコイン不正流出 リオルグ(reorg)を思いとどまったCZさんの判断は正しい!!

Binanceと言ったら、世界最大規模の仮想通貨取引所。
CEOのCZさん(=Changpeng Zao)は、頻繁なtweetで強い発信力を発揮。
常に新しい試みを提供して、仮想通貨市場を活性化し続けてくれる存在です。

そのBinanceにビットコインの大量流出発生のニュースが…

事件の発生は、日本時間の2019年5月8日
その規模は7,000BTC。
2019年5月現在のレートで言えば、40~50億円です。

事件自体はよくある不正引き出し。
今時珍しくもないのですが、CZさんが「リオルグによるチェーンのロールバック」を匂わせたので、少しきな臭い状況に…

今日はその顛末のお話です。

Binanceのビットコイン大量流出事件の概要

Binanceは、同社HPによる数度にわたる情報展開と、CZさん自身によるAMA(= Ask Me Anything)ライブストリーミングセッションで、今回の流出事件の状況について明らかにしています。

主なポイントを拾ってみると…

  • 2019年5月7日17:15:24(UTC)に、大規模な侵害を受けた。
    日本時間で言えば、5月8日02:15:24
  • 攻撃者は、7,000BTCをBinanceのホットウオレットから引き出した。
    他のウオレットには影響がない。
  • この損害は、#SAFUファンドによってカバーされる。
    顧客に損害が及ぶことはない。
  • 現在対策のためのセキュリティレビューを実施中。これには1週間程度かかる模様。
    その間、入出金は一時的に停止する。取引は可能。

#SAFUファンドは、Binanceが顧客保護のために2018年7月に作ったファンド。
Binanceの取引手数料収入の10%がこのファンドに充当されます。

今回の不正流出のトランザクションは1回のみ。
blockchain.comから見ることができます

この事件でのBinanceの対応は早く、CZさん自身がAMAライブストリーミングセッションで説明した点も好感されたのか、ビットコインの価格に大きな影響はありませんでした。
流出の規模も大きいとは言え、2018年度に500億円程度の利益を上げているBinanceの経営に深刻なダメージを与えるレベルではありません。

Binanceは、事件後のセキュリティチェックとシステムのアップグレードを終了し、入出金を含むすべてのサービスの提供を再開しています。
合わせて、5万BNBの無料配布も公表。
すべての機会を有効に使おうとするCZさんの貪欲さが、心地よい…

ただし、事件が起こってからの数日の間に、危なっかしい点がなかったかというと、そうでもありません。

CZさんが行ったAMAのセッションで、ビットコインのブロックチェーンを事件が起こる前の時点にロールバックする可能性に触れました。

There have been questions on whether we want to issue a rollback on the Bitcoin network.
Because right now, the 7,000 BTC, if we distribute that to miners, it will be far higher than what they got paid for in the last few blocks.
…(中略)…
So the [Bitcoin network] reorg is an idea that came from the community, I actually did not know that we could do that, but there are serious consequences, so we will take that [suggestion] very cautiously.

和訳すると…

ビットコインネットワーク上でロールバックを実施するかについて質問がありました。
今のところ、7,000BTCをマイナーに配布すれば、それは、彼らマイナーが最近のブロックのマイニングで得た報酬よりもはるかに高額となるでしょう。
…(中略)…
ビットコインネットワークのリオルグは、ビットコインのコミュニティから提案されたものです。
私はそれが可能かどうかわかっていませんでした。
しかし、リオルグは重大な結果をもたらします。我々は、その提案を慎重に取り扱います。

つまり、7,000BTCをマイナーに配布して、7,000BTCが不正に引き出される前の時点からリオルグ。
流出を除外したチェーンを作り直して、流出自体をなかったことにすることを検討していると、発言したのです。

リオルグ(reorg)とは?

ここで、CZさんの発言にある「リオルグ」について説明しましょう。

リオルグは、アルファベットで書くとreorg、reorganizationの略。「再編成」の意味。
ブロックチェーンの仕組み上、常に起こりうる不可避の現象です。

ブロックチェーンは、世界中の多くのマイナーによるマイニングによってブロックが鎖状に連結される仕組みです。
ブロックの中にはたくさんの取引の情報が格納されており、ブロックチェーンにつながれたブロックに含まれる取引が正規の取引として認められます。

ブロックチェーンは世界中のマイナーが独立につなげていきますので、分岐が頻繁におこります。
その中で正規のチェーンは一本のみ。最も長い枝が正規のチェーンとして認められ、他は捨てられます。
その際のブロックチェーンのイメージが下図。

ブロックチェーンのイメージ図

ブロックチェーンのイメージ図

これまで最も長い枝だと思っていたものよりも長い枝が出来上がり、そちらが正規のチェーンとなった現象がリオルグ。
リオルグによって短いほうの枝は捨てられ、その枝に含まれる取引の承認もなかったことになります。
しかし、通常は、正規のチェーンの側でも同じ取引が承認されるので、取引が承認されずに残ってしまうことはありません。

このように、リオルグそのものは特殊なことではなく、ビットコインのブロックチェーンをつなげていく過程で、頻繁に、かつ、不可避に起こる現象です。

CZさんは意図的にリオルグを起こすことを考えた!!

今回、CZさんの発言にあるリオルグは、上記のような普通に起こる現象とは違います。

7,000BTCが攻撃者にわたるのを防ぐために、不正な引出しが起こる前のブロックから続く新しい枝を、意図的に作り出そうとするものです。
すでに存在するチェーンの意図的な巻き戻し… ロールバックです。

これを可能にするために、通常のマイニング報酬を大きく超える報酬をBinanceが提供してマイナーを抱き込むことを示唆しています。
7,000BTCを不正者に渡すぐらいなら、そのお金を協力してくれるマイナーに配布したほうがよい。

そういう考えです。

現在のマイニング報酬は1ブロックあたり12.5BTC。7,000BTCは560ブロック分の報酬に当たります。
1日に生成されるブロック数は平均144。
うまくやれば、2,3日分のチェーンを再構成できるかもしれません。

でもね…
その発言を聞いた多くの人が思ったはず…

それって、中央集権だよね…
もっともビットコインらしくないやり方じゃないの?

とか

7,000BTC取り戻すのに51%攻撃使ってるのと同じだよね。
ビットコインの脆弱さを証明しちゃうことにならないの?

とか…

結局はリオルグを断念

結局、CZ氏は、上記のリオルグによるロールバック案の検討をやめました。

このtweetに続く複数のtweetで、リオルグによるロールバックによるメリットとデメリットを分析しています。

メリットは

  • 引き出されたビットコインを、不正流出の犯人からマイナーに移すことによって、犯人に対してリベンジすることができる。
  • 将来の不正に対する抑止になる。
  • 今回のような事象にビットコインネットワーク全体がどう対処できるか、についての試金石となる。

これに対して、デメリットは

  • ビットコインに対する信頼が損なわれる。
  • ビットコインネットワークや関連するコミュニティの分裂を招く。

そして以下のように発言しています。

While it is a very expensive lesson for us, it is nevertheless a lesson. it was our responsibility to safe guard user funds.
We should own up it. We will learn and improve.

和訳すると…

これが高くついたレッスンだったとしても、それは単なるレッスンにすぎない。ユーザーの資金の安全を保障するのが我々の責任だ。
我々は、この責任を負わなければならない。我々は今回の件から学習し、向上する。

7,000BTCの損失を貴重な学習の機会としてとらえて、前に進むことを決めたのでした。

今回の件で明らかになったこと

今回の事件は、上記の過程を経て収束しました。
いくつか、個人的な感想を述べます。

Binanceの今回の対応は、合格点

総じていえば、今回の件に対するBinanceの対処は悪くはないと思います。
情報公開も対応も早かった。
CEOのCZさんも逃げる姿勢を一切見せなかったのも、良い感じ。
おかげで、好転してきた仮想通貨市場へのインパクトを最小限に抑えることができました。

厳重に守っているつもりでも、穴はあります。
セキュリティに完全はありません。今回のような事件は必ず起こります。
その時にどういう対処をとり、その後につなげていくか?
セキュリティに深くかかわる企業の真価が問われるのは、ここです。

そういう観点から、Binanceの今回の対応は、ここまでは合格点

リオルグによるロールバックを断念したのは正しい判断

CZさんが、リオルグによるロールバックをあきらめたのは、正しい判断でした。

もともと、実行しようとしても、なかなか難しい話。
たとえ十分すぎる報酬が得られるとしても、ビットコインの基本的なコンセプトを無視するような話に協力するマイナーが、そうそう集まるとは思えません。

ですが、不可能だとしても、仮想通貨のコミュニティに最大レベルの影響力をもつBinanceが本気でその可能性を追求するなら、市場の混乱は必至。
実行できないにしても、大きな論争は不可避。

コミュニティの分裂…
小粒な通貨への分割…
仮想通貨市場の冷え込み…

マイナスのスパイラルが始まっていたかもしれません。

CZさんは周りの話に耳を傾けることのできる人だった

そして、今回最もよかった点…
それはCZさんが、周りの人々と対話できるちゃんとした人だったことが、分かったことです。

オーナーシップの強い企業のオーナーは、多くの場合独善的で周囲の話を聞かないものです。
Binanceに対するCZさんの影響力は強力、CZさん本人のキャラもなかなか強め。
正直、危惧していました。

でも今回の件で、CZさんが、ちゃんと仮想通貨コミュニティの中で会話し、妥当な判断ができる人だということが分かって安心しました。

事件発生当初は頭にきたでしょうし、
「なめんじゃねーよ!! リオルグで不正を無効にするぐらいの金は、いたくもかゆくもないんだぞ!!」
と思ったかもしれません。
Craigさんなら、そのまま突っ走ったんじゃないだろうか…

※ 自称SatoshiのCraigさんについてはこちら

自称サトシのCraigさん袋叩き ビットコインSV上場廃止で窮地に…

でも、CZさんはちがった。
仮想通貨のコミュニティあってのBinanceだということを自覚してくれていたようです。

仮想通貨の将来に期待している私としては、それが最も良かった点でした。