原作者: スティーヴン・モンオリジナル編集: Deep Chao TechFlowブロックチェーンと分散型アプリケーションの進化し続ける状況では、純粋なトランザクションではなくユーザー定義のインテントの概念にますます注目が集まっています。これにより、ユーザーはますます複雑化する DeFi のプロセスをナビゲートすることについて心配する必要がなくなり、現在考えられているばかりの追加のユースケースのホストが可能になります。個々のアプリケーションがすでに独自の異なる互換性のないインテント構造を使用しているため、すべてのユーザー、アプリケーション、ウォレット ソフトウェア、ソルバー、検索者などが共有して理解できる共通のインテント標準を作成することは理にかなっています。構成可能性を高め、参入障壁を下げるために、スマート コントラクト ウォレットの共通の目的をサポートする標準である ERC-7521 を提案します。## ユーザーの意図とは何ですか?この分野は非常に新しいため、インテントの定義は現時点では少し曖昧です。全体的な概念から、この用語は一般に、望ましいオンチェーン結果または最終状態のユーザーの表現を指すために使用されます。この仕様の目的では、インテントはユーザーによって設定されたアクションと期待のセットとして定義されます。これらの操作と期待は、関係者全員の共通かつ最大の利益を満たすために、他の目的の操作と組み合わせられる場合があります。関係者全員が満足できる一連のオンチェーン操作をソリューションと呼びます。特殊なリゾルバー (ERC-4337 のバンドラーに似ています) は、ユーザーに最高の満足度を提供するソリューションを見つけるために競い合います。これは、たとえば、最適/最も効率的なオンチェーン パスを見つけたり、オフチェーンの流動性ソースを活用したり、さまざまなユーザーの意図を組み合わせて共通のニーズを活用したりすることなどによって、ユーザー自身の意図も含めて達成できます。## アカウントの抽象化にユーザーの意図を追加するユニバーサル インテントを有効にする鍵は、スマート コントラクト ベースの抽象アカウントを使用することです。 ERC-4337 と同様に、インテントはメッセージとして署名され、別のトランザクションを通じてオンチェーンで検証されます。これらの署名付きメッセージは、独自のメモリ プールに伝播されます。この仕様の目標は、署名されたインテント自体によって定義される幅広い可能性を統合し、自動的にサポートするスマート コントラクト ウォレットのフレームワークを作成することではありません。したがって、フレームワークは、新たな意図された使用例が出現したときに、シームレスで許可のないアップグレードとコード拡張プロセスを可能にする必要もあります。## 単一エントリと無制限のインテント標準このシームレスで許可されたアップグレードと拡張プロセスを促進するために、ERC-4337 の EntryPoint コントラクトはモデル化されましたが、これも 2 つの異なる部分に分割されました。エントリ ポイントと呼ばれる最初の部分は、インテント ソリューションを送信するための主要なエントリ ポイントであり、インテント署名の検証と高レベルのインテント処理ロジックの実行を担当します。インテント処理ロジックの特定の内容は、インテント標準と呼ばれる別のコントラクトで定義され、署名されたインテント自体によって指定されます。エントリ ポイントは、インテントを処理するためにこれらのコントラクトを呼び出します。これは、添付されたインテント データと実行の処理方法を定義するインテント標準であり、メッセージがリゾルバーに配信される方法や DoS 攻撃に対する保護メカニズムなど、インテントに固有のサービス拒否攻撃ベクトルに関連する基本的なオフチェーン ルールも定義します。インテントに固有のベクトル。これらの意図基準は、この仕様とは独立して、自己完結型で確立される必要があります。インテントの状況がより成熟し、最適化されたニッチな分野や新たなユースケースが出現するにつれて、追加機能を備えた新しいインテント標準が出現すると予想しています。これらの標準の採用とサポートは、エンドユーザーの需要だけでなく、ウォレット開発者とインテントソルバーの間の社会的合意によって推進されます。私たちが提案する ERC が初期段階で重要な機能を確実に備えられるようにするために、私たちは最新のブロックチェーンのユースケースをサポートする資産ベースのインテント標準を開発しました。私たちは、エコシステムのニーズに適応するために、公共環境でこの標準 (およびこの ERC) を改良していきます。## 曖昧だが強力な意図構造ユーザー インテントには、次の 2 つの部分に分類できる主要データが含まれています。* メッセージを実行する前に送信者とメッセージを検証するために、エントリー ポイント コントラクトによって使用される必要な検証データ。* インテント インテントによって指定される標準固有の追加データ。インテントの標準データは何でも構いませんが、常にインテント セグメントと呼ばれる個別の部分に分割されます。エントリー ポイント コントラクトは、データが何であるかを明示的に理解していませんが、セグメントへの分割は認識しています。エントリ ポイント コントラクトは、インテント 標準コントラクトを呼び出して一度に 1 つのセグメントを処理し、インテントのセグメントが常に指定された順序で処理されるように強制します。ただし、エントリ ポイントを使用すると、実行セグメント間で他のインテントを処理できます。これらのインテント セグメントは通常、ユーザーが処理したいアクション、または特定の条件が満たされているかどうかを確認したいアクションで構成されます。さらに、1 つのセグメントは処理中にデータを次のセグメントに渡すことができます。このデータはインテント コンテキスト データと呼ばれ、セグメント間で発生した変更を検証し、有用なデータを再計算する必要性を回避するのに役立ちます。繰り返しになりますが、このデータを最大限に活用するかどうかは、Intent Standard 仕様によって決まります。## 最大限の満足を得るために意図を組み合わせるインテントの処理中、インテントは、予期しない残高の低下や、インテントの基準で false と評価される可能性がある条件など、あらゆる種類の条件に対して不満を引き起こす可能性があります。これが発生すると、以前に発生した可能性のある無関係なインテントの処理を含め、トランザクション全体がロールバックされます。一連の意図が送信され、すべての関係者が満足する順序で処理された場合にのみ、それらは使用されたとみなされ、その結果の状態がオンチェーン上に保持されることが許可されます。これらのインテントの組み合わせがソリューションを形成し、処理のためにエントリ ポイント コントラクトに渡されます。ただし、異なるインテントのセグメントは異なる順序で配置される可能性があるため、単にインテントのリストを送信するだけでは十分ではありません。したがって、ソリューションでは、処理中にさまざまなインテント フラグメントをどのように順序付けるか (さまざまなインテント フラグメントをどのようにインターリーブするか) も指定します。通常、解決プロセスの一部には、他のインテントのセットを満たすのに役立つインテントを定式化するソルバーが含まれ、利益を生み出しながらユーザーの満足度を最大化できるようになります。## 結論: インテント駆動型のブロックチェーン インタラクションの強化この仕様の焦点は、状況が進化し続けている場合でも、スマート コントラクト ウォレットを接続してユーザーの強力な意図表現を解除できるように、スマート コントラクト ウォレットの基本フレームワークを定義することです。インテントを小さなインテント セグメントの集合として定義すると、ユーザーに優れたエクスペリエンスが提供され、ユーザーが署名する必要がある回数が減ります。インテントのセグメンテーションと共有バックグラウンド データも、大量のガスを使用せずに強力な機能を解放するのに役立ちます。インテントは、すべてのセグメントが手動検査なしで順次処理されることを信頼できます。普遍的なユーザーの意図は、まったく新しい世界を切り開きますが、その世界はまだ探求され始めたばかりです。単純なガスレストークンスワップから、コールドウォレットからホットウォレットへの資金移動や単一の署名付きメッセージによる毎日のコイン購入などのプロセスを自動化するより複雑な条件付きインテントまで、インテントの可能性は無限大です。アセットベースのインテント標準の仕様は、コミュニティがこの新しいフレームワークを利用できるようにする多くの反復の最初のものです。
ERC-7521 ドラフトの詳細説明: アカウント抽象ウォレットへのユーザー インテントの追加
原作者: スティーヴン・モン
オリジナル編集: Deep Chao TechFlow
ブロックチェーンと分散型アプリケーションの進化し続ける状況では、純粋なトランザクションではなくユーザー定義のインテントの概念にますます注目が集まっています。これにより、ユーザーはますます複雑化する DeFi のプロセスをナビゲートすることについて心配する必要がなくなり、現在考えられているばかりの追加のユースケースのホストが可能になります。
個々のアプリケーションがすでに独自の異なる互換性のないインテント構造を使用しているため、すべてのユーザー、アプリケーション、ウォレット ソフトウェア、ソルバー、検索者などが共有して理解できる共通のインテント標準を作成することは理にかなっています。
構成可能性を高め、参入障壁を下げるために、スマート コントラクト ウォレットの共通の目的をサポートする標準である ERC-7521 を提案します。
ユーザーの意図とは何ですか?
この分野は非常に新しいため、インテントの定義は現時点では少し曖昧です。全体的な概念から、この用語は一般に、望ましいオンチェーン結果または最終状態のユーザーの表現を指すために使用されます。この仕様の目的では、インテントはユーザーによって設定されたアクションと期待のセットとして定義されます。これらの操作と期待は、関係者全員の共通かつ最大の利益を満たすために、他の目的の操作と組み合わせられる場合があります。
関係者全員が満足できる一連のオンチェーン操作をソリューションと呼びます。特殊なリゾルバー (ERC-4337 のバンドラーに似ています) は、ユーザーに最高の満足度を提供するソリューションを見つけるために競い合います。これは、たとえば、最適/最も効率的なオンチェーン パスを見つけたり、オフチェーンの流動性ソースを活用したり、さまざまなユーザーの意図を組み合わせて共通のニーズを活用したりすることなどによって、ユーザー自身の意図も含めて達成できます。
アカウントの抽象化にユーザーの意図を追加する
ユニバーサル インテントを有効にする鍵は、スマート コントラクト ベースの抽象アカウントを使用することです。 ERC-4337 と同様に、インテントはメッセージとして署名され、別のトランザクションを通じてオンチェーンで検証されます。これらの署名付きメッセージは、独自のメモリ プールに伝播されます。
この仕様の目標は、署名されたインテント自体によって定義される幅広い可能性を統合し、自動的にサポートするスマート コントラクト ウォレットのフレームワークを作成することではありません。したがって、フレームワークは、新たな意図された使用例が出現したときに、シームレスで許可のないアップグレードとコード拡張プロセスを可能にする必要もあります。
単一エントリと無制限のインテント標準
このシームレスで許可されたアップグレードと拡張プロセスを促進するために、ERC-4337 の EntryPoint コントラクトはモデル化されましたが、これも 2 つの異なる部分に分割されました。エントリ ポイントと呼ばれる最初の部分は、インテント ソリューションを送信するための主要なエントリ ポイントであり、インテント署名の検証と高レベルのインテント処理ロジックの実行を担当します。
インテント処理ロジックの特定の内容は、インテント標準と呼ばれる別のコントラクトで定義され、署名されたインテント自体によって指定されます。エントリ ポイントは、インテントを処理するためにこれらのコントラクトを呼び出します。これは、添付されたインテント データと実行の処理方法を定義するインテント標準であり、メッセージがリゾルバーに配信される方法や DoS 攻撃に対する保護メカニズムなど、インテントに固有のサービス拒否攻撃ベクトルに関連する基本的なオフチェーン ルールも定義します。インテントに固有のベクトル。
これらの意図基準は、この仕様とは独立して、自己完結型で確立される必要があります。インテントの状況がより成熟し、最適化されたニッチな分野や新たなユースケースが出現するにつれて、追加機能を備えた新しいインテント標準が出現すると予想しています。これらの標準の採用とサポートは、エンドユーザーの需要だけでなく、ウォレット開発者とインテントソルバーの間の社会的合意によって推進されます。
私たちが提案する ERC が初期段階で重要な機能を確実に備えられるようにするために、私たちは最新のブロックチェーンのユースケースをサポートする資産ベースのインテント標準を開発しました。私たちは、エコシステムのニーズに適応するために、公共環境でこの標準 (およびこの ERC) を改良していきます。
曖昧だが強力な意図構造
ユーザー インテントには、次の 2 つの部分に分類できる主要データが含まれています。
インテントの標準データは何でも構いませんが、常にインテント セグメントと呼ばれる個別の部分に分割されます。
エントリー ポイント コントラクトは、データが何であるかを明示的に理解していませんが、セグメントへの分割は認識しています。エントリ ポイント コントラクトは、インテント 標準コントラクトを呼び出して一度に 1 つのセグメントを処理し、インテントのセグメントが常に指定された順序で処理されるように強制します。ただし、エントリ ポイントを使用すると、実行セグメント間で他のインテントを処理できます。
これらのインテント セグメントは通常、ユーザーが処理したいアクション、または特定の条件が満たされているかどうかを確認したいアクションで構成されます。さらに、1 つのセグメントは処理中にデータを次のセグメントに渡すことができます。このデータはインテント コンテキスト データと呼ばれ、セグメント間で発生した変更を検証し、有用なデータを再計算する必要性を回避するのに役立ちます。繰り返しになりますが、このデータを最大限に活用するかどうかは、Intent Standard 仕様によって決まります。
最大限の満足を得るために意図を組み合わせる
インテントの処理中、インテントは、予期しない残高の低下や、インテントの基準で false と評価される可能性がある条件など、あらゆる種類の条件に対して不満を引き起こす可能性があります。これが発生すると、以前に発生した可能性のある無関係なインテントの処理を含め、トランザクション全体がロールバックされます。
一連の意図が送信され、すべての関係者が満足する順序で処理された場合にのみ、それらは使用されたとみなされ、その結果の状態がオンチェーン上に保持されることが許可されます。これらのインテントの組み合わせがソリューションを形成し、処理のためにエントリ ポイント コントラクトに渡されます。
ただし、異なるインテントのセグメントは異なる順序で配置される可能性があるため、単にインテントのリストを送信するだけでは十分ではありません。したがって、ソリューションでは、処理中にさまざまなインテント フラグメントをどのように順序付けるか (さまざまなインテント フラグメントをどのようにインターリーブするか) も指定します。
通常、解決プロセスの一部には、他のインテントのセットを満たすのに役立つインテントを定式化するソルバーが含まれ、利益を生み出しながらユーザーの満足度を最大化できるようになります。
結論: インテント駆動型のブロックチェーン インタラクションの強化
この仕様の焦点は、状況が進化し続けている場合でも、スマート コントラクト ウォレットを接続してユーザーの強力な意図表現を解除できるように、スマート コントラクト ウォレットの基本フレームワークを定義することです。インテントを小さなインテント セグメントの集合として定義すると、ユーザーに優れたエクスペリエンスが提供され、ユーザーが署名する必要がある回数が減ります。インテントのセグメンテーションと共有バックグラウンド データも、大量のガスを使用せずに強力な機能を解放するのに役立ちます。インテントは、すべてのセグメントが手動検査なしで順次処理されることを信頼できます。
普遍的なユーザーの意図は、まったく新しい世界を切り開きますが、その世界はまだ探求され始めたばかりです。単純なガスレストークンスワップから、コールドウォレットからホットウォレットへの資金移動や単一の署名付きメッセージによる毎日のコイン購入などのプロセスを自動化するより複雑な条件付きインテントまで、インテントの可能性は無限大です。アセットベースのインテント標準の仕様は、コミュニティがこの新しいフレームワークを利用できるようにする多くの反復の最初のものです。