-
Notifications
You must be signed in to change notification settings - Fork 526
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
New BLS12 hash function M1 #376
Conversation
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 delivery @dishport, that was quick! Could you please:
- List all the deliverables you included in the application.
- Submit an amendment, i.e. a PR to update the original file, adding a payment address.
- Submit an invoice.
- Provide the documentation on the hash function in a readable format. There are hacks to render formulas in GitHub markdown, otherwise feel free to link to a HackMD.
- Also provide some documentation on the implementation.
- Deliver unit tests as per your application.
Let me know if you have any questions.
@alxs, I added the necessary information except for the payment address and invoice. Could I fill these data after the milestone is accepted by evaluators? |
As you wish. Could you refer to the last 3 points in my last comment? |
Please answer the following questions or give some remarks. This is my first milestone delivery, so excuse me for my stupidity.
I added the link to my published article. Is it regarded as a documentation of a readable format?
I don't understand what it is.
What is the difference between this and the first point? I provided inline documentation on the implementation. Is it sufficient ?
My application doesn't contain units, because the implementation is compact. |
Of course @dishport, no worries. Documentation in a readable format means anyone who opens your project will know what it's about. You can add a README file to your repository with some information about it like you have your The markdown version GitHub uses doesn't render math formulas by default, which is why I was suggesting you create some documentation on HackMD and link to it from your README. Keep in mind your article is behind a paywall, so you shouldn't assume everyone has access to it. Don't worry about the difference between documentation on the hash function and the implementation. @burdges will review your code. I leave it up to him to decide whether unit tests are needed or not. |
I included the link to free eprint version, where all math formulas have already been clearly explained. |
@dishport and yet anyone who finds your repository will have no idea what it contains. The only person who will see the link you just added is me, but we're trying to make your delivery accessible to the open-source community. Again, please refer to my last message. Also could you please move the delivery file to its proper location in the |
@alxs I'll review this. could point me to the code. I can't somehow find it easily. |
Great. Here's the repository and this is @dishport's delivery file. |
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.
@dishport Just a quick note from my side: Could you please add a licence and a reamde to this repo: https://github.com/dishport/Indifferentiable-hashing-to-ordinary-elliptic-curves-of-j-0-with-the-cost-of-one-exponentiation See: licensing-a-repository and about-readmes
@Noc2, I added. |
Hey @dishport, @drskalman just submitted his evaluation of your delivery here. Could you please address his comments and get back to him when you're done? You can keep the conversation on this PR. Let us know if you have any questions. |
@dishport and @drskalman It’s usually easier to keep the conversation on the PR of the original delivery. Sorry that I replied to the other PRs myself. Maybe we should just continue here. (#398 (review)) |
@dishport could you please commit your changes to the test and push it to your repo? I'll take it from there. Thanks a lot. |
@drskalman, you can find the changed code on the link https://disk.yandex.ru/d/RuqWxbUx_qrhWw |
I see what went wrong. You shouldn't really use global variables. It renders the code unreusable (as it did for me): https://softwareengineering.stackexchange.com/questions/148108/why-is-global-state-so-evil I moved the tests to their own unit test class so they don't interfere with the global state. I also add @noglobal decorators to prevent the use of global variables in your functions: Please modify the code so it passes the tests without the use of global variables. You could make a pull request to our repo if you wish not to modify your own, so I can verify the code successfully passes the test or review and comment on the pr. Thanks a lot. |
@drskalman, thank you for your work. However, I don't understand what exactly I have to write, because I don't know how to use unittest. Why don't you finish testing yourself if you started doing it? The use of professional testing tools is not included in Milestone 1 according to the new grant proposal. Thorough testing (in Rust) was moved to Milestone 2. |
The test are for me to evaluate your code and see if the delivery does what is supposed to do. I moved them out, in case you find them confusing. What you need to do, is not to use global variables. I moved every thing global in your original submission to Could you please edit this code so it runs without error and without using global variables: For example, it currently results in this error:
If you want to use Thanks! |
@drskalman, I edited the code. Please find it on the link https://disk.yandex.ru/d/es_kKJbm0bssGA |
@dishport Thank you for editing the code. I haven't had a look yet, but I agree with @drskalman strongly about the global variables point. Much of the point of Rust is memory safety and much of the paradigm of memory safety is ownership and I think global variables should be used exceedingly sparingly in the spirit of ownership. Thanks! |
Thanks! could you make a pull request against my branch so I don't need to re-read the whole thing, get a diff and be able to comment on it? thank you very much. |
@drskalman, I made: |
* re-evaluate new bls hash function milestone 1 * fix link to test result section * Set status to Accepted Co-authored-by: lucasvanmol <[email protected]>
Hey @dishport, @drskalman just updated his evaluation and accepted your delivery. Thank you for your patience during the delivery process and @drskalman for taking care of the evaluation. I'm happy to approve it from my side as well. @dishport when you're ready, feel free to submit the next milestone by opening a new pull request. |
Congratulations on completing the first milestone of this grant! As part of the Grants Program, we want to help grant recipients acknowledge their grants publicly. To that end, we’ve created a badge for projects that successfully deliver their first milestone. Note that it must only be used within the context of the delivered work, so please do not display it on your team or project's homepage unless accompanied by a short description of the grant. |
@dishport could you please fill in the invoice form and let me know when you've done so? |
@alxs, in which cryptocurrency can you pay ? What about stablecoins ?
I submitted the next milestone: #556. Did I do it right? |
We can currently make payments in Bitcoin, USDT (on Kusama or Ethereum) or USDC/DAI (Ethereuem). I remember you didn't include a payment address in your application, so you'll need to do that first. Please add the address you want to be paid to and specify the currency here. You'll need to create a new pull request. I'll get back to you on the new delivery there. |
@alxs, I'm not sure if I'm doing everything right. By means of a new pull request I created this page: w3f/Grants-Program#1157. You can find my payment address and chosen currency on the page https://github.com/dishport/Grants-Program/blob/patch-1/applications/new_bls12_hash_function.md. I generated a new payment address. Can W3F pay a small amount of money for the first time? Just to make sure everything is working properly. |
That's great, thank you. I will let the finance team know that you've requested a test transaction first. Could you please submit an invoice that meets the requirement specified in the invoice form? Please read the instructions carefully. Please also specify your payment address and the currency (USDC). You can generate an invoice using an online tool like https://invoice-generator.com/. |
Thank you!
I already submitted the pdf file containing the following text:
Is this normal or do I have to necessarily use an online tool ? |
The file you submitted does not meet the requirements. Please use the online tool and follow the instructions in the form. |
@alxs, please look at the pdf file: https://disk.yandex.ru/i/ImD7-nXn5ghhmA Did you inform the finance team that I wish a test transaction first ? |
That should be fine, thank you. You can submit a similar invoice for milestone 2 through the invoice form. I've let the team know. Please allow for up to two weeks of processing time until the payment is made. |
hi @dishport we sent a test transaction of 10 USDC. Could you confirm receipt? |
thanks for confirming @dishport. We transferred the remainder. |
hi @dishport apologies for the late reply. I think that should be possible. Would you have a template for that? |
Milestone Delivery Checklist
Link to the application pull request: w3f/Grants-Program#825
Amendment: w3f/Grants-Program#966