The Curves
Decentralized Identifiers (DIDs) are a new type of identifier that enable verifiable,
decentralized digital identity. They are an important part of decentralized networks,
including blockchain, and help to ensure that each participant has a unique, verifiable
identity.
The cryptographic algorithms used for DIDs often rely on elliptic curve cryptography, which
offers good security with relatively small keys, making it well suited to the constrained
environments where DIDs are often used.
Common curve algorithms for DIDs include...
secp256k1
This elliptic curve is used by Bitcoin, Ethereum, and many other blockchain
systems. It's considered secure and efficient, and there's a large amount of existing
tooling and infrastructure for systems that use secp256k1.
secp256r1 (also known as
P-256)
This is another common elliptic curve, often used in
traditional web systems. It's part of the NIST suite of curves, and while it's somewhat
controversial due to its association with the NSA, it's nonetheless widely used and
well-supported.
Ed25519
This is a specific elliptic curve signature scheme using a variant of Schnorr's
signature and Twisted Edwards curves. It offers high security and performance, and it's
widely used in blockchain systems like Bitcoin, Ethereum, and others.
Curve25519
This is a state-of-the-art Diffie-Hellman function suitable for a wide variety
of applications. It's designed for high performance and high security. Ed25519 is actually
derived from Curve25519.
BLS12-381
This is a pairing-friendly elliptic curve designed for use in cryptographic
systems that require pairings. It's used in some advanced systems like Zcash's zk-SNARKs.