Gotham city is a fully functional client/server application of a minimalist decentralized HD wallet using 2 party ECDSA.Supported Blockchain(s) / Coin(s) Server
Gotham server is coin / blockchain agnostic but Elliptic Curve specific.
List of supported Curve(s):Client
Gotham client is coin / blockchain specific.
List of supported Coin(s):
Extending the client to support more coin(s) is easy as long as the Elliptic Curve and signing scheme of the new blockchain are supported. In the case a blockchain is using secp256k1 together with ECDSA, the same keygen and signing code can be reused.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. Project Status
The project is currently work in progress. For more information you can email us.Elements Gotham Server Gotham Client Description RESTful web service exposing APIs for two party ECDSA key generation and signing Bitcoin minimalist decentralized wallet CLI app Instructions View View Project Description Design Overview ECDSA Keygen and Signing Cryptographic libraries secp256k1: Rust language bindings for Bitcoin secp256k1 library. curv : basic ECC primitives using secp256k1 rust-paillier: A pure-Rust implementation of the Paillier encryption scheme zk-paillier: A collection of zero knowledge proofs using Paillier cryptosystem multi-party-ecdsa: Rust implelemtation of Lindell's Crypto17 paper: Fast Secure Two-Party ECDSA Signing kms: Two party key managament system (master keys, 2p-HD, shares rotation) for secp256k1 based two party digital sigantures White paper overview Abstract
We demonstrate a Bitcoin wallet that utilizes two party ECDSA (2P-ECDSA). Our architecture relies on a simple client-server communication model. We show support for 2 party deterministic child derivation (2P-HD), secret share rotation and v...