主要な暗号資産(仮想通貨)が利用している基盤技術となるブロックチェーンですが、ハッキング(改ざん)するのは困難だとされてきました。
しかし、最近ではブロックチェーンのシステム上の脆弱性が原因で発生してしまったハッキング事件が起こってきています。そこで、この記事ではまずブロックチェーン技術の特徴や安全性についての基本的概念についてお伝えします。
さらに、ブロックチェーンにはどのような技術的限界や危険性があるのかや、現在取りうるセキュリティ対策などについてご紹介していきます。
ブロックチェーンとは?
ブロックチェーン(分散型台帳技術)は多くの暗号資産を支えており、取引データのコアとなる技術的基盤となっています。
トランザクションとブロック
暗号資産を送金する際の取引履歴データは「トランザクション」と呼ばれます。複数のトランザクションから構成される、一定数のトランザクションの「かたまり」を格納したものが「ブロック」です。
銀行の取引に例えるなら、入出金などの個々の取引がトランザクション、通帳や入出金明細に該当するのがブロックともいえるでしょう。
トランザクションが新規で発生すると、それがまとめられてブロックが生成されます。そのようにして生成されたブロックが、その次に生成されるブロックに取り込まれるような形で承認されていきます。
このように絶えずブロックが生成され、それが承認されていくとチェーン(鎖)のような連なりになっていきます。こうして数々のブロックがチェーンのように一塊になっていく流れになっていくことから、ブロックチェーンと呼ばれています。
P2P方式・分散型取引台帳
なお、ブロックチェーンにも種類がありますが、その多くは分散しながらユーザー同士でシステム管理をおこなう仕組みとなっています。この仕組みは「P2P(ビア・ツー・ピア)方式」あるいは「分散型取引台帳」と呼ばれています。
銀行のような中央集権による管理機関によって管理されておらず、権限が一箇所に集中することがありません。そのため、取引データが集中してサーバーに過大な負担がかかることで起こるシステム障害などにも強く、さらに低コストでの金融サービス供給を可能にしています。
詳しくはこちら:ブロックチェーンとは?基礎知識やメリット・デメリットをわかりやすく解説
ブロックチェーンの暗号化による安全性
ブロックチェーンには、取引データの改ざんなどを防ぐために「ハッシュ関数」によるブロックの暗号化や「Proof of Work」などの仕組みがあります。以下に詳しくご紹介していきます。
ハッシュ関数
ブロックチェーンは取引データの安全性を担保するために「ハッシュ関数」という暗号化のための技術を用いています。
ハッシュ関数とは、取引データが外部から判読できないようにするために生成される一定の文字数による不規則な文字列のことです。外観上は一種の暗号のようなこの文字列はハッシュ値と呼ばれています。
一定数のトランザクションがブロックとして格納されているのは前述の通りですが、このブロック内の取引データ履歴はオープン化され、誰でも確認できるようになっています。
しかし、肝心のトランザクションの具体的な取引内容については、このハッシュ関数により暗号化されています。したがって、記録されている取引履歴自体は外部から確認できるものの、取引内容の詳細は判別できないようにしています。
このハッシュ値は全く同一のデータに対しては同じハッシュ値が生成されます。しかし、少しでも異なるデータに対しては異なるハッシュ値を生成することで、外部から判別不能とし、改ざん等からデータを守っています。
Proof of Work(プルーフ・オブ・ワーク、仕事の証明)
例えば、暗号資産の代表格のビットコイン(BTC)のブロックチェーンにおいては、新たなブロックの生成は、マイニングをおこなうマイナーによる「承認作業」を通じておこなわれます。
この承認作業は「マイニング(採掘)」と呼ばれ、過去の一連のブロック生成において不正がおこなわれていないことを証明する仕組みにもなっています。この仕組みはProof of Work(仕事の証明)と呼ばれ、ビットコイン(BTC)のブロックチェーンの安全性を担保するために大きな役割を担っています。
このマイニングを通じて新たに生成されるブロック内には、過去のトランザクションデータを暗号化した直前のハッシュ値と新たなトランザクションデータ、そし後述する「ナンス」によって構成されています。
このナンスとは「Number Used Once」の略称であり、マイナーが新たなブロックを追加するたびに生成する32ビットの数値です。前述の承認作業とはこれら直前のハッシュ値と新たなトランザクションデータ、ナンス値の整合性を膨大な計算を通じて確認し、承認することです。
この承認を通じて新たなブロックがブロックチェーンに追加され、マイニングを成功させたマイナーにはその報酬としてコインが支払われます。
ブロックチェーン技術の限界や危険性
ブロックチェーンには、既にご紹介してきたように改ざんなどを防ぐための安全性が担保される仕組みがあります。しかし、ここへきてブロックチェーンのシステム的な脆弱性を利用して盗み出されるハッキング事件が起こりました。
それが「モナコイン(MONA)のブロックチェーン書き換え事件」です。これまでのハッキング事件は、取引所への攻撃などによってコインが抜き去られるといったものが大半でした。
この事件は従来改ざんされることはないといわれてきたブロックチェーンの信頼性に、大きく影響するものでした。モナコインのブロックチェーンのシステム上の脆弱性は、今日まで根本的には解決されていません。したがって、今後も同じような事件が発生する可能性が残されています。
Selfish Mining(セルフィッシュ・マイニング)
モナコインのハッキング事件はSelfish Mining(セルフィッシュ・マイニング)によってブロックチェーンのルールを悪用し、ブロックチェーンが不正に書き換えられたことで起きました。
マイナーによる承認作業の際に複数のブロックが承認されると、既存のブロックチェーンが分岐(フォーク)されることがあります。ブロックチェーンのルールを簡単にいえば、既存のブロックチェーンよりも長いブロックチェーンが承認されて生まれてくると、その長いほうのブロックチェーンが正しい結果であると認識されます。
すると、分岐の際に既存のブロックチェーンは無効化され、そこで「Reorg(巻き戻し)」と呼ばれる再編成が起きるようになっています。つまり、再編成によって既存のブロックチェーンに入れ替わるように新たなブロックチェーンが採用されてしまうことになります。
モナコイン事件の手口
モナコイン事件のハッカーは、まず海外の暗号資産取引所「Livecoin」にモナコインを送金してから他のコインに換金して出金しました。そしてハッカーはモナコインの承認をおこない、生成した多くのブロックをすぐに公開せずに一定期間隠し持っていました。
そしてある程度まとめて公開することで、まずは既存のブロックチェーンが分岐させました。そして次に既存のブロックチェーンよりも長いブロックチェーンにすることで、既存のブロックチェーンを無効化させました。
無効化されたほうのブロックチェーンにはハッカーがモナコインを使って購入した他の通貨の購入履歴やその後にその購入した通貨を出金したデータが記録されていましたが、無効化により消去されました。
この事件後、モナコインの価格は急落しました。日本国内の一部の暗号資産取引所ではモナコイン取引時に必要な承認回数を増やすなどの対策を発表したところもあります。しかし、新たなハッキング手段となったSelfish Miningなどの技術的な課題を克服する対策は見つかっていないのが現状です。
セキュリティ対策の方法や仕組み
ブロックチェーンの安全上の課題はすぐには取り除くことができないため、ハッキングに対する防衛策を個別に講じる必要があります。
暗号資産取引所もそのためにセキュリティ対策を講じています。例えばその一つとして「マルチシグ」が挙げられます。
マルチシグとは
マルチシグとは複数の秘密鍵を利用した公開認証方式のことです。マルチとは「複数」、シグは「署名」を表しており、秘密鍵が常に複数のあるのが特徴です。
これまでの個人認証は「パスワード認証方式」が主流で、予め設定したIDとパスワードを入力して個人を認証する方式です。しかし、秘密鍵がパスワード1つしかないこの方式では、個人の端末などにハッキングされると取引所内に保管している暗号資産が持ち出されてしまう可能性があります。
この点、マルチシグは複数の秘密鍵を、複数の場所に保管しておく仕組みがとられています。ハッカーは複数のそれぞれの端末に侵入して、すべての秘密鍵を入手しなければハッキングすることができません。
マルチシグを使えばハッキングしづらくなりますので、セキュリティ対策として非常に有効です。マルチシグで利用されている秘密鍵の数ですが、システムによって異なります。
一般的には「2 of 3」方式が採用
一般的なマルチシグは「2 of 3」と呼ばれる方式が採用されています。
この2 of 3では、3つの秘密鍵が設定されており、そのうちの2つの秘密鍵が揃えば認証される仕組みになっています。大方の2 of 3は、3つの秘密鍵のうちの1つが利用している暗号資産取引所で保管され、残りの2つの鍵は個人端末で保管されます。
そうすることで取引所が仮にハッキングされて保管していた秘密鍵が盗まれても、認証されるのを防いでくれます。反対に個人の端末で保管されている秘密鍵が盗まれても、同じように個人で保管されている秘密鍵と取引所で保管されている秘密鍵が揃わないので、ハッカーが盗難することができません。
マルチシグは、認証に必要な複数の秘密鍵を同時に盗むことが困難なために、非常に有効なセキュリティ対策といえます。しかし、それでも個人で2つの秘密鍵が1つの端末に保管されている場合、ハッカーが比較的簡単に侵入してしまう可能性もあります。
また、個人が端末に保管している2つの秘密鍵が端末の故障や破損などで失われたり、アクセスできなくなるリスクもあります。さらに取引所がハッキングにより秘密鍵の1つを盗まれると、シングルシグとなってしまい、上述のパスワード認証方式と同じセキュリティレベルになる可能性もあります。
このように、マルチシグだけでは完璧なセキュリティ対策とは言えないことは理解しておいたほうがいいでしょう。
コールドウォレットによる保管
続いて、マルチシグの限界をかなりのレベルで克服できるのが、コールドウォレットです。暗号資産を保有したら、マルチシグ対応の取引所を利用しつつ、合わせてコールドウォレットによる保管も大切になってきます。
このウォレットですが、常時ネットにつながった状態のものを「ホットウォレット」、ネットにつながっておらず、完全に隔離できるのが「コールドウォレット」になります。
ホットウォレットの特徴
ホットウォレットは暗号資産のお財布のように常にインターネット回線に接続されて、暗号資産取引がおこなえる状態になっています。したがって、暗号資産の売買や送金をリアルタイムで取引するのに便利です。
暗号資産取引所の多くが決済や送金用のアプリなどのサービスを提供し、リアルタイム取引ができるようにしています。しかし、常時ネット回線に接続されていることから、ハッカーによる侵入や保管している暗号資産の流出が起こるリスクが高くなります。
コールドウォレットの特徴
その点、オンラインから隔絶され、USBやペーパーなどで秘密鍵を保管するコールドウォレットは、ハッキングによる流出を防いでくれます。
コールドウォレットの場合、紛失や災害時などの消失のリスクには気をつける必要がありますが、ハッキング対策には非常に有効な手段となります。先ほどご紹介したモナコインの流出事件でも、コールドウォレットに保管していたユーザーのコインは流出を免れました。
暗号資産取引所はマルチシグ対応をしているところを選び、個人でもコールドウォレットなどを活用することで、ハッキングから自分の通貨を守るように心がけることが重要です。
SSL(Secure Sockets Layer)と二段階認証
続いて、SSLを利用している暗号資産取引所なら、基本的にはデータ通信も安心できると言えるでしょう。
SSLはインターネット上の暗号化技術で通信データを暗号化するためのプロトコル(通信方式)です。これによって悪意のある第三者に覗かれたり、個人情報を抜き去られるのを防いでくれます。
また、昨今では、セキュリティ向上のためにログイン時に「二段階認証」と呼ばれる方式を採用する取引所が増えています。
取引画面にログインする際に登録済みのメールアドレスとパスワード以外に、スマートフォン宛てにログインの都度発行されるワンタイムのパスワードの入力が必要になります。
二段階認証なら、たとえメールアドレスやパスワードの情報が盗まれても、アカウントにアクセスされて不正に出金されるなどの被害を防いでくれる可能性が高まります。取引所に登録後は必ず二段階認証を設定しましょう。
ブロックチェーンについてのまとめ
この記事ではブロックチェーンの技術的な限界や危険性などについてお伝えするとともに現時点で取りうるセキュリティ対策についてお伝えしました。
暗号資産を保有する場合はマルチシグ対応の仕組みやコールドウォレット、二段階認証を上手く活用して資産を常に守る意識を持つ必要があります。
また、暗号資産に関するニュースなどを定期的にチェックして、セキュリティ面にも関心を持つように心がけるのが良いでしょう。