-
Notifications
You must be signed in to change notification settings - Fork 525
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
Distributed Cryptography for Polkadot Wallets - Milestone 1 #1108
Conversation
Hey @janbormet ,
Thank you. |
Thank You @PieWol Thanks! |
Thanks for adjusting the layout @janbormet , |
Hi @PieWol, I hope you're doing well! I was just wondering if there are any updates on the review? |
Hey @janbormet , |
Ain't so much here.. https://github.com/perun-network/polkadot-wallet-grant/wiki/Milestone-1 contains Section 1 - Mostly irelevant chat about common security assumptions, which are a low priority concern, like a single sitation could cover this, unless something later gave reasons for the inclusion of something not discussed elsewhere. The table looks kinda useful, but there is no real discussion of the where the information comes from. At minimum, you'd expect The underlying goal of the project is "Threshold BIP32 wallets", but nothing much said about that. I suspect the story here is the authors figured out that Schnorr is relatively simple, compared with the pile of stupid garbage that is ECDSA & its tooling. In other words, this seems like the first delieverable done with the absolute minimum effort, with any actual results in the authors heads. In future..
I'll approve the milestone payment, but I'm very unhappy.. |
We noticed the networking collum in the table is wrong. All these protocols are synchronous, using more recent work. It's possible there are more subtle flavors of synchrony, but we didn't look into that. |
At a high level I do think how users use "subkeys" broadly interpreted diserved more work, which probably requires exploring specific approaches. These TVRFs derifations were meant to provide more security (or unlinkability?) in some sense, but this was never justified. I think this must be justified by future milestone, Threshold BIP32 Schnorr is a complete triviallity: In the additive derivation case, combiner tells the signers their public key, which they'll use in computing the challenge. Combiner add the secret key deformation. We could've the signers validate the public key change by recomputing the derivation, but this appears unecessary. We do need the signers to actually know the derivation if one uses the seemingly stronger multiplicattive derivation like Tor does, but blockchains always use the weaker additive derivation. These TVRFs should be stronger than this scheme, which provides exactly the usual BIP32 Schnorr security. |
@janbormet, would you like to comment? |
Thanks for the feedback and for the approval of the first milestone! Sorry for getting back late, but most of us have been on holiday. Regarding your general feedback. It is pretty uncommon for basic research grants to define concrete milestones with deliverables. The web3 grant template required these milestones/deliverables, so we wrote some that made sense to us and that could have some added value. We are sorry if you view this as wasted time. We are totally fine with skipping all (artificial) deliverables in the future and just write the final scheme/definition/proofs. For us, these deliverables are also just overhead that can be avoided. However, if we follow this approach, we would require some upfront payment as is common in grants from public funding agencies, e.g., National Science Foundation (NSF) or European Research Council (ERC) funding.
Could you extend on this or link to the paper to which you’re referring to? In the case of the non-interactive or 1-round schemes, they can be considered as (trivially) achieving the more desirable asynchronous property.
Indeed, you are right that the non-hardened key derivation as specified by BIP32 is easy to achieve in the threshold setting. The hardened derivation, on the other hand, is quite a bit more challenging since it requires to hash the shared parent secret key. Our idea for this grant was to come up with a hardened derivation mechanism for the threshold setting that (1) is more efficient than a distributed hash function evaluation, (2) achieves the same properties as the original BIP32 hardened derivation, and (3) is compatible with a suitable threshold Schnorr scheme. We believe that this is an interesting direction with several research challenges. But even if this direction turns out not to be sufficiently interesting (for writing a paper), then we have at least a solid basis for doing an implementation, which was somewhat the part that we were mostly interested in anyway. Please let us know how to proceed. |
🪙 Please fill out the invoice form in order to initiate the payment process. Thank you! |
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. Please use the badge only in reference to the work that has been completed as part of this grant, so please do not display it on your team or project's homepage unless accompanied by a short description of the grant. Furthermore, you're now welcome to announce the grant publicly. Please remember to observe the foundation's guidelines in doing so. If you haven't already, reach out to [email protected] for feedback on your announcement and cross-promotion. |
Hey @sebastianfaust @janbormet , |
My evaluation is pretty sparse as this one was basically completely handled by Jeff. Just for the sake of formalities you can have a look at my evaluation here. |
hi @janbormet @sebastianfaust we sent the payment today |
Thanks, we fixed the table placement |
Milestone Delivery Checklist
Link to the application pull request: w3f/Grants-Program#1908