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

How to recover one valid {t,n} threshold (PublicKey, PrivateKey) pair ? #1

Open
daevontkhplanesw opened this issue Aug 18, 2022 · 2 comments

Comments

@daevontkhplanesw
Copy link

Amazing library. We really love it. For work, we can't use the Signing function, instead we need to generate a valid {t,n} threshold ecdsa (PublicKey, PrivateKey) pair. We can even ask the t out of n clients to send their local private keys to the final computer that will generate the final valid pair. Also this process will be used only once as we no longer use the same party again.

Let's rewrite here our scenario

  1. n computers generate their local secrets.
  2. Using signing function on a dummy message, {t,n} can recover the PublicKey of the final pair from the signed dummy message.
  3. At a certain point in time, t of these n computers will share their keys to a special node.
  4. This special node should be able to recover (create) a valid {t,n} threshold ECDSA (Public,Private) key pair.
  5. We discard the party as we no longer need it.

Think it as a 3rd party authentication service that is able to recreate the final (PublicKey,PrivateKey) pair.
Or think it as an escrow multi sig. We know from the beginning the multi sig address, and after some time t out of n will allow one node to create the (PublicKey, PrivateKey) to claim control over the multi-sig address.

Any idea of how to do it ? We really appreciate if you can help us, otherwise we can not use this amazing library in our work.

@JunHash
Copy link

JunHash commented Aug 22, 2022

Hi daevontkhplanesw.
I am the project lead of open tss. It is great to feedback your landing scenario. Are you free to schedule a meeting to sync up the details so that we can priority the roadmap internal. My personal email: [email protected]

@ThantZin-develope
Copy link

Here, I am also the beginner of TSS. But there is something i know which is the main features of TSS are the keygen and signing process are computed distributedly. There is also the SSSS scheme, in which private key is reconstructed before signing. So your requirement is more likely compatible with SSSS scheme instead TSS scheme. Here is one of the libaray that may give your requirement [ https://github.com/fernandolobato/ecc_verifiable_threshold_cryptosystem ].

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants