The role of privacy technologies in the blockchain industry is often understated. Privacy is generally viewed in the context of protecting one’s sensitive information from malicious actors or authoritative figures that may be prone to corruption.
The first applications for enforcing privacy in the blockchain industry came from projects like Zcash and Monero, which each developed cryptocurrencies to allow users to transact without leaving a trail of breadcrumbs that is the default setting of all public blockchains.
Zcash was the first to utilize a form of zero-knowledge proofs called zk-SNARKs, which uses special cryptography to enable transactions that occur on the Zcash blockchain to be confirmed without details about the transaction being known to the nodes that validate them.
This technology would later be adopted by Horizen through its privacy-focused cryptocurrency, ZEN.
While privacy technologies have remained a staple in the crypto space, the evolution of blockchains from decentralized networks for storing and exchanging value to complex dapp ecosystems has changed the nature of how zero-knowledge proofs are being applied.
Today, the power of privacy technologies is not only in protecting users’ data but also in simplifying how nodes communicate to enable networks to confirm transactions with greater efficiency and become more scalable.
Horizen has evolved alongside the industry to become a zero-knowledge enabled network of blockchains. What this means is that Horizen leverages privacy technologies to not only conceal transaction data but also reduce the time and level of computation necessary to verify transactions that occur between sidechains and the mainchain.
Horizen Architecture Overview
On a standard proof-of-work blockchain like Bitcoin, miners compete to earn the right to validate the next block. This involves using your computing power to perform the billions of calculations necessary to correctly guess the nonce value on the header of a block, which allows the node to validate that block and earn the block reward.
On the Horizen network, the public mainchain is a proof-of-work blockchain that operates similarly to the Bitcoin blockchain. There are also sidechains that spin off from the mainchain and operate independently as their own blockchains.
These sidechains are independent blockchains that can run with their own consensus mechanism, set their own parameters for privacy and transaction speed, and in general are highly customizable.
The Horizen mainchain acts as a final checkpoint for verifying the state of sidechains on the network, including the withdrawal of tokens from sidechains to the mainchain.
How are zk-SNARKs used on Horizen to achieve scalability?
To understand how zk-SNARKs improve blockchain scalability, we need to first understand how data is transmitted and stored on a blockchain.
When a transaction occurs on a blockchain, it must be broadcast to the entire network and then validated by a particular node before being confirmed in the next block (a block is basically a batch of transactions). Blocks on a blockchain have limited space to store data, yet are responsible for storing critical information such as the transaction values exchanged, timestamps and hashes of the previous block.
The size of a block on the Bitcoin blockchain is 1MB and can fit approximately 1,500 transactions per block. Ethereum’s most recent block size is about 0.07MB and can fit approximately 160-200 transactions per block.
What zk-SNARKs do is compress the amount of data that a node needs to process in order to validate that the transactions are correct before being confirmed into the next block.
On Horizen, zk-SNARKs allow a prover (the sidechain) to prove that a transaction is valid to a verifier (the mainchain) without the mainchain nodes knowing the details of the transaction (i.e., addresses or values transferred).
The sidechain does this by first validating transactions in its blockchain as normal, then constructing a ‘proof’, which is essentially a certificate that proves that the transactions within the sidechain have been correctly validated based on a standard process that is recognized by the mainchain.
This certificate is used to accurately represent the state of the sidechain(s) (i.e., account balances and total values in each sidechain) while containing far less data compared to the tens of thousands of transactions it represents.
The nodes on the mainchain then use a special algorithm to validate this certificate just like they would for any other transaction. If the algorithm confirms that the certificate/proof is correct, the mainchain nodes will take this as evidence that the transactions in the sidechains have all been correctly validated without needing to perform the validation process themselves.
In other words, instead of the mainchain nodes validating every single sidechain transaction, the mainchain can simply verify ‘proof of computation’ for tens to hundreds of thousands of sidechain transactions within a single block.
When compared to the 1,500 transactions per block limit on Bitcoin or 200 transactions per block limit on Ethereum, it is clear that zk-SNARKs can significantly scale the number of transactions processed by a blockchain without compromising security or decentralization.
Different Approaches To Privacy-Enabled Scalability
There are a handful of other blockchains that have caught on to the idea that zero-knowledge proofs can be a tool for achieving scalability through privacy. These networks have adopted a popular version of zk-proofs called ZK-Rollups.
ZK-Rollups are an innovation initially launched on Ethereum that enables layer 2 transactions to be transmitted and verified by the Ethereum network without the Ethereum nodes knowing the details of each transaction. It is designed to offer greater scalability to the Ethereum network by only requiring the Ethereum nodes to verify the proof of computation rather than the transaction data itself.
While L2s like Loopering leverage ZK-rollups to achieve scalability on the Ethereum network, L2 networks are limited in their ability to operate with the same flexibility as an independent L1 blockchain.
L2s vs Horizen Zendoo Sidechains
L2’s like LoopRing, Polygon, and Optimism are designed for scaling L1 Dapps.
Developers can launch Dapps on L2s, but ultimately, all L2 transactions must be settled on the Ethereum network. This means that despite the separation, periods of network congestion or potential security vulnerabilities on the Ethereum network could still adversely affect one’s ability to withdraw and settle funds from an L2 to the Ethereum L1.
On Horizen, Zendoo sidechains are fully independent and customizable blockchains that can operate with their own consensus mechanism and do not rely on the mainchain for final settlement. The mainchains role is to simply verify the state of all sidechains by observing what we call cryptographically authenticated certificates from sidechain maintainers.
Horizen is also able to implement ZK-Rollups to make side chains operate like an L2 would on Ethereum. However, we believe our current implementation provides developers with greater flexibility and security because of the ability to operate their own independent, consensus agnostic sidechains.
In conclusion, Horizen’s zero-knowledge enabled network of blockchains is transforming the way privacy-preserving technologies are applied in our industry.
Through our unique Zendoo sidechain construction, we have adapted zk-SNARKs from a technology used for simply securing information to one that also solves scalability issues by enabling virtually limitless amounts of sidechain transaction data to be condensed into succinct proofs that require minimal computation to verify.
Altogether, this makes Horizen one of the most unique and versatile projects to emerge from the crypto space in years!