Skip to content
All posts

What is Threshold Signature Scheme?

Rectangle 683 (1)

Threshold Signatures are a critical part of Yuki's wallet security toolbox. 

Let's explain — without math or jargon — how Yuki uses Threshold Signatures to remove the vulnerability of private keys and enable the control of digital assets to be shared across a decentralized network.

What is a digital signature?

In a nutshell, digital signatures are simply cryptographic codes that are used to prove the transaction being sent comes from you.

To achieve this, the signatures are derived from something that only you have: your private key.

Public key cryptography
  • Private keys are secret codes that must not be shared, as they grant control over assets.

  • Public keys can be shared without endangering funds. They are derived from the private key via a one-way cryptographic function, and are used to generate addresses to receive funds, and to verify the authenticity of transactions. 

How are digital signatures created?

Digital signatures, such as ECDSA (Elliptic Curve Digital Signature Algorithm) in Bitcoin, are created using the private key and the transaction data.

This process, which relies on complex elliptic curve cryptography, means the signature can only be produced with knowledge of the private key. But, because it is produced using a one-way cryptographic function, the signature doesn't give away any private key information — enabling senders to authenticate transactions without endangering their assets.

Threshold signatures are generated using a similar process. But instead of relying on a single private key, they use multi-party computation (MPC) to produce a signature from private key material distributed between multiple computers.

What are Threshold Signatures?

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.

TSS vs. Multisig

Put differently, both multisig and TSS are essentially trying to achieve similar goals, but TSS is using cryptography off-chain, while multisig happens on-chain. However, the blockchain needs a way to encode multisig, which might harm privacy because the access structure (number of signers) is exposed on the blockchain. The cost of a multisig transaction is higher because the information on the different signers also needs to be communicated on the blockchain.

In TSS, the signers’ details are folded into a regular looking transaction, reducing cost and maintaining privacy. On the other hand, multisig can be non-interactive, which saves the trouble of running a complex communication layer between the different signers.

The main point of difference is that multisig is blockchain-specific and needs to be reimplemented for every blockchain, and in some cases, it is not supported at all. Conversely, TSS is relying on pure cryptography, so support is always possible and Blockchain Agnostic.
 

How Yuki uses Threshold Signatures

Yuki uses a Threshold Signature Scheme (TSS) implemented with multi-party computation (MPC) to remove the vulnerability of signing with a single private key and create wallets that are controlled by multiple parties.