orangeitems’s diary

40代ITエンジニアが毎日何か書くブログ

コインチェック社のミスリードで、問題の本質がずれている現状を憂う(2018/2/22修正)

f:id:orangeitems:20180128165633j:plain

コインチェック問題については、27日午前0:00のコインチェック社の会見を境にいろいろ調査をはじめた。マルチシグやコールドウォレットなど、いろいろなことを学んだ。また、28日午前1:30には、コインチェック社から日本円での保障を行う旨の発表があった。また、ネム財団の存在を知った。そのコミュニティーに日本人開発者が存在し、彼が今回のハッカーのウォレットにモザイクというタグを埋め込んだこと。それを監視し続けたこと、自動化するプログラムをネム財団が作成し運用を始めたことなども知った。これで、ハッカーが現金化できないようにしようとしている一連の活動を知った。

一方で、状況は改善していない。コインチェックでの売買は停止されているし、日本円の出金もできない。補償の方針は発表されたものの時期は未定だ。

スポンサーリンク

 

今回、会見に集まったマスメディアも仮想通貨の専門家ではなかったし、私も知識は浅かったので、コインチェック社の発言を元に調査を始め、それを検討し思考した。今になってみると、コインチェック社にミスリードされている可能性を感じ始めた。

マルチセグでコールドウォレットなら安全だった。社内に十分なリソースがなかったので対応する予定ではあったが追いつかなかった。」

マスメディアも私も含めて、この思考に偏ってしまったように思う。

 

一番に問題視すべきは、1つの秘密鍵が盗まれることで、全仮想通貨が引き出せてしまうそのアーキテクチャーだ。

 

顧客ごとにウォレットという電子的な財布があり、この中に秘密鍵があり、公開鍵がありアドレスがある。これを通じて、ブロックチェーンと呼ばれる取引所全体で作る共有ストレージに取引記録を分散して保管する。これがそもそもの仮想通貨の大前提だ。

ウォレットが独立していたら、今回のように根こそぎ全口座を一変に抜き出すのは不可能だ。それこそウォレットごとハッキングしなければいけないのだから、26万口座全部をハッキングするのは短時間では不可能なのだ。

 

ところがである。今回はそれができてしまった。

※この辺りのナマナマしい動きが、以下で報道されている。かかった時間は5分だ。

www.businessinsider.jp

 

 

これを可能にしているのが、階層的決定性ウォレット、またはHDウォレットというアーキテクチャーだ。シードと呼ばれる暗号から、それにひもづく孫ウォレットを複数作る技術である。シードを握ってしまえば、そこから作られたウォレットを全てを管理することができてしまうという技術である。

 

しかも、この階層的決定性ウォレットが、現在の仮想通貨界のウォレットのデファクトスタンダードである点だ。いろいろな取引所で使われている。ということは、どの取引所も、シードをおさえてしまえば、今回のように一括で短時間に抜き出すような事例が起き得るということになる。

(2018/2/22修正)

階層的決定性ウォレットが問題だと記事を書いた時点では思ったのですが、こちらに修正した通り、どうも今回は1つのウォレットもしくはアカウントに、顧客資産を固めて置いていたのが問題のようです。なおさら問題ですが・・。

 

マルチシグやコールドウォレットの話は、小手先のように思える。なぜ、仮想通貨において、リスクは分散されていないのか。ブロックチェーンの本質は分散ではなかったのか。分散を否定するようなこの集中管理型の階層的決定性ウォレットが、取引所のビジネス拡大とユーザーの利便性追求を前提に、利用されていることが最も問題の本質であることに気づいた。

仮想通貨技術において、取引所のリスクを軽減するために、1つ1つの口座は独立しなければいけない。1つの口座が被害を受けたからといって、もう1つの口座は安全であるべきなのだ。26万口座が、1つの鍵もしくは2つ、3つの鍵でコントロールできるようなアーキテクチャーは、それだけで脆弱だ。

 

この議論を、もっと世の中がしてほしい。

なんで、26万口座を短時間にいっぺんに抜き出せたのか。もっとこのリスクを共有して欲しい。

 

切に願う。

 

追記(2018/1/30 0:37)

下記に、この問題の本質に対する私の提案をアップしました。

 

追記(2018/2/1 13:13)

ほらやっぱり。

zaif社のNEM仮想通貨管理が脆弱であると指摘されている件 - orangeitems’s diary