仮想通貨が分かる!UTXOとは何か?|DApps(ブロックチェーンを活用したアプリケーション)のことなら

TOP  コラム  仮想通貨が分かる!UTXOとは何か?

仮想通貨が分かる!UTXOとは何か?

2019.02.13

コラム

仮想通貨が分かる!UTXOとは何か?

仮想通貨の理解を深めるために
インターネットが社会のあり方を大きく変革させたように、これからの時代はAIやブロックチェーンがそのあり様を決めていくのではないか、新たな変化の時代が始まりつつある、そんな見方が広まってきています。

ブロックチェーンの活用では、それを基盤技術とする仮想通貨がよく知られるところとなり、法定通貨のように実際の決済シーンでも活用できたり、資産運用の一手段として活用したりする人が増えてきました。まだ自分で取り扱ったことがないという方でも、興味関心はあるという方が多いことでしょう。

そうした一方で、仮想通貨に関しては、まだまだ十分にその仕組みや特性を理解できている人が少数である状況もあります。コツをつかみ、段階的に追っていけば、思うよりもシンプルな内容なのですが、特殊な用語が多いことや今なお発展途上で議論を残す領域を含んだ技術概念であることなどから、難解な印象でとらえられている面が大きいのではないでしょうか。今、ここにたどり着いている方の中にも、学ぼうとしてみたけれど途中で挫折したという方もあるかもしれません。

しかし、時代をいち早く読み、賢く仮想通貨とも付き合っていきたいなら、今のうちに理解を深めておくことはとても重要なことです。そこでこちらでは基礎基本から、分かりやすい解説の提供を目指しています。今回は、ビットコイン取引などで知っておきたい「UTXO」について解説しましょう。

残高を割り出す!ブロックチェーン上のデータをひとつなぎにする独自の仕組み
法定通貨でも仮想通貨でも、共同体として価値を認め合う“通貨”に関し、個々がその通貨をある時点でどれだけ保有しているか管理するには、通帳に示される残高額のように、そのままをデータとして管理するほか、やりとりのデータのみを記録・管理し、残高はそこから算出される計算結果として導くようにする方法の2種類があります。

残高が一目で見て分かる前者は、ごく簡単な方法で、提示されるデータ値を確認するだけですから、とくに説明は不要でしょう。イーサリアムなどは、こちらの単純な方法が採用されています。

これに対し、全取引データを参照しなければならない後者は、非常に面倒で複雑に感じられますが、ビットコインにおいてはこちらが採用されており、これが「UTXO」ベースの管理方法と呼ばれるものです。

UTXOとは、Unspent Transaction Outputを略したもので、日本語の場合、「未使用のトランザクションアウトプット」といった表記がなされます。より意味として理解できるよう、かみ砕いていうと、ブロックチェーンに記録されていて、特定の所有者(アドレス)に動かす権限が付与されロックされた、まだ使われていない分割不可能なビットコインのかたまりがUTXOです。

UTXOはバラバラに存在し、この合計が各アドレスの持ち主におけるコインの保有額合計となることから、ウォレットはその参照データを“取引残高”などとして示しています。

さらに一歩踏み込み、トランザクションのライフサイクルから詳しくみていきましょう。仮想通貨の送金取引であるトランザクションは、インプットとアウトプットから成り立っています。ビットコインならば、正しい有効なトランザクションとして、まずインプットに、UTXOとそれに対応した秘密鍵による電子署名が必要です。そしてアウトプット部分(送付先)への合計コインは、インプット部分(送金元)より少ないものでなければなりません。

前者は、使っていない有効なビットコインとして、送金する人が確かにそれを使う権利を持っている本人であることを示しており、後者は保有量以上のコインを使うことはできないという“貨幣”のごくごく基本的なルールに従うものです。

取引に伴い、インプットされた分のUTXOは消費されて「未使用」でなくなりますから、UTXOでもなくなり消えることになります。代わってアウトプットされた分が、次に受け取る人(アドレス)のUTXOとして生成されます。このUTXOの消費と生成で表されるコイン所有権の移転こそが、ブロックチェーンに記されるトランザクションデータなのです。

インプットとアウトプットは合計で必ず等しくなります。UTXOはひとつのかたまりで、それ自体を分割したり合体させたりすることはできませんが、両替にあたるようなトランザクションを介すれば、細かなものをまとめることも可能です。

こうして、常にあらゆる取引データの中にUTXOが散らばっており、その人の所有するコイン残高は、その人のアカウントに紐付けられたUTXOの合計、未使用のアウトプットトランザクションから分かるものとなっています。

UTXOの仕組みは、こうしてたどると複雑なようですが、多数の取引処理を同時並行的に支障なく安定したかたちで実行させられるという観点や、アドレスの再利用を回避しながら運用させることによる匿名性とプライバシー保護の観点などで、優れていると考えられています。

逆にデータ容量的な観点では、UTXOの全データを保存・管理するものとなるため、単純に残高データを直接記録する方がサイズを小さくできる、スケーラビリティ問題を深刻化させないとも指摘されます。

もちろん残高データを記録する単純な管理システムも、ネットワーク全体になると、不正防止や攻撃への対策なども視野に入れて、詳細取引データの保存・参照が必要となりますから、必ずしも取り扱いデータが少なく済むとは限りません。そのためスケーラビリティ問題への対処として、どちらの仕組みが優れているかは議論の残るところです。

管理方法として、それぞれメリット・デメリットはありますが、UTXOについて概要が理解できたでしょうか。仮想通貨、トランザクションについての理解も深められるポイントですので、ぜひ知識として蓄えておいてくださいね。

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

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