BIP Draft: Output Public Key Exposure Classification #2294

pull duncan0k wants to merge 1 commits into bitcoin:master from duncan0k:bip-output-pubkey-exposure-classification changing 1 files +555 −0
  1. duncan0k commented at 10:37 AM on September 18, 2026: none

    This is an Informational BIP that defines four exposure levels for existing Bitcoin outputs against an attacker holding a cryptographically relevant quantum computer: EXPOSED_AT_REST, EXPOSED_ON_SPEND, NOT_EXPOSED and UNDETERMINED. The first two are BIP 360's long exposure and short exposure vulnerabilities stated per output. The document adds the operational rules under BIP 360's per-type list: what counts as revealed, for which outputs, what to report when history is truncated, a fail-closed default, test vectors, and an informative appendix of per-level action keys that wallet developers asked for.

    Scope: observation only. No consensus, policy or P2P change. It does not score risk and does not propose freezing or forced migration.

    Discussion:

    Reference implementation and 25 test vectors, CC0: https://github.com/duncan0k/pubkey-exposure-classification

    Revision history since first posting: v0.2.0 tightened the derived condition; v0.3.0 separated attacker-spendability from holder-provability (conduition); v0.4.0 added Appendix A (GemWallet); v0.5.0 mapped the levels onto BIP 360's terms and corrected P2MR from NOT_EXPOSED to EXPOSED_ON_SPEND (murch's pointer to BIP 360 surfaced the error); v0.5.1 notes the pre-activation anyone-can-spend case for witness v2 outputs.

    Disclosure: I used an LLM to help draft the English. The classification, the rules, the vectors and the mistakes are mine, and I answer for all of it.

  2. Add BIP draft: Output Public Key Exposure Classification f9c7b68bb4
  3. jonatack added the label New BIP on Sep 18, 2026
Contributors
Labels

github-metadata-mirror

This is a metadata mirror of the GitHub repository bitcoin/bips. This site is not affiliated with GitHub. Content is generated from a GitHub metadata backup.
generated: 2026-09-23 13:10 UTC

This site is hosted by @0xB10C
More mirrored repositories can be found on mirror.b10c.me