「UTXO」モデルのフルネームは「未使用取引出力」モデルであり、取引を記録、保存、実行するために使用され、最初にビットコインでこのモデルが採用されました。
UTXO モデルの動作原理#
「UTXO」は取引の実行後に残った暗号通貨の量(つまり未使用の暗号通貨)を使用して記録を行います。そのため、UTXO モデルでは「アカウント」と「残高」は存在せず、「アカウントモデル」との最大の違いです。言い換えれば、「UTXO モデルでは、ユーザーが移動できる残高は以前の取引でまだ使用されていない金額です。」
UTXO モデルでは、各取引は UTXO として表される入力と出力で構成されています。入力は既存の UTXO を消費し、出力は新しい UTXO を作成します。取引が完了すると、未使用の出力はデータベースに記録され、将来の取引で使用できるようになります。
UTXO モデルの例#
A のウォレットには 5 ビットコイン(UTXO_0)があります。B には空のウォレットがあります。今、A は B のウォレットに 3.15 BTC を送りたいと思っています。A の 5BTC は入力として記録され、消費され、同時に、3.15BTC と 1.85BTC(UTXO_1 と UTXO_2)が取引の出力として作成されます。UTXO_2 は A のウォレットに送られ、UTXO_1 は B のウォレットに送られます。取引が完了すると、A のウォレットには 1.85BTC の未使用残高があります。B のウォレットには 3.15BTC の未使用残高があります。
UTXO の特徴#
UTXO の中心的な設計思想は状態を持たないことであり、それは取引イベントを記録し、最終状態を記録しないため、ユーザーは履歴に基づいて自分で残高を計算する必要があります。