PREDA — 非同期分解可能な並列EVMs

PREDA (Parallel Relay Execution Distributed Architecture)は、ブロックチェーンの性能とスケーラビリティを向上させるために設計された革新的なモデルです。スマートコントラクト機能の完全並列化を実現し、スマートコントラクトの実行プロセスを複数のステップに分割し、並列処理できるようにします。これらのステップは異なるEthereum Virtual Machine(EVM)インスタンスで非同期に実行されるため、トランザクションの並列性が最大限に活用されます。

想像してください:あなたは忙しいキッチンにいて、シェフたちは次の人がジャガイモを焼き始める前に、前の人が野菜を刻むのを待たなければなりません。 非常に遅くて非効率的ですよね? それが同期的な実行とブロックチェーンでのコンピューティングのようなものです:次のタスクを開始する前に、1つのタスクが完了する必要があります。 ここで、よく調整されたキッチンを想像してください。各シェフが同時に複数の料理の異なる部分に取り組み、材料の準備、調理、盛り付けをすべて同時に行っています。 これが非同期的な実行です-タスクが同時に実行され、より効率的かつ高速なワークフローが作成されます。

ブロックチェーンの進化の分岐点において、同期的な組み合わせ可能性は、Ethereumネットワーク上の断片化されたロールアップレイヤー2を統一する解決策を提供するように思われるため、注目を集めています。このアプローチは、単純なレイヤー2間の転送でもコストがかかり、最大7日間かかるという致命的なUXとDevExに対処します。Vitalikの関与これらの議論は、これらの問題を解決するためには必ずしも普遍的な同期性が必要ではないことを強調しています。私たちは、効果的な翻訳の実行には同期が必要ではなく、同期的なインフラストラクチャを構築および維持するための実際のコストがあるという点に同意します。すべてが同期的または非同期的であるという2つの選択肢ではないと考えています。両方は、アドホックな基準で共存することができ、後者への移行が起こる可能性があります。

1. 非同期分解可能

ブロックチェーン技術の拡張性を追求する中で、個々のスマートコントラクトの並列実行が注目を集めています。従来、各スマートコントラクトのパフォーマンスは、単一の仮想マシン(EVM)の能力によって制約されていましたが、マルチチェーンやレイヤー2システムの登場によってもそれは変わりませんでした。並列仮想マシンは、単一のスマートコントラクトのトランザクションを同時に実行することができるため、改善されたパフォーマンスのためにより多くのCPUコアを活用する有望な解決策となります。

Parallel Relay-Execution Distributed Architecture(PREDA)は、分散型マルチEVMブロックチェーンシステム上の本質的に並列化された一般的なスマートコントラクトのために設計された分散型、関数型、スコープ指向、高レベルのプログラミングモデルです。システムの観点から見ると、PREDAは並列EVMを分解可能かつ非同期にし、コントラクト関数の完全な並列化とトランザクションセットの並行性を最大化します。これにより、すべてのEVMのインスタンスがほぼ最大限に利用され、最適なパフォーマンスとスケーラビリティが実現されます。

詳細に入る前に、この記事でいくつかの重要な用語の意味を最初に明確にしましょう。

Tx1= トランザクション1

Tx2= トランザクション2

我々は、

Tx1の実行には、状態A、状態B、状態Cの変更が必要です

Tx2の実行には、状態A、状態D、状態Eの変更が必要です

Sei、Aptos、およびSuiによって実装されたEVM¹の最新の並列化手法は、すべてのトランザクションのすべてのステップを同期的に実行しようとします。これらのシステムでは、1つのブロックの高さ内でトランザクションが実行されます。散在したデータ依存性(つまり、異なる契約状態の一部にアクセスすること)の性質に関係なく、トランザクションが実行されます。その結果、アクセスされた契約状態のいずれかのステップが2つのトランザクション間で共有されたり更新されたりする場合、それらは読み書きまたは書き込みの競合として識別され、並列に実行することができません。これにより、システムの全体的なスループットと拡張性が阻害されます。この状況は、オンチェーンの活動が突然急増した場合にはさらに悪化します。

PREDAは、上記のシステムとは異なるユニークなアプローチを取っています。PREDAは、スマートコントラクトの実行モデルを採用しており、非同期分解可能性を実現しています。トランザクションのステップは、データアクセスの依存関係に基づいて分解され、ステップを非同期に実行することができます。PREDAの実行モデルにより、より効率的で理論上無限のスケーラビリティが実現されます。PREDAがこれをどのように実現しているかを詳しく掘り下げ、この主張を支持する実験結果を示します。

2. パフォーマンス評価

過去のETHトークン転送トランザクションは、スループットとスケーラビリティの観点からSei(V2)、Aptos、Sui、およびPREDAを評価するために再生されます。なお、私たちの評価は、ランダムなアドレスのペア間で一連の転送トランザクションを作成するのではなく、実際の世界の過去のETHトークン転送トランザクションを使用しています。ランダムなトランザクションは、実世界のケースのパフォーマンスを過剰に上回る実験結果を生み出す可能性があります。実際の世界のトランザクションには、ある意味で関連するアドレスが関与しており、大量のデータ依存関係が存在するためです。

実験セットアップは次のとおりです:

図1の比較は、スループットの大幅な改善を実現するためにPREDAプログラミングモデルの採用の必要性を強調しています。PREDAは、実際の過去の転送トランザクションにおいて、Ethereumネットワーク上でAptosよりも3.3倍〜28.2倍高いTPSを示しています。

これらのシステムは異なる言語(Go、Rust、C++を含む)および異なる仮想マシンで実装されているため、異なるシステムの拡張性を評価するために、単一のEVMを使用する基準に対する相対的なスピードアップに基づいて、異なるシステムの実装の影響を除外します。

図1. Sei、Aptos、Sui、およびPREDAで実行された等価なトークン転送スマートコントラクトの絶対スループット数(TPS)

図 2.Aptos、Sui、Sei、PREDAのベースラインに対する相対的なスピードアップ

3. プログラミングモデル

PREDAに精通している人のために、並列EVMに精通している人のために、現在の並列EVMブロックチェーンシステムには、2つの典型的な並列化メカニズムが存在します¹。

  • Optimistic Parallelizationは、Aptos、Sei(V2)、およびMonadを含み、トランザクション間の状態依存関係を無視し、トランザクションを並行して実行および検証し、競合が発生した場合にはトランザクションを巻き戻して再実行します。
  • Pessimistic Parallelization, including Solana (Sealevel), Sui, and Sei (V1), pre-check state dependencies for every transaction before execution, analyze their state dependencies, and concurrently execute only those transactions without conflict.

両方の方法は共有すべきアーキテクチャに従い、トランザクションを並列制御において全体として扱います。すべてのステップ(例:異なる契約状態へのアクセス)は分解できず、同期的に実行する必要があります。 PREDAモデルでは、@devteam_48518/crystality-the-parallel-evm-model-implementing-shared-nothing-architecture-8d82fc0a836a">Shared-nothing Architectureを実装して、状態の依存関係を破り、異なるEVMインスタンスが決して同じ契約状態の一部にアクセスしないようにし、完全に書き込みの競合を回避します。

PREDAの核心は、プログラマブルな契約スコープを導入し、契約状態を非重複、並列化可能な細かい粒度に分解することです。また、異なるEVM間での実行フロースイッチを記述する非同期機能リレーも導入されています。

これらの概念をより詳しく説明するために、PREDAでは、契約の機能は複数の順序付けられたステップに分解されます。各ステップは、競合しない状態の単一の並列化可能な部分に依存します。ユーザーが開始したトランザクションは、まずユーザーアドレスの状態を決定論的な方法で保持するEVMにリダイレクトされます。たとえば、ユーザーアドレスからEVMへのマッピング方法を使用しています。トランザクションの実行中、実行フローはリレートランザクションを発行することで、目的の契約の状態を保持する別のEVMから別のEVMに切り替えることができます。PREDAは、このようにしてデータを固定しながら、データの依存関係に応じて実行フローをEVMの周りで移動させます。

各EVMでは、ユーザーが開始したトランザクションとリレートランザクションは順次順序付けられて実行されますが、異なるEVM上のトランザクションはデータの依存関係がないため同時に実行されます。このメカニズムにより、楽観的並列化ベースの方法における衝突関連の再実行や、悲観的並列化ベースの手法における実行時の状態依存性解析とロック/アンロックのオーバーヘッドを回避できます。したがって、PREDAはブロックチェーンシステムにおいて、SolidityおよびMoveの両方の順次および共有すべてのアーキテクチャとは異なる、並列かつ共有なしのアーキテクチャを提供します。これにより、重要な並行制御のオーバーヘッドが発生する可能性があります。

4. 言語

PREDAプログラミングモデルをC/C++やJavascriptに似たAlgoライクな言語として実装しました。以下はSolidityとPREDA言語の簡略化されたトークン転送関数です。

図(a)のSolidityコードには、アドレスの残高を表す契約状態(balances)と、指定された数量のトークンをトランザクション送信者(msg.sender)から受信者(payee)に転送するための転送関数があります。

Figure (b)に示すPREDA実装では、キーワード@addressプログラマブル契約のスコープを定義します。契約変数(残高)に属する契約状態は、アドレスによってパーティション分割され、EVMによって散らばって管理されます。キーワードリレーは非同期の機能リレーを識別します。

PREDA実装には3つのパートがあります。パート(1)では、キーワードがあります。@addressユーザーの残高を定義し、細粒度の分離可能な状態記述を提供します。アドレススコープ変数残高は、それぞれのユーザーアドレスにユニークなインスタンスを持ちます。異なるユーザーアドレスのインスタンスは、重複しない異なるEVMによってアクセスおよび維持されます。送金機能は、同じアドレススコープでパート(2)で定義され、ユーザーによって転送トランザクションを初期化する際に支払人のアドレスを対象スコープとして提供して呼び出されます。パート(3)では、成功した引き出し後に受取人への入金を行うために、リレーが開始され、受取人のアドレスが対象スコープとして追加され、受取人の残高インスタンスをホストするEVMによって実行されます。

PREDAにおけるトークン送金トランザクションの実行フロー

上の図は、PREDAの並列EVMシステムでのトークン転送トランザクションの実行フローを示しています。ボブが転送関数を呼び出すトランザクションを開始し、それはボブの残高を保持しているEVMに送られ、引き出しが実行されます。その後、リレートランザクションが発行され、アリスの残高を保持しているEVMに送られ、預金が実行されます。並列化は2つの方法で行われます:

  1. ユーザーイニシエートトランザクション間:アドレスごとにパーティション分割された状態は重複しないため、ユーザーイニシエートトランザクションは競合せずに並行して実行できます。たとえば、支払人の状態をアドレスごとに更新するトークン転送契約では、異なるユーザーイニシエートトランザクションをEVM上で並列化することができます。
  2. リレートランザクションあり:ボブがアリスとキャロルにトークンを転送するシナリオでは、アリスへの入金(ボブからアリスへの送金)のリレートランザクションは、ボブからの引き出し(ボブからキャロルへの送金)およびキャロルへの入金のためのユーザー開始トランザクションと同時に実行できます。PREDAモデルの分解可能性があって初めて、スマートコントラクトに内在する並列化を基盤となるブロックチェーンシステムに公開することができ、ユーザーが開始したトランザクションとリレートランザクションをパイプライン方式で処理し、並列実行を容易にすることができます。

次なる未来へ

PREDAは、ブロックチェーンのパフォーマンスおよびさらなる拡張性の大幅な進化を実現します。非同期分解を実装することで、従来の同期並行モデルのボトルネックなしに効率的なトランザクション処理を可能にします。この手法により、データ依存関係に応じてトランザクションをミクロトランザクションに分解し、並行した状態変更を許可し、書き込みの競合を完全に回避します。

PREDAの汎用性は、単なる利用に留まらず、@addressアドレスごとに契約状態をパーティション分割するためのものです。"gate"のようなキーワードを使用して、カスタマイズ可能なパーティションタイプを設定することができます。@type、型はSolidityの基本型名(例:)である場合があります。@uint. Additionally, PREDAは、アンパーティション化された契約状態をサポートしています。@global、それにより、すべてのEVMがそのような状態の一貫した値を維持することを保証します。この状態の分割の柔軟性により、モデルの適応性と効果が多様なスマートコントラクト全体で向上します。

私たちの実験は、PREDAが他の並列化方法を大幅に上回り、より高いスループットとスケーラビリティを実現していることを実証しています。PREDAチームの今後の記事では、さらに詳しく私たちの調査結果に踏み込み、さまざまな種類のスマートコントラクトとPREDAプログラミングモデルおよび言語の詳細な比較を提供します。これらの詳細な探求にご期待ください。

免責事項:

  1. この記事は[からの転載です。Medium]. The copyright belongs to the original author, [PREDA Parallel VMs]. If you have any objections regarding this repost, please contact thegate Learn Team. チームは関連手続きに従って迅速にお客様の懸念事項に対処いたします。
  2. 免責事項: この記事に表明された見解や意見は著者個人のものであり、投資アドバイスを構成するものではありません。
  3. gate Learnチームは、その記事を他の言語に翻訳しました。許可がない限り、翻訳された記事のコピー、配布、または盗用は禁止されています。

PREDA — 非同期分解可能な並列EVMs

中級1/8/2025, 11:14:01 AM
PREDA (Parallel Relay Execution Distributed Architecture)は、ブロックチェーンの性能とスケーラビリティを向上させるために設計された革新的なモデルです。スマートコントラクト機能の完全並列化を実現し、スマートコントラクトの実行プロセスを複数のステップに分割し、並列処理できるようにします。これらのステップは異なるEthereum Virtual Machine(EVM)インスタンスで非同期に実行されるため、トランザクションの並列性が最大限に活用されます。

想像してください:あなたは忙しいキッチンにいて、シェフたちは次の人がジャガイモを焼き始める前に、前の人が野菜を刻むのを待たなければなりません。 非常に遅くて非効率的ですよね? それが同期的な実行とブロックチェーンでのコンピューティングのようなものです:次のタスクを開始する前に、1つのタスクが完了する必要があります。 ここで、よく調整されたキッチンを想像してください。各シェフが同時に複数の料理の異なる部分に取り組み、材料の準備、調理、盛り付けをすべて同時に行っています。 これが非同期的な実行です-タスクが同時に実行され、より効率的かつ高速なワークフローが作成されます。

ブロックチェーンの進化の分岐点において、同期的な組み合わせ可能性は、Ethereumネットワーク上の断片化されたロールアップレイヤー2を統一する解決策を提供するように思われるため、注目を集めています。このアプローチは、単純なレイヤー2間の転送でもコストがかかり、最大7日間かかるという致命的なUXとDevExに対処します。Vitalikの関与これらの議論は、これらの問題を解決するためには必ずしも普遍的な同期性が必要ではないことを強調しています。私たちは、効果的な翻訳の実行には同期が必要ではなく、同期的なインフラストラクチャを構築および維持するための実際のコストがあるという点に同意します。すべてが同期的または非同期的であるという2つの選択肢ではないと考えています。両方は、アドホックな基準で共存することができ、後者への移行が起こる可能性があります。

1. 非同期分解可能

ブロックチェーン技術の拡張性を追求する中で、個々のスマートコントラクトの並列実行が注目を集めています。従来、各スマートコントラクトのパフォーマンスは、単一の仮想マシン(EVM)の能力によって制約されていましたが、マルチチェーンやレイヤー2システムの登場によってもそれは変わりませんでした。並列仮想マシンは、単一のスマートコントラクトのトランザクションを同時に実行することができるため、改善されたパフォーマンスのためにより多くのCPUコアを活用する有望な解決策となります。

Parallel Relay-Execution Distributed Architecture(PREDA)は、分散型マルチEVMブロックチェーンシステム上の本質的に並列化された一般的なスマートコントラクトのために設計された分散型、関数型、スコープ指向、高レベルのプログラミングモデルです。システムの観点から見ると、PREDAは並列EVMを分解可能かつ非同期にし、コントラクト関数の完全な並列化とトランザクションセットの並行性を最大化します。これにより、すべてのEVMのインスタンスがほぼ最大限に利用され、最適なパフォーマンスとスケーラビリティが実現されます。

詳細に入る前に、この記事でいくつかの重要な用語の意味を最初に明確にしましょう。

Tx1= トランザクション1

Tx2= トランザクション2

我々は、

Tx1の実行には、状態A、状態B、状態Cの変更が必要です

Tx2の実行には、状態A、状態D、状態Eの変更が必要です

Sei、Aptos、およびSuiによって実装されたEVM¹の最新の並列化手法は、すべてのトランザクションのすべてのステップを同期的に実行しようとします。これらのシステムでは、1つのブロックの高さ内でトランザクションが実行されます。散在したデータ依存性(つまり、異なる契約状態の一部にアクセスすること)の性質に関係なく、トランザクションが実行されます。その結果、アクセスされた契約状態のいずれかのステップが2つのトランザクション間で共有されたり更新されたりする場合、それらは読み書きまたは書き込みの競合として識別され、並列に実行することができません。これにより、システムの全体的なスループットと拡張性が阻害されます。この状況は、オンチェーンの活動が突然急増した場合にはさらに悪化します。

PREDAは、上記のシステムとは異なるユニークなアプローチを取っています。PREDAは、スマートコントラクトの実行モデルを採用しており、非同期分解可能性を実現しています。トランザクションのステップは、データアクセスの依存関係に基づいて分解され、ステップを非同期に実行することができます。PREDAの実行モデルにより、より効率的で理論上無限のスケーラビリティが実現されます。PREDAがこれをどのように実現しているかを詳しく掘り下げ、この主張を支持する実験結果を示します。

2. パフォーマンス評価

過去のETHトークン転送トランザクションは、スループットとスケーラビリティの観点からSei(V2)、Aptos、Sui、およびPREDAを評価するために再生されます。なお、私たちの評価は、ランダムなアドレスのペア間で一連の転送トランザクションを作成するのではなく、実際の世界の過去のETHトークン転送トランザクションを使用しています。ランダムなトランザクションは、実世界のケースのパフォーマンスを過剰に上回る実験結果を生み出す可能性があります。実際の世界のトランザクションには、ある意味で関連するアドレスが関与しており、大量のデータ依存関係が存在するためです。

実験セットアップは次のとおりです:

図1の比較は、スループットの大幅な改善を実現するためにPREDAプログラミングモデルの採用の必要性を強調しています。PREDAは、実際の過去の転送トランザクションにおいて、Ethereumネットワーク上でAptosよりも3.3倍〜28.2倍高いTPSを示しています。

これらのシステムは異なる言語(Go、Rust、C++を含む)および異なる仮想マシンで実装されているため、異なるシステムの拡張性を評価するために、単一のEVMを使用する基準に対する相対的なスピードアップに基づいて、異なるシステムの実装の影響を除外します。

図1. Sei、Aptos、Sui、およびPREDAで実行された等価なトークン転送スマートコントラクトの絶対スループット数(TPS)

図 2.Aptos、Sui、Sei、PREDAのベースラインに対する相対的なスピードアップ

3. プログラミングモデル

PREDAに精通している人のために、並列EVMに精通している人のために、現在の並列EVMブロックチェーンシステムには、2つの典型的な並列化メカニズムが存在します¹。

  • Optimistic Parallelizationは、Aptos、Sei(V2)、およびMonadを含み、トランザクション間の状態依存関係を無視し、トランザクションを並行して実行および検証し、競合が発生した場合にはトランザクションを巻き戻して再実行します。
  • Pessimistic Parallelization, including Solana (Sealevel), Sui, and Sei (V1), pre-check state dependencies for every transaction before execution, analyze their state dependencies, and concurrently execute only those transactions without conflict.

両方の方法は共有すべきアーキテクチャに従い、トランザクションを並列制御において全体として扱います。すべてのステップ(例:異なる契約状態へのアクセス)は分解できず、同期的に実行する必要があります。 PREDAモデルでは、@devteam_48518/crystality-the-parallel-evm-model-implementing-shared-nothing-architecture-8d82fc0a836a">Shared-nothing Architectureを実装して、状態の依存関係を破り、異なるEVMインスタンスが決して同じ契約状態の一部にアクセスしないようにし、完全に書き込みの競合を回避します。

PREDAの核心は、プログラマブルな契約スコープを導入し、契約状態を非重複、並列化可能な細かい粒度に分解することです。また、異なるEVM間での実行フロースイッチを記述する非同期機能リレーも導入されています。

これらの概念をより詳しく説明するために、PREDAでは、契約の機能は複数の順序付けられたステップに分解されます。各ステップは、競合しない状態の単一の並列化可能な部分に依存します。ユーザーが開始したトランザクションは、まずユーザーアドレスの状態を決定論的な方法で保持するEVMにリダイレクトされます。たとえば、ユーザーアドレスからEVMへのマッピング方法を使用しています。トランザクションの実行中、実行フローはリレートランザクションを発行することで、目的の契約の状態を保持する別のEVMから別のEVMに切り替えることができます。PREDAは、このようにしてデータを固定しながら、データの依存関係に応じて実行フローをEVMの周りで移動させます。

各EVMでは、ユーザーが開始したトランザクションとリレートランザクションは順次順序付けられて実行されますが、異なるEVM上のトランザクションはデータの依存関係がないため同時に実行されます。このメカニズムにより、楽観的並列化ベースの方法における衝突関連の再実行や、悲観的並列化ベースの手法における実行時の状態依存性解析とロック/アンロックのオーバーヘッドを回避できます。したがって、PREDAはブロックチェーンシステムにおいて、SolidityおよびMoveの両方の順次および共有すべてのアーキテクチャとは異なる、並列かつ共有なしのアーキテクチャを提供します。これにより、重要な並行制御のオーバーヘッドが発生する可能性があります。

4. 言語

PREDAプログラミングモデルをC/C++やJavascriptに似たAlgoライクな言語として実装しました。以下はSolidityとPREDA言語の簡略化されたトークン転送関数です。

図(a)のSolidityコードには、アドレスの残高を表す契約状態(balances)と、指定された数量のトークンをトランザクション送信者(msg.sender)から受信者(payee)に転送するための転送関数があります。

Figure (b)に示すPREDA実装では、キーワード@addressプログラマブル契約のスコープを定義します。契約変数(残高)に属する契約状態は、アドレスによってパーティション分割され、EVMによって散らばって管理されます。キーワードリレーは非同期の機能リレーを識別します。

PREDA実装には3つのパートがあります。パート(1)では、キーワードがあります。@addressユーザーの残高を定義し、細粒度の分離可能な状態記述を提供します。アドレススコープ変数残高は、それぞれのユーザーアドレスにユニークなインスタンスを持ちます。異なるユーザーアドレスのインスタンスは、重複しない異なるEVMによってアクセスおよび維持されます。送金機能は、同じアドレススコープでパート(2)で定義され、ユーザーによって転送トランザクションを初期化する際に支払人のアドレスを対象スコープとして提供して呼び出されます。パート(3)では、成功した引き出し後に受取人への入金を行うために、リレーが開始され、受取人のアドレスが対象スコープとして追加され、受取人の残高インスタンスをホストするEVMによって実行されます。

PREDAにおけるトークン送金トランザクションの実行フロー

上の図は、PREDAの並列EVMシステムでのトークン転送トランザクションの実行フローを示しています。ボブが転送関数を呼び出すトランザクションを開始し、それはボブの残高を保持しているEVMに送られ、引き出しが実行されます。その後、リレートランザクションが発行され、アリスの残高を保持しているEVMに送られ、預金が実行されます。並列化は2つの方法で行われます:

  1. ユーザーイニシエートトランザクション間:アドレスごとにパーティション分割された状態は重複しないため、ユーザーイニシエートトランザクションは競合せずに並行して実行できます。たとえば、支払人の状態をアドレスごとに更新するトークン転送契約では、異なるユーザーイニシエートトランザクションをEVM上で並列化することができます。
  2. リレートランザクションあり:ボブがアリスとキャロルにトークンを転送するシナリオでは、アリスへの入金(ボブからアリスへの送金)のリレートランザクションは、ボブからの引き出し(ボブからキャロルへの送金)およびキャロルへの入金のためのユーザー開始トランザクションと同時に実行できます。PREDAモデルの分解可能性があって初めて、スマートコントラクトに内在する並列化を基盤となるブロックチェーンシステムに公開することができ、ユーザーが開始したトランザクションとリレートランザクションをパイプライン方式で処理し、並列実行を容易にすることができます。

次なる未来へ

PREDAは、ブロックチェーンのパフォーマンスおよびさらなる拡張性の大幅な進化を実現します。非同期分解を実装することで、従来の同期並行モデルのボトルネックなしに効率的なトランザクション処理を可能にします。この手法により、データ依存関係に応じてトランザクションをミクロトランザクションに分解し、並行した状態変更を許可し、書き込みの競合を完全に回避します。

PREDAの汎用性は、単なる利用に留まらず、@addressアドレスごとに契約状態をパーティション分割するためのものです。"gate"のようなキーワードを使用して、カスタマイズ可能なパーティションタイプを設定することができます。@type、型はSolidityの基本型名(例:)である場合があります。@uint. Additionally, PREDAは、アンパーティション化された契約状態をサポートしています。@global、それにより、すべてのEVMがそのような状態の一貫した値を維持することを保証します。この状態の分割の柔軟性により、モデルの適応性と効果が多様なスマートコントラクト全体で向上します。

私たちの実験は、PREDAが他の並列化方法を大幅に上回り、より高いスループットとスケーラビリティを実現していることを実証しています。PREDAチームの今後の記事では、さらに詳しく私たちの調査結果に踏み込み、さまざまな種類のスマートコントラクトとPREDAプログラミングモデルおよび言語の詳細な比較を提供します。これらの詳細な探求にご期待ください。

免責事項:

  1. この記事は[からの転載です。Medium]. The copyright belongs to the original author, [PREDA Parallel VMs]. If you have any objections regarding this repost, please contact thegate Learn Team. チームは関連手続きに従って迅速にお客様の懸念事項に対処いたします。
  2. 免責事項: この記事に表明された見解や意見は著者個人のものであり、投資アドバイスを構成するものではありません。
  3. gate Learnチームは、その記事を他の言語に翻訳しました。許可がない限り、翻訳された記事のコピー、配布、または盗用は禁止されています。
今すぐ始める
登録して、
$100
のボーナスを獲得しよう!