Supported signatures
Currently supported signatures
ICP currently supports the following cryptographic signature types:
ECDSA: ECDSA is supported via the ICP's novel threshold ECDSA protocol. Threshold ECDSA uses private ECDSA keys that only exist as secret shares that are distributed across the nodes within the threshold ECDSA subnet. Signatures are generated by leveraging these secret shares without reconstructing the subnet secret key. Learn more about t-ECDSA
Boneh-Lynn-Shacham (BLS): ICP's chain-key cryptography is based on BLS signatures. BLS signatures are used for canister signatures and certified variables. While BLS signatures have distinct benefits and advantages, they cannot be used with other blockchains. To integrate with other chains, ICP uses threshold signatures like threshold ECDSA.
Future additions
The following signatures are planned to be supported in the future:
Schnorr
EdDSA
Multi-signature
Hash Time Locked Contracts (HTLCs)
Zero-Knowledge Succinct Non-Interactive Arguments of Knowledge (zk-SNARKs)
Proof of Logical Obliviousness (PLONK)