技術・仕組み

ビットコイン:ブロックチェーンの取引記録(トランザクション)とは

ビットコインの「トランザクション(取引記録)」とは

トランザクションとは「取引記録」のこと

ビットコインのブロックチェーンでは、取引が発生するたびに、その情報が生成・検証され記録されていきます。

この1つ1つの取引記録のことを「トランザクション」と呼びます。

transaction:「商取引、売買、執行、取扱、議事録」などの意味
いけやん
いけやん
トランザクションとは「取引記録」のことである。と覚えておきましょう!
読者さん
読者さん
トランザクション=取引記録!

ビットコインのトランザクション内容

ビットコインでは、送金があった時の記録(トランザクション)は

すべて

「AさんからBさんへ〇BTC移動した。」

という書き方をされます。

今回は自分はコインを送付してもらった側だ、という場合でも、自分は「Bさん」側になるということ。すべて上の書き方で表現されます。

送金できるのは秘密鍵を持った本人だけ

Aさんが持っているビットコインを他のアドレスへ送金(移動)させることができるのは、秘密鍵をもっているAさんだけです。

当たり前のことですが、これをAさん以外ができてしまうと、人のお金を本人の意思に関係なく勝手に使えてしまいます。

送金の時は、Aさんがあらかじめ登録している秘密鍵を使って「署名」することが必要になってきます。これはAさん本人しかできません。

すると、ネットワークに接続している、ほかのノードがその内容を確認していきます。

読者さん
読者さん
ほかのノードが何か不審な形跡を見つけたらどうなるんだ?

ここで問題が見つかった場合には、そのトランザクションは廃棄され、その先の処理は行われません。

例えば、

  • コインのアドレス(所有者)と署名した人が違う場合
  • Aさんがした署名はすでに時間的に以前に送金されたものだった(二重不正使用)

といった場合は、取引は承認されず、無効となります。

ビットコインのブロックチェーンの「ハッシュ関数」と「ハッシュ値」

全てのトランザクション(取引記録)はハッシュ関数を使うことによって、64ケタのランダムな文字列に変換されます。

≫参考 ビットコインの「ハッシュ関数」とは?【実例で分かりやすく解説】

例えば「AさんからBさんへ0.3BTC移動した」というトランザクションは、

ハッシュ関数にかけることで

「53EFA2C0505E6AE40F8E5C7BAF81496A27494715C6832E967589E9A150F6D6BD」

という「64ケタの文字列」に変換されます。

この変換された後の64ケタの文字列のことを「ハッシュ値」といいます。

元のトランザクションが少しでも違えば、ハッシュ関数にかけた結果(ハッシュ値)は全くちがう値となります。
読者さん
読者さん
元のトランザクションがどんな情報であってもハッシュ値は、必ず64ケタの文字列になるんだな。
いけやん
いけやん
すべてのトランザクションは、ハッシュ関数にかけられて「64文字の情報」(=ハッシュ値)としてブロックに収められていきます!