What is a Threshold Signature (TSS)?

Intermediate
3m

A threshold signature scheme (TSS) is a method for generating a single digital signature from multiple signers. The resulting signature looks the same as one created without the threshold scheme, but it is not created with a single private key. Rather, it is created with multiple private key shares, which are distributed such that no single person controls the private key entirely.

To sign a transaction, enough "Approvers" must participate to meet a threshold. This threshold structure is typically conceptualized as "t of n", in which n refers to the total number of signers, and t refers to the number of Approvers who can sign a transaction on behalf of the entire group. For example, you might have a group of 7 signers (n), and require 4 of them to authenticate a transaction: t of n = 4 of 7.

Advantages of Threshold Signatures

Removes Single Point of Failure

By distributing signing authority across multiple parties, threshold signatures eliminate the vulnerability of a single private key. This massively reduces the attack surface and makes theft almost impossible.

Flexible Access Control

A large number of approvers, traders and administrators can be assigned different levels of control, enabling digital assets to be managed effectively with even the most complex trade approval flows.

Efficient Signing

Signing with TSS is much more efficient than other key management systems like multi-sig, as it only generates one signature instead of multiple. Transactions are also data light, meaning faster verification and lower fees.

Easy Key Management

With MPC-based threshold signatures, you can easily generate different distributed key share combinations representing the same private key, without the need to change the key itself. This allows adapting the signature scheme to changing requirements without additional complexity.

How Threshold Signatures Work

Threshold signatures utilize multi-party computation (MPC) to distribute the generation of key shares and signing across multiple parties. The private key is derived from individual key fragments (shares) separately generated by multiple non-trusting parties without sharing data.

When a transaction needs to be signed:

  1. The transaction initiator (e.g. a Trader) proposes the transaction
  2. The required number of Approvers (based on the policy) provide their signatures using their key shares
  3. The individual signatures are aggregated into a single threshold signature
  4. The aggregated signature is verified against the public keys of all participants
  5. If the threshold is met, the transaction is signed on the blockchain using the MPC protocol

This process ensures that authorization occurs without any single party ever holding all key parts, and no shared data or leaks exist. The resulting signature is indistinguishable from a regular single-sig transaction on the blockchain.

Web3

What else do you want to learn?

Send
delate
Use TokenInsight App All Crypto Insights Are In Your Hands
Open