こんにちは、カニエです。
今回は、ビットコインに使われている謎技術「ブロックチェーン」について分かり易く解説していきます。
「そもそも暗号資産のことがよく分からない・・・」って人は、こちらで暗号資産について解説してるので是非ご覧ください。
それでは行きます!
本記事で分かること
・そもそもブロックチェーンって何?
・ブロックチェーンの仕組み
そもそもブロックチェーンって何?
ブロックチェーンとは、取引データなどの情報を皆で分散管理する為の技術です。
取引データの情報をブロックにまとめ、それを時系列順にチェーン(鎖)で繋いでいくことから、ブロックチェーンと呼ばれます。
時を遡り2008年10月、サトシナカモトと呼ばれる謎の人物(団体)がとある論文を発表しました。
その論文では「信用できる第三者を介さずに個人間でお金の取引を行う為にはどうするべきか」というテーマで、実際にその仕組みを実現する為の設計図まで記されていました。
サトシナカモトはその後、行方をくらましましたが、有志の開発者がその論文を元にしてとあるデジタル通貨を作りました。
それがビットコインです。
そして、ビットコインの取引記録を書き込めるインターネット上の帳簿のような物として、ブロックチェーンが作られました。
そんなブロックチェーンには大きく分けて以下の3つの特徴があります。
- 管理者や発行元が存在しない
- 改ざんや不正が非常に困難
- システムダウンが発生しない
1.管理者や発行元が存在しない
ブロックチェーンでは特定の管理者や発行元が存在しません。
従来の電子マネーでは企業(管理者)がユーザーの取引記録の管理、保存を行っていますが
ブロックチェーンではそういった中央管理者が存在せず、取引に参加するユーザー達でお金のやりとりを管理、保存をしています。
2.改ざんや不正が非常に困難
ブロックチェーンでは、様々な暗号化技術が使われていたり、取引データを皆で分散管理することで、何か一つ不正をすればすぐに誰かが気づくような構造になっています。
また、過去から現在までの取引情報のブロックが全て、一本のチェーン(鎖)で繋がっている為、特定のデータの改ざんを行おうとすると、それ以降の取引情報全てを書き換える必要がある為取引記録の不正な改ざんが非常に困難という特徴もあります。
3.システムダウンが発生しない
ブロックチェーンでは、情報の管理・保存にP2P(Peer to Peer)ネットワークというものを利用している為、システムダウンが発生しません。
P2Pネットワークとは何かというと、複数の端末(ノード)でデータを分散管理して情報共有する技術のことです。
従来の電子マネーでは発行元の企業のデータベースにユーザーの取引情報が全て格納されている為、大元のデータベースがダウンしたらユーザー全員の取引が停止してしまう可能性があります。
大手のサービスであれば、万が一そうなっても大丈夫なように緊急用のサブデータベースを用意したり、クラウドへのバックアップによる対策をとっていますが運用コストがとてもかかるというデメリットがあります。
一方で、P2Pネットワークではユーザー達の個々の端末で取引情報の管理、共有を行っており、一つの端末がシステムダウンしても他の端末で取引情報を共有している為、全員の取引が停止することがありません。
ブロックチェーンの仕組みは?
待って、取引記録を皆で共有?暗号化技術?意味不明です・・・
大丈夫!ここからは実際にどのような仕組みでブロックチェーンが機能しているかを
順を追って分かり易く説明します!
まず最初に、重要となるキーワードは以下の3つです。
①P2P(ピアツーピア)ネットワーク
②電子署名
③秘密鍵・公開鍵
まずは3つです!難しそうな用語だらけだけど、少しずつ覚えていこう!
まず僕(カニエ)が、(山田太郎)という友人に1BTCを送金するケースを想像してください。
P2P(ピアツーピアネットワーク)によって世界中のビットコインのユーザーに
「カニエ ⇒ 山田太郎 1BTCを送金します」と共有され、皆がそれぞれ台帳に書き込むイメージです。
ここでいう台帳というのは、ネット上のウェブサイトのような所になります。
ただ、この台帳はウェブ上で公開されている為、誰でも閲覧が可能でそのままだとガバガバセキュリティすぎます。
そこで使われるのが暗号化技術です。暗号資産という呼称の由来ですね。
誰でもアクセス可能な台帳では、第三者が勝手に「カニエ⇒山田太郎 1BTC送金」という偽の取引メッセージを作ることができてしまうので、カニエは②電子署名をすることにしました。
ちなみに電子署名は、ただの署名ではなく1と0で出来た数字の組み合わせになります。
このように、電子署名をすることで僕のビットコインが第三者によって勝手に送金されるのを防ぐことができました。
さらに、この電子署名自体が他人に偽造されないように、取引ごとに毎回違う数字の羅列が生成されるような仕組みにしました。
そこで、毎回違う署名を生み出すために使われるのが③秘密鍵(プライベートキー)と③公開鍵(パブリックキー)です。こちらも電子署名と同じく1と0の数字の組み合わせでできています。
この二つの鍵は、ビットコインのユーザー全員が持っています。
「カニエ⇒山田太郎 1BTC送金します」という取引メッセージに秘密鍵を混ぜ合わせることで毎回違う文字列の電子署名を生成することができます。
繰り返しになりますが、毎回違う電子署名を生成する理由は電子署名の偽造を防止する為です。
秘密鍵は文字通り自分しか知らない鍵で、全員が異なる文字列の秘密鍵を持っている為、他の人はこの電子署名を偽造することができません。
しかし、電子署名をしたとしても、他のビットコインユーザー達はそもそもカニエの秘密鍵を知らないので、傍から見ればそれが本当にカニエ本人の電子署名なのかは分かりませんよね。
そこで公開鍵(パブリックキー)を使います。
公開鍵は文字通り、誰からでも閲覧が可能なものです。
取引メッセージと電子署名という二つの公開された情報を、公開鍵によって検証しこの署名が本当にカニエ本人の物なのかを判別できるようになっています。
更に、取引メッセージと署名をコピペしたらすぐ分かるように取引メッセージに番号を振ることにしました。
No.1の取引メッセージをコピーアンドペーストしたら、番号がNo.2に変わってしまうので
すぐにコピペしたものだと気づくことができますね。
ここまでは取引メッセージや電子署名の偽造や改ざんができない仕組みを説明しました。
ここからは、生成された取引データがどのような仕組みでビットコインユーザー達に共有され、正しく台帳に保管されるかを説明します。
ビットコインの取引は世界中の大勢の人がそれぞれのタイミングで行っています。
ビットコインが通貨としての信用を確実なものにする為には、、取引メッセージが正しい順番で台帳に記録され、正確に共有する必要があります。
そこで、次に重要になってくるキーワードが以下の5つです。
①ハッシュ関数
②ハッシュ値
③PoW(プルーフオブワーク)
④マイニング・マイナー
⑤半減期
ごめん、頭がいっぱいかもしれないけど、もう一回だけ暗号化技術について話させて!
まず、①ハッシュ関数と②ハッシュ値についてです。
ハッシュ関数というのは、とあるデータ(文字・画像・音楽なんでもOK)を入力すると決まった文字列が出力される装置みたいなもので、ハッシュ値はハッシュ関数にデータを投げ込んだ結果出力された文字列のことを指します。
上の図を見てもらうと分かるように、ハッシュ関数に111と文字を入力すると決まって0010C1A67D9というハッシュ値が出力されます。
試しに入力する文字を少し変えてハッシュ関数に112と文字を入力すれば、出力されるハッシュ値も違うものになり、28D671H89UXとなります。
このように、ハッシュ関数に入力する文字が一文字でも違えば異なるハッシュ値が出力される仕組みです。
ここで注意するべき点は、ハッシュ値からハッシュ関数に入力されたデータを解読することはできないということです。
あくまでもハッシュ関数⇒ハッシュ値は一方通行なものだと思ってください。
そこであなたはある日、なんとなく875とハッシュ関数を入力したら 偶然00000Y76FT9という
0が5つ並ぶハッシュ値が出力されました。
0が5つ並ぶ確率というのは天文学的と言っても言い表せないくらいの低い確率となります。
実はこの、0が5つ並ぶような特別なハッシュ値を出力することが取引を承認する鍵になります。
取引の承認の鍵=当てずっぽうに異なる文字をハッシュ関数に投げ込みまくり、0が5つ並ぶハッシュ値を見つけるということです。そしてこの仕組みを③Pow:プルーフオブワークといいます。
従来の電子マネーでは発行元の企業などの管理者への信用が必要でしたが、
ビットコインでは計算量を信用の基盤にしているということになります。
取引情報が一定数溜まると一つのブロックに格納され、そのブロックが特別な数字のハッシュ値というチェーンで承認され繋がっていくことから、ブロックチェーンと呼ばれています。
しかし、ここで鋭い人はこう思いました。
特別な数字を見つけるまでハッシュ関数にデータを入力しまくって取引を承認するんだよね?
じゃあ、悪意を持った人が他人の取引記録を改ざんしたあとに運よく0が5つ並ぶようなハッシュ値を偶然出力しちゃったら、その取引もそのまま承認されちゃうの?
確かに、ここまでの説明だと、取引記録の不正や改ざんが絶対にできないとは断言できません。繰り返しになりますが、通貨を管理する為には100%の信用が不可欠です。
でも心配しないでください。ビットコインではそれも対策済みです。
その対策とは、ひとつ前のブロックのハッシュ値を次のブロックの先頭につける というものです。
上の図のように、一つ前のブロックのハッシュ値が次のブロックのハッシュ値に付くという仕組みによって、改ざんしたブロックの取引記録を運よく承認できたとしても、次のブロックには改ざんしたブロックのハッシュ値が付くため、改ざんした人が一人で特別な数字を見つける必要が出てきます。
〇最初の正しいブロックチェーン:皆で計算問題を解いている為、続々と取引が承認されていく
×改ざんしたブロックチェーン:改ざんした人が一人で計算問題を解いている為、やがて計算問題を解く競争に勝てなくなる
改ざんした人は最初は運よく特別な数字を見つけることができたとしても、
やがて「計算量の多い方を信用する」という競争ゲームで置いてけぼりになり、改ざんしたデータは無効となります。
ところで、取引を承認するメリットって何だと思いますか?
繰り返しになりますが、取引を承認する為には当てずっぽうに計算をして特別な数字を見つけなければいけません。
そんな大変なことをしてまで取引を承認するメリットって何でしょうか?
それは、取引を承認することで報酬としてビットコインが貰えるからです。
取引を承認する為に、当てずっぽにハッシュ関数にデータを入力し0が5つ並ぶような特別な数字を見つける仕事を④マイニングと言い、それを行う人のことを④マイナーといいます。
余談だけど「マイニング」は日本語で「採掘」を意味し、鉱山から金や銀を掘ることから由来しているよ!
ちなみに、マイニング報酬として貰えるのは新規発行されたビットコインです。
つまり、マイニングを行うことでマイナーに報酬が支払われるメリットに加えて、
ビットコインの新規発行が行われることでビットコインシステムの維持にも貢献しているという、まさに一石二鳥なわけです。
また、金の埋蔵量に限りがあるようにビットコインは2100万枚までと発行上限が決まっています。
このように、金の性質と類似していることからもビットコインはデジタルゴールドと呼ばれています。
また、ビットコインシステムでは4年に1度⑤半減期というものが来るようになっており、半減期ではマイニング報酬として貰えるビットコインが半分になります。
半減期によって新規発行されるビットコインの数が減ることでビットコインの希少性が上がり、半減期の年から翌年にかけてはビットコインの価格が大きく上昇する傾向があります。
2024年10月現在、既に90%(1900万枚)以上のビットコインが発行済みで、報酬として貰えるビットコインの枚数は3.125BTCです。
1BTCの価格が日本円で900万円くらいなので、取引の承認に成功すればマイナーに2812万円相当のビットコインが支払わることになります。
ちなみにビットコインが2100万枚発行され、ビットコインが新規発行されなくなったとしてもマイナー達にはビットコインの取引手数料が支払われることになっているので報酬が支払われなくなることはありません。
最後に
いかがだったでしょうか?だいぶお話が長くなってしまいました。
この記事を読んでビットコインに使われているブロックチェーン技術について何となくでも理解できたなら嬉しいです。
そもそも、僕がなぜこの記事を書いたのかというと暗号資産は圧倒的な成長市場なのにまだまだその本質や技術の革新性を認知している人が少ないと思ったからです。
今のうちに暗号資産の技術的な理解を深めて、これから来るであろう大きな波に乗り遅れないように準備しておきましょう!
今後も暗号資産についてどんどん発信していくから見てくれると嬉しいです!
以上です。
コメント