第 9 モジュール / 全 10 モジュール

ビットコインのマイニングはどのように機能するのか

9.0 はじめに

このセクションでは、モジュール5で初めて紹介されたビットコインネットワークの2つの非常に重要な部分(および参加者)について、さらに詳しく見ていきます。

  • ビットコインノード:検証の門番であり、主な役割はビットコイン台帳のコピーを保持し、すべての取引が有効であること、そして全員が同じルールに従っていることを確認することです。この役割を世界中の多くの人々に分散させることで、My First Bitcoinは中央集権的な権威に頼ることなく、不正の可能性に対して強固な仕組みを維持しています。ノードは、誰か一人や一つのグループが過度な権力を持つことのない、分散型の理念を守り、システムの信頼性を保つ役割を果たしています。
  • ビットコインマイナー:セキュリティの設計者であり、強力なコンピューターと電力を使って暗号パズルを解きます。彼らは取引を確認し、すべてが安全であることを保証します。彼らの計算作業によって台帳(またはブロックチェーン)は改ざんに強くなり、ブロックチェーンの変更には多大なエネルギーコストがかかるため、不正行為を防ぐことができます。

ビットコインノードとマイナーは協力して、分散型で安全かつ強固なシステムを維持しています。これは、世界中の人々が信頼できる、まったく新しい金融システムです。これらの役割がビットコインプロトコルにどのように貢献しているのか、さらに詳しく見ていきましょう。

9.1 ビットコインノードとマイナー

ビットコインノードというと技術的に聞こえるかもしれませんが、実際にはビットコインのブロックチェーンのコピーをコンピュータ上に保持するソフトウェアです。ブロックチェーンとは、すべてのビットコイン取引の共有記録です。

自分自身でノードを運用すると、他人を信頼するのではなく、自分でビットコインの取引を検証できます。これにより、より独立性が高まり、ビットコインネットワークの分散化を維持することに貢献します。

ビットコインノードは、いくつかの重要な役割を持つデジタルの交通整理員のようなものだと考えることができます。

  1. ノードは、すべてのビットコイン取引の履歴であるブロックチェーンのコピーを保持します。
  2. ノードは世界中の他のノードと接続し、情報を共有します。例えば、確認待ちの新しい取引のリスト(メモリプール、略してメンプール)などです。
  3. ノードは、すべての取引がビットコインのルールに従っているかをチェックします。もし取引が無効であれば、そのノードは取引を拒否します。

ノードはまた、新しいノードがネットワークに参加するのを助けるために、ブロックチェーンを共有します。ただし、すべての新しいノードは独立してすべてのルールを確認します。

誰でもBitcoin Coreなどのソフトウェアをインストールし、ブロックチェーンをダウンロードすることでノードを運用できます。セットアップが完了すると、ノードは約10分ごとに新しいブロックを受信し、それを検証してから自分のブロックチェーンのコピーに追加します。

ノードを運用することで、より多くの人が独立してシステムを検証するため、ビットコインネットワークのセキュリティと分散性が高まります。

ビットコインノードとは?

マイニングの目的は新しいビットコインを作ることではありません。それはインセンティブの仕組みです。マイニングは、ビットコインのセキュリティを分散化するための仕組みです。
アンドレアス・M・アントノプロス

マイナーは未確認の取引を集めてブロックを作り、そのブロックを追加して安全にするための鍵を見つけるためにエネルギーを使います。

マイナーは、次の取引ブロックをブロックチェーンに追加するために競争します。そのためには、有効なブロックハッシュを作る特別な数字を見つけなければなりません。これは、何十億もの可能性の中から正しい鍵を探すようなものです。最初に正しいハッシュを見つけたマイナーがレースに勝ち、自分のブロックをブロックチェーンに追加する権利を得ます。

マイナーが有効なハッシュを見つけると、そのブロックをネットワークに共有します。他のマイナーはすぐにその解答が正しいかを検証します。正しければ、そのブロックはブロックチェーンに追加され、ビットコインの公開台帳の安全性が保たれます。

マイナーは2つの方法でビットコインを得ます:

  • ブロック報酬: 新しいビットコインが作られ、ブロックを成功裏に追加したマイナーに与えられます。
  • 取引手数料: 人々がビットコインを送るとき、少額の手数料を含めます。ブロックを追加したマイナーは、そのブロックに含まれる取引の手数料を受け取ります。

ビットコインの半減期

2009 2012 2016 2020 2024
50 BTC 25 BTC 12.5 BTC 6.25 BTC 3.125 BTC

マイナーが1ブロックを完了するごとの報酬は、21万ブロックごと(約4年ごと)に半分になります。

ビットコインの最大供給量は2,100万BTCと決まっていますが、すべてがビットコイン開始時に作られたわけではありません。代わりに、新しいビットコインは徐々に流通に導入されます。それがマイニングです。

マイナーがビットコインネットワークに新しい取引ブロックを追加することに成功すると、ブロック報酬としてビットコインを受け取ります。ビットコイン初期の頃、この報酬は1ブロックあたり50BTCでした。この報酬が、人々に計算能力と電力を使ってネットワークの安全性を高める動機となりました。

約21万ブロックごと(およそ4年ごと)に、ブロック報酬は半分に減ります。このイベントは半減期と呼ばれます。半減期によって新しいビットコインの発行速度が遅くなり、総供給量が2,100万を超えないように調整されます。時間が経つにつれて、ビットコインはますます希少になります。

流通供給量とは、通貨の利用可能な総量を指します。ビットコインの場合、流通供給量は、これまでにマイニングされて流通しているコインの数です。

 Bitcoin Supply Schedule

ビットコインの供給スケジュールは、新しいビットコインが流通に出るための事前に決められた公開計画であり、ビットコインの希少性を長期的に維持するために設計されています。

各半減期イベントの後、マイナーがブロックを追加することで受け取るビットコイン報酬は半分になります。これにより、新しいビットコインが作られる速度が減少します。

マイナーは、マイニングしたブロックに含まれる取引の手数料も引き続き受け取ります。時間が経つにつれて、これらの手数料がマイナーの収入のより大きな部分を占めると予想されています。

半減期はビットコインのプロトコルに組み込まれており、約4年ごとに自動的に発生します。このため、ビットコインの供給スケジュールは予測可能で透明性があります。

この表は、今後の半減期について、予想される日付、発生するブロック番号、新しいブロック報酬、およびこれまでに採掘されたビットコインの総供給量に対する割合を示しています。

イベント 日付 ブロック 報酬 採掘済み
第5回半減期 2028年 1,050,000 1.5625 BTC 98.44 %
第6回半減期 2032年 1,260,000 0.78125 BTC 99.22 %
第7回半減期 2036年 1,470,000 0.390625 BTC 99.61 %

より多くのビットコインが採掘されるにつれて、流通供給量は増加し続け、最終的には2,100万ビットコインという最大供給量に達します。これは2140年頃に予想されています。新しいビットコインが時間とともに少なくなるため、需要が増加すればビットコインの価格が上昇する可能性があります。これにより、マイナーが計算能力を提供してネットワークの安全性を維持するインセンティブにもなります。

ビットコインにおける有効なブロックハッシュとは?

ビットコインでは、マイナーは「ブロックハッシュ」と呼ばれる特別なコードを見つけるために競争します。このコードは取引のブロックを識別し、ブロックチェーンに追加できるようにします。

各ブロックには最近の取引情報が含まれており、前のブロックのハッシュも含まれています。これによってすべてのブロックがつながり、最初のブロック(ジェネシスブロック)から最新のブロックまでチェーンが形成されます。

ハッシュは、ブロック内のデータに対するデジタル指紋のように機能します。もしブロック内の情報が変更されると、指紋も変わります。これにより、誰でもブロックチェーンの取引履歴が改ざんされていないことを簡単に確認でき、ネットワークの安全性が保たれます。

ビットコインの創設者であるSatoshi Nakamotoは、ジェネシスブロックを採掘し、合計50ビットコインを獲得しました。

ブロックを採掘するための競争

マイナーは有効なブロックハッシュを見つけるために競争します。最初に見つけたマイナーが新しいブロックをブロックチェーンに追加し、ビットコインの報酬を受け取ります。

有効であるためには、ブロックのハッシュがネットワークによって設定された「難易度ターゲット」と呼ばれる数値よりも低くなければなりません。ハッシュはランダムなので、マイナーはうまくいくまでさまざまな入力を試し続ける必要があります。

マイナーが多すぎると、ブロックが早く見つかりすぎてしまいます。逆にマイナーが少なすぎると、ブロックの発見に時間がかかりすぎます。システムを円滑に運用するため、ビットコインは2,016ブロックごと(約2週間ごと)に自動的に難易度を調整します。

この調整により、平均して約10分ごとに新しいブロックがブロックチェーンに追加されるようになっています。

難易度レベルは、ビットコインのマイニングにおいて有効なブロックハッシュを見つける難しさを測る指標です。ネットワークは2,016ブロックごと(約2週間ごと)にこの難易度を調整し、新しいブロックが約10分ごとにブロックチェーンに追加されるようにしています。難易度が高いほど、マイナーが有効なブロックを見つけるのが難しくなります。

有効なブロックハッシュを見つけることで、マイナーは新しいブロックをブロックチェーンに追加するために必要な作業を行ったことを証明します。このプロセスはプルーフ・オブ・ワーク(PoW)と呼ばれます。これは、ビットコインが取引を承認し、新しいブロックをブロックチェーンに追加するためのセキュリティメカニズムです。有効なハッシュを最初に見つけたマイナーは、ブロック報酬とそのブロックに含まれる取引手数料を含むビットコインの報酬を得ます。

プルーフ・オブ・ワーク(PoW)は、誰かが不正をしたりネットワークを支配しようとするのを非常に高コストにすることで、ビットコインの安全性を保っています。そのため、ルールに従う方がはるかに利益になります。

マイナーは主に4つの役割を担っています:

  1. 取引の収集:マイナーはネットワークに送信された取引を選び、候補ブロックにまとめます。
  2. プルーフ・オブ・ワークの実行:マイナーは有効なブロックハッシュを見つけるため、難しい数学的なパズルを解く競争をします。
  3. ブロックをネットワークに伝播する:最初に有効な解を見つけたマイナーが新しいブロックをネットワークに共有します。
  4. 報酬を得る:ブロックが有効であれば、ブロックチェーンに追加され、マイナーは新しく発行されたビットコインと取引手数料を受け取ります。

世界中の多くのマイナーが同時に次のブロックを作ろうとします。あるマイナーが有効な解を見つけると、ネットワークがそのブロックを検証します。すべてが正しければ、ブロックチェーンに追加されます。他の競合するブロックは破棄されます。このプロセスによってネットワークの合意が保たれ、二重支払いが防がれます。

  • マイナーとは、Bitcoinの台帳を維持・更新するコンピューターです。
  • マイナーは取引を集めてブロックにまとめます。そして、ブロックのデータをハッシュアルゴリズムにかけて、ハッシュと呼ばれるユニークなコードを作成します。
  • マイナーはこの作業を何度も繰り返し、Bitcoinのルールを満たすハッシュを探します。最初に有効なハッシュを見つけたマイナーが新しく発行されたビットコインを報酬として受け取り、そのブロックがブロックチェーンに追加されます。
  • 各ブロックのハッシュは、前のブロックともつながっています。もし誰かが過去の取引を改ざんしようとすると、ハッシュが一致しなくなり、ネットワークはその改ざんされたチェーンを拒否します。これによってBitcoinの台帳は安全に保たれています。

9.2 Mempoolとは何ですか?

メンプール」は「メモリープール」の略で、ビットコイン取引のための待合室のようなものです。ビットコインを送信すると、あなたの取引はまずネットワークにブロードキャストされ、メンプールに入れられます。

レストランで順番待ちをしているようなものだと考えてください。あなたの名前がリストに載り、テーブルが空くまで待ちます。同じように、あなたの取引もメンプールで、マイナーがブロックに含めるまで待機します。

ビットコインノードは、新しい取引ごとに、その取引が有効であり、使われているビットコインがすでに使われていないかを確認します。取引が有効であれば、確認されるまでメンプールに残ります。

マイナーはメンプールから取引を選び、新しいブロックに含めます。通常、手数料が高い取引が優先的に選ばれます。

取引がブロックに含まれると、それは「確認済み」となり、ビットコインのブロックチェーンに永久に記録されます。

アクティビティ:メンプールを探検しよう

このアクティビティでは、技術的なスキルがなくても使える、無料でオープンソースのツールを体験します。初心者から経験者まで、すべてのビットコイナーに役立ちます。

重要ポイント
  1. メンプールは、各ビットコインノードが管理する未確認取引のリストを指し、特定のサービスやプラットフォームのことではありません。
  2. 単一で普遍的なメンプールは存在しません。Mempool.spaceはその中のひとつです。
  3. Mempool.spaceはオープンソースで、使いやすいビジュアルブロックエクスプローラーとしてよく知られています。未確認取引や手数料レート、その他のネットワーク活動のリアルタイムデータを提供します。
学習者へのヒント

Mempool.spaceはブロックの可視化だけでなく、他にも多くの機能があります。Lightningやマイニング、ハッシュレート、プール、ブロックスペースの「ゴーグル」など、ビットコインエコシステムの他の部分も探検してみましょう。

9.3 取引の仕組み

公開鍵と秘密鍵、そしてノードやマイナーの役割を理解したところで、ここではMy First Bitcoinの取引が最初から最後までどのように行われるかを説明します。

  1. アダムはビットコインをタケシに送りたいと考えています。彼はタケシのアドレス、送る金額、手数料を指定して取引を作成します。
  2. アダムは自分の秘密鍵で取引に署名し、所有権を証明します。
  3. 彼はその取引をMy First Bitcoinネットワークにブロードキャストします。
  4. ノードは取引を受信し、署名の検証やアダムが十分なビットコインを持っているかなど、ルールに従っているかを確認します。
  5. 有効であれば、その取引はネットワーク全体に共有され、未承認取引が待機するメンプリに追加されます。
  6. マイナーはメンプリから取引を選び、マイニングしようとするブロックに含めます。
  7. マイナーがブロックのマイニングに成功すると、そのブロックはネットワークに共有され、他のノードによって検証されます。
  8. 有効であれば、そのブロックはブロックチェーンに追加されます。タケシはビットコインを受け取ります。
  9. さらに多くのブロックが追加されることで、その取引は承認数を増やし、より安全になります。

一度ブロックに含まれると、その取引は承認されます。アダムはそのビットコインを再び使うことはできず、タケシは受け取ったビットコインを新しい取引で使うことができます。

取引と手数料を選択 → ウォレットで署名して送信 → ノードによる配信 → マイナーが取引をブロックテンプレートに追加 → マイナーがProof-of-Work競争に勝利 → 新しいブロックが検証される → 新しいブロックがノードによって配信される

リソース
How To Setup Bitcoin Core
このMy First Bitcoinノードに関する動画を見てみましょう

↑ 目次に戻る