ウォレット開発者が教える「仮想通貨の安全な管理方法」とは?

特集 Dapps(自律分散型アプリケーション)の可能性

中村昂平

この連載「Dapps(自律分散型アプリケーション)の可能性」ではブロックチェーンによって活用できるようになった「Dapps(自律分散型アプリケーション)」について様々な可能性を解説してきます。第一回の今回はまず「Dapps」に入る前に、仮想通貨を扱う上で重要でな 「仮想通貨の安全な管理方法」についてご説明します。

仮想通貨は危険で盗まれやすいもの?

昨年末、ビットコインは過去最高値をつけ、その高騰ぶりは連日ニュースとなり、年初に対して20倍弱となる価格をつけるなど、熱狂的高騰を見せました。

しかし、Coincheckの当時の価格で580億円にもなる巨額盗難事件が起きると、一転して「仮想通貨は危険な盗まれやすいもの」という認識が急速に広まってしまったと感じています。

「仮想通貨」は、「危険で盗まれやすいもの」なのでしょうか。私は、そのような認識が広まっていることが残念でなりません。

本当はむしろ、まったく逆で「仮想通貨」を支えるブロックチェーン技術は、正しく理解し、「適切に管理すること」ができれば、「人類史上かつてない安全な資産」となる可能性を秘めているのです。

高い情報セキュリティを持つブロックチェーン 

ブロックチェーンは、「分散型台帳技術」と呼ばれるものです。要するに、みんなで共通のデータを持って、取引をみんなで確認するデータベースで、結果的に「改ざんしづらい」&「どこか壊れても動き続ける」を特徴に持っている技術になります。

そんなブロックチェーンは、信頼性の確立したインターネットを支える2つの技術の組み合わせによって構成されています。1つ目が「P2P」と呼ばれる複数の端末間で通信を行う技術、もう一つが「公開鍵暗号」と呼ばれる技術です。

P2P(Peer to Peer)
個々のPCを直接つなぎ、ノードを通じて個々のPCが対等に通信することで情報共有を可能にする仕組み。通常のクライアント=サーバ型の通信とは異なり、特定のPCがハッキングにあっても、不特定多数に分散されているため、元のデータは影響を受けることがないというところに特徴があります。

公開鍵暗号
共通の鍵を使うのではなく、「秘密鍵」と「公開鍵」と呼ばれる鍵のセットを作り、通信の途中で情報を改ざんしたり、内容を盗聴されないように暗号化するための技術。ブロックチェーンでは、「秘密鍵で暗号化された文字列を公開鍵で復号化した際に一致するかどうかを検証する」ことで、取引の実行者が秘密鍵の所有者であることを機械的に確認しています。

この2つの技術を組み合わせることで、既存では不可能だった高いセキュリティのもと作らえているものが仮想通貨になります。

仮想通貨は立てこもり型ではなく、公開型のセキュリティ

従来のクライアント=サーバ型では、デジタルデータの安全性(例えば複製されたり、改ざんされたり)を特定の管理者が保護する必要と責任がありました。そのため、「事前」に不正なアクセスを防ぐ「堀や壁」を多重に設定していました。

その結果、攻撃側の技術が上がるにつれて防御側の必要コストもあがるという「いたちごっこ」の状態にありました。そして、「管理者が適切な処理を実施していると信じなければならない」という欠点もありました。

一方で、ブロックチェーンではP2P型で、公開鍵暗号によって「事後」に、本人認証/取引の正当性の確認を実施します。結果的に、攻撃側の技術が向上しても、コンセンサスアルゴリズムさえ適切に動作していれば、情報セキュリティを維持できます。これは画期的な違いであり、ゆえに「仮想通貨」は従来のデジタル資産よりも格段に管理コストが安価で安全であるといえます。

仮想通貨を安全に保つのに、大事なのは「秘密鍵」の管理 

仮想通貨が情報セキュリティ的には安全であることは上述してきましたが、公開型のセキュリティで、情報を保護する中央管理者もいないため、大事なことは「秘密鍵」の管理をどう実施していくか?というポイントです。

なぜならば、ブロックチェーンにおいては、秘密鍵なしには「送金を含む何らかの処理」はできず、秘密鍵を適切に管理して初めて、その仮想通貨があなたの資産であることの証明をすることができるためです。

「取引所のハッキングや盗難」が起きる理由

実は今までにビットコインやイーサのような主要な仮想通貨のブロックチェーンは、ハッキングされたことはありません。

というのも、ブロックチェーンのハッキングのためには、コンセンサスアルゴリズムを実質的に支配する「51%攻撃」を実施する必要があります。現状その攻撃をするには天文学的なコストがかかるためです。(なお最近だとモナコインでselfish-miningという手法で攻撃が実施されたので、主要なブロックチェーン以外は注意が必要です。)

では、なぜ取引所のハッキング(通称Gox*)や盗難は起こるのでしょうか?

それは「秘密鍵の管理方法」にあります。

*2014年に大規模にハッキングされたMt.Goxという取引所の名前から、仮想通貨取引所がはキングされることを「Gox」というような通称で呼ばれるようになりました。

取引所を使うということは、「秘密鍵」の管理を「第三者」に委ねている状態

現在多くの仮想通貨仮想通貨取引所は、前述の表現でいうと立てこもり型セキュリティ、つまり一定の法人が預けられた資産を管理する中央集権的な仕組みです(ブロックチェーンが非中央集権の仕組みと言われているので、この部分取引所も非中央集権だと誤解されていることが多いです)。

Coincheckの盗難事件では、「マルチシグでなかった/ホットウォレットだった」などといった取引所のセキュリティへの指摘もあります。しかし根本的には、本来自分で管理するべき秘密鍵を、立てこもり型セキュリティである取引所に預けている状況であったということが考察すべきポイントです。本来それは非常に危険な行為です。

現在一般的な中央集権型の仮想通貨取引所に仮想通貨を預けるということは、上述したブロックチェーンにおけるセキュリティの肝とも言える「秘密鍵」を自分で持っていない=その恩恵を全く受けられていない状況といえます。皆さんにも改めてその危険性を認識していただきたいです。 

→次ページ「取引所をハッキングするインセンティブは満ちあふれている」へ

この記事の著者

中村昂平

トークンポケット株式会社 共同創業者 兼 Dapps CryptoCrystal Product Lead 兼 リクルートキャリア 

慶應義塾大学経済学部卒。人材業界において転職領域のメディアにおけるデータ分析、戦略策定に従事。ブロックチェーンの魅力に気づき、ブラウザ&ウォレットアプリtokenPocketとDapps CryptoCrystalを創業。

トークンポケット株式会社 共同創業者 兼 Dapps CryptoCrystal Product Lead 兼 リクルートキャリア 

慶應義塾大学経済学部卒。人材業界において転職領域のメディアにおけるデータ分析、戦略策定に従事。ブロックチェーンの魅力に気づき、ブラウザ&ウォレットアプリtokenPocketとDapps CryptoCrystalを創業。