What is Zerocoin?

At it’s core, Zerocoin is a privacy protocol that can be applied to cryptocurrency, utilizing advanced cryptography to hide the transaction history of any coin that has been passed through the “Zerocoin system”.

This might not be the most straightforward concept without a level of understanding of how Zerocoin works, so here is the basic description from the Zerocoin project’s website.

“Zerocoin allows direct anonymous payments between parties. Zerocoin transactions exist alongside the (non-anonymous) Bitcoin currency. Each user can convert (non-anonymous) bitcoins into (anonymous) coins, which we call zerocoins. Users can then send zerocoins to other users, and split or merge zerocoins they own in any way that preserves the total value. Users can also convert zerocoins back into bitcoins, though in principle this is not necessary: all transactions can be made in terms of zerocoins.”

To apply this to Bulwark, you will be able to create or “mint” zBWK, a 2nd coin on the network with the value of 1 BWK. You can then redeem the zBWK to receive BWK from the network, which can be spent as usual. To summarize the process, you send your coins to the network to be burnt, and are given an “IOU” from the network called zBWK, which can later be redeemed to receive your BWK back without any transaction history attached to them.

How does this stack up to PrivateSend/Obfuscation?

With the implementation of Zerocoin, will come the removal of our outdated technology in the form of Obfuscation. Obfuscation has quite a number of issues, as detailed in a very neat blog post by the Zcoin team, but 2 issues that we find to be the most important to us, are as follows.

Firstly, the effectiveness of PrivateSend is dictated by how many people are currently taking part in the obfuscation process, therefore it can take weeks to obfuscate large balances depending on the liquidity at the time. Zerocoin massively cuts down on this time by not requiring there to be multiple people taking part in the mixing process.

Another core problem is recent research results with regards to how safe CoinJoin-based systems (such as PrivateSend) actually are. Studies have revealed that merchant cookies and cluster intersection attacks when combined can actually reveal the identity of who purchased X item online, and can even result in unidentified people linking your person to your public key. One of the 1st points we make in our whitepaper is that we intend to adopt best-practices to ensure Bulwark is as good if not better than all other privacy offerings on the market, and implementing Zerocoin is in perfect alignment with this.

I heard something about Trusted Setups, are you trustless?

We’ve taken every step we can to ensure that Bulwark remains as trustless as possible, using best practice procedures. Similarly to how other Zerocoin-enabled projects have used RSA-2048 to generate the initial params for Zerocoin, we compiled a tool that generates the initial params with 3072 bit encryption, before destroying them forever, leaving us with the final public key. We then took the extra step of destroying the machine that this was run on.

If you are interested in learning more, you can find the initial parameter generation code in our GitHub repo, you can also find out more about RSA encryption here.

How do I secure my privacy?

We’ve worked to make the GUI inside the wallet as simple as possible to use, but, if you still find yourself a bit lost, join us on Telegram or Discord and we’ll be happy to guide you through the process, if you aren’t the social type, we will have guides coming to the knowledgebase and our YouTube channel soon!

What else is coming with the Zerocoin update?

Needless to say, we want to pack everything we can in to the Zerocoin update, so here’s what you can expect in the 2.0 wallet update.

Firstly, we are adding in a large number of codebase upgrades:

v2 Stake Requirements:

Starting with the activation of the dynamic protocol enforcement spork for version 70850 the staking requirements will change in favor of the activation of the zercoin protocol. Current:

- Confirmations = 67 blocks

- Minimum amount = 0.00000001 BWK New:

- Confirmations = 475 blocks (~12 hrs)

- Minimum amount = 100.0 BWK

Changelog:

- Zerocoin added along with supporting features.

- Update to protocol version now set as 70850 for v2.0.0.0.

- Updates to activated sporks with static values.

- Update to QT resolution handling on some screens.

- Fixed some UI alignment issues in QT wallet.

- Added blockchain checkpoint for a recent block.

- Changed staking requirements as noted above.

- Changed setstakesplitthreshold to match new requirements.

- All transactions now show in transaction list.

- Update to some QT graphics.

Furthermore we will we have a beginners tutorial video for using Zerocoin, making sure that the latest in privacy innovation is available to the broadest audience possible. To add to this initiative, we have the very blog post you are reading, that you can forward on to anybody who might not understand Zerocoin, to help explain it’s importance and how to get started!

Finally, like with any update of this scale, we will have a brand new wallet update, squishing any bugs found in previous wallet versions, and creating a whole new interface to accommodate Zerocoin.

It is worth mentioning that once the spork activates to enable Zerocoin, wallets and masternodes not currently on the latest version will be disconnected from the network, so update ASAP! Updating will reset your place in the masternode reward queue, but everyone needs to do this, so rewards will even out as the network updates to the new protocol.

As always, the latest binaries and source code will all be available on the Bulwark GitHub, and update scripts will be distributed for Masternodes/SHN’s/Staking servers.

Zerocoin Release Schedule

10/01/2018 — Wallet Release 2.0.0.0

10/15/2018 — Activate Protocol Spork

10/22/2018 — Activate Zerocoin

How to update

Local Wallet:

Close wallet, download new binaries from our Github , open wallet with new binaries.

VPS Masternodes:

bash <( curl https://raw.githubusercontent.com/bulwark-crypto/Bulwark-MN-Install/master/update_node.sh )

Secure Home Node:

bash <( curl https://raw.githubusercontent.com/bulwark-crypto/shn/master/update.sh )

VPS Staking:

bash <( curl https://raw.githubusercontent.com/bulwark-crypto/Bulwark-Staking-Install/master/update.sh )

What’s next for Bulwark?

You might think at this point we are running out of things to do, but fear not, we are always hard at work to improve the Bulwark ecosystem!

In the near future, we have the Bulwark Design Framework releasing, I2P integration, as well as scripts for hosting masternodes via I2P.

For more information on these features, and many more, please check out our roadmap!