Cardanoはブロックチェーン技術のもっとも革新的な要素を特徴としている。例えばHydraやMithrilなどのレイヤー2ソリューションは、スケーラビリティを強化するために設計された。あるいはCardanoのプルーフオブステーク型コンセンサスプロトコルのOuroborosは、さまざまな「フレーバー」(Genesis、Praos、Perasなど)を提供し、敵対的な状況下でもブロックチェーンが効率的かつ安全であることを保証する。
しかし、Cardanoを同時代のチェーンと区別する要素が1つある。それは、拡張未使用トランザクションアウトプット(EUTXO)会計モデルである。2021年9月のAlonzoアップグレードで導入されたEUTXOは、ビットコインによって開拓された「基本的な」UTXOの相対的な意味的単純さと、スマートコントラクトによる表現力の強化を組み合わせたものである。この組み合わせにより、Cardanoは、口座ベースモデルを使用するブロックチェーンが単純に設計上の制約のために実行できない特定の事柄を達成することができる。「UTXOベースのプログラマビリティは、口座ベースの台帳では実現できない機能とユースケースを可能にする。例えば、マルチスレッドのオーダーブック取引エンジン、ステートチャネルレイヤー2による水平スケーリング、効率的なZKP相互運用性とOracleソリューションなど」とは、UTXOチェーン向けにカスタマイズされたブロックチェーンインフラプロバイダーMaestroのCEO、Marvin Bertinの言である。
モデルの違いをアナロジーで説明しよう。ビットコインやCardanoなどのUTXOモデルは、個々のコインを瓶に入れて管理する。瓶の中の各コインは特定の値を表す。使いたいときは、必要な量をカバーするために適したコインを選ぶ。たとえば、8ドルを支払う場合、5ドル、3ドル、1ドルのコインがある場合は、5ドルと3ドルのコインを選んで支払うことができる。多く出しすぎた場合は、額面の小さなコインをお釣りとして受け取り、これは新しいコインとして瓶に戻される。だから、合計残高はちょうど瓶の中のすべてのコインの合計であり、それぞれが別々に追跡される。
一方、口座ベースのモデルは、通常の銀行口座のようなものである。ここでは、個々のコインについて心配する必要はなく、1つの残高が示されるだけである。上下するのは1つの数字のみ。口座に50ドルあり、8ドルを使うと、残高は単に42ドルに下がる。特定のコインを一致させる必要も、お釣りを心配する必要もなく、すべてが1つの合計に過ぎない。
EUTXOは口座ベースモデルとは多くの点で異なるが、主な違いは次の2点である。
- ローカル性:EUTXOモデルにおけるトランザクションは、そのトランザクションによって消費され生成されたインプットおよびアウトプットに排他的に依存する。対照的に、口座ベースモデルのトランザクションは、ブロックチェーン上で進行している他のものの影響を受ける可能性がある。
- 決定性:EUTXOモデルにおけるトランザクションは完全決定性を持つ。つまり、トランザクションが提出前に何をするかがわかっていて、何ものもこれを変更できない。対照的に、口座ベースモデルでのトランザクションは予期しない結果をもたらす可能性がある。
ではこれらの違いがなぜ重要なのか。EUTXOはCardanoにどう役立っているのか、そしてなぜ口座ベースモデルよりも優れていると考えられるのか。
1. 予測可能なトランザクション
「ユーザーには、トランザクションを送信する前に、これがブロックチェーン上でどう動作するのかが正確にわかっている。これは、スマートコントラクト開発者とエンドユーザーの両方にとって素晴らしい財産である。誰もが失敗による請求や、ブロックチェーン上で予期しない結果(資金の損失)を招くことを恐れずにトランザクションを送信できるからだ。これは、成功したトランザクションの結果が、ユーザーが期待し、署名を通じて同意したものと常に一致することを意味している。トランザクションが成功する限り、その結果はネットワーク上の他のトランザクションの影響を受けることはなく、トランザクションが失敗した場合、手数料を支払うことはない」とAnastasia LabsのPhilip DiSarroは述べる。「この特性のさらなる利点は、Cardanoが最大抽出価値(MEV)やいわゆる「サンドイッチ攻撃」に起因する問題の影響を受けないことである。これは口座ベースのチェーンでは日常茶飯事だ」
起こりうる最悪の事態は、2人のユーザーが同時に同じインプットを消費しようとすることである。その場合、2番目のトランザクションは説明したものとは異なる効果を持つ(指定されたインプットがもう存在しないため消費しない)ため、コストがかかることなく即座に拒否され、ユーザーは別のインプットを使って再試行できる。
2. 予測可能なトランザクションコストとリソース使用率
EUTXOの決定性設計は他の会計モデルに対する明らかな優位性を表している。これにより、有効なトランザクションの手数料を正確に計算できるからだ。つまり、エンドユーザーは、トランザクションをブロックチェーンに送信する前に、これにかかるコストを正確に知ることができる。これは、トランザクションを送信する前から手数料が劇的に変化する可能性がある他のチェーンとは対照的である。これはCPU時間やメモリなどリソースの使用状況についても同様であり、トランザクション実行前に予測できる。
3. 並行処理と拡張性
異なるインプットを消費するトランザクションが多数ある場合(つまりほとんどの場合)、ローカル性の特性のおかげで、それらが互いに影響を与えることはない。つまり、このすべてを同時に処理できるため、スループットとスケーラビリティが大幅に向上する。並行処理は、多くのトランザクションを迅速に処理する必要がある分散型取引所(DEX)のような需要の高いDAppに特に有用である。トランザクションの並行処理が可能になることで得られる大きな後押しに加えて、ローカル性と決定性は、口座ベースのシステムでは実装できないHydraのようなスケーラビリティソリューションを可能にする。
4. セキュリティの向上
EUTXOの決定性とローカル性の特性は、考えられるすべての攻撃ベクトルの数を大幅に減らし、開発者が何が起こっているのかを推論することをはるかに容易にする。つまり、Cardanoのスマートコントラクトのセキュリティを保証することは、口座ベースモデルのスマートコントラクトよりもはるかに容易になる。グローバルな状態であることから生じる複雑さのため、口座ベースモデル上のプロトコルの正確さについて推論することは非常に困難である。また、これはスマートコントラクトの正当性を証明することが容易となることも意味し、貴重な資産を管理する上で高く評価されている。
5. 柔軟性の向上
EUTXOモデルは口座ベースモデルよりも柔軟である。これを説明するために、EUTXOで口座モデルをシミュレートすることができる。また、その逆も可能である。この高い柔軟性により、DApp開発者は口座ベースモデルでは達成できないことを行う新しいアーキテクチャや方法を創り出すことができる。
「EUTXOスタイルのDAppsの完全なコンポーザビリティは、島になっているDAppは存在しないことを意味する。TradFiが夢に見る可能性を生み出すためにDAppを相乗的に組み立てることができる」と、現在Cardano用のP2P DeFiウォレットを構築している@__Fallen_Icarusは言う。「EUTXOモデルDeFiは、パーツの合計以上のものである。しかし、これを達成するためには、DAppとウォレットをEUTXOモデル用に特別に設計しなければならない。口座モデルのDAppsウォレットをコピーするのはもう止めだ。P2P-DeFiウォレットとP2P-DeFiプロトコルは、こうした夢を実現する最初の試みである」
IO EducationのRobertino Martinezはこう付け加えている。「例えば、DEXユーザーは、異なる取引を受け入れる異なるUTXOを消費する数十のトランザクションに署名でき、オフチェーンアルゴリズムはそれらを組み合わせてマッチングし、ユーザーが気にするあらゆるメトリック向けに最適化することができる。署名されたトランザクションが数十(または数百)提供されても、エンドユーザーにとってリスクはない。トランザクションは常に望ましい結果となるか、チェーンに拒否されるためだ。それどころか、これには最適なタイミングで自動的に実行できるという強力な利点がある。たとえ午前3時に同時に提出するのが最善の選択肢であったとしても、だ。この手順は、トランザクションが完全な決定性を持たず、1つのトランザクションの送信によって他のすべてのトランザクションが無効になる可能性のある口座ベースのブロックチェーンでは実行できない」
6. ゼロ知識証明に最適
EUTXOモデルはゼロ知識証明(ZKP)に最適だ。複雑で高強度の計算をオフチェーンで実行し、オンチェーンで検証することができるその計算の証明を生成することができるためだ。例えば、スマートコントラクトをオフチェーンで実行し、スマートコントラクトが特定の状態で実行されたことを証明することができる。この証明はネットワーク上で検証できる。重要なのは、このゼロ知識スケーリングの手法を活用するためには、証明を構築するために、計算を実行している状態を事前に知っておく必要があることである。EUTXOのトランザクション予測可能性により、計算を評価するために必要なインプットはトランザクション自体のみであるため、これは簡単である。
対照的に、口座ベースモデル上のトランザクションはグローバルな状態で動作するため、トランザクションを構築しながら、証明を構築するのに必要な状態に関する知識を得ることはできない。また、ブロック内で処理される他のトランザクションがその状態に影響を与える可能性があるため、トランザクションが処理されるまでにスマートコントラクトの状態がどのようなものになるかわからない。例えば、スマートコントラクトが特定の状態で実行されたという証明を作成した場合、その証明をネットワークに送信しても、そのトランザクションが処理されるまでに、ZKPを構築するために使用した状態が他のトランザクションによってすでに変更されているため、証明は無効になる可能性が高い。
まとめ
個々のコインを追跡するEUTXOのユニークなアプローチは、より正確なコントロール、予測可能性、並行処理を可能にする。この設計は、セキュリティを強化するだけでなく、高度な信頼性と柔軟性を備えた複雑なマルチパーティトランザクションにも対応する。最終的には、各モデルとも長所があるものの、EUTXOは分散型アプリケーションやマルチアセットサポートのニーズに特に適していると考えられる。これは、Cardanoの数ある長所の1つであると私たちが信じている意図して決定した設計である。
参考文献
本稿執筆に協力いただいたLars Brünjes、Robertino Martinez、Marvin Bertin、Fallen Icarus、Philip DiSarroに感謝する。詳細は、ブログシリーズ、ハンドブック、EUTXO白書など、Input | Outputが以前に公開したEUTXOに関する参考資料を参照して欲しい。また、Input | Outputが共同設立した、志を同じくする組織UTXO Allianceもある。Allianceは、デジタル資産のためのスケーラブルなブロックチェーンであるHathorNetworkを新たに迎えたところだ。
最新の記事
EUTXOが優れている6つの理由 筆者: Fernando Sanchez
8 January 2025
Input | Output chief scientist receives prestigious Lovelace computing award 筆者: Fergie Miller
3 December 2024
Delivering change in Ethiopia: lessons and reflections 筆者: Staff Writer
28 November 2024