Skip to main content

Railgun & Railway - 一個 Vitalik 也用來作交易的隱私協議及錢包

· 7 min read
Jimmy Chu
Site Author

Why - 為什麼?

今天為大家介紹一個連 Vitalik 也用來作交易的隱私協議及錢包。如果你擁有巨額的加密幣或代幣。而想把它們隱藏起來,讓人在區塊鏈瀏覽器查找不了,這是一個理想的工具。如果你在 defi 平台作代幣兌換 (swapping),在作大額兌換時,可能都會特別小心。因為有不少 validators 也都在窺視着這方面的訊息,在組成區塊交易順序時,在你的大額交易前插入自己的買入交易,然後當你的大額交易完成後,再作一條賣出交易。這樣就可以進行套利。或者,當你的錢包地址具有一定名氣後 (vitalik.eth 便是一例),會有人在監視着這錢包地址的一舉一動,那這帳戶在 defi 平台上作上一定額度的交易時,都會被視為市場訊號給仔細分析。

這時 Railgun 協議及其前端 Railway 錢包,可以幫助用戶提高隱私性。

Analytics dApp built on Zama fhEVM

· 7 min read
Jimmy Chu
Site Author

Project Artifacts

Background

After my last project on Semaphore and modular smart accounts, I wanted to continue advancing my knowledge of programmable cryptography. I have developed a solid understanding of zero-knowledge proof and now wish to learn more about multi-party computation (MPC), fully homomorphic encryption (FHE), and indistinguishability obfuscation (iO). I have been studying materials on MPC, such as oblivious transfer and garbled circuits, as well as FHE topics like learning with errors and lattice-based problems.

Anonymous Multi-sig Wallet with Semaphore Modules

· 10 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

· 8 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

· 4 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.

Cangjie & Chu Bong Foo - part 1

· 4 min read
Jimmy Chu
Site Author

On one occasion in Taiwan, people around me were amazed that we Hong Kong people type Chinese using the Cangjie (倉頡) method. I realize it is uncommon for people to learn how to deconstruct Chinese characters and type them with the Cangjie encoding. Further thinking about it, it is a brilliant idea that Chinese characters can be deconstructed this way. It makes me wonder how the inventor came up with this input methodology. So I dug deeper into its history and found an inspiring story.

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.