Dragonfly Capital:ブロックチェーンのパフォーマンスをどのように測定するか?

コレクション
イーサリアムはスマートコントラクトオペレーティングシステムのMS-DOSです。しかし、現在のブロックチェーン時代は私たちをWindows 95時代に導いています。

原作者:GM と Haseeb Qureshi、Dragonfly Capital

原标题:《The AMM Test: A No BS Look at L1 Performance

編纂:DeFiの道

マルチチェーンは今や現実となっています。イーサリアムのスケーラビリティの欠如は、新世代のL1への大規模な移行を引き起こしました。これらのL1のほとんどはEVM(イーサリアム仮想マシン)を使用しており、これによりイーサリアムのウォレットや開発ツールと互換性があります。

しかし、ソラナはゼロから完全にスタックを再構築しました。ソラナは、既存の中で最も速いブロックチェーンであると主張しています。そこで、疑問が生じます:ソラナはEVMチェーンよりどれだけ速いのでしょうか?
image

L1ブロックチェーンのTVL成長、画像出典:The Block

まず、パフォーマンスを測定する方法について合意する必要があります。古くから、新しいブロックチェーンは自らのパフォーマンスがイーサリアムよりも優れていると主張してきました。これは古典的な話です。自己報告されたTPS(毎秒取引数)を比較するために、多くの数字や急いで作成されたグラフが見られます。不幸なことに、これらのTPSの数字は通常、彼ら自身のマーケティング資料から来ており、ほとんどが無意味です。

L1自体が発表したほとんどのベンチマークは、単純な価値移転のTPSを測定しています------つまり、コインを一つのアカウントから別のアカウントに移転することです。単純な送金は非常に安価であるため、巨大な数字が生まれ、誰もがその巨大な数字を好みます。しかし、実際にはどのブロックチェーンもそのような転送でボトルネックに直面しておらず、この活動は現実世界の使用パターンを反映していません。

さらに、その多くの数字は、メインネットではなく、開発ネットワークやテストネットワークで生成されています。私たちは、誰かのソフトウェアが抽象的に何ができるかには関心がありません:私たちは現在のメインネット上の可能性に関心があります。

実際、TPSをベンチマークするための統一された方法は存在しません。ベンチマークではこのようなことがよくあります。これは混乱しており、誤解を招くマーケティング、過剰適合/"受験教育"、および不正行為に満ちた領域です。

さて、実際にL1のパフォーマンスを測定するにはどうすればよいのでしょうか?

これは難しい問題です。なぜなら、パフォーマンスには複数の次元があるからです。

まず、パフォーマンスは常に分散化に対する妥協です。メインネット環境と比較して、高度に中央集権化されたテストネットや開発ネットは、信じられない数字を生成することができます。多くのメインネットは分散化の面で手を抜いており、これが追加のパフォーマンスを圧迫しています。

しかし、分散化を無視し、パフォーマンスにのみ焦点を当てると仮定しましょう。さて、ブロックチェーンのパフォーマンスをベンチマークすることが非常に難しいことは周知の事実です。なぜなら、ほとんどの新しいチェーンのデータの可視性は非常に低いからです。

イーサリアムのパフォーマンスは7年間にわたり高度に研究され、よく理解されています。しかし、より新しいチェーンを探求し始めると、それらのほとんどのツールははるかに少なく、可観測性が低く、進化し続けています。この記事を読んでいる時点で、これらのベンチマークはすでに古くなっているかもしれません。

さらに、ベンチマークは常に恣意的であり、罠に満ちています。あなたができる最善のことは、価値のあるものを測定するベンチマークを選び、結果をできるだけ注意深く特定することです。これが、私たちがここで試みようとしていることです。

しかし、私たちが言うパフォーマンスとは何を意味するのでしょうか?パフォーマンスには2つの側面があります:スループットとレイテンシです。

ブロックチェーンのパフォーマンスを、パイプを流れる水のように視覚化できます。取引は水です------大量の取引が同時にパイプを流れることを望みます。しかし、パイプの長さがレイテンシを決定します------もし取引が確認されるのに長い時間がかかるなら、多くの取引が一度に確認されることができても、それは理想的ではありません。
image

レイテンシは、ブロック時間(ブロック間隔の時間)と最終確定時間(ブロックがロールバックされないことが確定する時間)に分けることができます。ブロック生成時間と完了時間は簡単に測定できます。

しかし、スループットを実際に測定するには、標準的な測定単位が必要です。スループットとは何でしょうか?

私たちはトークン移転を使用するのではなく、イーサリアム上で最もガスを消費する製品の1つであるUniswap V2を見て、それを非常にシンプルなベンチマークにしました。もしあなたがUniswap V2スタイルの取引でブロックを満たした場合、毎秒何件の取引が清算できるでしょうか?
image

私たちがこのベンチマークを選んだ理由は、1)シンプルで測定が容易であること、2)すべてのブロックチェーンには生産中のUniswap V2スタイルのAMMがあること、3)それが一般的なスマートコントラクトの使用パターンの典型であることです。

ガスモデルを持つほとんどのブロックチェーンにとって、この粗い練習は簡単であるはずです。まず、ブロックのガス制限とブロック生成時間を見つけ、チェーンのガス/secスループットを導き出します。次に、Uniswap V2スタイルのAMMを見つけ、SwapETHforTokensの等価取引を選択します。最後に、最初の数字を2番目の数字で割り、そのAMM取引でブロックが満たされた場合に達成されるtx/secを得ます。

注意:これは完璧なベンチマークではありません!これは特別であり、並行取引を考慮していません(Uniswapの同じプールでの取引は線形化される必要があります)し、すべての使用パターンを代表することはできません。しかし、スマートコントラクトの使用は常に冪乗分布であり、最も一般的なDappsはAMMであるため、一連のベンチマークの中で、これがパフォーマンスを包括的に理解するのに役立つと考えています。

それでは、さっそくリストを見ていきましょう。
image

Uniswap v2 毎秒取引数:平均9.19、最大18.38(EIP-1559による)

平均ブロック時間:13.2秒(PoW、したがってブロックはポアソン過程でランダムに掘られます)

最終確定時間:66秒(約、ETHブロックは実際の最終確定ではありません)

仮定と方法:1500万ガス目標の下で、イーサリアムはEIP-1559でバランスを取ると、毎秒9.19回の取引を行うことができます;3000万のガス制限の下では、毎秒18.38回の取引を実現できます(ただし、ここに留まると手数料が倍増します)。このswapExactETHForTokens取引を代表的なチェーン上の1回の取引として使用します。ブロック生成者がUniswap取引で1500万ガス制限のブロックを完璧に満たすことができると仮定すると、各取引は123,658ガスを消費し、したがって15M/123,658 = ~121.3の交換を1つのブロックに入れることができます。ブロックが13.2秒ごとに到達すると仮定すると、イーサリアムは毎秒121.3/13.2s = ~9.19 Uniswap v2 swapを処理します。

リスト内の他のEVMチェーンにも同様の計算を使用します。

(注意:すべてのスマートコントラクトL1がRollupを追加できるため、この方法のRollupは無視します。)
image

Ubeswap 毎秒取引数:平均24.93、最大49.86(EIP-1559による)

平均ブロック時間:5秒

最終確定時間:5秒(CeloはPBFTスタイルのプロトコルを使用しており、ブロックを即座に完了させます)

仮定:このswap取引は代表取引、1000万ガス目標、2000万ガス制限です。
image

Quickswap 毎秒取引数:平均47.67、最大95.33(EIP-1559による)

平均ブロック時間:2.5秒

最終確定時間:Polygonには2つの最終性の概念があります。

  1. 確率:これは、最も多くの作業が完了したことに依存するイーサリアムスタイルのブロックチェーンのほとんどに似ています(最も重いチェーン)。Polygonの場合、Bor層(つまり、ブロック生成者層)の最終確定性は、難易度の高いフォークに依存します。

  2. 証明可能:これはTendermint/IBFTに似ており、規範チェーン上の絶対多数の署名に依存します。これらのチェックポイントはHeimdall層(Polygonのバリデーター管理および状態同期層)で発生します。これらのチェックポイントはイーサリアムに提出されます。

再編成とフォークはBor層で発生する可能性がありますが、Heimdallでは発生しません。チェックポイントはBorチェーンの状態のスナップショットです。一度ブロックが提出されたチェックポイントに含まれると、それは再編成されることはありません(1/3以上のバリデーターセットが不正でない限り)。チェックポイントは約25分ごとに提出されます。

仮定:このswap取引は代表取引、1500万ガス目標、3000万ガス制限です。
image

Trader Joe 毎秒取引数:平均31.65回ですが、その弾力的なブロック時間により、Avalanche Cチェーンは最大スループットで毎秒175.68回の取引を処理できます。しかし、そのレベルでスループットを維持すると、手数料が倍増します。

平均ブロック時間:平均2秒(Avalancheは弾力的なブロック時間を持つリーダーレスプロトコルです:十分な最低手数料を支払えば、いつでもブロックを生成できます。Avalanche Cチェーンは、1秒以内に10以上のブロックを生成したことがあります。)

最終確定時間:ブロック生成後約1.75秒

仮定:このswap取引は代表取引、現在の800万ガス制限です。

Avalancheは比較が難しいです。なぜなら、そのブロック生成メカニズムはイーサリアムやPoSチェーンとは非常に異なるからです。Avalancheでは、最大スループットで実行される操作と平均スループットで実行される操作の間に大きな違いがあります。(イーサリアムのようにEIP-1559を実装したチェーンの平均スループットは、その平均スループットの2倍です。)
image

PancakeSwap 毎秒取引数:194.60(バイナンススマートチェーンはEIP-1559を使用していないため、これは固定数字です)

平均ブロック時間:3秒

最終確定時間:75秒

仮定:このswap取引は代表取引、8000万ガス制限です。

これでEVMブロックチェーンのベンチマークテストが終了しました------その仮想マシンはイーサリアムをモデルにしたブロックチェーンです。すべてのEVMチェーンが同じガスモデルを使用しているため、ガス/secをスループットのベンチマークと見なすことができます。実線は目標スループットを示し、空線は制限を示します。
image

EVMチェーンのガス/sec

あなたは、EVMを絶対的な限界で運用していると想像できます。この状況はバイナンススマートチェーン(BSC)(現在はBNBチェーンに改名)で発生します。もしあなたがスマートコントラクトからより高いパフォーマンスを得たいのであれば、EVMから完全に離れる必要があります。
image

Orca 毎秒取引数:273.34

ブロック時間:590ミリ秒

最終確定時間:13秒(ソラナはより速い「楽観的確認」をも発行しますが、これらは約4.7%の損傷にしか耐えられません。ほとんどのDappはこの閾値を受け入れています。)

これは私たちがこの数字を計算する方法です。これは不器用な方法です。

私たちはまずソラナの等価の「ガス制限」を見つけようとしました。ブロックブラウザではそのような数字は見つかりません。私たちはまず、知っているソラナの開発者に尋ねましたが、誰もそのような制限が存在するかどうか正確にはわからないようでした。そこで、私たちは袖をまくり、調査に乗り出しました。

私たちはまず、ソラナには計算単位(CU)と呼ばれるガスに似たものがあることを知りました。バリデーターとの対話から、ほとんどの人はソラナの検証は「ブロック時間内にできるだけ多くの取引を詰め込む」ことだと考えているようですが、実際の制限は各ブロックに4800万CUしか含められないということです。

次に、単一のアカウントに書き込むことができるCUの数には制限があります。この制限は、同じアカウントに過剰な取引が書き込まれるのを防ぎ、1つのブロックの並行性を減少させるためのものです------これは、すべての取引が単一のコントラクトを使用するために競争しているような大規模な混雑の期間に発生することです。

各アカウントの制限は1200万です。この1200万アカウントCU制限、メインネットの590ミリ秒のブロック時間、および各Orca swapの74,408 CUコストを考慮すると、理論的な制限は273.34 swap/秒となります。

この数字は予想よりも低いようです!私たちはこの数字を信じるために、経験的にこの方法を検証したいと考えました。

私たちは、ソラナのパフォーマンスを正しく測定したことを確認するために、ソラナに対してスパム攻撃テストを行うことにしました。明らかな理由から、私たちはメインネットにスパムを送信したくなかったので、ソラナの開発ネットをターゲットにしました。

注意してください、ソラナの開発ネットは小規模なクラスターで運営されているため、メインネットよりも速いブロック時間(380ミリ秒対590ミリ秒)を持ち、これがパフォーマンスを向上させます。380ミリ秒のブロック時間を考慮すると、開発ネットでは毎秒424.40回のswapが清算されることを期待すべきです。

私たちは開発ネットでOrca SOL-ORCA取引ペアにスパムを送り、単一のブロック内でどれだけのOrca swapを行えるかを確認し、最大スループットを推測しました。
image

開発ネットのブロック高106784857で、184回のOrca swapを達成しました

私たちが達成した最高の数字は、単一のブロック内で184回のswapでした。ブロック時間が380ミリ秒であると仮定すると、開発ネットでは484.21 swap/秒を実現しました。(ブロック時間は正確ではないため、これらの数字にはいくつかの偏差があります。私たちが最も多くの取引を行った3つのブロックの平均を取ると、毎秒381回のswapのように見え、これはより合理的です。)

これは私たちの分析方法が正しいことを確認するようです(約10-15%の増分)、したがってこれはソラナのメインネットがAMMで約273回のswap/秒を実行できることを意味します。

もちろん、これは一度のテスト実行に過ぎませんので、これは私たちのコードです - 私たちはあなたがそれを使用し、結果を共有することを奨励します。

私たちはここで多くの詳細を隠していますが、これらすべてはBlockdaemonの友人たちの助けがなければ不可能でした。これを実行するために必要な詳細(およびソラナの内部構造についてのより深い理解)を知りたい場合は、私たちが技術的な詳細を紹介する第2部をチェックしてください。

あなたはこれを見て、こう思うかもしれません:でも、私はソラナが通常3000 TPSを実行できると思っていました?

ブロックブラウザがソラナのTPSを測定する方法は誤解を招く可能性があります------それは内部の合意メッセージを取引として扱い、これは他のブロックチェーンにはありません。

ソラナの約80%のスループットは合意メッセージです。これを差し引くと、約600 TPSが残ります。その大部分は非常に安価なSerum取引です。ソラナは、他のコントラクトに十分に接触すれば、実際に生産中により高いパフォーマンスを実現することもできます。
image

AMMテスト:Uniswap v2スタイルのswaps/秒パフォーマンス

では、これらすべての結果は何でしょうか?

まず、これを福音として受け取らないでください。自分で計算してみてください。

次に、これらすべてのブロックチェーンは移動する目標であることを忘れないでください。彼らは絶えず最適化され、技術も急速に進化しており、どんなベンチマークも瞬間的なスナップショットです。私たちは、より多くの独立した組織が標準化されたベンチマークを作成することを期待していますが、これは私たちの最善の試みです。

第三に、これらのブロックチェーン間のパフォーマンスの違いは、宣伝されているほど大きくはありません。イーサリアムと最良のチェーン間のパフォーマンスの違いは約10-25倍であり、100倍や1000倍ではありません。誰も線形化されたVMトランザクションからそのような優れたパフォーマンスを得ることはできません。これにはさらなる作業と最適化が必要です。

第四に、真の高パフォーマンスを望むなら、EVMを放棄しなければなりません。私たちはここでソラナのみをベンチマークしましたが、NEARやTerraなどの他の非EVM L1もより高いパフォーマンスを実現しています。

しかし、ソラナのように、彼らはEVMの周りにあるツールやエコシステムから利益を得ることができません。(NEARはEVM互換のAuroraシャーディングを持っており、他のL1も同様の仮想化EVMインスタンスを開発しようとしています。)

第五に、ユーザーは現在、非イーサリアムL1のパフォーマンスに対してそれほど敏感ではありません。彼らはエコシステムの全体的な強さ、良好なユーザー体験、低手数料にもっと関心があります。これらのブロックチェーンは現在、パフォーマンスで競争していません。なぜなら、実際には容量のために使用されていないからです。稀なピーク期間、例えばIDOや市場崩壊の期間を除いて。

私たちは、すべての主要なL1のパフォーマンスが時間とともに向上することを予想しています。なぜなら、開発チームは典型的な使用パターンのパフォーマンスを調整するためにますます多くの時間を費やすからです。驚くべきことではなく、初期の段階では、これらのブロックチェーンのそれぞれは十分に最適化されていませんでした!

しかし、全体として私の印象は:イーサリアムはスマートコントラクトオペレーティングシステムのMS-DOSです。しかし、現在のブロックチェーン時代は私たちをWindows 95の時代に導いています。
image

MS-DOS(左)からWindows 95(右)へ

次世代のブロックチェーンは顕著な進歩を代表していますが、主流の採用にはまだ長い道のりがあります。

ChainCatcherは、広大な読者の皆様に対し、ブロックチェーンを理性的に見るよう呼びかけ、リスク意識を向上させ、各種仮想トークンの発行や投機に注意することを提唱します。当サイト内の全てのコンテンツは市場情報や関係者の見解であり、何らかの投資助言として扱われるものではありません。万が一不適切な内容が含まれていた場合は「通報」することができます。私たちは迅速に対処いたします。
チェーンキャッチャー イノベーターとともにWeb3の世界を構築する