Table of Contents
Over a decade ago, the concept of zero-knowledge proofs (ZKPs) was first introduced for the world of Bitcoin, piquing the interest of even Satoshi Nakamoto. These cryptographic proofs have long been considered a potential game changer for the blockchain, allowing users to prove the validity of a statement without revealing any additional information.
A new proposal by Shinobi, an educator in Bitcoin space, attempts to introduce ZeroSync, a privacy implementation for the Bitcoin blockchain based zero-knowledge proof (zk and/or ZKPs) stacks.
The ZeroSync project aims to create integrations for ZKPs into Bitcoin, opening and exploring the potential benefits and implications of this groundbreaking development.
The ZeroSync project is focused on bringing ZKPs to Bitcoin, but not in the traditional sense. Rather than using ZKPs for locking or spending coins, ZeroSync is applying them to help full nodes achieve a much faster initial sync.
The project is building three distinct proofs to provide a full verification of the historical blockchain without requiring users to download and process it. Perhaps what's worth noting is that this process doesn't require any consensus changes to the Bitcoin protocol. According to Shinobi, there are four main components for the implementation of ZKPs on Bitcoin's originary blockchain. We list them here for reference.
Block Header Proofs
The first proof, which should have been released by now, covers the validity of block headers. It ensures that each block in the chain meets the difficulty requirement and tracks each difficulty change. This proof not only benefits full nodes, but also significantly improves the Simplified Payment Verification (SPV) wallet architecture.
Block Content Verification
This proof focuses on verifying the actual contents of the block, albeit without proving the validity of the witness data. By incorporating UTXO (unspent transaction output), this proof allows users to sync up to Bitcoin Core's default Assume Valid height using just the UTXO set at that block height and a small proof. This carries the same trust model as downloading and verifying full blocks directly.
Aggregate Witness Data Verification
The final proof aims to incorporate both the ZKP for block headers and build on top of the ZKP for Assume Valid. This will include proving the validity of every piece of witness data in the historical chain. A node using the final ZeroSync proof system will be able to bootstrap with a single proof and a UTXO set, providing a stronger verification model than Bitcoin Core by default. The main challenge lies in optimizing the construction of this proof, as it is computationally expensive.
ZeroSync's core proposition lies in its potential to significantly reduce Bitcoin's computational costs, which is often associated (or correlated) with bootstrapping a fully-validating Bitcoin client.
To date, the size of the BTC blockchain and the hardware required to process it poses significant barriers to entry for many users. ZeroSync could bring these costs down to a few gigabytes for the UTXO set and a ZKP proof small enough to fit on minimal hardware.
Interestingly, Shinobi shares that ZeroSync is built using the Cairo language developed by Starkware, a company focused on developing ZKPs for the Ethereum ecosystem. This collaboration between projects could represent the first time a development from an altcoin ecosystem benefits Bitcoin, despite this benefit being an indirect one.
ZKPs hold tremendous promise for the future of Bitcoin, even without directly incorporating them into the consensus layer. If the ZeroSync project achieves its roadmap goals and successfully creates a quick sync client, it could pave the way for additional ZKP deployments within the Bitcoin ecosystem. The potential applications are vast, and the impact on blockchain technology could be nothing short of revolutionary.
Disclaimer: This article is provided for informational purposes only. It is not offered or intended to be used as legal, tax, investment, financial, or other advice.