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