ここ数週間、@ethrex_client、@class_lambda @ethereum L1 実行クライアント、ZK L2 スタックに関する最新情報をあまり共有していません。 私たちが行っているすべてのことについて詳しく知りたい方は、@ethrex_clientをフォローしてください。 L1ではすでにイーサリアムのテストネットを正常に実行しており、L2ではパートナーのために、またパートナーと共同で構築しているIDおよびDeFiアプリケーションのテストネットを実行しています。正直に言うと、イーサリアムで維持、アップグレード、変更するための最も単純なコードベースとスタックに近づいていると信じています。@NethermindEthと@go_ethereumのコードを確認しなければ、ここまで到達することはできなかったでしょう @alignedlayerと@SantiDiPaoloの@fran_aligned、@PolFinance_のパートナー@rj_alignedとともに、@AguuMg Ethrexと@alignedlayerを搭載したRWA L2に関する最初のホワイトペーパーの1つをリリースしようとしています。他にもたくさんのものが来ていますが、TradFiとDeFiの非常に興味深いユースケースを橋渡しするので、私はこれを特に楽しみにしています。アドバイザーやパートナーとして、業界で最も強力なチームがいくつか揃いました。このプロジェクトについてもっと共有したいと思っています。 最新情報 L1 私たちはさまざまな面で取り組んできました。Grafana で可観測性を改善し、未使用の機能を削除してコードベースを簡素化し、「engine_getBlobsV1」エンドポイントのサポートを追加しました。 変更ログ: feat(l1): 'engine_getBlobsV1' リクエストエンドポイント (#3636) chore(L1): redb サポートを削除 (#4103) Refactor(L1): ブロックチェーンクレートから不要なUSSIZEを削除 (#4110) 修正(L1): 不要な状態クローンを削除しました (#4117) 修正(L1): 適切な Docker イメージを使用して localnets をスピンアップします。(#4131) chore(L1): Grafana ダッシュボードにブロック時間を追加します。(#4112) fix(l1): ブロック実行から DB 読み取り時間を差し引きます。(#4051) chore(L1): メトリックの改善。(#4118) 雑用(levm): 新しいlevmテストランナーの組織を改善する (#3958) L2 ミニマリストのアプローチに沿って、未使用の L2 データベースから大量のコードを削除しました。コードベースの簡素化とデッドコードの排除を継続しています。また、ガス価格に関するバグを修正し、CIが安定化した。 L2 を 2 つの面でベンチマークしています。 - L2 ネットワークのメンテナンスコスト: さまざまなトランザクション ワークロードとネットワーク構成でさまざまなシナリオをシミュレートすることにより、L2 パラメータを微調整しています。目標は、ネットワークが自立性を達成するためにユーザーが負担しなければならないトランザクションごとのおおよその維持手数料を決定することです。 - 分離されたブロックの実行証明生成ベンチマーク: ethrex-replay ツールを使用して、Hoodi、Sepolia、Mainnet のブロックを証明し、コードベースの潜在的なバグを特定し、証明者のパフォーマンスを測定しています。 ethrex-replay側では、ツールは十分に安定しており、パブリックネットワークのブロック実行と証明を定期的に再生するためのインフラストラクチャがセットアップされています。現在、これらの実行中に発生したバグに対処しています。ethrex の論理エラーに起因するバグもあれば、メモリ使用量に関連するバグもあります。前者はほぼ解決されており、後者については大きな進展が見られます。 また、短期的な統合の可能性について、@ziskvmと@0xLita ZKVM を検討し始めました。すでに@RiscZeroと@SuccinctLabsをサポートしています。 今週は、ethrex-replayを安定させるPRを統合し、ethrexの2つのバグを特定して解決できるようにしました。これらの修正もマージされました。最初のバグは、ecrecoverプリコンパイルのエッジケースに関係しており、特定の入力によりガスの不一致により実行が失敗しました。徹底的な調査の結果、問題は公式の SP1 パッチが適用された secp256k1 ライブラリにまで追跡されました。SP1 パッチが適用された k256 ライブラリに移行することで解決しました。2 番目のバグは、コードベースの一部の usize 型のビット長に関する誤った仮定に起因しています。同様の問題を防ぐために、コードベースの包括的なレビューを実施し、複数の PR を提出して、usize の使用をインデックス作成と API またはライブラリによって制約されるシナリオの 2 つの特定のケースに制限しました。さらに、ブロックチェーン テストや状態テストを含む EF テスト スイートを実行するためのサポートを SP1 で追加して、テスト カバレッジを強化し、さまざまな実行シナリオにわたる堅牢性を確保しています。 これらのバグが修正されたことで、問題は発生しなくなります。新しい Hoodi ブロックと Sepolia ブロックの再生に成功しており、メインネット ブロックの実行が大幅に改善され、SP1 の実行成功率が 1/10 から 6/10 に上昇しました。この進歩により、SP1 zkVM でのブロック実行中のメモリ不足エラーや、実行と証明におけるパフォーマンスの問題など、最近のブロック リプレイで残された課題に取り組むための道が開かれます。これらに対処するために、Jemalloc クレートを使用してメモリ プロファイリング用のツールのクレートを設定しました。 また、ヒストリカルブロックのリプレイのサポートにも取り組んでいます。この機能のMVPはドラフトPRにあり、ethrex、reth、およびgethクライアントではうまく機能しますが、nethermindクライアントでは問題が発生します。最初のバージョンをリリースする前に、RPC リクエストを最適化して、無料の RPC プロバイダーを使用している場合でも、ほとんどのブロックで正確なブロック データのダウンロードを保証することを目指しています。 DevEx の改善: - バイナリビルドを修正し、特定のオペレーティングシステムやアーキテクチャのデフォルトの依存関係としてCUDAを必要としなくなりました。この修正は最新リリースに含まれています。 - ethrex L2 の最新の変更との互換性を確保するために、rex の ethrex のバージョンを更新するための PR が提出されました。 - 開発環境におけるethrex L2モニター用の新しいタブの開発を開始しました。このタブには、リッチアカウントのリストやL1およびL2コントラクトのアドレスなど、開発者関連情報が表示されます。 変更ログ: - リファクタリング(L2): usize 状態差分定数を置き換えました。 - reature(l1,l2): メモリプロファイリング用に ethrex-replay を構成しました。 - リファクタリング(L1): ブロックチェーンクレートでの不要なusizeの使用を削除しました(バグ修正に関連)。 - feature(l1,l2): 実行監視に新しいコマンドを追加しました。 - 修正(levm): 32ビットアーキテクチャに関連する問題(バグ修正関連)に対処しました。 - リファクタリング(levm): secp256k1 の代わりに k256 を使用するように ecrecover 実装を更新しました (バグ修正に関連)。 - ci(l1,l2): GPU ビルドを分離し、x86-64-v2 ターゲットを採用しました。 パフォーマンス 今週も引き続きCPU消費量とベンチマークに焦点を当てました。 CPU 消費に関しては、ブロック構築が存在するケースと存在しないケースの 2 つの異なるケースを特定しました。ブロック構築のないものは常に存在し、他の取り組み (スナップ同期など) に影響を与えることを考慮して、優先順位を付けています。私たちが調査した限り、それは完全にp2pに関連しています。今後も引き続き取り組んでまいります ベンチマークに関しては、先週のmodexpパフォーマンスの強化の後、codecopyと関連操作、signextend、mulmod、addmodなど、検出されたいくつかの改善に焦点を当てました。 引き続き、CPU 消費量と、eth 転送やその他の levm オペコードなど、改善の可能性の次のステップとして特定したテストのパフォーマンスの両方に焦点を当てます。
10.97K