仮想通貨

初心者でもわかるブロックチェーンの仕組み-ビットコイン編

ノンホルダー・リトです。

リト自身もやっとブロックチェーンの仕組みについて理解を深めつつあるので、ここで一つアウトプットします。
今回は、ビットコインのブロックチェーンについてみていきます。

リト自身が理解できるように、文中に何度も同じ単語が出てきたりします。文章の繰り返しも多いです。
だからこそ、初心者の方でも読むのに時間はかかるかもしれませんが、深く理解できる内容になっていると思います。

それではいきましょう。

ブロックチェーンはみんなで管理する非中央集権型台帳

非中央集権型台帳の「台帳」とは?

ブロックチェーンはよく非中央集権型台帳とか言われます。もう少し噛み砕きたいと思います。

台帳という単語を聞き慣れない人は、帳簿という単語だと同じ意味です。つまり、お金の取引を記録するものです。

ブロックチェーンでは、このお金の代わりにビットコインという仮想通貨の取引が記録されます。

非中央集権型台帳の「非中央集権」とは?

英語では「Disentralized」と書かれることがあります。この英単語を直訳すると「非中央集権的」という意味になります。

つまり、特定の人だけが権限を持って取引を記録するのではなく、不特定多数のみんなで取引を記録したり確認したりして管理しようという仕組みになっています。

銀行が保有している取引台帳は中央集権的と言えます。銀行の大元の全ての取引台帳を一般人が見ることはできませんよね。
でも、ビットコインは非中央集権的なので、誰でも管理に参加できるし、誰でも取引内容を見ることができます。

インターネット上の無数のPCでブロックチェーンを管理している

ブロックチェーンを管理するために、不特定多数のPCがP2Pで繋がっています。P2Pとは、インターネット上のPC同士が自由にファイルを送受信しあえる状態だと思ってください。

これによって、それぞれのPCがブロックチェーンの中にある情報を保存したり、取引の正確性を確認したり、新しい取引をブロックに繋いだりできるようになっています。

ブロックチェーンのデータは、細切れにして、P2Pに繋がれている不特定多数のPCそれぞれに分散させて保存される仕組みになっています。
このように全部のデータを一つのPCに保存するのではなく、細切れにしていろんなPCに保存することも「非中央集権的」と言えます。

たくさんのPCにデータを分散させることで、ずべてのデータが盗まれないようにしています。
そして、分散されたデータのいくつかが盗まれても、残りのデータ達で復元できるような仕組みも備えています。

これによって、ブロックチェーンは、ほとんど100%改竄できな仕組みになっています。これが画期的なイノベーションです。
なぜ改竄できないのか。そのイメージを噛み砕いて解説していきます。とにかく重要なポイントは暗号化です。

ブロックチェーンではビットコインの取引を暗号化して管理している

ブロックチェーンではビットコインの取引を暗号化して管理します。

そこでまずビットコインの取引と暗号化についてお話しします。

ビットコインの取引はトランザクションと呼ばれている

ビットコインの一つ一つの取引は「トランザクション」と呼ばれています。
このトランザクションには「AさんからBさんに〇〇BTCを送る」という形の情報が記録されています。

そして、トランザクションはハッシュ関数によって、一定の長さの固有の文字列に変換されます。
この文字列を「ハッシュ値」といいます。
ちょうど、固有の名前がつけられるイメージです。
プログラミング言語っぽく言えば、ある計算式を「x」という変数に格納するイメージです。

大丈夫です。次にハッシュ関数について書きます。

ハッシュ関数とは?

ハッシュ関数は一方向関数の一つです。

一方向関数とは、ある一方の方向から計算するのは簡単だけど、その逆の方向から計算しようとすると難しくて解くためにたくさん時間がかかってしまうような関数です。

このハッシュ関数がいわゆる暗号化の役目を担っています。

大丈夫です。例をあげます。

素因数分解を例にハッシュ関数のイメージをつけよう

例えば、素因数分解もある意味で一方向関数みたいな性質があります。

いくつかの素数を出されて数字を作れと言われれば、その素数を全部掛け合わせればいいです。これは簡単に計算できます。
でも、膨大な数、例えば何十桁の数字から元の素数を全部取り出せと言われると、とても時間がかかってしまいます。
2で割り切れるのか?割り切れなかったら、次は3で割り切れるか試してみる、3でも割り切れないなら、次は7で割り切れるか試してみるといった感じで、一つ一つ素数を当てはめて、計算するしかないです。
それには膨大な時間がかかることがイメージできると思います。

これと同じような性質をハッシュ関数も持っています。

トランザクションは64桁のハッシュ値に変換される

ハッシュ関数にも色々な種類があります。
ビットコインのブロックチェーンで使われるハッシュ関数は、SHA-256(Secure Hash Algorithm 256-bit)というアルゴリズムのハッシュ関数です。
計算の中身は置いておいて、とりあえずあるデータをこのSHA-256というハッシュ関数に渡すと、64桁の数字とアルファベットの組み合わせの文字列に変換してくれます。

実際のハッシュ値はこんな感じです。64桁あります。

627095f0bfe8e3550f12381d955c5b415857c2c81179e118b024ce84ab198ea6

これを以下のサイトの検索窓にコピペして開くと、取引の中身が見れます。
とはいえ、「誰が誰に」というのはwalletのアドレスで書かれています。
このアドレスは数字と文字の羅列なので、そこから個人を特定するのは基本的に取引の当人同士ぐらいなので、他の人たちからは匿名性が保たれています。

そして、このハッシュ値にすることが暗号化です。

Blockchain.com Explorer | BTC | ETH | BCH
The easiest and most trusted transaction search engine and block explorer.

ハッシュ関数のおかげで取引データを改竄できない

ハッシュ値から取引のデータを閲覧することは先ほどのサイトでできますが、その取引データそのものを書き換えることはできません。

なぜなら、ハッシュ関数は一方向関数だからです。ハッシュ値から逆を辿ってデータを編集できるところに行き着くことはできません。

これがブロックチェーンの利点の1つです。そして、ビットコインが暗号通貨ともいわれる理由です。

ブロックチェーンのブロックとマイニング

ブロックとチェーンのざっくりとした関係

10分起きに発生した全世界の取引を1つにまとめたものが「ブロック」です。
このブロックがいわゆるマイニングの対象になります。マイニングとはこのブロックの中身を承認する作業です。ブロックが承認されないと中に含まれている取引、つまりトランザクションも承認されず、取引が成立しないのです。そして承認されたブロックは、承認された順番に鎖のように繋がれていきます。これがチェーンです。

まとめると、10分おきのトランザクションの塊をブロックとして、それが承認されるとブロック同士が順番にチェーンのように繋げられるということです。これが「ブロックチェーン」と呼ばれる理由です。

ブロックについてもっと詳しく

ブロックは、トランザクションの塊であると同時に、トランザクションと同じようにハッシュ関数によって64桁のハッシュ値を自動で与えられます。

そして、このブロックには、1つ前に承認されたブロックのハッシュ値とナンス値(ノンス値ともいう)というものが含まれています。

焦らないでください。大丈夫です。

改めて、ブロックには大きく3つの情報が入っています。

  1. 10分間の全世界の取引(トランザクション)データ
  2. 1つ前に承認されたブロックのハッシュ値
  3. ナンス値(ノンス値)

そして、この3つの情報でできたブロックもハッシュ値を持つことになるのですが、ここで重要なのがナンス値です。

このブロックを承認させるためには、正しいナンス値を誰かが当てないといけないのです。
つまり、承認前の出来たてのブロックについて、誰もナンス値を知らないわけです。
パズルでいうところの残り1ピース埋めたいんだけど、それがどれかわからない状態です。
そして、それを探し当てる作業がマイニングと言われています。
このブロックがチェーンに繋がるためには、ある条件を満たすハッシュ値を発生させる必要があります。
そのためのナンス値を探し当てて検証されることで、このブロックが承認されてチェーンに繋がるという仕組みになっています。

マイニングはナンス値を探し当てること

マイニング作業はナンス値を生成させて、ブロックのハッシュ値を生成させます。
ブロックをチェーンに繋ぐためのハッシュ値はある条件を満たす必要があります。
その条件は、最初の何桁かが全部「0」がつくようなハッシュ値でないといけないということ。

マイニングでナンス値を生成して、ブロックのハッシュ値を生成させるとこんなイメージです。

ブロックのハッシュ値のイメージはこんな感じです。

0000000000000000bfe8e3550f12381d955c5b415857c2c81179e118b024ce84

そして、このハッシュ値を生成するためには、ナンス値を何度も変えて入れてみて、ハッシュ値を生成させて、偶然0が何桁も並ぶような正しいハッシュ値を生成させないといけないです。どれだけ繰り返せば、正しいハッシュ値を出せるのか気が遠くなります。

このため、計算スピードが早いPCをたくさん揃えてマイニングする人たちが沢山いるのです。

ナンス値を探し当てると他の人に検証してもらう

ブロックのハッシュ値を正しく生成するナンス値を探し当てると、他のマイニングしている人、つまり、マイナーに検証してもらいます。
つまり、その同じナンス値を入れることで同じハッシュ値が生成されるのか、を確認します。
これで問題なければ、このブロックはチェーンに繋がれます。

以上を持って、マイニング成功になります。

そして、このマシンパワー頼みの承認作業をしないといけない仕組みを「PoW (Proof of Work)」と言います。
そして、このPoWという仕組みがブロックチェーンの重要なポイントです。

ブロックチェーンが改竄できないのは前のブロックのハッシュ値がブロックに入っているから

そして、ブロックに1つ前のブロックのハッシュ値が入っているから、P2Pで繋がれている一部のパソコンからデータ(ブロック)が盗まれても、残りのブロックの中に含まれている前のブロックのハッシュ値を使って、前後をたどりまくれば、元通りのチェーンに戻すことができるようになっています。

マイニングのメリットとは?

マイニングが成功するとビットコインがもらえる

マイニングが成功すると、そのマイナーに報酬としてビットコインがもらえます。
だから、みんな高価なPCと毎日PCを動かすための電気代を払ってでもマイニングをしています。
ただし、今は一個人がマイニングにチャレンジしてもなかなか報酬をもらう機会が得られないぐらい、たくさんの人がマイニングに参加しています。
また、大きな施設で何百台もの高性能PCを構えてマイニングをする企業なんかもたくさんいます。そういう人たちの方がやはりマイニング成功する確率は高いです。

マイニングは早い者勝ちの戦いです。

マイニング報酬をあげるときだけビットコインが新しく作られる

マイニングが成功すると、報酬としてビットコインがもらえます。

そして、この時にかぎって、ビットコインが新しく作られる、というプログラムになっています。

これはそういう設計になっているので、何も考えずに受け入れて欲しいです。

だから、みんながマイニングをやめると、ビットコインは新しく作られなくなるとも言えます。
というリスクも議論されたりしますが、ビットコインが価格が上がればマイニングをやるモチベーションしか発生しないので、今のところはそんなことが起こらないと思います。

ビットコインに発行上限枚数がある、その数2,100万枚

ビットコインは発行上限枚数があります。2,100万枚です。単位でいうと、2,100万BTCまでしか発行されないということです。

これはもうそういうふうに決まっていて、なぜかは誰も知りません。

ただし、上限があることによって、金のような希少性が発生するということは感覚的にわかると思います。
ある意味、これがビットコインの一つの価値のみなもとかもしれません。

ビットコインのマイニング報酬は4年に1度半減する

ムーアの法則というものがあります。これは、ざっくりいうとPCのマシンパワーは2年ごとに倍増するという法則です。
そのため、年が経つにつれて、同じ作業を倍以上のスピードで処理できるようになるということです。

つまり、マシンスペックが2倍になると、マイニングによって新たに発行されたビットコインの価値は相対的に半減することになります。
これを防ぐために、マイニングによって新たに発行するビットコインの枚数を半減させることで、相対的にビットコインの価値が変わらないように調整しているのです。

半減期狙いでビットコイン価格が高騰する

ビットコインバブル時代に、ニュースで、ビットコインの半減期が近づいているため、価格の高騰が予想されますとか、高騰し始めています、とか聞いたことがある方もいると思います。

なぜ、半減期が近いとビットコインの価格が高騰するのかというと、そうならないとマイニングをしている人を中心にビットコイン持っている人は困るからです。

半減期になると、マイニングに対するビットコインの価値は相対的に半減するとお話ししました。

ここからはFXと似たマネーゲームの複雑なお話になるのですが、ビットコインの価値が下がるということは安く買うことができるという状態でもあります。また、マイニングしている人たちにとっては価値が2倍にならないと困るわけで、そうであれば、ビットコインの市場参加者のみんなが2倍になることを見込んで、ビットコインを買おうします。それが結果的に価格を高騰させたりします。

これはもう魑魅魍魎のマネーゲーム的な側面があるので、あまり気にしないでください。

大事なことは、ビットコインは上限枚数があって、金みたいな希少性があるということです。それにたくさんの人が価値を感じれば、価値が着くのです。その人数が増えれば、さらに価値が上がるということです。

まとめ

ブロックチェーンは不特定多数の人たちがPCをP2Pで繋いで管理している非中央集権型台帳です。
ビットコインの取引を記録したり承認したりしています。

そしてビットコインの取引を承認するためにPoWという仕組みで、マシンパワーを使って繰り返しナンス値を出して、ブロックの正しいハッシュ値を生成させて、みんなで検証しています。

このビットコインの取引を承認する作業をマイニングと言います。このマイニングが成功した時だけ、新しいビットコインが新規に発行されてこのマイニング成功者に報酬としてあげます。

これがビットコインのブロックチェーンのざっくりとした仕組みです。

実は、ブロックチェーンは他にもたくさんの種類があります。今後、それらについてもお話ししていきたいな。

免責事項

本記事を参考にした事によるいかなる不利益について、管理者は一切の責任を負いかねます。

DYOR, NFA

コメント

タイトルとURLをコピーしました