暗号資産のしくみを知る
ブロックチェーンとは?仕組みとできること・できないことを図解
ブロックチェーンは、取引などの記録を「ブロック」にまとめ、前のブロックを参照しながらつなぐ仕組みです。複数のコンピューターが、共通のルールで記録を検証・共有します。
過去の記録を書き換えにくくすることが特徴です。ただし、入力された情報の正しさや、利用するサービスの安全性は別に確認する必要があります。
ビットコインやイーサリアムは、ブロックチェーンを使っています。ブロックチェーンが記録を共有する仕組み、BTCやETHがその上でやり取りされる暗号資産です。
定義と基本的な性質:米国NIST「Blockchain Technology Overview」。以下の図や温度の例は、仕組みを説明するための模式図・仮定です。
1件の取引は、どう記録される?
AさんがBさんへ暗号資産を送るとき、送信された取引のうち、検証を通って選ばれたものがブロックに記録されます。BitcoinやEthereumに共通する流れを、4段階で見てみましょう。
- 取引を作って署名する送り先や内容を指定し、秘密鍵を使って電子署名を付け、ネットワークへ送ります。秘密鍵そのものは送信しません。
- ノードがルールを確かめるネットワークに参加するコンピューターを「ノード」と呼びます。検証を行うノードが、署名は正しいか、その資金を使えるか、二重払いになっていないかなどを確かめます。
- ブロックにまとめる取引が選ばれ、ブロックの候補に入ります。Bitcoinではマイナー、Ethereumでは選ばれた検証者がブロックを提案し、受け取った他のノードも検証します。
- 共有する履歴を決める有効なブロックの候補が複数あるときは、ルールに従って採用する履歴を選びます。その後もブロックの追加や投票が進み、方式ごとの条件に沿って確定性を確認します。
利用者はウォレットで取引を作り、ノードがネットワーク上で検証や共有を担います。
ハッシュ・電子署名・合意形成は、役割が違う
| 仕組み | 主な役割 | それだけでは分からないこと |
|---|---|---|
| ハッシュ | データから一定の長さの値を作り、変更を見つける手がかりにする | そのデータが現実に正しいか |
| 電子署名 | 対応する鍵による署名か、署名対象が変わっていないかを検証する | 鍵を使ったのが本人の意思による操作か |
| 合意形成 | 共通ルールに従い、共有する履歴や順序を決める | 記録の外にある商品の品質やサービスの信用 |
参考:Bitcoin Developer「Block Chain」、Ethereum公式「Proof-of-stake」。
なぜ、過去の記録を書き換えにくいのか
鍵になるのは、次のブロックが前のブロックのハッシュを参照することです。ハッシュは、データを一定の長さの値へ変換したもの。同じ方式で同じデータを計算すると同じ値になり、内容が変わると通常は大きく違う値になります。データを秘密にする暗号化とは用途が違います。
ハッシュ:
H1H1次の記録を追加ハッシュ:H2H2さらに記録を追加ハッシュ:H3ブロック1の「8℃」を後から「3℃」に変えると、どうなるでしょうか。
ブロック1のハッシュが変わり、ブロック2に残るH1とのつながりが崩れます。履歴を書き換えるには、後続のハッシュを計算し直したうえで、ネットワークがその履歴を採用する条件も満たす必要があります。
書き換えた履歴が採用されにくい仕組み
Bitcoinでは、変更したブロックから先の作業証明(PoW)もやり直す必要があります。ノードは有効な履歴のうち、累積した計算の仕事量が最も大きいチェーンを選びます。過去を変える側は、その間も伸び続ける正規の履歴と競争することになります。
EthereumのPoSでは、ETHを預けた検証者が投票に参加します。預けた量に応じて投票を重み付けし、矛盾する投票などの不正には、預けたETHを失う罰則を設けています。
根拠:Bitcoinの作業証明、EthereumのPoS・履歴選択。
ブロックに記録された後も、確認は続く
通信の届く順序などによって、履歴の先端が一時的に分かれることがあります。Bitcoinでは、後から別の有効なチェーンが採用される「再編成」があり得ます。後続ブロックが増えることを確認するのは、こうした巻き戻りの可能性を考えるためです。
Ethereumでは、所定の投票条件を満たすと「ファイナリティ」と呼ばれる確定状態に達します。送付状況を見るときは、送信されたか、ブロックに入ったか、その記録がどこまで確定したかを順に確認します。詳しくはコンセンサスと確定性の解説をご覧ください。
できること・できないことを、3つの場面で確かめる
配送中の温度を記録する例で、後からの書き換え、入力ミス、秘密鍵の盗難を比べてみましょう。
場面1:記録した後に「8℃」を「3℃」へ変える
- 起きたこと
- 過去のデータを書き換えようとしています。
- 台帳での扱い
- ハッシュのつながりが崩れます。計算し直しても、その履歴がネットワークに採用される条件を満たす必要があります。
- 確認が必要なこと
- 書き換えへの強さは、合意方式、計算能力や検証者の集中度、運営方法によって変わります。
場面2:本当は8℃なのに、最初から3℃と記録する
- 起きたこと
- 故障したセンサーが、誤った温度を送っています。
- 台帳での扱い
- 形式や署名などがルールに合っていれば、誤った「3℃」も記録されます。後から変更されていないことは確かめられても、実際の温度までは分かりません。
- 確認が必要なこと
- センサーの精度や、入力者・データ提供者が信頼できるかを確かめる必要があります。
場面3:盗まれた秘密鍵で、記録を送られる
- 起きたこと
- 第三者が、本人の秘密鍵を使って操作しています。
- 台帳での扱い
- 盗まれた鍵でも署名の検証は通り得ます。ほかの条件も満たせば、本人が望まない操作が受け付けられます。
- 確認が必要なこと
- 秘密鍵や端末を守る対策が必要です。秘密鍵・署名・復元の違いと、漏洩やフィッシングへの対策を確認してください。
署名の不備や二重払いは、ネットワークのルールで検出できます。一方、温度や商品の状態など、外部の情報の正しさは情報源に依存します。外部データを届ける「オラクル」を使う場合も、誰がどのようにデータを集めているかが重要です。
根拠:NIST IR8202(特に第7章、PDF)、Ethereum公式「Oracles」、IPAの非金融分野における活用動向調査。
51%攻撃で起こり得ること
Bitcoinでは、採掘の計算能力が一部に集中すると、攻撃者が履歴を組み替えて、自分の支払いを巻き戻す二重払いを狙いやすくなります。この攻撃でも、他人の署名を偽造して資金を使うことはできません。
計算能力が過半数未満でも、攻撃が成功する可能性はあります。詳しくはBitcoin原論文・第11節(PDF)とBitcoin Developerを参照してください。
通常のデータベースと、どう使い分ける?
通常のデータベースも、複数のサーバーでデータを共有し、変更履歴を残せます。ブロックチェーンとの使い分けでは、誰が記録を管理し、参加者がどう検証するかがポイントです。
| 比べる点 | 通常のデータベース | ブロックチェーン |
|---|---|---|
| 更新を管理する主体 | 運営者が権限や更新手順を設計する | 参加者が共有する検証・履歴選択のルールを使う。許可型では運営主体の管理も残る |
| 訂正・削除 | 権限と設計に応じて行う。監査履歴を残すこともできる | 過去を直接直す代わりに、訂正を示す記録を追加する設計などを使う。扱いは実装による |
| 閲覧する人 | 公開・限定公開のどちらも設計できる | 誰でも読めるものも、閲覧権限を絞るものもある |
| 検討しやすい課題 | 管理責任が明確で、迅速な更新や個人情報の扱いを重視する | 複数の主体が、特定の一者だけに頼らず、共通の履歴を検証したい |
自社の在庫表なら、通常のデータベースで管理する方法が考えられます。複数の企業で使う場合も、共通の管理者に更新や訂正を任せられるなら、共有データベースで対応できます。各社が一つの管理者に頼らず履歴を検証したい場合は、ブロックチェーンが候補になります。
参加に許可が必要かどうかでも種類が分かれる
- 許可不要のパブリック型:Bitcoinなど、あらかじめ運営者の参加許可を得ずに検証へ参加できる仕組み。必要な機器などの条件は、ネットワークごとに異なります。
- 許可型:検証などに参加できる主体をあらかじめ定める仕組み。一組織が管理するプライベート型、複数組織で運営するコンソーシアム型などがあります。
検証への参加を制限する許可型でも、記録の閲覧は公開できます。参加と閲覧の範囲は、それぞれ決められます。
導入を考えるときは、ルールを決める人、訂正に責任を持つ人、公開する情報を先に整理しましょう。速度や費用は、使うネットワークや混雑状況、設計によって変わります。
比較の基礎:NIST IR8202(PDF)。在庫表は使い分けを説明するための例です。
暗号資産や音楽ファイルへの活用例
ブロックチェーンは、暗号資産の取引のほか、音楽ファイルの存在証明にも使われています。
Bitcoin:資金を使った履歴
過去に受け取ったBTCのうち、どれを使って、どこへ送ったかを記録・検証します。使用済みの資金を再び使う、二重払いを防ぐための仕組みです。ただし、支払い先が商品を届けるかどうかは、取引記録だけでは分かりません。
根拠:Bitcoin Developer。BTC自体の特徴はビットコインの基礎へ。
Ethereum:プログラムの実行と結果
スマートコントラクトというプログラムを動かし、その処理による状態の変化を共有できます。プログラム自体の欠陥や、利用する外部情報の誤りには注意が必要です。
根拠:Ethereum公式の取引実行の説明、外部情報への依存。仕組みと利用費用はEthereum・ETH・ガスの違いへ。
JASRAC「KENDRIX」:音源ファイルの存在証明
JASRACは、ブロックチェーンを使って「いつ、誰がその音楽ファイルを持っていたか」の存在証明を発行するサービスを提供しています。著作権が誰にあるか、侵害があるかの判断には、この記録以外の確認も必要です。
提供機能の確認先:JASRAC公式「KENDRIXのアップデートと存在証明機能」。
まずは公開されている記録を見てみよう
ブロックや取引を閲覧できる「ブロックエクスプローラー」を使うと、実際の記録を見られます。暗号資産を購入せずに試せます。
- Ethereum公式のエクスプローラー案内から、公開記録の閲覧先を選びます。
- ブロックの詳細で、ブロック番号・Hash・Parent Hashを探します。Parent Hashは、前のブロックを参照する値です。
- そのブロック内の取引を開き、取引の状態・収録ブロックを確認します。取引の実行が成功した表示と、チェーン上の確定性は分けて読みます。
公開記録を見るだけなら、秘密鍵の入力やウォレットの接続は不要です。Parent Hashをたどって、前のブロックとのつながりを確かめてみましょう。
さらに詳しく知りたい方へ
- 署名をする鍵と復元の関係を知る → 秘密鍵・公開鍵・シードフレーズ
- 保管や操作に使う道具を知る → ウォレットの種類と選び方
- Ethereumで何が動くのか知る → Ethereumの仕組み
出典とこの記事の制作方法
NIST、Bitcoin Developer・原論文、Ethereum公式、IPAの資料と、サービス提供者の公式発表を参照しています。確認日は冒頭の更新日です。
調査・構成・原稿作成に生成AIを利用し、公式資料との照合と別エージェントによる確認を行いました。図や温度の例は説明用で、実測や体験談ではありません。運営者個人の執筆・監修による記事ではありません。編集方針もご覧ください。