Proposer silently skips its slot after every proposer-rotation wrap (slot ≡ 1 mod 512); no failure counted

オープン
#602 コメント 0 件 リアクション 0 件 担当者 0 名 GitHub で見る

まだ誰も着手していません。

評価

難易度
4/5
見積もり時間
3〜5日
初心者へのやさしさ
48/100
issue の種類
バグ
明瞭さ
おおむね明確
活発さ
活発
技術スタック
prometheus, rust

調査の方向性

devnet-eth35 セットアップでスロットパターンを再現し、GET /lean/v0/blocks/ を隣接する対照スロットと比較します。「Building block」ログと lean_block_building_failures_total メトリクスを生成する proposer および interval-4 のビルドパスから始めます。proposer スロットの取りこぼしがカウントされ、wrap 後の決定論的な miss がメトリクスに表示されれば完了です。

索引モデルが issue の本文から書いたものです。

説明

Observed

On a 512-validator / 64-node devnet (image devnet5-leanvm-main, rev 691df39, 8 validators/node, 8 subnets), validator 1 has missed 100% of its proposal slots: 8/8 at first measurement (slots 1, 513, 1025, 1537, 2049, 2561, 3073, 3585 — every slot ≡ 1 mod 512), and still 5/5 when re-sampled four days and ~170 rotations later (slots 84481…86529 all absent, adjacent control slots present).

The node never logs Building block for these slots, and lean_block_building_failures_total stays 0 fleet-wide: the interval-4 build tick never fires, so nothing counts the miss.

Context

  • The rotation-wrap block (slot ≡ 0 mod 512, proposer = validator 0) is imported by peers 7–8 s after its slot start at every observed wrap (7.3 s / 7.2 s / 7.8 s at slots 512 / 3072 / 3584).
  • node_1 (host of validator 1, also an aggregator) is seconds behind real time when its slot arrives: its attestations for slot 512k publish 3–7 s late and its aggregation sessions run ~3 s.
  • At 3 of 5 recently sampled wraps the following proposer (validator 2's node) also lost its block — net cost 1–2 blocks per 512-slot cycle, invisible to every failure metric.

Expected

A proposer that cannot build in time should at least increment a failure counter; a deterministic 100%-miss pattern tied to the proposer-rotation wrap should be visible in metrics.

Evidence

  • Chain: devnet-eth35, genesis 2026-08-28 16:53:53Z (GENESIS_TIME 1787936033), hosts ethlambda-3/ethlambda-5.
  • Missed-slot verification via GET /lean/v0/blocks/<slot> (404 for every s ≡ 1 mod 512 sampled; 200 for controls).
  • Full measurement context: 3.9 h instrumented window + 4-day soak; per-node logs and Prometheus/Loki history retained on the hosts.
主要言語
Rust
スター
82
フォーク
28
平均マージ
1日 23時間
マージ済み PR(30日)
19

コントリビューションガイド

コントリビューションガイドを開く

はじめの一歩

  1. issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
  2. 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
  3. リポジトリをフォークし、ブランチを切って変更します。
  4. issue 番号を参照したプルリクエストを送ります。

lambdaclass/ethlambda のほかの issue

lambdaclass/ethlambda の issue をすべて見る

似ている issue

Rust の issue をもっと見る

新しい issue をメールで受け取る

初心者向けの GitHub issue を短くまとめたダイジェスト。