EIP-4844は、The Merge以来のEtherへの最大のアップグレードであり、ウェブ上で十分な注目を集めました。Blob 一時ストレージの導入は、イーサネット列車に側車両を追加することに相当し、列車の本来の運行状態に影響を与えることなく、より安価なデータ可用性を提供します。Optimism、StarkNet、Arbitrumなどのレイヤー2ネットワークは、いずれも短期間でEIP-4844をサポートし、大幅な料金の引き下げを実現しています。次のトランザクションでは、LXDAOの国庫がOptimismの貢献者に支払ったもので、ガス料金の差は100倍です。ガス料金の差はなんと100倍です。
しかし、驚きとともに以下のことがわかりました。StarkNetはZK Rollupの代表として、以前は1ドル以上だったガス消費量を0.01ドルまで下げるという驚くべきコスト削減を達成した。
この技術のより詳しい説明は、MyFirstLayer2.MyFirstLayer2へ。
02 ;なぜスタークネットの料金引き下げは驚くべきことなのか?
OPロールアップとZKロールアップの1層のストレージに対する要求の違い
OPロールアップとZKロールアップでは、1層のストレージに対する要求のレベルが異なります。ZK Rollupは、DA料金(Data Availability:データ可用性、第三者がアクセスしたいデータにアクセスできるように、データを保存し配布するためのサービスからなる)への依存度が異なります。
OPロールアップは、ユーザー署名などの情報を含む最近の取引のすべての詳細をパッケージ化して圧縮し、ネットワークの1つの階層にすべてアップロードします。ティア1ネットワーク上の検証タスクはあまり必要なく、ほとんどすべてのコストはティア1ネットワーク上のストレージスペースを使用する以上のものです。
対照的に、ZK Rollupはデータの圧縮率が高い。たとえば、ユーザーの署名データを破棄し、トランザクションが正当であることを確認するためにゼロ知識証明に依存します。また、トランザクションのすべての詳細をパッケージ化する代わりに、単に状態の変化をパッケージ化してアップロードします。
たとえば、レイヤー2のネットワーク上で、100人のユーザーがUSDC/USDTペアで取引しており、彼らが取引するたびに、ユーザーとUSDCとUSDCの両方のスワップ契約の残高が変更されます。OPロールアップの場合、100回の取引と200口座で400回の残高変更となります。ZKロールアップの場合、ユーザー残高の変更を含む部分の差は大きくありませんが、スワップ契約の場合、USDCとUSDTの残高の合計200回の変更を最終残高の2回の変更に圧縮することができ、データサイズを大幅に削減することができます。
ZKプルーフのZKロールアップ検証のための余分なガス消費
両者の違いについて学んだ後、まず印象的なのは、ZKロールアップのガス料金は、一般的にZKプルーフのそれよりも高いということでしょう。第一印象としては、ZK RollupのGas FeeはOP RollupのGas Feeよりも一般的に低いと思われるかもしれないが、実践したことのある人であれば、StarkNetやZkSyncなどのZK RollupのL2のコストは、OP Rollupのそれよりも大幅に高いことが多いことを知っているはずである。特に、StarkNetのSTARKテクノロジールートは、他のSNARKルートよりもZK Proofの量が多いため、各種L2の移籍金ランキングでは、OP Rollupのそれよりも上位に位置することが多い。移籍金はL2ランキングの最下位に位置することが多い。
2023年のある時点におけるL2別の移籍金表
ZK RollupがオンラインになってすぐにOP Rollupを打ち負かせなかった理由は、単純に、トランザクションデータの圧縮率を高くすることで、1つの階層にデータを送信するコストを節約できる一方で、ネットワークの1つの階層でゼロ知識証明書の正当性を検証する必要があるため、計算オーバーヘッドが増えるからです。
また、Blobはストレージ部分のコストを削減するだけで、計算部分の助けにはならないので、ZK RollupがEIP-4844から得るものは少なく、StarkNetが最下位クラスから最下位クラスへと進歩するのを見るのはうれしいことだ。というわけで、StarkNetが最下位の "出遅れ組 "からクラス1位2位と肩を並べるまでになったのを見て、顎が落ちないわけがない。
03 StarkNetの料金の探索
ZKのRollupの仕組みは、OPよりもはるかに優れていると言わざるを得ません。例えば、Optimism: Batcher契約によるアップグレードの前後にメインネットワークにデータをパッケージングするコストなど、Rollupの仕組みはOP Rollupよりもはるかに複雑であり、取引コストが2桁下がる理由は誰でも十分に理解できます。
もっと詳しく:
Last old Batch before upgrade:
https://etherscan.io/tx/0x8d8a21aeb64a62c66bc1848c2f37c4ca266edc5d122dd287270bc6aa2c24f445
アップグレード後の最初の新規バッチ(Blobチャージを含む合計0.0011ETH):
https://etherscan.io/tx/0xa3e36193ab5ca4e6e98848640b1896def4c419ce203e7bd8e876dd2d5eb77e6c
6つのBlobのコスト(合計)0.00078 ETH):
https://blobscan.com/tx/0xaec6d2e65705632f869c02b9baf063822153e058c0da75723733b78b99242f35
しかし、StarkNet Gasのコストを探る過程で、著者はかなりの困難を経験しました。
しかし、スタークネットガスのコストを探索する過程で、著者はかなりの困難を経験し、さらにいくつかの筋書きの逆転に遭遇しました、この探索のプロセス自体は非常に啓発的である、記事と一緒に再訪しましょう。
消えたL1DA
オプティミズムのチャージバックの秘密を探った経験から、そもそもスタークネットがメインネットワークに提出したデータさえ見つかればいいのだと、当然のように思っていました。メインネットにデータを提出するStarkNetの契約は非常に重要なもので、一時期Etherscanのガス消費量リストのトップにあった契約を見つけるのは難しくないはずであり、一方、まだBlobに適応されていないScrollは、まだリストのトップをうろついている。
StarkNetを検索すると、Operator、Cisco、StarkNetというキーワードが見つかります。その後、Operator、Core Contract、Memory Page Fact Registryの3つの関連契約が見つかりますが、ストレージスペースに関連すると思われる3つ目の契約は、2年近く前に廃止されています。
そして、Operatorが残っています。は常にコア・コントラクトと相互作用し、常に最新の状態に更新します。
また、Blobを適応させる前と後に戻ってみると、Operatorの状態更新トランザクションは非常に単純なものでした。OperatorのUpdate Stateトランザクションは確かにアップグレードされたが、それらはすべて別のパケットを指すハッシュでしかなかった。より多くのGasを消費する後のupdateStateKzgDAでさえ、StarkNetの料金削減をまったく説明していない。
この後の更新は、Blob内のデータが対応するBatch内のパケットに対応することを証明するためのKZG多項式コミットメントに過ぎず、単なる「状態ルート」に過ぎません。このステート・ルートは、第2層のネットワークにおけるすべてのコントラクトの状態を記録する「台帳」に相当し、理論的には第1層のネットワークにも存在する。
そこで疑問なのは、なぜルートしかないのか、ということだ。あの分厚い小さな帳簿はどこに行ってしまったのだろうか?
最初の失敗の後の分析
最初の探求はあまり成功しなかったが、まだいくつかの推論や推測がある。MyFirstLayer2をご覧になった方なら、Rollupが探求している核心的な問題がDA問題(Data Availability)であること、そして彼らが用いている解決策は、データの可用性の問題を解決するために主要なデータをメインネットワークにアップロードし、誰もが必要なデータに簡単にアクセスできるようにすることであることを知っているはずです。
OP Rollupは、実際には、各トランザクションを圧縮されたパッケージでネットワークのある層にアップロードするシンプルで総当たり的な方法です。第二層の元帳の全体像を見ることで、トランザクションが正しく実行されたかどうかを確認することができます。
一方、ZK Rollupは、トランザクションの詳細をすべてアップロードする必要はなく、ゼロ知識証明でステートディフ(各バッチのうちステートを変更した部分)のみをアップロードし、すべてのトランザクションが第2層で正しく実行されたことを確認します。また、複数の状態変更の結果をReplayすることで、L2元帳の全体像を復元することもできます。
また、ブロブ内のデータは第1層にとっては単なるバイナリテキストの文字列であり、第1層はその正当性を検証することなくブロブ内のデータの正確性を保護するだけであり、第1層のスマートコントラクトはブロブの内容を読み取って検証することはできないため、第1層がそれでもZK Proofを検証するのであれば、ZK Proofは第1層で使用できることが分かっています。したがって、ZK Proofがまだ1つのレイヤーで検証されている場合、ZK Proof自体をBlobに入れることはできないので、StarkNetは一定のコスト削減効果を持つことができ、各バッチのState diffをBlobに入れる必要がある。
そこで次の課題は、StarkNetがState diffをどこに置くかを明らかにすることです。以前はどこにあったのか、そしてBlobにあるのかないのか。
さらに、見つけるべき状態ルートが1つしかないという事実は、StarkNetがメインネットワークへの状態変更のアップロード方法を、ずっと前に独自のDAC(データ利用委員会)にひっそりと変更したのではないかと思わせます。もしそうだとしたら、スタークネットの法外な料金は完全に不当であり、......
関連リンク:https://layer2.myfirst.io/zh#2.4-rollup
SHARPシステム
幸い、@0xYandhiiと話し合った結果、新しい光が見えてきました。汎用ホスティングの世界におけるStarkNetの最初の製品は、実は新しい製品なのです。StarkNetの最初の製品は、実は汎用メインネットが立ち上がる前のStarkEXであり、分散型デリバティブ取引所DYDXもその時期の製品であった。メインネットが稼動したときに元の製品を放棄する代わりに、元の製品はメインネットと検証システムを共有するために移動されました。
それがSHARP: Shared Proving and Verifying Systemシステムであり、SHARP Blockchain Writer、Starkware: SHARP Verifierなどの関連コントラクトがある。
ブロックブラウザを開いて関連するトランザクションを照会すると、SHARP Blockchain Writerが以下の4種類のオペレーションを行うことがわかります:
Merkleを検証する:Merkleツリーを検証する
FRIを検証する:高速リードソロモン対話型オラクルの近接証明。データ自体の内容を明らかにすることなく、提出されたデータや計算が特定のルールや制約に従っていることを確認するために使用されます。
連続メモリページの登録:1サイクルで100回以上のアップロード、連続メモリ空間の登録、ネットワークのレイヤーへのデータ書き込みの一部と疑われます。
証明の検証と登録:1サイクルに1回、早くて10分、遅くて1~2時間、検証のバッチに十分なトランザクションを保存する必要があります。
ステップ1、2、4がゼロ知識証明に関連するものであるのに対し、ステップ3のメモリ空間の登録は、明らかにネットワークの第1層にデータを書き込むステップであり、State diffを保存する可能性が最も高い場所であることがわかります。
合理的な推測では、これら3つの検証ステップのコストは、Blobアップグレードの前後で大きく変化しておらず、ステップ3のコストによって、StarkNetの前後で2桁のコスト削減効果が説明できるはずです。
そこで私はブロックブラウザをめくり続け、EIP-4844以前の最も古いバージョン、最も古い最初のバージョン、そしてアップグレードされた最新のバージョンの3つの期間それぞれについて検証サイクルを1回ずつ取り、4つのステップそれぞれでどれだけのガスが消費されたかをカウントしました。
その結果は、頭を悩ませるものだった。
メモリ コストの半減はありますが、ZK証明の検証プロセスの全ラウンドでどれだけのコストがかかるかという点では、以下のとおりです。ZK Proofの検証プロセスでどれだけのコストがかかるかという点では、このレベルのDAの低下は何も教えてくれません。
探求はほとんど限界に達しており、私はまるで3体世界の大型粒子衝突型加速器の前に座っている物理学者のような気分です! スタークネットのコミュニティにも投稿してみたが、問題が複雑に絡みすぎているためか、英語のコミュニティも反応が鈍かった。
https://etherscan.io/address/0x16d5783a96ab20c9157d7933ac236646b29589a4
Starkware: SHARP Verifier:https://etherscan.io/address/0x47312450b3ac8b5b8e247a6bb6d523e7605bdb60
SHARP System GasUsed Explore
この時点で、まだ最後の小技が残っています。 以前ダウンロードしたトランザクションデータのcsvには、ガス代で消費されたETHがあるだけで、Gaslimitなどの情報がないため、ガス単価の変動が統計に与える影響を排除できません。そこで、以前に関係した各取引の実際のGasUsed(Gaslimitを使い切った部分)をカウントするスクリプトを書いてみた。
ようやく光が見えてきました!アップグレード前は、メモリ空間を登録するためのトランザクションは、実際には2つセットで送信され、1つのGasは50kで最も低く、もう1つは通常300k程度であったことがわかります。
アップグレード後は、ほとんどすべてのレジスタード・メモリー・トランザクションが50kの低レベルになっています。トランザクションは50kの低消費トランザクションになりました。
前回のアップグレードの奇妙な結論は、サンプルを取りすぎたことでしょう。サンプルは小さすぎ、そのアップグレード後の検証サイクルがたまたまメインネットの大きなガススパイクと重なったため、より長い期間にわたって何百もの登録連続メモリページのトランザクションがより高いガスを消費し、結果がゆがんでしまいました。
そこで、3つの瞬間のGasUsedデータを並べ替えました。私たちは、この線に沿って3つの瞬間のGasUsedデータを並べ替えました。
そして、l2beat.comに掲載されているStarkNetの技術的な概略図でフォローアップしました。また、l2beat.comに掲載されているStarkNetの技術的な概略図を追跡調査しました。StarkNetの技術的な概略図によると、私たちの予想通り、状態の差分は確かにメモリページに保存されていました。
そこで最終的には、GasUsedの量(GasUsedで緩やかに推定される)をもとに状態差を計算します。の量に基づいて計算すると、StarkNetの実際のL1DAコストはおよそ4倍から10倍に減少します。EIP-4844のアップグレードでは、ZK RollupはOP Rollupほど利益を得ていません。
04 まとめ
ここまでの探索を経て、StarNetがレートを下げた理由と程度がようやくわかりました。
スターネットが料金を引き下げた理由と程度については、まだ少し興味をそそられる結論です。
L1DAのコストの大きな低下は、2桁の大きさを説明するものではありません
StarNetは以前、状態変化するデータの各バッチをネットワークの1つのレイヤーに書き込んでいたことは明らかです。
StarNetは、状態変化するデータの各バッチをネットワークの1つのレイヤーに書き込んでいたことがわかります。
しかし、スタークネットが最下位から上位のOP生と同レベルのコスト削減を実現し、相対的な進歩という点ではOPロールアップ全体を打ち負かすことは、明らかに不可能です。
そうなると、唯一の合理的な説明は、本当に「ブラックハート」チャージが高すぎるということです。STRKトークンがリリースされる前、スタークネットの開発とコミュニティのインセンティブはすべて資金を必要とし、投資家の資金を燃やすことに加えて、L2 L1ガスのスプレッドを高く設定することは、おそらく彼らが開発を継続させる方法の1つであり、スターネットの恥ずかしいガス料金の状況につながりました。
STRKトークン発行によって十分な流動性と生態学的インセンティブが与えられた今、Gasを妥当なレベルに戻し、このBlobアップグレードを利用して足元のサンドバッグを取り除く時です。
ZKのOP
OPロールアップは、メインのイーサネットワーク上のCalldataに保存されたデータの一時的な保存領域にアップグレードした後、実際にセキュリティを少し犠牲にしました。アップグレード後、実際にセキュリティを少し犠牲にした。
以前は、Calldataスペースのデータは永続的に保存されていました。つまり、OP L2の現在の状態をすべて復元するのに十分なデータを、誰でもメインイーサネットワークから入手することができたのです。
しかし、アップグレード後はBlobのデータが古くなり、ネットワーク全体で過去のBlobデータを保持しているエンティティが1つもない場合、OP L2の取引履歴が失われる可能性があります。BlobはOPの7-14日のチャレンジ期間を超えて保持されるため、現在の最新のレイヤー2ネットワーク状態はまだ保護することができるが、各Blobに対応するレイヤー2状態は、期限切れになるまでまだ信頼されており、この最新の10日ほどのトランザクション記録は、OP L2のセキュリティを維持するためにロールオーバーされる。
また、ZK Rollupは、Blobの利点を享受したいのであれば、重要なレイヤー2の状態データを、恒久的なCalldataスペースからBlobスペースに移動する必要がある。これは、一定期間が経過すると、これまでのように第2レイヤーの状態をReplayするために、ネットワークの第1レイヤーが提供するデータに頼れなくなることを意味します。
おそらくこれが新しい常態となり、すべてのL2ネットワークは状態を安全に保つためにブロブに依存し、各L2は、セキュリティと効率のより良いバランスを取りながら、過去のトランザクションデータを独自に利用できるようにする方法を見つけ出す必要があるでしょう。
OPとZKの収束傾向
過去には、OPロールアップの第一世代が最初にオンラインになり、ZKロールアップの第一世代は、より競争力のあるガス料金なしでオンラインになりました。より競争力のあるガス料金。
これは間違いなく、OPとZKが互いに競争しているわけではなく、互いに学び合い、合併する傾向があることを指し示している。今回は、OPの "単純で残忍 "なやり方からZKが学んだということだ。
わずか2、3年で2次ネットワークの技術がここまで進化したとは信じがたいが、それがブロックチェーンの世界の素晴らしさなのかもしれない。