Introduction
Hi, this is MynaWallet’s zkp grant phase3 report. This phase3 report is the end of the Grant that the MynaWallet team received from Ethereum Foundation in August 2023.
In this report, we will summarize the implementation of the zk circuit that selectively discloses information in the My Number Card and the realization of Sybil resistance based on the My Number Card while preserving anonymity even to the issuer. For the selective disclosure circuit, we also generated proof on an iOS device using mopro. Benchmarks for this proof generation are also included.
This is the end of the grant, but the MynaWallet development journey has only just begun. We will continue to develop for mass adoption and security of blockchain-based application and data sovereignty.
For those new to MynaWallet, we are developing the AA Wallet based on the My Number Card, a digital ID card issued by the Japanese government. So far, the MynaWallet team has been working on the following
- Phase1
- Realization of AA Wallet that can generate a tx using RSA digital signature key pair in My Number Card
- Phase2
- Verify the RSA digital signature of the x.509 certificate in the My Number Card and realize an AA Wallet generated from the public key of the RSA digital signature signed by the government
Overview
This time, we have realized the following two features by utilizing the My Number Card.
- Selectively disclosure the information inside My Number Card and proof generation on iOS device
- One of the ideas is to achieve sybil resistance while preserving the anonymity to the issuer
- For example, this idea proposed by turboblitz is ideal for My Number Card.
- The idea presented here is to provide sybil-resistance while preserving anonymity to the issuer, even if the root of sybil-resistance does not have a key pair for signature.
- Also, we do not need to have assumptions that issuers of the key pair do not hold the list of secret keys.
Selectively disclose the information inside My Number Card
The digital ID card, My Number Card issued by the Japanese government, contains two certificates.
- Electronic certificate for the bearer’s signature
- This certificate is used when creating and sending electronic text via the Internet, etc.
- It can be used to prove that “the electronic document created or transmitted is authentic and created by the user, and that the user sent it”.
- Electronic certificate for user identification
- Used when logging in to Internet sites, kiosk terminals at convenience stores, etc.
- It can prove that “the person who logged in is the user himself/herself”.
The electronic certificate for the bearer’s signature contains the following four pieces of information about the user.