-
Notifications
You must be signed in to change notification settings - Fork 2.1k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Interstellar - Wallet Phase 2 (follow-up) #1543
Conversation
* Create Interstellar-network2.md
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thanks a lot for the follow-up application. I have one initial question: What are your long-term goals with this project? Did you already try to apply for treasury funding with this? If you plan to help different parachains and, if I understand you correctly, you're already talking to parachain teams, it might be the logical next step. Also, regarding the long-term funding of this project. If your long-term plans are instead to release your own parachain, then the substrate builders program might be better suited for you, see https://substrate.io/ecosystem/substrate-builders-program/
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thanks for the follow-up application, @nashjl! I find it generally quite interesting, I just have trouble understanding the overall architecture of Interstellar and the relationship between its components. Perhaps you could add an architecture or sequence diagram containing Integritee, Interstellar and Polkadot and what data is exchanged and how?
| **0c.** | Testing and Testing Guide | Core functions will be fully covered by comprehensive unit tests to ensure functionality and robustness. In the guide, we will describe how to run these tests. | | ||
| **0d.** | Docker | We will provide a Dockerfile(s) that can be used to test all the functionality delivered with this milestone. | | | | | ||
| 1. | Android Wallet App | We will update the current android app to handle Polkadot and Ethereum transaction | | ||
| 2. | upgrade pallets | Mobile Registry and signers, will handle complete Polkadot and Ethereum transactions | |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Can you expand on what this 'upgrade' entails?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Currently, we are not handling any signature nor transactions in the app.
We will have to add:
- support for the Keystore/Keychain app-side
- implement signature verification in the pallets [probably using unsigned extrinsic with signed extension]
- add the "fancies" needed for a nice UX: retrieve dynamic value of the ETH/etc
We used the word "upgrade", but depending on how/what we deliver in milestone 1 it may be different pallets.
Practically the milestone 1 is server-side, and will probably be tested with Polkadot front-end + demo script;
and this milestone is the "full stack".
After milestone 1+2, we SHOULD NOT have any hard-coded default keys anywhere(ie //Alice
etc).
| 1. | Substrate Module - social recovery | We will integrate social recovery pallet with our chain | | ||
| 2.a | Android Wallet | We will update android app to handle social recovery | | ||
| 2.b | iOS Wallet | We will update iOS app to handle social recovery | | ||
| 3. | Substrate Integritee chain | POC to demonstrate instant onboarding and easy airdrop | |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
What exactly is being done/delivered here?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This milestone would upgrade Android and iOs apps. Ideally deployed through Firebase and TestFlight.
With added features of social recovery, instant onboarding/airdrop, and MVP UX(ie no app closing at the end of the tx, proper error handling, etc).
The social recovery has two parts:
- the server-side using the substrate recovery pallet
- app part: we must offer a nice UX to recover if the user had a pallet before
The goal is to deliver MVP-grade apps, minus the garbling optimizations of the next milestone.
| 1. | Garble Circuit pallet update | We will optimize the garbled circuit evaluation scheme to get better performance | | ||
| 2. | Display Circuit update | We will modify the current display circuit to enable a smoother user experience more comfortable for the user when circuit is evaluated | |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Can you add/explain how you measure/evaluate these?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
That is not the easiest one to evaluate...
When you evaluated the latest milestone(5) you may have noticed that the app was running at maybe ~1 FPS and that was pretty much unreadable.
The goal of this milestone is to target at least 60FPS, and ideally 120+.
At those frame rates, it is a way more pleasant user experience.
Practically, we will have to refactor the garbling lib we are using(swanky
) and add various optimizations from a white paper.
We will also probably add a "dynamic" feature(ie fading) to make the screen more readable, sacrificing a bit of security.
That should be user-configurable and/or server-configurable; eg based on the amount.
@Noc2 Thanks a lot for your question. Our long-term goal is to launch our own parachain to help current and future Polkadot parachains. As a small team with limited resources, we recognize that we may be too early stage to apply for the Substrate Builders Program or treasury funding. Once we've developed these features, we can showcase a more complete and attractive version of our solution to both potential investors and parachain teams we are in conversations with. We believe that by following this roadmap, we can construct a compelling solution that will enable us to successfully launch our parachain and thereby bring full benefits to the Polkadot ecosystem. |
Co-authored-by: Sebastian Müller <[email protected]>
Thanks for the replies, @nathanprat & @nashjl. I would like to see this grant going forward, but there are still some details I cannot quite figure out. The book you linked helped a little, but maybe I'm too dense. For example, where/how does the "Integritee pallet" (D1.3) connect to Ethereum? Going through the diagram in the project details, what are the striped and dotted components? Mobile app, Interstellar chain and Integritee? Regarding M5, I would suggest you either specify more clearly what these optimisations will look like, or you remove the milestone as a whole and include that in a future proposal. |
Hi @semuelle, Thanks a lot for your message and support. Now that you mention it, it’s true that the diagram is confusing. We updated it here
"Integritee pallet - Ethereum signer" is only the signer. For the architecture we have two options:
Regarding this milestone, we think that this is an implementation detail:
To optimize our current garbled circuit implementation, we can use parallelization to speed up computation, caching to reduce computation load, and permutation-based garbling to improve garbled circuit size and security. These combined approaches should significantly improve performance while maintaining overall security, but careful consideration of trade-offs is necessary. Would you be OK with:
The goal of M5 is to have a functional MVP. Without these optimizations, we won’t be able to deliver a proper MVP demo (we are currently at <1 FPS) Regarding D5.2 (Master/Configuration) Display Circuit Update: |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thanks for the update. Sounds good to me.
Would you be OK with:
* specifying a performance target (e.g., at least 60 fps ~ previous grant M3 performance)? * optionally the link to the white paper related to a permutation based garbling scheme designed for performance.
Either one is fine. I just want to make sure that, when this is delivered, we have a way of actually evaluating it. Any details you can add about what will/might/could be done would help.
@semuelle Thanks for your response, we have updated M5 with what you agreed on. We will also add fps in the logs. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thanks for the update.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Sorry for the late response here, and thanks for the detailed answers. I will mark the application as ready for review. But I personally won’t approve it. I would be willing to give you a small follow-up grant to keep working on the PoC, but I think you should try to actively find other income sources. Almost 100k plus the previous grant is a lot for a small startup. Otherwise, we risk that the project won’t take off, especially since the entire grants team is not really focused on the business side of applications. The Substrate Builders Program as well as the treasury, usually don’t have huge requirements when it comes to the progress of teams and their existing work, but ideally, you also get external investors to support your project.
Hi @Noc2 thanks for your feedback. We understand your concerns. For us, the main problem with treasury funding is the threshold of 5% which you need to deposit in DOT. The substrate builders program is something we are looking at, but we need to at least have some financial support anyways. PS: About ERC-4337 We just received huge market confirmation from the ERC-4337 release focused on account abstraction. Ethereum based projects like Argent, Safe, Sushiswap etc. all see a lot of potential in this for their ecosystem. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Sorry for the late reply, and thanks for the detailed response. Something to be aware of: the SBP also supports projects financially, as far as I know, and helps you get in touch with VCs. Apart from this, I still recommend reducing the scope of this application or applying for treasury funding. But I will also share the application again with the rest of the team for additional feedback.
Thanks for getting back @Noc2! We are making progress with our partnerships and would really like to continue working with the Web3 Foundation. Following your recommendation, we could reduce the scope of this application to 2-3 milestones. Regarding alternative funding, we will check again with the SBP but are also currently looking at the Ethereum Support Program which could help with developing the MVP before applying for treasury funding. Additionally, we just applied to talk at Polkadot Decoded 2023 which might be a good possibility to get more traction (if accepted). Please let us know if this approach makes sense, so we can propose an updated scope and sync with ESP. |
Thanks for the reply @nashjl it's possible that if you reduce the scope/cost of the application it might have a better chance of getting approved. Perhaps you could focus purely on the PoC of the garbled circuits and pallets and less on the app deployment; if you lowered it to a level 2 grant you would only need 3 approvals. |
Thanks for the recommendation @keeganquigley! We modified the PR into a level 2 application, focusing purely on the garbled circuits and pallets. 👍 |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thanks @nashjl I believe a contract will need to be signed in order to get paid in fiat, but I will double check with the team tomorrow. Other than that I'm happy to support it.
Great. Thanks a lot @keeganquigley for your support! |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I'm happy to go ahead with it. For fiat payment, we don't need to sign a separate contract. See https://github.com/w3f/Grants-Program/blob/master/applications/application-template.md
"In the case of fiat payment, please share your bank account privately with [email protected] via your contact email (see below) and enter the date when you shared the information with us (e.g. Fiat 24.12.1971, 11:59) here."
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thank you for your application. Reading the discussion, I think is a good strategy to continue working and trying to find other sources of funding. I'm happy to support the project, it seems to be a very promising one. One idea is to look for mobile phone companies (hardware ones) that could embed the technology in their products. However, I strongly advise trying to get a patent before doing that. Good luck in finding more supporters.
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 of our README for more ways to find answers to your questions. |
Thanks a lot for your support @Noc2, @semuelle, @keeganquigley and @dsm-w3f! Thank you also for your feedback, guidance, advice and ideas. Means a lot! |
Project Abstract
Interstellar is a new universal layer to access Web3.
Wallet Phase 1: w3f/Grants-Program#1354
Grant level
Application Checklist
project_name.md
).@_______:matrix.org
(change the homeserver if you use a different one)