22 / 736BLK

Block

承認された取引を共有する Bitcoin のブロック

選ばれた取引を一つの記録にまとめ、以前の履歴につなぎ、各フルノードが独立して検証するものです。

Block、つまりブロックは Bitcoin の履歴に加わる次の取引のまとまりです。支払いが自分のノードの追うチェーン上の有効なブロックに入ると、最初の承認を得ます。中央管理者の決定ではありません。マイナーが作り、他のノードが Bitcoin のルールを満たすか確認します。

ビットコインを送ると、ウォレットは最初に承認待ちと表示します。取引はノード間に広がり、未承認取引をためる各ノードのローカルな一覧、メモリプールに入ることがあります。マイナーはそこから取引を選び、ブロック候補を作ります。必要な Proof of Work (ネットワークのルールを満たすマイニングの計算結果) を見つけ、ノードがそのブロックをアクティブなチェーンに受け入れると、含まれる支払いは最初の承認を得ます。その上に次のブロックが続けば承認数は二つになります。ブロック間隔の平均目標は約十分であり、すべての支払いが十分以内に通る保証ではありません。 [1] [3]

各ブロックには短いヘッダーと取引があります。ヘッダーは前のブロックの暗号学的な指紋などを含み、そのデータが変われば参照も変わります。こうして、ばらばらな支払いの山ではなく、つながる履歴ができます。ヘッダー内のもう一つの指紋はそのブロックの取引をまとめ、Merkle root と呼ばれます。マイナーはヘッダーを変えて何度も試し、数値の指紋であるハッシュが難易度の目標を満たすまで続けます。ただし、それだけでは支払いの正しさを証明できません。フルノードは署名や支出の権限なども検証します。有効な Proof of Work でも、無効な取引は直せません。 [1] [3]

最初の取引は Coinbase Transaction と呼ばれます。マイナーはここで、許される新規発行分とブロック内の取引手数料の合計までを受け取れます。その後、ノードは普通の取引を順に確認します。未使用だった金額は使える資金から消え、新しい金額が生まれます。これら個別の金額が UTXO です。ほかの条件も満たせば、同じブロックの先にある取引の出力を後の取引で使えます。ただし同じ出力を二度使うことはできません。新しい coinbase 報酬もそのブロックですぐ使うことはできず、100 ブロックという特別な待機ルールが適用されます。 [1]

ブロックに支払い用の固定件数枠はありません。単純な取引は複雑なものより必要なデータが少ないため、同じ容量に入る件数は変わります。SegWit (取引データの保存方法と数え方を変えた Bitcoin のルール更新) 以後は「重み」で容量を数え、上限は 4,000,000 単位です。物理的な質量ではなく、データを数える技術的な尺度で、ほかのルールも適用されます。マイナーは容量を使い切る必要がありません。いわゆる空ブロックには普通の支払いがなくても、coinbase は入っています。空とは取引が一つもないことでも、自動的に無効という意味でもありません。 [1] [2]

二人のマイナーがほぼ同時に、同じ直前のブロックへつながるブロックを見つけることがあります。どちらも有効でも、競合する枝ができます。ノードは有効な枝の中から、単純な投票やブロック数だけではなく、証明された仕事量の合計で選びます。別の枝へ切り替わることが再編成です。離れたブロックにあった支払いは承認を失うことがあり、まだ有効で新しい枝に含まれていなければ、再び取り込みを待つ場合があります。承認が増えるほど通常は信頼が高まりますが、数学的に取り消せないとの約束ではありません。技術的な補足として、ヘッダーは 80 バイトです。Merkle root は、txid と呼ばれる取引識別子をブロック内の順序に並べて計算した指紋です。SegWit の witness データ、たとえば支出の検証に必要な署名には、coinbase を通じて別の暗号学的な指紋が記録されます。これらの結び付きによって、ノードは受け取ったデータがそのブロックに属するか確認できます。 [1] [2]

理解を深めるには、この項目とあわせて次もお読みください Block Header, トランザクション, Timechain / Blockchain, マイニング. 次の項目からも参照されています Block Header, Merkle Tree, 承認, コインベース取引.

DOC · 001Bitcoin Core v29.0: block validation一次資料 DOC · 002BIP 141: block weight and witness一次資料 DOC · 003Bitcoin Developer Guide: Block Chain一次資料
改訂日: 一次資料を優先 · 投資助言ではありません