トランザクションって何?
トランザクションの仕組みが知りたい
仮想通貨を一度でも取引したことがある人なら、「トランザクション」という言葉を聞いたことがあるでしょう。
トランザクションという言葉には、技術的な用語というイメージがありますが、仮想通貨とトランザクションは、切っても切れない密接な関係にあります。
仮想通貨について理解を深めるためには、トランザクションに関する知識は必須です。
この記事を読めば、トランザクションの概要や、どのような仕組みで成り立っているのかを深く理解できるようになります。
- トランザクションとは「取引データ」のこと
- ビットコインのトランザクションは「UTXO」「インプット」「アウトプット」「メタデータ」の4つで構成される
- ビットコインを使用するためには、送金者による電子署名が必要
- 送金が遅延する「スケーラビリティ問題」が深刻視されている
トランザクションとは?
トランザクションとは、「取引データ」のことです。
仮想通貨におけるトランザクションとは、仮想通貨の価値の移動を示した取引データのこと意味します。
例えば、「AさんがBさんに1BTC支払った」「Cさんが取引所に2BTC送金した」などもトランザクションです。
仮想通貨は、ブロックチェーン(分散型取引台帳)技術によって1回ごとの取引を台帳に記録しており、取引ごとに履歴が存在します。
仮想通貨のトランザクションは、一定時間ごとにまとめられ、1つのブロックの中に格納されます。
新しく生成されたブロックは、直近のブロックに接続され、こうしてブロックが1つのチェーンで結ばれることからブロックチェーンと呼ばれています。
トランザクションの仕組み
トランザクションの仕組みは、仮想通貨によってそれぞれ異なりますが、ここでは例としてビットコインのトランザクションの仕組みについて解説します。
ビットコインのトランザクションは、以下の4つのデータから構成されています。
- UTXO
- インプット
- アウトプット
- メタデータ
UTXO
UTXOは、「Unspent Transaction Output」の略で、日本語では「未使用のトランザクションアウトプット」と呼ばれています。
仮想通貨の取引において、トランザクションはすべてブロックチェーンに記録されます。
これにより、「送信者」「送信先のアドレス」「送信時間」「送信された金額」などの情報をすべて確認できます。
UTXOは、このブロックチェーンに記録されているアドレスごとの取引金額をすべて足し合わせ、未使用になっている残高を示します。
ビットコインは、残高を管理するのではなく、受取総額と支払総額の差額を管理する仕組みで成り立っています。
例えば、ウォレットや取引所のアカウントを確認すると、必ずあなたのビットコイン保有量が表示されるはずです。
しかしこれは、あなたのウォレットの中にビットコインが入っているという意味ではありません。
あなたが受け取ったビットコインと、あなたが支払ったビットコインの取引の差額で、あなたが使える権利を有するビットコインの量という意味です。
普段、仮想通貨を取引する上で、特にこの仕組みを意識する必要はなく、「ウォレットは仮想通貨を入れる財布」という認識で問題ありません。
しかし、実際に仮想通貨がウォレットの中に入っているわけではないため、ウォレットの秘密鍵が盗まれると、仮想通貨も盗まれてしまう恐れがあります。
インプット
インプットとは、「Transaction Input(トランザクションインプット)」のことで、仮想通貨のトランザクション(取引)においてInput(入金)を指示することです。
送金されてきた仮想通貨を受け取るプロセスにおいて、求められる作業です。
実は、トランザクションの記録自体は暗号化されておらず、ブロックチェーンのネットワークに参加していれば、誰でもトランザクションを閲覧できます。
しかし、インプットに指定されたビットコインを使用するためには、その送金者による電子署名が不可欠となるため、閲覧者がそれを盗用することは不可能です。
送金者は、電子署名を行うことで「そのインプットで受け取ったビットコインを使ってもいいですよ」という意思を表明します。
ビットコインの電子署名には、個別に作成された「秘密鍵」と「公開鍵」が必要で、これらはペアになっているため、どちらか片方でも欠けると電子署名は不可能です。
最初に作成されるのは「秘密鍵」で、暗号化されているため解読するのは不可能だといわれています。
この「秘密鍵」は、そのビットコインの保有者のみが知っています。
この「秘密鍵」をもとに「公開鍵」が作成されますが、こちらは他人に知られても差し支えないものとなっています。
アウトプット
アウトプットとは、「Transaction Output(トランザクションアウトプット)」のことで、仮想通貨における出金(出庫)の指示を意味します。
インプットの対義語で、「ここにいくら送ってください」と、送金先のアドレスに送金額を明示する作業のことです。
アウトプットを行う際には、「秘密鍵」による電子署名が必要となります。
電子署名を行うことによって、はじめて送金したビットコインの所有権が受取先に移転したことが証明されます。
メタデータ
メタデータとは、トランザクション上の情報を表すデータを意味します。
メタデータには、「トランザクションID」などが含まれています。
トランザクションIDとは、トランザクションに割り振られたID番号で、このIDを調べることにより、自分のトランザクションが正常に行われたかの確認ができます。
- ビットコインのトランザクションは「UTXO」「インプット」「アウトプット」「メタデータ」の4つで構成される
- UTXOは、ブロックチェーンに記録されているアドレスごとの取引金額をすべて足し合わせ、未使用になっている残高を示す
- 入金されたビットコインを使用するためには、送金者による電子署名が必要
- 電子署名には、個別に作成された「秘密鍵」と「公開鍵」が必要で、どちらか片方でも欠けると電子署名は不可能
- 出金する際には、「秘密鍵」による電子署名によって、ビットコインの所有権の移転が証明される
取引時のトランザクションの流れ
それでは、例として「AさんがBさんに10ビットコインを送金する」場合のトランザクションの流れを見てみましょう。
AさんがBさんに送金指示
まず、Aさんはアウトプットによって「Bさんのアドレスに10BTCを送金する」という指示を出します。
電子署名をBさんへ
そして、AさんはBさんのインプットに関するトランザクションと、Aさんの「秘密鍵」を用いて作成した電子署名をBさんに渡します。
演算処理を施す
それを受け取ったBさんは、自分のインプットに関するトランザクションと「秘密鍵」を用いた電子署名、「公開鍵」に、ハッシュ関数を用いた演算処理を施します。
演算処理といっても、Bさんはその作業に関して詳細な指示を行う必要はありません。
Bさんはビットコインを使用可能に!
Aさんによる正式な電子署名であることが確認されると、Bさんは入金されたビットコインを使用できるようになります。
Bさんが受け取ったインプットだけでは、Aさんがいくら送金したかはわかりません。
送金額が判明
そこで、ブロックチェーン上の膨大な全トランザクションの中から、Aさんが保有していたビットコインに関する履歴を抽出し、送金額を判明させます。
ビットコインでは、あらゆるトランザクションの履歴がブロックチェーン上に網羅されています。
それらはインプットとアウトプットによって構成されていますが、それぞれの合計数量には差が生じるようになっています。
この数量差は、トランザクションの正当性を検証して認証を行ったマイナー(採掘者)に支払われる報酬(新たに発行されたビットコイン)となります。
トランザクションの問題点
ビットコインにおいては、「スケーラビリティ問題」が深刻視されています。
「スケーラビリティ問題」とは、ブロックサイズ(取引データの処理容量)が制限されていることによって取引処理が遅延し、送金に時間がかかってしまうことです。
通常、トランザクションがブロックチェーンの「ブロック」に記録されて、承認されるまで10分程度かかります。
しかし、ブロックサイズの上限は1MBと決まっているため、取引が増加してブロックサイズの上限に達すると、取引の承認待ちが発生して渋滞が引き起こされます。
その結果、処理しきれない「未確認トランザクション」が溜まり、承認されるまで膨大な時間がかかってしまいます。
手数料の高騰も問題に
ビットコインでは、「スケーラビリティ問題」によって手数料が高騰することも問題になっています。
ビットコインは、手数料ゼロ円でも送金することは可能ですが、マイナーは手数料が高く設定されている取引から優先して処理します。
そのため、手数料の金額が少ないトランザクションの承認は後回しになり、取引の承認待ちが増えると、優先的に承認してもうために手数料が高騰していくのです。
トランザクションってどんな意味?のまとめ
仮想通貨におけるトランザクションとは、仮想通貨の価値の移動を示した取引データのことです。
ビットコインのトランザクションは、以下の4つのデータから構成されています。
- UTXO
- インプット
- アウトプット
- メタデータ
入金されたビットコインを使用するためには、送金者による電子署名が必要になります。
電子署名には、個別に作成された「秘密鍵」と「公開鍵」が必要で、どちらか片方でも欠けると電子署名はできません。
出金する際には、「秘密鍵」による電子署名によって、ビットコインの所有権の移転が証明されます。
ビットコインは、仮想通貨のなかで最も大きなシェアを獲得しており、将来的には日常で使われる決済通貨として選ばれる可能性が十分に考えられます。
しかし、スケーラビリティ問題は、そのような時代が訪れるまでに抜本的に解決する必要のある重要テーマです。
このトランザクションが抱える課題を解決できるか否かで、仮想通貨の今後が大きく左右されることになるでしょう。