Skip to content

Releases: ssvlabs/ssv

v2.0.0

28 Oct 14:57
Compare
Choose a tag to compare

This release introduces support for the Alan fork to Mainnet.

Note: Alan databases are not backwards-compatible, meaning an upgraded node cannot downgrade without removing the database and syncing from scratch.

Warning

Mainnet operators MUST upgrade to v2.0.0 prior to the fork epoch!

Fork Schedule

Network Upgrade Alan Fork
Mainnet ❗ Mandatory ⌛ Nov. 25 12:00:23 UTC (Epoch 327,375)
Holesky 👌 Recommended Already forked (Epoch 84,600)

Docker Tag

docker pull ssvlabs/ssv-node:v2.0.0

Introducing 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 with sync.Map (#1683)
  • fix: (queue) nil return condition in Pop (#1678)
  • fix: (network/records) panic due to insufficient subnets length (#1804)

v1.3.11

28 Oct 15:01
662f423
Compare
Choose a tag to compare

Caution

THIS VERSION DOES NOT SUPPORT THE ALAN FORK, AND IS ONLY MEANT FOR EMERGENCY ROLLBACK FROM v2.0.0 BEFORE NOVEMBER 25th.

PLEASE UPGRADE TO v2.0.0 INSTEAD

This release is a fallback version to prevent slow rollback in case of emergencies with v2.0.0. This version only improves the syncing speed of the node.

Caution

This database is not compatible with Alan. To downgrade from v2.0.0, first wipe your existing database.

When to use v1.3.11?

Network Priority
Mainnet ⚠️ Never, unless the upgrade to v2.0.0 failed before the fork (November 25th)
Holesky ⚠️ Never, it's already past the Alan fork

Docker Tag

docker pull ssvlabs/ssv-node:v1.3.11

Changes

  • optimization: (eventsyncer) don't remove QBFT instances to speed up sync #1824

v1.3.10

15 Oct 09:41
027ec07
Compare
Choose a tag to compare

⚠️ This release is for Mainnet only, you should not run it on Holesky which is already past the Alan fork ⚠️

This releases rolls out only three features from the upcoming Alan Mainnet release, in preparation for it.

After enough of the network upgrades to v1.3.10, SSV nodes should find peers significantly faster, which is crucial for the Alan fork to pass smoothly.

Upgrade Priority

Network Priority
Mainnet 👍 Strongly recommended
Holesky ⚠️ Don't upgrade, stay on v2.0.0-unstable.2

Docker Tag

docker pull ssvlabs/ssv-node:v1.3.10

When Alan?

The next release (v2.0.0) should schedule the Alan fork on Mainnet 🤞

Changes

  • Upgraded discovery mechanism in preparation for the upcoming Alan release (#1771)
  • Custom graffiti (#1569)
  • Build blocks with the new v3 Beacon API endpoint (#1569)
  • Drop bad or irrelevant peers (#1730)

v2.0.0-unstable.0

23 Sep 18:35
aafa85e
Compare
Choose a tag to compare
v2.0.0-unstable.0 Pre-release
Pre-release

⚠️ You should not run this release on mainnet operators ⚠️

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 with sync.Map (#1683)
  • fix: (queue) nil return condition in Pop (#1678)

v1.3.8: Custom DomainType and Trusted Peers (#1493)

07 Aug 14:46
2eea503
Compare
Choose a tag to compare
* 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 <liorr@blox.io>
Co-authored-by: rehs0y <lyosher@gmail.com>

v1.3.7

07 Jul 15:40
cc6f7d1
Compare
Choose a tag to compare

This release includes a fix for cases where validators are registered while in a sync committee, alongside a performance optimization in how SSV retrieves validators from Beacon nodes.

Changes

  • fix: refetch duties after metdata update (#1429)

v1.3.6

24 Jun 10:54
40eb334
Compare
Choose a tag to compare

This release features a hotfix for block proposals with recent Lighthouse and Teku versions.

Upgrade Priority

Beacon Node Version Priority
Lighthouse >= v5.2.0 ⚠️ Mandatory
Teku >= 24.4.0 ⚠️ Mandatory
Others ⭐️ Strongly Recommended

⚠️ Upgrade to SSV v1.3.6 to avoid missing block proposals!

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

16 Jun 14:46
5933360
Compare
Choose a tag to compare

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

13 Jun 21:09
39046e4
Compare
Choose a tag to compare

This version includes two minor fixes that should improve performance in certain cases.

Fixes

  • Registering a validator while its in sync committee no longer causes their operators to miss duties (#1432)
  • Fixed external IP detection (#1433)

v1.3.3

02 Apr 13:23
2578c2a
Compare
Choose a tag to compare

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