知っているようで知らない!トランザクションの構造|DApps(ブロックチェーンを活用したアプリケーション)のことなら

TOP  コラム  知っているようで知らない!トランザクションの構造

知っているようで知らない!トランザクションの構造

2019.02.07

コラム

知っているようで知らない!トランザクションの構造

取引という観点でBC理解の核になるトランザクション
ブロックチェーン技術は、いまや次世代を担うきわめて重要なものとして認識され、その可能性にはあらゆる方面から高い注目と関心が寄せられています。

分散型台帳技術とも訳されるこの技術は、取引などの記録をネットワーク上で管理する手法のひとつで、特別な権限を持った管理主体を置かず、不特定多数の参加者らが互いにデータを共有・検証し合いながら、確かさを保証し合って運用するところに最大の特徴があり、チェーンのように連結して保存することで、高い耐改ざん性を有しているほか、一部に障害が発生しても維持できる高度な安定性(ビザンチン耐性)を備えている点などが、とくに優れたポイントになっています。

ブロックチェーンを基盤技術とする代表的なものには仮想通貨があり、応用面における一般認知では、とくにこの領域が先行しているといえるでしょう。

ブロックチェーンや仮想通貨に関する理解を深めるには、その核を握るもののひとつといってよい「トランザクション」を知ることが重要になります。そこで、今回はトランザクションのデータ構造にスポットを当て、少し詳しくみていくこととします。

「トランザクション=取引」からさらに踏み込んで
トランザクションとは、取引、とくに送金取引の価値移動を示したデータであり、簡単に表現する時には、“トランザクション=取引、取引データ”としてしまうこともしばしばです。大雑把に理解するシーンでは、確かにこれで問題ないのですが、ブロックチェーンの理解を深めようとすると、やや情報不足で混乱を招く危険がありますから、今後さらに詳しく学んでいきたいという方は、ぜひここでよくその内容を整理しておいてください。

トランザクションの中身を要素に分解すると、ヘッダー部分、「インプット(入力)」、「アウトプット(出力)」、その他と大別できます。データ構造として先頭にあるヘッダー部分には、バージョン情報や作成時刻などが記載されます。

取引データをなすのは「インプット」と「アウトプット」で、「インプット」は、名称通りコインを入力する作業で、ここでは前に送金された情報としての入力数、誰も消費していない未使用のトランザクションアウトプットである「UTXO」を含むトランザクションID、UTXOのインデックス、送信者の電子署名と公開鍵情報がデータとして含まれています。

これに対し、「アウトプット」はコインの出力作業であり、出力の数、この取引で送金するコインの額、送金先のウォレットアドレス、決済・価値移行して生じるお釣りの額、生じたお釣りを返却する先となるウォレットアドレスといった情報を含んでいます。

少しほぐして説明しましょう。UTXOというのは、Unspent Transaction Outputの省略形で、未使用トランザクションアウトプットと訳されます。このUTXOで管理するタイプの仮想通貨では、ユーザーのコイン残高をそのままデータ記録として管理保存するのではなく、取引に基づいた所有権(利用行使権)としてのUTXOが存在するかどうかで管理しています。

ある送金取引でアウトプットされたコインは、その時点でまだ誰にも消費されていないUTXO、未使用のトランザクションアウトプットで、次の受け取り手にとっては、インプットされるトランザクションになります。保有者がインプットし、決済や送金でアウトプット=使用すると、その人の元にあったUTXOは消費され、また新たなUTXOとして出力されることになります。

こうしてトランザクションインプットの合計額とトランザクションアウトプットの合計額は等しい状態が保たれ、ネットワーク全体で残高が記録されるのです。UTXOは膨大な取引データの中に散らばって存在し、現所有者によってロックされた塊のようになっています。このロックを解きながら進むインプットとアウトプット生成の循環が、ブロックチェーン上にある取引の真の姿ともいえるでしょう。

このように、取引を通じてどれだけコインを受け取ったかに関する「インプット」と、これからどのアドレスにどれだけ支払うかという「アウトプット」があり、その処理に必要なデータがそれぞれに記されているのです。

なお、その他の要素には、検証時間に関する情報や属することになるブロックの条件指定などが含まれます。

いかがでしたか。ややUTXOにかかる部分などが複雑に感じられたかもしれません。ここではまずトランザクションのデータ構造概要を理解することから始め、少しずつ全容理解につながるよう知識を蓄えていってください。

▼DApps総研
https://dapps-info.com/

(画像は写真素材 足成より)