ブロックチェーンのトランザクションとは?基礎の悩みはここで解決!|DApps(ブロックチェーンを活用したアプリケーション)のことなら

TOP  コラム  ブロックチェーンのトランザクションとは?基礎の悩みはここで解決!

ブロックチェーンのトランザクションとは?基礎の悩みはここで解決!

2018.08.03

コラム

ブロックチェーンのトランザクションとは?基礎の悩みはここで解決!

ブロックチェーンに記録されるトランザクションとは何か
ブロックチェーンの技術概念を学ぶ際や、これを基盤技術とした仮想通貨について考える際、頻繁に登場するワードとして「トランザクション」というものがあります。今回は、このトランザクションとは何なのか、少し詳しくみていきましょう。基礎理解を深める上で重要なポイントのひとつですから、ぜひこの機会におさえておいてください。

ブロックチェーンにおけるトランザクション(transaction)とは、簡単にいうと取引記録のことです。もとは商取引や売買といった意味をもつ言葉で、IT分野では、オンラインのデータベース管理システム内などで実行される、それ以上分割することのできない一連となった情報処理単位を指すものとして使われてきました。金融機関のコンピュータシステムにおける入出金処理などは、その代表的な例です。

ブロックチェーンのトランザクションも、このIT分野におけるトランザクションの概念に近いもので、チェーンのネットワークに参加するユーザー(ノード)同士で発生した取引の価値移転を記録しています。トランザクションは1つで1回の取引データとなっており、ブロックチェーン上にある個々のトランザクションはオープンで、誰もが自由に閲覧することができる状態にあります。

トランザクションの生成から記録まで
トランザクションは取引記録、取引履歴のことと理解すればおよそ問題ありませんが、ここではその仕組みや内容について、もう少し掘り下げてみましょう。

ブロックチェーンのトランザクションは、取引が行われる際に、参加者の意思で生成されます。例えばAからBへの送金を実行するとして生成が企図されたとしましょう。この取引内容を記録すべく生み出されたトランザクションは、作成日時を示したタイムスタンプと電子署名をもって、第1段階をクリア、記録利用の権利が発生することになります。

この状態で、次にブロックチェーン上の不特定多数な複数ノードへ送信・転送(ブロードキャスト)を実行します。送金処理の取引履歴は収められていますが、それ以外の秘密鍵や証明書、個人情報など、一切の機密情報は含まれていませんから、トラストレスでオープンに行えます。

トランザクションがノードに送信されると、ノード側はそれが真正で有効なものか検証を開始します。計算量などからその取引が確実で信頼のおけるものであると確認したら、有効と認め、さらに他のノードへの共有によって、トランザクションがネットワークに広まっていきます。

広がったトランザクションは、いったんプールされ、その後マイナー(マイニングノード)によるブロックチェーンへの追加、正式記録処理がなされることとなり、完了して初めて承認、成立となります。

トランザクションの中身について
トランザクションの中身をみると、上記の例であれば送金を行うAから、受け取るBへの価値移転を、過去の取引履歴として記号化し、永続的に残るものとしたデータをメインに収めたものとなっています。

資金元のAが「インプット」、送り先のBが「アウトプット」と呼ばれ、全体の構造としては、トランザクションが従うルールの指定に関する情報、含まれるインプット数の情報、インプットの内容データ、含まれるアウトプット数の情報、アウトプットの内容データ、タイムスタンプやブロック番号などのデータで成り立っています。

ここで注意したいのは、トランザクションの場合、あくまで取引データのみが記録される仕組みですから、現在の残高などは記載されていません。仮想通貨の残高などを計算する場合は、ユーザーが保有する消費権利(使用権・UTXO)の合計を自ら調べる必要があります。

取引のインプット、アウトプットは、いずれもアカウントやIDなど個人を特定できるような情報とは結びついておらず、公開されていても、他人に知られて問題のない価値移動の情報のみとなっています。

いかがでしたか。トランザクションについて理解が深まったでしょうか。基本構造としては、こうした内容になっていますが、仮想通貨ではそれぞれ少しずつ異なった仕様のトランザクションを用いており、技術的な詳細部分に違いがみられることもあります。まずは概要として基礎を理解していきましょう。

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