Skip to content

Jack Gilcrest

@jp4g

attested data connoisseur & privacy guy

attested data connoisseur & privacy guy

Skill iconSolidity
Skill iconRust
DevOps
Noir

Hell, United States

Devfolio stats

Devfolio stats

2

projects

2

0

prizes

0

3

hackathons

3

0

Hackathons org.

0

Top Projects

Top Projects

Project Image
ZK State Channels

A novel ZK construction for privacy and scalability by exchanging proofs over p2p channels to recursively build a state object offchain

State Channels + Zero Knowledge In implementing BattleZips-Plonky2, we used proof-carrying data (PCD) recursion to create a novel privacy and scalability solution that works cohesively with rollups to achieve superior scaling properties. State channels were once touted as the future of blockchain scalability. However, despite their apparent advantages, the optimistic fraud-proof implementations suffered from data leakage and delays during challenge periods. Recent zk advances in speed and recursion with systems like Plonky 2 have made these trade-offs obsolete. Unlike fraud proofs, validity proofs allow for instant finality for all settlements but liveliness. Zero-knowledge can also ensure data security for sensitive parties with zk recursive shielding. What did we build? Simply put: Using Plonky 2, we built a working zk state channel. In classic Mach34 style, we used the game Battleship to show a basic implementation of a multiparty, adversarial, and hidden information interaction. This type of relationship with counterparties pervades our economic exchanges. By modeling it in a simple toy demonstration, we are creating a foundation for more complex and impactful applications to be explored. What can it do? Recursively wrap all state transitions into a single proof posted to an L1 Use ZK Circuit logic to build ordered state with no need for any sequencer or intermediate state witness Notarize the integrity of state execution with instant finality on EVM chains when posting "channel close" proofs. Use recursive ZK shielding on the "channel close" proof to shield all private state, then exporting only the winner and loser Use "channel close" proofs as generic state objects for further on-chain (or off-chain) actions. Like proving your battleship skills w/ELO scores Circuit Flow: