Bitcoin’s security depends on the computational hardness of the discrete logarithm problem over elliptic curves (ECDLP). A sufficiently powerful cryptographic relevant quantum computer could easily solve the ECDLP, thus undermining the security assumptions underlying Bitcoin’s current digital signature schemes. Yet the timeline for such breakthrough remains fundamentally uncertain and estimations range from decades to “sooner than we think,” but there is no clear consensus within the field.
Moreover, the core challenge is not only estimating the timeline for such a breakthrough, but the absence of reliable and objective signals of progress. On one hand, markets reward hype, so companies are in that game and governments have incentives to hide their advancements. On the other hand, the technical community has no unified way to measure quantum progress against cryptographic hardness.
The Quantum Canary Address Generation Protocol (QCAP) proposes a practical answer: a Bitcoin taproot address that can only be spent by someone who can solve the discrete logarithm problem on a weaker elliptic curve. The protocol is decentralized, requires no trusted authority, and provides verifiable proofs of correct construction.
QCAP is executed by n participants, where any one of them may act as the coordinator. Each participant contributes a secret value d_i, such that \hat{d} = \sum_{i=1}^{n} d_i remains unknown as long as there exist one honest participant. The coordinator’s role is limited to verifying proofs, aggregating keys, and publishing the canary address.
The Core Idea: Two Curves, One Secret
The core of QCAP lies in a simple observation: we want to publish a challenge on the Bitcoin blockchain that is easier than breaking secp256k1, while remaining natively compatible with Bitcoin’s existing protocol. In practice, this means encoding it into a standard Bitcoin address. The naive approach, publishing a point on a weaker curve like secp192r1, fails because a quantum computer solving it learns nothing about Bitcoin’s curve. As a result, there is no cryptographic link to a standard Bitcoin address. Our approach instead uses the same secret scalar on both curves with the following structure:
-
Bitcoin curve (secp256k1): Publish public key P = \hat{d} \cdot G where \hat{d} is a distributedly computed secret scalar and G is the generator of Bitcoin’s curve.
-
Weaker curve (secp192r1): Publish public key P’ = \hat{d} \cdot G’ where G’ is the generator of the weaker curve.
If \hat{d} is small enough to fit in the scalar field of secp192r1 (which has order n_{192}), then solving ECDLP on the weaker curve reveals \hat{d}, which can immediately be used to spend from the Bitcoin address. The main challenge is designing the key-generation process such that no participant gains a computational or informational advantage over others, while ensuring that the protocol remains secure as long as at least one participant is honest.
Multi-Party Computation of the Shared Secret
QCAP generates \hat{d} using inputs from n different participants:
Each participant, i, independently:
- Chooses secret d_i from the weaker curve’s field.
- Computes its Bitcoin public key: P_i = d_i \cdot G.
- Computes its weaker curve public key: P’_i = d_i \cdot G’.
- Publishes (P_i, P’_i).
The protocol’s public keys are then derived by aggregating participants’ public keys:
As long as a single participant is honest and does not leak his d_i, nobody, not even the coordinator, learns \hat{d}. Even though no single party can obtain the key, a malicious participant may still introduce inconsistencies between the public key on the weaker curve and Bitcoin’s curve. It is therefore necessary to ensure that P and P’ really do share the same secret scalar.
Proving Consistency Across Curves: DLEQAG
The vulnerability: a malicious participant could choose one d_i for P_i and a different d’_i for P’_i. Then P’ would be derived from \hat{d}’ = \sum d’_i \neq \hat{d}, and solving ECDLP on the weaker curve would not reveal the correct secret needed to spend the corresponding Bitcoin output.
QCAP prevents this problem using Discrete Logarithm Equality Across Groups (DLEQAG), a zero-knowledge proof technique from Chase et al. (2022). This proof basically demonstrates that the scalar corresponding to two points (i.e. public keys) on two different curves is equal (without revealing the scalar).
The protocol only aggregates public keys with valid proofs. This prevents any participant from introducing mismatched secrets.
Bitcoin Integration: Taproot and OP_RETURN
Once all participants’ proofs have been verified and public keys have been aggregated into P, the coordinator creates a taproot address from a tweaked public key:
where D is a hash commitment to all the protocol data (all participants’ proofs, public keys, and public information).
This serves two purposes:
- Commits the protocol data to the address itself: anyone can verify the derivation was honest.
- Enables spending with knowledge of the tweak: a quantum computer that solves the weaker ECDLP and finds \hat{d} can adjust it to account for the tweak and spend the output.
The funding transaction includes an OP_RETURN output linking to all protocol data stored on IPFS:
OP_RETURN <CID of proofs and public keys>
Anyone can:
- Download the IPFS file using the CID.
- Verify the cryptographic proofs.
- Confirm the final address was generated honestly.
- Check the Bitcoin bounty.
Implementation Notes
This approach is formalized in the research paper “QCAP: A Quantum Canary Address Generation Protocol”, authored by me and my coauthor @nebula-21, under the supervision of our advisors at DISCRYPT research group. A proof of concept implementation is also available, demonstrating that the core mechanics function as intended. For those interested in the deeper technical details or implementation specifics, both are available—but they’re worth reading after understanding the core idea from this post.
A sample of the generated address and corresponding proofs can also be found on testnet as follows:
Transaction on testnet: ebfcee0b5cd1a54f7079dd058d27a6d87316adc42438c6fc05ca64b0234a628c
IPFS link: https://ipfs.io/ipfs/bafybeid356uqgs7mvhotv7mcgfabbk7w7fglg3gctjabcsh47dym7gu2aa
The implementation demonstrates feasibility but isn’t production-ready. There are still several areas for hardening:
- Decentralized participant coordination (currently out-of-band).
- Robust network handling for malicious coordinators.
- Engagement of community members in the QCAP execution.
- Mainnet deployment and community fundraising.