Devcon Archive logo
Devcon Devconnect Forum Blog
  • Watch
  • Event
    Event: background logo
    • Devcon 7
    • Devcon 6
    • Devcon 5
    • Devcon 4
    • Devcon 3
    • Devcon 2
    • Devcon 1
    • Devcon 0
    • Devconnect ARG
  • Categories
    Categories: background logo
    • Cryptoeconomics
    • Devcon
    • Developer Experience
    • Coordination
    • Core Protocol
    • Layer 2s
    • Real World Ethereum
    • Cypherpunk & Privacy
    • Security
    • Applied Cryptography
    • Usability
  • Playlists

Suggested

Loading results..

View all

About Devcon —

Devcon is the Ethereum conference for developers, researchers, thinkers, and makers.

An intensive introduction for new Ethereum explorers, a global family reunion for those already a part of our ecosystem, and a source of energy and creativity for all.

  • Watch
  • Devcon
  • Devconnect
  • Forum
  • Blog

Get in touch

devcon@ethereum.org

Subscribe to our newsletter

Crafted with passion ❤️ at the Ethereum Foundation

© 2026 — Ethereum Foundation. All Rights Reserved.

devconnect arg / zk voting app deep dive mixers merkel trees and build with noir buidlguidls builder bootcamp

  • YouTube
  • Details

ZK Voting App Deep Dive: Mixers, Merkel Trees, and Build with Noir - BuidlGuidl's Builder Bootcamp

Duration: 00:59:02

Speaker:

Type: Talk

Expertise:

Event: Devcon

Date: Jul 2026

This session introduces the core concepts and implementation details behind building a fully private ZK voting application. Philip walks through the privacy mechanism, starting with the concept of a mixer (similar to Tornado Cash) to break the link between a voter's address and their vote. The presentation then explains why a specialized Lean Incremental Merkel Tree is necessary for on-chain registration, and concludes with a deep dive into using the Noir (Nargo) programming language to define the zero-knowledge circuits and generate a Solidity verifier contract. 👉 To learn everything about building on Ethereum, go to https://speedrunethereum.com/ ------ 0:00 Speaker Introduction (Philip from Build Guild) & ZK Voting App Goal 0:02:10 Why Anonymous Voting is Needed (On-Chain Transparency Issues) 0:03:38 Concept 1: How Mixers Work (Like Tornado Cash) 0:04:40 Breaking the Sender-Receiver Connection with a Mixer 0:05:24 The Three Phases of a Mixer: Deposit, Mixing, and Withdraw 0:06:46 Mixer Mechanism: Using a New Address & a Secret to Withdraw 0:07:28 Mixer Application: Using the Gate to Call a Vote Function 0:07:39 Privacy Growth: Why the Mixer Pool Size and Fixed Denominations Matter 0:09:20 ZK Voting App Architecture: Back-end (Solidity/Noir) vs. Front-end (Proof Generation) 0:10:26 Back-end: Registration and Merkel Trees 0:11:03 Merkel Tree Basics (Quick Summary) 0:11:48 Problem with Normal Merkel Trees for Dynamic Registration (Over-Recalculation) 0:12:50 Solution: Lean Incremental Merkel Tree (Optimized for Incremental Updates) 0:20:24 Zero-Knowledge Proof Concept: Proving Ownership Without Revealing the Secret 0:22:14 Introduction to Noir (Nargo): The Rust-Based Circuit Programming Language 0:23:44 Noir: Public Inputs (Visible) vs. Private Inputs (The Secret) 0:24:46 Building the ZK Circuit: Including the Merkel Path and Commitment 0:26:01 ZK Logic: Nullifier Hash (Preventing Double-Voting) 0:31:58 Verifier Contract Logic: Checking the Computed Root Against the Stored Root 0:34:09 Generating the Solidity Verifier Contract with nargo 0:35:54 Front-end Role: Generating the ZK Proof Off-Chain 0:37:58 Solidity Implementation: Calling the Verifier Contract with Proof and Public Inputs 0:39:09 Final App Logic: Registering Votes & Storing Nullifiers for Double-Vote Check 0:57:32 Q&A: Preventing Linking of Registration and Voting Transactions (Causality) ------