Grant Application: Zk-CosmWasm: A Programmable Selective Disclosure WebAssembly Smart Contract Virtual Machine

Hi!

Reopening this grant track with hopes of our efforts refining clarity of both value add for Zcash and progress made since we originally opened this will make this a much more easy yes for the grants committee.

Here is the new grant prop with our initial details::

We have a landing page that will be able to be shared here in a moment that will showcase the grant a bit more along with demonstrations of elegant demos of the stack, just first wanted to get the grant out there and share some more details and just like my thoughts on this since last posting the grant since soooo much has progressed in the Zcash ecosystem since January:

Reflection

Back in January, this r&d proposal of mine was unanimously rejected. I extended CosmWasm, a rust based smart contracting language and virtaul machine, that is optimized to unlock fun proof verification designs within the smart contracts.. (a’la extending the wasmer module api functions with proof_instance_verify() method, along with dedicating circuit verifying keys in the RAM caching layer of the VM).

Looking back the proposal communicates a broad, speculative and expensive vision that was not clear about the actual status of development, direct value add to Zcash, and even had elements of still organizing the team while creating the proposal.

Now, 7 months since that proposal, and only possible due to my support system that gives me permission to have a stubbornness of finishing what I start, we now a more stable iteration of what already existed and described in the first proposal, along with new additions that make this a much more enterprise ready stack.

Progression

We have optimized the way the circuits are stored such that we actually reuse the reusable parts of verifying keys parameters, instead of bloating up app state with storage of reusable params each time. These are sorted within the vm’s caching tiers, allowing us for RAMs warm with circuit verification keys to strip down latency between the circuit key load operations and the actual proving operations.

We’ve made libraries for helping curate circuits to be ready to upload for this vm, and demonstrate via transpiling the existing vote-sdk circuits and orchard to upload and use them in demos exercising these features.

We’ve curated and 08-wasm ibc light client for crosslink consensus, and also a route for consensus level vote extensions to ingest and provide zcash native block headers and pool anchors, with no additional trust assumptions from chain consensus.

We also are demonstrating that ibc clients are not just for financial packets, but can be used for gated authentication, via integrating our stack with a fork of the dao-dao-ui and the zechub bounties dashboard, so that bounty and hackathons can be deployed for any zecHub subDAO, and supports selective disclosure bounty creations and submissions.

Community Led Audit & Design Space Hackathon

We are also committing to and requesting sponsorship for a design space hackathon with this stack, along with a community led audit, where we coordinate compute resources to participants who open into capturing reasoning traces of their sessions of auditing the stack. All inference gateway routing authenticated is powered by light clients of this stack, and will contribute to an open diverse data set on reasoning traces of auditing this space.

Feedback Encouraged

Extremely eager to hear if others agree of the usefulness of this approach, or where clarity is needed in terms of the reviewing the stack or any part of the grant!

Very excited to catch up on the conversation on light client research and identifying synergy with this stack as well.

1 Like