あけましておめでとうございます、しんこー(@yakudatsujoho)です。
昨年2017年は、仮想通貨元年といわれるくらい、ビットコインなどの仮想通貨がなにかと話題の1年でした。
SNSでは連日仮想通貨の話題で持ち切りで、私の所感だとタイムラインの2割近くがこれらのネタで埋まっています。とにかく勢いがすごい。
自分自身チャレンジしてみたいものの、株やFXなどと同じく怪しい匂いがプンプン…
せっかくの機会なので概要だけでもと思い調べてみました。
目次
- 1 ビットコインは怪しいのか?
- 2 お金と銀行のしくみ
- 3 あなたの銀行残高は本当に存在するのか?
- 4 本当に銀行は信用できるのか?
- 5 では国なら信用できるのか?
- 6 ビットコインは単なる電子マネーではなく決済システムである
- 7 ビットコインはオープンである
- 8 発行量までオープン
- 9 ビットコインのアカウントは自分で勝手に開く
- 10 ビットコインのアドレスは一人でいくつでも持てる暗号鍵
- 11 ビットコインは元帳までオープンにされている
- 12 ビットコインには中央管理者がいない?
- 13 ビットコインは少数点第何位まである?
- 14 「ビットコイン・ネットワーク」の参加者が送金処理を請け負う
- 15 全ての送金依頼は「公開鍵暗号」で「電子署名」される
- 16 ビットコインはP2P電子マネーである
- 17 完全破壊が不可能なビットコイン
- 18 ブロックチェーンとは何か?
- 19 将来有望なブロックチェーンのしくみ
- 20 ビットコインの特長まとめ
ビットコインは怪しいのか?
日本国内では2014年から取引が可能になったビットコイン(Bitcoin)。しかしビットコイン取引所、Mt.Gox(マウントゴックス)の破綻というニュースはまだ記憶に新しいところです。同社は日本に本社を置く企業だったにもかかわらず、当時は世界最大のビットコイン取引所でした。そのMt.Gox社が、約490億円相当ものビットコインを「盗まれた」と宣言し、その事がたちまちメディアを賑わせることとなります。(※債権者は約2万4700人、債権総額は2兆6000億円超といわれている。一方でビットコインの価格高騰を受けて債権者は2017年11月、東京地裁に同社の民事再生手続きを申し立てた)
Mt.Gox事件の真相は未だ闇の中であり、継続して各国の機関が調査を継続しています。しかし、当初からはっきりしている事実はただ一つ。これは単に、ユーザーのビットコインを預かっていた取引所であるMt.Goxが破綻しただけであり、ビットコイン自体には何ら問題がないということ。しかしそれから2年以上経過した今でも、日本のメディアは依然としてビットコインのネガティブなイメージを報道しています。
実際のところビットコインは、「取引は全て透明性が高く」「盗むことは非常に困難」、かつ「消したくても消せない」ものです。そしてある意味、一般的な通貨や銀行よりも「信用できる」ものであるといえます。
お金と銀行のしくみ
我々が普段使っているお金(現金)は、国(政府)が発行しています。そして銀行は、政府の許可をもらって銀行業を営んでいます。
そして銀行に現金を預けている預金者は、銀行の審査を受けて、それに合格した上で「銀行口座」を持っています。
銀行に預けた現金は、実際に元帳上にはその金額が残高として記帳されますが、銀行が企業などに貸し付けてそこから利息を受け取っています。銀行はその利息やその他の手数料で生計を立てているのです。
ある日、預金額10000円のAさんが友人のBさんに1000円を振り込んだとします(振り替え)。Aさんの通帳の残高は振込手数料が取られて8500円に減りましたが、その実態は、単に銀行が元帳で「Aさんの残高が1500円減った」ことと、「Bさんの残高が1000円増えた」ことを書き込んだだけとなります。その差分の500円は、元帳に書き込む手数料として銀行のものになります。
これが一般的な銀行取引ですが、もしあなたがAさんの場合、ここで起こっていることの全ては日々あたりまえに行われている行為であり、一連のお金の流れは「信用するに足りる」話に聞こえるかと思います。誰かに1000円を振り込んだら、相手にお金が入って、自分のお金が減る。そして手数料が取られる。引き出せば現金がATMから出てくる。
実はそんなあたりまえの話が通じるのは、財政が比較的安定した、日本を含む一部の近代国家の銀行における話。世界中には、国民が銀行を信用しない国も数多くあります。
あなたの銀行残高は本当に存在するのか?
では、この場合のAさんの預金残高8500円は銀行に存在しているのか? もしそうでない場合は、誰かが保証してくれるのか?
実は銀行に預けられた現金のほとんどはそこにありません。銀行は、なんと預かっている合計金額よりも大きい金額を外に貸し出すことができるのです。
この「銀行」というしくみは、Aさんが、お金を発行する政府と、預け先の銀行を信用しているという前提において成り立っているのです。
「銀行が信用できなくてどうする?」
そう考える方も多いでしょうが、日本でも1金融機関1預金者あたり、最高1000万円まで保証されるしくみ(ペイオフ)が導入されていることはご存知かと思います。ペイオフ解禁で補償額が制限されてしまったものの、世界的にみれば、このようなしくみがあるだけでもまだ恵まれているといえます。米国も同様のFRB制度が設けられていますが、こんな制度さえない国家も山ほど存在します。
つまり、銀行からお金を借りている人たちが一斉に銀行からの借金を踏み倒したり、銀行がそもそも経営に失敗した場合、Aさんのお金はなくなってしまう可能性があるということです。
その場合、通帳に残高の記帳があったとしても、銀行にはもうそのお金そのものがなくなってしまっているといえます。
本当に銀行は信用できるのか?
例えば、銀行の行員が私利私欲のために、Aさんの知らないうちに、その残高である8500円を元帳上でこっそり自分の名義に書き換えた。その場合、Aさんの残高は当然消える。行員による、いわゆる業務上横領です。
現在の金融システムでそのようなアクセス権限を飛び越えての違法操作は難しいのが現実ですが、今日でも銀行員が預金者の金を横領するという古典的な事件はたびたび起こっています。
その場合、損失を銀行がカバーしてAさんの残高に戻すわけですが、人手を介する業務プロセスがゼロにならない限り、そういった横領事件が世の中からなくなることはないといえるでしょう。
では国なら信用できるのか?
もし、政府が国の財政政策で失敗したらどうなるでしょう? 政府がお金を発行しまくったらどうなるでしょう? 預金の消失を免れ、銀行の残高データは変わらずとも、Aさんのお金はただの紙切れになるかもしれません。たとえば、缶コーヒーが1本1万円になるかもしれません。
この21世紀にも、現実として数多くの国が金融危機に陥っています。近年では、ギリシャ、アルゼンチン、キプロス、その他多数。そんなとき、銀行に詰め寄って残高を現金化しようとしてもシャッターを閉められ、もし一部を現金化できても日々その価値が下がり、紙くず同然になってしまう可能性だってあります。
銀行を信用するしない以前に、国もしくはそこが発行する通貨が破綻してしまっては元も子もありません。
ちなみに、皮肉なことにそんな財政破綻しているような国々で、とくにビットコインの利用が激増しています。キプロスでは学費をビットコインで払えますし、アルゼンチンではコンビニでペソをビットコインに両替できます。
「中央集権」で、人間が運営管理している限り、既存の法定通貨や銀行のシステムではこのような問題が発生する可能性があるというのが事実です。(可能性は低いですが)
ここまでは金融リスク・預金リスクが最悪の条件で実際に起こりうる問題をシミュレートしたものです。
以上を踏まえた上で、ここからはビットコインのしくみを見ていきます。
ビットコインは単なる電子マネーではなく決済システムである
まずビットコインは、実際は「通貨」ではなく、「電子マネー決済システム」であるということ。これはビットコインを発明したナカモトサトシの論文タイトルと序章にも書かれている事実です。
ビットコインというのは、何か物理的なモノが誰かから誰かに渡っているわけではなく、誰にいくつ発行され、誰から誰にいくら支払われたかのデータを記録するしくみです。ところがその名称だけではなく、単位自体もビットコイン(よくBTCと略される)と呼ばれるので話がややこしくなりがちです。
よくビットコインは「暗号通貨(Crypto Currency)」といわれますが、それは実際に通貨のように使えるから便宜上そう呼んでいるに過ぎません。そして、お偉い学者先生たちの間でも、いまだにビットコインが通貨であるかどうかの議論が続いています。(※日本では2017年4月にいわゆる仮想通貨法が施行され、法定通貨ではないが、支払手段の1つと定義されました。)
普段買い物で使っている電子マネーも同じ決済システムの一種です。その場合、あなたがチャージすると、現金と等価交換でその金額が残高としてシステムに記録され、コンビニで使えばコンビニにその残高が移行したとして記録されます。どこかにEdyやSuicaなんていうコインが置いてあるわけではもちろんありません。
繰り返しになりますが、ビットコインも「Bitcoin」というコインが存在していて、誰かがそれを管理しているというわけではありません。ビットコインはお金ではなく、決済システムだということをまずは覚えておきましょう。
「ビットコインも現金で買うんじゃないの?」という疑問についての答えは「イエス」ですが、それはあくまでも勝手に第三者が現在のバリューで売買するサービスを提供しているだけです。なのでビットコインは常時価格が変動します。それに対して一般的な電子マネーは、サービス運営者がその買い取り自体を手数料ビジネスにしています。先のコンビニの例でいえば、客から支払われた電子マネーを、手数料を差し引いて買い戻すわけです。
しかし、ビットコインはEdyやSuicaみたいな電子マネーとは「全く異なる」、根本的な思想からして違うものなのです。
ビットコインはオープンである
ビットコインはソフトウェアです。そしてそれは「オープンソース」という、プログラムの中身(ソースコード)がそのまま一般公開されています。要するに、誰もが中身を見て、無料でインストールしたりカスタマイズすることができるものです。(※ちなみにこのブログを構成している「WordPress」もオープンソースの一種)
ビットコインは中身が丸見えで、誰でもインストールができる決済システムのソフトウェアだということ。
中身が丸見え、ということは、プログラムが読める(書ける)世界中のエンジニアが、その中身に不正が潜んでいるかどうかも自由に精査できるということ。
では、そのプログラムは一体誰が作っているのかというと、世界中の有志であるエンジニア達です。しかも、世界でトップレベルの人材が集まっているといっても過言ではありません。
かつて銀行システムの黎明期に、システム開発者が全ての計算を「切り捨て」に設定して、端数を全部自分の口座に入れていた不正が発生したことがあるとかないとか。そんな不正がビットコインでは不可能だということです。
銀行システムの場合、開発を請け負う業者が徹底的に不具合を精査して、運営に差し支えないようしらみつぶしにチェックする。ビットコインだと、世界中の有志であるすご腕エンジニア達がそれを行います。
あなたが使っている電子マネーや銀行のシステムが、その中身を「公開」しているなんて聞いたことがあるでしょうか? そんなことはセキュリティ上絶対にあり得ません。
ビットコインは全てが公開されているから、世界中の誰にでも精査や監査ができて、「しくみ自体には不正がない」と言い切れる、「信用できる」決済システムなのです。これはOSやサーバ、セキュリティ関連のソフトウェアといった、インターネットを支える基盤技術で、オープンソースのものが成功していることとも無関係ではありません。不特定多数の人の目にさらされて、常時改訂を繰り返しているからこそ信用できるのです。
発行量までオープン
一般的なお金では、その法定通貨という名が表すとおり、国が発行して流通をコントロールしています。よって国が財政に失敗したり、通貨を発行しすぎたりすると、お金の価値がどんどんと下がってしまう可能性もあるわけです。
しかし、ビットコインでは先ほど説明したとおり、全てのプログラムが無償で一般公開されています。その中には、なんとビットコイン自体が発行される量までもが、最初から組み込まれていて、そのルールさえも全てオープンに公開されています。
ビットコインでは、公開された2009年から毎日ほぼ10分ごとに発行されていますが、およそ4年ごとにその発行量が半減し、合計2100万ビットコインを上限とすることが最初から決まっています。
2015年3月時点で既にもうその半数以上が発行されていますが、また2年後である2017年に発行量が半減します。
次第にその発行量は少なくなり、ビットコイン自体の価値が陳腐化しないように計算されています。
日本円や米ドルのように、中央管理する誰かが発行量や流通量を決めて価値をコントロールしているわけではなく、ビットコインは最初からこの先どのように発行されていくかが明記されているという、極めて「透明性が高く」、健全なしくみなのです。
では、誰がそのソフトウェアを、何のための動かしているのか?
その疑問はひとまず先送りにして、アカウント(口座)の概念をまず見てみることにします。
ビットコインのアカウントは自分で勝手に開く
銀行で口座を開設するには、印鑑と身分証明書の提示が必要になります。
銀行はあなたが反社会的勢力でないかどうか、過去にその銀行で問題を起こしたことがないかなどを調べた上で、あなたの口座を開くかどうかを決めます。言い換えると、「あんたには口座を開けません」と拒否される可能性もゼロではないということ。全くの誤解で口座が開けないケースもあります。
ビットコインには管理者がいません。そもそもビットコインには「口座の開設」という概念自体がないのです。当然管理者がいないので審査なんてものもありません。「僕、ビットコインの口座開きたいんだけど方法を教えてください」そんな質問に、「勝手に自分でいつでも開けるでしょ?」と、ちょっと詳しい気取りの人からそんな冷たい答えが帰ってくる理由はここにあります。
ビットコインでは、あなたの口座番号にあたる「アドレス」は、あなたがそれを勝手に自分のものと決めて使い始めることによってあなたのものとなります。
いわば「今日からこれが自分のアドレスだ!」と勝手に宣言して始めるのです。
では一体どうやって?
ビットコインのアドレスは一人でいくつでも持てる暗号鍵
「乱数」というものをご存じでしょうか? その名の通り、「ランダム」に発生させた数字のこと。ビットコインの暗証番号にあたる文字列は、その乱数を元にして作られます。
実際の乱数はプログラムが発生させるのですが、ものすごく端的に説明すると、ビットコインでは70回ほど10面サイコロを振った数字を出して、それを文字列に変換したものが、まずあなたの「暗証番号」にあたるものになります。正式名称は「秘密鍵(Private Key)」。いろんな形式があるものの、どれも最終的に英数字に変換されます。
その秘密鍵を難しい暗号プログラムに通すと、それが「1」か「3」で始まる26文字から35文字の文字列になります。しかも間違えにくいように(?)見分けにくい小文字の「l(エル)」と大文字の「I(アイ)」、数字の「0(ゼロ)」と大文字の「O(オー)」は含まれない状態で。これは、飛行機の座席で「I」と「1」が見分けにくいため「I」席が存在しないのと同じ感じ(笑)。こちらの文字列の正式名称は「公開鍵(Public Key)」。しかし通常は「ビットコイン・アドレス」(Bitcoin Address)と呼ばれます。これがあなたの「口座番号」にあたります。
この「暗証番号」にあたる「秘密鍵」からは、そのプログラムを通せば誰でも「口座番号」にあたるまったく同じ「公開鍵」が作れます。しかし一方通行のためその逆はできません。「公開鍵」から「秘密鍵」は推測できません。
ここで大事なのは、ビットコインの利用においてはこの「秘密鍵」が絶対的な存在だということ。もしこれが他人に渡れば、自動的に「公開鍵=アドレス」を教えることになるのは当然のこと、秘密鍵を持つ人物はそのアドレスにある残高を全て自由に送金することができてしまいます。
冒頭で触れたMt.Goxの破綻。それも、何万という客から預かっているビットコインを管理する秘密鍵が直接犯人の手に渡ったか、もしくはそれを操作するしくみに不正アクセスされたか、そのどちらかが起こったということになります。
もともと個人情報を紐付けた「所有権」が存在しないので、「秘密鍵」が他人に知られた時点で、コントロールを失います。これについては自己責任です。
そこが銀行口座とは違うところ。その残高や送金を誰も保証してはくれません。
もう一つ注目すべきポイントは、実は技術的な話を端折ってさらっと簡単に「10面サイコロを70回振る」と表現した部分。これは要するに、70桁以上の数字が無作為に作られ、変換されてあなたの「秘密鍵」になるということ。
アドレスとして使えるその数は、星の数ほどの組み合わせがあり、計算上あまりにもバリエーションが多すぎて他人のそれとダブることはありません。そのような原理でビットコインのアドレスは作られます。
従って、このアドレスはプログラムを通したら誰でも簡単に作れてしまいます。一人あたりいくらでも作れてしまう。だからもし必要ならば、あなたは100万ビットコインアドレスでも持ててしまう。
では、そのアカウント間の送金はどうやって動くのでしょうか?
ビットコインは元帳までオープンにされている
送金のしくみを紐解く前に、金融システムに必須の、元帳のしくみを覗いてみます。冒頭で見た銀行の概念を、根底から覆すしくみがここに登場します。
ビットコインでは、元帳の内容まで全てオープンになっています。しかも、スタートした2009年から全ての支払い記録(トランザクション)が誰にでも入手できて閲覧することができてしまいます。この部分だけでも、もう金融システムとしては非常識極まりない。
当然のことながら、銀行は元帳(誰がどの口座にいくら振り込んだかなどの情報)を公開していません。銀行では個人情報とお金の流れが紐づいているため、流出すれば一大事となってしまいます。
ここで、先ほど出てきた「ビットコインのインストール」についての話が再登場します。
ソフトウェアとしてのビットコインは、そのルールに従って様々なバージョンが作られており、いろんなハードウェアで動かすことができます。PCはもちろんのこと、専用機もあれば、あなたが持っているスマートフォンで動かすことも可能です。
実際にソフトウェアとしてのビットコインを自分のPCにインストールすると、2009年から始まったその何十ギガバイトという膨大な元帳データをダウンロードして同期するところから始まり、ひどい場合にはそのデータ同期に数日かかることもあります。(※元帳データを同期しないようにもできます)
「自分の送金記録が丸見えでプライバシーが守られない」
そう考えるのはごく自然ですが、先ほど説明したとおり、ビットコインには個人情報は一切紐付けがありません。存在するのはランダムに作られた無数の「アドレス」のみ。その元帳には、「どのアドレスからどのアドレスにいくらビットコインが送金されたか」だけしか書かれていません。
よく、「ビットコインは違法なビジネスに使われやすい」とか「匿名で送金できる怪しいシステム」といわれます。実際にアドレス間のやりとりだけで成り立っているのでそういわれるのは仕方ないのですが、アドレス間の送金は全て記録されていて、一般に公開されているのです。
もし、あなたがAさんとBさんの「アドレス(公開鍵)」を知っていて、AさんがBさんに送金した場合、その元帳を検索すれば、その支払いの時間と金額について知ることができます。
それが冒頭で述べた、「ビットコインの透明性が高い」理由です。
よく「ビットコインがマネーロンダリングを容易にする」などといわれますが、アドレスを個人情報と結びつけることが困難なだけで、送金された内容を見るには、時間さえ掛ければ全てその記録を追いかけられるようになっています。その点では、既存の金融機関を駆使したマネーロンダリングと比較した場合、トレースしやすいといえます。(※銀行間のマネーローンダリングの場合、経由した銀行全てに開示命令を持って、それぞれ個別に情報を取らなければならない)
ビットコインで多額のマネーロンダリングを行っても、大金はどこかで現金にするしかありません。現行のマネーロンダリングでさえ、犯人の検挙には入り口と出口、中継地点となる口座と個人情報との紐付けが必須です。知識と手順、手間の問題だけで、結局のところ、ビットコインを使ったマネーロンダリングの検挙の手間はそう変わりません。
一部のお偉い先生方は、理解が難しいビットコインを怪しく思い、必要以上に危機感を感じているだけと思われます。
ただしビットコインの場合も、複雑に送金を繰り返してトレースしにくくするようなサービスは存在しています。ビットコインはあくまでもツールであり、実際の金融機関と同じく、そこに寄ってきて悪用しようと考える犯罪者がいることは確かです。
いずれにせよ、銀行のしくみではその元帳の公開など絶対にあり得ない。むしろセキュリティ上あってはならない。ビットコインは、それが公開される前提で作られているシステムであるということを覚えておきましょう。
ビットコインには中央管理者がいない?
ビットコインは「ネットワーク参加者全員が管理」しているシステムです。
ビットコインの送金のしくみを理解するのに重要なのは「非中央化(Decentralization)」。しかし、あなたの頭に浮かぶごく自然な疑問は「銀行のように管理者がいなくて、金融サービスがどうやって動いているのか」ということ。
先の説明では、銀行が管理運営をしていました。バックアップの元帳を複数箇所のサーバで管理していようが、これは「中央管理(Centralized)されている」といいます。法律や規制はあれど、銀行の気持ち一つで不正や横領どころかサービス閉鎖も自由です。
しかし、「ビットコインはオープンである」と説明したところで出てきたように、ビットコインは誰でも無料でダウンロード出来てしまいます。すなわちそれを動かせば、誰でもビットコインの管理者になることができるということです。
では誰が、何の目的でわざわざそんなソフトウェアを動かしているのか?
それを解き明かす為に、再びシミュレートして考えてみます。
ビットコインは少数点第何位まである?
今回は、AさんからBさんに1000円ではなく、0.1BTC(ビットコインの略)を送金する場合で考えてみます。
「ん? 0.1BTCなんて単位があるの?」
そう、実はビットコインの最小単位は1ではありません。日本円にも、かつては1/100円である「銭(せん)」という単位がありました。
ビットコインの最小は0.00000001(=1億分の1)BTC。1ビットコインは2017年12月28日現在で、約170万円弱となっています。この最小単位を、ビットコインの発明者であるナカモトサトシ氏に敬意を表してビットコイン業界(?)では慣習的に1 Satoshiと呼んでいます。
しかし、実際にはビットコインで送金できる最小金額は仕様上5460 Satoshiとなっていて、この金額未満はDust(くず)と呼ばれます。日本円に換算すると約92.82円です。この額以上であれば送金が可能なので、ビットコインは充分に魅力的な少額決済が可能なシステムといえます。
先程の話に戻すと、AさんからBさんへの送金は円換算でいうと、約17万円ほどの送金となります。
「ビットコイン・ネットワーク」の参加者が送金処理を請け負う
ソフトウェアであるビットコインは誰でも無料で入手して、インストールすることができます。そのソフトウェアをインストールしていると、誰でもすぐに「ビットコイン・ネットワーク」に参加することができます。今日からあなたでもできます。
その参加者は、「ビットコイン・ネットワーク」上で他人の送金決済の承認を担うノード(node=接続ポイント)の一つとなるのです。
では、そのネットワーク参加者(ノード)たちの間で何が起こっているのでしょうか。
ここでは、Cさん、Dさん、Eさんがそれぞれソフトウェアであるビットコインを動かしていて、ネットワークに参加しているとします。3人が持つ端末はインターネットにつながっています。この3人は立派な「ビットコイン・ネットワーク」上のノードです。
送金したい人は、インターネットにつながっている、いずれかのノードにその旨を伝えれば大丈夫です。それだけで直ちに送金処理が始まります。
全ての送金依頼は「公開鍵暗号」で「電子署名」される
では、先程のようにAさんがBさんに0.1BTCを送金したい場合はどうすればよいか?
Aさんは、自分の(暗証番号にあたる)「秘密鍵」を使って、自分のアドレスからBさんのアドレスに対して0.1BTC送金したい、という情報をそのネットワークに流します。
わかりやすく、Aさんのアドレスは「xxxxxxxx」、Bさんのアドレスは「yyyyyyyy」ということにしておきます。
簡単に説明すると「秘密鍵」を使った電子署名は、その「秘密鍵」を知っている人間にしかできない。「(Aさんのアドレス)xxxxxxxxから(Bさんのアドレス)yyyyyyyyに送金したい」という情報は、xxxxxxxxの「秘密鍵」を握るAさんにしか作れないのです。
しかし、他人からはAさんの「公開鍵」を使えば、これはAさんが作ったものだとちゃんと確認できる。しかも、この場合Aさんの「公開鍵」はAさんのビットコインアドレスそのものなので、それをそのまま使えば「これはちゃんとAさん本人が作った送金リクエストだ」と本人確認ができてしまいます。
この「公開鍵暗号」というしくみは、「電子署名」という名の本人確認ができてしまう、非常に便利なしくみなのです。
ビットコイン送金で必要なこの電子署名は、インターネットにつながっていない端末でも署名することができます。いったん署名した情報は他の誰にも改ざんできないので、安全に依頼ができるというわけです。
それこそ、インターネット接続を切ったスマホでまず電子署名して、それからその署名したファイルを他の端末に移して送金リクエストを出すことだって可能です。こんなにも安全な送金依頼方法は、既存の金融システムではまずありえません。
ビットコインはP2P電子マネーである
Aさんは、早速その送金リクエストの情報をノードに投げる。
「xxxxxxxx(Aさんのアドレス)からyyyyyyyy(Bさんのアドレス)に
0.1BTCを送金 by xxxxxxxx(電子署名済)」
そして、一つのノードに送り込んだ送金リクエストは、インターネットでつながった全部のノードに一気に広がる。
オンラインバンキングのように利用者が一斉に一カ所に用意された中央サーバーに接続する(「クライアント・サーバー方式」と呼ぶ)のではなく、それぞれのノードが蜘蛛の巣のようにインターネット上でつながって、個々のノード同士がが情報を交換するので、このしくみを「P2P(Peer to Peer)方式」と呼びます。
かつて大きな話題となったファイル交換ソフト「Winny」や「WinMX」などと同じしくみです。
今ではよく知られているインターネット電話「Skype」も、このP2P接続で成り立っています。
ビットコインの発明者であるナカモトサトシ氏の論文タイトルを見ても、
「Satoshi Nakamoto(中本 哲史)(2008)
Bitcoin: A Peer-to-Peer Electronic Cash System
(ビットコイン:P2P電子マネーシステム)」
となっている。
タイトルに入れるほど、この「P2P」のしくみがビットコインにとって大事だということです。
先程のAさんの送金の話に戻すと、Aさんの送金リクエストを受け取ったノードを持っている別のユーザー、Cさんは、すぐにそのリクエストが正しいものなのかを検証します。Cさんは過去全部の元帳データを持っていたとします。だから、Aさんのアドレスが支払うに十分な残高を持っているかどうかもすぐに分かります。
「これは正当な支払いリクエストである」
そのことが分かった瞬間、Cさんは「ビットコイン・ネットワーク」に参加している全員に、「P2P接続」を利用してリクエストを配信します。
これは決してCさん個人の意思ではなく、ソフトウェアとしてのビットコイン(※通常daemon=デーモンと呼ばれる)に組み込まれている絶対ルールなのです。ネットワーク参加者は、平等にそのリクエスト情報を受け取ることができます。
では、ここでみんなに広がったAさんの支払いリクエストについて、その情報を「ビットコイン・ネットワーク」上で「正式に支払い済」として採用するにはどうすれば良いのか?
それは、この新しいリクエストを新しいページに書き込み、そのページを元帳の最後のページに貼り付ければ良いだけなのです。そうすれば、Aさんの送金は正規の元帳に記されたトランザクションデータの一つとなります。
Cさんは早速新しいページを用意してそこに書き込みました。
「xxxxxxxx(Aさんのアドレス)からマイナス0.1BTC。yyyyyyyy(Bさんのアドレス)にプラス0.1BTC」
しかし、誰でも単にこのページを正規の元帳の最後に貼り付ければ良いというものではない。もしそんなものが存在すれば、それこそ不正し放題となってしまう。
この貼り付けを行うことができるのは、たった一人だけです。
完全破壊が不可能なビットコイン
もう一度、銀行とお金のしくみについて振り返ります。
例えば銀行にある、あなたの銀行残高データを破壊するには、その銀行が管理している元帳(実際にはデータを記録しているサーバ)を全て破壊すれば良い。
複数箇所に分散してデータが保存されているとはいえ、これは中央管理者によって中央管理されている「Centralizedな環境」と表現されます。
それに対してビットコインはどうでしょう?
ビットコインは、ソフトウェアであるビットコインを稼働させている全てのコンピュータ内に元帳データが保存されています。
すなわち、ビットコインであなたの残高データを破壊するには、それらのネットワークに参加している全てのコンピュータをほぼ同時に破壊するしかありません。でなければまた新たに生まれたノードに元帳がコピーされてしまいます。
「ビットコイン・ネットワーク」に参加しているコンピュータは、それこそ世界中に無数に散在しています。中国の田舎にある巨大な採掘工場から、日本のとある会社員宅のデスクにまで。それらを全て、しかもほぼ同時に破壊するなんてことはもう到底不可能な話です。
前述のとおり、「データを改ざんできない」どころか、「データを破壊したくともできない」、それがビットコインの実態です。
ブロックチェーンとは何か?
これまでに散々登場した「元帳の1ページ」単位が、ビットコインでは「ブロック」と呼ばれます。そして、そのブロックがつながった状態の「元帳」を「ブロックチェーン」と呼びます。
ここまでの話の中で、「ページ」を「ブロック」に、「元帳」を「ブロックチェーン」に置き換えても全て話が通ります。
ブロックというと、なんとなく直方体の「ブロック」を想像してしまいますが、本来は単なる容量と書式が決まったデータの塊です。その名前が「ブロック」であるから、わかりやすくこのようなブロックのつながりや、単なる正方形のつながりとして表現されることが多いのです。
よく聞く「ブロックチェーン」が、「元帳」であることがわかっていれば、理解するのは容易です。
将来有望なブロックチェーンのしくみ
これらを含めた全てのしくみがあまりにも画期的であり、かつ信頼性が高いため、様々な分野で「ブロックチェーン」のしくみが採用され始めています。
実際、IBMが「ブロックチェーン技術」をIoT(Internet of Things=モノのインターネット)や主要通貨の決済システムに採用を進めていて、あのIntelまでも、ついに暗号通貨関連の研究者を募集し始めました。
本当にこのビットコインの「ブロックチェーン技術」が、一般的に思われているように「怪しい」「信用出来ない」「データが改ざんされてしまう」ような技術であれば、先進的なテクノロジー企業がそれを参考にして、新しいプラットフォームをつくろうとするはずがありません。
「ブロックチェーン」を用いれば、改ざんできない透明性の高いプラットフォームをつくることができます。それを世界で初めて、決済プラットフォームとして実働させ、証明したのが「ビットコイン」なのです。
そして大小さまざまな問題を乗り越えながら、ビットコインは2009年から止まらずに立派に稼働し続けているのです。
ビットコインの特長まとめ
- 電子マネー決済システムである
- オープンソースで誰でも精査できる
- アドレスは何個でも自分で作れる
- 「公開鍵」と「秘密鍵」が口座情報
- 誰でもインストールできる
- 取引データは全て一般公開
- 取引の透明性が高い
- 簡単に盗むことができない
- 消したくても消せない
- 中央管理者がいない(Decentralized)
- ビットコイン=P2Pネットワーク
- 改ざん不可
- 個人情報の登録なしに使える
- 世界中の誰に向けても送金できる