Examples of messaging vs. zEVM smart contracts
メッセージングとzEVMスマートコントラクトの比較例
この2つの大まかな例は、omnichainスマートコントラクトで構築する場合とメッセージングで構築する場合の違いを示しています。
Curve/マルチアセットプールの例
まず、Curveを検証してみましょう。ビットコインBTC、ポリゴンMATIC、イーサリアムETHでイーサリアム上のCurveプールを作ることを想像してください。
BTCとMATICをイーサリアムにブリッジする必要があります(新しいラップ資産wBTCとwMATICを作成するか、BTCとMATICを表すネイティブ/既存資産とスワップすることを試みます-ブリッジ金庫に依存します)。
これらの資産をCurveのプールに預ける。
流動性を引き出すには、プールから引き出して、あなたの資産のラップバージョンを受け取る必要があります。
PolygonとBitcoinに個別にブリッジして、ラップを解除する。
このプールを通じてスワップを行う場合、彼らはラップの資産を受け取り、その後、最終的に送りたい場所に資産をアンラップ/ブリッジします。
その代わり、BTC、MATIC、ETHをネイティブに管理するomnichainスマートコントラクトを使えば、以下のようなシステムを構築することができます:
BTC、MATIC、ETHの資産を、単純な送金(または同等の取引)により、1ステップでZetaChain上のプールにネイティブに入金することができます。
ZetaChain上の単一のトランザクションで、それぞれのネイティブチェーン上のあなたのすべてのアドレスに引き出すことができます。
もし誰もがこのプールを通してスワップしたいのであれば、ネイティブアセットを送ることで取引でき、彼らはネイティブアセットを直接宛先に受け取ることができます(つまり、ビットコインアドレスに直接送られるBTC)、すべて1つのステップでです。
オムニチェーンのマルチアセットプールを使えば、
スワップするユーザーとLPするユーザーの双方にとって、ステップ数が少なくなります(ガスが少なく、時間がかかりません)。
スワップと出金が単一のトランザクションで行われ、メッセージングやブリッジングによる非同期タイミングが減るため、スリッページが最小化されます。
ユーザー資産はブリッジやラッピングされた資産保管庫の脆弱性を受けないため、リスクプロファイルが大幅に削減されます。
貸し出しの例
Omnichainスマートコントラクトの機能は、クロスチェーン融資のような複雑なアプリケーションでさらに有利になる可能性があります。基本的な借り入れフローを想像すると、異なるチェーンとの間でメッセージをやり取りする次のようなステップがあります(もちろん、これを実装する方法は他にもたくさんあります):
チェーン1に資産Aの担保を預ける。
チェーン1の担保Aに対してチェーン2の担保Bを借りることを要求する。
プロトコルはChain 1の担保額を確認するメッセージを送信しなければならない。
プロトコルは、チェーン2に対して、元のリクエストを検証するメッセージを返さなければならない。
プロトコルは、Chain 1から受け取ったメッセージに基づくA/Bの(あるオラクルの)価格に基づいて、Chain 2のBを一定量借りられるようにする。
プロトコルは借用要求者に金額を送信する
その代わりに、ZetaChain上のオムニチェーン対応貸出スマートコントラクトを使えば、貸出は以下のようなステップになる可能性があります。
チェーン1の資産Aとチェーン2の資産Bを管理するzEVM上のAaveのようなコントラクトプールに担保を預け入れる。
借り手は、オラクルチェックに基づき、その担保Aに対して資産Bの借り入れを要求し、すべて1つの同期関数内で、ターゲット宛に送信される。