Hi Web3Auth Community, I have a few questions regarding MPC Core kit flow.
- What DKG protocol do you use for localSign(), is that DKLS19?
- Is the set of nodes in signing phase the same as the set of nodes in the login/attestation phase?
- How nodes are chosen for each user? Are they rotated/re-selected for each user on each user session or each epoch?
- How the nodes can trust the user to work on signing, is it just based on OAuth attestation/session key just like when creating session or based on shares?
- How different set of attached nodes across time persist the threshold key for a specific user? Or the key does not persist at all and keep changing? I heard you use Proactive secret sharing of AVSS, is that true?
- Why in the method mpc-core-kit/src/mpcCoreKit.ts:localSign(), you use a hardcoded verifier info and hardcoded number of parties which is 3? And the nodes of SSS, TSS, RSS are hardcoded too.
- What is the purpose of pre-compute via socket each time the user wants to sign? Is that a step of the async dkg protocol? It should be calculated from the beginning only once when user signs in, isn’t it?
- Are shares part of this MPC & Threshold signature protocol, or they are just for SSS flow? How many shares of a specific user are maintained in the network and how they are used to create threshold signature on behalf of the user?
- Do we still have SSS in the full TSS/MPC flow?
Could you please show me the lines of code for these questions? The doc is outdated and does not contain enough information about these. I would appreciate anyone who could help me answer this. Thank you.