5章トランザクション

トランザクションはビットコインの中核をなします。トランザクションは、単純に言えば、1つのエンティティ(存在)から別のエンティティへと価値が移動することです。この「エンティティ」がいかに優れた(スマートな)コントラクトであるかは、後ほど6章で取り上げます。その前に、まずビットコインのトランザクションとは何か、記述内容やパース方法について見ていきましょう。

5.1 トランザクションのコンポーネント

上位レベルでは、トランザクションは次の4つのコンポーネントで構成されます。

  1. バージョン
  2. インプット
  3. アウトプット
  4. ロックタイム

4つについて簡単に説明します。バージョンはトランザクションで用いる追加機能を示し、インプットはどのビットコインを使用するか、アウトプットはどこにビットコインを移動するか、ロックタイムはいつトランザクションが有効になるかを定義します。本章でそれぞれのコンポーネントについて詳しく見ていきます。

図5-1は典型的なトランザクションにおける16進ダンプで、各コンポーネントを示したものです。

トランザクションの各コンポーネント――バージョン、インプット、アウトプット、ロックタイム

図5-1 トランザクションの各コンポーネント――バージョン、インプット、アウトプット、ロックタイム

色別にハイライトしたパーツがそれぞれバージョン、インプット、アウトプット、ロックタイムを表しています。

これを念頭に置いて、トランザクションのクラスを構成していくことができます。このクラスをTxと呼びましょう。

class Tx: def ...

Get プログラミング・ビットコイン ―ゼロからビットコインをプログラムする方法 now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.