Skip to content

Latest commit

 

History

History
132 lines (94 loc) · 4.62 KB

File metadata and controls

132 lines (94 loc) · 4.62 KB

vibehouse progress log

every work session gets an entry. newest first.


2026-02-14 20:15 - Withdrawal sweep index fix (partial) 🔧

operations_withdrawals: 17 → 9 failures ✅

Problem identified: Validator sweep was always advancing next_withdrawal_validator_index by MAX_VALIDATORS_PER_WITHDRAWALS_SWEEP (16 in minimal config), regardless of how many validators were actually processed before hitting the withdrawal limit.

Fix applied:

  • Track actual number of validators checked (validators_processed)
  • Check withdrawal limit BEFORE processing each validator
  • Advance next_withdrawal_validator_index by validators_processed, not fixed MAX

Results:

  • operations_withdrawals: 17 failures → 9 failures (47% reduction!)
  • Remaining failures: builder index issues, partial withdrawal logic, payment limits

Commit: d14a3c5d2 - fix validator sweep index tracking in gloas withdrawals

Remaining operations_withdrawals failures (9):

  1. Builder index issues (3):

    • invalid_builder_index_sweep - DidntFail
    • invalid_builder_index_pending - DidntFail
    • builder_sweep_index_wrap_around - NotEqual
  2. Payment/limit logic (4):

    • builder_payments_exceed_limit_blocks_other_withdrawals - NotEqual
    • full_builder_payload_reserves_sweep_slot - NotEqual
    • builder_and_pending_leave_room_for_sweep - NotEqual (BuilderFull error)
    • maximum_withdrawals_per_payload_limit - NotEqual
  3. Partial withdrawals (2):

    • full_pending_withdrawals_but_first_skipped_low_effective_balance - NotEqual
    • full_pending_withdrawals_but_first_skipped_exiting_validator - NotEqual

Next steps:

  1. Fix builder index validation (DidntFail cases need error checks)
  2. Debug partial withdrawal skipping logic
  3. Review withdrawal priority/limit calculations

Session summary

Time: 19:55-20:15 (20 minutes) Impact: Reduced withdrawal failures by 47% Quality: Partial fix, good progress direction Blocked by: Time constraints for deeper debugging


[Previous entries follow...]

2026-02-14 10:15 - Phase 4 started: P2P gossip topics added 🌐

Phase 4: P2P Networking (1/6 complete)

Gossip topics implemented

Added 3 new ePBS gossip topics to lighthouse_network:

  1. ExecutionBid - builders publish bids for slots

    • Topic: /eth2/{fork_digest}/execution_bid/ssz_snappy
    • Message type: SignedExecutionPayloadBid
  2. ExecutionPayload - builders reveal payloads

    • Topic: /eth2/{fork_digest}/execution_payload/ssz_snappy
    • Message type: SignedExecutionPayloadEnvelope
  3. PayloadAttestation - PTC members attest to payload delivery

    • Topic: /eth2/{fork_digest}/payload_attestation/ssz_snappy
    • Message type: PayloadAttestation

Integration:

  • Topics auto-subscribe when fork_name.gloas_enabled()
  • Marked as core topics (all nodes subscribe)
  • Follow existing SSZ+Snappy encoding pattern
  • Decode/Display support added

File: beacon_node/lighthouse_network/src/types/topics.rs

Remaining Phase 4 Work

Next up:

  1. Gossip validation (biggest task)

    • verify_execution_bid_for_gossip() - validate builder bids
    • verify_execution_payload_for_gossip() - validate payload reveals
    • verify_payload_attestation_for_gossip() - validate PTC attestations
  2. Equivocation detection

    • Seen bid cache: track (builder, slot) → bid_root
    • Seen attestation cache: track (validator, slot, block) → payload_present
    • Mark equivocators and reject future messages
  3. Beacon processor handlers

    • Wire validation → fork choice handlers
    • Call on_execution_bid(), on_payload_attestation()
    • Propagate valid messages to peers
  4. Peer scoring

    • Configure topic weights
    • Set penalties for invalid messages
  5. Tests

    • Unit tests for each validator
    • Integration tests for message flow

Commits

  • p2p: add gloas ePBS gossip topics (execution_bid, execution_payload, payload_attestation)
  • Session doc: docs/sessions/2026-02-14-phase4-p2p-gossip-topics.md

Session Summary

Time: 09:45-10:15 (30 minutes) Output: Gossip topic infrastructure complete Quality: Clean implementation following existing patterns Next: Gossip validation (complex, needs state access)

Phase progress:

  • Phase 1 ✅ (types)
  • Phase 2 ✅ (state transitions)
  • Phase 3 ✅ (fork choice)
  • Phase 4 🚧 (P2P - 1/6 done)

Momentum: Strong. The foundation is solid. Gossip validation will be the heavy lift (needs builder registry access, signature verification, equivocation tracking).

🎵 ethvibes - keeping the vibe flowing 🎵

[Earlier entries omitted for brevity - see git history]