Bitcoin Development Mailinglist
 help / color / mirror / Atom feed
From: Erik Aronesty <erik@q32.com>
To: Pieter Wuille <bitcoin-dev@wuille.net>
Cc: Bitcoin Development Mailing List <bitcoindev@googlegroups.com>
Subject: Re: [bitcoindev] The limitations of cryptographic agility in Bitcoin
Date: Fri, 13 Feb 2026 11:39:10 -0800	[thread overview]
Message-ID: <CAJowKg+3pf801tggYf_S0rH4d+Hr8mW7-oG-9dwckNX9tTB4+g@mail.gmail.com> (raw)
In-Reply-To: <THqOJuI_s5C8B9jkklN73BB_Hzb9SsiLM6BFp4zFP3zWQoRevKoLVspdwjwh8NxxYbXwv4v6ikpStguW-QEvef4WgBZ7AQDz00P0st91FMA=@wuille.net>

[-- Attachment #1: Type: text/plain, Size: 7953 bytes --]

As a thought experiment, it's interesting, and I agree.  One of the main
complaints about covenants, for example, isn't that they aren't opt-in -
they are, and most people understand that they don't enable special
concessions more than multisig.  Instead, it's because of the perception of
Nth order effects around their usage in technologies like defi and
contracts.   We have all heard the headlines about evm hacks and defi
hacks, and, to some extent, these steer "hard money" proponents toward
Bitcoin more than any arguments around decentralization.

However, "Q-day" may never arrive—and might just be a physics experiment
that proves finite energy is real.  What's more, FancySig1 was already
proven insecure/broken.  We are now on FancySig3.

Cloudflare has decided to ship hybrid FancySig3/ECC, requiring both for all
SSL.  This approach would mitigate your concerns fully.  You cannot use
either option alone.   You have to use both.   Sure, it's annoying.  But if
we choose a sufficiently efficient FancySigN, we can build a system
guaranteed to satisfy the risks of both the new system and the old one.

In your extreme thought experiment, the only rational choice is "use both".


On Fri, Feb 13, 2026 at 8:23 AM Pieter Wuille <bitcoin-dev@wuille.net>
wrote:

> Hi all,
>
> A thread <https://groups.google.com/g/bitcoindev/c/7jkVS1K9WLo> was
> recently started on this list about cryptographic agility in Bitcoin. I
> believe there are important limitations around that idea, and wanted to
> offer my own perspective. It's more a philosophical consideration, and is
> not intended as an argument against (or for) any particular proposal today.
>
> The idea is giving users/wallets the ability to choose the cryptographic
> primitives used to protect their own coins, from a set of available
> primitives that may change over time. I think this ignores how important it
> is what *others do with their coins*. If others' coins lose value, for
> example due to fears about them becoming vulnerable to theft with
> cryptographic breakthroughs, so do your own due to fungibility, regardless
> of how well protected they are.
>
> As an extreme thought-experiment, imagine that tomorrow a new
> cryptographic signature scheme FancySig is published, with all the features
> that Bitcoin relies on today: small signatures, fast to verify, presumed
> post-quantum, BIP32-like derivation, taproot-like tweaking,
> multisignatures, thresholds, ... Further assume that within the next year
> or two, voices (A) start appearing arguing that such a scheme should be
> adopted, because it's the silver bullet the ecosystem has been waiting for.
> At the same time, another camp (B) may appear cautioning against this,
> because the scheme is new, hasn't stood the test of time, and isn't
> well-analyzed. These two camps may find themselves in a fundamental
> disagreement:
>
>    - Camp (A), fearing an EC-break (CRQC or otherwise), wouldn't just
>    want FancySig as an option - they would want (feasible or not) that *near-everyone
>    migrates to it*, because the prospect of millions of BTC in
>    EC-vulnerable coins threatens their own hodling.
>
>
>    - Camp (B), fearing the possibility that FancySig gets broken soon,
>    possibly even classically
>    <https://www.quantamagazine.org/post-quantum-cryptography-scheme-is-cracked-on-a-laptop-20220824/>,
>    don't want to just not use FancySig; they would want *near-nobody to
>    migrate to it*, because the prospect of a potential break of FancySig
>    threatens their own hodling.
>
> This is of course an extreme scenario, and in reality the divergence
> between camps may be much less incompatible, but I still think it's a good
> demonstration of the fact that *despite being a currency for enemies,
> Bitcoin essentially requires users to share trust assumptions in the
> cryptography, and its technology in general*.
>
> A small note aside: you can argue that it is possible for people to store
> coins insecurely, like in an OP_TRUE script output, or with private keys
> that are made public. I don't think this possibility affects the point
> above, because it is not about what possibilities exist, but which
> approaches people are likely to / asked to adopt. Nobody is incentivized or
> encouraged to store coins in an OP_TRUE.
>
> It is also good to ask what amounts are relevant here, to which I do not
> know the answer. Possibly, the prospect of 100k BTC becoming vulnerable to
> theft won't threaten the value of the other coins, while the prospect of
> 10M BTC becoming vulnerable may. Depending on where your belief about this
> lies, you may end up with very different conclusions. Still, to me it is
> clear that *some* threshold exists above which I would be uncomfortable
> with seeing that many coins move into an untrustworthy scheme, even if they
> are not my own coins.
>
> This brings us to the question then how at all Bitcoin users can migrate
> to new cryptography, because we cannot assume that secp256k1 will last
> forever. And I think the answer is essentially that it requires the entire
> ecosystem to change their assumptions. This does not mean that adding a new
> opt-in cryptographic primitive is infeasible or a bad idea; it just means
> that adding FancySig as an option is changing the collective security
> assumption from "secp256k1 is secure" to "secp256k1 AND FancySig are
> secure" once FancySig gets adopted at scale, and the discussion about
> adding new primitives should be treated with the gravity that entails. And
> it means that disabling secp256k1 EC operations (or near-everyone migrating
> to FancySig, but I think that is unlikely) is the only way to change the
> collective security assumption from "secp256k1 AND FancySig are secure" to
> "FancySig is secure".
>
> Because of that, if CRQCs or other EC-breaks become reality, or just the
> fear about them becomes significant enough, I do believe that disabling EC
> opcodes will be necessary in any economically-relevant surviving chain, due
> to the millions of BTC that are unlikely to ever move. Note that I am
> *not* arguing that "Bitcoin" *will*, *should*, or even *can* do this, and
> I'm quite sure that the inherent confiscation required will make the result
> uninteresting to me personally. It may be that such disabling only happens
> in a fork that doesn't end up being called Bitcoin, or it may be that this
> happens only after a CRQC has been demonstrated to exist. Still, given a
> severe enough threat I think it is inevitable, and I think that this means
> we shouldn't worry too much about what happens in chains in which EC is not
> disabled while simultaneously EC is considered insecure: such chains will
> be worthless anyway.
> --
> Pieter
>
>
> --
> 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/THqOJuI_s5C8B9jkklN73BB_Hzb9SsiLM6BFp4zFP3zWQoRevKoLVspdwjwh8NxxYbXwv4v6ikpStguW-QEvef4WgBZ7AQDz00P0st91FMA%3D%40wuille.net
> <https://groups.google.com/d/msgid/bitcoindev/THqOJuI_s5C8B9jkklN73BB_Hzb9SsiLM6BFp4zFP3zWQoRevKoLVspdwjwh8NxxYbXwv4v6ikpStguW-QEvef4WgBZ7AQDz00P0st91FMA%3D%40wuille.net?utm_medium=email&utm_source=footer>
> .
>

-- 
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/CAJowKg%2B3pf801tggYf_S0rH4d%2BHr8mW7-oG-9dwckNX9tTB4%2Bg%40mail.gmail.com.

[-- Attachment #2: Type: text/html, Size: 9282 bytes --]

  reply	other threads:[~2026-02-13 22:13 UTC|newest]

Thread overview: 16+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2026-02-13 16:20 Pieter Wuille
2026-02-13 19:39 ` Erik Aronesty [this message]
2026-02-13 21:50 ` Light
2026-02-13 22:52   ` 'Antoine Poinsot' via Bitcoin Development Mailing List
2026-02-14  3:43     ` Light
2026-02-17 14:11       ` Garlo Nicon
2026-02-16  9:59   ` sadiq Ismail
2026-02-13 21:54 ` Ethan Heilman
2026-02-14 12:02 ` [bitcoindev] " waxwing/ AdamISZ
2026-02-17  3:49 ` [bitcoindev] " 'conduition' via Bitcoin Development Mailing List
2026-02-17 20:04 ` [bitcoindev] " Pieter Wuille
2026-02-19  7:22   ` 'conduition' via Bitcoin Development Mailing List
2026-02-25 12:00   ` waxwing/ AdamISZ
2026-02-25 14:39     ` Erik Aronesty
2026-02-25 22:43       ` Ethan Heilman
2026-02-26  2:07         ` Alex

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=CAJowKg+3pf801tggYf_S0rH4d+Hr8mW7-oG-9dwckNX9tTB4+g@mail.gmail.com \
    --to=erik@q32.com \
    --cc=bitcoin-dev@wuille.net \
    --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