Skip to content

Releases: strangelove-ventures/horcrux

v3.3.1

10 Jul 21:08
735808b
Compare
Choose a tag to compare

Highlights

  • Allow larger sign payloads with larger default socket read size of 1MB and maxReadSize config parameter
  • Fix debug server when using grpc connection, e.g. with horcrux-proxy

Updating

If coming from v3.3.0-rc1 or v3.3.0, this can be applied as a rolling upgrade, which prevents missed blocks:

  • Shut down a non-leader cosigner, upgrade version, and restart
  • Repeat for remaining non-leader cosigners
  • elect one of the upgraded cosigners as the leader with horcrux elect N
  • Shut down the initial leader cosigner, upgrade version, and restart
  • elect initial leader as leader again if desired

If coming from ≤v3.2.3:

  • Shut down all cosigners and delete ~/.horcrux/raft directory
  • Update binary or docker image
  • Start cosigner nodes back up

What's Changed

  • Make max read size configurable by @agouin in #273
  • fix(runtime): debug server not starting due to blocking grpc serve by @agouin in #275

Full Changelog: v3.3.0...v3.3.1

v3.3.0

27 Mar 19:45
54beead
Compare
Choose a tag to compare

Highlights

  • Support for CometBFT Vote Extensions which allows for signing an additional payload (vote extension) for precommits. Consumes an extra nonce when signing in threshold mode. This is factored into the nonce production rate.

Updating

If coming from v3.3.0-rc1, this can be applied as a rolling upgrade, which prevents missed blocks:

  • Shut down a non-leader cosigner, upgrade version, and restart
  • Repeat for remaining non-leader cosigners
  • elect one of the upgraded cosigners as the leader with horcrux elect N
  • Shut down the initial leader cosigner, upgrade version, and restart
  • elect initial leader as leader again if desired

If coming from ≤v3.2.3:

  • Shut down all cosigners and delete ~/.horcrux/raft directory
  • Update binary or docker image
  • Start cosigner nodes back up

What's Changed

New Contributors

Full Changelog: v3.2.3...v3.3.0

v3.3.0-rc1

11 Jan 15:46
6ccfc19
Compare
Choose a tag to compare
v3.3.0-rc1 Pre-release
Pre-release

Highlights

  • Support CometBFT Vote Extensions

What's Changed

Updating

  • Shut down all cosigners and delete ~/.horcrux/raft directory
  • Update binary or docker image
  • Start cosigner nodes back up

New Contributors

Full Changelog: v3.2.3...v3.3.0-rc1

v3.2.3

12 Dec 16:00
8e01923
Compare
Choose a tag to compare

This patches an edge case bug introduced in v3.2.0 which could be encountered when a cosigner has downtime. The leader could get stuck, causing signing to stop even with threshold cosigners online.

Updating

If coming from v3.2.0-v3.2.2, this can be applied as a rolling upgrade, which prevents missed blocks:

  • Shut down a non-leader cosigner, upgrade version, and restart
  • Repeat for remaining non-leader cosigners
  • elect one of the upgraded cosigners as the leader with horcrux elect N
  • Shut down the initial leader cosigner, upgrade version, and restart
  • elect initial leader as leader again if desired

If coming from ≤v3.1.0:

  • Shut down all cosigners and delete ~/.horcrux/raft directory
  • Update binary or docker image
  • Start cosigner nodes back up

What's Changed

  • Fix stuck leader when cosigner goes down by @agouin in #232
  • Reverse where we start checking for a non-expired nonce, oldest -> newest by @misko9 in #234
  • add unit tests for prune by @agouin in #235
  • mitigate unexpected state by @agouin in #233

New Contributors

Full Changelog: v3.2.2...v3.2.3

v3.2.2

01 Dec 22:54
4fe383e
Compare
Choose a tag to compare

This patches an bug introduced in v3.2.0 which could be encountered when using horcrux with only one chain where the block times are 5+ seconds

Updating

If coming from v3.2.0 or v3.2.1, this can be applied as a rolling upgrade, which prevents missed blocks:

  • Shut down a non-leader cosigner, upgrade version, and restart
  • Repeat for remaining non-leader cosigners
  • elect one of the upgraded cosigners as the leader with horcrux elect N
  • Shut down the initial leader cosigner, upgrade version, and restart
  • elect initial leader as leader again if desired

If coming from ≤v3.1.0:

  • Shut down all cosigners and delete ~/.horcrux/raft directory
  • Update binary or docker image
  • Start cosigner nodes back up

What's Changed

Full Changelog: v3.2.1...v3.2.2

v3.2.1

30 Nov 17:52
6a974bb
Compare
Choose a tag to compare

This patches an edge case bug introduced in v3.2.0 which could be encountered with an unreachable cosigner #226

Updating

If coming from v3.2.0, this can be applied as a rolling upgrade, which prevents missed blocks:

  • Shut down a non-leader cosigner, upgrade version, and restart
  • Repeat for remaining non-leader cosigners
  • elect one of the upgraded cosigners as the leader with horcrux elect N
  • Shut down the initial leader cosigner, upgrade version, and restart
  • elect initial leader as leader again if desired

If coming from ≤v3.1.0:

  • Shut down all cosigners and delete ~/.horcrux/raft directory
  • Update binary or docker image
  • Start cosigner nodes back up

What's Changed

  • Fix ClearNonces index out of range by @agouin in #227

Full Changelog: v3.2.0...v3.2.1

v3.2.0

27 Nov 15:41
976815f
Compare
Choose a tag to compare

Highlights

  • Much faster signing with nonce pre-sharing and GRPC multiplexing. Before: ~5ms + network latency of 4 round trips, After: ~2ms + network latency of single round trip #218
  • Per-chain-id prometheus metrics #198
  • Cosigner GRPC Server for integration with horcrux-proxy to multiplex block sign requests, also in preparation for Gordian.

Updating

  • Shut down all cosigners and delete ~/.horcrux/raft directory
  • Update binary or docker image
  • Start cosigner nodes back up

What's Changed

New Contributors

Full Changelog: v3.1.0...v3.2.0

v3.2.0-rc2

17 Nov 16:49
ad63753
Compare
Choose a tag to compare
v3.2.0-rc2 Pre-release
Pre-release

Highlights

  • Much faster signing (~2ms + network latency of single round trip) with nonce pre-sharing and GRPC multiplexing #218
  • Per-chain-id prometheus metrics #198
  • Cosigner GRPC Server for integration with horcrux-proxy to multiplex block sign requests, also in preparation for Gordian.

Updating

  • Shut down all cosigners and delete ~/.horcrux/raft directory
  • Update binary or docker image
  • Start cosigner nodes back up

What's Changed

New Contributors

Full Changelog: v3.1.0...v3.2.0-rc2

v3.2.0-rc1

17 Nov 05:38
de54dfd
Compare
Choose a tag to compare
v3.2.0-rc1 Pre-release
Pre-release

Highlights

  • Much faster signing (~2ms + network latency of single round trip) with nonce pre-sharing and GRPC multiplexing #218
  • Per-chain-id prometheus metrics #198
  • Cosigner GRPC Server for integration with horcrux-proxy to multiplex block sign requests, also in preparation for Gordian.

Updating

  • Shut down all cosigners and delete ~/.horcrux/raft directory
  • Update binary or docker image
  • Start cosigner nodes back up

What's Changed

New Contributors

Full Changelog: v3.1.0...v3.2.0-rc1

v3.1.0

01 Aug 05:01
03f565d
Compare
Choose a tag to compare

Highlights

  • Introduce ECIES+ECDSA for encryption and digital signature of cosigner-to-cosigner network traffic for faster cosigner secure communication. RSA+P5S encryption + signature authentication is now deprecated
  • Fix latency regression in v3.0.0 due to golang 1.20 rsa regression
  • Release binary is now static for portability across linux distributions
  • Leader election fixed when cosigners are referenced by IP address
  • Connection and concurrency optimizations

Updating

  • Shut down all cosigners and delete ~/.horcrux/raft directory
  • Update binary or docker image to v3.1.0
  • If coming from v2.x.x, run horcrux config migrate command to migrate key files and config from v2 format to v3 format
  • Recommended: replace RSA with ECIES for cosigner secure communication. On a trusted machine, generate ECIES keys with horcrux create-ecies-shards --shards <total number of cosigners>. Distribute the cosigner_$N/ecies_keys.json files to the respective cosigners. After this, rsa_keys.json is no longer required on the cosigners.
  • Start cosigner nodes back up

What's Changed

New Contributors

Full Changelog: v3.0.0...v3.1.0