Glossary
Definitions for commonly used terms
ECDSA
Elliptic curve digital signature algorithm. It's an algorithm to produce digital signatures using elliptic curves. It's extensively used in Bitcoin and all EVM chains.
EdDSA
Edwards-curve Digital Signature Algorithm. It's an algorithm to produce digital signatures using elliptic curves (Uses different curves compared to ECDSA). It's majorly used in Solana and cosmos chains.
Distributed Key generation
Commonly abbreviated as DKG. When multiple parties cooperate to create a shared public and private key pair. At the end of DKG, each party has a "keyshare", which can be thought of as a share of the actual private key. This is the secret data each party must hold. The full private key is never assembled.
Threshold Signing
Using keyshares generated during DKG, parties can cooperate and generate a digital signature of some data, without ever assembling the full private key. The signature is computed using MPC.
Key Refresh
The parties can proactively "refresh" their keyshares using a key refresh protocol. This protocol refreshes all the keyshares without changing the public key of the account!
Consider two parties holding keyshares of 3 and 7. The private key, their sum (10), is unknown to either party as they're unaware of each other's share. A key refresh involves altering these keyshares to, say, 4 and 6, maintaining the sum at 10. This way, the account remains the same, but the keyshares' values are updated.
Key Import
Key import allows importing a normal private key (or EOA) into an MPC wallet. This does not have the same guarantees of MPC, as the full private key exists at some point. It's crucial that the private key is destroyed after the import is complete.
Key Export
Key export is the reverse of import, when we need to securely convert an MPC account into a full private key. This is a sensitive operation, once the export is complete, there are no MPC guarantees and the full private key must be secured by the recipient.
Precompute
Threshold signing involves multiple communication rounds between parties, but interestingly, the initial rounds don't require the actual message. These rounds can be 'precomputed' in advance. When the message is ready to be signed, minimal communication, typically just one round, is needed to generate the signature, thanks to the pre-computation.
Admin Key
This is the shared secret between the Sigpair Admin and the Sigpair Node. This key is used by the Admin to issue JWT's which can be validated by the Sigpair Node. This key must be kept HIGHLY SECURE. Compromise of this key allows an attacker to communicate with the Sigpair Node freely, which can lead to corruption or loss of keys. This will not lead to compromise of the MPC wallet. As for corruption or deletion, this can be mitigated by taking backups of the keyshares.
Last updated