Taurus Releases the First Open-Source Implementation of MPC-CMP
Today Taurus is releasing the world's first implementation of the state-of-the-art cryptographic protocol known as "CMP", a multi-party computation (MPC) protocol that allows a number of distinct parties to collectively compute a digital signature (ECDSA) according to a quorum logic; in other words, what cryptographers call a threshold signature protocol.
This protocol was designed by researchers Ran Canetti, Rosario Gennaro, Steven Goldfeder, Nikolaos Makriyannis, and Udi Peled, targeting application to cryptocurrency wallets for Bitcoin, Ethereum, and any asset using the ECDSA signature scheme.
Our implementation was developed by Taurus research unit's Adrian Hamelink with supervision by JP Aumasson, who both have experience developing and auditing complex multi-party computation protocols.
To make the protocol secure and practical, Taurus researchers added features not described in the paper, related to reliable broadcast as well as distributed key generation and share update.
Prior to this work, Taurus had released the first Go implementation of the FROST threshold signature protocol, which works with EdDSA signatures rather than ECDSA.
Taurus will keep working on this implementation of CMP, to integration better resistance against timing attacks, and support other elliptic curves.
The implementation uses the Go language, and is released under Apache 2.0 license, a permissive open-source license allowing reuse of the code by other organizations. Note that the company that sponsored the development of this protocol stated that it would not apply for patents.
Please check out our code at https://github.com/taurusgroup/cmp-ecdsa, and please report any issue in the GitHub issue tracker. If you would like to contact Taurus related to this project or MPC in general, please contact us at jp@taurusgroup.ch.