見出し画像

今からでも理解したいビットコインの生い立ちと仕組み:ブロックチェーンとマイニングについて

生徒:
先生、今日はちょっと今更感はあるんだけど、ビットコインや暗号通貨について少し教えてくれる?

先生:
もちろん!面白いし大事な技術だからいつ学んでも遅くはないわ。
暗号通貨は、インターネット上で使えるデジタルなお金のことよ。普通のお金みたいに物やサービスを買ったり、交換したり、投資の対象にもなるの。特徴としては、「ブロックチェーン」という技術を使っていることね。これは取引の記録を透明に管理できて、改ざんなどの不正が難しい技術なのよ。

生徒:
そうそう、そのブロックチェーンという仕組みがあんまりよくわからないんだよね。。。まずは暗号通貨の生い立ちについて簡単に教えてくれるかな?ブロックチェーンの概念はいつ頃登場したものなのかな?

先生:
暗号通貨の生い立ちね、説明するわね。
暗号通貨の概念自体は1970〜1980年代に遡るのよ。この頃にデジタルなお金を安全に使うための技術が研究され始めたの。でも、現在のようなブロックチェーンを使った仕組みは2008年に「サトシ・ナカモト」という人物が提案したのが始まりなの。この論文が暗号通貨の土台となっているわ。そして、2009年に最初のビットコインソフトウェアが稼働してビットコインが実際に動き始めたのよ。

生徒:
なるほど、ブロックチェーンの概念自体が登場したのは、サトシ・ナカモトさんの論文が始まりなんだね。日本人っぽい名前だけど、日本人なの?

先生:
名前は日本人っぽいけど、実際のところ正体は全く分かっていないのよ。日本人かもしれないし、外国人やグループの名前の可能性もあるわ。2008年に論文を発表して、2009年には最初のビットコインソフトウェアを公開した後、2011年頃には姿を消してしまったの。

これまでに「自分がサトシ・ナカモトだ」と名乗り出た人もいるけど、どれも確かな証拠はないのよ。この謎めいた存在が、ビットコインにさらに神秘的な魅力を加えているわね。もしかしたら、わざと正体を明かさずに、ビットコインが「誰にも支配されない仕組み」であることを象徴的に示したかったのかもしれないわ。

生徒:
とてもワクワクする設定だね!
ビットコインのブロックチェーンの仕組みってどんな感じなのか、理解できるかわからないけどなるべく簡単に教えてくれる?

先生:
ブロックチェーンは、取引のデータをまとめた「ブロック」が「鎖(チェーン)」のようにつながった仕組みよ。それぞれのブロックには、取引の履歴や計算結果が記録されているの。

具体的には以下のような流れで動いているのよ:

  1. 取引が発生
    誰かがビットコインを送ると、その情報がネットワークに送信されるわ。

  2. 取引の確認
    ネットワーク上のコンピュータが、その取引が正しいかどうかを確認するの。

  3. ブロックにまとめる
    いくつかの取引データが1つの「ブロック」にまとめられるの。

  4. 計算による承認
    マイナーと呼ばれる人たちが、ブロックをチェーンに追加するために難しい計算をするわ。

  5. ブロックの追加
    計算が成功すると、新しいブロックがチェーンに追加されて、取引が正式に記録されるの。

こうして、全員で安全に取引の履歴を共有し、守っているのよ。

生徒:
すごい、そしたらビットコインには過去の全ての取引の情報が鎖になって記録されているの?

先生:
その通りよ!ビットコインのブロックチェーンには、最初の取引から現在までの全ての取引データが記録されていて、それが「鎖(チェーン)」のように繋がっているの。この鎖の始まりのブロックは、「ジェネシスブロック」と呼ばれていて2009年に作られているのよ。

生徒:
ジェネシスブロック、創世ブロックってことかな。なんかかっこいいね。w
一つのブロックにはいくつくらいの取引の情報が含まれているの?今現在何ブロックぐらいで構成されているのかな?

先生:
1つのブロックには、取引の量やデータサイズによるけど、だいたい1,000〜2,500件の取引が含まれているわ。ビットコインのネットワークは、約10分ごとに新しいブロックが追加される仕組みになっているの。2023年7月24日には、80万番目のブロックがマイニングされたという報告があるわ。その後も継続的にブロックが追加されているから、2024年12月現在では、約87万ブロック以上が生成されていると推測できるの。

生徒:
ブロックは10分ごとに生成されて行っているんだね、時限式なんだ。

先生:
そうなのよ、約10分ごとに新しいブロックが生成される仕組みになっているの。これはプログラムで難易度として設定されていて、ネットワークの安定性や取引のスムーズさを保つために工夫されているのよ。

生徒:
さっきマイナーがブロックを生成するためのに難しい計算をするって言っていたけど具体的にどんな計算をしているのかな?

先生:
計算は「プルーフ・オブ・ワーク(Proof of Work)」という仕組みで行われているの。マイナーたちは、「直前のブロックのハッシュ」「今回の取引データ」「ナンス(調整用の数値)」を組み合わせてハッシュ値を計算して、その値が目標値以下になるような正解を探しているのよ。

生徒:
ちょっと難しくなってきた。。。
ハッシュ値っていうのはどういうものなのかな?

先生:
ハッシュ値ね、簡単に説明するわね。ハッシュ値というのは、データを特殊な「暗号化アルゴリズム」で計算して出てくる値のことなの。例えば、「ビットコイン」という言葉をあるハッシュアルゴリズムにかけると、同じ長さの文字列が出てくるのよ。

例えば、こんな感じ:

  • 入力データ:「ビットコイン」

  • ハッシュ値(例):5e884898da28047151d0e56f8dc6292773603d0d6aabbdd235f61920dfd3

ハッシュ値にはいくつか特徴があるの:

  1. 元のデータが少しでも変わると、全く違う値になる
    例えば「ビットコイン」と「ビットコイン!」では全然違うハッシュ値になるわ。

  2. 元のデータの長さに関係なく、出力は固定長になる
    データが短くても長くても、出てくるハッシュ値の長さは同じなの。

  3. ハッシュ値から元のデータを逆算することはほぼ不可能
    計算結果だけでは、元のデータが何だったかを知ることができないのよ。

マイナーは、こうしたハッシュ値を「目標値以下」にするために、何度も計算を繰り返しているの。だから、ハッシュ値を見つける作業はまるで膨大な数の鍵を試して、正しい鍵を探すようなイメージなのよ。

生徒:
小さいハッシュっていうのはどういう意味?

先生:
「小さいハッシュ」っていうのは、ハッシュ値を数値としてみたとき、その大きさが小さいということなの。

例えば、こんな風に比較できるわ:

  • 小さいハッシュ: 00003abcd1234...(頭にたくさん「0」が並んでいる)

  • 大きいハッシュ: 9abcd1234ef56...(頭に「9」やアルファベットがある)

ハッシュ値は「16進数」という形式で表されていて、頭の「0」が多いほど数値的に小さくなるの。マイナーたちは、条件として定められた「目標値(ターゲット)」よりも小さいハッシュ値を見つけなければいけないのよ。

だから、マイナーは「ナンス」という数値を変えながら、何度も試行錯誤してその「小さいハッシュ」を探しているの。これが膨大な計算を必要とする理由なのよ。

生徒:
つまりマイナーは、直前のブロックのハッシュ値と、今回のブロックの取引情報とナンスを新しいハッシュ値に計算していて、そのハッシュ値が一定のターゲットよりも小さいものを計算で求めているということだね!
どんな計算、アルゴリズムなんだろう。

先生:
理解バッチリね!
使われているのは「SHA-256」というアルゴリズムで、入力データを固定長の文字列に変換する仕組みなの。マイナーは、ナンスを変えながらターゲットを満たすハッシュ値を探すため、膨大な試行錯誤を繰り返しているのよ。

生徒:
なるほどちょっと理解できてきた。
10分ごとに生成されるブロックの正解者は一人だけになるんだよね。それ以外の人たちは報酬はもらえないの?

先生:
そう、一番最初に正解を見つけた人だけが報酬を得られるのよ。でも他のマイナーの計算もネットワークのセキュリティを高める役割があるから、無駄ではないの。

生徒:
早い者勝ちで利益総取りなんだね!
今現在のマイニング報酬はいくらなんだっけ?

先生:
現在のマイニング報酬は1ブロックあたり6.25 BTCよ。次の半減期は2024年で、報酬が3.125 BTCになる予定なの。取引手数料も報酬に加わるから、実際の総報酬はこれより少し多くなるのよ。

生徒:
3.125 BTC だと 最近10万ドルを超えたから 31.25 万ドル!
確率的にはどのくらいの確率になるんだろう?

先生:
確率で言うと、正直ものすごく低いわね。。。
今のビットコインのネットワーク全体では、1秒間に数百京回(1京=10の16乗)のハッシュ計算が行われているの。これを「ハッシュレート」と呼ぶんだけど、世界中のマイナーたちがこの膨大な計算を競争しているのよ。

例えば、1台の普通のパソコンが1秒間に出せるハッシュレートはせいぜい数十メガハッシュ(MH/s)くらい。1メガハッシュは100万回の計算だから、ものすごい計算力が必要なのが分かるわよね。最近の専用マイニングマシン(ASIC)でも1秒間に数テラハッシュ(TH/s)くらいしか計算できないの。

これを全体の計算力(ハッシュレート)と比較してみると、たとえば個人が単独でマイニングして成功する確率は、宝くじの1等より低いかもしれないわね。

でも、だからこそ多くの人が「マイニングプール」に参加して計算力を分け合って、報酬も分配する仕組みを使っているの。これなら、当たる確率を少しでも上げられるのよ。

生徒:
なるほど、今まではなんとなく大量のコンピュータが計算して支えているというイメージだったけど具体的にどんな仕組みでどんな計算が行われているのか少し理解できたよ!
どうもありがとう!

先生:
そう言ってもらえると嬉しいわ!
また何かあったらいつでも聞いてね!

注意書き

このNoteはchatgptとの会話をベースに記述されています。背景チェックをしていない部分もあるため正しくない記述が含まれている可能性があります。もし誤った記述を見つけられた場合はコメントで教えていただけるとありがたいです。


いいなと思ったら応援しよう!