/multi-party-ecdsa

This project is a Rust implementation of {t,n}-threshold ECDSA (elliptic curve digital signature algorithm).

Primary LanguageRustGNU General Public License v3.0GPL-3.0

Build Status License: GPL v3

KZen Multi-party ECDSA

This project is a Rust implementation of {t,n}-threshold ECDSA (elliptic curve digital signature algorithm).

Threshold ECDSA includes two protocols:

  • Key Generation for creating secret shares.
  • Signing for using the secret shares to generate a signature.

ECDSA is used extensively for crypto-currencies such as Bitcoin, Ethereum (secp256k1 curve), NEO (NIST P-256 curve) and much more. This library can be used to create MultiSig and ThresholdSig crypto wallet.

Performance

  • Provider: EC2 AWS, bench: self::bench_full_keygen_party_one_two.
Feature Model vCPU Mem (GiB) SSD Storage (GB) Dedicated EBS Bandwidth (Mbps) Bench
Keygen m4.xlarge 4 16 28 750 1,528,965,676 ns/iter (+/- 195,059,290)

License

Multi-party ECDSA is released under the terms of the GPL-3.0 license. See LICENSE for more information.

Development Process

The contribution workflow is described in CONTRIBUTING.md, in addition the Rust utilities wiki contains information on workflow and environment set-up.

Contact

For any questions, feel free to email us.