Your signal. Your price.

Keegan's BTC Verified project aims to apply formal verification using Lean 4 to the Bitcoin protocol, building a living body of knowledge to crystallize understanding and evaluate changes.
Formal verification employs dependent type theory in interactive theorem provers like Lean 4, enabling proofs that software behaves properly for all inputs, unlike property testing which only checks sampled points.
Keegan notes that while proof assistants like Lean 4 are not designed for efficient execution, they are crucial for high-stakes projects where cost of failure is extremely high, such as the Bitcoin protocol.
LLMs significantly reduce the effort required for proof engineering by generating proofs that are mechanically verifiable, allowing human experts to focus on precise specification of correctness.
Andrew reports that Bitcoin Core releases 29.4, 30.3, and 31.1 fix a long-standing LevelDB bug that caused excessive disk I/O from repeated chain state compactions.
The LevelDB bug worsened in Bitcoin Core 29 due to increasing the default file size from 2 MB to 32 MB, leading to 15 GB of read/write I/O per compaction; this was exacerbated in version 30 by hourly chain state flushes.
The primary cause of the LevelDB issue was the 'seek compaction' feature, which prematurely compacted files after frequent reads, even if they were not full; the fix involved disabling this feature.
Andrew's PR 35295 significantly speeds up Initial Block Download (IBD) and steady-state block validation by parallelizing UTXO lookups from disk using worker threads, preventing the validation thread from waiting on single reads.
Andrew's IBD optimization makes systems at least 50% faster, with network-connected storage like AWS seeing up to three times faster IBD, and typical performance gains around 35% on standard hardware.
Bitcoin Core 35209, included in recent maintenance releases, provides a cleaner fix for CVE-2024-52911, addressing a vulnerability that could cause a remote crash by accessing freed memory during specially crafted block validation.
Andrew's PR 35568 disables bloom filters in the TXO Spender Index, saving disk space and time because the index's iterator-based lookup pattern does not benefit from bloom filters designed for point reads.
Bitcoin Core PR 34897 prevents index inconsistencies during unclear shutdowns by ensuring indexes like CoinStats never get ahead of the chain state's last durable UTXO flush.
Bitcoin Core PR 35406 adds a limit of 10,000 transactions to the tracking queue for private broadcast, preventing resource exhaustion if transactions are not relayed due to policy differences or poor connectivity.
Bitcoin Core PR 35380 extends the LibBitcoin Kernel API to expose transaction inputs, witness stacks, and script sig data, facilitating silent payment scanners in retrieving public keys.
BIP54, the consensus cleanup proposal, had its rationale section updated to include discussions regarding the D64 byte mitigation and alternative proposals, documenting community review.
LND PR 10962 fixes an issue where the RBF Cooperative Close Flow could accidentally spend overlay assets during fee bumping by making auxiliary channels incompatible with this flow.
LND PR 10897 ensures that low-Bitcoin-value UTXOs representing high-value overlay assets are not skipped during fee rate increases, by recognizing them as auxiliary channel outputs and including them in sweeps.
BIN 20250003 has been assigned to BIP442 (OP_PER_COMMIT) in the Bananas repository, which serves as an alternative for standardizing and publishing documents and activating soft forks on Bitcoin Inquisition's signet.
Stratum v2's mining IPC interface uses Cap'n Proto over a Unix socket for efficiency, replacing JSON-based RPC for large data like block templates.
Shores says IPC was designed for splitting Bitcoin Core's node, wallet, and GUI processes, not originally for mining. It can serve indexers or Electrum servers.
Bitcoin Core avoids speaking Stratum v2 directly to reduce code complexity and network port risks. A sidecar app translates between IPC and the protocol.
PR 34020 adds two IPC methods to fetch transactions by TXID or witness ID. This lets a Stratum v2 job declarator reconstruct a block from the node's mempool.
Lucas's fountain code research proposes prune nodes store 'droplets' of block data to assist IBD. Murch notes concerns: slower sync, fingerprinting risk, adversarial 'murky nodes.'
Shores points to 21,000 nodes serving the full blockchain. He argues BitTorrent or Amazon could supply data if header validation exists, making fountain codes premature.
Bitcoin Core 31.1 fixes a bug where private broadcast could fall back to clearnet if V2 transport fails. It now retries V1 transport while retaining the proxy.
A UTXO database flush every hour caused excessive disk churn via LevelDB compaction. Core 31.1 reduces compaction frequency, backported to 30.3 and 29.4.
Core 31.1 also includes wallet migration fixes and intentional background compaction to manage disk I/O predictably.
LND 20.2 beta fixes a DNS fallback panic during peer discovery by validating record types, not assuming SRV. It also patches an HTLC forward interceptor issue.
Bitcoin Core PR 32489 adds an Export Watch Only Wallet RPC, exporting public descriptors and metadata. It simplifies multisig tutorials, eliminating manual bash scripts.
PR 32606 updates compact block relay: Bitcoin Core ignores compact block messages from peers that didn't negotiate support, aren't high-bandwidth, or run blocks-only mode.