特定構成のシーケンサーで発生していたブロック生成遅延を修正
オプティミズム(Optimism)の開発企業OPラボ(OP Labs)が開発するOPスタック(OP Stack)のノードソフトウェア「op-node」の「v1.19.8」が10月1日に公開された。同バージョンでは、特定の構成でシーケンサーを運用する際に発生していたブロック生成の遅延が修正された。同バージョンへのアップグレードは、シーケンサー運用者、特に「–l2.follow.source」を使用している運用者に推奨されている。
OPスタックは、オプティミズムの技術を利用した、イーサリアム(Ethereum)レイヤー2ネットワークを構築するためのソフトウェア群だ。OPメインネット(OP Mainnet)をはじめ、ソニーのソニューム(Soneium)、DEX「ユニスワップ(Uniswap)」のユニチェーン(Unichain)などが同ソフトウェアで構築されている。そしてop-nodeは、OPスタックチェーンのコンセンサスレイヤークライアントとして動作し、正規のブロックチェーンの構築やブロックの中継、検証などを担う。
OPスタックチェーンでは、ユーザーから送信されたトランザクションを受け取り、その順序を決めてL2ブロックを生成する役割をシーケンサーと呼ぶ。シーケンサーとして動作するop-nodeは、ブロック生成に必要なイーサリアムのL1ブロックや、トランザクションの実行結果を示すレシートなどのデータを取得する。
今回の修正は、このL1データの取得タイミングに関するものだ。具体的には、「–l2.follow.source」を使用するシーケンサーで、L2ブロックが参照するL1ブロックが新しいものへ切り替わる際に問題が発生していた。必要となるL1ブロックとレシートがローカルで事前に取得されていない場合、シーケンサーによるブロック生成が繰り返し遅くなることがあったとのことだ。
そこでv1.19.8では、新しいL1の最新ブロックを検出した時点で、そのL1ブロックとレシートを事前に取得するよう変更した。従来は、これらのデータをL2ブロックが参照する「L1オリジン」として必要になった時点で取得していた。なお、事前取得に失敗した場合も通常の取得処理は引き続き実行される。
またv1.19.8では、OPスタックのハードフォークを有効化する時刻や順序に関するロールアップ設定の検証も強化した。具体的には、「ジョビアン(Jovian)」以降のハードフォークについて、ジェネシス時点またはそれ以前の場合を除き、直前のフォークと同じ時刻に有効化する設定を拒否する。さらに、前段階のフォークを設定せずに有効化する場合や、前段階のフォークより先に有効化する設定も拒否する。
なお、スーパーチェーン(Superchain)に参加するチェーンの設定情報を管理するスーパーチェーン・レジストリ(Superchain Registry)に登録済みのチェーンは、この変更による影響を受けない。一方、新たなルールに違反する独自のロールアップ設定を使用している場合は、v1.19.8へのアップグレード前に設定を修正する必要があるとのことだ。
今回のリリースノートでは、イーサリアムのテストネット「セポリア(Sepolia)」上で稼働するOPスタックチェーンのノード運用者に対し、10月6日の「グラムステルダム(Glamsterdam)」ハードフォークまでに「op-node v1.19.5」以降へアップグレードするよう案内されていた。