ETH 全体ネットワークは、1 つの単純なコンピュータと見なすことができます。このコンピュータは、複数のコンピュータが同じ仮想マシンで実行されることによって構成されています。共識メカニズムによって、複数のコンピュータの状態が一致することが保証されるため、パフォーマンスは比較的低くなります。これはシングルチェーンであり、シングルチェーンは共識を最適化し、共識ノードを減らすことで TPS のパフォーマンスを向上させることができます。シングルチェーン内のすべてのネイティブアプリケーションは、共識ノードの計算リソースを競い合う必要があり、シングルチェーンのネイティブアプリケーションの TPS < シングルチェーン自体の TPS です。
Starknet も 1 つのコンピュータと見なすことができます。このコンピュータは、1 つのコンピュータで仮想マシン(zkVM)を実行することができます。数学的な証明によって、このコンピュータが不正行為を行っていないことが保証され、共識によるパフォーマンスの低下が排除されます。zkVM の理論上の TPS はシングルチェーンよりも高くなりますが、同様に、Zkrollup 内のネイティブアプリケーションの TPS < zkVM 自体の TPS です。
考える?#
Web3 のアプリケーションとして、Web3 アプリケーションが必要とする計算リソースは 1 つのコンピュータに依存する必要があるのでしょうか?
現在の Web2 のインターネットでは、1 つのコンピュータ内に多くのアプリケーションがあります。これらのアプリケーションは 2 つのカテゴリに分けられます。第一のカテゴリは、電卓や図形描画などのようなもので、すべての計算リソースはコンピュータ自体のリソースを消費します。第二のカテゴリは、QQ や WeChat、オンラインゲームなどのプラットフォームアプリケーションのようなもので、これらのプラットフォームアプリケーションの消費する計算リソースの大部分は、現在のコンピュータ自体が提供するものではなく、アプリケーションプロバイダ自体(またはクラウドサービスプロバイダ)が提供します。プラットフォームアプリケーションの計算能力は、このコンピュータの計算能力を超えることができます。
Web3 のアプリケーションも同様です。zkVM(Starknet)内部にも多くのアプリケーションが存在する可能性がありますが、これらは 2 つのカテゴリに分けられます。第一のカテゴリは、スマートコントラクトに基づいて開発されたもので、UNI や AAVE などのものです。すべての計算リソースは zkVM 自体を消費します。第二のカテゴリはカスタマイズされたアプリケーションであり、L3 の starkex のようなものです(ユーザーは starkex と同様のカスタマイズアプリケーションを開発し、バリデータを共有することができます)。これらのアプリケーションが必要とする計算リソースの大部分は、zkVM のコンピュータに依存しないものです。アプリケーションプロバイダ自体(またはゼロ知識マイナー)が提供し、アプリケーションプロバイダは zkVM 上でゼロ知識証明を行うだけであり、非常に少量のリソースしか消費しません。第二のカテゴリのアプリケーションの TPS は zkVM 自体の TPS を超えることができます。
Cairo プログラミング言語は、第一のカテゴリのアプリケーション(Starknet スマートコントラクト、証明生成)および第二のカテゴリのアプリケーション(証明可能なプログラムの記述)の開発に使用することができます。
第二のカテゴリのアプリケーションはカスタマイズされた機能であり、計算量が少なく、証明生成に必要な時間が短くなり、TPS が高くなり、拡張性も持っています。これは、Web3 の将来のアプリケーションの方向性として非常に有望です。