If you want more cryptocurrency analysis including full-length research reports, trading signals, and social media sentiment analysis, use the code "Publish0x" when subscribing to CryptoEQ.io to make your first month of CryptoEQ just $10! Or simply click the button above!
ZEC Privacy Tech
Zcash’s privacy is its main feature and relies on the cryptographic guarantees of zk-SNARKs. Mathematical proofs are used to authenticate the validity of transactions without revealing any details about the transaction itself. Addresses using shielded transactions are hidden on the public blockchain, and users have to construct the zk-SNARK proof for each transaction on their computer.
The complicated math behind Zk-SNARKS enables, in short, outside parties like other nodes and miners to verify the veracity and legitimacy of a transaction without knowing any details of the transaction, including the amounts transacted, or the identity of the sender/receiver. Senders of shielded transactions using zk-SNARKS need to provide three properties to the prover in order for the transaction to be considered valid.
- The input and output values sum to the same number for a specific transfer.
- Spender proves that they have the private keys to spend the requisite inputs.
- Private spending keys are linked to a cryptographic signature associated with the entire transaction, meaning that the inputs of the transaction cannot be altered without knowing the private spending keys.
A ‘commitment’ must exist for each transaction too, proving that the transaction was constructed under the guidelines of the protocol for shielded transaction constructions. With no commitment, the transaction is invalid. Nodes on the Zcash network store a consistently updated list of commitments used in the network, as they can only be used once, and are unique for each transaction.
Zk-SNARKS and shielded transactions provide the highest level of anonymity due to their cryptographic primitives based on complex mathematics. The drawback of shielded transactions is that they are much more cumbersome than standard transactions using public-key cryptography with digital signatures, as is done for all transactions on the Bitcoin blockchain. They take both time and computational resources to construct, which made them largely impractical before the Sapling upgrade. Sapling improved their efficiency, but they still are noticeably more cumbersome than unshielded transactions, and can eventually lead to blockchain bloating.
Technology is far and away from the standout advantage of Z-Cash. The team has demonstrated an ability to innovate and act quickly to solve problems. The different transaction types and processes involved with each are explained more thoroughly in an in-depth look on the technology page of the ZCash website.
Consensus and Sybil Resistance Mechanisms
In order for a decentralized network of nodes/computers to function properly, the independent participants in the network need to reach an agreement over a shared state (e.g. who owns what on a blockchain). While doing this, the network should remain fault-tolerant with valid consensus despite imperfect information or malicious actors (Byzantine Fault Tolerance). Different blockchains implement different methods of doing so but all are attempting to create a “consensus algorithm” that best fits their chain. There exist different node types in many blockchain ecosystems. Different types of nodes use data in different ways.
Consensus algorithms are used in public blockchain/distributed computer design in order to convince nodes in a decentralized system to agree on the next valid state. Within the context of public blockchains like Bitcoin, Ethereum, or Zcash, this signals that at least 51 percent of network nodes agree on the network's global state. In addition, a consensus algorithm often gives a guarantee (probabilistic or deterministic) that network nodes can reach consensus on the next valid state even if a minimum number of nodes in the system are adversarial.
Nakamoto’s consensus (Bitcoin) requires waiting for the creation of several additional blocks to ensure transactions cannot be reverted. As a result, Nakamoto chains have high uptime (they do not go down or stall), but low transaction speed due to their probabilistic finalization guarantee. This is because Nakamoto Consensus requires waiting for “enough” blocks to be mined on top of the block that includes the user’s transaction that reorganizing or reverting the blockchain becomes economically impractical, ensuring some “economic certainty” but never theoretic/deterministic certainty.
One issue with allowing anyone to participate in the consensus of an open network is that one malicious actor can create endless nodes, thereby creating multiple identities as seen by the blockchain. If one person could create enough nodes, they could theoretically control the network known as a sybil attack. For this reason, blockchains also need a Sybil Resistance mechanism in addition to its Consensus algorithm.
A Sybil resistance mechanism, on the other hand, is the process through which a decentralized system deters Sybil attacks. A Sybil assault occurs when a single node can flood the network with several identities and utilize them to obtain an outsized amount of power.
Ideally, each node in a decentralized system would represent one vote. If a node can impersonate multiple other nodes and get 100, 1,000, or more than 10,000 votes instead of one, then the system is vulnerable to assault. Sybil attacks are often deterred by requiring nodes to show proof of a difficult-to-fake resource (unlike online identities which are easy to forge).
Proof of Work - Hash power (eg. Bitcoin)
Proof of Stake - Tokens (eg. Cosmos, Polkadot, Tezos)
Proof of Space Time - disk space (eg. Chia, Filecoin, etc.)
Proof-of-Authority - (eg. Algorand)
ZEC Consensus Mechanism
Zcash (ZEC) is built using Bitcoin’s open-source code and is derived from the ZeroCash protocol, using a Proof of Work (PoW) Sybil resistance schema/consensus mechanism with the Equihash mining algorithm to ensure all the participants agree on the state of the public ledger and solve for the “double-spend” problem. Specialized computers (ASICs) across the globe are all responsible for updating and maintaining the ZEC blockchain, thereby creating a distributed consensus system. More specifically, these operations are collectively known as “mining”: a process by which transactions are verified and added to the public blockchain ledger (onto a block). These miners compile the transactions into blocks and compete to solve computationally intense puzzles. If they are successful in solving the puzzle, they are rewarded with a certain amount of ZEC (currently 3.125 ZEC) for their time and costs (electricity costs from running the computers). Upon solving the puzzle, the miner will broadcast their success to the other miners and thus prove that they have done the work (Proof of Work) and can be trusted. The significant costs inherent to solving for a block make it cost-prohibitive for a bad actor to act dishonestly in the system. Trying to harm the blockchain would have an enormous upfront cost in computer power and then, if successful, degrade the integrity of the ZEC blockchain, causing the price to plummet, leaving little to no reward for the attacker. PoW is thus so successful because of how it aligns with the incentives of the participants.
The Zcash team originally designed the protocol to be resistant to ASIC mining concentration, although, in a November 2018 blog update, the Zcash team softened their stance on ASIC resistance and even touted the added security benefits that ASICs bring. ASICs are specially designed chips that are hardcoded to run a single function. During the evolution of the Bitcoin protocol, GPUs and finally ASICs outcompeted the early CPU miners. As these new processors took over the market, it became impossible for the casual miner to compete. Many believe that allowing ASICs into your protocol leads to a concentration of mining power while some argue that striving for true ASIC resistance is a futile effort entirely. Just four mining pools control over ~78.4% of the hash rate. In a recent vote, the community agreed not to prioritize ASIC resistance in future development
ZEC hash rate. Source: Zchain
Block sizes are 2MB and arrive roughly every 1.25 minutes. Depending on the ratio of “shielded” transactions to transparent transactions, the Zcash blockchain can currently process between 6 and 25 transactions per second. Currently, 3.125 ZEC are mined per block, but this number halves (similar to Bitcoin) every ~ 4 years with the next issuance “halvening” to take place in 2024.
Z-Cash doesn't rely on mixing for its fungibility. Instead, the team has developed a method of validating transactions without revealing the participants. A miner on the Bitcoin blockchain can see if a transaction is legitimate by checking the public ledger. By tallying transactions that involve an address, they can see how much BTC is available to send. On Zcash, however, a miner can verify the amount of ZEC available to trade without knowing the true address of the sender if it is a shielded transaction. Thus, the actual address is never published on the ledger unless the user chooses to use transparent transactions.
Shielded transactions are just one of four different kinds of transactions that can take place involving ZEC depending on the amount of privacy desired. They span completely public and transparent to complete anonymity and privacy for all parties involved. Currently, the vast majority (~83%) of the transactions on the network are transparent in nature as most exchanges do not support shielded transactions.
ZEC usage, July 2022. Source
After Sapling, the number of shielded pools increased dramatically. Image credit: ElectricCoin.co
