a demo

TSS Arrives On Starkware

Dfns open-sources its STARK curve implementation to enable the use of threshold signatures for apps on Starknet and Starkex.

We're thrilled to share our open-source Rust implementation of the STARK curve for threshold signatures, compatible with Dfns’ out-of-the-box threshold ECDSA implementation: cggmp21

This toolkit will help developers currently building apps and services on Starkware and Starknet to enhance key management using multi-party computation and threshold signatures.

Our CGGMP21 implementation has been audited by Kudelski Security. 

What is the STARK curve?

STARK is an elliptic curve that powers Starknet, used to sign most transactions on this chain. It’s different from many blockchains which typically opt for more widely-used curves like secp256k1 / ed25519. 

The STARK curve aims at improving the efficiency and security of zk-STARK proofs while maintaining some level of compatibility with existing cryptographic tools. Here’s a quick breakdown of the curve’s benefits:

  • Efficiency: Compared to other elliptic curves, the STARK curve is designed to be more efficient for the specific computations needed in zk-STARK proofs. This can lead to faster proof generation and verification, crucial for scalability on the Ethereum. 
  • Security: The STARK curve is built with security in mind. Its parameters are chosen to resist known attacks that could compromise the validity of zk-STARK proofs. 
  • Compatibility: While not the primary goal, the STARK curve design aims for some level of compatibility with existing cryptographic schemes. This might make it easier to integrate with other cryptographic tools and libraries.

How to use our library

The STARK curve is seamlessly integrated into the Dfns cryptographic library ecosystem, with the Stark elliptic curve arithmetic implementation forming its backbone. For a more user-friendly experience, we recommend utilizing our `generic_ec` crate, which offers an ergonomic API designed for general elliptic-curve cryptography tasks. The Stark curve is accessible through `generic_ec::curves::Stark` when the `curve-stark` feature is activated.

For those leveraging Dfns’ implementation of threshold ECDSA, generating Stark keys and producing signatures compatible with Starknet is straightforward. This feature is available via `cggmp21::supported_curves::Stark`, again ensuring the `curve-stark` feature is enabled.

Intellectual property

Our implementation of the STARK curve is available and free to use, double licensed under MIT and Apache 2.0. We welcome your feedback.


About Dfns

Dfns is the leading wallet-as-a-service platform in web3. Startups, enterprises and financial institutions use Dfns to create, embed and manage programmable wallets at scale powered by the fastest, most advanced MPC technology in the world. Built by PhDs and experts in security and cryptography, Dfns is leading research in threshold signatures applied to keys. Since 2020, Dfns helped ABN AMRO, Fidelity, Zodia and many others to create over a million wallets. We’ve raised over $25M with White Star Capital, Motive, ABN AMRO, Bpifrance, Coinbase, Semantic, Wintermute, Figment, Motier Ventures, Hashed, 6MV, Susquehanna and others.