ポリゴン ミデン トランザクション モデル: アクター モード + ZKP => 並列処理 + プライバシー

1 はじめに

序文ブログ:

ポリゴンミデンは次のとおりです。

  • ZK に最適化されたロールアップ
  • クライアントが作成した証拠
  • Polygon ZK シリーズ ソリューションを改善し、ネットワーク バリュー レイヤーを目指す
  • イーサリアム機能セットの拡張

この記事では、ポリゴン ミデンのいくつかの中心的な概念に焦点を当てます。

  • アカウントアカウント
  • ノート
  • トランザクショントランザクション

ポリゴンミデンでは:

  • 紙幣と口座の両方が資産を保持します。
  • トランザクションによりアカウントのステータスが変化します。
  • 通常、トランザクションは 1 つのアカウントといくつかのメモを入力として受け取り、出力は同じアカウントの新しい状態とその他のメモです。
  • Polygon Miden のトランザクションはイーサリアムのトランザクションとは異なるため、Polygon Miden はイーサリアムの機能セットを拡張すると言われています。

2. アカウントのストレージ資産とコード

Polygon Miden のアカウント:

  • 保有資産
  • 資産譲渡のルールを定義する

これはイーサリアム アカウントに似ていますが、いくつかの違いもあります。
ここに画像の説明を挿入します

  • 1) Polygon Miden のすべてのアカウントにはコードがありますが、Ethereum の EOA アカウントにはコードがありません。これは、Polygon Miden のすべてのアカウントがスマート コントラクト、つまりアカウントの抽象化であることを意味します。その結果、ユーザー エクスペリエンスが向上し、ウォレットがより安全になります。
    • キーを定期的にローテーションできる
    • レート制限を行う
    • 社会復帰など
  • 2) ETH 残高のみが Ethereum アカウントにローカルに保存されます。これは、ETH 残高情報のみがアカウントのデータ構造に保存されることを意味します。
    Polygon Miden では、すべてのアセットがローカルのアカウントに保存され、プライバシーとスケーラビリティが提供されます。
    • プライバシーの提供: 前述したように、Polygon Miden のユーザーは自分のアカウント データを非公開で維持できます。特定のアカウントが保持するアセットまたはコード情報は、他の人には表示されない場合があります。
    • スケーラビリティを提供するということは、資産をアカウントにローカルに保存し、どのトークン トランザクションも 1 つのアカウントのみにアクセスできるようにすることで、同時実行性をサポートすることを意味します。
      イーサリアムの ERC20 トークンはスマート コントラクトであり、コントラクト トークンを所有する一連のアカウントとその残高リストが保存されます。ERC20 トークンの所有者は、トークンを転送するにはコントラクトを変更する必要があります。
      Polygon Miden では、トークンは公開リストに保存されません。
  • 3) Polygon Miden のアカウント ID はわずか 8 バイトですが、イーサリアムのアカウント アドレスは最大 20 バイトです。短い文字の方が覚えやすいです。各アカウントにはコードがあり、複数の認証方法をサポートしているため、アカウント ID をその公開キーにバインドする必要はありません。

3. Notes を介してアカウント間で通信する

分散システムのアクター パターンと同様に、同時状態変更を実現するには次のようにします。

  • アクターは小さなステート マシンに似ており、各アクターは独自の状態を担当します。
  • アクターには、他のアクターと通信するためのメッセージを送受信するための受信ボックスがあります。
  • メッセージは非同期的に読み取ることができます。
  • アクターはメッセージを読み取った後、その状態を変更できます。

Polygon Miden のメモは上記のメッセージと似ています。
Polygon Miden では、アカウントはメモを生成したり消費したりすることで通信します。

  • メモには、アカウント間で送信される資産情報が含まれます。
    1 つのメモには次の内容が含まれます。
    • 資産
    • script: メモをどのように利用できるかを定義します。その結果、資産の移転をサポートするだけでなく、より複雑な機能もサポートします。

ノートの概念は、アカウント モデルに基づくイーサリアムと、UTXO とアカウントの混合状態モデルに基づくポリゴン ミデンの主な違いです。

  • イーサリアムの場合: アカウント A がアカウント B に 5 ドルを送金します: [ウォレット間の現金取引と同様]
    • アカウント A は、財布から直接 5 米ドルの現金を取り出します。
    • 次に、その 5 ドルをアカウント B のウォレットに直接入れます。
  • Polygon Miden の場合: アカウント A からアカウント B に $5 を送金します: [ウォレット間の請求書 (または紙幣) トランザクションと同様]
    • アカウント A は、財布から 5 ドル紙幣を取り出して鍵箱に入れ、フォローアップを無視します (つまり、アカウント A にはそのお金を B の財布に入れる責任がありません)。アカウント A の財布残高は 5 ドルだけ不足しています。
    • アカウント B が請求書を回収したい場合は、ロックボックスの組み合わせを知っている必要があり、それがわかっていれば、5 ドルをアカウント B のウォレットに入れることができます。
    • 「紙幣を鍵箱に入れる」という行為と「鍵箱から紙幣を取り出す」という行為は異なる。

4. トランザクション: メモの生成と消費

Polygon Miden では、アカウントがメモを生成または消費することをトランザクションと呼びます。

Polygon Miden のトランザクションは常に 1 つのアカウントに基づいて実行され、その 1 つのアカウントのステータスの変更のみが発生します。つまり、
ここに画像の説明を挿入します
2 つのアカウント間でアセットを送信する場合、2 つのトランザクションが必要です。

  • メモの作成に 1 つのトランザクションが使用されます
  • 送信側アカウントによって作成されたメモを消費するには、別のトランザクションが使用されます。
    ここに画像の説明を挿入します
    上記の例を引き続き例として取り上げます。
  • アカウント A は 5 ドル紙幣をロックボックスに入れます。これがアカウント A の状態遷移であり、最初のトランザクションです。
  • アカウント B がロックボックスから 5 ドル紙幣を取り出す、これはアカウント B の状態遷移と別のトランザクションです。
    • アカウント B は、複数のロックボックスを同時に開けて、1 回の取引ですべての請求書を「使用」することもできます。

この取引モデルでは、次のような魅力的なことがいくつかあります。

  • 1) トランザクションには 1 つのアカウントのみが関与するため、トランザクションはローカルで実行および証明できます。これによりプライバシーが確保され、複数のネットワーク参加者による再実行が不要になるため、複雑な計算のコストが削減されます。
  • 2) メモが別のアカウントによって使用される前に、メモの作成者はメモを更新できます。ノートの更新は、ノート スクリプトのハッシュ部分を公開することで完了できます。
    たとえば、メモ スクリプトは次のようになります。「これらの 5 ETH を消費し、Bob 10 MATIC または 0x213 を送信します...」。その後、誰もこのメモを消費しない場合、その作成者は「0x213 = この 5 ETH を消費し、Bob 9 MATIC を送信する」と開示することができます。これは、ロックが更新できることを示すために使用されます。たとえば、マーケット メーカーはオンチェーン注文を短期間で無料で更新できます。
  • 3) メモが間違ったアドレスに送信された場合、作成者はメモを取り消すことができます。イーサリアムやビットコインの間違ったアドレスに誤って何かを送信してしまうユーザーのことを考えてみましょう。Polygon Miden では、特定のトランザクションの作成者は、メモがまだ消費されていない場合にメモを呼び出すことができるように設定できます。

5. パブリック共有状態を含むトランザクション

Polygon Miden アカウントは、トランザクションは自身の状態のみを変更するため、トランザクションをローカルで実行して証明できます。

しかし、取引に公的地位が関わる場合はどうなるでしょうか?
Uniswap のような契約 (単なる別の単純なアカウント) を使用し、いくつかのメモを生成した後に変更されることを想像してください。また、この変更は他のすべてのユーザーの取引レートに影響を与えるため、他のすべてのユーザーに表示される必要があります。

基本的に、ステータスを公開する必要があるアカウントは、ローカルでトランザクションを実行して証明することはできません。
これらのネットワーク トランザクションは、Polygon Miden オペレーターによって実行および検証される必要があります。この場合、ポリゴン ミデンは他のすべての ZK ロールアップと同様に機能し、専用の証明者が有効な状態遷移の証明を作成します。

2 つのアカウントが Uniswap のようなコントラクトを使用してトークンを交換する方法のアーキテクチャを以下に示します。これは、左から右に個別の段階に分類できます。
ここに画像の説明を挿入します

  • 1) トークンスワップ開始フェーズ:
    • Acct1 と Acct2 は Uniswap のような契約で取引したいと考えています
    • Tx1 は Note1 を作成し、Acct1 によってローカルで実行できます。
    • Tx2 は Note2 を作成し、Acct2 によってローカルで実行できます。
  • 2) ユニスワップ実行ステージ:
    • Tx3 では、Uniswap は Note1 と Note2 (およびその受信トレイにある他のすべてのノート) を消費し、同じトランザクションで Note3 と Note4 を作成します。
    • Uniswap の状態は公開する必要があるため、この状態変更は Polygon Miden オペレータによって実行されます。
  • 3) トークンスワップの最終段階:
    • Acct1 と Acct2 は交換されたトークンを取り戻すようになりました
    • Tx4 は Note3 を消費し、再び Acct1 によってローカルで実行できるようになります
    • Tx5 は Note4 を消費し、再び Acct2 によってローカルで実行できるようになります

参考文献

[1] Polygon Labs の 2023 年 4 月のブログPolygon Miden: トランザクション モデル

ミデンシリーズブログ

おすすめ

転載: blog.csdn.net/mutourend/article/details/133413425