分散型台帳テクノロジーの台頭により、トラストレス環境で価値を識別、保存、転送する方法に根本的な課題が生じています。この革命の中心にあるのは、未使用トランザクション出力 (UTXO) モデルとアカウントベース モデルという 2 つの主要なデータ アーキテクチャ哲学の間の相違です。どちらも台帳の整合性を維持し、二重支出を防止するという唯一の目標を目指していますが、データ構造、認証メカニズム、システムのスケーラビリティの点でまったく異なるアプローチを表しています。
タン ファット デジタルの専門家チームの分析によると、これら 2 つのモデルのどちらを選択するかは、単純な技術的な決定だけでなく、純粋な決済システムの安全なシンプルさから決済システムの多層的な複雑さまで、分散型アプリケーションの境界も定義されます。チューリング完全なスマート コントラクト プラットフォーム。
UTXO モデルの技術的性質と運用
UTXO モデルは、サトシ ナカモトによってビットコイン ネットワークを通じて初めて導入され、デジタル世界での物理的な現金の運用をシミュレートします。このシステムでは、ブロックチェーンは特定のアドレスまたはユーザーの残高を直接追跡しません。代わりに、未使用のトランザクション出力のセットを維持します。各 UTXO は、決定された値を持つ独立した資産単位とみなされ、正当な所有者のみがロックを解除できる暗号化条件によって「ロック」されます。
トランザクション構造と「支出と作成」メカニズム
UTXO システムのトランザクションは、一連の入力 (入力) と出力 (出力) で構成されます。入力は基本的に、前のトランザクションから生成された UTXO への参照です。トランザクションが有効であるとみなされるためには、送信者はこれらの入力 UTXO のロックを解除するための証拠 (通常はデジタル署名) を提供する必要があります。認証されると、入力 UTXO は「使用済み」としてマークされ、現在の UTXO セットから削除され、受信者用に新しい UTXO が作成されます。
このモデルの最も重要な原則は原子性と整合性であり、UTXO は完全に使用される必要があります。 UTXO の値が送信される量より大きい場合、システムは自動的に変更出力を作成して、残りを送信者に送り返します。このメカニズムにより、いつでも、トランザクションの入力合計値が、出力合計値にトランザクション手数料を加えたものと常に等しいことが保証されます。
UTXO モデルのトランザクション コンポーネントの詳細:
入力: ロック解除の証拠を含む、古い UTXO への参照として機能します。 (ScriptSig/Witness)。
出力 (Output): 新しい値とキー条件 (ScriptPubKey) を決定します。
UTXO セット: 現在の状態データベースであり、ネットワーク上のすべての未使用の「コイン」が保存されます。
変更メカニズム:入力 UTXO の価値をすべて使い切らない場合に、新しい UTXO を自動的に生成して、支出者に小銭を返すプロセス。
並列処理と独立した検証の利点
UTXO アーキテクチャには、並列処理機能という優れた利点があります。各 UTXO は個別の独立したデータ エンティティであるため、同じ入力を共有しないトランザクションは、状態の競合を心配することなく、異なるノードによって同時に検証および処理できます。これにより、システムは最新のマルチコア プロセッサの能力を最大限に活用できるようになり、アカウント モデルのように順番に実行する必要がなく、トランザクションのスループットが向上します。
さらに、このモデルは非常に効率的なトランザクション認証を提供します。ノードは、トランザクションの有効性をチェックするために台帳の履歴全体やグローバル状態を知る必要はありません。現在の UTXO セットにアクセスして、参照された入力が本当に未使用であるかどうか、ロック解除の証明と一致するかどうかを確認するだけです。
データ構造によるプライバシーと匿名性
UTXO モデルは本質的に、トランザクションごとおよび変数出力に新しいアドレスを使用することをユーザーに奨励することで、プライバシーの向上をサポートします。 1 人のユーザーの資産は、異なるアドレスにある数十または数百の UTXO に分散していることが多いため、ブロックチェーン分析技術では、個人の資産全体をリンクすることがより困難になります。この資産単位間の分離により、包括的な財務監視に対する自然な障壁が生じますが、ブロックチェーンの透明性により、特定の各「コイン」の追跡可能性は依然として確保されています。
参照: ビットコインとは何ですか?ビットコイン A-Z を理解する
アカウントベースのモデルの詳細な分析
イーサリアムによって普及したアカウント モデルは、「現金」モデルから「銀行台帳」モデルへの移行を表しています。個別の資産を追跡する代わりに、システムはアカウントの永続的な状態を維持し、各アドレスが残高やその他の関連データに直接関連付けられます。
グローバル状態構造とアカウント オブジェクト
アカウントベースのアーキテクチャでは、ネットワーク全体の状態が大規模なマップとして表現され、アカウント アドレスからオブジェクトのアカウント データにマッピングされます。イーサリアムの仕様によれば、各アカウントには 4 つの重要な情報フィールドが含まれます。
ノンス: 送信された各トランザクションの増分カウント。これは、リプレイ攻撃を防止し、トランザクションの順序を確保する目的に役立ちます。
残高: 基本通貨でのアカウントの現在の残高 (例:
StorageRoot: アカウントのすべての内部データ (特にスマート コントラクトにとって重要) が含まれるストレージ ツリーのルートのハッシュ値。
CodeHash: アカウントがスマート コントラクトの場合の実行可能コードのハッシュ値。
このモデルのトランザクションは次のようになります。さらにシンプルで直感的: A から B に送金するには、ネットワークは A に十分な残高があるかどうかを確認し、A から対応する金額を差し引いて B に追加するだけで済みます。
このモデルのアカウント分類:
外部所有アカウント (EOA): 秘密キーを介してユーザーによって制御されるアカウント。実行可能ファイルは含まれません。コード。
契約アカウント: 契約アカウントはプログラミング コードによって制御され、トランザクションの受信時に複雑なロジックを実行できます。
プログラマビリティと DeFi の台頭
Tan Phat Digital は、アカウント モデルがスマート コントラクトと分散型アプリケーション (dApps) の爆発的な普及の基盤であると考えています。各アカウントは長期的な状態を保存できるため、開発者は自動流動性プール (AMM) や融資マーケットプレイスなどの複雑なビジネス ロジックを構築できます。スマート コントラクト間の相互運用性は、元の UTXO モデルでは実現が難しい機能です。
ただし、この柔軟性にはシリアル化という犠牲が伴います。トランザクションは頻繁に相互作用し、同じグローバル状態を変更するため、ノードは一貫性を確保するために厳密な順序でトランザクションを実行する必要があります。これにより、ネットワークが混雑し、高いガス料金が発生するため、パフォーマンスのボトルネックが発生します。
ビットコインとイーサリアムのアーキテクチャの詳細な比較
ビットコインとイーサリアムの違いは、資産を表現する方法だけでなく、信頼性とアクセシビリティを確保するためにデータ全体を構造化する方法にもあります。
データ構造と状態管理タイ語:
データ ツリーの種類: ビットコインは単純なバイナリ マークル ツリーを使用します。一方、イーサリアムはより複雑なマークル パトリシア トライ (MPT) を使用します。
データ ストレージ: ビットコインはトランザクション (トランザクション) のみを保存します。イーサリアムは状態、トランザクション、トランザクション受領書の両方を保存します。
更新効率: ビットコインの構造は静的であり、ブロックの作成後に変更されません。 Ethereum の構造は動的であり、トランザクションごとに継続的に更新されます。
状態の検証: ビットコインはローカル UTXO 集約レベルでそれを行います。イーサリアムには、ブロック ヘッダーにステート ルートが直接含まれています。
認証メカニズムとスクリプト言語
ビットコイン スクリプトは、セキュリティを最適化し、攻撃対象領域を制限するように設計された、非チューリング完全なスタックベースの言語です。そのシンプルさにより、シナリオ分析がより簡単かつ安全になります。
対照的に、イーサリアム仮想マシン (EVM) と Solidity 言語は、より完全な環境 (チューリング完全) を提供し、多様なプログラミング ロジックの実行を可能にします。無限ループを防ぐために、イーサリアムは「ガス」メカニズムを使用します。これは、ユーザーが支払う必要があるコンピューティング能力の測定単位です。
詳細はこちら: イーサリアムとは何ですか?イーサリアム A ~ Z を理解する
資産管理とストレージの課題
どちらのモデルもデータの肥大化という問題に直面していますが、その現れ方と解決策はまったく異なります。
「UTXO ダスト」問題: UTXO モデルでは、非常に小さな値の出力の生成により UTXO セットのサイズが増大し、ハードウェア要件が増加します。フルノードの場合。ネットワークは、これを防ぐためにダストしきい値を適用することがよくあります。
「状態の膨張」: イーサリアムの場合、スマート コントラクトのアカウントとデータは、積極的に削除しない限り、グローバルな状態で永続的に存在します。これにより状態サイズが数百ギガバイトに増加し、ノードの同期が困難になります。
セキュリティ分析: 再入可能性とエラー ロジック
Tan Phat Digital が強調したい最も重要な側面の 1 つは、各モデルの攻撃対象領域です。
再入可能性の脅威(イーサリアム):コントラクトが内部状態を更新する前に外部呼び出しを行うと発生し、攻撃者が継続的に資金を引き出すことができます。
UTXO の不変性: UTXO モデルは、静的データ ユニット全体の消費を通じて状態が更新され、ストリーム中の介入が許可されないため、本質的に再入攻撃の影響を受けません。ただし、ロック シナリオのロジック エラーや、複数のユーザーが同じ UTXO にアクセスするときの競合の問題 (同時実行競合) によるリスクに直面します。
拡張モデルと最新の進化
UTXO とアカウントの間の議論により、ハイブリッド モデルが誕生しました。
Cardano と eUTXO: 追加Datum (状態データ) と Redeemer (実行データ) を UTXO に提供し、高度な決定性を維持しながらスマート コントラクトをサポートします。
Sui およびオブジェクト モデル: すべてを「オブジェクト」に抽象化し、個別に所有されるオブジェクトの非常に高速な並列処理を可能にします。
既存のモデルを比較するmodern:
UTXO (ビットコイン): ステータス単位は未使用出力です。ロジックはシンプルなスクリプト経由で実行されます。 UTXO レベルでの自然な並列処理。
eUTXO (Cardano): 状態ユニットには出力 + データが含まれます。 Plutus 言語を通じて実装されたロジック。 eUTXO レベルでの自然な並列処理。
オブジェクト モデル (Sui): 状態の単位はオブジェクト (ID、バージョン、所有者) です。ロジックはSui Move経由で実行されます。オブジェクト レベルでの並列処理。
よくある質問 (FAQ)
UTXO とは何ですか? UTXO (Unspent Transaction Output) は、トランザクションが行われた後に残っている暗号通貨の量です。それは、財布の中にさまざまな額面の紙幣を入れているようなものです。あなたの残高は、単にあなたが所有するすべての未使用の「ノート」(UTXO)の合計値です。
口座モデルとは何ですか? これは、従来の銀行口座に似た残高管理モデルです。システムは各アドレスの残高を直接保存して更新します (たとえば、Alice は 5 ETH を持っています)。取引するとき、システムはこの数値を直接加算または減算するだけで済みます。
ビットコイン (UTXO) が再入攻撃に対してより安全なのはなぜですか? UTXO は継続的に変化する可能性のあるグローバル状態を使用しないためです。各トランザクションはデータの静的ユニット全体を消費するため、残高が更新される前に、悪意のある契約が資金を何度も引き出すために「コールバック」することを防ぎます。
Cardano の eUTXO モデルはビットコインの UTXO とどのように異なりますか? eUTXO (拡張 UTXO) は、出力に状態データ (データム) とより複雑な実行シナリオ (スクリプト) を送信できるようにすることでビットコインのモデルを拡張し、UTXO プラットフォーム上でスマート コントラクトを構築できるようにします。
「UTXO ダスト」 (ダスト) 問題とは何ですか? これは、ネットワークに非常に小さな価値の出力、つまりトランザクション手数料よりもさらに小さい出力が多すぎる状況です。これにより、ノードが保存する必要があるデータのサイズが増加し、システムの肥大化を引き起こします。
イーサリアムにおけるノンスの効果は何ですか? ノンスは、アカウントのトランザクションごとに増加するカウントです。これにより、トランザクションが正しい順序で実行されることが保証され、攻撃者が古いトランザクションをやり直す (リプレイ攻撃) ことが防止されます。
Verkle Trees はイーサリアムのロードマップにどのように役立ちますか? Verkle Trees を使用すると、古いモデルよりもはるかにコンパクトなプルーフを作成できます。これにより、ノードは状態履歴全体を保存せずにトランザクションを検証できるようになり、より軽量な「ステートレス」の未来に向けて移行します。
EIP-4444 とは何ですか?なぜ重要ですか? これは、イーサリアム ノードが 1 年以上古い履歴データを削除できるようにするための提案です。これにより、ハード ドライブの要件が大幅に軽減され、平均的なユーザーにとってノードの操作が簡単かつ安価になります。
なぜ UTXO は並列処理をより良くサポートするのでしょうか? UTXO は完全に独立しているからです。アリスがボブに送金し、チャーリーがデイビッドに送金する場合、これら 2 つのトランザクションは相互に影響を与えず、異なるプロセッサによって同時に認証できます。
パラレル EVM とは何ですか? パラレル EVM は、イーサリアム仮想マシン (EVM) の互換性とパラレル トランザクション処理機能を組み合わせたテクノロジーです。 Parallel EVM は、各トランザクションを順番に処理するのではなく、同じアカウントに異議を唱えない限り、複数のトランザクションを同時に処理できます。
アカウント モデルと UTXO モデルの選択は、もはや二極化した争いではなく、トレードオフの問題です。 Tan Phat Digital の見解では、UTXO モデルは依然として支払いにおけるセキュリティとプライバシーのゴールドスタンダードである一方で、アカウント モデルは DeFi と dApps のクリエイティビティの肥沃な土壌です。
ハイブリッド モデルの進化と EVM の並列化 (Parallel EVM) への取り組みは、2 つのモデル間の境界線が薄れ、安全で強力にプログラム可能なブロックチェーン アーキテクチャに移行する未来を示しています。強力で無制限に拡張可能。
包括的な技術比較概要表 (詳細リスト):
二重支出防止メカニズム:
UTXO: 特定の各出力の「未使用」ステータスを確認します。
アカウント: アカウントの残高と注文を確認します。 Nonce。
残高管理:
UTXO: 所有されているすべての UTXO を集計します (ユーザー/ウォレット側の計算)。
アカウント: に保存されているアカウントの状態から直接クエリします。
並列性:
UTXO: 非常に高い、共通の入力を共有しないトランザクションの同時処理。
アカウント: 低い、状態を回避するために順次実行が必要
プライバシー:
UTXO: 良好、取引ごとにアドレス変更を推奨。
アカウント: 劣悪、単一のアドレスで金融履歴部門全体が明らかになる。
スマート契約:
UTXO: 制限があり、複雑なレイヤー 2 または eUTXO ソリューションが必要です。
アカウント: 理想的には、複雑な状態ロジックとチューリング完全をサポートします。
セキュリティと脆弱性:
UTXO: スクリプト ロジック エラーのリスク
アカウント: 再入、オーバーフロー、攻撃のリスク フロントランニング。
トランザクション手数料:
UTXO: データ サイズ (vBytes) に依存します。
アカウント: 計算の複雑さに依存します。およびメモリ (ガス)。
シェア








