ビットコインとは:ブロックチェーンの基本的な仕組みをわかりやすく解説 今後の動向も[仮想通貨まとめ]

2020 年 1 月 7 日

今回は、仮想通貨として代表的な「ビットコイン」と、そのシステムを支える「ブロックチェーン」の仕組みについて、簡単にわかりやすく説明していきます。

ビットコインとは

最も単純化していえば、特定の管理者が存在しないネットワークによって成立する、仮想通貨のひとつです。

国や中央銀行、そして民間の銀行などが管理するのではなく、また、特定のコンピューター=サーバーが管理するのでもなく、無数のコンピューターが「ノード」(結節点)として横につながり合い、情報を共有し、必要な処理を分担し合うことで成り立っています。

ブロックチェーンとは

そのネットワークを支える仕組みが「ブロックチェーン」です。

これも最も単純化していうと「取引データの共有と相互確認のシステム」です。

「分散台帳」という呼ばれ方もします。

たとえば、Aという人物が10ビットコイン持っていたとします。

このAさんがBさんに5ビットコイン送りました。

この際、ブロックチェーンでは「AがBに5ビットコイン送信」という情報が、複数のノードで共有されます。

こうしておけば、必然的に「Aの残りは5ビットコインで、Bも5ビットコインだ」ということがはっきりとします。

そこからさらに、BさんがCさんへ2ビットコイン送る場合、前の取引までさかのぼってチェックされ、その正当性が確認されます。

たとえば、Bさんが10ビットコイン送ろうとしたら、Aさんから5ビットコインしか受け取っていないのにおかしいとはっきりします。

このように、取引情報を「ブロック」としてまとめ、それを鎖のようにつないでいくために「ブロックチェーン」と呼ばれるのです。

ブロックチェーンのセキュリティ

現在では、単純にコンピューターを横につなげる=並列化させることは比較的容易です。

しかし、これをセキュリティ的な面で強固にするとなると、途端に難しくなってきます。

並列化したネットワーク=分散コンピューティングでは、参加するノードが増えれば増えるほど処理が分散され、強固なものとなります。

しかし、誰もが自由に参加できるようにしてしまうと、今度は悪意を持った存在によって荒らされてしまうリスクが高まります。

つまり、セキュリティと参加の自由度はトレードオフの関係にあるのです。

では、ビットコインのブロックチェーンでは、これをどのように解決しているのでしょうか。

相互チェック

ブロックチェーンでは、取引データを各ノードが分散して持つことで共有しています。

そして、新しいブロックを既存のブロックチェーンにつなぐ際、他のいくつものノードがそれが正しいものか、共有されたデータと矛盾点がないかチェックします。

これによって、ミスや故意に改ざんされたデータなどを見つけやすくしているのです。

仮に悪意を持った存在が特定のブロックを改ざんしようとしても、それを成功させるには数多くのノードに分散して共有されているデータをほぼ同時に書き換えなければなりません。

なぜ「ほぼ同時」でなければならなのでしょう?

それはまさに、データの分散共有と相互確認のシステムがあるためです。

長い時間をかけて各データを改ざんしている間に、正常なデータを参照する他の無数に存在するノードがおかしい点を指摘するためです。

では、データの改ざんではなく、他のノードを乗っ取ろうとした場合はどうでしょう?

結局、それも同じことです。

仮に一定数のノードを支配下に置いたとしても、ブロックチェーンには無数のノードが存在します。

2019年時点では、過去の全取引データを持つ「フルブロックチェーンデータベース」と呼ばれるノードが、世界中に約1万も存在し、ブロックチェーンの相互チェックの仕組み上、全体の半分を超える数を乗っ取らないと、改ざんは不可能といわれています。

しかし、ブロックチェーンを支える堅牢性の源はこれだけではありません。

暗号化

ブロックチェーンの各ブロック、引いては各取引データは、通常の状態のまま保持されているわけではありません。

各ブロックは暗号化されたうえで保存されています。

しかし、個々のデータを単純に暗号化するだけでは、時間をかければいつか解析されてしまいかねません。

そこで考えだされたのが「暗号化も鎖でつなぐ」方法です。

それぞれのブロックは暗号化された状態でつなげられていますが、その際、つながった前のブロックから特定の要素を抽出したうえで暗号化が施されます。

前のブロックから固有の要素を取り出し、それによって新たに鍵をつくり出して後のブロックに鍵をかけるイメージです。

BというブロックをAというブロックにつなぐ際、「ハッシュ値」と呼ばれるデータを抽出します。

ハッシュ値とは、特定のデータを元に計算すると、かならず同じ値となるものです。

つまり、一種の固有IDとして使えるわけです。

これが、Bのブロックを暗号化してブロックチェーンにつなぐ際に用いられます。

この結果、何が起こるのか。次のようにABCDとつながっているブロックチェーンを想像してください。

もし、何者かがBのブロックを改ざんしようとした場合、どうなるでしょう?

仮にB自体の書き換えに成功したとすると、それは別のデータに変わったということなので、当然ながらBのハッシュ値も変化します。

すると――もうおわかりですね、CとDのブロックとの関係がおかしくなります。

そう、CとDは前のBのハッシュ値を用いているため、すぐにBのデータがおかしいことに周りは気づけるのです。

この場合はBのあとにC・D2つのブロックしかありませんが、中には無数のブロックが続いている場合もあります。

そのすべてを書き換えていくことは、既存ノードを乗っ取るか、もしくはそれ以上に困難なことでしょう。

このようにブロックチェーンでは、各ブロックを単につなぐのではなく、一種の「暗号の連鎖」を利用しているため、不正が発見しやすく、結果的にセキュリティを高めることに貢献しているのです。

プルーフ・オブ・ワーク

ブロックチェーンの途中にある既存ブロックのセキュリティは、その仕組み上、非常に強固であることはわかりました。

しかし、けっして万能ではありません。

確かに、多くのノードを乗っ取ったり、ブロックを書き換えたりすることは極めて困難ではあります。

ですが、もし何者かがとても高速に処理できる環境を用意できたとしたら、どうでしょう?

次々と他のノードを支配し、ブロックを改ざんすることも不可能ではないかもしれません。

そこで、ビットコインのブロックチェーンでは「プルーフ・オブ・ワーク」という仕組みを導入しています。

「わざと作業させることで証明の裏付けとする」という意味です。

これは、ブロックチェーンに新規のブロックをつなぐ際、わざと各ノードに結果を求めるのに時間がかかる計算を要求します。

実は、先ほど出てきたハッシュ値の計算がまさにそれです。

こうすることで、悪意を持った存在が急いで改ざんを進めようとしても、どうしたところで時間がかかってしまうようにしているのです。

これだけではわかりづらい部分があるので、現実を例に考えてみましょう。

ある宝箱に鍵をかけてパスワードをセットしたとします。しかし、それは単純な計算によって誰でも見つけられるものです。

この場合、悪意を持った存在が近づいてきそうな気もします。

しかし、正規の資格を持った人々も無数に集まってきて、ほぼ同時に計算を開始しているのです。

しかも、やらなければならない計算は、誰がどうあがいても一定の時間がかかってしまいます。

要するに、かならずしも自分が最初に計算を終えられる=狙ったことができるとは限らないのです。

そのうえ、先ほどすでに説明したように、仮に一番初めに計算を終えられたとしても、その後には多くの存在による検証作業が待っています。

そこで不正が発覚すれば、これまでの努力はすべて無駄になるのです。

ただ、これだとひとつ疑問が浮かぶかもしれません。

「誰でも計算できるというなら、誰でも不正ができてしまうリスクがある。もっと難しい計算をさせればいいのに」と。

しかし、それではかえって問題が発生するリスクがあります。

一見すると、理にかなっているようにも思えます。しかし、こう考えてみてください。

「もし、画期的な解き方を思いついた人がいたら――」

どうなるでしょう?

しかもその人が、他の人々にその方法を教えようとしなかったとします。

となると、どう考えても特定の人物が圧倒的に有利な状態になります。

このプルーフ・オブ・ワークの前提となるのは、「誰がやっても」処理に一定の時間がかかることです。

それなのに、ごく一部の人だけが速く計算できるのなら、もはやその人の独壇場です。

仮にそういった人物や組織が悪意を持っていたのなら、取り返しのつかない状態に陥ります。

「どう考えても単純に計算するしかない」というのがポイントなのです。

悪意を持った存在に「こんなに時間がかかって、しかも成功するとは限らないというなら、もうばかばかしくてやってられない」と思わせることが大事なのです。

つまり、この仕組みは人々の心理面からも不正を防ぐ役に立っているのです。

しかも、すでに見たように、ブロックチェーンは暗号の連鎖でもあります。

偶然あるブロックの改ざんに成功したとしても、そこからつながる後続の全ブロックを同じようにひとつひとつ時間をかけて書き換えないと、情報が矛盾してしまうのです。

このように、ビットコインに代表されるブロックチェーンは、二重三重にさまざまなセキュリティ対策が施されているために、ネットワークが強固なのです。

実際のコインのやり取り

ここまでは主に、ブロックチェーンのセキュリティ面について見てきました。

では、実際のところ、どのように仮想通貨のやり取りをしているのでしょうか。

新規通貨の発行

まず、リアルの貨幣と同じく、通貨を新規に発行しなくては何もできません。

そこでビットコインでは、新規ブロックの追加のための処理をするノードに対して、報酬としてコインを新規に発行して渡します。

ただし、単に与えるだけでは全体としてコインが増えすぎてしまい、1ビットコイン当たりの価値が目減りしてしまいます。

そこでビットコインでは通貨の総量が増えるにつれ、新規発行する額を抑えていくようにしています。

現在の予定では、西暦2140年までに2100万ビットコインが発行されることになっています。

地球上の量に限りのある金(ゴールド)の採掘と似ているため、プルーフ・オブ・ワークの仕組みで新規ブロックを追加する処理のことを「マイニング」と呼び、それを担ったノードに報酬としてコインが支払われることになるのです。

コインの所在

では、そもそもコインはどこに存在するのでしょうか。

取引データそのものはすでに見てきたとおり、フルブロックチェーンと呼ばれる各ノードに保存されています。

一方、コインそのもののデータは「ウォレット」という名の別のノードに記録されています。

実はこのウォレット、ビットコインのネットワーク上にあるアドレスにしかすぎません。

つまり、特定の存在へビットコインを送金する場合は、このアドレス宛に送ることになります。

そのための専用のノードがウォレットなのです。

ビットコインの取引所では、顧客ごとにこのウォレットを用意しています。

セキュリティ

ブロックチェーンそのもののセキュリティは非常に強固です。事実上、不可能に近いといっても過言ではないでしょう。

しかしビットコインを初め、仮想通貨の分野では不正が後を絶ちません。

なぜでしょうか。

実は、ブロックチェーンのセキュリティが突破され、データが不正に改ざんされたわけではないのです。

ほとんどの場合、ビットコイン取引所のサーバーを乗っ取る形で起きています。

そもそもビットコイン取引所とは、顧客が持つコインの取引や管理を代行するサービスであり、いわばビットコイン専門の証券会社です。

取引所は顧客ごとにウォレットを用意しているため、取引所のサーバーが乗っ取られるということは、すなわち全ユーザーの全コインが好き勝手に操作されてしまうことを意味します。

取引所のハッキングによる被害額が巨額になるのはそのためです。

いわば、銀行が丸ごと乗っ取られるのと同じことなのです。

これは、ある面では皮肉な話ではあります。

ブロックチェーンのセキュリティが強固だからこそ、その改ざんではなくウォレットが狙われているということ。

ネットワークのセキュリティシステムに入り込めないなら、取引所や個人のウォレットを乗っ取ってしまえばいいという考え方です。

つまり、ネットワークを運用する側ではなく、それを使う側を狙うということです。

たとえばどんなに銀行のセキュリティが堅くても、客が銀行の外でうっかり財布を落としてしまったら、なんの意味もないのと同じことです。

しかし、ここでひとつ疑問が浮かびます。

ブロックチェーンはすべての取引データがかならず記録され、そのコインはかならず特定のアドレスに保存されます。

そう、奪われたコインもそのすべてが追跡可能なのです。

にもかかわらず取り返すのが難しいのは、ハッカーは各ビットコインを細かく分けて、いくつものウォレットに保存し、さらにいろいろな交換所で現金に換金しているためです。

無数の場所でビットコイン以外の金融資産に変えられてしまっては、事実上、その追跡は不可能になります。

現状、個人にできる対策としては、取引所や特定のウォレットを信用しすぎず、複数に分けて保存することくらいでしょうか。

分散投資――これが投資の基本です。

処理の高速化

ビットコインなどブロックチェーンを活用したシステムでは、セキュリティ面以外の技術的な理由で大きな問題が発生するリスクは常にあります。

そのひとつが、ネットワーク全体における処理速度の問題です。

特にプルーフ・オブ・ワークはその仕組み上、かならず一定以上の処理時間がかかります

意図的にそうしているのですから当然ですが、これはハードウェアに負荷がかかりつづけることも意味しています。

ブロックチェーンのシステムを使う側からすればいつも待ち時間が長く、一方で各ノードの管理者などネットワークを維持する側からすればランニングコストの面で不安が残ります。

最近、特に問題になっているのは仮想通貨における少額決済(マイクロトランザクション)です。

考えてみてください。

100円しか使わないのに10分以上決済処理に待たされるとしたら、客も店側もその通貨を使おうとはしないでしょう。

しかし、ビットコインではまさにこれと似た状況が起きていました。

この対策はすでに行われており、要は少額決済の場合、通常の処理の一部を省いて簡略化し、詳細な処理はあとでまとめて行う「ライトニングネットワーク」と呼ばれる仕組みが導入されています。

ビットコインの今後

今回は、ビットコインやそのベースとなるブロックチェーンの技術に的を絞って見てきました。

最後に、それらの点について今後どうなるかを考えてみましょう。

ブロックチェーンの未来

ブロックチェーンといえばビットコイン、とまるで仮想通貨の代名詞であるかのように定着した言葉ですが、今ではそういった分野以外でも活用が進んでいます。

たとえば、同じ金融系では大手の銀行なども部分的にブロックチェーンの技術を用いたオンライン・ネットワークの構築を検討しています。

また、プルーフ・オブ・ワークの仕組みでも、無駄な処理をあえてさせるのではなく、どうせなら科学的に意味のある計算をさせようという試みもあります。

また仮想通貨とは直接の関係はありませんが、ブロックチェーンの仕組みを用いた中央の管理サーバーを持たないオンラインゲーム「My Crypto Heroes」などが、すでに登場しています。

セキュリティ

ブロックチェーンはその仕組み上、データの改ざんが非常にしづらいことは事実です。

しかし、この世の中に完璧な技術など存在しません。

不完全な人間が生み出したものなら、どこかにかならず穴があるはずです。

表面上、完璧であるかのように見えているのなら、それが最も危険かもしれません。

なぜなら、奥の奥に問題が隠れ潜んでいるだけかもしれないから。

今はまだそれらが見つかっていないだけで、もし仮に悪意を持った人物が先に発見したとしたら、それはすなわち先に悪用されることを意味します。

いわゆる「ゼロデイ攻撃」です。

ブロックチェーンの未来は、セキュリティに限らず今後出てくるであろう課題に対して、いかに的確に対応できるかにかかってくるでしょう。

最後に

いずれにしろ、今はまだ黎明期。

これから、さまざまな活用法も出てきて、いろいろな場面で利用されることになるのかもしれません。

期待しながら注意深く見守る――これが最も確実で必要なことになるでしょう。

IT, 経済

Posted by takasho