Gotham City
Gotham city is a fully functional client/server application for issuing two party ECDSA signatures.
Server
Gotham server is an ECDSA agnostic signing machine. List of supported Curve(s):
- secp256k1
Client
You can see a full fledged example of a client which connects to gotham server under: integration-tests/test_ecdsa_key_signing
//: # ()
//: # ()
//: # ()
//: # ()
Project Description
Design Overview
ECDSA Keygen and Signing

- For details on Threshold Signatures see Threshold Signatures: The Future of Private Keys
Cryptographic libraries
- secp256k1: Rust language bindings for Bitcoin secp256k1 library.
- two-party-ecdsa: Rust implelemtation of Lindell's Crypto17 paper: Fast Secure Two-Party ECDSA Signing
//: # ()
For more information, see our white paper.
Benchmarks
In a local networking setup, with a MacBook Air M2, 8GB RAM and macOS 13.5:
cargo bench --bench keygen_benchreports 762mscargo bench --bench sign_benchreports 151ms
//: # ()
Disclaimer
USE AT YOUR OWN RISK, we are not responsible for software/hardware and/or any transactional issues that may occur while using Gotham city.The project is currently work in progress.
License
See LICENSE for more information.
Contact
For any questions, feel free to email us or join ZenGo X Telegram.