この記事は Up&Coming という雑誌へ寄稿している内容とほぼ同一のものです。Up&Coming はフォーラムエイトさんという会社が発行している広報誌で、縁あって僕も記事を書かせていただけることとなりました。
「IT ならなんでも!」というご依頼だったのでネタチョイス的にこのブログとも相性がよく、寄稿した内容もブログに投稿することにしました。よければ本誌のほうもぜひお読みください(ネットで無料で読めます!)。
=====
2024 年の 1 月、米国で「ビットコイン現物 ETF」という投資商品が承認されました。これはついに暗号資産が伝統的な金融商品と同等の地位を得たということを意味しており、暗号資産業界にとってはまさに悲願の達成といえるものでした。
日本ではまだ同様の投資商品はありませんが、このような潮流は今後ほぼ確実に強まっていくことでしょう。つまり多くの人がビットコインをはじめとする暗号資産に(間接的に)投資していく時代になるのです。そうなれば、これまでは「一部の人が騒いでいるだけのものだから…」となんとなく敬遠してきたこの "ビットコインとやら" も、一体どんなものなのかもうちょっと理解しておきたくなりませんか?
というわけで、今号&次号では二回にわたってビットコインを Q&A 形式でお伝えしてみるテーマとしてみました。本稿では基本的な概念を中心にご紹介し、次回はもう一歩技術的に踏み込んだ内容をメインとします。
ちなみにいまさらですが、筆者は暗号資産業界でエンジニアをやっています。普段からブロックチェーンや DeFi と触れ合っており、ビットコインを中心に投資、トレードも行っています。本記事の感想をお伝えいただける方、何かご質問がある方などぜひお気軽に X やブログにお越しください!
Q:なにがそんなに人気なの?
A:本記事執筆時点で、ビットコイン 1 枚にはなんと 700 万円近い価格がついています(ブログ転載時に追記:なんといまでは 1,000 万円ごえ!)。この理由を完全に説明するのは難しいですが、よく言われる内容(+直近の事情)はここで紹介できます:
- 暗号資産と呼ばれるゆえんでもある強固なセキュリティ
- 発行枚数に上限があることによる希少資源としての価値
- 一定期間ごとに(相対的な)価値が高まるような仕組みの存在
- 中央政府や中央銀行に左右されない
- 地政学的リスクに左右されない
非常に雑にまとめるとしたら、「金やプラチナのような希少価値の高い資源が、強固なセキュリティで守られつつ誰の管理下にも置かれない電子決済システムにもなったもの」がビットコインといえる…かもしれません。
Q:ブロックチェーンってなに?
A:ビットコインの中核をなす概念がブロックチェーンです。日本語ではよく分散型台帳などともいわれます。ブロックチェーンは実は非常にシンプルな構造をしているので、まずは図を見てみることにしましょう。
![ブロックチェーンの概観図](https://mirumi.in/wp-content/uploads/29d3bc99193cb0b837fb8cc53f050ae5-2-1999x557.png)
ブロックチェーンの模式図
1 つ以上の「トランザクション」が含まれた「ブロック」があり、これが連なっているのがブロックチェーンです。トランザクションとはすなわちビットコインを使った取引 1 件ずつのことで、これまで全世界で行われたすべての取引がここに記録されています。いまこの世界にあるビットコインのブロックチェーンというものはたったひとつしかなく、まさにこれが取引の台帳といわれるゆえんです。
そしてこのブロックチェーンが生成されていく仕組みそのものが、ビットコインたらしめている下記の要素すべてと一体化しています:
- 台帳を書き込んでいくという大変な役割を負ってくれる人には、その報酬としてビットコインが与えられます(これがマイニングです)
- 悪意のある誰かが台帳を勝手に書き換えたり削除したりすることが現実的に不可能な仕組みになっています(ここが暗号学の出番です)
- 台帳の内容が改ざんされておらず、たしかに全世界で承認されたものであるということが自動的に証明されるようになっています(ここにも暗号学が使われています)
ビットコインを構成する要素はたしかに複数あるといえますが、これらが独立して存在しているのではありません。そのどれもがお互いと完全に一体化しつつ微塵の無駄もなくまとめあげられているのです。筆者はここにビットコインとしての魅力を最も感じています。
また、ブロックチェーンは分岐することもあるという点も見逃せないポイントです。ルールに沿ってさえいれば途中で枝分かれして伸びていくこともあります。ではどうやって「いまの正式なチェーンを判断するのか」となりますが、これはとてもシンプルで、そのとき最も長いチェーンのみが有効とみなされます。台帳の管理者たちは「いま分岐しているチェーンのうちどれが正当なものであるか」を逐一判断し、結果的に長く伸びたもの(つまり多くの人に正当であると判断されたもの)だけが生き残っていくことになります。
Q:どこに暗号が使われているの?
A:まず前提として説明しておきたいのは、現代の IT 技術のどこをとっても類似の暗号技術が多用されているという点です。ビットコインも同様で、さらにいえば、実はビットコインの中で新しく提唱された暗号というものはありません。なんとこれまで既に存在していた技術だけを組み合わせてこの革新的な発明をしてしまったのですね。
ビットコインで使われている暗号の例を挙げます:
- ハッシュ関数:ダイジェスト関数とも呼ばれ、あらゆる入力を重複しない一定長のデータに変換するもの
- 公開鍵暗号:現代で最もポピュラーな暗号方式のうちのひとつ
- デジタル署名:データが改ざんされていないこと、ある本人が発信したデータであると証明するためのもの
- 楕円曲線暗号:公開鍵暗号に使う鍵ペアを生成するためのもの
この章ではブロックチェーンの説明を続けるためにハッシュ関数を取り上げます。他の暗号は次回号で登場しますので一旦待ってもらいましょう。
ハッシュ関数は暗号学における最も基本的なもののひとつで、当該分野はもとより、普段のソフトウェア開発でも非常に一般的な存在です。このハッシュ関数をテーマにした記事を本連載の Vol.2(2023年10月号分)でも執筆していて、実は今号の布石だった…わけではないですが、詳しくはそちらをご覧いただければと思います。
ハッシュという作業は完全に不可逆です。つまり、計算された結果だけを見て元の状態を推測することは一切できません。しかし「あるデータをハッシュしたらある結果になること」を検証するのは簡単です。同じハッシュ計算をたった 1 回実行すればいいだけだからです。
ここにブロックチェーンの核が眠っています。次の図を見てください。
![ブロックチェーンでハッシュが使われているイメージ](https://mirumi.in/wp-content/uploads/cbf5b9f60da99bf791c0aa12a770f429-2-1999x543.png)
ブロックチェーンでハッシュが使われているイメージ
ブロックチェーンとは、実はハッシュの連鎖です。あるブロックをハッシュした結果が次のブロックに含まれており、その次のブロックは前のハッシュ結果も含めてさらにハッシュする→それをまた次のブロックに含める…というのを繰り返します。
この状態では、あるひとつのブロックの内容を書き換えるとその後のすべてのハッシュ結果が変わってしまいます。ハッシュというのはデータをダイジェスト(要約)したものであり、あるブロックのハッシュはそれまでのすべてのハッシュを踏襲しているからです。
つまり、もし誰かが自分の支払ったデータをなかったことにしようとしてあるブロックのみを書き換えたりした場合、またたく間にすべてのブロックに変更が連鎖してしまい、不正が露呈します。もちろんこんな変更は他の台帳管理者が OK を出しませんから、個人の勝手が通ることはなくなるわけです。
このように、ブロックチェーンは基本的な暗号学の安全性を拠り所にして構築されています。
Q:ビットコインとかブロックチェーンってどこに存在しているの?
A:ビットコインやブロックチェーンはよく「非中央集権だ」と言われます。となると誰かが管理しているサーバーなどにはないのだろうとは想像できますが、では一体どこに存在しているのでしょうか。
答えは、強いて言うなら「世界中のみんなのパソコンの中、もしくはそれらをつなぐネットワーク上」のような表現になります。
ビットコインの台帳管理者には誰でもなることができます。ブロックチェーン管理用のソフトウェア(ノード、クライアントなどといいます)をパソコンにインストールし、実際のブロックチェーンデータをダウンロードしてくれば準備は完了です。
このときポイントなのが、通信先は誰かが管理している特定のサーバーなどではなく、同じくノードを実行している直接のユーザー同士になるというところ。
![中央の管理者を必要とせず、ブロックチェーンのノード同士が直接通信する](https://mirumi.in/wp-content/uploads/5e4896966c9944fcf00890f4502605bf-2-1999x632.png)
中央の管理者を必要とせず、ブロックチェーンのノード同士が直接通信する
これは P2P と呼ばれる通信方式で、中央にある何らかの管理者を必要とせずネットワーク上の末端同士が直接やり取りできるものです。「インターネットでオンラインゲームをやるのではなく、友達と通信ケーブルで接続しあう」のようなものだと捉えてください。ビットコインのノードを実行しているユーザー同士でブロックチェーンが共有されているような状態がイメージできるでしょうか。
台帳管理を担当するノードが新しくブロックを生成するシーンを考えてみます。
各ノードはブロックチェーンをダウンロードしてきて手元に持ってはいるものの、これはいわゆるローカルコピーのような状態でしかなく、誰かが変更したらその変更内容をマスターデータにも反映していかなければいけません。例えば新しくブロックを生成するなら、「こういうブロックを追加したよ」という情報をまわりのノードに直接伝えていく必要があるのです。
変更情報を受け取った他のノードは、そのデータが正当なものかどうかを審査します。ある一定量以上の承認が得られるとそのブロックは「受け入れられた」ことになり、無事ブロックチェーンの一部となります。ノードはこれら「送信・受信・審査」を絶えず繰り返しており、つまりビットコインの取引が年中無休で稼働しているという意味にもなります。
ビットコインやブロックチェーンが「どこかにある」のではなく、「みんなで同時に共有しあっている」というニュアンスが少しは伝わったでしょうか。
Q:マイニングってなに?
A:マイニングは台帳管理を担当するノード(マイナーと呼びます)が行う作業のことです。そしてその作業の内容はというと、気が遠くなるほどの大量のハッシュ計算です。どういうことなのか順を追って見ていきましょう。
まず、ブロックチェーンが分散型モデルで運用されていくために必要な要件というものを考えてみます:
- 新しくブロックをつなぐ権利が明示的に与えられるような仕組みがあること
- いずれかのマイナーに権利が与えられたことを他のマイナーが納得して合意できること
- マイナーがこの活動を続けていくための動機があること
これらが同時に満たされたとき、初めてブロックチェーンは非中央集権的に動作しつづけられます。そしてビットコインは「報酬システム」と「暗号学」を組み合わせてこれを実現しています。
次のブロックを書き込む権利は「そのブロックをハッシュした結果がある一定値以下になる値を見つけた人」に与えられます。ハッシュ関数の「実行するのは簡単だが元には戻せない」という性質を思い出せば、この "宝探し" をするためにはただただひたすら総当りしていくしかないことをご理解いただけるでしょうか。裏技はありません。とにかくコンピュータで計算しまくるしかないのです。
無事この宝探しに成功したマイナーは新しいブロックを生成するわけですが、このとき、新しいビットコインを生成して自分が受け取るトランザクションを含めることが許されています。つまり頑張ったご褒美ですね。これはマイナーだけに与えられた特権で、世界中の人々がこぞってマイニングを行う動機にもなっています。
マイナーへの報酬システムが貨幣の発行も兼ねている点にも注目してください。ビットコインの発行はマイニング以外では一切起こり得ません。これは貨幣の流通量コントロールとしても秀逸な仕組みで、さらには貨幣価値が下がっていかないようにするための工夫も備わっています(半減期と呼ばれるものですが、本稿では割愛します)。
ところで、他のマイナーはなぜ自分が宝探しに負けたことを簡単に認めるのでしょうか。誰かが成功したトランザクションを流してきたとしても、そんなのは無視してしまえばよさそうです。でもこれはそうなりません。その一回で駄々をこねるより、ルールに従ってさっさと次のマイニングに取り掛かったほうが得であることが明白であるからです。
ブロックチェーンは分岐することがあるという話を思い出してください。もし正当なブロックをつながなかったり、あるいは不正なブロックを勝手につないだチェーンはどうなるでしょう。もちろん他のノードがそんなチェーンを伸ばしてくれるわけはありませんね。結局「ビットコイン」として有効なチェーンではなくなるため、自分の不正やわがままの結果は手に入りません。
![勝手に伸ばしたチェーンは他のノードには認められない](https://mirumi.in/wp-content/uploads/1efad1b5aa917a846fa5b3fc11367269-2.png)
勝手に伸ばしたチェーンは他のノードには認められない
このように、マイナーは「計算パワー」を差し出し、ルールに従って特定のタスクをクリアしたことをコミュニティ全体に証明します。どのマイナーも報酬のビットコインのためにこの作業をひたすら繰り返すことになり、結果としてそれがブロックチェーン全体を推進させることにつながるのです。素晴らしいですよね。
次回号に続きます!
今号ではビットコインの基本的な概念について触れました。次回号ではよりビットコインの理解が深まるような内容をご紹介します。お楽しみに!