v0.15.0 - 2023-04-12
We are excited about this new v0.15.0 release of charon which focuses on performance and stability.
Notable improvements:
- #1904 completes the QBFT wire protocol migration resulting in a substantial decrease in bandwidth requirements for block proposals. This addresse sporadic block proposal failures in large geo-distributed clusters.
- #1889 refactors the DKG wire protocol to use "reliable-broadcast" making our DKG more robust against byzantine peers.
- #1895 enforces matching DKG minor versions, this mitigates problems caused by users running different versions of the DKG protocol.
Breaking Changes
⚠️ ⚠️ ⚠️
- #1904 removed support for v0.13.0 legacy consensus wire protocol. v0.15.0 is therefore only compatible with v0.14.0. Only upgrade to v0.15.0 if all other nodes in the cluster are on v0.14.0 or newer.
- The
--network
configuration flag in thecharon create cluster
andcharon create dkg
commands now default tomainnet
. It does not default togoerli
like previously anymore.
Full Changelog: v0.14.2..v0.15.0
Feature
- Fix race conditions in charon #1867 (#1966,#1952,#1953,#1950,#1949,#1944,#1947,#1946,#1939,#1942,#1940,#1938,#1937)
- Log peer info at the start of DKG #1912 (#1941,#1936)
- Default on CLI commands to mainnet #1969 (#1986)
- p2p: add support for delimited wire protocol upgrades #1885 (#1890)
- Refactor DKG to use "reliable broadcast" #1889 (#1893)
- dkg/bcast: implement reliable broadcast protocol #1893 (#1896)
- Reduce QBFT throughput #1552 (#1904)
- Upgrade all libp2p wire protocols to use length-delimited messages #1884 (#1885)
- Teku migrated to SSZ block creation by default #1537 (#2064)
- PoC fuzzing beaconmock #1848 (#1929)
- Display "BeaconNode far behind" on grafana #1967 (#1995)
Bug
- Verify commitments lengths in DKG #1999 (#2007)
- DKG doesn't support peerinfo protocol for relays #1978 (#1982)
- Improve BN health check #1732 (#1961)
- Enhance
dkg.checkWrites()
logic #1919 (#1935) - DKG doesn't fail server side if version mismatch is detected #2002 (#2003)
- Concurrent relay dial errors #1898 (#1921,#1903)
- Incorrectly ignoring attestation aggregation failures #1348 (#2087)
- Multi beacon node issues if http times out #2037 (#2038)
- fix relay conns #1892 (#1891)
- DKG reconnect deadlock bug #1925 (#1924)
- Relay
peerinfo
protocol is failing #1956 (#1958) - Issues with keymanager API feature #1928 (#1930)
- lock file post does not add content type to request #1906 (#1909,#1908,#1907)
- DKG must error when peer runs different version #1895 (#1901)
- v0.15.0-dev doesn't advertise supported protocols #1948 (#1954)