On March 23, 2017 the Bitcoin Core team published a technology roadmap, expressing their intent to replace ECDSA (SECP256k1) with Schnorr signatures: https://bitcoincore.org/en/2017/03/23/schnorr-signature-aggregation/.

Pardon my naive understanding, but we currently use ECDSA (SECP256k1) to generate public keys, and by extension- addresses. How does replacing the signing algorithm with a new signing algorithm not affect today's addressing? Does it? Where does backward compatibility fit in with this?


Schnorr will replace ECDSA, the signing algorithm, but both still use the same elliptic curve and thus the same public and private keys, etc.

Regardless, compatibility with ECDSA must be kept too even if Schnorr is used, because otherwise all old nodes would see the schnorr signatures as invalid signatures, and all old transactions would be seen as invalid by new nodes, creating a hard fork. It's likely that a new OP code would be introduced for schnorr signature checking, perhaps introduced in a new witness version, to keep it as a soft fork. If introduced, it will need a new type of address, to distinguish it from the addresses which should be checked using ECDSA. So both types of address would be compatible with all new nodes, in the same way that new bc1 native witness addresses are compatible with new nodes alongside P2SH and legacy addresses

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.