github ssvlabs/ssv v2.3.0

latest releases: v2.3.1-unstable.0, v2.3.1-unstable, v2.3.1...
13 days ago

This release includes features to enhance validaor safety and improve performance.

Important notes: please follow the docs closely for using new features

Feature: Doppleganger Protection - full docs
Doppelganger (DG) protection is disabled by default.
To enable it in your SSV node, set the following environment variable:

ENABLE_DOPPELGANGER_PROTECTION=true

or enable it in your config.yaml file:

EnableDoppelgangerProtection: true

⚠️ Teku Users:
To make Doppelganger protection work with Teku, you must also run your beacon node with:

--beacon-liveness-tracking-enabled=true

This flag is required for the SSV node to detect validator liveness via the Beacon Node.

✅ What to Expect After Enabling

  • The node will wait ~3 epochs to ensure each validator is not already active on the Ethereum network.
  • If no activity is detected, the validator is marked safe to sign.
  • Validators can also be marked safe immediately if a post-consensus quorum is reached by the validator's operator committee.

🔁 On node restart, Doppelganger protection is reset, and the safety check process starts again.


Feature: Weighted Attestation Data (WAD) - full docs
Improves attestation accuracy by scoring responses from multiple Beacon nodes based on epoch and block proximity. Adds slight latency to duties but includes safeguards (timeouts, retries). Most effective with 2+ Beacon nodes and Parallel Submissions enabled.

Configuration:

YAML:

eth2:
  BeaconNodeAddr: http://localhost:5052;http://localhost:5053   # Must include 2+ nodes
  WithWeightedAttestationData: true      # Enables WAD
  WithParallelSubmissions: true          # (Recommended) Sends duties to all nodes concurrently

ENV:

BEACON_NODE_ADDR=http://localhost:5052;http://localhost:5053
WITH_WEIGHTED_ATTESTATION_DATA=true
WITH_PARALLEL_SUBMISSIONS=true

⚠️ WAD is disabled by default. It has no effect with only one Beacon node. Parallel submissions improve performance but are optional.


Upgrade Priority

Network Priority
Mainnet 👍 Recommended
Holesky 👍 Recommended
Hoodi 👍 Recommended

Docker Image

docker pull ssvlabs/ssv-node:v2.3.0

🚀 Features

  • Hoodi Network Support
    This verison adds network configs for hoodi ssv network. To run on hoodi set ssv.Network to hoodi or use environment variable NETWORK=hoodi.
  • Electra Fork Support
    Added support for the upcoming Electra fork.
    NOTE: Fully prepare for Electra fork by updating your Ethereum execution and consensus nodes and MEV-boost.
  • Weighted Attestation Data
    Introduced weighted attestation selection logic to improve performance and block inclusion reliability.
  • Doppelganger Protection
    Implemented detection mechanism to prevent validator key reuse across multiple nodes. To enable check the docs.
  • Scored P2P Discovery
    Improved peer discovery by scoring peers for more reliable and efficient connections.

🛠 Improvements

  • Committee Concurrency Handling
    Improved internal concurrency logic for better committee execution and stability under load.
  • Beacon Client
    Enhanced concurrency safety in tests and fixed multiple race conditions.
  • Discovery Protocol
    Increased retry interval to reduce network noise and improve connection stability.
  • Event Syncing
    Improved syncing logic to avoid duplicate or stale events.
  • Genesis Version Handling
    goclient now fetches the genesis version from config to maintain consistency.

🐛 Bug Fixes

  • Fixed cache validation for GetAttestationData.
  • Corrected Electra fork epoch handling and updated spec expectations.
  • Resolved race conditions in P2P and goclient hooks.
  • Filtered out past-slot duties to prevent execution errors.
  • Fixed flaky and unreliable unit tests.

📌 Notes

  • No breaking DB changes were introduced, but protocol-level changes (Electra) may require all components to be upgraded.
  • Please ensure all nodes are updated ahead of the Electra fork to avoid missed duties or inconsistent behavior.

What's Changed

New Contributors

Full Changelog: v2.2.1...v2.3.0

Don't miss a new ssv release

NewReleases is sending notifications on new releases.