ビットコインのブロックチェーンとは?ブロックの構造と仕組みを解説

コインチェック
貯蓄の無料相談サイト「ガーデン」
保険の無料相談サイト「ガーデン」

DAZN for BUSINESS
ワイン通販ならマイワインクラブ
ビットコインのブロックチェーンとは?ブロックの構造と仕組みを解説

ビットコインのブロックチェーンとは?ブロックの構造と仕組みを解説

ビットコインのブロックチェーンとは、取引をまとめた「ブロック」を順番につなげた、公開の取引台帳です。

特定の会社が一つのデータベースを管理するのではなく、世界中の参加者が共通のルールで記録を検証します。

仕組みを理解するには、「ブロックに何が入るのか」「どうつながるのか」「誰が正しさを確認するのか」の3つを押さえると分かりやすくなります。

ビットコイン全体の基本は、ビットコインとは?をご覧ください。

ビットコインとブロックチェーンの違い

ビットコインは、インターネット上で価値を送受信するための仕組みであり、その単位はBTCです。

ブロックチェーンは、その取引の履歴を記録するために使われています。

ただし、ブロックチェーンを使うだけで、ビットコインと同じ性質になるわけではありません。ほかのネットワークでは、参加条件、検証方法、管理体制などが異なります。

この記事では、Bitcoinネットワークのブロックチェーンを説明します。

ブロックとは?取引をまとめる記録の単位

ブロックとは、複数の取引と、それらを検証・接続するための情報をまとめたデータです。

例えるなら、ブロックは台帳の1ページ、ブロックチェーンはページを順番につないだ台帳全体に当たります。

ただし、紙の台帳とは異なり、ページ同士は「ハッシュ」という計算結果で結び付いています。

ブロックとトランザクションの違い

用語意味
トランザクションBTCの移転などを記録する一つの取引データ
ブロック複数の取引などをまとめたデータ
ブロックチェーンブロックを順番につないだ取引台帳

送金操作をすると取引が作られますが、その時点で必ずブロックに入っているわけではありません。

送信から承認までの流れは、ビットコインの送金方法と仕組みで解説しています。

ブロックには何が入っている?

大きく分けると、ブロックには「ブロックヘッダー」と「取引データ」があります。

ブロックヘッダー

ブロックヘッダーは、そのブロックを識別し、前のブロックとつなぎ、マイニングの計算に使う情報をまとめた部分です。

項目主な役割
バージョンブロックのバージョン情報
直前のブロックのハッシュ前のブロックとのつながりを示す
マークルルートブロック内の取引をまとめて表す
タイムスタンプマイナーが記録する、ルール上の条件を満たす時刻
nBitsマイニングの目標値を圧縮して表す
ナンスマイニングで変化させる値の一つ

タイムスタンプは、すべての取引が行われた正確な時刻を証明するものではありません。

取引データ

ブロックには、送金などの取引データも含まれます。

最初には、マイナーが新規発行分と取引手数料を受け取るための「コインベース取引」があります。これは取引所のCoinbaseとは別の用語です。

ブロックに入る取引数は一定ではありません。各取引のデータ量などによって変わります。

ハッシュでブロックをつなぐ仕組み

ハッシュとは、データを計算に通して得られる、一定の長さの値です。

元のデータが変わると、通常、結果も大きく変わります。そのため、データの違いを検出するために使えます。

ビットコインでは、各ブロックのヘッダーに、直前のブロックヘッダーのハッシュが含まれます。

過去のブロックを書き換えると、そのハッシュが変わり、次のブロックが参照していた情報と一致しなくなります。

ハッシュは暗号化とは違う

ハッシュは、情報を隠して後から復号するための暗号化とは異なります。

ビットコインの通常の取引記録は公開されており、「暗号化されていて誰にも読めない」わけではありません。

安全性を考える際は、取引内容の公開と、署名による送金権限の確認を分けて理解しましょう。

マークルルートとは?

マークルルートは、そのブロックに含まれる取引を、ハッシュ計算によって一つの値へまとめたものです。

取引のハッシュを組み合わせ、段階的に計算することで得られます。取引が変われば、マークルルートも変わります。

ここでまとめているのは、そのブロック内の取引です。過去の全ブロックではありません。

また、関連するハッシュ情報を使うことで、特定の取引がブロックに含まれているかを、ブロック全体を受け取らずに確認できる仕組みにもつながっています。

誰がブロックを作り、検証する?

マイナーがブロックを提案する

マイナーは取引をまとめ、条件に合うハッシュを探す計算を行います。

条件を満たすブロックを見つけると、ネットワークへ共有します。

詳しくは、ビットコインのマイニングとは?仕組みと報酬をご覧ください。

フルノードがルールを確認する

フルノードは、受け取った取引やブロックがルールに従っているかを、自分で検証します。

例えば、不正な署名、同じ資金の二重使用、上限を超えた新規発行などを含むブロックは拒否します。

マイナーが計算競争に勝ったとしても、ルール違反のブロックを自由に通せるわけではありません。

すべての参加者が全履歴を保存する?

すべてのウォレットが、全履歴を保存しているわけではありません。

全履歴を保持するフルノードがある一方、古いブロックデータを検証後に削除するプルーニング型のフルノードもあります。軽量ウォレットは、別の方法で必要な情報を確認します。

「ビットコインを使う全端末が、全取引を保存する」という説明は正確ではありません。

なぜ記録の改ざんが難しい?

ビットコインでは、ブロックのつながりと、プルーフ・オブ・ワークが組み合わされています。

過去の取引を書き換えると、マークルルートやブロックのハッシュも変わります。変更した履歴を採用させるには、後続部分も含めて計算をやり直し、伸び続ける正規のチェーンと競う必要があります。

そのため、上に積み重なるブロックが増えるほど、一般に書き換えは難しくなります。

ただし、「どのような状況でも絶対に変更されない」という意味ではありません。安全性には、計算能力の分布やソフトウェアの正しさなども関係します。

ブロック高と承認数とは?

ブロック高は、最初のブロックから数えた位置です。最初の「ジェネシスブロック」は、高さ0として扱われます。

一方、承認数は、自分の取引が入ったブロックから、どれだけブロックが積み重なったかを表します。

通常、取引がブロックに入ると1承認となり、その上にブロックが追加されるごとに承認数が増えます。

チェーンが一時的に分かれることはある?

あります。異なるマイナーが近い時刻にブロックを見つけると、一時的に複数の候補が存在することがあります。

その後、参加者は、ルールを満たすチェーンのうち、累積したプルーフ・オブ・ワークが最も大きいものを選びます。

この過程で、以前採用していたブロックが外れる「再編成」が起こる場合があります。取引の確実性を考える際に、承認数が重視される理由の一つです。

ブロックチェーンが安全なら、BTCは盗まれない?

ブロックチェーンの記録を守る仕組みと、利用者の鍵を守る対策は別です。

秘密鍵の流出や偽サイトへの入力によって、不正な送金をされる可能性があります。その送金がルール上有効な署名を持っていれば、ネットワークは被害者の意図まで判断できません。

また、取引所に預けた資産には、事業者側の管理リスクもあります。

鍵の役割と注意点は、ビットコインの秘密鍵・公開鍵・アドレスとは?をご覧ください。

まとめ

ビットコインのブロックチェーンは、取引をまとめたブロックを、ハッシュによって順番につないだ公開台帳です。

ブロックのつながり、マイニングによる計算、フルノードの検証が組み合わさることで、二重使用や過去の記録の書き換えを難しくしています。

ブロックは台帳を構成する単位、ブロックチェーンはそのつながり全体、と考えると整理できます。

参考資料

コメントする