Mobile Proving
oskarth
About me
oskarth.com
(i) We want to make proofs on mobile. (ii) Mopro is a toolkit for making proving on mobile simple (and fast). (iii) Let’s make ZKP on mobile great together.
TLDR
We want to make proofs on mobile
For ZKPs to gain widespread adoption, they need to be able to run anywhere prospective users expects them to.
WHY CLIENT-SIDE PROVING?
Zuzalu
Zupass crypto-native identity
Aadhaar
Anon-aadhaar real-world identity
Social graphs, private finances
Mind your own business
Client-side proving
What do we want?
What about browsers?
Why bother with native?
mopro is a toolkit for making proving on mobile simple (and fast)
What is mopro?
Toolkit for make proving on mobile simple
Architecture
How does it work?
Circom circuit
Most widely used DSL for client-side proving
mopro-core
Core Rust library
mopro-ffi
Talking across languages barriers
UniFFI
How do we build complex cross-platform applications?
Developer Experience
How do we make life easy for developers?
iOS examples
Keccak256 (~150k constraints) on iPhone 14
User?
No patience for your shenanigans
Response Times: The 3 Important Limits
Now that I have your attention
What about developers?
Developers are human too
Zooming out again
Make your life as app developer easy
Modularity
Platforms, proof systems and public goods
Where are we now?
zkHack this weekend
pocket-aadhaar
ZK Identity for 1B+ users in your pocket
How fast is it?
On an iPhone 14 Max Pro
Briefly on bottlenecks
zkey and witness generation
Let’s make ZK on mobile great together
Where are we going?
There’s work ahead of us
How can you help?
Three ways
Acknowledgements
We are just getting started
Recap
In case you forgot what we were talking about
The future is ZK. The future is mobile. The future is now.
Thank you
Q&A