この連載「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の盗難事件では、「マルチシグでなかった/ホットウォレットだった」などといった取引所のセキュリティへの指摘もあります。しかし根本的には、本来自分で管理するべき秘密鍵を、立てこもり型セキュリティである取引所に預けている状況であったということが考察すべきポイントです。本来それは非常に危険な行為です。
現在一般的な中央集権型の仮想通貨取引所に仮想通貨を預けるということは、上述したブロックチェーンにおけるセキュリティの肝とも言える「秘密鍵」を自分で持っていない=その恩恵を全く受けられていない状況といえます。皆さんにも改めてその危険性を認識していただきたいです。
→次ページ「取引所をハッキングするインセンティブは満ちあふれている」へ
取引所をハッキングするインセンティブは満ちあふれている
多くの取引所(DEXといわれる分散型取引所を除く)は、競合よりもユーザービリティの高いサービスを提供するために、従来のクライアント=サーバ型で構成されています。ですから結果的に、それらの取引所は既存の情報セキュリティが必要となります。
つまり既存の銀行や証券会社レベルの情報セキュリティが必要になるのです。しかし多くの仮想通貨取引所は、銀行ほどの防御のためのコストをかけられていないことも多く、そういった意味では非常に攻撃しやすい状況にあると言えます。
また、最近の仮想通貨の高騰により、莫大な仮想通貨の資産を取引所は持っています。仮想通貨は法定通貨に比べれば捜査当局の足がつきづらいので、ハッカーにとっては既存の銀行を攻撃するよりも取引所を攻撃するインセンティブが「防御コストの低さ」×「足のつきにくさ」という点で高まります。
言ってしまえば他の金融機関などを攻撃してきたハッカーにとって、取引所は「かもがネギを背おっている状態」に見えている状況です。
ブロックチェーン・ウォレットで秘密鍵を自ら管理すべし
取引所ではなく「秘密鍵を安全に管理する」にはどうすればよいのでしょうか?
ずばり、仮想通貨ウォレットを利用しましょう。仮想通貨ウォレットとは、「ブロックチェーンの情報」を適切に利用するための「秘密鍵」を管理するアプリケーションのことです。
いろいろな種類がありますが、財布に入れられないような大金であれば基本的にはハードウェアウォレットをおすすめします。財布にいられるくらいの金額感であればスマートフォンなどのソフトウェアウォレットに入れて管理するのも利便性としてはいいかもしれません(ただし一般的には後述のとおりソフトウェアウォレットは、ハードウェアウォレットに比べるとセキュリティレベルは劣ります)。
(1)ハードウェアウォレット
物理的なUSBのような形を持つウォレットで、LedgerやTREZORが代表的なハードウェアウォレットです。秘密鍵を暗号化して保管でき、利用する時以外ネットワークにつながっていないため安全です。ただし、近年Amazonやメルカリなどで秘密鍵を設定済みの状態の中古品を販売し、資産を強奪するという詐欺が流行しておりますので、必ず正規の代理店で、新品を購入するようにしてください。
(2)ソフトウェアウォレット
スマートフォンやPCなどにインストールして利用できるウォレットです。秘密鍵を暗号化して保管するところは共通していますが、スマートフォンウォレットに関してはスマートフォンの紛失や盗難など別のリスクがあるため大金を預けるのはヒューマンエラーの観点で危険です。また秘密鍵を預けるタイプのウェブウォレットに関しては、取引所と実質的は同じなので避けるようにしてください。
ブロックチェーン・ウォレットを使う上で気をつけねばならないこと
(1)ウォレットの提供者の確認をしよう
利用する前にそのウォレットの提供者について「誰が出しているか?怪しくないか?」を確認しましょう。
前述の通り、秘密鍵さえ保たれていれば非常に安全なブロックチェーンのセキュリティですが、秘密鍵が漏れてしまえば本当にたやすく全ての資産が盗まれてしまいます。
例えば、HB Walletというアプリケーションでは、内部の元エンジニアの責任者が秘密鍵を転送する機能を実装して一部の資産を略取するという事件がありました。また、秘密鍵を管理する体を装い詐欺や略取をするアプリケーションが今後でてくると想定されます。
改めて、そのウォレット提供者の確認には万全を期すようにしましょう。
(2)技術が問題ないか確認をしよう。
以前、Parity Industriesが提供していたウォレットはマルチシグを謳っていましたが、「枯れていない技術」であるEthereumのスマートコントラクトを利用して実施していました。
結果的にその中にバグが見つかり、300億円が凍結されるといった事態を引き起こしています。もちろん完璧な予測は困難ですが、Don’t Trust Verfy の心持ちで新しい技術を過信せず、注意深くウォレットを選定しましょう。
(3)必ず秘密鍵のバックアップを安全な形で取りましょう。
秘密鍵の紛失は自己責任です。秘密鍵は、今までのウェブサービスのパスワードと異なり、自分しか知らず、そして誰かが再発行してくれるような類のものではありません。
そのため、紛失や忘れても、戻ってくることはありません。しっかりとバックアップを取り、紛失や忘却がないようにしましょう。一番怖いのはヒューマンエラーです。
秘密鍵さえ保てれば、自らで資産を管理できる時代が到来している
これまでは銀行などを信用しなければ大金を管理することはセキュリティ上、非常に危険でした。今までにいろいろと危険な事例なども紹介しましたが、しかしブロックチェーンを活用した仮想通貨に関しては、秘密鍵さえ適切に管理することで、これまではできなかった資産の管理を自らの責任で実施することができるようになるのです。
適切に管理できればその安全性は非常に高いので、ぜひ皆さまも取引所に仮想通貨を預けたままにせず、安全なウォレットで正しく管理していただければ嬉しいです。
→次回の記事「Dappsの特徴とそのメリット/デメリットを考察」はこちら