Conversation
|
CLA Assistant Lite bot All contributors have signed the CLA ✍️ ✅ |
|
I have read and hereby sign the Contributor License Agreement. |
takahser
left a comment
There was a problem hiding this comment.
@dejavukong thanks for submitting this, this already looks great!
I have just a few questions:
- is the recovery mechanisms (for the case that ZK wallet is no longer maintained, at a later point) covered by this proposal?
- how is the ephemeral private key stored on the user's client?
Feel free to also have a look at my inline questions.
|
|
||
| (Step 0) We plan to use Groth16 for our protocol’s zkSNARK instantiation, requiring a singular generation of a structured common reference string (CRS) linked to the circuit. A ceremony is conducted to generate the CRS, which is used to produce the proving key in the ZK Proving Service, the verifying key in Project Authority. | ||
|
|
||
| (Step 1-3) The user begins by logging into an OpenID Provider (OP) to obtain a JWT token containing a defined nonce. In particular, the user generates an ephemeral KeyPair (eph_sk, eph_pk), along with expiry times (max_epoch) and randomness (jwt_randomness). Through these three parameters, the Wallet Extension can thus compute the nonce. After the user completes the OAuth login flow with the nonce, an JWT token can be retrieved. |
There was a problem hiding this comment.
Could you elaborate on how the randomness is generated?
There was a problem hiding this comment.
Add this content in a new section titled "Security and Privacy"
@takahser the recovery mechanisms are added in the proposal, along with the storage of ephemeral private key, included in the new section titled "security and privacy" |
| There are currently two potential, optional recovery mechanisms available: | ||
|
|
||
| 1. **Built-in recovery mechanism in zklogin-pallet**: Each zklogin address can designate a recoverer. Under specific conditions, such as when a zklogin address has been inactive for N hours, the recoverer can send transactions and manage assets on behalf of the zklogin address. | ||
| 2. **zklogin + proxy**: Through the proxy pallet, a zklogin address can set up 'delegate' or 'delayed-delegate' accounts. At any time when assets in the zklogin address face potential threats, users can immediately handle their assets securely through the proxy module. |
There was a problem hiding this comment.
Sounds good, thanks for adding.
Could you clarify whether this is within the scope of this grant?
There was a problem hiding this comment.
@takahser Given that these two mechanisms are not in conflict, we prioritize implementing the built-in recovery mechanism in this grant, while planning to develop the zkLogin + proxy mechanism at the application level in the future.
There was a problem hiding this comment.
@dejavukong sounds good to me. Could you add this to the deliverables (or in case it's already added, point out which deliverable this would equate to)?
After that I'm happy to approve it.
There was a problem hiding this comment.
@dejavukong thanks for the updates and clarifications, adding my approval here. I'll also mark the application as Ready for Review and ping the rest of the grants committee to have a look at it.
In the meanwhile, could you submit KYB for your company? This should be the same entity that is going to send the invoices after completing each of the milestones.
There was a problem hiding this comment.
@dejavukong sorry, I just realized that the DOT percentage is currently missing.
Note that at least 50% of the grants are supposed to be paid in DOT, see our template.
DOT %: Percentage of Total Costs to be paid in (vested) DOT (≥ 50%)
Could you add this info as well? After that I'll add my approval again.
@takahser Added. |
semuelle
left a comment
There was a problem hiding this comment.
Sounds good to me, happy to support this.
|
The proposal contains sufficient technical depth and looks thorough. In general, this would be useful feature for onboarding new users and i am happy to support it. |
|
@bhargavbh Address Format: Replay Attack Prevention: Enhanced Recovery Mechanism: |
keeganquigley
left a comment
There was a problem hiding this comment.
Thanks for the deep dive @takahser LGTM. Excited to see this on Polkadot!
db52953
|
@PieWol Included. |
|
Hey @dejavukong , Once thats done I'll re-approve. |
|
We have enough votes to approve the grant, @dejavukong, but we are still waiting for you finishing the KYB process, as requested above. |
|
Congratulations and welcome to the Web3 Foundation Grants Program! Please refer to our Milestone Delivery repository for instructions on how to submit milestones and invoices, our FAQ for frequently asked questions and the support section on our website for more ways to find answers to your questions. |
Project Abstract
KZero is a keyless, self-custodial wallet solution that leverages zero-knowledge proofs (ZKP) and OpenID protocol. With KZero, Web2 users can directly access the blockchain and send transactions using their Google, Apple, or other accounts, eliminating the need to safeguard mnemonic phrases or pre-install wallet applications. Users can access Web3 applications without any restrictions. KZero can be integrated into any Substrate-based chain without disrupting its existing account system.
Grant level
Application Checklist
project_name.md).@_______:matrix.org(change the homeserver if you use a different one)