Bitcoin research @Blockstream. @nixbitcoinorg maintainer. Former bitcoin/secp256k1, @donnerlab1 contributor 36C7 1A37 C9D9 88BD E825 08D9 B1A7 0E4F 8DCD 0366

What if a one-time signature survived a second use? HG-WOTS (pronounced "Hogwots") aims for ~80 bits of security when a key is accidentally used twice. It's 786 bytes, vs. 530 for the WOTS+C in SHRINCS. Mostly a Fable invention. No security proof yet. Even more interesting than two-time security is HG-WOTS' potential to improve the efficiency of stateless signatures. Explore HG-WOTS with the following prompt: Consider HG-WOTS, a hash-chain one-time signature, and study what repeated signing exposes. Key: k groups of s hash chains (w nodes each). Hash each group's chain endpoints into the start of a secondary "group chain" (w2 nodes); pk = hash of the k group-chain endpoints. Codeword: choose j hidden groups; each revealed group gets remaining distances with sum d_g; the hidden groups get group-chain distances with total sum d_h. Distances count hash steps to the chain's end (0..w-1, resp. 0..w2-1); codewords are uniform. Signature: the s chain nodes of each revealed group, and one group-chain node per hidden group. Recovery hashes forward to pk. Model: an adversary seeing past signatures may only hash forward. A target is derivable iff it hides every group hidden in all past signatures, each revealed chain distance is <= the max exposed on that chain, and each always-hidden group-chain distance is <= the max exposed there (a group revealed once exposes its whole group chain). Define cover(r) as the probability that a uniform target codeword is derivable from r independent uniform past signatures; explore how cover(r) depends on r and the parameters.
6
30
1,029
Jonas Nick retweeted
Sad to see nix-bitcoin winding down after 8 years of work. Huge thanks to everyone who built and maintained it, and we’re very grateful that Vinteum was included among the recipients of the remaining security fund. Hopefully someone from the community will step up, fork it, and keep the project alive. We understand why simply handing maintenance over to someone who hasn’t previously contributed to the repository wouldn’t be the right path. Building that trust and familiarity takes time. We hope Vinteum can help that process in some way. ❤️
As part of winding down nix-bitcoin, we're closing the nix-bitcoin security fund. Per the fund's terms, the remaining 0.19 BTC goes in equal parts to non-profits: @HRF's Bitcoin Development Fund @OpenSats @torproject @Vinteum_org blockstream.info/tx/bee50bc3…
1
7
36
2,409
Jonas Nick retweeted
As part of winding down nix-bitcoin, we're closing the nix-bitcoin security fund. Per the fund's terms, the remaining 0.19 BTC goes in equal parts to non-profits: @HRF's Bitcoin Development Fund @OpenSats @torproject @Vinteum_org blockstream.info/tx/bee50bc3…
3
7
46
4,954
Yes. The proof that NIST's PQ signature standard SLH-DSA points to misses >2^68 hashes. Once they're counted, the proof no longer says anything about how hard it is to forge a sig for the 128-bit parameter sets (it's a gap in the proof, not an attack). Check it with this prompt: Read the paper "Recovering the tight security proof of SPHINCS+" (IACR ePrint 2022/346: eprint.iacr.org/2022/346.pdf) and FIPS 205 (nvlpubs.nist.gov/nistpubs/FI…). Audit Theorem 3 of the paper for errors, paying particular attention to whether each adversary constructed in the proof runs within the time bound at which the theorem evaluates its term; compare with Theorem 2. If you find a discrepancy, quantify the omitted work for the SLH-DSA-128s and SLH-DSA-128f parameter sets in FIPS 205, and decide whether the corrected bound still says anything. Use a lower bound on the corrected term in the quantum random-oracle model, not only the paper's upper bounds. Finally, determine which security proof FIPS 205 cites for SLH-DSA, and whether other tight proofs exist.
Has AI been applied to re-validating older math proofs? Maybe there have been mistakes, which propagated into following math proofs?
2
11
49
3,135
We discovered this while building a machine-checked security proof for SHRINCS and repeatedly prompting models to look for gaps in our own proofs. Earlier formalizations of the SPHINCS+ proof missed it because they don't model running time, and neither does ours. This shows that formal verification is no cure-all. The gap is fixable, but fixing it requires tedious accounting of every step of the proof, which we're currently doing for SHRINCS.
2
20
923
Jonas Nick retweeted
Core Lightning 26.06.8 is out, and every node runner should upgrade. This release fixes vulnerabilities responsibly reported over recent weeks. There is no embargo period: the release and fixes are available right now. A number of tests are being held back temporarily to make the underlying issues harder to reverse-engineer while node runners have time to upgrade. Please upgrade as soon as possible. github.com/ElementsProject/l…
2
26
77
11,558
Jonas Nick retweeted
Replying to @projecteleven
Thanks for the careful review. This is the kind of discussion necessary for making progress on post-quantum Bitcoin. There's a lot here I agree with, though I come to a different conclusion. I agree that hash-based signatures are a good fit for Bitcoin, for the reasons the review gives. Reducing block space usage is indeed a primary design goal of SHRINCS, and it comes at a cost. The stateful path's safety depends on wallet infrastructure that the protocol does not prescribe and that still needs standards. I also agree that if block space stays cheap, the stateful path adds complexity for little benefit. But that seems unlikely, since today's fees reflect 64-byte signatures, and stateless SHRINCS signatures are about 90 times larger. High fees matter for a store of value too, because holders eventually need to spend, and we should aim for Bitcoin to remain usable by people who don't hold large amounts. Congestion and high fees are a strong argument for minimizing signature size, and stateful signatures are up to about 10 times smaller than stateless ones. Wallets can start with stateless signing and enable stateful signing for their existing keys later, without another soft fork. A block-size increase can't fully solve this. Every node has to download and validate every block, so blocks can't grow arbitrarily large. The review suggests that the stateful path lets the SHRINCS authors say the block-size concern has been addressed. The intent is rather that SHRINCS doesn't depend on a block-size increase, so that question can be discussed separately without holding up post-quantum signatures. On custody, I agree that it's unreasonable to expect replicas to share stateful signing slots safely. Some high-availability setups can still use the stateful path, for example one where a designated signer signs statefully while the replicas sign only statelessly, so failover costs larger signatures but requires no coordination of state. In practice, custodians may simply sign statelessly. The review describes stateful signing as an optimization, which fits better than the BIP's "primary path" wording. It also made me realize that calling the stateless path a "fallback" is misleading, and we're considering changing the terminology in the BIP. The review proposes considering a stateless-only scheme with a larger block size. Modified algorithms could reduce stateless signatures to roughly 4,000 bytes, about 60 times the size of a Schnorr signature instead of 90. Would that be worth departing from the SLH-DSA algorithms?
11
44
2,144
Adaptive attacks against FROST when number of signers and corruptions is large. BIP 445 (FROST) not affected because it requires fewer than 128 signers. This requirement in BIP 445 was added by @real_or_random exactly because there was uncertainty about the hardness of LDVR. github.com/siv2r/bips/blob/8…
New paper with @AlexRdgzG: We give polynomial-time (!) adaptive attacks against a number of threshold Schnorr signatures. At the core are the first polynomial-time attacks on LDVR, a problem whose solution yields adaptive attacks on several practical schemes.
4
24
81
7,834
… it comes with a Lean proof 👀
BIP54 would make it so Bitcoin's PoW actually provides tight bounds on worst case resource usage. Read Pieter's latest post on Delving.
2
8
52
4,600
Jonas Nick retweeted
A quantum-resistant Bitcoin transaction, with no soft fork, confirmed on mainnet in August. Producing it took ~3,100 GPU-hours across ~100 GPUs. That cost is now the problem to solve. Today, @StarkWareLtd in collaboration with @eigenlabs and Yukon Research, we're opening it to everyone. With $20,000 prize up for grab. The QSB Autoresearch Challenge targets the two GPU grinding workloads behind QSB: transaction pinning and subset selection, ranked as separate tracks. Every candidate is an ECDSA public-key recovery plus a SHA-256 hash, repeated billions of times. The CUDA seed was written fast with AI help and shipped once it worked. It is deliberately unoptimized. How it works: bring your coding agent, model and harness, and submit CUDA optimized kernels. Ranked runs execute in a sandbox on hosted NVIDIA RTX 4090s, against a fresh problem instance seeded after your code is locked. Every hit is re-derived on CPU, so no kernel gets throughput credit without doing the real elliptic-curve work. To take the lead, beat the current best by at least 1%. Why I'm excited: as far as I know, this is the first wide-scale autoresearch experiment aimed at improving a Bitcoin construction rather than breaking one. It is also a live test of which models and harnesses can do hardcore CUDA and cryptographic optimization, with results nobody has to take on trust. If you build on Bitcoin, write CUDA, or push coding agents hard: come break the baseline. Bring your clanker. qsb.fast/
10
11
62
3,746
Jonas Nick retweeted
⚛️ Bitcoin does not have a quantum computer problem today. It has a migration problem, and migrations could take years to get right. SHRINCS is the first Bitcoin-specific post-quantum proposal I have seen that makes a serious end-to-end trade-off, and it deserves to be read carefully rather than cheered or dismissed. Their work is the proposal. I wrote an analysis of the challenges that come with it, the ones that only become visible when you look past the signature scheme and into the wallets that have to run it. The migration really has three questions: - which scheme Bitcoin should support - what that scheme does to the protocol and the wallet ecosystem - what happens to coins that have never been moved by their owner. Almost all of the public discussion is still on the first one, which is probably the easiest of the three. SHRINCS is conservative where it matters. It is hash-based, so it leans on the SHA-256 that Bitcoin already depends on instead of stacking a lattice assumption on top. A single 48-byte public key commits to both a compact stateful path (Flexible XMSS and WOTS+C) and a stateless SLH-DSA fallback. Verification is the pleasant surprise. It is mostly SHA-256, and the draft reports a worst-case cost per signature byte below BIP340 Schnorr. The stateful path uses one-time keys, and each one must sign exactly once. The counter must never move backwards, it must be committed to persistent storage before the signature leaves the device, and it must never be restored from a backup. Sign two different messages from the same slot and an observer can steal your fund. SHRINCS handles this better than a purely stateful scheme. If the state is lost or merely uncertain, the seed still derives the stateless key, so you lose efficiency rather than funds. The cost is that wallet state stops being application data and becomes cryptographic state whose rollback can take user funds: hundreds of counters for hundreds of UTXOs, across several devices and several software wallets, on hardware where hash-based keygen already takes minutes. There are also capabilities we do not get back. Non-hardened BIP32 derivation, and with it watch-only wallets as we build them today. Compact Schnorr-style threshold signing. None of this makes SHRINCS a bad proposal, and the spec is honest about its own status: non-standard SLH-DSA parameters, constructions outside the NIST standard, security proof pending. It does mean the cost of this migration cannot be only measured in signature bytes. The stateful aspect of SHRINCS would be very challenging in terms of security and UX. The uncomfortable part is that picking the signature scheme may be the easiest question here. ledger.com/blog-shrincs-bitc…
16
24
123
16,522
Jonas Nick retweeted
I wrote a blog post on the recent exploits in the Bitcoin ecosystem, how Bitcoin Core is holding up, and how I think the community can get ahead of the models: dergoegge.de/blog/somethings…
4
44
153
60,521
Jonas Nick retweeted
OP_TEMPLATEHASH can solve two of the biggest BitVM3 bridge pain points: • interactive deposits → non-interactive • 1-of-n committee for safety → gone robinlinus.com/bitvm448.pdf
5
18
68
10,573
RT @zooko: Hey folks! I made a cool resource. Please read this tweet (quote tweeted below) and then click through to the link so you can ex…
8
71
Jonas Nick retweeted
Solving Bitcoin is an auto-research project aimed at advancing the state of the art in Bitcoin protocols. We’re starting by optimizing common cryptographic primitives, including Lamport signatures and arithmetic. Join us: let your clankers optimize scripts, implement new primitives, and submit PRs. github.com/solving-bitcoin/b…
14
35
162
12,611
Jonas Nick retweeted
Replying to @n1ckler
Oh didn't know that :) Good catch, glad you guys found it before an attacker could try to add malicious binaries. @craigraw you might also want to update the download guide in the Sparrow wallet website.
1
1
5
424
gpg --verify SHA256SUMS.asc is easily bypassable for detached signatures. The correct command requires the data file: gpg --verify SHA256SUMS.asc SHA256SUMS This appears to be a common mistake. Without the second argument, gpg succeeds even if the .asc file contains an arbitrary embedded message rather than signing the actual SHA256SUMS file. It prints a warning, but it's easily missed in gpg's output. The gpg manpage explicitly discourages the single-argument form, keeping it only for backward compatibility. I actually keep a list of gpg pitfalls. This is number 8. Mehdi Kerimov reported this in nix-bitcoin's self-updater via @nixbitcoinorg's bounty program. We had originally followed bitcoincore.org verification instructions, which had the same issue and have since been fixed. That this sat unnoticed on @bitcoincoreorg since 2018 shows just how little-known this footgun is. It's unlikely bad signatures were ever published at scale, as anyone noticing the warning or using the two-argument command would have caught it immediately.
12
29
132
16,283
Jonas Nick retweeted
More progress being made by @remix7531 on the libsecp256k1 Schnorr Signature (BIP 340) formal verification front: github.com/bitcoin-core/secp….
4
12
38
2,289
Jonas Nick retweeted
LIQUID NETWORK UPDATE: INCIDENT REPORT Status as of September 8, 2026, 19:10 UTC What Happened? On September 6, 2026 at 15:53:10 UTC (Liquid block 4,050,336), a vulnerability in the open-source Elements software related to how Liquid nodes cache range proof verifications was exploited, resulting in the creation of ~4,000 LBTC that were not backed by bitcoin held in reserve. The individual(s) responsible for the exploit then used the SideSwap service, a Liquid Federation member that holds a peg-out authorization (PAK) key, to convert the unbacked LBTC to BTC via Liquid’s standard peg-out mechanism. Because the validation failure occurred at the transaction level before the peg-out was initiated, both SideSwap’s node and the Liquid Network’s globally distributed functionary nodes accepted the LBTC as valid. The functionaries processed the peg-out as authorized, releasing approximately 4,000 BTC through SideSwap’s whitelisted bitcoin address, which SideSwap then forwarded to the address specified by the exploiters. Before the incident, the Liquid reserve held approximately 4,205 BTC. Following this peg-out and additional peg-outs processed before operations were halted, the reserve balance fell to 197 BTC. Key Clarifications No keys were compromised. The Liquid Federation functionaries were not hacked, and no private keys were compromised. The peg-out mechanism that authorizes withdrawals to whitelisted addresses operated as designed. Other Liquid-issued assets were not affected. USDT and other tokens issued on the Liquid Network were not impacted by the vulnerability, though they are temporarily unavailable while the network remains paused. Investigation is ongoing. As is common in complex critical-system failure investigations, this incident arose from the convergence of several individually low-probability factors that interacted in ways that ultimately defeated the system's built-in redundancies. More detail will be shared in forthcoming communications. What Steps Have Been Taken To Recover The Assets? The individual(s) responsible for the exploit left a public message on the bitcoin mainchain identifying themselves as white-hat security researchers and requesting contact to address the vulnerability. Patch deployed. Blockstream identified and deployed a patch to the Liquid Network’s bridge nodes, which was completed on September 7 at 01:09 UTC, ensuring the vulnerability is no longer exploitable. Partial fund recovery. On September 7 at 16:09:25 UTC (Liquid block 965,950), the exploiters returned 3,400 BTC to the Liquid Federation peg wallet. Approximately 598.5 BTC (15% of the total) remains outstanding. Discussions between Blockstream and the individuals responsible are ongoing to secure the return of the remaining funds. What Comes Next? Our immediate priorities are recovering the remaining funds and resuming normal network operations safely and as quickly as possible. Software update in progress. A fix for the exploited vulnerability has been developed and is undergoing multiple rounds of internal and external review. Blockstream is preparing an emergency release of Elements (v23.3.4), which is expected to be released as soon as possible, but within approximately 48 hours. Network restoration. Once the software update is finalized, Liquid Network functionary operators will perform additional adjustments to resume full functionality and restore the corrected network state, including rejection of the invalid peg-out. Ongoing updates. We will continue to provide detailed updates as the situation progresses. What You Should Know The Liquid Network remains offline at this time, while we work on reviewing the security fixes and network resumption code and coordinate with the white hat hacker towards timely resumption of the network with 1:1 backing for BTC. While the network is paused, users cannot transact on Liquid. If you operate a Liquid node, please watch for the emergency Elements release and follow the upgrade instructions when available. Users do not need to take any proactive steps to protect their funds at this time. The Liquid Federation and its members are committed to resolving this incident in coordination with Blockstream and to resuming normal operations as soon as it is safe to do so.
92
116
493
146,329
Lightning co-author @tdryja discusses his work on post-quantum rescue protocols for Bitcoin — as well as his new @MaelstromFund grant to advance proposals like "Lifeboat" and "Lifejacket." Rescue protocols will almost certainly be a key piece of Bitcoin's quantum-mitigation plan (God willing 🤞), providing real technical solutions to questions like "What do we do with coins that don't move in time?" As always, thanks to @MARAFoundation_ for making this show possible 🫶
MFTV #15: Post-Quantum Rescue Protocols | with Lightning co-author Tadge Dryja 🔗 YouTube: piped.video/RidCDDT-VrI 🔗 Spotify: open.spotify.com/episode/5RS… A known quantum skeptic, Lightning co-author @tdryja still believes the threat is “worth being prepared for.” Like other quantum skeptics, he notes that a classical break in elliptic-curve cryptography could potentially outpace quantum — making cryptographic hardening worthwhile regardless of quantum advancement. That said, Tadge takes a realistic view of migration, noting that many users simply won’t move their coins to addresses with harder signatures in time, regardless of a cryptographic upgrade to the protocol. “Rescue protocols” — that is, mechanisms designed to protect vulnerable funds after a cryptographic break — will, in his view, be an important part of Bitcoin’s contingency plan. With proposals like "Lifeboat" and, more recently, "Lifejacket," Tadge has been pushing this area of research forward, receiving @MaelstromFund's 6th Bitcoin development grant to continue the work. In this interview, Tadge sits down with Head of MARA Foundation @isabelfoxenduke to discuss rescue protocols — and, ultimately, how technology could help solve Bitcoin’s highly controversial “abandoned coins” problem. Shout out to director of @blksresearch @n1ckler in this interview as well. TIMESTAMPS: 00:00 — Intro 01:11 — Why Tadge doesn't expect a quantum computer 03:54 — Breaking SHA-256 would break Bitcoin's signatures 09:09 — Why the quantum computer timeline could be a bluff 14:50 — The Maelstrom grant for a post-quantum Bitcoin 19:36 — How Lifeboat protects unspent addresses 26:47 — Lifejacket and coins with exposed public keys 32:14 — Proving ownership through BIP32 37:28 — Tadge’s take on SHRINCS 43:38 — Why fast verification could justify a block size discount 49:32 — How to prevent a post-quantum fork 53:44 — Other alternatives vs Lifejacket 1:00:05 — Public keys exposed on other chains 1:02:34 — Why Bitcoin survives a quantum computer
5
6
22
2,008