Threshold signature(TSS)
All operations should be signed with ECDSA secp256k1 threshold (t-n) signature. This signature is produced by core multi-sig services depending on the core validated state. All public signature parameters (including public key) should be defined and stored on the core system.
During parties work they should connect to the core to receive the new events of operation entry creation. That operation will be put into the mempool sorted by operation timestamp. After that some set of operations will be extracted from the mempool and signed by parties. After producing the signature the confirmation message will be sent to the core with the information about the signed operation.
Core operation entry contains the information about some data to sign. Operation can have the following types:
- transfer operation (transfer token from one chain to another)
- change key by adding party
- change key by removing party
The tss-svc is a party implementation that is responsible for generating/resharing TSS keys and signing operations.