要点を述べると
UTXOは、暗号通貨取引後に残るデジタル通貨です。
UTXOは継続的に処理され、各トランザクションの開始と終了の一部です。
トランザクションが終了すると、未使用の出力は将来のトランザクションの入力としてデータベースに保存されます。
UTXOは、ブロックチェーンでの二重支出や存在しないコインの支出を防ぐために必要です。
紹介
未使用トランザクションアウトプット(UTXO)モデルとアカウントモデルは、どちらもブロックチェーン上でトランザクションを完了した後に個人が残したトークンの数を表すために使用される暗号通貨の記録管理方法です。これらのモデルは、ブロックチェーンアーキテクチャがプライバシーを維持しながら正確な台帳を維持する方法に不可欠です。
この用語は基本的に、受信したトランザクションの結果と将来使用される可能性のあるトランザクションを定義するために使用されます。
物理的な不換紙幣は、UTXOの最良の例えです。UTXOは、硬貨や紙幣と同じように、より小さな金種に分割することはできません。UTXOは、所有者の秘密鍵によって制御される対応するトークンの個別のチャンクと見なすことができます。 ビットコイン (BTC), LTC (LTC), ビットコイン Cash(BCH)やZcash(ZEC)などは、UTXOモデルを使用しています。
未使用トランザクション出力(UTXO)モデルとは何ですか?
仮想通貨の取引後に残るデジタル通貨の量は、未使用トランザクション出力(UTXO)として表されます。これは、購入後に得られるおつりに似ていますが、それは下位の通貨単位ではありません。ネットワークによって生成されるデータベース内のトランザクション出力で、正確なおつりでない取引を可能にするためのものです。
会計上の措置として、トランザクション(出力)で使用されていない通貨の一部は、次のトランザクション(入力)で使用されます。ダブルエントリー会計のように、各トランザクションには入力と出力があります。
10 を検討してください ビットコイン バケツいっぱいのコインになります。各コインはUTXOを表しています。ステファニーに何かを5 BTCで支払うと、ネットワークはステファニーにコインのバケツ全体を与え、あなたが負っている5 BTCを「おつり」として返します。これで、さらに分割することができない5 BTCのUTXOを持っています。
UTXOはどのように機能しますか?
1.5 BTCの残高から1.3 BTCを送信したいと想像してください。 ビットコイン ウォレットアドレス。この1.5BTCは、おそらく以前の取引からのアウトプットです。
例えば、それぞれ0.9BTCと0.6BTCです。
新しいトランザクションには 2 つの出力があります。1..3 BTCの使用済み(受信者に送信)と0.2 BTCの未使用出力は、あなたのアドレス(送信者)に返されます。
残りの0.2 BTCは、以下のいずれかの方法で使用されます:
アカウントに送金されます。
残高の一部または残額を取引手数料として使用するか、
残額を他の誰かに送金します。
ビットコイン ノードはこれらの出力を追跡して取引の記録を維持します。各UTXOは、エンコードされたPubKeysを使用して各トランザクションを記録し、特定のユーザーが関連付けられていません。これにより、ネットワークはユーザーのプライベート情報を公開せずにすべての関連するコインの存在を検証できます。
UTXOの重要性
UTXOの概念は、ブロックチェーンの会計を大幅に簡素化しました。UTXOを使用すると、各ノードは、行われたすべてのトランザクションを順番に追跡して保存するのではなく、未使用のコインに関する情報を追跡できます。
これは、各コインが ビットコイン ネットワーク。つまり、ウォレット内のすべてのBTCは未使用です。それは採掘報酬として受け取られたか、取引中のお釣りとして鋳造されたかのいずれかです。
UTXOは、ブロックチェーン上での二重支出を防ぐために不可欠であり、存在しないコインを使ってしまうことを防ぎます。各ネットワークノードは、存在するすべてのUTXOのデータベースを保持しています。
アカウントモデルとは何ですか?
デビットカードや銀行口座は、アカウントモデルの最も明白な類似物です。物理的な法定通貨とは異なり、アカウントモデルでは任意のトークン数量の信用(またはデビット)が可能です。アカウントモデルのウォレットはユーザーの集計残高を表し、UTXOウォレットはユーザーのUTXOの合計を保持します。
アカウントモデルを使用しているプロジェクトには、Ethereum(ETH)、Ethereum Classic(ETC)、およびRipple(XRP)があります。UTXOモデルとは異なり、アカウントモデルのトランザクションは追加のインプットやアウトプットを必要とせず、アカウント間での資金やデジタル通貨の単一の送金を表します。必要なのは台帳の変更だけです。
UTXOモデルとアカウントモデルの違い
UTXOモデルとアカウントモデルは同じ目的を共有していますが、それぞれに利点と欠点があります。
• スケーラビリティ:
単一の残高を格納することは、そのユーザーが所有するすべてのUTXOを格納するよりもはるかに少ないメモリを使用するため、アカウントモデルはメモリの使用をより効率的にします。アカウントモデルのトランザクションは、金額、送信者、受信者、およびデジタル署名のみが必要なため、より小さくなります。典型的なイーサリアムのトランザクションは約100バイトであり、一方、UTXOモデルのトランザクションは数倍大きくなります。UTXOトランザクションの並列性は、UTXOベースのブロックチェーンをシャードとサイドチェーンに分割することを容易にします。UTXOモデルにより、クライアント側での出力の集約と定義が可能となり、ネットワーク計算要件が削減されます。アカウントモデルの実装はより難しいですが、各ノードは送信者と受信者のアカウントを複数のシャードにわたって局所化する必要があります。
•プライバシー:
UTXOモデルではアドレスの切り替えが簡単になるため、コインの所有権を追跡することがより困難になります。新しく生成されたアドレスには、パブリック所有者はいません。したがって、通常、それらを特定のユーザーにリンクするには、高度なチェーン分析が必要です。アカウント モデルでは、1 つのアドレスが再利用されます。その結果、このようなブロックチェーンは、取引履歴の特定をより身近なものにします。一方、代替可能性の観点からは、アカウントモデルはより良いプライバシーを提供します。
• スマートコントラクト機能:
このモデルは、アカウントベースのトランザクションの簡素化された直感的な性質により、スマートコントラクト機能から大きな恩恵を受けています。単一のバランスを検証するには、UTXOの入力/出力ロジックを計算するよりも少ない計算リソースが必要であり、DApp開発者がマルチパーティ契約やトランザクションをプログラムするのが容易になります。たとえば、イーサリアム仮想マシン(EVM)は、それぞれのバランスを調整することで複数のスマートコントラクト間のトランザクションを処理できます。UTXOモデルでは、各トランザクションにわたる明示的なUTXOの入力と出力が含まれるため、より多くのリソースを消費します。UTXOモデルで書かれたスマートコントラクトは、結合する入力の数を考慮する必要があり、複数のオプションがある場合は、どの入力を組み合わせるかを決定する必要があります。
• セキュリティ:
UTXOブロックチェーンのバリデーターノードは、 ビットコイン UTXOセットを追跡して、どのコインが流通しているか、誰が持っているかを正確に確認します。UTXOシステムは、各トランザクションが使用されている正確なUTXOを参照する必要があるため、効率的かつトラストレスな方法で二重支払いの問題に対処します。アカウントモデルのブロックチェーンははるかに脆弱で、チャージバックやスマートコントラクトの過剰引き出しなど、他の問題に悩まされることがよくあります。
例えば、2020年を通して、イーサリアムクラシックプロジェクトは、一連の二重支払い攻撃により数百万ドルを失いました。
結論
UTXOモデルは、ブロックチェーン上にトランザクションを記録する方法です。
モデルが異なれば長所と短所があるため、どのブロックチェーンでもUTXOの適用はプロジェクトの目標によって異なります。
イーサリアムがアカウントモデルを採用しているのは、堅牢なスマートコントラクトの展開に関心があるためですが、 ビットコイン より安全な電子現金を開発することにより、UTXOモデルを採用しています。新しいプロジェクトでは、これらのモデルを改善しようとしています。たとえば、Cardano(ADA)、Tron(TRX)、Qtum(QTUM)などは、両方の利点を組み合わせた高度なハイブリッドモデルを開発しようとしています。これらのモデルにより、開発者がUTXOを簡単に使用できるようになり、スマートコントラクトのパワーを保持することができます。
著者 - M. Olatunji、Gate.io研究者
免責事項: