--
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+...@googlegroups.com.
To view this discussion visit https://groups.google.com/d/msgid/bitcoindev/CAO3Pvs9U3prZJiDs0Ns7LSA07R8hM-GQou_FcTZZz-JUQpUYHw%40mail.gmail.com.
To view this discussion visit https://groups.google.com/d/msgid/bitcoindev/CAO3Pvs8i%3DpLP30nRh_iyjSRJXne19wNezmQmo%3DJAk8%2BE4uJPhg%40mail.gmail.com.
One thing worth noting is that AFAICT, so far in the NIST PQC world [4], there is no known non-interactive key exchange protocol like we enjoy today with ECDH. IIUC, the reason is that lattice based schemes derived from the LWE [3] problem, whose security is predicated on using "noise" to hide a secret value. For these cryptosystems, usually a type of "hint" is sent to make everything work out nicely like in ECDH. However, in the stricter non-interactive setting (no messages sent), this doesn't map cleanly.
To view this discussion visit https://groups.google.com/d/msgid/bitcoindev/547ADFCA-2BB1-4E16-A26A-C92262EBBD84%40gmail.com.
Hey everyone,
I agree with Laolu that P2P is the logical first step for PQ migration.
TL;DR (uses the terminology below): The need for PQ-P2P is inevitable, and CTU seems like the best way forward to me. Work should begin by defining how transport upgrades are negotiated.
I'd like to establish some terms and acronyms to make discussion a little bit easier:
In other words, what features/improvements introduced by BIP-324 are negated by a CRQC? Well, the properties BIP-324 seeks to achieve are as follows[1]:
The shapable bytestream, upgradability, compatibility, and low overhead properties are intrinsic to the design and are not affected by the existence of a CRQC. However, the other four properties are violated:
Confidentiality against passive attacks: A CRQC can break ECDH, and therefore can passively determine the plaintext exchanged.
Observability of active attacks: An active attacker armed with a CRQC can relay both nodes' ElligatorSwift encodings unmodified, causing both to derive the same session ID. It can then recover either node's ephemeral private key from the recorded encoding and compute that same shared secret, allowing it to read and modify traffic while both operators see matching session IDs.
Pseudorandom bytestream: This follows from confidentiality against passive attacks being violated.[3]
Forward secrecy: This follows from confidentiality against passive attacks being violated[3].
Arguments against introducing PQ-P2P (and counterarguments)We've established that some of the goals of BIP-324 are clearly defeated by a quantum attacker, but does that actually matter?
Consider the pseudorandom bytestream property. We established that a quantum attacker can distinguish a recorded v2 P2P bytestream from a uniformly random bytestream. However, the reason BIP-324 seeks to create a pseudorandom bytestream is to raise the cost of fingerprinting and censorship[4], and it admits that methods such as timing or port analysis can fingerprint node traffic. Does a CRQC meaningfully lower the cost of fingerprinting or censorship? It is hard to imagine a world where running Shor's is cheaper than timing analysis, so it is safe to say that the pseudorandom bytestream still achieves its goal of raising fingerprinting costs, even in light of a CRQC.
Next, consider the observability of active attacks. Ignoring CRQCs briefly, the only way node operators can detect a MitM to begin with is by communicating their session IDs on an authenticated channel (otherwise it is still susceptible to a MitM), and thus must be done out of band. Basically, BIP-324 enables MitM detection but provides no means of doing so. AFAIK, no one compares session IDs out of band, and in any case the proportion of nodes that do so is near zero. This failure is more so a reason to introduce some sort of authentication scheme[5] than it is a reason to introduce PQ-P2P.
Now, let's talk forward secrecy. As mentioned in [3], the rekey mechanism itself could be secure against a CRQC, but in any case, because confidentiality against passive attacks is violated, it hardly matters.
Finally, confidentiality against passive attacks. The most obviously sensitive information in the stream is the origin of transactions[6]. Now, we'll approach this in a way similar to how we approached the pseudorandom bytestream. ECDH acts to raise the cost of a passive attack on confidentiality (an effectively infinite cost without a CRQC), but again does nothing for confidentiality against an active attacker. This means that encryption does nothing to hide the origin of a transaction against a MitM or Sybil[7] attack. Can we imagine a world in which running Shor's is cheaper than simply MitMing? Can we even imagine a world in which Shor's is cheaper than Sybiling? This seems like an argument for simply using private broadcast[8].
That last point does not take into account a HNDL attack. HNDL attacks are presently far cheaper than any active attacks, as an attacker need only record traffic. Importantly, it means the origin of all future transactions broadcast through v2 can be determined, and it is likely that such an attack is currently taking place. Private broadcast does defeat a HNDL attack on the transactions of nodes that opt in to it, but it is off by default and does nothing for the traffic a node relays on behalf of others. Moreover, this shouldn't be interpreted as a fix for the lack of confidentiality that v2 traffic has in light of a quantum computer: it is only used for sendrawtransaction, and does nothing for the confidentiality of other traffic. Broken encryption can only be fixed with working encryption.
As far as the pseudorandom bytestream, observability of active attacks, and forward secrecy go, I do genuinely think there is not much to be empirically gained by introducing PQ-P2P.
However, the argument that cheaper active attacks against confidentiality exist is an argument for authentication, not an argument against PQ-P2P. Confidentiality can be defeated both by breaking the encryption and by bypassing it entirely (via MitM or Sybil attacks), and the solution is to fix both. It is theoretically possible that a CRQC can crack ECDLP in minutes[9], and an encryption scheme that can be broken in minutes is not permissible regardless of what cheaper bypasses exist.
With this in mind, it is clear that PQ-P2P is needed.
Thoughts on CTU vs OSHI agree with previous discussion that CTU is the appropriate upgrade path, for the following reasons:
The only real gain from an OSH solution is reducing round trips, which I don't think is valuable enough to sacrifice the benefits CTU offers.
I think specifying how transport upgrades are negotiated at all is the logical first step, and it should be defined such that different PQ-KEMs can be negotiated, as well as authentication protocols (authentication solves other P2P problems discussed elsewhere). I'll follow up with a concrete proposal in a separate thread.
I'd like to hear what you all think.
Best,
Liam
[1] https://github.com/bitcoin/bips/blob/master/bip-0324.mediawiki#goals
[3] Forward secrecy is currently achieved by deterministically generating new keys every 224 messages. This does not protect future messages, but means an attacker with access to intermediary keys (i.e., not the shared secret derived from ECDH or the key it produces) cannot derive previous keys and decrypt past messages. Given an intermediary key, it is not immediately clear to me how an attacker could use a CRQC to find a previous key, but it hardly matters: if they recorded past messages they wish to decrypt, then they likely also recorded the handshake, and can break the initial ECDH from there and can therefore decrypt all traffic. However, assuming an attacker armed with a CRQC discovers an intermediary key but has not recorded the handshake, then I suppose forward secrecy would be preserved.
[4] "A pseudorandom bytestream excludes identification techniques based on pattern matching, and makes it easier to shape the bytestream in order to mimic other protocols used on the Internet. This raises the cost of a connection censoring firewall, forcing them to either resort to a full MitM attack, or operate on a more obvious allowlist basis, rather than a blocklist basis." -- BIP-324 Motivation, https://github.com/bitcoin/bips/blob/master/bip-0324.mediawiki#motivation
[5] See sipa's post on Countersign and other private authentication protocols: https://wuille.net/posts/private-authentication-protocols/
[6] Relay timing, block and filter requests, and addr gossip are all part of the stream, not only transaction announcements.
[7] https://en.wikipedia.org/wiki/Sybil_attack
[8] https://github.com/bitcoin/bitcoin/pull/29415
[9] https://arxiv.org/abs/2603.28846 -- note the runtime estimate carries significant caveats around qubit counts and hardware architecture; see the paper for details.
To view this discussion visit https://groups.google.com/d/msgid/bitcoindev/d4b87b2c-63c2-488b-9e76-4e3dbeedb0c2n%40googlegroups.com.