ZCoin (XZC) is a cryptocurrency that offers its users transactional privacy and anonymity. It’s the first fully functional implementation of the Zerocoin protocol, and it uses zero-knowledge proofs to achieve its anonymity.
Zerocoin protocol was originally meant to become an extension of the Bitcoin protocol that would add true anonymity to BTC transactions. A testnet version was released in December 2015 under the name Moneta. On September 28, 2016, it was rebranded to ZCoin for its official launch by lead developer Poramin Insom, who is also the founder of Vertcoin.
ZCoin’s mission is to guarantee financial privacy and allow users to transact however they want, as long as it does not infringe on the well-being or individual liberty of others. Although anonymous protocol solutions for cryptocurrencies already exist, ZCoin aims to provide the strongest level of anonymity possible without sacrificing usability and the auditability of the available coin supply.
ZCoin Pricing, Market Cap and Volume
ZCoin has a limited supply of 21.4 million coins and it was launched without an ICO. As a mineable cryptocurrency, ZCoin will follow the same four-year halving cycle as Bitcoin. A new block is mined every 10 minutes, adding 50 coins to the circulating supply. The developers originally wanted 20% of the block reward to go to the Founders Reward for the first four years (equivalent to 10% of the total supply), but upon the launch of Znodes they agreed to reduce it to 14%. After four years, all block rewards will go to miners.
The Founders Reward will be given to early investors, developers and community members. It will also be used to pay out bounties to users who complete various tasks, such as core development, marketing, graphic design, web development, etc.
ZCoin’s market cap rose at a sluggish pace until December 2017, when it shot up to ~$527 million USD from less than ~100 million USD in the previous month. The spike was probably caused by the launch of Znodes. During that month, the price of XZC reached ~$140 USD, but it has since gone down.
How ZCoin Works
There are two layers to ZCoin’s system: ZCoin (the base coin) and Zerocoin. The base coin works just like Bitcoin. All transactions are visible and the history of all base coins is publicly visible on the ledger from the moment of their creation.
The Zerocoin layer, on the other hand, is where coins are anonymized. You can think of the Zerocoin layer as a coin laundry where you put your existing ‘dirty’ coins (base coins that have a long transaction history) and redeem them for new ‘clean’ coins that have no prior transaction history.
Zerocoin anonymizes coins through a “mint” and “spend” process. A user mints the number of anonymous coins they need and a corresponding amount is burned from their base coin balance. It’s essentially a coin mixing service that doesn’t require you to trust third parties with your coins since the functionality is built right into ZCoin’s protocol.
You can use the feature by going to the Zerocoin tab in the core wallet and choosing the “Mint” option, and then entering the number of Zerocoins you want to mint. The protocol will charge you a one-time fee of 0.01 XZC regardless of the amount you mint. Zerocoins can be minted in denominations of 1, 10, 25, 50, and 100 coins. The minting process takes seven confirmations (around 70 minutes) to complete.
The “Spend” Process
Next is the “spend” process, which converts your freshly minted Zerocoins back into base coins. When you choose the “Spend” option in the core wallet, your minted Zerocoins will be redeemed into an equal amount of base coins. The new coins will be sent to a new ZCoin address that has no transaction history, ready to spend.
Zero-knowledge proofs shield the minting process and ensure the correct amount of base coins are burned without revealing who initiated a Mint. Outsiders will only see that it’s one of thousands of Mints of the same denomination that have been made by ZCoin users.
Mining ZCoin
ZCoin is a proof-of-work cryptocurrency that uses Lyra2z, a mining algorithm designed to give GPUs a slight advantage while still remaining feasible for CPU mining. The Lyra2x algorithm will be replaced by a Merkle Tree Proof (MTP) algorithm to promote fair and democratic mining. MTP is designed to make ASIC mining expensive without sacrificing performance, while also discouraging botnets by requiring a lot of memory.
The MTP algorithm was first described by researchers Alex Biryukov and Dmitry Khovratovich in a paper published in 2016 titled Egalitarian Computing. It aims to fix the disparity between ordinary miners and industrial miners who use botnets and ASIC farms to gain a significant advantage. ZCoin is the first cryptocurrency to attempt to use MTP as a consensus algorithm. To learn more about MTP, check out this post.
Znodes
Because of its computational cost and the amount of space it occupies on the blockchain, one of the biggest challenges that Zerocoin faced was scalability. Zerocoin spend proofs are large enough (25 KB) to bloat the blockchain if transaction volume increased, and Zerocoin verification requires a significant amount of computational power.
Since the fixed 0.1 XZC fee isn’t enough to make processing Zerocoin transactions worthwhile, the developers decided to add a staking layer to the network that ensured miners earned enough for processing the transactions.
They launched Znodes via a hard fork in December 2017. Znodes are incentivized nodes (similar to DASH’s masternodes) that are tasked with processing Zerocoin transactions. Znode operators must have at least 1,000 XZC, a PC or VPS with a fixed IP address, 1 GB of RAM, and enough disk space to store the entire blockchain. Znodes earn 30% of the block reward.
ZCoin vs. Other Cryptocurrencies
ZCoin is often thought of as a fork of Zcash, but that’s not true. Zcash is based on the Zerocash paper, while ZCoin is based on the Zerocoin paper. While the papers were authored by the same person and both rely on zero-knowledge proofs, they use different types of cryptography. Zcash uses zk-SNARKs, which is a novel technology that was developed in 2014. ZCoin uses RSA cryptography, which was originally introduced in 1993 and is one of the earliest forms of public key cryptography.
Both Zcash and Zerocoin use trusted setups, which means there is a risk that an attacker who manages to break the setup can create counterfeit coins out of thin air. ZCoin works around this problem by having a fully auditable coin supply. The developers will be able to detect if someone tampers with ZCoin’s trusted setup or cryptography implementation to mint counterfeit coins.
This doesn’t mean ZCoin is 100% secur; the developers admit that no code is ever perfect even with the best of audits as new vulnerabilities are constantly being found. With that said, an auditable supply will at least enable them to fix bugs that could potentially generate counterfeit coins, and Zerocash was actually meant to improve Zerocoin on several issues:
– Zerocash’s proofs are smaller than Zerocoin’s and take up much less storage space.
– Zerocash has no limitations on the amount of anonymous coins it can mint. Zerocoin is limited to denominations of 1, 25, 50, 100.
– Zerocash offers a greater degree of anonymity because the sender, receiver, and amount transacted are all obscured.
However, Zerocoin also has some advantages over Zerocash:
– Despite using proofs that are large and require more storage space, Zerocoin is able to generate private transactions much faster and for a lot less memory.
– While both ZCoin and ZCash required a trusted setup to generate their technical parameters, ZCoin’s parameters are arguably less controversial because they were generated 25 years ago.
– ZCoin’s total supply is auditable, which means even if there’s an exploitable flaw in its trusted setup that enables a hacker to mint counterfeit coins, its developers will be able to detect it. The same can’t be said for Zcash.
– Zerocoin is better understood than the Zerocash, which uses an experimental type of cryptography (zk-SNARKs).
The bottom line is that both coins have their trade-offs, but they are essentially trying to do the same thing—providing financial privacy to enable individual freedom and open commerce.
Buying, Storing and Selling ZCoin
ZCoin (XZC) is available on most of the big online exchanges, including Binance, Bittrex, Bitsquare, BX Thailand, Cryptopia, CoinExchange, Nova Exchange, LiteBit.eu, AEX.com, and UPBit.
ZCoin has a core wallet available on Windows, OS X, and Linux that can be downloaded from the project’s Github page. For mobile storage, check out Coinomi.
Liquidity of ZCoin
ZCoin has pretty good liquidity for a cryptocurrency offering financial privacy in a market full of privacy-centric coins. Two things give it an edge over its competitors: its goal of providing users with the strongest level of anonymity possible, and its implementation of a well-tested cryptographic technology.
As governments around the world start regulating the crypto market, projects like ZCoin that give users unbreakable privacy will become valuable. ZCoin is definitely a project worth keeping an eye on in the coming years.