仮想通貨

セキュリティ面で見る仮想通貨と取引所

投稿日:2018年1月27日 更新日:

昨日のCoinCheck騒動で仮想通貨への信頼がまた揺らいでいます。
どうしてこんなに仮想通貨は流出しやすいの?というあたりを今回考えてみたいと思います。
ちなみに私は登録セキスペでもなければネットワークスペシャリストでもないので、発言の信憑性に関しては各自でご判断ください。

もくじ

汎化した内容

仮想通貨とは

P2Pネットワークを基盤として、「誰がどれだけの通貨を持っているのか」という情報を、非中央集権で保証する仕組みのことです。
…いまかなり多様な仮想通貨が出ているので、上の説明は一般論ですが。

とにかく重要なのは、ユーザがP2Pネットワークに参加する必要があるということです。

仮想通貨取引所とは

主な役目は2つあります。

  • 仮想通貨を他の通貨と交換するサービスを提供すること
  • P2Pネットワークに参加できない利用者に対して、代わりにP2Pネットワークに参加すること

仮想通貨取引所によって、一般の利用者はP2Pネットワークがどうとかいう難しい話を抜きにして仮想通貨を使うことができるわけです。
そして仮想通貨取引所には、利用者が保持する仮想通貨が全て集まっているP2Pのノードが存在する、ということになります。

仮想通貨の不正流出とは

仮想通貨は持ち主しか知らない秘密鍵によって守られています。まあ銀行の暗証番号のようなものです。
この秘密鍵をサーバへのハッキングなど何らかの方法で取得できれば、持ち主に成り代わって送金することができます。

セキュリティ上気をつけるべきこと

一般的に、仮想通貨は匿名性が高いです。しかしこの言葉は「仮想通貨と現実の人間を紐付けるのが難しい」という意味です。
P2Pネットワークに参加しているノードのIPアドレスはモロバレであるということをしっかり認識する必要があります。
また、P2Pネットワークに参加する以上、ノードは不特定多数からのアクセスを許容しなければならないことにも注意が必要です。

P2Pノードとするサーバマシンと、秘密鍵を保持するサーバマシンを分け、P2Pノードを乗っ取られても秘密鍵が流出しないようにすることが理想です。
しかし仮想通貨によってはP2Pノードのマシン上に秘密鍵を持たなければ動作しないものもあります。
少々強引な手ですが、P2Pノードを2つ用意し、WAN側にプロキシノードを置いてLAN側に秘密鍵を保管するデータベースノードを置くということが考えられるでしょう。下図のような感じです。

もちろんそれ以前の最低限のセキュリティとして、P2Pノードとするマシンは最低限必要なポート以外は完全に閉じるべきであることは言うまでもありません。
また、コールドウォレット(ネットワークから物理的に分断した場所に秘密鍵を保管する方法)も検討すべきですが、コールドウォレットに入れてしまうと取り出しに時間を要するため、取引所が行うセキュリティ対策としては利用者の利便性を下げてしまうことに注意が必要です。

今回の例について

NEM($XEM)とは

ねむは仮想通貨です。
非公認キャラクターのねむちゃんも居ます。

ねむのネットワークセキュリティに関する特徴

ねむはコンセンサスアルゴリズムとしてPoI(Proof of Importance)を採用しています。
正直自分もよくわからんのですが、ざっくり言えばP2Pノードと紐づくオンラインウォレットがあれば、そのウォレットに報酬が入ると言うもの、だと思います。

また、スーパーノードという特殊なP2Pノードが存在します。
スーパーノードはネットワークの健全性を保つために一部のノードに重い役目を課すもので、その一方で高い報酬が得られます。
スーパーノードになるには、300万XEMを持つウォレットが必要です。(その他に条件については公式サイトとか日本語説明とかを読んで下さい)

つまり、スーパーノードは、300万XEMを超える金持ちである証明なわけです。

CoinCheckの例

CoinCheckは仮想通貨取引所です。
仮想通貨取引所では一般的に、利用者の所持する仮想通貨はローカルな台帳で管理し、仮想通貨のネットワーク上では1つのウォレットでお金をまとめて管理します。
そうしないとデイトレーダー達の激しい売買がすべてブロックチェーン上に乗ることになり、仮想通貨ネットワークが非常に迷惑するからです。
CoinCheckもそうです。すべての$XEMを1つのウォレットで管理していたようです。
そして、CoinCheckはスーパーノードでした

悪意のあるユーザから見れば格好の的です

CoinCheckの持つウォレットのアドレスは調べればすぐ分かりますし、スーパーノードのIPアドレスはねむのネットワーク全体の公開情報です。
おそらくウォレットとIPアドレスを紐付けるのは容易でしょう。
このIPをハッキングできれば、500億円手に入る」というのが公にバレているのです。

あとはCoinCheckがどれだけ強固にセキュリティを固めるかにかかっていたわけですが、今回の件でCoinCheckはザルだったと言う他ありません。

$XEMに対する風評被害対策

今回の例は完全にCoinCheckの落ち度です。
$XEMという仮想通貨に何らかの問題があったわけではありません。

スーパーノードという仕組みについても、公式で「セキュリティはしっかりしろよ」と明言されています。
そして、$XEMには通貨として高いセキュリティレベルを保てるための仕組みがいくつも用意してあります。
P2Pノードと秘密鍵を切り離して保管する仕組みも通貨レベルで用意してありました。Coincheckが(おそらく)使っていなかっただけです。
今現在も、盗難された$XEMをマーキングして追跡中であり、完全にトレースできています。
盗難された$XEMが戻るかどうかは泥棒次第ですが、「盗まれた$XEMをバーン(使用不可に)する」というのは技術的にも十分に可能です。

おわりに

仮想通貨がセキュリティ機能を提供することと、取引所がその機能を適切に使うことは別の議論です。
いま、仮想通貨取引所が乱立しつつありますが、その安全性についてきちんと見定めねばなりません。

  • 仮想通貨取引所自身が、不正な組織でないこと
  • セキュリティが強固であること
  • 仮に盗難被害に遭った場合、何らかの保証を行うこと

このあたりがしっかりと確立した仮想通貨取引所を選びたいものです。

仮想通貨という市場はまだまだ発展の途中で、ようやく大手証券会社が本腰を入れ始めたところです。
より安全な取引所が開設されることを望みます。

-仮想通貨

執筆者:

関連記事

no image

ビットコインをイチから説明してみる その3

この記事は前回の続きです。 ようやく本論に入るので、なんならここから読んだって構いません。 もくじ 今回のお品書き 前回までで概念的なお話にケリがついたので、今回はついに技術的な話にはいっていきます。 …

no image

ビットコインをイチから説明してみる その2

この記事は前回の続きです。 ここから読んでもべつに問題ありませんのでご安心ください。 もくじ 今回のお品書き ビットコインを初めとする仮想通貨が成り立つには、「誰もが信じられる台帳」が必要です。 今回 …

no image

ビットコインをイチから説明してみる その4

この記事は前回の続きです。 今回はビットコインの価値の出処と原価について。 もくじ 今回のお品書き 前回までで色々と仕組みを説明し、仮想通貨というのが有り得そうな気配がしてきました。 今回は、なぜビッ …

no image

ビットコインをイチから説明してみる

もくじ はじめに 仮想通貨についてそこそこ内容がわかってきて、何がどうなっているのかをおぼろげに理解できてきました。 自分の整理もかねて、「ビットコインってなんなんだよ」っていうのを吐き出してみたいと …

CentOSでXPdをビルドする

$XPの公式がどうやらUbuntu派っぽいんだけど、個人的にはCentOS派なのでメモ。 大前提 対象OSはCentOS7。 2018年1月14日現在(バージョン1.1.0)の情報なので気をつけること …