Skip to main content

4 posts tagged with "zkp"

View All Tags

Semaphore Modular Smart Account Modules

· 9 min read
Jimmy Chu
Site Author

Project Artifacts

Origin

This project emerges from the idea of integrating Semaphore within an account abstraction framework. While previous attempts have been made (as detailed in this blog post), they faced limitations due to the available tool stacks and Semaphore's storage access pattern at that time. These constraints made it challenging to create modules that could comply with the account abstraction validation scope rules.

However, the landscape has evolved significantly in the past year. New EIPs have emerged, notably the Modular Smart Account standard (ERC-7579). Additionally, numerous teams have developed tools that simplify smart account module development. This progress has created an opportune moment to revisit our design choices and approach.

After engaging in discussions with the Privacy and Scaling Exploration team, we've formulated a proposal to create Semaphore modules that adhere to the ERC-7579 standard. Smart accounts equipped with these modules will be able to leverage Semaphore's capabilities, allowing them to prove that their members have initiated transactions in a privacy-preserving manner.

To showcase these features, we have also developed a frontend demo UI. This demonstration will provide developers with a hands-on experience of the power and potential of Semaphore in account abstraction.

PSE Core Program 2024 Capstone Project

· 7 min read
Jimmy Chu
Site Author

PSE Core Program

In the past two months, I got into PSE Core Program and have intensively studied zero-knowledge cryptography. In the first five weeks, we have a curated list of materials to study, ranging from cryptographic primitives such as Merkle tree, symmetric and asymmetric encryption to going more in-depth about various zk-SNARK protocols such as Groth16 and PLONK, and finally being introduced to the frontier of cryptography, or so they are called, including multi-party computation (MPC) and fully homomorphic encryption (FHE).

Semaphore - part 1

· 3 min read
Jimmy Chu
Site Author

I have been studying about zero-knowledge proof in the past eight weeks. It is hard to grasp how a software project could integrate zero-knowledge proof. Then, through some community chat groups, I came across Privacy & Scaling Explorations group and one of their projects, Semaphore. Semaphore is a very educational project. In this project, I see how ZKP is being applied (in a fashion I understand) and observe excellent software engineering inside.

On Learning zk-SNARK

· 2 min read
Jimmy Chu
Site Author

Recently I am picking up the knowledge necessary to understand what is going on in zk-SNARK. For those who are not familiar with this term, "zk" stands for zero-knowledge, and "SNARK" stands for succinct, non-interactive, argument of knowledge. What this term means is:

  • zero-knowledge: this is a way for a prover proving "something" to a verifier in such a way that the verifer will not gain any additional knowledge than before the interaction. We will elaborate the "something" in the following bullet points.

  • succinct: the proof is going to be short compared to the actual knowledge, and the verifier will be able to perform the verification quite fast. To be more concrete, if the knowledge m has a length of |m|, the proof may probably be O(log |m|) or even shorter.

  • non-interactive: there won't be rounds of back and forth interactions between the prover and verifier. The prover will only send a single message to the verifier.

  • Argument of Knowledge: This is the "something" mentioned in the first bullet point. Notice that this is not the knowledge itself, but a proof that demonstrate that the prover indeed knows the knowledge.