-
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
Tux0 application #2071
Tux0 application #2071
Conversation
Signed-off-by: muraca <[email protected]>
CLA Assistant Lite bot All contributors have signed the CLA ✍️ ✅ |
I have read and hereby sign the Contributor License Agreement. |
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 application @muraca just a couple of initial comments:
- You mentioned that you are confident that phase 1 will succeed. I take this to mean that you would want to go forward with M2 regardless of the results of the M1 research?
- Can you integrate more technical details into the application such as the tech stack? Especially the milestone deliverables themselves. For example what will you use to build the data visualization tool? What will the benchmarking program be written in?
From the proposal document:
We think we must be conservative, but truth is we don't think this research will fail to identify a usable protocol.
We've been deliberately vague with the first milestone, as we didn't want to set in stone things that are subject to change:
Regarding the second milestone, we have taken it for granted that the Tuxedo piece and the wallet extension will be written in Rust. I agree that we might have been more clear on those things, but I was unsure on how to proceed. If you think we should clarify and write down these possibilities, I'll be happy to do so. |
Hey there 👋 I want to share a few things that may be relevant to the review of this grant. First, @muraca has been contributing to Tuxedo as an open source volunteer pretty often the past several weeks. He started with small chores (Tuxedo#91), then moved on to overhauling ci (Tuxedo#93, Tuxedo#112, Tuxedo#113), and eventually started making significant design contributions (Tuxedo#127). He understands the design of Tuxedo and the UTXO system. And second, I'm willing to mentor/advise a few hours a week on this grant. I could help with Rust, Tuxedo, and Substrate, but not with ZK aspects. I would not be an official part of the grant, as I'm currently busy working on another grant. |
Signed-off-by: muraca <[email protected]>
Hi, I am the other guy who should be a developer in this project. I am by no means an expert in cryptography, but i could be the math guy of reference if you want to make quantitative questions. |
Also, @keeganquigley I saw your questions. While it is true that we were vague on most points, I think part of that is due to us being newbies in this grant application process.
Even though @muraca integrated some changes in the application text to address the direct questions ("For example [...]"), I get the feeling that you probably have much more to ask. Since we are clueless about what constitutes a good application text, I would like if you made more such direct questions. |
Thanks @muraca @Gorzorg for your explanations, they are much appreciated. Thanks also @JoshOrndorff for the introduction, and nice to see you again. I apologize for the delay, we have a bit of a backlog atm with the recent changes.
|
@keeganquigley no worries, thank you for your attention and take your time.
No, it's very likely that the list will be extended, but I think at one point we will have to choose which ones to compare and why. We can't test all the protocols we can find with a Google search.
Thanks for mentioning this, it might be very interesting for Tux0, we'll look into it.
The protocol we hope to identify is ideally good enough to be used in a Substrate Runtime in WASM without using host functions, so it must have small proofs and short execution time. |
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 your answers @muraca it looks good to me and I'm happy to approve it. I will mark it as ready for review and ping the rest of the committee to take a look.
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.
@muraca thanks, that sounds interesting. I have a few questions:
- could you provide more details on the ZK protocols being considered in M1? In particular, which protocols are you going to compare and what will be the evaluation criteria? Please integrate this directly into the deliverables, as they act as a contraction that the evaluator will review your future delivery against.
do you have any code samples that you can provide? Orcould you direct us to the nft chain materials that were presented at sub0 2022 that you mentioned in the proposal?- could you clarify the limitations of the prototype implementation in terms of production-readiness? What will be required to make it production-ready after this grant and what are the long-term plans for the project (if any)?
Edit:
- regarding the code samples, I just saw @JoshOrndorff's comment that provide some PRs. Although most are more CI and deps-related, Genesis Transactions Off-Narrative-Labs/Tuxedo#127 is a more complex one, that helps already. I'd still be interested in the nft chain materials though.
@keeganquigley we appreciate your support and thank you for your approval. @takahser nice to talk again. About NFT Chain
Grants-Program/applications/tux0.md Line 99 in 0512ee1
Grants-Program/applications/tux0.md Line 100 in 0512ee1
The Tux0 questionsWe think some of the answers are already extensively answered in the document, I'll embed the content in this comment.
Grants-Program/applications/tux0.md Lines 30 to 33 in 0512ee1
We want to write the program in a way that it can be extended in the future with other protocols. We will write a few words on how we plan to do this, integrating some Rust code sketches.
They are defined in the Project Details section: Grants-Program/applications/tux0.md Lines 35 to 39 in 0512ee1
I think we should specify that we intend to compare those results with execution time and size of extrinsics in Substrate runtimes as well.
Grants-Program/applications/tux0.md Lines 169 to 170 in 0512ee1
@CrackTheCode016 recently suggested a Tux0 parathread on Rococo, which would be a huge step forward for Tuxedo as well. |
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.
@muraca thanks for the detailed replies and thanks for refreshing my memory :)
We didn't want to set in stone the protocols, as we could find other more suitable ones during the research phase, or even drop some for valid reasons. We'll try to do as much as we can.
I understand that you want to have some flexibility, but I'd still prefer to have them in the deliverables. If you want to drop or change one (or more) of the protocols, an amendment would be possible and in this case I wouldn't expect any problems with approving it, as long as you can justify the change. Another option would be to commit to a number of protocols in the deliverables without explicitly setting for the candidates yet, something along the line of "we're going to evaluate 3 or more protocols, such as x, y and z, but the choice of protocols will be made at a later stage".
Regarding the other 2 points, thanks for clarifying, sounds good to me.
other trivial improvements Co-authored-by: Gorzorg <[email protected]> Signed-off-by: muraca <[email protected]>
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.
@muraca thanks for the adjustments, happy to approve as well.
@takahser thank you again for your time and for supporting the project. |
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 for giving us the opportunity to work on this project. |
Dear committee, I'm writing this comment to update you on the current situation of the project. We started going through OpenZL, which could have been a great candidate to write circuits using a high-level language. However, looks like Manta Network got 400k USD from the Polkadot Treasury to build a tool that was left unfinished. We spent some time on Nova, a SNARK library developed by Microsoft, failing to find any tutorials or appropriate documentation. Because of that, we tried building some understanding of how it works by code digging. We have some trouble understanding the implications of how many of the objects used or defined in that library, which in turn makes it difficult for us to form opinions on its usability. We also tried contacting the developers by opening a discussion that didn't receive any answers. We don't exclude coming back to Nova later on. We have currently spent 2 weeks on Halo2. Even if we didn't consider the first week we basically wasted, it's clear to us that 6 weeks are not enough to produce what we intended to do in the first milestone. 3 weeks per protocol are the bare minimum, but I'm afraid it could take longer. We'd like to know if you would be willing to consider an amendment, with a more proper time and cost estimation. We are also thinking of splitting the first milestone in two parts, as receiving some funding earlier would be beneficial for us. Thanks for your attention. |
Thanks for the update @muraca yes feel free to amend the original application to update the changes and submit an amendment PR. If the updated costs aren't significantly higher, it should get approved and merged fairly quickly. On the other hand if the cost changes would be significant, I would recommend reducing the scope in this grant (such as removing the last milestone) rather than increasing the price, and then you can always apply for a follow-up grant if it still makes sense to fund the remaining work. I hope this helps! |
@keeganquigley thanks for the info. |
Hi @muraca just checking in on progress for milestone 1. Can you provide an update? |
Hey @keeganquigley sorry for the late response. |
So, I needed to do some soul searching. I could expand on the causes, but i feel i could only continue working on the grant slowly, without being able to fix deadlines. The short version is, i had a minor burnout, and i am also starting a new job soon. Realistically i could close milestone 1, but i would not be able to guarantee a timeline for the subsequent ones. |
Hi @muraca & @Gorzorg, thanks for the insights. There is currently no urgency with delivering this grant, so we have no desire to force the matter. However, at times grants become obsolete, which is why we keep tabs on all of them. My suggestion would be to set a target date of the first milestone for six months from now. We can still decide to cancel the grant then. What do you think? |
I will try putting effort into it |
After assessing my new work situation, i have to abandon the project. I apologize. |
Thanks @Gorzorg we appreciate the update. Understood, we will go ahead and close it for now. |
Project Abstract
Tux0 will be a Tuxedo piece that leverages zero-knowledge proofs to manage a private token.
To develop it, we will first conduct research to identify a zero-knowledge protocol that is suitable for use in Substrate runtimes.
Grant level
Application Checklist
project_name.md
).cc @Gorzorg @JoshOrndorff