「UTXOってなに?」

と悩んでいる方も多いかと思います。

そこでこの記事では、画像を使いながらUTXOの仕組みやメリット、デメリットなどをわかりやすく解説しています。

この記事を読めば、ビットコインで採用されているUTXOについて詳しくなることができます。

UTXOについて簡単に説明すると…

  • ビットコインの残高管理方法
  • プライバシーが守られる
  • リプレイアタックのリスクが低い

UTXOとは

​UTXOとは「unspent transaction output」の略で、和訳すると未使用のトランザクションアウトプットです。

これはブロックチェーン上にあるトランザクションの取引データのみに基づいて計算し、アドレス(ウォレット)の残高を管理する方法です。

通帳のようなユーザーの残高をそのままデータとして管理する銀行などのシステムとは異なり、取引データのみから残高を計算します。

世界初の仮想通貨であるビットコイン(BTC)クアンタム(QTUM)などでUTXOは採用されています。

UTXOの仕組み 

トランザクションのinputとoutput

ビットコインで​取引が発生すると取引記録はブロックチェーン上にトランザクションが生成され、そのトランザクションのinputoutputの二つに記録されます。

ビットコインの着金がinputに記録され、送金はoutputに記録されます。

 

例えば、AさんがBさんのアドレスに5BTC送信したとしましょう。

そうするとブロックチェーン上にトランザクション①として記録されます。

5BTCのinput(入金)情報と共にoutput(送金)情報も記録されますが、Bさんはまだ誰にも送金していないのでトランザクション①のoutputは未使用の状態です。

このトランザクション①のoutputは、UTXOでありBさんのアドレスの残高を表しています。

次にBさんはCさんのアドレスに5BTC送金します。

するとその取引はトランザクション②のinputとoutputに記録されます。

この時トランザクション①のoutputが未使用から使用済みになるため、UTXOではなくなります

今度はトランザクション②のoutputが未使用のトランザクションのoutput=UTXOということでCさんのアドレスの残高を表しています。

​まだoutput(送金)されてない=未使用のトランザクションのoutputの記録1つ1つがUTXOというわけです。

取引が膨大になればなるほどブロックチェーン上にあるUTXOを全て集めて残高を計算しなければならないため処理が複雑になってしまいます。​

coinbase

各ブロックの一番初めはcoinbaseという特別なトランザクションになっています。

この部分はマイニングに成功したマイナーに支払われる報酬として、そのマイナーによって一番初めに配置されます。

インプット部分がなく、アウトプットのみになっています。

UTXOのメリット

プライバシーや匿名性が保たれる

UTXOでは個人を追跡しようとするが困難なため、プライバシーの保護に優れています。

プライバシーが保護されていることにより、誰がどの程度資産を所持しているのかが判別しづらくなります。

その結果、富の集中がわからないため、ハッキングに狙われにくくなります。

これはイーサリアムなどの通貨で採用されている、直接残高をブロックチェーンに記録するアカウントベースよりも優れている点です。

リプレイアタックのリスクが低い

リプレイアタックとは、ハードフォークを実施した通貨を繰り返し出金することで、ハードフォーク後の通貨を盗む行為です。

UTXOでは、このリプレイアタックへのリスクが低いです。

その理由として、それぞれのアドレスの残高はUTXOから計算されているので、ハードフォーク後にUTXOが区別されれば、同一に残高を計算することができないからです。

実際、ビットコインではリプレイアタックの被害にあったことはありませんが、アカウントベースを採用しているイーサリアムではThe DAO事件が起きています。

リプレイアタックは、ビットコインなどの仮想通貨のハードフォークの際によく話題になるものです。これはどういう仕組みでどのような危険があるのでしょうか?実際に採用されている対策、自分でできる対策までコインオタクが徹底的に解説します!
 

UTXOのデメリット

計算が複雑

残高を算出する際、すべてのUTXOを計算する必要があります。

またトランザクションのサイズを小さくし、取引手数料を抑えるため、送金の際はUTXOを最適化する必要があります。

スマートコントラクトのようなプログラムを実装するとなるとさらに膨大な計算量が必要になるため、UTXOには向いていません。

時価総額第二位の仮想通貨イーサリアムの最大の特徴であるスマートコントラクトですが、なにがすごいのか分からない人も多いかと思います。この記事ではスマートコントラクトとは何なのか、メリットや問題点、さらにスマートコントラクトを実装する具体的な事例も紹介していきます!
 

UTXOまとめ

UTXOまとめ

  • ビットコインの残高管理方法
  • プライバシーが保護されている
  • リプレイアタックのリスクが低い
  • スマートコントラクトの実装が困難

UTXOベースは、トランザクションの取引データから計算してウォレット(アドレス)の残高を管理する方法です。

直接ブロックチェーンに残高を管理するアカウントベースと比較して、メリットもありますがデメリットもあります。

今後、どちらの方法が主流となっていくか注目しましょう!