Bitcoinマイニングとは何ですか?
初心者ガイド
Bitcoinマイニングは、Bitcoin blockchainに追加する前に新規のBitcoin取引を検証するプロセスです。
米ドルやユーロなどの従来の政府発行通貨では、通貨の生成と流通を管理する(中央銀行などの)中央政府の機関に完全な信頼を置く必要があります。
このような法定通貨制度では、ユーザーアカウントと残高に関する情報はすべて、金融機関が非公開で管理しています。そのため、別の人が何にお金を使っているのか、または他の人が口座に保有している残高がいくらなのかを知ることは誰にもできません。トランザクションの完全な明細にアクセスできるのは、銀行だけです。
この種の制度には重要な問題点が3つあります。
- 予測不能:新しい紙幣を印刷して存在させる唯一の権限が中央銀行にあるため、法定通貨の供給量は常に変化します。これによりインフレの問題が発生し、長期的には通貨の購買力が低下することがよくあります。
- 透明性の欠如:従来の財務的な明細は厳重に保護されており、それが金融制度を誰にでも開かれているわけではない不透明なものにしています。
- 依存関係:法定通貨は、設計上、ユーザーの中央銀行と政府への依存を生み出すため、負債または潜在的な倒産の危険が1点に集中します。
Bitcoinの登場
2009年に創設されたBitcoinは、世界初の実用的分散型デジタル通貨となりました。その発行上限のコントロールは、通貨の発行、管理、保護のための世界各地に分散したボランティアネットワークとともに、厳密なコンピュータープロトコルに依存しています。
純粋にデジタル形式の通貨であるため、すべてのトランザクションはBitcoinネットワークを介して電子的に行われ、「blockchain」と呼ばれる完全に透明性のある明細技術で記録されます。
Bitcoin blockchainは、すべての支払いユーザーが互いに送信した完全なトランザクション履歴の代わりとなり、現在のトランザクションバッチを含む新しいブロックで常に更新されています。
Bitcoinで使用されているようなパブリックblockchainの特別な点は、ネットワーク上で発生しているすべてのトランザクションを世界中の誰もがどこからでもリアルタイムで閲覧でき、受取人と送信者のアドレス、個々の残高など、完了したトランザクションの完全なアーカイブを確認できる点です。
では、これは実際にどのように機能するのでしょうか?
Bitcoinの発行上限
政府や中央銀行が新しい通貨の印刷を随意に実行できる権力を独占しているのと異なり、Bitcoinの発行システムはコンピューターコードによって管理されています。
Bitcoinのプロトコルに作り込まれた発行上限には、基本的な構成要素が3つあります。
- 10分間のブロック時間:新しいBitcoinは約10分ごとに循環に入ります。これは、マイニング難易度アルゴリズムによって自律的に管理されます。
- 固定した供給量:循環の中には、最大で2,100万Bitcoinが存在します。これがBitcoinのハードキャップ(総供給量)で、ブロックリワードを介して放出されたコイン数が2,100万に達すると、プロトコルは新しいコインのマイニングと、マイナーへの新規コインの配布を中止します。2022年現在、2,100万枚のうち1,900万枚以上のコインが循環しています。
- Bitcoinの半減期:210,000ブロック(または4年間)ごとに、ブロック報酬として獲得マイナーに配分される新規鋳造Bitcoinの数が半分に削減されます。2009年に初めてBitcoinネットワークが立ち上げられたとき、ブロック報酬として50BTCが提供されました。それ以来、ブロックリワードは3回の独立した半減期イベント(2012年、2016年、2020年)を経ており、現在は1ブロックあたり6.25Bitcoinでリワードが獲得されます。
リワードは、2140年頃と予想されている最後のBitcoinがマイニングされるまで半減し続けます。
このリワード半減の仕組みがBitcoinの発行上限の予測可能性を一層高めており、ユーザーは、Bitcoinの使用期間全体を通じて、その循環供給を正確にマッピングできます。
インフレ率が組み込み済みであることから、Bitcoinは長期的な安定性と透明性に重点を置いており、開発者からのプロトコルに対する信頼度は高い状態を保っています。さらに、Bitcoinの発行上限が固定されていることが、主要な価値保存手段としてのBitcoinの通用性に対する投資家の数を増加させています。
Bitcoinマイニングの仕組み
Bitcoinでは、分散型Bitcoinネットワークを安全に保ち、循環への新規デジタルコインの流入を規制するために、「マイニング」と呼ばれるプロセスを使用します。“
Bitcoinの構造に入る前に、そもそもマイニングプロセスが必要な理由を理解することが重要です。
前述のように、Bitcoinネットワークは、中央銀行または仲介金融機関によって管理されていません。代わりに、世界中に広がるボランティアによって共同で管理されています。
この分散化によって、明白な問題が1つ発生します。すなわち、誰でもネットワークに参加でき、参加者を吟味する当局がまったくない場合、ネットワークを壊そうとする悪意のある人物の行動をどのように防止するのかという問題です。
これこそ、コンセンサスメカニズムと呼ばれるものが生まれた理由です。
Bitcoinのプルーフ・オブ・ワーク(PoW)コンセンサスメカニズム
コンセンサスメカニズムは、基本的に、こうしたケースで、トランザクションの新たなブロックを提案するという重要な特定の役割を果たすネットワーク内の誠実な参加者を選択するよう設計されたコンピューターによって稼働するシステムです。
ブロックやブロック内のトランザクションはblockchainに追加されると永続的なものになるため、トランザクションが有効であることが極めて重要です。
たとえば、ボブは、アリスに特定量のBitcoinを送信するために必要な残高を持っているでしょうか。ボブは、同じ残高を2回使うことを試みたのでしょうか。こうしたことについては、トランザクションがblockchainに永続的に追加される前に、トランザクションの有効性を確認するためにその都度照会しなければなりません。
そのため、この特定の役割を実行する参加者は、通常「バリデーター」と呼ばれます。”
blockchainベースのネットワークでは、さまざまなコンセンサスメカニズムが使用できますが、その各々に、不誠実なユーザーを除外する独自の方法があります。
Bitcoinでは、プルーフ・オブ・ワーク(PoW)コンセンサスメカニズムを使用 します。このシステムでは、バリデーターを「マイナー」と呼び、「ハッシュ」と呼ばれる固定長のコードを生成するために専用のコンピューティング機器を使用する必要があります(下記参照)。
Bitcoinマイニングプロセス
このプロセスは単純なものです。マイナーは、通常、毎秒数百万ものハッシュを生成するため、自らのマシンを使用して競争します。次のブロックを提供する独占権を獲得して(新たに鋳造されたBitcoinとトランザクションに付随する手数料から構成される)ブロックリワードを獲得するため、「ターゲットハッシュ」と呼ばれるプロトコルで設定された目標値以下の値を持つハッシュを作成しなければなりません。“
ターゲットハッシュは、
00000000000000000000a8ba41fe240e0b375be097546189d04b6312085f06da
のように、先頭にいくつかのゼロが付いた値です。トランザクションの各新規ブロックのターゲットハッシュは、最初に以前のブロックの一部としてネットワークにブロードキャストされます。この情報は、ブロックに関する主要な情報の多くの保存先であるブロックヘッダーに保存されます。
また、ブロックヘッダー内には「ナンス」と呼ばれる値もあります。ターゲットハッシュを上回るハッシュを作成する場合、マイナーは全員、前のブロックのブロックヘッダーを取り、ナンスを新しい番号に変更して、それをSecure Hash Algorithm 256(SHA-256)ハッシュアルゴリズムによって実行します。ナンス値を変更するたびに、まったく新しいハッシュが生成されます。
ハッシュも純粋にランダムに生成されるため、成功するハッシュの作成は単純に試行錯誤の問題です。推測とチェックのプロセスは、1人のマイナーが、ターゲットハッシュ以上のゼロを前に持つハッシュの作成に初めて成功するまで継続されます。
この値の発見は簡単に見えるかもしれませんが、実際には非常に困難であり、一部の企業が、他の誰よりも先に成功できるハッシュを生成するチャンスを最大化するために、巨大な倉庫いっぱいに高度なマイニングリグを備えているのはこのためです。
マイナーはマイニング用の設備を購入するかレンタルし、収益を上げる可能性がわずかでも設備の保守運用の費用を支払う必要があるため、悪意のある人物に不誠実な行動を思いとどまられます。それに加えて、悪意のあるノードによる無効なトランザクションの追加の試みをネットワーク内の他のノードが認識した場合、提案されたブロック(悪意のある人物による時間とリソースの無駄な消費)を単純に排除することが可能です。
正確にはハッシュとは何ですか?
Bitcoinマイニングを目的としたハッシュは、SHA-256暗号化アルゴリズムによって生成されます。このアルゴリズムは基本的に、任意の長さの入力を固定長の64桁16進数コードに変換する数式です。
暗号資産の中の暗号資産について深く知りたい方は、暗号資産が暗号化を利用する方法について深く掘り下げた記事を調べることができます。
暗号ハッシュは、何らかのデータ(それが1つの単語、キーボード上の文字からなるランダムな文字列、または長大な小説『ロード・オブ・ザ・リング』全体のどれでも)の入力を一意の64文字の組み合わせに変換する、特別なパスワード生成マシンと考えてください。
これらのハッシュには、興味深い特性が多数あります。
- 一方向:ハッシュをもとに、その元の入力を特定することはできません。
- 確定的:同じ暗号ハッシュ関数を使用して同じ入力を実行すると、常に同じ固定長コードが生成されます。
- 一意:生成されるハッシュコードの各々は、対応する入力に対して完全に一意です。
たとえば、『ロード・オブ・ザ・リング』という小説の中の単語の1文字を変更し、再度SHA-256アルゴリズムに通すことで、見た目にはわからない変更によって、全く異なっているとすぐにわかる16進数コードが生成されます。
マイニングの困難
前述のように、マイナーがターゲットハッシュの超過に成功し、blockchainに新規ブロックを追加する権利を獲得するたびに、新規にミントされたBitcoinがブロックリワードを介して循環に入ります。
新しいマイナーが増え続けてネットワークが膨張し、新しいコインが市場にあふれるといった問題に対処するため、Bitcoinの創始者サトシ・ナカモトは、Bitcoinの運用開始前に、プロトコルにアルゴリズムによる難易度調整システムを組み込みました。
Bitcoinマイニングの難易度アルゴリズムにより、マイナーが各ブロックのハッシュ獲得に要した時間を2,016ブロックごと(約2週間ごと)にプロトコルがチェックします。
Bitcoinの平均ブロック時間は10分に設定されています。つまり、ネットワーク内の1人のマイナーが、平均して10分ごとにハッシュ獲得に遭遇することになります。これは循環供給に入る新しいコインの流れを調節して、通貨の発行率を予測可能なものにするのに役立つように設計されています。
より具体的には、このアルゴリズムでは、マイナーが2,016ブロックを検出するまでの時間を確認し、その所要時間を20,160分(10 x 2,016)と比較します。
ブロックが目的の時間よりも早く検出された場合、自動的に難易度を調整して、マイナーによるハッシュ獲得を困難にします。逆も同様です。これは、エポックと呼ばれる、次の2,016ブロックのバッチで、後続のターゲットハッシュの先頭にゼロを追加するか削除することによって行います。
難度が増すにつれて、マイニング関連のコストも増大します。場合によっては、Bitcoinマイニングの難度が高まることで、電気料金やハードウェアの使用コスト分も稼げない小規模のマイナーが業務を終了せざるを得ないことになりました。
マイニングに必要な能力のごく一部しか持たないマイナーは、次のブロックを発見する可能性が低いため、リワードを得ることがほとんどありません。そのため、マイナーは、いわゆるマイニングプールで互いのリソースをまとめてプールしておくことがしばしばあります。
今日、Bitcoinマイニングの大半はこうしたグループによって行われています。マイニングプールではメンバー間で処理能力を共有し、得られるブロックリワードを比例配分します。
Krakenの暗号資産ガイド
- Bitcoinとは?(BTC)
- Ethereumとは?(ETH)
- Rippleとは?(XRP)
- Bitcoin Cashとは?(BCH)
- Litecoinとは?(LTC)
- Chainlinkとは?(LINK)
- EOSIOとは?(EOS)
- Stellarとは何でしょうか?(XLM)
- Cardanoとは?(ADA)
- Moneroとは何でしょうか?(XMR)
- Tronとは?(TRX)
- Dashとは?(DASH)
- Ethereum Classic(ETC)とは? (ETC)
- Zcashとは?(ZEC)
- Basic Attention Tokenとは?(BAT)
- Algorandとは?(ALGO)
- Iconとは?(ICX)
- Wavesとは?(WAVES)
- OmiseGoとは?(OMG)
- Gnosisとは?(GNO)
- Melonとは?(MLN)
- Nanoとは?(NANO)
- ドージコインとは?(DOGE)
- Tether USDTとは?(USDT)
- Daiとは?(DAI)
- シアコインとは?(SC)
- Liskとは?(LSK)
- Tezosとは何ですか?(XTZ)
- Cosmosとは何か?(ATOM)
- Augurとは何ですか?(REP)