MPC Deterministic Signing with Key Share Verification

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

In multi-party computation (MPC) for ECDSA signature schemes, the lack of a mechanism to ensure that only valid key shares are used for deriving a derivation key, leading to potential permanent loss of cryptocurrency if key shares are compromised, as malicious parties can input incorrect shares, resulting in an invalid derivation key that cannot be recovered from the master key.

Innovation Solution

Implementing a deterministic signature scheme within an MPC process that uses a key-derivation function to ensure each message has a unique signature, with multiple parties exchanging commitments and verifying their shares to guarantee correctness, employing pseudorandom functions and elliptic curve encryption to secure the signing process and prevent cheating.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If MPC is used to compute ECDSA signatures without verification, then signature generation is distributed and secure, but malicious parties can input incorrect key shares resulting in permanent loss of cryptocurrency

Engineering Contradiction:
Improvesignature generation securityVSAvoidpermanent loss of cryptocurrency
Core Design Contradiction:
ReliabilityVSObject-affected harmful factors

Solution Approach 1:

The system performs preliminary verification of key share correctness before using them in signature generation. Each party proves their key share is valid through cryptographic commitments and verification protocols executed prior to the signing operation, preventing malicious inputs from causing permanent loss.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The verification mechanism provides feedback to parties about the correctness of their key shares. Through commitment schemes and verification protocols, parties receive confirmation that their inputs are valid, enabling them to detect and correct errors before they result in irreversible cryptocurrency loss.

Inventive Principle:
Principle #23Feedback

2Reliability

If key shares are verified repeatedly, then correctness is ensured with high probability, but computational overhead and signing time increase

Engineering Contradiction:
Improvekey share correctnessVSAvoidsigning time
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

Key share verification is performed in advance before the actual signing operation. By establishing the correctness of key shares beforehand through commitment schemes, the system ensures high reliability without repeatedly verifying during the time-critical signing process.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The verification probability parameter can be adjusted to balance security and performance. The system allows configuration of how many verification rounds are performed, enabling users to choose between higher security (more rounds) and faster signing (fewer rounds) based on their specific needs.

Inventive Principle:
Principle #35Parameter changes

Data Source

PatentUS10833871B2System and method for deterministic signing of a message using a multi-party computation (MPC) process
Publication Date: 2020.11.10 COINBASE IL RD LTD
  • US10833871B2 patent drawing
  • US10833871B2 patent drawing
  • US10833871B2 patent drawing

AI summary

A method for signing a message, comprising performing a first Multi-Party Computation (MPC) process by multiple parties to compute a pseudorandom function, an input of the first MPC process comprises shares of a private signing key, each share is held by each party, the message is an input value to the pseudorandom function. The output of the first MPC process comprises multiple pairs of shares, each party holding a pair of shares, wherein each pair comprises a first value used for the MPC signing process and a second verifying value used for verifying correctness of the values provided by the multiple parties for the MPC signing process, and computing the signature on the message by performing an MPC signing protocol on the message, the MPC signing protocol receives as input shares of the output of the pseudorandom function from the multiple parties, and the message to be signed.