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

Figure out order of magnitude for the number keys in a DKG ritual #9

Closed
Tracked by #76
cygnusv opened this issue Nov 3, 2022 · 3 comments
Closed
Tracked by #76

Comments

@cygnusv
Copy link
Member

cygnusv commented Nov 3, 2022

where number of keys doesn't necessarily equate to number of nodes

Related issues: https://github.com/nucypher/tdec/issues/85, #77

@cygnusv
Copy link
Member Author

cygnusv commented Nov 21, 2022

There are two contexts here:

  • Short-term MVP: The main restriction for outsourcing the coordination of DKG rituals to a public blockchain/L2 is the storage cost, since DKG transcript size per node grows quadratically with the number of shares/nodes of the ritual (which in turns implies more TX cost per node). In the short term we can work with a smallish cohort (see Validate 'small count cohort' DKG for memory optimization #77) so we can have an MVP with a smart contract coordination layer (see https://github.com/nucypher/tdec/issues/85) that's economically viable.
  • Long-term solution: Here we will work towards removing the small cohort assumption. The decision here will be choosing between an iteration over the MVP solution (either assuming we can find viable optimizations to support bigger cohorts or because we just accept the small cohort restriction), and rolling our own chain (e.g. Tendermint). Metrics that will help us to take this decision:
    • Economic viability (i.e., TX cost per node participating in a DKG ritual)
    • End-user benchmarks (e.g., time needed to combine t-of-n shares, time needed to perform a DKG ritual)

@piotr-roslaniec
Copy link

piotr-roslaniec commented Nov 21, 2022

Benchmarking the size of the primitives

  • Benchmark results
    • A is the public key share, Y is the private key share
    • For n=8, the A size is 384 bytes, and the Y is 768 bytes
    • For n=16, the A size is 768 bytes, and the Y is 1536 bytes
  • Using 1...n for threshold, where n is the number of shares, is feasible as confirmed by this test

@piotr-roslaniec
Copy link

Superseded by nucypher/taco-web#168

@arjunhassard arjunhassard moved this to To-do (Important) in v7.0.0 (TACo) Feb 13, 2023
@arjunhassard arjunhassard moved this from To-do (Important) to Completed in v7.0.0 (TACo) Feb 13, 2023
@arjunhassard arjunhassard moved this from Completed to Completed in v7.0.0 (TACo) Jan 16, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
Status: Completed
Development

No branches or pull requests

2 participants