Releases: ssvlabs/ssv
v2.0.0-unstable.0
This release introduces support for the Alan fork to the SSV Holesky testnet.
Note: Alan databases are not backwards-compatible, meaning an upgraded node cannot downgrade without removing the database and syncing from scratch.
Upgrade Priority
Network | Priority | Alan Fork |
---|---|---|
Holesky | Mandatory | Oct. 8th 12:00 UTC (Epoch 84,600) |
Mainnet | Don't upgrade |
TBD |
Docker Tag
docker pull ssvlabs/ssv-node:v2.0.0-unstable.0
Intoducing Alan
Alan is the most significant SSV upgrade to date, poised to tackle scalability by dramatically reducing resource usage.
Alan changes the way a committee (group of operators) perform their validators's duties. Rather than performing every attestation and sync committee duty separately, a committee would perform them all together.
For more, see Meet Alan.
Other Changes
On top of Alan support, this release includes many fixes and improvements.
Features
- feat: custom graffiti (#1600)
- feat: duty stopping (#1743)
- feat: (p2p) drop bad or irrelevant peers (#1707)
- spec alignment to
dev
branch (#1639)
Optimizations
- perf: (eventsyncer) don't remove QBFT instances to speed up historical syncing (#1615)
- should significantly reduce how long it takes to sync from scratch
- perf: batch-save validator metadata (#1392)
Bugs
- fix: (discovery) publish latest ENR despite ongoing publish (#1740)
- fix: minor refactor ECDSAPrivFromInterface to remove ScalarBaseMult (#1734)
- fix: (eventhandler) pubkey & id uniqueness check in OperatorAdded (#1729)
- fix: Erroneous Threshold Logic in Key Splitting Mechanism (#1737)
- fix: (differ) incorrect diffs
- fix: run local nodes using local events (#1688)
- fix: ekm deadlock (#1675)
- fix: (validation) MessageCounts check (#1652)
- fix: replace
cornelk/hashmap
withsync.Map
(#1683) - fix: (queue) nil return condition in Pop (#1678)
v1.3.8: Custom DomainType and Trusted Peers (#1493)
* enable custom domain support * update domain type while loading shares * print self address * new address format * fix unit test * parse trusted peers in p2p.New --------- Co-authored-by: Lior Rutenberg <[email protected]> Co-authored-by: rehs0y <[email protected]>
v1.3.7
v1.3.6
This release features a hotfix for block proposals with recent Lighthouse and Teku versions.
Upgrade Priority
Beacon Node | Version | Priority |
---|---|---|
Lighthouse | >= v5.2.0 | |
Teku | >= 24.4.0 | |
Others | ⭐️ Strongly Recommended |
Note: Affected Teku users can safely remove the --validators-graffiti-client-append-format=DISABLED
flag after upgrading to SSV v1.3.6
Brief
Recent Lighthouse and Teku versions began modifying the graffiti of block proposals to include EL/CL versions for client diversity analysis.
This caused a dependency we use to interact with Beacon nodes to reject block proposals from those Beacon nodes, because the returned graffiti was different than requested.
This hotfix removes this unnecessary constraint.
Changes
v1.3.5
This release includes an optimization which should accelerate the rate at which nodes form connections.
This should improve the performance of nodes after restarts, by helping them recover their ideal peer count quicker.
Changes
v1.3.4
v1.3.3
This version introduces mainly optimizations to the consensus and message processing.
- By introducing OpenSSL for RSA signing we expect 10x faster signature verifications and lower CPU usage. As a side effect, memory usage should increase. Make sure to allocate at least as much RAM as is recommended in the docs (4 GB, as of this release).
NOTE: This optimization is for Linux OS only. - Enhancing consensus BLS verification by choosing an optimistic approach, verifying reconstructed messages and falling back to verify each one of the signatures if it fails.
Also fixed a bug that caused newly active validators to miss first epoch.
Expect fast consensus times and higher attestation rates.
IMPORTANT: Users running full nodes (exporters) should NOT update to this release.
Upgrade Priority
Network | Priority |
---|---|
mainnet | Recommended |
holesky | Recommended |
Change log
- 🕒 Validator Startup: Fixed an issue to ensure validators start on time by using
ActivationEpoch
(#1347, @olegshmuelov). - 🆔 Stale Operator ID Cases: Addressed and resolved remaining stale operator ID issues (#1240, @nkryuchkov).
- 🔏 Operator Key Encapsulation: Improved security by encapsulating operator keys (#1274, @nkryuchkov, @olegshmuelov, @y0sher, @moshe-blox).
- 💾 OperatorData Store: Introduced
OperatorData
store for efficient data management (#1356, @nkryuchkov, @moshe-blox, @y0sher). - ✅ Signature Verification: Implemented partial signature verification aggregation to enhance performance (#1351, @nkryuchkov, @moshe-blox).
- ⚡ RSA Optimization: Utilized
microsoft/openssl
for RSA sign/verify operations to optimize performance (#1358, @y0sher, @moshe-blox).
v1.3.2
v1.3.1
This release is a hotfix for Prysm users, fixing a block proposal bug which occurs in certain environments where Prysm returns JSON responses (rather than SSZ).
Affected users are those who run Prysm with an HTTP proxy and/or load balancer in-between Prysm and SSV.
Fixes
- update to use patched fixed go-eth2-client (#1334)
v1.3.0 — Dencun
This release is mandatory for all mainnet operators, as it's the first stable release for the upcoming Dencun fork.
Upgrade Priority
Network | Priority | Dencun Fork |
---|---|---|
mainnet | Mandatory | ⌛️ Epoch 269,568 (Mar-13-2024 13:55:35 UTC) |
holesky | Mandatory | ✔️ Already forked |
jato-v2 | Mandatory | ✔️ Already forked |
🛠️ Enhancements
- 📈 Proposal V3: Implemented to enhance the system's efficiency and reliability. By @y0sher, @zevzek, @moshe-blox, (#1329).
🐛 Bug Fixes
- 🛠️ Makefile Environments: Corrected an incorrect fallback issue that could affect build and deployment processes. Fixed by @moshe-blox (#1247).
- 🧮 Compute Cluster Hash Calculation: Addressed a bug where the cluster hash was calculated incorrectly, potentially impacting system performance and stability. Resolved by @guym-blox (#1269).
- 📊 Exporter Deadlock: Fixed a bug where the exporter would get stuck waiting for committee validator setup, hindering data exportation processes. Rectified by @moshe-blox (#1316).
- 🚧 ProposerRunner Bug: Solved a missing block summary issue for Deneb, which could affect block processing and chain integrity. Corrected by @moshe-blox (#1319).