🤩 GTホルダー専用コミュニティが始動しました!
✨参加し、15,000 USDT先物ボーナス + 2000 MOVEを共有しましょう!
参加方法:
1️⃣ UIDを送信:https://www.gate.io/questionnaire/5695
2️⃣ 最初の1,000人のメンバーは先物ボーナスを手に入れることができます-見逃さないでください!
3️⃣ MOVEトークン、トレンドリワード、グッズを獲得し、エアドロップやニュースの早期アクセスのチャンスを得るための限定イベントに参加してください!
💡 GTホルダーのみ、素晴らしい特典が展開中!
#GTHolders# #Gateio# #MOVE#
イーサリアム ZK コプロセッサ Axiom の技術的利点を解体する
著者: マスクネットワーク
ETHShanghai 2023 サミットで、Axiom の創設者 Yi Sun 氏は、イーサリアムの ZK コプロセッサーである Axiom と、データ アクセスとコンピューティング能力の観点からのその重要性を紹介しました。 Axiomはリフレクション演算の概念によりデータアクセスと計算の拡張を実現し、ハッシュチェーンの検証とキャッシュの維持によりクエリの正当性を実現します。 Axiom のアプリケーションには、高コストのアプリケーション、大規模なデータ アクセス、履歴データ管理プロトコルに基づくアプリケーションなどが含まれます。 Axiom を通じて、スマート コントラクトはより広範なデータとコンピューティング能力を取得できるため、イーサリアム アプリケーションの開発がさらに促進されます。
以下の文章はイー・スン氏のスピーチの中国語編纂版で、リンクはライブビデオです。
まず、実際にイーサリアム情報にアクセスするユーザージャーニーを理解しましょう。私たちが最初にイーサリアムを使用していたとき、オンチェーンで何が起こっているかに関する情報を実際に受け取る方法は、注釈をアーカイブするための JSON-RPC 呼び出しを通じてでした。 JSON-RPC API の目的は、実際にオンチェーン履歴に関する情報をユーザーに提示することです。基本的に、ブロックチェーンに関するすべての情報はこれらの API 呼び出しから抽出され、ユーザーが読めるように Web サイト上のエントリとして表示されます。
現在、ユーザーがブロックチェーンとの対話に熟達するにつれて、チェーンに対するますます複雑なビューが必要になり始めています。したがって、さまざまなユーザーのトレードオフに合わせて、さまざまなタイプのアーカイブ ノードが開発されています。それで、ゲス、エリゴン、ネザーマインド、そして今はレスがありました。独自のニーズに応じて、最適なアーカイブ ノードを選択できます。
ユーザーが別個の JSON-RPC API に満足できない場合は、トランザクションを追跡しながら後処理を適用するインデクサーを選択できます。さまざまなアプリケーションの場合、ユーザーは The Graph または Covalent から返されるデータに興味があるかもしれません。
最近では、アーカイブ ノード上でトランザクション シミュレーションを提供するウォレットやその他の製品も登場しています。これは、仮想トランザクションをコミットする前に、その実際の結果を確認できることを意味します。全体として、エンドユーザーとしてイーサリアムと対話する方法はより洗練されており、読み取ったデータに基づいてより多くの計算が使用されています。
ここで、ユーザーの観点ではなく、イーサリアム上のスマートコントラクトの観点から考えてみます。もちろん、契約側もデータにアクセスして計算を実行できるようにしたいと考えていますが、これはより困難です。実際、OpenSea にアクセスして CryptoPunk のリストを見ると、ページ上のすべての情報のうち、チェーン上のスマート コントラクトでアクセスできるのはごく一部であることがわかります。
実際、CryptoPunkのリストの場合、この情報は現在の保有者のみを対象としています。もちろん、ページには他にも多くの情報がありますが、過去の譲渡情報、過去の価格、過去の保有者に関連するすべての情報は、過去の履歴に属しているため、実際にはスマート コントラクトからアクセスできません。これらの履歴はオンチェーン情報を構成しますが、トランザクションを検証するためにすべての完全なイーサリアムノードがランダムアクセスでこの情報を維持することを強制することを避ける必要があるため、スマートコントラクトでは利用できません。
また、ブロックチェーン開発者なら誰もが言うように、イーサリアムには比較的効率的な仮想マシン (VM) 操作があり、プリコンパイルによって特定の種類の操作が安価になるにもかかわらず、オンチェーンでの計算の実行は法外に高価です。たとえば、イーサリアムは、BN254 曲線での楕円曲線演算のサポートを比較的安価に提供します。ただし、一部の特定のアプリケーションにとって、イーサリアム仮想マシンは依然として非常に高価なランタイム環境です。ブロックチェーン仮想マシンを設計するときは、各ノードが一貫した時間にトランザクションを検証できるように、慎重に測定する必要がある固有の一連の操作を選択する必要があります。さらに、最悪の場合のセキュリティとコンセンサスの安定性も考慮する必要があります。したがって、ここでの課題は、オンチェーン アプリケーションにアプリケーション固有のスケーリングを実装する方法です。 Axiom は、さまざまなアプリケーションの拡張ニーズを満たすために、スマート コントラクトのデータ アクセスとコンピューティング機能を拡張することを目指しています。
Axiom が構築しているのは、イーサリアム コプロセッサ (ZK コプロセッサ) と呼ばれるものです。これにより、特定のスマート コントラクトがトラストレスにオフチェーン システムに委任できるようになり、データの読み取りと検証可能な計算を Axiom に委任できるようになります。 Axiom にクエリを発行するために、スマート コントラクトはトランザクションをオンチェーン システムに送信できます。オフライン ノードはトランザクションを受信し、イーサリアムの履歴クエリに基づいて結果を生成し、結果の正確さを証明するためにゼロ知識証明を添付します。最後に、結果をオンチェーンで検証し、その結果を下流のスマート コントラクトに確実に提供します。
これは、コンピューターの CPU が計算を GPU に委任し、結果が判明したときに結果を取得する方法に似ています。この概念は、初期にはコプロセッサ (Coprocesso) と呼ばれていました。スライドでは、Axiom の動作に類似した 1990 年代初頭の高度な数学コプロセッサのイメージを示しています。
Axiom が実行できる操作の種類について洞察を得ることができます。Axiom への各クエリは 3 つの部分に分類できます。
1 つ目は読み取り部分です。これは Axiom クエリの入力方法であり、過去のオンチェーン データを確実に読み取ることができます。
2 番目の部分は、このデータに対して検証計算を実行できることです。これは、数値の合計、最大値または最小値の検出などの基本的な分析から、より複雑な計算まで始まります。たとえば、暗号化による署名の集約や検証、さらにはチェーン上のソーシャル データに対する特定の評判アルゴリズムの動作の検証や、金融アプリケーションでの特定の機械学習アルゴリズムの使用などのゼロ知識ベースの機械学習です。最終的には、仮想マシンを通じてプログラマブル コンピューティング複合機能を提供します。
最後の部分、読み取りおよび計算ステップの後、結果を取得し、常にその結果を、結果の計算が有効であったことを示すゼロ知識証明と組み合わせます。したがって、この証明をイーサリアム スマート コントラクトで検証し、コントラクトで使用できるように結果を保存します。
Axiom によって返されるすべての結果は実際にゼロ知識証明で検証されるため、これは、Axiom によって返されるすべての結果のセキュリティが暗号的にイーサリアム自体のセキュリティと同等であることを意味します。 Axiom の哲学は、ユーザーがイーサリアムを使用する際にすでに持っている暗号学的前提を超えて、追加の前提をユーザーに課したくないということです。
次に、その実装原理について詳しく紹介します。これには、講演のタイトルにあるリフレクション操作の概念が含まれます。それをすべて可能にする中心原則は、ブロックチェーン上のすべてのブロックに完全な履歴が含まれていることです。現在のイーサリアム ブロックから開始して、関心のある以前のブロックに戻ることができます。過去のブロックと現在のブロックの間のすべてのブロック ヘッダーを取得し、これらのブロック ヘッダーのハッシュ チェーンを検証することによって、過去のブロックから現在のブロックへのコミットメントを実際に逆転させることができます。
では、リフレクションにはどのような利点があるのでしょうか?
現在のイーサリアムのブロックを取得して、関心のある前のブロックに戻ることができます。過去のブロックと現在のブロックの間のブロック ヘッダーを取得した場合、これらのブロック ヘッダー間のハッシュ パスを検証することで、過去のブロックから現在のブロックへのコミットメントを取り消すことができます。その後、過去のブロックからの情報に興味がある場合は、そのブロックのコミットメントに含まれていることの証明を与えることができます。具体的には、これは、情報がブロックの状態トライ、トランザクション トライ、または受信トライに存在することを証明するマークル パトリシア トライである可能性があります。 EVM では、少なくとも原理的には、最近のブロック ハッシュを知ることによってのみ、チェーン上の過去の情報にアクセスできます。
残念ながら、EVM でこれを行うとコストがかかります。先ほど述べたように、すべてのブロック ヘッダーのハッシュ チェーンとマークル証明を検証する必要があり、これには大量のデータに対する多くの Keccak ハッシュ計算が含まれます。したがって、一度過去に戻ると、それは非常に困難になります。したがって、EVM でこの証明を ZK でラップすることにより、リフレクション操作を適用します。したがって、過去のすべてのブロックヘッダーとこれらすべてのマークル証明をオンチェーンに置いて検証するのではなく、一連の過去のブロックヘッダーといくつかの検証の証明があるかどうかをゼロ知識でチェックします。
これには 2 つの利点があります。まず、通話データに証拠データを含める手間が省けます。第 2 に、証明を集約できるようになります。これは ZK を使用せずには考えられません。ここでの考え方は、イーサリアム上で任意の数の計算を検証する場合、ガスコストは固定されるため、単一の ZK 証明を使用して大量の履歴データ アクセスを検証できるということです。
ZK ベースのリフレクション操作コンセプトのトレードオフについて簡単に触れておきます。
データにアクセスするには 2 つの方法があります。 1 つ目は、以前から知っている方法です。スマート コントラクトからイーサリアム上のデータに直接アクセスできます。これには、アクセスが同期的であるという非常に大きな利点があります。したがって、スマート コントラクトの読み取り関数を直接呼び出して、現在の値を取得できます。たとえば、Uniswapで取引する場合、この同時性が必要です。ただし、多くの制限もあります。コンピューティング能力は燃料費によって制限されており、履歴データにはアクセスできません。
第二に、ZK のイーサリアムへの反映機能を利用したい場合、アクセスが正しいという証明を生成する必要があるため、それを同期的に行う方法はありません。したがって、状態を証明する必要があるため、実際には現在のオンチェーン状態に直接アクセスすることはできません。
一方、履歴データに非同期でアクセスできるようにすると、ほぼ無制限の計算を適用して、膨大な量のデータにアクセスできるようになります。したがって、同期の概念を緩和することにより、ZK ベースの Reflection 運用データ アクセスを大幅に拡張できます。
次に、Axiom を介してリフレクション操作を実装する方法を見ていきます。
まず、実際には、スマート コントラクト内の以前のすべてのブロックのキャッシュを維持する必要があります。 EVM では、最後の 256 ブロック ハッシュがネイティブに利用可能です。 1024 ブロックのすべてのバッチで、前のバッチの最後のブロックのハッシュが次のブロックでコミットされることが証明できます。同様に、前のバッチの最後から 2 番目のブロックのハッシュが最後のブロックでコミットされ、以下同様に続きます。したがって、このハッシュ チェーンを逆検証し、知識ゼロでもこのハッシュ チェーンの正当性を証明できます。
これにより、最新のブロックからジェネシス ブロックまでのブロック ハッシュをキャッシュできるようになります。実際、これをメインネットのスマート コントラクトに実装しました。これには、ジェネシス ブロックからの 1024 ブロック ハッシュごとにキャッシュされたマークル パスが含まれています。
私たちが追加するもう 1 つの機能は、マークル山脈です。これは、限られた DNA でイーサリアム内のすべてのブロック ハッシュを参照できるデータ構造であるブロック ハッシュ キャッシュの上に構築されています。
キャッシュを構築したら、キャッシュ内のブロックを検証することで Axiom をクエリできます。これが機能するためには、アクセスしようとしているイーサリアム履歴内のすべてのデータが、実際に何らかのブロックのキャッシュ内に存在することを証明する必要があります。次に、このクエリに対して実行するすべての計算が正しいことを証明する必要があります。これをオンチェーンで確認するために、ゼロ知識証明の有効性を検証します。また、それがオンチェーンに記録した情報と相関していることも確認します。私たちは常にキャッシュまたはブロック キャッシュの信頼を構築し、それらのブロック キャッシュ内の情報をゼロ知識証明の公開情報と照合します。
ここで、想定されているリフレクション操作の可能なアプリケーションについて話しましょう。
横軸はデータの複雑度、つまりアプリケーションを実装するために実際にアクセスする必要があるデータの量を表します。縦軸は計算の複雑さを表し、タスクを完了するために実際にどれだけの計算リソースを適用する必要があるかを表します。
したがって、最初のタイプのアプリケーションは、Axiom または任意のタイプの Reflection 操作メカニズムをイーサリアム上に実装できるアプリケーションですが、コストは若干高くなります。
この例としては、イーサリアムコンセンサスレイヤーのブロックヘッダーからコンセンサスグレードのナンスの読み取り、過去のアカウント年齢の検証、過去の価格情報からのさまざまな種類のオラクルデータの読み取りなどが挙げられます。 EVM では、これらのアプリケーションを実装するためにさまざまなソリューションを使用できますが、これらのソリューションを知識ゼロに配置することで、効率を高めることができます。
現在、一般的により多くのデータ アクセス、つまりより多くの計算を必要とする別のクラスのアプリケーションがあります。私の意見では、これらのアプリケーションは ZK コプロセッサを使用せずには実現できませんでした。
一例として、興味深いアプリケーションは、イーサリアム上のロールアップがゼロ知識を使用して信頼できる方法でベース レイヤまたは別のロールアップの状態を読み取れるようにすることです。そのようなアプリケーションの 1 つは、ロールアップが ERC20 トークンの全残高スナップショットを読み取れるようにすることです。
ストレージからアカウントのトランザクション履歴に注目すると、イーサリアム アドレスの完全な履歴を記録することで、信頼できる評判、アイデンティティ、または信用スコアリング システムを構築することが想像できます。これは、信用スコアリングに使用したり、ある種のオンチェーン DAO へのアクセスを提供したり、カスタム NFT を発行するためのアクセスを提供したりするために使用される可能性があります。
実際にプロトコルを管理するためにオンチェーンの履歴データを使用するアプリケーションのクラスもあります。一般的には協定会計と呼ばれます。
ここでの考え方は、プロトコルは参加者の行動を調整するために存在し、調整の基本原則は参加者の行動に対して報酬を与えたり罰したりできるということです。イーサリアム上の多くのプロトコルを見ると、参加者の行動の記録は実際には完全にオンチェーンに保存されています。したがって、Axiom を使用すると、プロトコル参加者の一連のアクションに基づいて、プロトコルが支払い構造を決定したり、参加者に何らかのペナルティを課すことさえできると想像できます。これにより、プロトコルの設計領域を実際に拡張できると考えられます。アプリケーション。
最後に、実際に計算のレベルを上げた場合、機械学習モデルを使用してオンチェーンのパラメーターを調整することは非常に興味深いかもしれないと考えています。従来の金融アプリケーションについて考えると、価格データや経済データなどの大量の履歴データに基づいて複雑な将来パラメータをモデル化することが非常に一般的です。そして現在のDeFiを見ると、そのレベルには程遠いです。 DeFi が従来の金融とまったく同じように機能するべきだとは思いませんが、いくつかの過去のデータベースや機械学習ベースのモデルと情報を注入することで、より動的な DeFi プロトコルを作成するのに役立つ可能性があると考えています。
これらは、リフレクション操作がブロックチェーンにもたらすことができるアイデアのほんの一部です。