
目次
トランザクションについて
仮想通貨におけるトランザクション(Transaction)とは簡単にいえば取引のことで「前の持ち主から受け取った取引のハッシュ値と送り先のアドレスなどを含め所有者の秘密鍵で電子署名」したものを言います。
ビットコインのトランザクションにおいては過去から現在、未来に至るまですべての取引がチェーン状に繋がっているため存在しないはずの偽のビットコインを送ることができません。
これによりトランザクションの「実在性」が証明できるようになりました。
ただしこの仕組みだけでは過去のトランザクションの実在性が証明できても過去のトランザクションを複数回使っていないことは証明できません。
例えば送られてきた1BTCを同時に2人に1BTCずつ送れてしまうということです。
この問題は二重支払いと呼ばれておりこれを解決しないことには決済手段として使えないことがわかるかと思います。
従来の電子マネーでは中央管理の認証局がチェックし二重支払いを防いでいました。
しかしながらビットコインの発明者「サトシ・ナカモト」はプルーフオブワークに基づくブロックチェーンの仕組みを考案することで二重支払いの問題を実質的に解決しました。
またビットコインのトランザクションにはP2PKH(Pay to PublicKey Hash)とP2SH(Pay to Script Hash)がありスクリプトと呼ばれるビットコイン専用のOP_CODE(実行コード)を含めることで「マルチシグ」や「エスクロー」「マイクロペイメント」などさまざまなスマートコントラクトサービスをビットコインのトランザクションで表現することができます。
トランザクションとは「取引データ」?
トランザクションとは「取引データ」を意味します。
ビットコインにおけるトランザクションとはビットコインの価値の移動を示した取引データのことです。
お札や小銭といった実態がないビットコインを始めとした仮想通貨は取引記録であるトランザクションがブロックチェーンの各ブロックに記入されることで送金などの仮想通貨の機能を成り立たせています。
UTXO(未使用のトランザクションアウトプット)
UTXOとは「未使用のトランザクションアウトプット」と呼ばれトランザクションの基本的な構成要因です。
ビットコインではUTXOにより各アカウントの残高を算出しています。
詳しい技術的な説明はこの記事ではしませんがUTXOのメリットとして
- 「プライバシーの保護に優れていること」
- 「リプレイアタックに強いこと」
があげられます。
この仕組みはビットコイン特有のもので他の仮想通貨にも実装されているとは限りません。
イーサリアムは異なる仕組みを用いて残高を算出しています。
アウトプット・インプット
トランザクションにおけるアウトプットは
- 「誰にビットコインを送ったか(送金)」
インプットは
- 「誰からビットコインを送られたか(着金)」
を表しています。
- トランザクションにかかる時間とはビットコインの送金時間を表します。
- トランザクションにかかる時間は基本的には10分ほどでこれが一つの目安になります。
- 基本的にビットコインは10分で送金が完了しますが数日後に届いたりすることもあり送金速度が確実ではありません。
この理由はビットコインを送金する際に「承認作業」が行われているためです。
そもそも多数のノードが保持するブロックチェーンに取引の記録を記す事で
- 「改ざんができない」
- 「実態を持たない」
通貨を実現しています。
少し詳しく解説すると各ノードが膨大な計算力を用いて過去10分間に行われたトランザクションを新たなブロックに書き込む作業を行なっておりこの作業が一番早く終わった人が同じ答えを探して計算をしていた他のノードに答えを見つけたことを知らせます。
この答えが全てのノードの51%以上に承認されれば新たなブロックが正式に生成され各ノードに同様のブロックが生成されます。
この最初に答えを見つけ承認されたノードには報酬としてビットコインが与えられるのです。
ビットコインの送金は10分ごとにこのマイニングが行われるので「10分」という時間が一つの目安となります。
しかしビットコインは近年需要が増加したことによって処理が追いついていないといった課題があります。
これが「スケーラビリティ問題」です。


「スケーラビリティ問題」とは?
1ブロックに入るデータ量には上限がありこのデータ量を超えるトランザクションが発生した場合
送金遅延などの弊害が発生します。
「マイニング」を行う人に対して手数料を支払って承認作業を行ってもらうのですが手数料の金額によって承認の優先順位が決まるため、無料であったり手数料の金額が少ない所は後回しになっています。
これがビットコインの送金時間に大きなバラつきを起こしている要因と考えられます。
手数料は0でも送金は可能ですが前項にあった「マイニング」を行う人いわゆる「マイナー」に手数料を払うことによってトランザクションにかかる時間が大きく変わってきます。
仕組みとしては支払う手数料によって承認の優先度が決まりマイナーにどのくらい手数料を払うかによってトランザクションにかかる時間が変わってきます。
現在の目安としては、
- 「0.0002BTC〜0.0005BTCの手数料」
を支払えば作業承認の優先度を高めることができるとされています。(2020年3/26日時点)
ビットコインのトランザクションが詰まる現象
仕組み上ビットコインのトランザクション承認は10分ごとに一斉に行われます。
通常ならば凡そ10分で処理は完了しますがビットコインには10分間に承認できるトランザクションに限りがありそのため取引量が多すぎると処理能力以上の「未確認トランザクション」が溜まってしまい10分以上経過してもなかなか承認されないといった現象がおこります。
この「未確認トランザクション」が溜まってしまう現象を「詰まる」と言います。
この記事のまとめ!!
ここまでビットコインのトランザクションについて解説しました。
ビットコインに限らず仮想通貨全体に言える課題としてトランザクションの「詰まり」は常に問題となりそれを解決するためにハードフォークが行われビットコインキャッシュが誕生しました。
このトランザクションが抱える課題を解決できるか否かはビットコインを始めとする仮想通貨の今後を大きく左右する注目すべきカテゴリーであると言えます。
どうでしたか?色々と記事を書きましたがみなさんもこの記事を参考にしてビットコインや仮想通貨のトランザクションを理解して仮想通貨をやってみてはいかがでしょうか??