Skip to content

Releases: MyHush/hush3

Hush v3.5.2

22 Oct 20:16
2f794e2
Compare
Choose a tag to compare

Hush 3.5.2 "CHILL Chupacabra"

This is an OPTIONAL maintenance release of Hush, if you are running Hush 3.5.0 or later, no update is required.

Our release name is related to the Aerospace countermeasure called CHAFF, and it's later improvement CHILL:

https://en.wikipedia.org/wiki/Chaff_(countermeasure)

These can be thought of as physical representations of how Sietch protects the Hush transaction graph by making many possible paths for funds to flow, very similar to a CHILL radar signature which shows many potential directions a plane could be going in.

Changes

  • Hush full node is now released under the GNU Public License Version 3 (GPLv3)
    • hushd is now Free Software!
    • Any cryptocoin that wants to use Hush code must be licensed under the GPLv3 or ask us for a more permissive license, which we are open to on a case-by-case basis. Please contact us if your company or organization would like an MIT license to hushd.
  • The z_listreceivedaddress RPC now returns a memoStr key for the utf8 string representation of a shielded memo, if it exists
eb12ace9223de5b4e3d52e7733c98eaca929e316d004aca3937d5ff9a31e43f1  hush-3.5.2-linux-amd64.tar.xz
8629f19f54f67b874f0bcbde56796eed859ea0aa886487cc8b030f76f42cfd47  hush-3.5.2-amd64.deb
46bb4bce65885f163bf006d8ca3c6e18200275f1b9bf1a009367e90fcddbedd7  hush-3.5.2-win.zip

Hush v3.5.1

06 Oct 11:43
Compare
Choose a tag to compare

Hush v3.5.1 Pristine Pyrococcus

This is an OPTIONAL release but upgrading is encouraged. Hush 3.5.0 is sufficiently new, it's not required to update from that to support our Block 340,000 Halving.

Changes

Thanks to @miodragpop for implementing both TLS+asmap features, earning some nice HUSH bounties 😎

  • TLS 1.3 support ported from ZEN with custom Hush tweaks.
    • All Hush nodes will try to use encrypted TLS connections with peers by default
    • Hush community encourages self-signed certificates and does not suggest paying any authority for a "little green lock"
    • "Official" certificates are not trusted any more than self-signed ones, so they are a waste of money that should be avoided
    • getinfo now returns a tls_connections key in JSON data
    • -tls=only can be used to only use encrypted connections
    • This has no affect on localhost RPC, this changes how a node talks with peers.
  • ASN map filtering of peers, ported from KMD + BTC Core
    • -asmap=... can be used to set a custom ASN map filter file
1538b24c41d98d25ebc9638d09b1115ea3ed01eb046f7f035123f620cde65c89  hush-3.5.1-win.zip
ba83e5de34dfb3b60154d1fa4dbed35a570c5201ed4e6c8867c12e8c11a85d91  hush-3.5.1-linux-amd64.tar.xz
fd88dce71786390089016ed1f1e2e3c56301fe5b8338e0d421ed4a0fe3664c62  Hush-3.5.1-mac.dmg

Hush v3.5.0 Exponential Extremophile

24 Sep 02:03
3a276a7
Compare
Choose a tag to compare

3.5.0 Exponential Extremophile

Hush implements Extreme Privacy and so extremophiles make a good mascot and where we derive our release name. The Tardigrade is especially apt because it has 8 legs and some species have 8 claws on each leg, exactly mirroring what a Sietch-enabled transaction graph looks like. It also can survive outer space and hard radiation and doesn't give a fuck, about surveillance or anything else. 🤘

 606 files changed, 9426 insertions(+), 3509 deletions(-)

3.5.0 Highlights

  • 🕙 Finalize changes to support our new Blocktime of 75 seconds
  • 🔪 Updated the Hush Halving schedule, i.e. Emission Curve, for the next ~120 years (the next 30 halvings)
  • 🤖 The Hush Block Reward will go to zero at Block 50740000 in the year 2140. More details about this soon.
  • 😎 Greatly improved Sietch implementation, "amnesia zdust" addresses are now generated at run-time
  • ❓ Sietch zdust outputs now always contain "random/encrypted" data which provides plausible deniability AKA deniable encryption
  • 💰 The -wallet CLI option now supports wallet files outside the datadir and relative paths
  • 📫 -txsend CLI option from @str4d ported by @DenioD, which helps with i2p integration

More changes include:

  • Improved aarch64 support for Raspberry Pi 4
  • Removed the proton optional dependency
  • GetAdjustedTime() replaced with GetTime()
  • Correctly keep track of ChainShieldedSpends for z_getchaintxstats, now returned in the
    shielded_spends key, which also makes the shielded_pool_size calculation less fragile
    across restarts
  • The timeoffset key in getpeerinfo and getnetworkifo are deprecated and now always 0
  • More remnants of dead Sprout/JoinSplit code was removed, RPCs which used to return
    empty Sprout-related RPC keys no longer return those keys. Hush never had Sprout data
    and therefore we don't consider this a breaking change, since no software should be
    relying on Sprout features on HUSH v3.
  • Added a z_listreceivedaddress RPC which internals never had RPC access
  • Fixes and improvements to deletetx=1, which is still considered experimental
  • Checkpoints updated up to Block 300K

SHA256 checksums

117c9c5f43b8c6371433e9ed1143f0175f4515a582f943ae44db5f74029b70f8  hush-3.5.0-amd64.deb
6a43ea10b2bf9cd8a719733db7e283a50d7af014cc644be1aa3e6b1b8282233d  hush-3.5.0-linux-amd64.tar.gz
c78d3323e5496d9622fdf2890910cc36dbabac7bd5635e0a4ebbba91c7f7cfde  hush-3.5.0-win.zip
36a6096ed6ab502ebcb8666e456b38c71bac5d0a7378c647ad3f4f3b07a26782  hush-3.5.0-mac.dmg

Notes

The Linux binary above was generated on Ubuntu 18.04 LTS and is dynamically linked.

Hush v3.4.0

18 Jun 13:35
13e4ffa
Compare
Choose a tag to compare

Hush 3.4.0 "Desprouted Diatom"

We are happy to announce our latest release Desprouted Diatom!

This release contains 136 files changed, 3750 insertions and 9479 deletions which give 13229 lines changed in total.

👀 Mandatory Release 🔥

Please update ASAP! Thanks.

Release Details

  • 🔑 New Season 4 KMD Notary pubkeys have been updated (as of Block 245555) 🔑
  • 🎉 The code for ENFORCED PRIVACY (aka z2z) has been merged and is set to take effect at Block 340000!
  • All remaining internals code relating to Sprout has been deleted, which decreases the attack surface of Hush, increases maintainability, reduces compile times, reduces memory use at run-time and gives small performance speedups. 💥
  • The new Subatomic Dapp has been ported from KMD, which supports z2z swaps. A GUI for this CLI is in being worked on, if you are interested to help, please join Discord 🧑‍🤝‍🧑
    • A special thanks to jl777 for writing Subatomic z2z swaps
  • We now use our own mirror of Boost in our build system, since bintray.com was down and broke our build
  • Payment Disclosures were deleted. They were Sprout-only, and also experimental and poorly-designed. ❌
    • Sapling viewing keys replace this, there is no loss of functionality
  • Merged in various upstream fixes relating to CryptoConditions from KMD upstream ✔️
  • Optimizations and bug fixes to Sapling Consolidation 🌳
  • Fixes CVE-2018–20586 from KMD (which ported it from BTC) 🧑‍🚒
  • Added z_getnotescount RPC 🆕
    • This gives a more performant way for wallets/external APIs to decide if there are new zaddr funds since they last asked
  • Updated ccache dependency to 3.7.9 🔢
  • Ported the -txexpirynotify CLI option from ZEC upstream (thanks to @DenioD) ☎️
    • This can be used to execute a command when a transaction expires, potentially to retry it or take other action
  • Added rescan RPC so wallets can initiate a rescan without importing a key and without restarting ♻️
106488b385571225b9fa4e029d240e52560be762098ec32b2315824bc3bb202c  hush-3.4.0-linux.tar.xz
706b296f0d6954846bac823d7cc4ca2a6b1230da3f31588f6264c28492412a4a  hush-3.4.0-amd64.deb
427b6e42121747378d1080e0e7249b1374e82148c0e28aaca0a7c65704ff3ea3  Hush-3.4.0-mac.dmg
d3cde17020edf8ff61f83ae7b541d988345b12f45aae041680b5df8fd8e81b3b  hush-3.4.0-win.zip


Hush v3.3.2

08 Apr 16:21
Compare
Choose a tag to compare

Hush v3.3.2

This release consists of about 200 changed files and about 26,000 changed lines of code.

New features

  • ARMv8 support from @radix42! This version of Hush has a new zcutil/build-arm.sh to build on ARMv8, still experimental! Thanks again, Jane.
  • Sapling Zaddr Consolidation! TLDR: This code can greatly reduce the size of wallets and increase performance for service providers. It's designed mostly for exchanges and mining pools but anybody with a large wallet will benefit. It defaults to OFF and currently GUI wallets do not know how to enable it. That will be coming.
    Thanks to CryptoForge of ZER for originally writing this code. We have made various changes to it for reduction of metadata leakage when adding to Hush and adding in our custom Sietch functionality, which prevents consolidation from reducing the anonymity set.

New CLI options to hushd:

-consolidation - Enable auto Sapling note consolidation (default: false)
-consolidatesaplingaddress=<zaddr> - Specify Sapling Address to Consolidate. (default: all)
-consolidationtxfee - Fee amount in sats used send consolidation transactions. (default 10000 sats or 0.0001 HUSH)
-deletetx - Enable Old Transaction Deletion
-deleteinterval - Delete transaction every <n> blocks during inital block download (default: 1000)
-keeptxnum - Keep the last <n> transactions (default: 200)
-keeptxfornblocks - Keep transactions for at least <n> blocks (default: 10000)
-opretmintxfee - Minimum fee for OP_RETURN transactions (default: 400000 sat per 1 Kb)

For most use cases, using hushd -consolidation -deletetx is enough to see large reduction in wallet size (up to 80-90% in some cases) and large increases in wallet performance.

Even better, you can copy+paste these 2 lines into your HUSH3.conf or set them in the Advanced settings of SilentDragon:

consolidation=1
deletetx=1
  • New RPCs: z_getinfo, z_listsentbyaddress, z_listreceivedbyaddress, getalldata (last 3 ported from ZER with some improvements)
  • Improved Travis CI support thanks to @yusufsahinhamza
  • New -opretmintxfee ported from KMD upstream: KomodoPlatform@c4d60f8 by @DenioD

Bugfixes/Improvements

  • ThreadNotifyWallets refactor (thanks to @DenioD!) ported from ZEC upstream zcash#4379 zcash#4390
  • Deletion of libsnark internal library. This library is only needed by Sprout zaddrs and removing it speeds up our compile times, improves support for ARMv8, reduces memory footprint and greatly increases maintainability by removing large amounts of code.
  • Shielded index (zindex) statistics of coinbase and organic transactions/payments corrected
  • Updated dependencies: curl, boost, native_ccache, openssl and proton were updated
  • Removed more Sprout-only RPC's (zcbenchmark, zcrawjoinsplit) and code
  • Various improvements to RPC documentation
ea6f7bf88fd0b0a97afdbb90112180936b03fc8cfbed9dc1eb8af6abe9d7bc9c  hush-3.3.2-win.zip
ac251eba12ab5788733023263976e69f522f1655cf6290d1c9f20ccb24b01854  hush-3.3.2-mac.dmg
3dbae6b09b95256739c56fa50ae81b72ece90fe4c9a9f99ffbd0c77cd19141ab  hush-3.3.2-amd64.deb
c57d4c826ca8fa6a7b8a01dca46eee01c81579d216ade21a88df55012a458b38  hush-3.3.2-linux.tar.xz

Hush v3.3.1

18 Jan 14:16
Compare
Choose a tag to compare

This maintenance release fixes a non-consensus bug in sendmany which prevented it from working.
This release is not mandatory.

6b2eb0de0d86bfecd3ef032bd5a1aa68dfe171580a5b6cbad5528a0d79f3ee7a  hush-3.3.1-amd64.deb 
c19585144b4dd30308cea2d86509867e954447771d50daae65bb3ed103cad6fa  hush-3.3.1-linux.tar.xz
a59452099ea0307d87a4545a6c95bbeb99818f7acf3ef4d1019cfb3781bbd5cd  hush-3.3.1-win.zip
a2ca66145f014ab79522e1910786ccbac03c1c9766bc2e0099c39e4b2d2d1549  hush-3.3.1-mac.dmg

Hush v3.3.0

03 Jan 15:13
Compare
Choose a tag to compare

Hush v3.3.0 "Snarky Sasquatch"

A new Hush release has appeared! Choose your adventure wisely.

TLDR: THIS RELEASE IS MANDATORY!

  • This release sets the block height for our "Snarky Sasquatch" Network Upgrade. All full nodes must update before Block 166250 on roughly Jan 29th at 1pm UTC or will not be on the correct network!
  • New "Sietch" functionality protects against new metadata attacks: https://github.com/myhush/sietch
  • Sietch does many things, and indirectly it also fixes a metadata leakage bug in Sapling addresses that has been publicly known for over 1 year: Zcash issue 3606
  • New ability to launch Hush Smart Chains with a single command: https://github.com/myhush/hush-smart-chains
  • Fixes CVE-2019-18936 in UniValue dependency: bitcoin/bitcoin#17742
  • The new experimental Shielded Index (-zindex) which keeps track of many stats that can be seen via the new getchaintxstats RPC. These include shielded payments, anonymity set size and many other things.
  • New experimental z_listnullifiers RPC which returns Sapling nullifiers.
  • Brings in all core updates and fixes relevant from Komodo 0.5.0 Obsidian Dragon (includes consensus changes!)
  • Updates+fixes to all CryptoConditions smart contracts from KMD 0.5.0
  • Updates to NSPV/Superlite code from KMD 0.5.0
  • Update to 3rd party KMD Notary node pubkeys. Previously Hush was a run-time fork of KMD, but now we are a source code fork, so this is more appropriate and helps KMD Notary Node security.
  • Hush now has Travis CI setup to compile our code + run tests on every Github push. Ported from KMD.
  • Enable the creation of z-only (like Pirate) Hush Smart Chains via -ac_private=1
  • Removed more Sprout-specific code from our codebase, making things faster and easier to maintain.
  • Allow hush-cli stop to be run during RPC warmup. This allows you to stop hushd just after it's started, without waiting.
  • Update to libsodium 1.0.18
  • Removes VerusHash from our source code, paving the way to easily generate non-Intel binaries such as ARMv8 for the DragonHead
  • Removed large amounts of Proof-of-Stake-related code which is not used in Hush. This helps reduce our build times as well as CPU and RAM usage of hushd. This also decreases the attack surface of the Hush codebase and reduces maintanence burden.
  • Ported AFL fuzzing features to our build system from Zcash
  • Changed our max debug.log size from 10MB to 100MB
  • Added checkpoints for every 1000th Hush block and new contrib/checkpoints.pl script to automatically generate them.
  • Deleted QT wallet code inherited from Bitcoin, which was old and broken.
  • z_exportwallet can now optionally not rescan. Previously it did a rescan unconditionally.
  • New SHA256 SSE4 routines ported from KMD (which was ported from BTC), enabled with --enable-experimental-asm=yes
  • debug.log no longer containts a log2_stake column, code which processes Hush debug.log may need modification
  • New --hardfork-height CLI option for devs+notaries to set the next hardfork height via CLI, for testing purposes

SHA256 sums

eacfe99db27b271a25377f49243ee11d4bb0f59474eee39e81793b39a536c34c hush-3.3.0-win.zip
3f0d4d4fa68f0725253ecf7686e48923ca85ae584b388ed63a1b6a4c48fd2b6a hush-3.3.0-mac.dmg
bb97932509a600fb832f6694b3f40bb6de151bb160d0f83548b63f493801b34c hush-3.3.0-linux.tar.xz
8035e0ef8ace587eb12a481a5fd994554894da65f10c58ebeedf450da3e659d3 hush-3.3.0-amd64.deb

Hush v3.2.3

14 Dec 09:59
Compare
Choose a tag to compare
  • Update our build dependencies to use our own fork of the following dependencies:
    • libgmp, libsnark, libsodium
    • This fixes build system issues caused by changed URLs and will prevent that issue from happening again in the future
  • New RPC keys are now returned in getblockchaininfo : longestchain and notarized which are now used by the SDL backend

SHA256 Sums:

9d563d0faf4e605bfc46ac3f2f99ddd21f65b77948bea202523d0e4cb1f270a4  hush-3.2.3-amd64.deb
ab053ed003c7cdbbd43514e383b303d5ab79b3594b6423dd39c4e326cc8f3a0f  hush-3.2.3-linux.tar.xz
924b2514e70dda618d81de2aacb5cceb911e305038ee022e7ea253dd23df586f  hush-3.2.3-mac.dmg
c1c2de3c8bf3bb035d728367dde3cf7bb5127fc7f2bd0051bc311aba463d5d32  hush-3.2.3-win.zip

Hush 3.2.2

26 Nov 17:17
Compare
Choose a tag to compare

This release is not mandatory but highly encouraged for exchanges and pools.

Binaries for various platforms will be Coming Soon.

  • Fix of CVE-2017-18350 from ZEC and windows portability fix from KMD upstream
  • Added contrib/hush-uri.bat
  • Removed some Sprout code
  • Updated addnode commands in hushd.bat
  • Fixed some rare edge case bugs in Sapling param finding code
  • New detection of "corrupt" Sapling params (invalid sizes) helps to give users the correct error in a GUI wallet (corrupt versus no params)
    • This gives our libsnark internals a smaller attack surface, and avoids low-level errors from files which are corrupt, from a full HD or partial download or HD corruption.
  • We now look in various locations for Sapling params to support Mac DMGs and being installed to /Applications
fc546827b056376ff5653c6ec263d278f4aa20705c8a023797b2608bc0ae6376  hush-3.2.2-amd64.deb

To install,

# This will only install the Debian package if correct SHA256 is seen:
echo "fc546827b056376ff5653c6ec263d278f4aa20705c8a023797b2608bc0ae6376  hush-3.2.2-amd64.deb" | shasum -a 256 --check && sudo dpkg -i hush-3.2.2-amd64.deb

Hush 3.2.1 LIFTOFF

30 Oct 02:34
Compare
Choose a tag to compare

This release fixes some issues that were discovered in Hush 3.2.0. There are no consensus changes in this release, so it is not required for any user, exchange or pool. That being said, if you are experiencing issues, it's best to use this latest Hush release. Some changes in this release affect mining pools and they are encouraged to update.

  • We now have a DEVELOPING.md document in our repo which gives advice for working on Hush codebase
  • Updated to latest upstream SuperLite/nSPV features
  • Merged in latest cryptocondition/Antara module updates from KMD upstream
  • Fixed a bug that corrupts the block index on second startup
  • Improved code to find installed Sapling params, since Debian packages install them into /usr/share/hush now
  • Updated DNSSeeds
  • Fix fees associated with transactions in the mempool with fSkipExpiry=0

To use this new Hush binary with an existing version of SilentDragon, just start the hushd OR hushd.bat binary first (after shutting down any other versions that might be running), and THEN start SilentDragon. It will auto-connect to the already-running hush full node, and not attempt to start it's own.

fdf0485842e3345a18e174b0c3cb2839bd936ff404a5154afeb2f793a687936d  hush-3.2.1-amd64.deb
d10596b57537e805f7678ad320ad9e8fdfdd6d009dc9df792a36f10c0c5fe681  hush-3.2.1-win.zip
0c811f7cec4c9cd9f8a520285e3d06bafff70fa330ef479bfe508dc06ef02670  hush-3.2.1-mac.zip
50d24c0c131c013384d18be7b332df849d3e98fdc40f15d0ad1db7d852fc17ed  hush-cli.bat
b7d50527bff2d6df5c708c348aee1d00d629c097682e38b6f4447cd391a40317  hushd.bat
c3b2a5f7f1815d4841dd01dbef7d1152d2cf106d74dc32e479e9806049330672  komodo-cli.exe
9e5906025385440649d739b4f9697a622c2951310e7b5baf49483aef39a39b6e  komodo-tx.exe
9d8103f6effb248fc6e5fe47ef7025086a2b2474f09f84d4e226d52b76d6a688  komodod.exe
2f0ebbcbb9bb0bcffe95a397e7eba89c29eb4dde6191c339db88570e3f3fb0e4  sapling-output.params
8e48ffd23abb3a5fd9c5589204f32d9c31285a04b78096ba40a79b75677efc13  sapling-spend.params

To install Debian package: sudo dpkg -i hush-3.2.1-amd64.deb
To uninstall Debian package: apt-get remove hush