Study notesWeek 7: Privacy And Zero-Knowledge
Week 7

Privacy And Zero-Knowledge

Last week

Recap Of Week 6: Identity

Outcomes

What You Will Be Able To Do

Vocabulary

Three Kinds Of Privacy

Motivation

The Proof Problem

Core idea

Roles In A Proof

statement: hash(w) == H     (public)
witness:   w                (secret)
proof:     pi = Prove(w, H)
check:     Verify(H, pi) -> accept / reject
Core idea

Three Properties

Story

The Cave Analogy

      entrance
     /        \
  left        right
     \  door  /
      (secret word)
Story

Why Repetition Convinces

014284256502512.56.253.1251 round2 rounds3 rounds4 rounds5 rounds
Building block

Commitments

import hashlib, secrets
salt = secrets.token_hex(16)
c = hashlib.sha256((salt + 'yes').encode()).hexdigest()
print(c)
Non-interactive

From Conversation To One Proof

Names to know

SNARKs

Names to know

STARKs

SNARKSTARK
Proof sizeSmallLarger
Trusted setupOftenNo
Built onCurvesHashes
How developers work

From Statement To Circuit

Application

MACI: Private Voting

voter -> encrypted vote -> chain
chain -> messages -> coordinator
coordinator -> tally + proof -> contract
contract verifies proof -> result
Summary

Recap

Coming up

Next Week: DAOs And On-Chain Governance

Wrap up

Questions And Exercise