Solo Mining では、自分の計算能力で発見し、チェーンに受け入れられたブロックについて報酬を得ます。ブロックは、ビットコインの公開履歴であるブロックチェーンに追加される取引のまとまりです。「ブロックを見つける」とは、このまとまりをネットワークの他の参加者に提案できる計算結果を見つけることです。他の参加者は、そのブロックがすべての規則を満たしているかを別途検証します。他の採掘者の発見から定期収入は得られません。自前の設備を使うことも、手数料のある外部のソロ採掘サーバーを利用することもできます。「ソロ」は主に報酬の分け方を表しています。
ヤンは ASIC という採掘計算専用の機械を買いました。画面は稼働中なのに、ウォレットには何も入りません。Solo Mining では、それだけで故障とはいえません。計算能力はブロック発見の機会を与えるもので、時間給を生むものではないからです。通常の Mining Pool は参加者に規則に応じて報酬を配りますが、単独採掘のヤンは自分の発見を待ちます。採掘者向け通信プロトコル Stratum でサーバーを使っても、自動的に共同の支払い方式に参加するわけではありません。 [1] [6]
説明のため、ネットワーク全体の計算能力の 1% を常に持つと仮定します。これは大きな割合を使った例で、家庭用機械の想定ではありません。次の 100 ブロックのうち、自分が発見する数の期待値は一つです。それでも少なくとも一つ発見する確率は 1 − 0.99^100、約 63.4% にすぎません。この式は、対象のブロックをすべて他の採掘者が見つける確率を計算し、全体の確率から差し引いています。残るのが、ヤンが少なくとも一つ見つける確率です。複数見つかることも、まったく見つからないこともあります。長く待っても次の試行は有利になりません。採掘に過去の失敗の記憶はないからです。難易度、計算能力の比率、稼働状況の変化もモデルの前提を変えます。 [1]
ヤンは結果に関係なく電気代を払い、機械、冷却、保守にも費用をかけます。したがって平均期待収入は、毎月の支払いに確実に使えるお金ではありません。プールで収入を分け合うと変動を抑えられますが、同じ機械の Hashrate、つまり毎秒の計算回数が増えるわけではありません。手数料や支払い規則も異なります。家庭での実験なら、一度も発見できなくても負担できる費用の上限を決められます。他人の成功談は自分の収益予測ではありません。 [1]
Solo CKPool は、採掘の仕事、ネットワーク接続、統計を提供するサービスの一例です。ヤンのブロック報酬は普通のプールのように他の参加者へ分配されませんが、サービス料が差し引かれることはあります。受取アドレス、条件、障害時の対応を知る必要があります。一方、Bitcoin の規則を検証するノードである Full Node だけでは、ASIC の計算能力を代替できません。設備の選択と報酬の分配は別の話です。発見済みブロックの一覧が示すのは成功者であり、接続した各機械の確率ではありません。 [6]
機械は候補ブロックのヘッダーから、数値の指紋である hash を繰り返し計算します。ヘッダーはブロックについての短いデータの集まりで、提案されたブロックを前のブロックや収録した取引と結びつけます。Bitcoin Core は、その値が nBits に符号化されたネットワーク目標 target 以下かを検証します。サーバーはもっと達成しやすい目標を満たす結果も受け付け、それを shares と呼びます。ソロサービスでは share は稼働確認に役立ちますが、それ自体が発見したブロックや少額の支払い請求権ではありません。shares の難易度を下げても報告が増えるだけで、各計算がネットワーク目標に達する確率は上がりません。過去最高の share も有効なブロックの証明にはなりません。 [2] [6]
探索の前に、ソフトウェアはテンプレートと呼ばれるブロック案を準備します。BIP 22 の getblocktemplate は、前のブロックを示す previousblockhash、取引、報酬に使える上限額 coinbasevalue などを提供するインターフェースです。ソフトウェアが報酬を支払う特別な最初の取引 coinbase とヘッダーを組み立て、ASIC が計算の候補を試します。ネットワークが進めば仕事も更新する必要があります。速い機械でも、報酬の宛先が違ったりテンプレートが古かったりすれば、適切な設定とはいえません。 [3]
hash が十分小さいだけでは不十分です。他のノードは取引、coinbase、チェーンとのつながりも検証します。二人の採掘者が競合するブロックを見つけ、ネットワークが別の枝を進むことがあります。有効なチェーンの外に残るブロックを stale と呼び、その報酬はそのチェーンでは使えません。迅速な伝播と最新の仕事が重要なのはこのためです。ヤンは緑色の「share 受付済み」表示だけでなく、ブロック全体の受理と後続の確認を確かめます。 [3] [4]
報酬には、新しく発行される bitcoin、つまりブロック補助金と、収録した取引の手数料を含められます。ブロックの高さは、チェーン内での位置を表します。メインネットでは高さ 840000 から 1050000 の直前のブロックまで、補助金は 3.125 BTC です。手数料は変わり、サービス料が引かれることもあります。Coinbase は補助金と手数料の合計を超えて支払えません。さらに COINBASE_MATURITY により、報酬を使えるのは少なくとも高さが 100 増えたブロックからです。これはブロック数であって 100 分ではありません。発見、報酬の確認、すぐ使える資金は別の段階です。 [4] [5] [7]
理解を深めるには、この項目とあわせて次もお読みください マイニング, Mining Pool, getblocktemplate, Hashrate, Pay Per Share, Pay Per Last N Shares. 次の項目からも参照されています Mining Pool, Pay Per Share.