Seems a bit weird to call it “Zero-Knowledge Proofs in WebAssembly” when all the code is written in Rust
it’s written in rust, compiled to web assembly, and subsequently run in your browser.
Okay, but would you say “Solving x problem in x86 assembler” for a project where the source is all in C? Unless there’s something I’m missing that’s what this feels like.
i think the idea here is that they’ve got a full crypto library that can run in the browser. that implies native rust impl or using some browser api. this in and of itself is worthy of remark. very common for projects to use something like libsodium via ffi
Fair point, I can see where you’re coming from. I think what I was trying to highlight is the fact that WebAssembly is efficient enough to run computationally intensive zkSNARKs, which I think wasn’t trivial not too long ago.
The fact that the Zcash team implemented most of the cryptographic primitives needed for this in native Rust, and the fact that the wasm target of Rust is good are a substantial part of making it happen.