v1.7.0-rc1 - 2025-09-26
This is Charon's first Fulu-ready version. Feedback is welcome and appreciated, please use github issues or discord if you have trouble with this release.
Apart from Fulu readiness, there are two major features in this release, both under a feature flag:
Attestation source and target vote consensus. If feature flag chain_split_halt
is enabled, Charon nodes will verify if the target and source votes (FFG) of the attestation they have fetched matches the one proposed from the leader. If not, Charon will not sign the attestation. If no consensus is reached between the nodes, a new leader is chosen. This is a security feature to ensure that in case of a fork in one of the beacon nodes used by the cluster, the rest do not blindly accept. However, head votes (LMD GHOST) are not checked in order not to block attestation signing when beacon node responds slower or receives block later.
Fetch only attestation data with committee index 0. In Electra the spec for fetching attestation data was changed, hardcoding the committee_index
in the request to 0. However, most validator clients continued asking for the specific committee index, while the beacon nodes disregarded this field and returned the data. On Charon we were forced to do both in order to accommodate both versions. Now most VCs updated their codebase, in this issue we link the version at which the VC implemented the code that allows this feature flag to be turned on. If you enable this feature flag you will reduce the amount of requests Charon sends to the beacon node for attestation data. For big clusters that might be as high as 63 requests less per slot. In big clusters with slower beacon nodes turning on this feature flag improve attestation success rate as well.
Read the rest of the release notes for more:
Full Changelog: v1.6.1..v1.7.0-rc1
Feature
- Attestation source and target vote consensus - chain split halt #3876 (#3946)
- Fetcher fetch only attestation data with committee index 0 #3980 (#3989)
- Track SSE events
block_gossip
andblock
#3877 (#3938) - Add publishing new cluster definition to Obol API with only
--operator-enrs
#3993 - Allow beacon node basic auth in URL #3926
Misc
- Turned on feature flag metric #3979 (#3994)
- Add self identification to logs #3919 (#3939)
- Allow pushing metrics to OTLP insecurely #3983
Compatibility Matrix
This release of Charon is backwards compatible with Charon v1.0.*
, v1.1.*
, v1.2.0
, v1.3.*
, v1.4.*
, v1.5.*
, v1.6.*
Though only v1.3.*
and newer are Pectra-ready and none of the previous are Fulu-ready.
The below matrix details a combination of beacon node (consensus layer) + validator clients and their corresponding versions the DV Labs team have tested with this Charon release. More validator and consensus client will be added to this list as they are supported in our automated testing framework.
Legend
- ✅: All duties succeed in testing
- 🟡: All duties succeed in testing, except non-penalised aggregation duties
- 🟠: Duties may fail for this combination
- 🔴: One or more duties fails consistently
Validator 👉 Consensus 👇 | Teku v25.9.3 ❗ | Lighthouse TBD | Lodestar v1.35.0-rc.0 | Nimbus v25.9.1 | Prysm v6.1.0 | Vouch TBD | Remarks |
---|---|---|---|---|---|---|---|
Teku v25.9.3 ❗ | ✅ | ⏳ | ✅ | ✅ | ⏳ | ⏳ | |
Lighthouse TBD | ⏳ | ⏳ | ⏳ | ⏳ | ⏳ | ⏳ | |
Lodestar v1.35.0-rc.0 | ✅ | ⏳ | ✅ | ✅ | ⏳ | ⏳ | |
Nimbus v25.9.1 | ✅ | ✅ | ✅ | ✅ | ⏳ | ⏳ | |
Prysm v6.1.0 | ⏳ | ⏳ | ⏳ | ⏳ | ⏳ | ⏳ | |
Grandine v2.0.0.rc0 | ✅ | ⏳ | ✅ | ✅ | ⏳ | ⏳ |