Bitcoin’s first zero-knowledge light client seeks to drive innovation
A Swiss non-profit working on the world’s first zero-knowledge light client for Bitcoin, has reached a major milestone towards bringing zero-knowledge proofs to the most valuable crypto network.
ZeroSync’s verifier for the Bitcoin network’s block headers makes it possible to build a zk proof-based light client for the network, the first step in a roadmap of permissionless innovation, according project lead Robin Linus.
In the near term, a light client might let you run a Bitcoin full node on, say, a mobile phone. But that roadmap includes a second-layer protocol on top of Bitcoin, that can bring tokens — such as stablecoins — to the Bitcoin network, along with a 20 to 50 times throughput increase, without requiring any sort of fork.
“What is cool about that solution is that, first of all, you can process about 100 transactions on the base layer,” Linus told Blockworks. “And in addition to that, we also get perfect privacy — you can encrypt both the transaction amounts and the transaction graphs, and then you basically get best-in-class privacy, comparable to Zcash.”
The privacy benefit is essentially a byproduct of the protocol’s use of STARKs, the proving system invented by StarkWare, not a deliberate design choice.
ZeroSync received a grant from Geometry Research in 2022, one from StarkWare earlier this year, and has since formed the foundation. The group’s work is the first effort to use StarkWare’s Cairo programming language outside of the Ethereum ecosystem.
A soft fork would be required to enable trustless bitcoin bridging on the layer-2 network that ZeroSync envisions. Yet even without that, the network can permissionlessly support useful features, such as token transfers where the fees are paid in a stablecoins, removing the need for bitcoin (BTC) to pay for transactions.
Bitcoin is resistant to change by design, requiring consensus from Core developers, and near-consensus from full node operators, including miners. The prior soft fork in 2021, called Taproot, was years in the making and only activated after more than 90% of node operators signaled their assent.
“We want it to be hard to change so that it can be hard money, but some changes are necessary,” Linus said. “It seems to be that there is a consensus that at some point we do want to have some kind of [zk proof] verifier on Bitcoin.”
Linus sees ZeroSync’s role as helping figure out what kind of approach makes the most sense.
“We try to participate in the community and push that forward,” he noted. “Everything has to be free and open-source, otherwise it will never get into the main layer.”
Meanwhile, the chain state proof they’ve completed won’t require any kind of fork.
Waiting for Bitcoin Simplicity
Zk proof technology is still in its infancy. There are many different proof systems available with various different tradeoffs to consider. Those choices have ramifications for virtual machines built on top. Linus recognizes it would be quite hard to reach consensus on just one.
Eric Wall, a board member of the StarkNet Foundation, and a bitcoin thought-leader, articulated one of the challenges with Bitcoin’s decision-making process in this area.
“How is the Bitcoin community ever supposed to reach consensus on enshrining a specific zk-verifying opcode, when the zk community itself is not in any way in consensus on what type of zkVM would be ideal for Bitcoin for the next year, let alone the next 5 or next 100 years?”
Simplicity, a smart contract language similar to Solidity on Ethereum, has been described as “Bitcoin’s last soft fork.” If it is activated, it will “vastly increase the scripting capabilities of Bitcoin,” Linus said.
“We are already starting to experiment with it because Blockstream just activated it on the Liquid testnet…that will be the first step for us to experiment with a [zk proof] verifier on Bitcoin’s main layer.”
StarkWare’s co-founder, Eli Ben-Sasson, unsurprisingly advocates for the Cairo+STARK stack.
But Linus said the adoption of Simplicity would allow zk proof teams to sidestep the need to rely exclusively on one proof system or another.
“You can pretty freely choose what proof system you want to use…it’s a high level language for smart contracting and that allows you to do basically any kind of computation that you can do in regular programming languages,” he said.
“And so there wouldn’t be much drama anymore about the question of which [zk proof] verifier we want to activate — we would basically just implement what we think is best,” he added.
If anyone else thinks they have a better proof system, they’re free to implement it, without needing anyone’s permission.
Don’t miss the next big story – join our free daily newsletter.