From f5eb6152c6b9fc40900d72ef7d96baa7dc20ee94 Mon Sep 17 00:00:00 2001 From: Mika Date: Thu, 18 Jul 2024 14:17:12 +0200 Subject: [PATCH 1/2] Update scope of Milestone 1 --- applications/dot-login.md | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/applications/dot-login.md b/applications/dot-login.md index 81d9144328b..341a4c37aa8 100644 --- a/applications/dot-login.md +++ b/applications/dot-login.md @@ -180,9 +180,8 @@ Please note that above comparisons are based on our current understanding and re | 1. | `zkEphemeralKeys` Pallet | Substrate pallet for ephemeral key registration with zk-SNARKs proof validation. | | 2. | `address` Pallet | Substrate pallet for deriving wallet addresses from OAuth2 JWT. | | 3. | `jwtValidation` Pallet | Substrate pallet for JWT validation. | -| 4. | `JWK Registry` Pallet | Pallet that stores JWK registries of supported OAuth2 providers continuously. | -| 5. | Off-Chain worker | Off-chain worker that queries the JWK registry endpoints of OAuth providers continuously and integrates with `JWK Registry` pallet. | -| 6. | OAuth Integrations | Integrate Google, Twitter, Facebook, and Microsoft OAuth providers with `JWK Registry` pallet. | +| 4. | `JWK Registry` Pallet | Pallet that stores a hard-coded list of public keys from supported OAuth2 providers. | +| 5. | Client and OAuth Integrations | A rust-based client that allows the user to log into their gmail account, receive a JWT, paste the JWT to the client CLI, generate the ephemeral public/private keypair, generate the salt, generate the ZK proof using (jwt, public key, salt) as an input, and send it to the collator by calling the appropriate extrinsic. Integrate the Google OAuth provider with the `JWK Registry` pallet. | ## Future Plans @@ -249,4 +248,4 @@ This vision also includes hedging opportunities against domestic currency crises - We appreciate the ongoing efforts of the decentralised futures program to make significant impact in the ecosystem, however, in our research we haven't found any project yet that has been accepted. Our current situation is that we've reserved this month for setting up our businesses to be less reliant on us, so we can start focusing on the implementation of DOT Login from February. Hence, we choose to pick the grants program, since we've seen that good applications can be approved within weeks (recent examples include Democratic Governance, QuantumGuard, Lastic). - We're not yet going to be profitable after completion of this grant, which we believe is a precondition for the futures program, quote from the [webpage](https://futures.web3.foundation/) (also, we're not a non-profit venture): > Funding is available for Polkadot-focused organizations that aim to generate profit, as well as for non-profit ventures that have a strategy to secure ongoing financing through Polkadot's on-chain treasury system beyond 2024. -- We do see the scope of this grant as a very useful addition to the ecosystem that will enable mainstream web2 people to access the Dotsama ecosystem. While parachain teams will be able to reuse our pallets on their chain, we are envisioning to become the web2 entrypoint for the masses, allowing parachains to integrate with us through XCM, to onboard web2 users. In addition to that, as mentioned in the proposal our long term plan includes the implementation and launch of a global payment network that leverages our parachain under the hood. \ No newline at end of file +- We do see the scope of this grant as a very useful addition to the ecosystem that will enable mainstream web2 people to access the Dotsama ecosystem. While parachain teams will be able to reuse our pallets on their chain, we are envisioning to become the web2 entrypoint for the masses, allowing parachains to integrate with us through XCM, to onboard web2 users. In addition to that, as mentioned in the proposal our long term plan includes the implementation and launch of a global payment network that leverages our parachain under the hood. From d2e12ec3911ef37fc03c545078f6b0d289db60fa Mon Sep 17 00:00:00 2001 From: Mika Date: Mon, 22 Jul 2024 21:37:37 +0200 Subject: [PATCH 2/2] Update timeline --- applications/dot-login.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/applications/dot-login.md b/applications/dot-login.md index 341a4c37aa8..de9985ff783 100644 --- a/applications/dot-login.md +++ b/applications/dot-login.md @@ -162,12 +162,12 @@ Please note that above comparisons are based on our current understanding and re ### Overview -- **Total Estimated Duration:** 1 months +- **Total Estimated Duration:** 6 months - **Full-Time Equivalent (FTE):** 3 FTE - **Total Costs:** 17000 USD (2.5 FTE covered) ### Milestone 1 — Wallet Creation Flow -- **Estimated Duration:** 1 month +- **Estimated Duration:** 6 months - **FTE:** 3 - **Costs:** 17000 USD (2.5 FTE covered) @@ -181,7 +181,7 @@ Please note that above comparisons are based on our current understanding and re | 2. | `address` Pallet | Substrate pallet for deriving wallet addresses from OAuth2 JWT. | | 3. | `jwtValidation` Pallet | Substrate pallet for JWT validation. | | 4. | `JWK Registry` Pallet | Pallet that stores a hard-coded list of public keys from supported OAuth2 providers. | -| 5. | Client and OAuth Integrations | A rust-based client that allows the user to log into their gmail account, receive a JWT, paste the JWT to the client CLI, generate the ephemeral public/private keypair, generate the salt, generate the ZK proof using (jwt, public key, salt) as an input, and send it to the collator by calling the appropriate extrinsic. Integrate the Google OAuth provider with the `JWK Registry` pallet. | +| 5. | Client and OAuth Integrations | A rust-based client that allows the user to log into their gmail account, receive a JWT, paste the JWT to the client CLI, generate the ephemeral public/private keypair, generate the salt, generate the ZK proof using jwt, public key, and salt as an input, and send it to the collator by calling the appropriate extrinsic. Client-side jwt signature validation using the jwk present in the jwt header. The client will directly communicate with the node, assumingly it runs on wss://127.0.0.1:9944. | ## Future Plans