Fix Network Privacy during Ironwood Upgrade: NymVPN free for ZCash users during Ironwood

Hey everyone, as noticed by @zooko and Shielded Labs, if you don’t have network-level privacy during the Ironwood update, you risk connecting your unshielded $ZEC balance (as Ironwood upgrade involves unshielding the amount) to your IP address. Also, the timing of your transaction can reveal information about you as well. So in order to keep your Zcash Ironwood migration balance private you need to use an anonymizing VPN while doing the upgrade.

tl;dr: We’ve made NymVPN, a decentralized VPN and mixnet, free for $ZEC holders who can prove they hold some shielded $ZEC.

To install, see https://zcash.nym.com

On that site, you send a nominal amount of $ZEC (like anything, .001 works) and then you get a free NymVPN subscription for a month. After Ironwood, we’ll upgrade it to take in Ironwood transactions. Your subscription is just your private key, you can download NymVPN in an app-store or via the website, Github, etc. - just make sure you “Sign In” with your account’s private key you got from zcash.nym.com.

The threat model is a ZCash full node (needed for your lightwallet) or even your local ISP/telco knowing your IP and connecting it to your Zcash Ironwood transaction that reveals your balance. If you want to go deep into threat models, we made a guide for wallet devs that goes deep into it: https://zcash-sdk.nym.com/

Here’s the instructions for the Ironwood migration. Note there’s a few subtle points:

  1. First, you should probably hide your IP during the initial block sync you do before the Ironwood transaction. An adversary can figure out where you last read the block and connect it to an outgoing a transaction. While some wallets like Zodl support Tor, generally these wallets will not turn Tor on during the block sync as it’s pretty slow.

So with NymVPN, just turn on “Fast mode” before syncing to Zcash blockchain before sending your Ironwood transaction. That disconnects your IP from your blockchain sync. NymVPN in “fast mode” should be able to handle the blockchain sync.

  1. However, you want a different IP address for your Ironwood “Send” than that you used in blockchain sync. Also any timing obfuscation here helps, as this is more sensitive than your blockchain sync. Tor gives you a new IP address about every 10 minutes unless you create a new circuit.

In order to guarantee a new IP address for the send, with NymVPN turn on “Mixnet mode”, select a new exit gateway, and then send your transactions to Ironwood. If you wallet allows multiple Ironwood sends, just keep selecting new exists before authorizing each send.

  1. After your Ironwood migration is complete, encourage your wallet of choice to integrate network privacy. We at Nym have built all the libraries needed, but we still have not enough wallets integrating them. See here: Revised Nym for ZCash Network-level Privacy

And keep using your free NymVPN subscription for all your other tasks to defend yourself and others!

3 Likes

OK, unfortunately now with the Ironwood upgrade, zcash-walletd (which we use to prove Zcash adresses) doesn’t work with Ironwood. So the free NymVPN subscription for proof of a shielded Zcash transaction won’t work now :frowning: We’ll have it back up as soon as zcash-walletd upgrades.

1 Like