Skip to content
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 application #1908

Merged
merged 2 commits into from
Sep 12, 2023

Conversation

janbormet
Copy link
Contributor

@janbormet janbormet commented Aug 15, 2023

Project Abstract

This project aims to combine BIP-32 compatible hierarchical deterministic wallets with distributed (threshold) cryptography into a novel wallet scheme that brings advanced security and usability to the Polkadot ecosystem. This application covers cryptographic research on threshold cryptography and crypto wallets, while a follow up application will target an implementation of our proposed cryptographic protocols.

Grant level

  • Level 1: Up to $10,000, 2 approvals
  • Level 2: Up to $30,000, 3 approvals
  • Level 3: Unlimited, 5 approvals (for >$100k: Web3 Foundation Council approval)

Application Checklist

  • The application template has been copied and aptly renamed (project_name.md).
  • I have read the application guidelines.
  • Payment details have been provided (bank details via email or BTC, Ethereum (USDC/DAI) or Polkadot/Kusama (USDT) address in the application).
  • The software delivered for this grant will be released under an open-source license specified in the application.
  • The initial PR contains only one commit (squash and force-push if needed).
  • The grant will only be announced once the first milestone has been accepted (see the announcement guidelines).
  • I prefer the discussion of this application to take place in a private Element/Matrix channel. My username is: @_______:matrix.org (change the homeserver if you use a different one)

@CLAassistant
Copy link

CLAassistant commented Aug 15, 2023

CLA assistant check
All committers have signed the CLA.

@janbormet janbormet force-pushed the master branch 4 times, most recently from 3d130aa to bf634ca Compare August 15, 2023 14:28
@nikw3f nikw3f self-assigned this Aug 16, 2023
Copy link
Contributor

@nikw3f nikw3f left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Can you please provide the info on deliverables. Are your delivering whole wallet or just libraries. Will this wallet be a browser extension or native or mobile?

@Noc2 Noc2 self-requested a review August 16, 2023 13:34
@janbormet
Copy link
Contributor Author

This application covers basic research into a novel cryptographic wallet protocol. While we will consider "implementability" and provide important considerations for implementation in our deliverables (see Milestone 4), there will be no implementation as part of this specific application (as mentioned at the beginning of the Project Details section). The milestones provided and the respective deliverables reflect this fact. Once we successfully finish this project, we plan to implement our result through a follow up grant application. The circumstances of this follow up implementation (library vs. application, desktop/browser/mobile, programming language) will be specified within the follow up application as they may depend on the nature of the results and learnings from the research project. If some of the deliverables listed in the application remain unclear, it would be great if you can tell us so that we can clarify them.

Copy link
Contributor

@keeganquigley keeganquigley left a 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 @janbormet we have a separate template for research grants, in which 0a. - 0d. are mandatory deliverables. Can you update to include these and specify which license type you would be using for the publication(s)?

I'll also ping my colleague @burdges in case he is available to take a look since you mentioned talking to him.

@keeganquigley keeganquigley assigned burdges and unassigned burdges Aug 18, 2023
@keeganquigley keeganquigley requested a review from burdges August 18, 2023 20:37
@keeganquigley keeganquigley added the changes requested The team needs to clarify a few things first. label Aug 18, 2023
@janbormet
Copy link
Contributor Author

Thank you @keeganquigley! We have carefully adjusted the Development Roadmap section to the requirements of the research template. I have amended the commit and force pushed so that there is still only one commit.

@nikw3f nikw3f added ready for review The project is ready to be reviewed by the committee members. and removed changes requested The team needs to clarify a few things first. labels Aug 23, 2023
@semuelle semuelle requested a review from nikw3f August 30, 2023 12:27
Noc2
Noc2 previously approved these changes Sep 5, 2023
Copy link
Collaborator

@Noc2 Noc2 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Sorry for the delay here. I'm personally happy to go ahead with it. But I will also ping @burdges again since he might be interested in the project.

@sebastianfaust
Copy link

Sorry for the delay here. I'm personally happy to go ahead with it. But I will also ping @burdges again since he might be interested in the project.

Thanks a lot! You may also include Handan Kilinc Alper. We were also talking to her several times.

@Noc2
Copy link
Collaborator

Noc2 commented Sep 5, 2023

Thanks a lot! You may also include Handan Kilinc Alper. We were also talking to her several times.

Thanks. I pinged her as well

nikw3f
nikw3f previously approved these changes Sep 5, 2023
keeganquigley
keeganquigley previously approved these changes Sep 11, 2023
Copy link
Contributor

@keeganquigley keeganquigley left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks for making the changes @janbormet I'm happy to go ahead with it as well.

laboon
laboon previously approved these changes Sep 12, 2023
semuelle
semuelle previously approved these changes Sep 12, 2023
Copy link
Member

@semuelle semuelle left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Happy to support this. I would just like to suggest maintaining a (high-level) log for those deliverables that might not result in its own section/chapter in the article that you can share with us when delivering the milestone, because the specification of some of the deliverables is somewhat vague ("we will investigate..."). That makes it easier for us to evaluate.

@semuelle semuelle dismissed stale reviews from laboon and themself via c511cab September 12, 2023 12:06
@semuelle semuelle dismissed stale reviews from keeganquigley, nikw3f, and Noc2 via c511cab September 12, 2023 12:06
@github-actions

This comment was marked as duplicate.

@takahser takahser merged commit 3c2a43e into w3f:master Sep 12, 2023
6 of 7 checks passed
@github-actions
Copy link
Contributor

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.

Before you start, take a moment to read through our announcement guidelines for all communications related to the grant or make them known to the right person in your organisation. In particular, please don't announce the grant publicly before at least the first milestone of your project has been approved. At that point or shortly before, you can get in touch with us at [email protected] and we'll be happy to collaborate on an announcement about the work you’re doing.

Lastly, please remember to let us know in case you run into any delays or deviate from the deliverables in your application. You can either leave a comment here or directly request to amend your application via PR. We wish you luck with your project! 🚀

@sebastianfaust
Copy link

Hi all,

Thanks a lot for accepting the grant. As we have an important deadline in mid October, would it be OK if we start the project by end of October?

Best,
Sebastian

@keeganquigley
Copy link
Contributor

Hi @janbormet how is milestone 2 coming along, are you still working on it?

@keeganquigley
Copy link
Contributor

pinging @janbormet

@janbormet
Copy link
Contributor Author

Hi Keegan,

Thank you for reaching out and sorry for the late reply due to the holiday season!

Yes, we are still working on the grant. While working on the next milestones, we discovered a promising research direction that is of independent interest. In a nutshell, we are currently designing a novel scheme for a Threshold Exponent VRF (TEVRF), which may allow us to derive keys from hardened nodes in Threshold BIP32 wallets in a non-interactive manner. Hence, over the last months we focused more on this topic and how TEVRFs can be helpful to BIP32 Threshold Schnorr wallets.

We are currently working on a submission to Financial Crypto 25 (expected deadline is in September / October). We plan to publish these results on ePrint after the submission process is finished and also submit the results as part of some of the next milestones.

On top of that, we also will finish our work on threshold BIP32 Schnorr wallets for the Polkadot ecosystem. Our next step is putting together the security model and protocol pseudocode.

Following the review of Jeff Burdges, we propose that we just write the final result and make a new milestone submission whenever the items covered in a milestone are present in the draft. This will also save us time and the final result will be the same. We hope this is fine with you.

We apologize for any inconvenience, but as already pointed out in our grant proposal, our goals are rather basic research and hence having a perfectly fitting milestone list does not make much sense to us. It is quite common to have side tracks that lead to interesting results, so hopefully in the end everyone will benefit from it.

@keeganquigley
Copy link
Contributor

Hi @janbormet just checking in :) Any updates you can provide on the ePrint situation?

@janbormet
Copy link
Contributor Author

Hey @keeganquigley ,
in the process of preparing the FC submission we came across this paper https://link.springer.com/chapter/10.1007/978-3-031-68394-7_10 on "Round-Optimal, Fully Secure Distributed Key Generation" by Jonathan Katz.
It presents a similar construction to ours, but in the context of DKG, and we were not able to adjust our work in time for the FC submission.
We want to delay eprint publication or submission to another conference until we are able find more novel contribution.

Nevertheless, our work on Threshold Exponent VRF is in a good state and we are glad to share the results and the writeup through a normal milestone submission, which we plan to submit as a PR by end of next week.
In this submission we will also outline our suggestions on how to proceed with the project, as discussed previously in this thread.

@keeganquigley
Copy link
Contributor

Sounds good @janbormet thanks for the update!

@keeganquigley
Copy link
Contributor

Hi @janbormet do you still plan to submit a PR soon? Or should we perhaps put it on hold for now?

@janbormet
Copy link
Contributor Author

Hi, we submitted a week ago :)
You can find it here:
w3f/Grant-Milestone-Delivery#1225

@keeganquigley
Copy link
Contributor

Thanks @janbormet my apologies, was going through the sheet and didn't see the delivery.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
ready for review The project is ready to be reviewed by the committee members.
Projects
None yet
Development

Successfully merging this pull request may close these issues.