FLOCブロックチェーン大学校

マイページ
無料体験セミナー

3分でわかるブロックチェーン FLOC LOG

ビットコインの残高はどうやって管理する?「UTXO」とは何なのか?

次世代の送金システムであるビットコインでは残高の記録は欠かせません。ですがビットコインでは普段私たちが銀行口座などで残高を確認するような方式では残高を記録していません。代わりに独自の方法を採用します。今回はビットコインの残高を管理する「UTXO」について解説します。

フロック博士

今回はUTXOを解説するぞ

タカシ

たしか、ビットコインでは残高の管理で使うんだっけ?。うーん、ぴんと来ないなぁ

フロック博士

お!そこまでわかっておるのは優秀じゃ。新しい概念じゃから、理解するのは難しいかもしれないが、トランザクションとも密接に結びついたものだから、しっかり理解をしておくんじゃぞ

デジタル通貨では2通りの残高確認方式がある

現金で所持金を確認するためには財布なり貯金箱の中などの金額を数えればいいのですが、デジタル通貨では残高を確認するために2つの方式のいずれかで残高を確認します。

この場合のデジタル通貨は仮想通貨だけでなく、普通の銀行口座などより幅広い対象を含みます。

残高をアカウントに記録する方式

銀行口座や電子式のポイントカードなど、普段私たちが目にする機会の多いものはたいていアカウントに残高を関連させ、直接データを記録しています。

送金をするときもデータの変化が示されるほか入出金の履歴も記録されるので、お金の所在も明らかです。

例えばA君が23500円持っており、6700円を持つB君に3000円送金するとします。残高をデータとして管理するため、A君の所持金が20500円、B君の所持金が9700円へと変化したことがすぐに分かります。

また入出金の履歴も別に記録するため、入出金の履歴を見るだけでも残高を表現することができます。

仮想通貨でもイーサリアムなどではこの方式が採用されてきます。

UTXOを数えて管理する方式

ビットコインで残高管理の方式として採用しているのがUTXOによるものです。これは「Unspent Transaction Output」の略称です。

ビットコインでは口座や残高などをデータとして管理していません。ただそれでは利用者にとって使いにくくなってしまいます。そのためアドレスに記録されたUTXOを集計し、ウォレットなどが残高として表示しています。

UTXOとは何か

ビットコインを保有するということは、実物がウォレットにあるというわけではありません。
送金をしたり、何かを買ったりするときには「トランザクション」で取引データが記録されます。
トランザクションは誰かのアウトプットが別の誰かのインプットになる、という風につながります。

さてUTXOは日本語では「未使用トランザクション」です。何に使われていないかと言えば、インプットです。

例えばA君がB君に送金します。A君が自分のUTXOを送ると、B君のインプットに取引データが記録されます。このとき記録されたものは消費されます。未使用だったものが使用されてしまうために、消えてしまうわけです。

この過程で残高が減少します。そして消費したのと同じ量のUTXOがB君のアウトプットに記録されます。
当然B君はこの受け取ったものを送金に使っていないため、手元に残ります。ウォレットで見ると残高が増えています。これが一連の送金の流れです。

個人で見ると、アドレスに紐づけられたUTXOの合計を足すと個人のビットコインの残高となります。
実際には手元に実物はありません。ただ「まだ送金として消費されないアウトプット」というのは今すぐ送金に使える分、すなわち残高とほぼ同等の意味を持っています。

最も大きな単位の話をすると、すべてのUTXOを合計するとそのときに流通する総量と等しくなります。

先に紹介した従来の方式では残高をすべて記録することで総量を把握しますが、ビットコインでは消費されていないアウトプットを合計することで総量を知ることができるのです。

UTXOは分割できない

UTXOはひとつの大きな塊であり、分割できません。例えばUTXO1として25BTC、UTXO2として5BTC、合計30BTCを保有しているとします。ある商店で5BTCで何かを買うとするとしましょう。このときには25BTCから支払われます。

UTXOはひとつの塊です。なので25BTCを全額使います。30から5を使う、というようなことはできません

5BTCを払うときには25BTCを支払い、お釣りとして20BTC分の自分宛てにお釣り用のアドレスへ送ります。ちょうど1万円札しか持っていない、というようなシチュエーションに似ています。

普通の電子マネーであれば1円単位まで細かく清算してくれますが、ビットコインは大雑把にも思えます。もちろん実際には私たちはお釣りなどを体感することはありません。

インプットとアウトプットは同一ではない

UTXOをすべて合わせるとその時点でのビットコインの総量になります。しかし個人ではインプットとアウトプットの合計と、厳密には等しくなりません。

誰かからの送金や誰かへの送金は額面通りのものが送られてくるわけではありません。自分に来た分は実際の送金よりは手数料で目減りしますし、送るときも手数料で目減りします。
この手数料はマイナーに支払われます。手数料はノードによって自由に設定することができますが、あまり安いとマイナーが承認してくれないのでいつまでも取引が進みません。

反対に高すぎると従来の銀行などと、手数料の面で変わらなくなってしまいます。取引所やウォレットなどはそのときにちょうどいい手数料の額を設定して、利用者へと提示します。
個人で送金をするときには、専用のツールなどで現在の手数料の相場を知ることができます。

ナンスを発見したマイナーは「ジェネレーショントランザクション」を生成し、承認の報酬と手数料を自分のアドレスへアウトプットします。この過程で総発行量も増加します。

私たちの支払った手数料は消失するわけでなく、私たちの取引を承認する報酬に回るためにUTXOの総量自体は変化しませんし、何より円滑にビットコインを運営することができているのです。

 

タカシ

ビットコインでは、他のデジタル通貨と違う方式で残高を管理しているんだね。複雑で難しいなぁ

フロック博士

UTXOを使う方法は確かに複雑じゃ。実際に複雑過ぎて、スマートコントラクトの実装がしにくいという欠点もある。しかし送金者の特定が難しいため、匿名性が高く、プライバシーも保護できるという長所もあるんじゃ

タカシ

どちらの方式にも一長一短があるんだね

フロック博士

その通りじゃ。よく勉強しておくんじゃぞ。さてまとめと行こう

まとめ

ビットコインでは他のデジタル通貨と異なる方法で残高を管理します。これは自分のトランザクション中のUTXOをカウントする方式です。
UTXOはまだ誰かのインプットとなっていないものなので、残高とほぼ同等の意味を有しています。

ビットコインは実物を持つわけでなく、トランザクションを通して送金する権利のようなものをやり取りします。UTXOについて理解することで、ビットコインの中心的な部分を理解する助けとなるでしょう。


FLOCブロックチェーン大学校は、第一線で活躍する講師陣から体系的かつ実践的な知識や技術を学び、最短3ヶ月でビジネスパーソンやエンジニアとして活躍できるブロックチェーン総合スクールです。
5,000人を超える方が参加した、無料でブロックチェーンを100分で学ぶ「無料体験セミナー」も随時開催しています。
遠方で参加できない、日程が合わないという方にはWEB受講も行ってます。

多数のケーススタディが掲載されたブロックチェーンビジネス事例集がこちらから無料入手できます。

最新記事・限定情報を配信してます

関連記事

「ニュースレター」を無料購読しませんか?

ブロックチェーン関連の最新ニュースや話題のサービス事例などトレンド情報を定期配信します。

個人情報の取り扱いについて

ブロックチェーン専門スクールで即戦力を身につけませんか?

FLOCブロックチェーン大学校は、技術者の育成から、ビジネススクール、検定試験によるアセスメントの構築、人材紹介、起業家育成などを通じ、ブロックチェーンのプラットフォームを構築しているブロックチェーンの総合スクールです。

こんな方に
オススメ
  • 知識ゼロから体系的な知識を身につけたい
  • ブロックチェーンの技術を生かしてビジネスを展開、起業したい
  • 技術者として活躍したい、Fintech業界で活躍したい


無料体験セミナーは、ブロックチェーンの仕組みからブロックチェーンで変わる未来、ブロックチェーン技術を効率的に身につける方法について、100分で学べる体験講座です。遠方で参加できない方や、教室開催の日程で都合が合わない方にはWEB配信も行ってます。

無料体験セミナーを確認する

FLOC LOG カテゴリー

3分でわかるブロックチェーンFLOC講師が解説!速報ブロックチェーンニュースホワイトペーパー体験セミナー