Skip to content

AdityaShome/dkls23-lockness

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

16 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

DKLs23 Lockness, Threshold ECDSA MVP

What does this project do?

DKLs23 Lockness is a Rust library demonstrating the core protocol flow for threshold ECDSA signatures using the DKLs23 design, built for the Lockness ecosystem. It shows how multiple parties can jointly generate a key, pre-sign, and sign messages without any single party ever holding the full secret key.

Key features:

  • Honest, readable protocol structure
  • Multi-party key generation (MPC DKG)
  • Pre-signing and signing helpers
  • Curve-generic cryptography (works for any supported curve)
  • Explicit boundaries for unimplemented cryptography (OT/MtA)
  • Simulation tests for protocol correctness

Example output:

image image

Benchmarks

Benchmark plots are saved in bench_results:

benchmark_flows.png

To regenerate them:

cargo bench --bench flows -- --noplot
python3 scripts/plot_benchmarks.py

Protocol Flowchart

image

How it works

  1. Key Generation: Each party creates a secret share, commits to it, then reveals it. All parties verify everyone was honest and compute a shared public key.
  2. Pre-signing: Each party samples a random nonce, commits, and reveals. (The real protocol would use advanced OT/MtA here; this MVP uses a mock.)
  3. Signing: Parties combine their shares and nonces to produce a valid ECDSA signature, without any single party ever knowing the full secret key.
  4. Simulation: The protocol is tested in-memory with multiple parties to ensure correctness.

What works today

  • Keygen round 1: commitment broadcast
  • Keygen round 2: decommitment and verification
  • Presign nonce commitment/opening helpers
  • Real ECDSA signing and verification helpers
  • Simulation test: all parties agree on the same public key

Honest status

Component Status
Key generation Implemented
Presign commitment/open Implemented
Signing helpers Implemented
OT extension / MtA Testing
Malicious checks Not yet
Full threshold signing Not yet

Quickstart

cargo test

Why this matters

This MVP shows that the DKLs23 paper can be translated into a clean Lockness style Rust layout with typed protocol flow, curve-generic key material, and simulation-backed tests. It gives a starting point for the cryptographic work that is still ahead, while being explicit about what is implemented and what remains deferred.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors