public inbox for bitcoindev@googlegroups.com
 help / color / mirror / Atom feed
From: Leo Wandersleb <lwandersleb@gmail.com>
To: Bitcoin Development Mailing List <bitcoindev@googlegroups.com>
Subject: Re: [bitcoindev] Pre-emptive commit/reveal for quantum-safe migration (poison-pill)
Date: Tue, 3 Jun 2025 10:26:41 -0700 (PDT)	[thread overview]
Message-ID: <5e393f57-ac87-40fd-93ef-e1006accdb55n@googlegroups.com> (raw)
In-Reply-To: <ZmYpRwmVDoJBUhiCRb909Lgwws_dT9d_CNUjfddVt128pyjdH0UcYfXgA_uguwRu44ZC8_x_SwlrooqKhyvdwJjnO1h3BvzQxVRbdCpVfjg=@proton.me>


[-- Attachment #1.1: Type: text/plain, Size: 2331 bytes --]

Hi conduition,

Thanks for your careful analysis - excellent catches.

You're absolutely right about the txid vulnerability. The commitment must 
be to the complete transaction including witness data (wTXID or equivalent) 
to prevent an attacker from pre-committing to unsigned transactions. This 
is essential - otherwise an attacker could indeed enumerate the UTXO set 
and create commitments without knowing the private keys.

Regarding updates: You're correct that frequent updates would be needed as 
wallets receive new UTXOs. However, I don't see this as a major issue - 
users could batch their commitments periodically (say, monthly) rather than 
after every transaction. The scheme is particularly important for existing 
UTXOs that already have exposed pubkeys (old P2PK, reused addresses, etc.). 
For new UTXOs, wallets should ideally migrate to quantum-safe addresses 
once available. OpenTimestamps aggregation would indeed help with scaling 
and provide plausible deniability about the number of UTXOs being protected.

The time delay serves a different purpose than you might expect. It's not 
about preventing commitment forgery after pubkey exposure, but rather about 
allowing priority based on commitment age when multiple parties claim the 
same UTXO:

1. Weak announcement starts the 144-block window
2. During this window, anyone with a strong commitment can reveal it
3. The oldest valid commitment wins

This creates the "poison pill" effect: an attacker might crack a key and 
try to spend a UTXO, but if the original owner has an older commitment, 
they can reclaim it during the window. The uncertainty about which UTXOs 
have poison pills makes attacking large "lost" UTXOs risky - hence less 
disruptive to the network.

The delay essentially allows a "commitment priority contest" where age 
determines the winner, protecting users who prepared early while still 
allowing these users to not move their funds.

Best,

Leo

-- 
You received this message because you are subscribed to the Google Groups "Bitcoin Development Mailing List" group.
To unsubscribe from this group and stop receiving emails from it, send an email to bitcoindev+unsubscribe@googlegroups.com.
To view this discussion visit https://groups.google.com/d/msgid/bitcoindev/5e393f57-ac87-40fd-93ef-e1006accdb55n%40googlegroups.com.

[-- Attachment #1.2: Type: text/html, Size: 2680 bytes --]

  reply	other threads:[~2025-06-03 18:29 UTC|newest]

Thread overview: 14+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2025-06-02 21:06 [bitcoindev] Pre-emptive commit/reveal for quantum-safe migration (poison-pill) Leo Wandersleb
2025-06-02 23:11 ` Nagaev Boris
2025-06-03  4:19   ` Leo Wandersleb
2025-06-03 11:51   ` Leo Wandersleb
2025-06-03 15:15     ` 'conduition' via Bitcoin Development Mailing List
2025-06-03 17:26       ` Leo Wandersleb [this message]
2025-06-03 19:49         ` Tim Ruffing
2025-06-04 17:14           ` Leo Wandersleb
2025-06-03 21:49         ` Nagaev Boris
2025-06-04 17:39           ` Leo Wandersleb
2025-06-04 18:38             ` Boris Nagaev
2025-06-05  8:18               ` Leo Wandersleb
2025-06-05 14:54                 ` Boris Nagaev
2025-06-05 15:01                 ` 'conduition' via Bitcoin Development Mailing List

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=5e393f57-ac87-40fd-93ef-e1006accdb55n@googlegroups.com \
    --to=lwandersleb@gmail.com \
    --cc=bitcoindev@googlegroups.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox