<?xml version="1.0" encoding="UTF-8"?><rss xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:atom="http://www.w3.org/2005/Atom" version="2.0" xmlns:itunes="http://www.itunes.com/dtds/podcast-1.0.dtd" xmlns:googleplay="http://www.google.com/schemas/play-podcasts/1.0"><channel><title><![CDATA[bitcoin++'s Insider Edition: Last Week In Bitcoin]]></title><description><![CDATA[The "Last Week In Bitcoin" newsletter is a weekly publication from Bitcoin++'s open-source reporter, Tuma. Tuma brings you the key points from open-source developer calls in the bitcoin space.]]></description><link>https://insider.btcpp.dev/s/last-week-in-bitcoin</link><image><url>https://substackcdn.com/image/fetch/$s_!Y_ng!,w_256,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F30eeeceb-d343-4c5d-93d2-4da0d7357725_650x650.png</url><title>bitcoin++&apos;s Insider Edition: Last Week In Bitcoin</title><link>https://insider.btcpp.dev/s/last-week-in-bitcoin</link></image><generator>Substack</generator><lastBuildDate>Sun, 21 Jun 2026 08:36:25 GMT</lastBuildDate><atom:link href="https://insider.btcpp.dev/feed" rel="self" type="application/rss+xml"/><copyright><![CDATA[btcplusplus LLC]]></copyright><language><![CDATA[en]]></language><webMaster><![CDATA[hello@btcpp.dev]]></webMaster><itunes:owner><itunes:email><![CDATA[hello@btcpp.dev]]></itunes:email><itunes:name><![CDATA[~nifty~]]></itunes:name></itunes:owner><itunes:author><![CDATA[~nifty~]]></itunes:author><googleplay:owner><![CDATA[hello@btcpp.dev]]></googleplay:owner><googleplay:email><![CDATA[hello@btcpp.dev]]></googleplay:email><googleplay:author><![CDATA[~nifty~]]></googleplay:author><itunes:block><![CDATA[Yes]]></itunes:block><item><title><![CDATA[New Specs for Marmot — Last Week in Bitcoin (Jun 08 - 14)]]></title><description><![CDATA[Hi Insiders.]]></description><link>https://insider.btcpp.dev/p/new-specs-for-marmot-last-week-in</link><guid isPermaLink="false">https://insider.btcpp.dev/p/new-specs-for-marmot-last-week-in</guid><dc:creator><![CDATA[Tuma (I WILL NEVER DM YOU)]]></dc:creator><pubDate>Mon, 15 Jun 2026 14:02:49 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!ajtc!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0be34b6c-3529-4398-b09f-6ebf60649e3e_1600x900.jpeg" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p><em>Hi Insiders. This is Tuma, open-source reporter from the Insider Edition.</em></p><p><em>In this week update we feature the latest release of the Cashu Development Kit (CDK), which introduced a new BDK on-chain payment backend based on NUT-30.</em></p><p><em>We also cover the effort from the Marmot protocol team to draft a new set of specifications to improve the reliability of the system.</em></p><p><em>We finally present some interesting news from the Bitcoin ecosystem. Notably, Bark by Second available on mainnet, a new vulnerability found in Bitcoin Core, improvements on splicing, and a draft BIP for a new testnet.</em></p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!ajtc!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0be34b6c-3529-4398-b09f-6ebf60649e3e_1600x900.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!ajtc!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0be34b6c-3529-4398-b09f-6ebf60649e3e_1600x900.jpeg 424w, https://substackcdn.com/image/fetch/$s_!ajtc!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0be34b6c-3529-4398-b09f-6ebf60649e3e_1600x900.jpeg 848w, https://substackcdn.com/image/fetch/$s_!ajtc!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0be34b6c-3529-4398-b09f-6ebf60649e3e_1600x900.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!ajtc!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0be34b6c-3529-4398-b09f-6ebf60649e3e_1600x900.jpeg 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!ajtc!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0be34b6c-3529-4398-b09f-6ebf60649e3e_1600x900.jpeg" width="1456" height="819" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/0be34b6c-3529-4398-b09f-6ebf60649e3e_1600x900.jpeg&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:819,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:347184,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/jpeg&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:true,&quot;internalRedirect&quot;:&quot;https://insider.btcpp.dev/i/202104441?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0be34b6c-3529-4398-b09f-6ebf60649e3e_1600x900.jpeg&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!ajtc!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0be34b6c-3529-4398-b09f-6ebf60649e3e_1600x900.jpeg 424w, https://substackcdn.com/image/fetch/$s_!ajtc!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0be34b6c-3529-4398-b09f-6ebf60649e3e_1600x900.jpeg 848w, https://substackcdn.com/image/fetch/$s_!ajtc!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0be34b6c-3529-4398-b09f-6ebf60649e3e_1600x900.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!ajtc!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0be34b6c-3529-4398-b09f-6ebf60649e3e_1600x900.jpeg 1456w" sizes="100vw" fetchpriority="high"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p></p><div><hr></div><h2><strong>Highlights from the bitcoin developer ecosystem</strong></h2><p><em>I spent 10+ hours in open-source developer calls in the Bitcoin ecosystem last week. Here is what caught my eye</em>:</p><ul><li><p><a href="https://github.com/cashubtc/cdk/releases/tag/v0.17.0">v0.17.0</a> of CDK was released.</p><ul><li><p>During the weekly call, on Wednesday 10th, CDK contributors announced that the latest version of the Cashu implementation was close to be published. The release was officially pushed some days later, on Saturday 13th.</p></li><li><p>The main highlight is the introduction of an on-chain backend for minting and melting ecash tokens. Based on <a href="https://github.com/cashubtc/nuts/blob/main/30.md">NUT-30</a> specification, the new features leverages <a href="https://github.com/bitcoindevkit">BDK</a> under the hood to provide on-chain functionalities.</p></li><li><p>Other changes includes a deprecation notice for LNbits as a backend, improvements to improve recovery and reliability, and the possibility to have multiple mint backends for different currency units. The latest release is also available for Kotlin JVM, Go, Dart, and Swift though language bindings.</p></li></ul></li><li><p><a href="https://github.com/marmot-protocol/darkmatter">Marmot v2</a>, the new set of specification for the Marmot specifications, is currently being drafted.</p><ul><li><p>During the monthly community call, on Tuesday 9th, Marmot maintainers announced that they were working on a second version of the protocol specifications with the aim of improving the reliability of the system. The new specifications are being drafted in the <a href="https://github.com/marmot-protocol/darkmatter/tree/master/spec">darkmatter specs</a> repository, organized in modular surfaces with dedicated directories and clear ownership.</p></li><li><p>One of the most important focus of the new specifications is related to how the group reaches consensus on state change. As of today, each member of the group processes commits independently, which could result in potential forks of the group. Marmot v2 would provide hard-coded parameters to allow users to get to the same group state deterministically.</p></li><li><p>Another focus of the new specifications is to make the protocol transport-agnostic. While the original specifications put Nostr at the center, v2 aims to provide the possibility to use Marmot with many different transport layers, such as <a href="https://fips.network/">FIPS</a>.</p></li></ul></li></ul><div><hr></div><h2>A BIPs Update</h2><p><em>There was no newsworthy update in the last days in the <a href="https://github.com/bitcoin/bips">BIP repository</a>. We&#8217;ll provide new updates as soon as a new BIP gets published or gets assigned a number.</em></p><div><hr></div><h2>Other News from the Bitcoin World</h2><ul><li><p><strong>Bark is on mainnet</strong>: Second <a href="https://x.com/secondhq/status/2064346112203395400">announced</a> on Monday 9th that Bark, their Ark implementation, was finally available on mainnet. Second released the Ark server, the Bark SDK, and multiple wallets to try. In the following days, Bark <a href="https://x.com/secondhq/status/2065445074767630711">announced</a> that AlbyHub had integrated Bark as a possible backend option for their node, and that the Bark Wallet was available on Umbrel. Unfortunately, it also had to deal with <a href="https://substack.com/home/post/p-201838701">two vulnerabilities</a> found by Bitcoin developer Floppy, which were soon patched by Second&#8217;s team.</p></li><li><p><strong>Vulnerability in </strong><code>-privatebroadcast</code>: The Bitcoin Core organization <a href="https://x.com/bitcoincoreorg/status/2065161002128154911">disclosed</a> on Thursday 11th that a privacy bug had been found in the newly <code>-privatebroadcast</code> feature introduced in v31.0. The bug may cause the originator&#8217;s IP address to be revealed to a peer. A fix is expected soon in v31.1.</p></li><li><p><strong>Splicing out into a channel open</strong>: Dusty Daemon, the mind behind splicing, <a href="https://x.com/dusty_daemon/status/2064435141682876606">announced</a> that he was able to make the first splice out into a channel open on regtest. In other words, he was able to remove funds from an already open channel, and put them in a brand-new one.</p></li><li><p><strong>Testnet5 is coming?</strong>: Pol Espinasa <a href="https://groups.google.com/g/bitcoindev/c/kGUMTxOvdJA/m/Eyx5FxQeAAAJ">posted</a> to the Bitcoin-Dev mailing list a <a href="https://github.com/bitcoin/bips/pull/2196">draft BIP</a> to replace <a href="https://bitcoinops.org/en/topics/testnet/">testnet4</a> with a new testnet5, with the aim is to improve reliability of the testnet. Testnet5 would include the same consensus rules as mainnet, plus activation of <a href="https://github.com/bitcoin/bips/blob/master/bip-0054.md">BIP54</a> (great consensus cleanup).</p></li></ul><div><hr></div><p><em>Looking for an opportunity to join up with some bitcoin devs in person? Join us in <a href="https://btcplusplus.dev/nairobi">Nairobi</a> this June 17- 19 to talk about working in public in open-source!</em></p>]]></content:encoded></item><item><title><![CDATA[Clarifying Moderation Policies for External Behavior - This Week in Bitcoin Core #47]]></title><description><![CDATA[Delete Libevent and make coin selection faster...]]></description><link>https://insider.btcpp.dev/p/clarifying-moderation-policies-for</link><guid isPermaLink="false">https://insider.btcpp.dev/p/clarifying-moderation-policies-for</guid><dc:creator><![CDATA[kevkevin]]></dc:creator><pubDate>Fri, 12 Jun 2026 14:02:54 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!MJw8!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1cee73e5-1dd4-4081-a559-6f40592a5154_1456x816.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>Hello &#128075; folks, I&#8217;m kevkevin. I&#8217;m an open-source developer and reporter for Insider Edition. Last week, I reviewed several pull requests from the <a href="https://github.com/bitcoin/bitcoin/pulls">Bitcoin Core</a> repo.<br><br>This week in the IRC meeting, there was a topic <a href="https://github.com/bitcoin-core/meta/issues/46">brought up</a> about how Bitcoin Core should moderate users whose external presence is abusive, but within the Bitcoin Core repos, they follow the guidelines.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!MJw8!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1cee73e5-1dd4-4081-a559-6f40592a5154_1456x816.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!MJw8!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1cee73e5-1dd4-4081-a559-6f40592a5154_1456x816.png 424w, https://substackcdn.com/image/fetch/$s_!MJw8!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1cee73e5-1dd4-4081-a559-6f40592a5154_1456x816.png 848w, https://substackcdn.com/image/fetch/$s_!MJw8!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1cee73e5-1dd4-4081-a559-6f40592a5154_1456x816.png 1272w, https://substackcdn.com/image/fetch/$s_!MJw8!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1cee73e5-1dd4-4081-a559-6f40592a5154_1456x816.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!MJw8!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1cee73e5-1dd4-4081-a559-6f40592a5154_1456x816.png" width="1456" height="816" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/1cee73e5-1dd4-4081-a559-6f40592a5154_1456x816.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:816,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:true,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!MJw8!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1cee73e5-1dd4-4081-a559-6f40592a5154_1456x816.png 424w, https://substackcdn.com/image/fetch/$s_!MJw8!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1cee73e5-1dd4-4081-a559-6f40592a5154_1456x816.png 848w, https://substackcdn.com/image/fetch/$s_!MJw8!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1cee73e5-1dd4-4081-a559-6f40592a5154_1456x816.png 1272w, https://substackcdn.com/image/fetch/$s_!MJw8!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1cee73e5-1dd4-4081-a559-6f40592a5154_1456x816.png 1456w" sizes="100vw" fetchpriority="high"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><h4><strong>Merged PR&#8217;s</strong></h4><h5><strong>Every week, several changes are officially added to Bitcoin Core. This week, </strong>multiple <strong>changes were merged. Here are some I found interesting this week.</strong></h5><ul><li><p><strong><a href="https://github.com/bitcoin/bitcoin/pull/35267">rpc: make getprivatebroadcastinfo and abortprivatebroadcast fail if privatebroadcast is not enabled</a></strong> by <strong><a href="https://github.com/polespinasa">polespinasa</a><br></strong>This change is conceptually pretty straightforward. There was a new feature added to Bitcoin Core v31.0 called private broadcast, in which two RPC calls were added for getprivatebroadcast and abortprivatebroadcast.<br><br>Now it makes sense to have them enabled when we also have private broadcast enabled. The issue is that before this PR that was not the case. So, what Pol Espinasa made a condition was that if -privatebroadcast=0 then we would disable those RPC methods.</p></li><li><p><strong><a href="https://github.com/bitcoin/bitcoin/pull/34028">p2p: Prevent integer overflow in LocalServiceInfo::nScore</a></strong> by <strong><a href="https://github.com/codeabysss">codeabysss</a><br></strong>This change by codeabysss also their first change, which closes an issue from 2022. </p><blockquote><p>The overflow for signed arithmetic yields undefined behavior.<br>This changes prevents undefined behavior in local address scoring by saturating <code>nScore</code> updates at <code>INT_MAX</code> in both <code>SeenLocal()</code> and <code>AddLocal()</code> update paths.</p></blockquote></li></ul><h5><strong>There are always changes being updated and reviewed in real-time. Here are some notable PR&#8217;s that are still up and looking for reviews.</strong></h5><ul><li><p><strong><a href="https://github.com/bitcoin/bitcoin/pull/25665">refactor: Add util::Result failure types and ability to merge result values</a></strong> by <strong><a href="https://github.com/ryanofsky">ryanofsky</a></strong></p><blockquote><pre><code>Add `util::Result` support for returning more error information and make use of it in [LoadChainstate method](https://github.com/bitcoin/bitcoin/pull/25665/commits/d0d2535cac193a448395fbb1d32df072b2e491a3) as an initial application. Followup PRs [#25722](https://github.com/bitcoin/bitcoin/pull/25722) and [#29700](https://github.com/bitcoin/bitcoin/pull/29700) use it more broadly to return errors and warnings from wallet and kernel functions as well.</code></pre></blockquote></li></ul><div><hr></div><h4><strong>IRC meeting notes</strong></h4><h5><strong>Every week on Thursday, there is an IRC meeting. Here are some short notes from that meeting.</strong></h5><pre><code><strong>stickies-v</strong>: <strong>#topic Kernel WG Update (sedited)</strong>
<strong>sedited</strong>: nothing to share this week</code></pre><pre><code><strong>stickies-v</strong>: <strong>#topic Benchmarking WG Update (l0rinc, andrewtoth)</strong>
<strong>sliv3r__</strong>: hi
<strong>andrewtoth</strong>: l0rinc opened <a href="https://github.com/bitcoin/bitcoin/issues/35465">#35465</a> to address the compaction.
<strong>andrewtoth</strong>: willcl-ark discovered a speed regression <a href="https://github.com/bitcoin/bitcoin/issues/35457.">https://github.com/bitcoin/bitcoin/issues/35457.</a> l0rinc is looking into ways to resolve that.
<strong>andrewtoth</strong>: Got some good review on <a href="https://github.com/bitcoin/bitcoin/issues/35295">#35295</a>. We are also now continuously fuzzing leveldb along with concurrent reads, which is used for chainstate reads in that PR. More review welcome.
<strong>andrewtoth</strong>: that&#8217;s it</code></pre><pre><code><strong>stickies-v</strong>: <strong>#topic Fuzzing WG Update (dergoegge)</strong>
<strong>dergoegge</strong>: no update
<strong>stickies-v</strong>: I don&#8217;t see any other WG leaders here, so that concludes the WG section unless anyone pops in last-minute
<strong>stickies-v</strong>: Anything else to discuss?
<strong>andrewtoth</strong>: Can we consider merging <a href="https://github.com/bitcoin-core/bitcoincore.org/pull/1255">https://github.com/bitcoin-core/bitcoincore.org/pull/1255</a> and making a mailing list post?
<strong>sedited</strong>: not sure if that makes sense without a release.
<strong>andrewtoth</strong>: Do we want to let users know about workarounds before a release?
<strong>stickies-v</strong>: alerting earlier seems useful to me too, especially since the vulnerability is public already anyway
<strong>sliv3r__</strong>: I think it makes sense anouncing before a release
<strong>andrewtoth</strong>: I don&#8217;t think that blog post would make sense as is with a release, since the best workaround would be to upgrade
<strong>sliv3r__</strong>: agree, didn&#8217;t read in detail the post but it basically gives workarounds until a fix is released, makes sense to publish it as soon as it is ready
<strong>stickies-v</strong>: i think it would be useful if more contributors at least concept ack&#8217;d blog posts, not that this one seems controversial
<strong>sedited</strong>: ok
<strong>eugenesiegel</strong>: should this not have been public? afaict the security mailing list isn&#8217;t for privacy issues. anybody have an idea on the preferred way to handle this?
<strong>andrewtoth</strong>: all things considered it would be better IMO if this were not yet public
<strong>andrewtoth</strong>: but, not sure how we would have made a fix without revealing it
<strong>instagibbs</strong>: there are ways of doign so, but horse is out of the barn long ago
<strong>andrewtoth</strong>: since it is public, it would be good to get info about it out
<strong>stickies-v</strong>: alright, looks like we&#8217;re done here. thanks for bringing it up andrewtoth
<strong>andrewtoth</strong>: what is holding up a 31.1 release?
<strong>Murch[m]</strong>: 31.1 should be out soon, right?
<strong>stickies-v</strong>: (okay not done)
<strong>Murch[m]</strong>: I just took a look at the milestone, all the todos seem to be checked off
<strong>dergoegge</strong>: eugenesiegel: This was fine to be public imo
<strong>sedited</strong>: I think we were waiting on <a href="https://github.com/bitcoin/bitcoin/issues/35465">#35465</a>
<strong>Murch[m]</strong>: Ah sorry, the list of backports refers to merged PRs, but the PR is still draft
<strong>Murch[m]</strong>: <a href="https://github.com/bitcoin/bitcoin/pull/35331">https://github.com/bitcoin/bitcoin/pull/35331</a>
<strong>andrewtoth</strong>: <a href="https://github.com/bitcoin/bitcoin/issues/35331">#35331</a>
<strong>andrewtoth</strong>: Please review 35465 then
<strong>stickies-v</strong>: anything else here? otherwise i&#8217;m wrapping up
<strong>Murch[m]</strong>: I though <a href="https://github.com/bitcoin-core/meta/issues/46">https://github.com/bitcoin-core/meta/issues/46</a> was an interesting question.
<strong>Murch[m]</strong>: While it seems reasonable to judge code contributions on their own merit, it also seems reasonable that extremely uncharitable behavior in other avenues should at some point be addressed.
<strong>Murch[m]</strong>: Anyway, if people haven&#8217;t seen that conversation yet, maybe take a look
<strong>Murch[m]</strong>: :s/though/thought/
<strong>instagibbs</strong>: thanks for bringing it up
<strong>Murch[m]</strong>: Like, more concretely, if someone has been accusing us (without evidence) of crimes and shitting on our project in public for years, why should we continue to platform them in our repository?
<strong>Murch[m]</strong>: I can&#8217;t think of any other situation in life where this sort of behavior would be acceptable
<strong>stickies-v</strong>: so if someone is an asshole in real life, but contributes a good patch, we should not merge it because they&#8217;re an asshole?
<strong>stickies-v</strong>: that seems unworkable to me
<strong>Murch[m]</strong>: I don&#8217;t think your description of the situation matches what&#8217;s going on
<strong>Murch[m]</strong>: Anyway, I think that a ban would be in order. I don&#8217;t understand why we continue to subject ourselves to this person.
<strong>stickies-v</strong>: maybe i missed a recent conversation or incident but i&#8217;m not getting it
<strong>stickies-v</strong>: happy to review an issue or PR if there is one, i just subscribed to the meta repo
<strong>stickies-v</strong>: it looks like we&#8217;re done here, so i&#8217;ll wrap up</code></pre><p>Read here for the <a href="https://achow101.com/ircmeetings/2026/bitcoin-core-dev.2026-06-11_16_00.log.html">full meeting</a></p><div><hr></div><h4><strong>Releases</strong></h4><ul><li><p>No releases this week</p></li></ul><div><hr></div><blockquote><p>Thank you for reading. Be sure to tune in again next week for your updates on Bitcoin Core!</p></blockquote><p><em>If there are any comments, suggestions, or errors, do not hesitate to reach out or comment</em></p><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://insider.btcpp.dev/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe&quot;,&quot;language&quot;:&quot;en&quot;}" data-component-name="SubscribeWidgetToDOM"><div class="subscription-widget show-subscribe"><div class="preamble"><p class="cta-caption">bitcoin++'s Insider Edition is a reader-supported publication. To receive new posts and support my work, consider becoming a free or paid subscriber.</p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div>]]></content:encoded></item><item><title><![CDATA[P2P UTXO Set Sharing — Last Week in Bitcoin (Jun 01 - 07)]]></title><description><![CDATA[Hi Insiders.]]></description><link>https://insider.btcpp.dev/p/p2p-utxo-set-sharing-last-week-in</link><guid isPermaLink="false">https://insider.btcpp.dev/p/p2p-utxo-set-sharing-last-week-in</guid><dc:creator><![CDATA[Tuma (I WILL NEVER DM YOU)]]></dc:creator><pubDate>Mon, 08 Jun 2026 14:02:45 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!juk5!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5410d0a3-e1a5-4861-a9f8-718b46d1a8da_1600x900.jpeg" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p><em>Hi Insiders. This is Tuma, open-source reporter from the Insider Edition.</em></p><p><em>In this week update we feature the latest release of Stratum V2 protocol and applications, which focuses on share accounting improvements, channel-management API refinements, and protocol/specification alignment.</em></p><p><em>We also cover the latest release of Core-lightning. v26.06 starts deprecation for the </em><code>pay</code><em> command in favor of </em><code>xpay</code><em>, brings the implementation up-to-date with the latest specs changes, and fixes some bugs.</em></p><p><em>We finally present a new BIP for sharing the UTXO set between peers and other interesting news from the Bitcoin ecosystem. Notably, Olaoluwa Osuntokun discussing post-quantum updates to BIP324, researcher Conduition becoming the first Brink grantee to work to make Bitcoin quantum secure, and some thoughts from the Lightning Dev Summit in Vienna.</em></p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!juk5!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5410d0a3-e1a5-4861-a9f8-718b46d1a8da_1600x900.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!juk5!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5410d0a3-e1a5-4861-a9f8-718b46d1a8da_1600x900.jpeg 424w, https://substackcdn.com/image/fetch/$s_!juk5!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5410d0a3-e1a5-4861-a9f8-718b46d1a8da_1600x900.jpeg 848w, https://substackcdn.com/image/fetch/$s_!juk5!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5410d0a3-e1a5-4861-a9f8-718b46d1a8da_1600x900.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!juk5!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5410d0a3-e1a5-4861-a9f8-718b46d1a8da_1600x900.jpeg 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!juk5!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5410d0a3-e1a5-4861-a9f8-718b46d1a8da_1600x900.jpeg" width="1456" height="819" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/5410d0a3-e1a5-4861-a9f8-718b46d1a8da_1600x900.jpeg&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:819,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:347184,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/jpeg&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:true,&quot;internalRedirect&quot;:&quot;https://insider.btcpp.dev/i/201123781?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5410d0a3-e1a5-4861-a9f8-718b46d1a8da_1600x900.jpeg&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!juk5!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5410d0a3-e1a5-4861-a9f8-718b46d1a8da_1600x900.jpeg 424w, https://substackcdn.com/image/fetch/$s_!juk5!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5410d0a3-e1a5-4861-a9f8-718b46d1a8da_1600x900.jpeg 848w, https://substackcdn.com/image/fetch/$s_!juk5!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5410d0a3-e1a5-4861-a9f8-718b46d1a8da_1600x900.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!juk5!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5410d0a3-e1a5-4861-a9f8-718b46d1a8da_1600x900.jpeg 1456w" sizes="100vw" fetchpriority="high"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p></p><div><hr></div><h2><strong>Highlights from the bitcoin developer ecosystem</strong></h2><p><em>I spent 10+ hours in open-source developer calls in the Bitcoin ecosystem last week. Here is what caught my eye</em>:</p><ul><li><p><a href="https://github.com/stratum-mining/stratum/releases/tag/v1.10.0">v1.10.0</a> of Stratum V2 protocol libraries and <a href="https://github.com/stratum-mining/sv2-apps/releases/tag/v0.5.0">v0.5.0</a> of Stratum V2 applications have been released.</p><ul><li><p>During the weekly call, on Tuesday 2nd, Stratum V2 contributors announced that the new releases for both the protocol libraries and the applications were ready to be published. The new versions were later released on Wednesday 3rd.</p></li><li><p>v1.10.0 of the core libraries improves share accounting, adding possibility to track rejected mining shares, refines APIs for channel-management, simplifying the public API and improving encapsulation, and fixes some misalignment between the protocol and the specifications.</p></li><li><p>v0.5.0 of the application libraries integrates the changes from the core protocol crate. Moreover, it introduces improvements to the Translator Proxy and the Job Declaration Client.</p></li></ul></li><li><p><a href="https://github.com/ElementsProject/lightning/releases/tag/v26.06">v26.06</a> of Core-lightning, called &#8220;Quantum-Resistant Lightning Channel&#8221; is now available.</p><ul><li><p>During the latest update calls, Core-lightning contributors discussed the features to be included in the new version of the Lightning implementation. The release was finally published on Tuesday 2nd.</p></li><li><p>v26.06 starts deprecation for the <code>pay</code> command in favor of <code>xpay</code> , defaulting to the latter for managing payments, it increases the channel closure wait time to 72 blocks, updating to the latest specs, and introduces an experimental BOLT12 payment proof implementation updated to <a href="https://github.com/lightning/bolts/pull/1295">latest spec draft</a>.</p></li><li><p>The release also fixes some issues. Notably, it fixes a problem with high fees that caused that caused <code>splicein</code> and <code>spliceout</code> to abort, a wallet change output bug for P2TR/P2WPKH, and some issues related to <code>xpay</code> command.</p></li></ul></li></ul><div><hr></div><h2>A BIPs Update</h2><p><em>In the last week there was some movement in the <a href="https://github.com/bitcoin/bips">BIP repository</a>. Specifically, one new BIP has been assigned a number by BIP maintainer <a href="https://github.com/murchandamus">Murchandamus</a>.</em></p><h3>Numbered BIPs</h3><p><em>A list of BIPs that recently got assigned a number</em></p><h4>BIP452: P2P UTXO Set Sharing</h4><p><strong>Authors</strong>: <a href="https://github.com/fjahr">Fabian Jahr</a></p><p><strong>Assigned On</strong>: Jun 4th, 2026</p><p><strong>Layer</strong>: Peer Services</p><p><a href="https://github.com/bitcoin/bips/pull/2137">PR2137</a> introduces BIP452, which introduces the possibility to share the UTXO set over the P2P layer. The proposal defines a way to improve the <a href="https://bitcoinops.org/en/topics/assumeutxo/">assumeUTXO</a> feature by providing a way for new nodes to receive the UTXO set directly from peers, instead of from external sources. In particular, it introduces a new service bit, four new P2P messages, and a UTXO set merkle root known to the requesting node, to verify the correctness of the provided UTXO set.</p><div><hr></div><h2>Other News from the Bitcoin World</h2><ul><li><p><strong>Post-quantum BIP324</strong>: Olaoluwa Osuntokun <a href="https://groups.google.com/g/bitcoindev/c/n_5WuKVYqwI/m/lBooLis3AQAJ">posted</a> to the Bitcoin-Dev mailing list his thoughts on possible upgrades needed to make <a href="https://github.com/bitcoin/bips/blob/master/bip-0324.mediawiki">BIP324</a> quantum secure. BIP324 introduced <a href="https://bitcoinops.org/en/topics/v2-p2p-transport/">transport encryption</a> for the P2P protocol, enabling peers to exchange messages on the network with improved privacy and security. This could be an easier first step to make Bitcoin quantum secure than pushing changes at the consensus level.</p></li><li><p><strong>Quantum researcher</strong>: Bitcoin researcher Conduition <a href="https://x.com/conduition_io/status/2061500773851189412">announced</a> that he had received a grant from Brink, making him the first grantee to be funded for R&amp;D work to bring post-qauntum cryptography to Bitcoin. He will work full-time in collaboration with <a href="https://x.com/blksresearch">Blockstream Research</a> to draft a balanced, efficient, and secure signature upgrade.x</p></li><li><p><strong>What&#8217;s next for Lightning?</strong>: Lightning contributor Vincenzo Palazzo <a href="https://x.com/btcinsider__/status/2061662093502455951?s=20">posted</a> some takeaways on what was discussed during the Lightning Dev Summit in Vienna. Moreover, Nifty <a href="https://github.com/lightning/bolts/issues/1329#issuecomment-4582562440">posted</a> the summit resolutions on GitHub, highlighting the next steps for the Lightning Network.</p></li></ul><div><hr></div><p><em>Looking for an opportunity to join up with some bitcoin devs in person? Join us in <a href="https://btcplusplus.dev/nairobi">Nairobi</a> this June 17- 19 to talk about working in public in open-source!</em></p>]]></content:encoded></item><item><title><![CDATA[Libevent removal next release and BnB rewrite? - This Week in Bitcoin Core #46]]></title><description><![CDATA[Delete Libevent and make coin selection faster...]]></description><link>https://insider.btcpp.dev/p/libevent-removal-next-release-and</link><guid isPermaLink="false">https://insider.btcpp.dev/p/libevent-removal-next-release-and</guid><dc:creator><![CDATA[kevkevin]]></dc:creator><pubDate>Fri, 05 Jun 2026 14:02:39 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!MJw8!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1cee73e5-1dd4-4081-a559-6f40592a5154_1456x816.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>Hello &#128075; folks, I&#8217;m kevkevin. I&#8217;m an open-source developer and reporter for Insider Edition. Last week, I reviewed several pull requests from the <a href="https://github.com/bitcoin/bitcoin/pulls">Bitcoin Core</a> repo.<br><br>This week in Bitcoin Core, there was a discussion in the IRC weekly meeting of attempting to remove the Libevent dependency in favor of our own HTTP and socket-handling implementation in Bitcoin Core. Also, this week, Murch had his PR merged, which rewrote the BnB coin selection algorithm.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!MJw8!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1cee73e5-1dd4-4081-a559-6f40592a5154_1456x816.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!MJw8!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1cee73e5-1dd4-4081-a559-6f40592a5154_1456x816.png 424w, https://substackcdn.com/image/fetch/$s_!MJw8!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1cee73e5-1dd4-4081-a559-6f40592a5154_1456x816.png 848w, https://substackcdn.com/image/fetch/$s_!MJw8!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1cee73e5-1dd4-4081-a559-6f40592a5154_1456x816.png 1272w, https://substackcdn.com/image/fetch/$s_!MJw8!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1cee73e5-1dd4-4081-a559-6f40592a5154_1456x816.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!MJw8!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1cee73e5-1dd4-4081-a559-6f40592a5154_1456x816.png" width="1456" height="816" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/1cee73e5-1dd4-4081-a559-6f40592a5154_1456x816.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:816,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:true,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!MJw8!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1cee73e5-1dd4-4081-a559-6f40592a5154_1456x816.png 424w, https://substackcdn.com/image/fetch/$s_!MJw8!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1cee73e5-1dd4-4081-a559-6f40592a5154_1456x816.png 848w, https://substackcdn.com/image/fetch/$s_!MJw8!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1cee73e5-1dd4-4081-a559-6f40592a5154_1456x816.png 1272w, https://substackcdn.com/image/fetch/$s_!MJw8!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1cee73e5-1dd4-4081-a559-6f40592a5154_1456x816.png 1456w" sizes="100vw" fetchpriority="high"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><h4><strong>Merged PR&#8217;s</strong></h4><h5><strong>Every week, several changes are officially added to Bitcoin Core. This week, </strong>multiple <strong>changes were merged. Here are some I found interesting this week.</strong></h5><ul><li><p><strong><a href="https://github.com/bitcoin/bitcoin/pull/33661">test: Add test on skip heights in CBlockIndex</a></strong> by <strong><a href="https://github.com/optout21">optout21</a><br></strong>Optout21 authored and had his PR merged which added additional test coverage for the internal functions GetSkipHeight() and CBlockIndex::BuildSkip(). <br><br>He found that the skip logics and these functions were not well documented, so adding test coverage would firstly add coverage, but also document how they are intended to function. As always, additional test coverage is always welcomed to the coverage as it helps reduce issues in the future.</p></li><li><p><strong><a href="https://github.com/bitcoin/bitcoin/pull/32150">coinselection: Optimize BnB exploration</a></strong> by <strong><a href="https://github.com/murchandamus">murchandamus</a><br></strong>This week, Murch had his PR merged, which rewrote the BnB coin selection algorithm. He created this to skip the duplicate evaluation of previously visited input selections.<br><br>This update is a pure optimization of the algorithm to reduce visiting inputs more than we needed to, and also, as fewer nodes are visited, this approach would enumerate more possible combinations than the original implementation, given the same limit for iterations.</p></li></ul><h5><strong>There are always changes being updated and reviewed in real-time. Here are some notable PR&#8217;s that are still up and looking for reviews.</strong></h5><ul><li><p><strong><a href="https://github.com/bitcoin/bitcoin/pull/25665">refactor: Add util::Result failure types and ability to merge result values</a></strong> by <strong><a href="https://github.com/ryanofsky">ryanofsky</a></strong></p><blockquote><pre><code>Add `util::Result` support for returning more error information and make use of it in [LoadChainstate method](https://github.com/bitcoin/bitcoin/pull/25665/commits/d0d2535cac193a448395fbb1d32df072b2e491a3) as an initial application. Followup PRs [#25722](https://github.com/bitcoin/bitcoin/pull/25722) and [#29700](https://github.com/bitcoin/bitcoin/pull/29700) use it more broadly to return errors and warnings from wallet and kernel functions as well.</code></pre></blockquote></li></ul><div><hr></div><h4><strong>IRC meeting notes</strong></h4><h5><strong>Every week on Thursday, there is an IRC meeting. Here are some short notes from that meeting.</strong></h5><pre><code>stickies-v: #topic Fuzzing WG Update (dergoegge)
dergoegge: no update</code></pre><pre><code><strong>stickies-v</strong>: <strong>#topic Kernel WG Update (sedited)</strong>
<strong>sedited</strong>: <a href="https://github.com/bitcoin/bitcoin/issues/32427">#32427</a> has been getting a bunch of review over the past week and has accrued a few ACKs
<strong>sedited</strong>: For a change that will break backwards compatibility and completely changes one of our persistence layers, I think it requires still more buy-in.
<strong>willcl-ark</strong>: yes would be nice to see more Concept ACK-ers (and others!) review that one
<strong>sedited</strong>: So I&#8217;d like to invite more people to come review it.
<strong>stickies-v</strong>: anything else?
<strong>sedited</strong>: that&#8217;s all</code></pre><pre><code><strong>stickies-v</strong>: <strong>#topic Benchmarking WG Update (l0rinc, andrewtoth)</strong>
<strong>l0rinc_</strong>: I pushed a tiny optimization to <a href="https://github.com/bitcoin-core/secp256k1/pull/1859">https://github.com/bitcoin-core/secp256k1/pull/1859</a> resulting in up to ~12% signature validation speedup by force-inlining int128 mul/sqr helpers.
<strong>l0rinc_</strong>: Reproducers and Windows/MSVC experts are very welcome.
<strong>l0rinc_</strong>: adndrewtoth&#8217;s <a href="https://github.com/bitcoin-core/leveldb-subtree/pull/61">https://github.com/bitcoin-core/leveldb-subtree/pull/61</a> was also merged and cherry-picked to previous releases.
<strong>l0rinc_</strong>: A followup was just pushed to <a href="https://github.com/bitcoin/bitcoin/issues/35465">#35465</a> - it does the compaction at the assumevalid boundary to guarantee uniqueness. It&#8217;s similar to darosior&#8217;s suggestion last week, just easier to implement and explain.
<strong>l0rinc_</strong>: that&#8217;s it from me</code></pre><pre><code><strong>stickies-v</strong>: <strong>#topic QML GUI WG Update (johnny9dev)</strong>
<strong>johnny9dev</strong>: Nothing major to report. Making a lot of progress with 4 actively contributing now
<strong>johnny9dev</strong>: only a few more items to get merged before we want to start getting feedback
<strong>johnny9dev</strong>: <a href="https://github.com/orgs/bitcoin-core/projects/1/views/2">https://github.com/orgs/bitcoin-core/projects/1/views/2</a>
<strong>johnny9dev</strong>: still on track to have unsigned builds before the end of June
<strong>johnny9dev</strong>: that is all for now</code></pre><pre><code><strong>stickies-v</strong>: <strong>#topic Libevent removal (pinheadmz, fjahr)</strong>
<strong>fjahr</strong>: pinheadmz isn&#8217;t here today but full focus is on review of <a href="https://github.com/bitcoin/bitcoin/issues/35182">#35182</a>. IMO it&#8217;s getting very close and it would be great if we can get it in early in the release cycle.
<strong>fjahr</strong>: That&#8217;s it.
<strong>stickies-v</strong>: Anything else to discuss?
<strong>sedited</strong>: Might talk about <a href="https://github.com/bitcoin/bitcoin/issues/35465">#35465</a>?
<strong>darosior</strong>: I don&#8217;t think compacting is particularly important in the first place, so take my nit with a grain of salt, but using assumevalid instead of minchainwork means that people actually validating the historical chain won&#8217;t benefit from the compaction?
<strong>instagibbs</strong>: that was my concern too
<strong>darosior</strong>: From a quick skim through the commits, it seems that this check would never be true for people running with -assumevalid=0 <a href="https://github.com/bitcoin/bitcoin/pull/35465/changes/dbf076273476d121a6d04c8a05dfcc5492e68b98#diff-97c3a52bc5fad452d82670a7fd291800bae20c7bc35bb82686c2c0a4ea7b5b98R3418">https://github.com/bitcoin/bitcoin/pull/35465/changes/dbf076273476d121a6d04c8a05dfcc5492e68b98#diff-97c3a52bc5fad452d82670a7fd291800bae20c7bc35bb82686c2c0a4ea7b5b98R3418</a>
<strong>l0rinc_</strong>: the compaction doesn&#8217;t necessarily result in a measurable speedup - except maybe smaller files, so a few more can fit into the OS memory. But without compaction (especially on HDD) we were about ~15% faster
<strong>sipa</strong>: hi
<strong>l0rinc_</strong>: &#8220;it seems that this check would never be true for people running with -assumevalid=0&#8221; - good point, it&#8217;s why originally this was triggered by getting out of IBD mode. I&#8217;ll find something, thanks for the hint.
<strong>stickies-v</strong>: looks like we&#8217;re done here? thanks for the conversation, folks
<strong>l0rinc_</strong>: I want to avoid on events that can happen multiple times, e.g. when someone starts their node weekly - we don&#8217;t want every one of these resulting in a compaction</code></pre><p>Read here for the <a href="https://achow101.com/ircmeetings/2026/bitcoin-core-dev.2026-06-04_16_00.log.html">full meeting</a></p><div><hr></div><h4><strong>Releases</strong></h4><ul><li><p>No releases this week</p></li></ul><div><hr></div><blockquote><p>Thank you for reading. Be sure to tune in again next week for your updates on Bitcoin Core!</p></blockquote><p><em>If there are any comments, suggestions, or errors, do not hesitate to reach out or comment</em></p><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://insider.btcpp.dev/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe&quot;,&quot;language&quot;:&quot;en&quot;}" data-component-name="SubscribeWidgetToDOM"><div class="subscription-widget show-subscribe"><div class="preamble"><p class="cta-caption">bitcoin++'s Insider Edition is a reader-supported publication. To receive new posts and support my work, consider becoming a free or paid subscriber.</p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div>]]></content:encoded></item><item><title><![CDATA[Economics Edition — Last Week in Bitcoin (May 25 - 31)]]></title><description><![CDATA[Hi Insiders.]]></description><link>https://insider.btcpp.dev/p/economics-edition-last-week-in-bitcoin</link><guid isPermaLink="false">https://insider.btcpp.dev/p/economics-edition-last-week-in-bitcoin</guid><dc:creator><![CDATA[Tuma (I WILL NEVER DM YOU)]]></dc:creator><pubDate>Mon, 01 Jun 2026 14:03:30 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!W0Zk!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc60f852b-bb48-4a7f-aa06-8460ab4aa3e5_1600x900.jpeg" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p><em>Hi Insiders. This is Tuma, open-source reporter from the Insider Edition.</em></p><p><em>In this week update we feature the most interesting things happened during Bitcoin++ Economic Edition in Vienna, where devs met to discuss how economic incentives can shape the future of Bitcoin.</em></p><p><em>We also cover some other interesting news from the Bitcoin ecosystem. Notably, Cashu going on-chain, two vulnerabilities found in Joinmarket-ng, and a new proposal for a novel L2 on top of Bitcoin are discussed.</em></p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!W0Zk!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc60f852b-bb48-4a7f-aa06-8460ab4aa3e5_1600x900.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!W0Zk!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc60f852b-bb48-4a7f-aa06-8460ab4aa3e5_1600x900.jpeg 424w, https://substackcdn.com/image/fetch/$s_!W0Zk!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc60f852b-bb48-4a7f-aa06-8460ab4aa3e5_1600x900.jpeg 848w, https://substackcdn.com/image/fetch/$s_!W0Zk!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc60f852b-bb48-4a7f-aa06-8460ab4aa3e5_1600x900.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!W0Zk!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc60f852b-bb48-4a7f-aa06-8460ab4aa3e5_1600x900.jpeg 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!W0Zk!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc60f852b-bb48-4a7f-aa06-8460ab4aa3e5_1600x900.jpeg" width="1456" height="819" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/c60f852b-bb48-4a7f-aa06-8460ab4aa3e5_1600x900.jpeg&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:819,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:347184,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/jpeg&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:true,&quot;internalRedirect&quot;:&quot;https://insider.btcpp.dev/i/200115328?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc60f852b-bb48-4a7f-aa06-8460ab4aa3e5_1600x900.jpeg&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!W0Zk!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc60f852b-bb48-4a7f-aa06-8460ab4aa3e5_1600x900.jpeg 424w, https://substackcdn.com/image/fetch/$s_!W0Zk!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc60f852b-bb48-4a7f-aa06-8460ab4aa3e5_1600x900.jpeg 848w, https://substackcdn.com/image/fetch/$s_!W0Zk!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc60f852b-bb48-4a7f-aa06-8460ab4aa3e5_1600x900.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!W0Zk!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc60f852b-bb48-4a7f-aa06-8460ab4aa3e5_1600x900.jpeg 1456w" sizes="100vw" fetchpriority="high"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><div><hr></div><h2><strong>Highlights from Bitcoin++ &#8212; Economic Edition</strong></h2><p><em>I spent last week at Bitcoin++ Economic Edition in Vienna. Here is what caught my eye</em>:</p><ul><li><p><a href="https://x.com/knutsvanholm">Knut Svanholm</a> invited developers to ask themselves a simple question when proposing a change to Bitcoin: &#8220;Does this make Bitcoin better money?&#8221;</p></li><li><p><a href="https://x.com/matthewvuk2">Matthew Vuk</a> from Second leveraged the Austrian Economics framework to support the thesis that covenants do make Bitcoin better money.</p></li><li><p><a href="https://x.com/renepickhardt">Rene Pickhardt</a> discussed how Ark and Lightning Network are not competing protocols, but are actually highly complementary. Ark could be the protocol to address some of the limitations of Lightning.</p></li><li><p><a href="https://x.com/HubertusVIE">Hubertus</a> from Bitcredit Protocol made the case for creating a credit system based on bills of exchange on top of Bitcoin, to push it from a volatile asset to a stable monetary system. He also briefly discussed their new ecash implementation, which is said to be non-custodial, which will be open-sourced in the next months.</p></li><li><p><a href="https://x.com/TheBlueMatt">Matt Corallo</a> explained which could be the economic incentives in Bitcoin once a Cryptographically Relevant Quantum Computer (CRQC) becomes a reality and the market response to the different proposals on the table.</p></li><li><p><a href="https://x.com/rusty_twit">Rusty Russell</a> discussed his new venture, called <a href="https://github.com/rustyrussell/centurymetadata">Century Metadata</a>, which aims to provide a simple solution to store and serve a small amount of encrypted data for 100 years or more. No, those data will not be stored on the Bitcoin chain.</p></li><li><p><a href="https://jumble.social/users/npub1klkk3vrzme455yh9rl2jshq7rc8dpegj3ndf82c3ks2sk40dxt7qulx3vt">Max Hillebrand</a> gave a talk about &#8220;The Praxeology of Privacy&#8221;, based on his recent effort to bridge the Austrian economics theory and the cypherpunk world.</p></li><li><p><a href="https://x.com/lukedewolf">Luke de Wolf</a> presented an approach to understand Bitcoin as critical infrastructure and outlines a cybersecurity-based framework to defend it.</p></li></ul><p><em>The recorded event will be broadcast starting Thursday, June 4th, at 5pm UTC on <a href="https://www.youtube.com/live/-u4Xk7omoTA">YouTube</a>! Don&#8217;t miss it!</em></p><div><hr></div><h2>A BIPs Update</h2><p><em>There was no newsworthy update in the last days in the <a href="https://github.com/bitcoin/bips">BIP repository</a>. We&#8217;ll provide new updates as soon as a new BIP gets published or gets assigned a number.</em></p><div><hr></div><h2>Other News from the Bitcoin World</h2><ul><li><p><strong>Cashu goes on-chain</strong>: Last week, Cashu contributors merged a new NUT specification, <a href="https://github.com/cashubtc/nuts/blob/main/30.md">NUT-30</a>, which defines how to mint and melt ecash tokens through an on-chain payment. The new spec has been already implemented both in <a href="https://github.com/cashubtc/cdk/pull/1870">CDK</a> and <a href="https://github.com/cashubtc/cashu-ts/pull/633">cashu-ts</a>.</p></li><li><p><strong>New vulnerabilities</strong>: Developer <a href="http://floppy.md">floppy.md</a> <a href="https://x.com/1440000bytes/status/2061068407047675991?s=20">published</a> a new audit report on <a href="https://github.com/joinmarket-ng/joinmarket-ng">Joinmarket-ng</a>, a novel implementation of the JoinMarket CoinJoin protocol. Notably, he reported two vulnerabilities, one linked to failure to verify identity of a bondholder and a potential DOS vector around networking slots for !hp2 messages, which would prevent other nodes from hearing about invalid PoDLEs. Both vulnerabilities were fixed.</p></li><li><p><strong>A new L2?</strong>: Burak <a href="https://medium.com/cube-bitcoin/introducing-cube-8b3702e470a5">presented</a> a new design for an L2 protocol on top of Bitcoin, called Cube. By combining Ark-style unilateral exit and BitVM, Cube aims to provide trustless smart contract execution, ensuring users always keep total control over their funds.</p></li></ul><div><hr></div><p><em>Looking for an opportunity to join up with some bitcoin devs in person? Join us in <a href="https://btcplusplus.dev/nairobi">Nairobi</a> this June 17- 19 to talk about working in public in open-source!</em></p>]]></content:encoded></item><item><title><![CDATA[This Week in Bitcoin Core #45]]></title><description><![CDATA[This week Bitcoin developers are working as normal...]]></description><link>https://insider.btcpp.dev/p/this-week-in-bitcoin-core-45</link><guid isPermaLink="false">https://insider.btcpp.dev/p/this-week-in-bitcoin-core-45</guid><dc:creator><![CDATA[kevkevin]]></dc:creator><pubDate>Fri, 29 May 2026 14:02:30 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!MJw8!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1cee73e5-1dd4-4081-a559-6f40592a5154_1456x816.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>Hello &#128075; folks, I&#8217;m kevkevin. I&#8217;m an open-source developer and reporter for Insider Edition. Last week, I reviewed several pull requests from the <a href="https://github.com/bitcoin/bitcoin/pulls">Bitcoin Core</a> repo.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!MJw8!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1cee73e5-1dd4-4081-a559-6f40592a5154_1456x816.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!MJw8!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1cee73e5-1dd4-4081-a559-6f40592a5154_1456x816.png 424w, https://substackcdn.com/image/fetch/$s_!MJw8!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1cee73e5-1dd4-4081-a559-6f40592a5154_1456x816.png 848w, https://substackcdn.com/image/fetch/$s_!MJw8!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1cee73e5-1dd4-4081-a559-6f40592a5154_1456x816.png 1272w, https://substackcdn.com/image/fetch/$s_!MJw8!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1cee73e5-1dd4-4081-a559-6f40592a5154_1456x816.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!MJw8!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1cee73e5-1dd4-4081-a559-6f40592a5154_1456x816.png" width="1456" height="816" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/1cee73e5-1dd4-4081-a559-6f40592a5154_1456x816.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:816,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:true,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!MJw8!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1cee73e5-1dd4-4081-a559-6f40592a5154_1456x816.png 424w, https://substackcdn.com/image/fetch/$s_!MJw8!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1cee73e5-1dd4-4081-a559-6f40592a5154_1456x816.png 848w, https://substackcdn.com/image/fetch/$s_!MJw8!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1cee73e5-1dd4-4081-a559-6f40592a5154_1456x816.png 1272w, https://substackcdn.com/image/fetch/$s_!MJw8!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1cee73e5-1dd4-4081-a559-6f40592a5154_1456x816.png 1456w" sizes="100vw" fetchpriority="high"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><h4><strong>Merged PR&#8217;s</strong></h4><h5><strong>Every week, several changes are officially added to Bitcoin Core. This week, </strong>25 <strong>changes were merged. Here are some I found interesting this week.</strong></h5><ul><li><p><strong><a href="https://github.com/bitcoin/bitcoin/pull/33966">refactor: disentangle miner startup defaults from runtime options</a> </strong>by<strong> <a href="https://github.com/Sjors">Sjors</a><br></strong>Sjors isolates the miner&#8217;s initial startup configuration from its ongoing runtime options.</p><ul><li><p><strong>The Issue:</strong> The block template builder was heavily tangled up with global node state. This made writing clean tests or reasoning about the code a pain.</p></li><li><p><strong>The Fix:</strong> Pulls those startup defaults out into an independent structure so it can be tested in isolation.</p></li><li><p><strong>The Big Picture:</strong> This is the structural groundwork for the <strong>Multiprocess (IPC)</strong> mining interface. By separating these options, a standalone mining process will eventually be able to run cleanly on its own without needing to read deep into <code>bitcoind</code>&#8216;s internal memory state.</p></li></ul></li><li><p><strong><a href="https://github.com/bitcoin/bitcoin/pull/28333">wallet: Construct ScriptPubKeyMans with all data rather than loaded progressively</a> </strong>by<strong> <a href="https://github.com/achow101">achow101</a><br></strong>In this PR, Ava Chow tackles critical technical debt by explicitly documenting and enforcing the threading and locking rules for the validation interface. This interface handles notifications like blocks connecting, disconnecting, or transactions entering the mempool but previously its concurrency requirements were ambiguous, leaving the door open for potential data races or deadlocks. <br><br>By formalizing these thread safety guarantees and adding strict assertions directly into the code, this update prevents future developers from introducing subtle concurrency bugs. It is a stability and code-quality improvement, making sure the node&#8217;s background notification system remains robust as Core continues to move toward a more modular architecture.</p></li></ul><h5><strong>There are always changes being updated and reviewed in real-time. Here are some notable PR&#8217;s that are still up and looking for reviews.</strong></h5><ul><li><p><strong><a href="https://github.com/bitcoin/bitcoin/pull/25665">refactor: Add util::Result failure types and ability to merge result values</a> </strong>by<strong> <a href="https://github.com/ryanofsky">ryanofsky</a></strong></p><blockquote><p>Add `util::Result` support for returning more error information and make use of it in <a href="https://github.com/bitcoin/bitcoin/pull/25665/commits/d0d2535cac193a448395fbb1d32df072b2e491a3">LoadChainstate</a> method as an initial application. Followup PRs <a href="https://github.com/bitcoin/bitcoin/pull/25722">#25722</a> and <a href="https://github.com/bitcoin/bitcoin/pull/29700">#29700</a> use it more broadly to return errors and warnings from wallet and kernel functions as well..</p></blockquote></li></ul><div><hr></div><h4><strong>IRC meeting notes</strong></h4><h5><strong>Every week on Thursday, there is an IRC meeting. Here are some short notes from that meeting.</strong></h5><pre><code>stickies-v: #topic Fuzzing WG Update (dergoegge)
dergoegge: no update</code></pre><pre><code><strong>stickies-v: #topic Kernel WG Update (sedited)
sedited: Some review activity happening on #32427 again, and looking for more.
sedited: I rebased my branch for splitting the mempool/policy code from validation (and thus from the kernel library): https://github.com/sedited/bitcoin/tree/mempoolout_rebase
sedited: Still not happy with the code for the split though, the interface for accesing back into the mempool and grabing its locks is very clunky.
stickies-v: nice, will get back to reviewing 32427 asap, would be a nice improvement for kernel
sedited: not sure how interested people are in this split in the first place. The code-organizational benefits are kind of nice, but beyond that the utility for the Bitcoin Core software are a bit questionable.
darosior: "Mempool eviction? -Yes but the one you are thinking about"
darosior: not*
sedited: indeed :)
darosior: If it's a win for the Kernel library, and Bitcoin Core is no worse off, that seems fine?
stickies-v: yeah i think it's a pretty big improvement for kernel users
sedited: I might open it as a RFC PR , keeping it rebased is a challenge, but it's also kind of nice to ensure on a regular basis that such a split is possible in the first place.
stickies-v: an RFC issue might make more sense?
sedited: not sure, I think most would agree that it is a good thing on the face of it, so I more think it's the refactoring price that needs to be gauged here.
stickies-v: linking a branch from an issue seems fine, but then at least you're not wasting time rebasing / addressing nits
stickies-v: anyway
stickies-v: anything else here?
sedited: that's all</strong></code></pre><pre><code><strong>stickies-v: #topic Benchmarking WG Update (l0rinc, andrewtoth)
andrewtoth_: l0rinc is out but he said he is working on an automated compaction PR
andrewtoth_: I relayed darosior's idea to use minimum chain work as a trigger
andrewtoth_: I also have come around to thinking a ~weekly automated compaction would be good
sedited: what would be wrong with just repeatedly checking isibd?
andrewtoth_: that would trigger every startup too, which would not be ideal
sipa: andrewtoth_: 1 week worth of blocks is mayhe 2 GB of block data, a full rewrite every week would add a multiple of that
sipa: or do we necessarily already have much morr
andrewtoth_: sipa: the chainstate adds &lt; 200MB a week to the db if uncompacted
andrewtoth_: err I'm not sure how you mean block data to be relevant here?
sipa: yeah, i'm just trying to gauge how much a weekly full rewrite of the chainstate would add in terms of disk activity
darosior: For disk IO i think?
andrewtoth_: I think today it will be like 10-15 GB of write IO per full compaction
sipa: yes, which is a multiple of what i expect we'd do without
Murch[m]: Why once per week rather than say, once per month?
andrewtoth_: we can definitely bikeshed on how often to do it. could be monthly
stickies-v: what about thriweekly
sipa: rewrite at the end of IBD, once, is more impactful i think
darosior: stickies-v: hah
sipa: stickies-v: whenever the last block hash ends in 12 zero bits
sedited: ^^
andrewtoth_: yes agreed end of IBD is important. but, saving users an extra 11% for a full compaction every so often seems worth it?
Murch[m]: sipa: Probably better if not everyone does it at the same height
b10c: murch: agree
darosior: Once a month seems fine, and then no need to do it at the end of IBD
sipa: yeah, sorry, i didn't mean to start a bikeshed here... i'm just not very convinced doing it regularly adds much, and probably adds a relatively large amount of disk activity still
sipa: Murch[m]: absolutely, it was a joke :)
andrewtoth_: i think post-IBD alone is important, since a user might shut off and never keep it running for a whole month after that
Murch[m]: E.g., do it once after IBD finishes, then schedule it for a random height 3500&#8211;5000 blocks later again
Murch[m]: Would probably be bad if all nodes did it at the same height
andrewtoth_: Murch: I think that's nearly the approach l0rinc is taking now
darosior: andrewtoth_: you would advise doing both? I was hoping for either or
Murch[m]: From reading the topic last week, my impression was that the db is bloated by several GB at the end of a full IBD
Murch[m]: So, tracking that you started a new IBD and doing it once when you have caught up to the chaintip sounds pretty useful?
andrewtoth_: i was thinking both, yes...
darosior: If we do it once at the end of IBD, how much do you expect it would help to do it regularly on top? Like if it's done once around block 950k, how much disk space would doing it around block 1M would really save?
andrewtoth_: if I had to choose one, it would be post-IBD
andrewtoth_: 11% of disk space
andrewtoth_: we save ~30% doing it immediately after IBD, then it's a slow creep up to 11% total
andrewtoth_: a periodic compaction will trim that 11%
Murch[m]: and then ~200 MB per week, roughly?
andrewtoth_: Murch: up until 11%, it gets capped
darosior: Ok. No opinion here. I don't think it matters much either way.
andrewtoth_: I feel like post-IBD can be the initial change, then we can bikeshed more on periodic compaction.
Murch[m]: Well, every week seems a bit aggressive, but either way it would be a huge improvement over doing it every hour
andrewtoth_: ok, thanks for the feedback everyone
andrewtoth_: otherwise, got some great review on #35295, thanks! will address that soon
andrewtoth_: that's it from me</strong></code></pre><pre><code><strong>stickies-v</strong>: <strong>#topic Libevent removal (pinheadmz, fjahr)</strong>
<strong>pinheadmz</strong>: <a href="https://github.com/bitcoin/bitcoin/issues/35182">#35182</a> is real close. addresed some nits yesterday and restarted integration testing. already have a few small follow-ups in the queue.
<strong>pinheadmz</strong>: And libevent removal from client was merged yay
<strong>pinheadmz</strong>: Hoping to merge with enough time before release to find anything wrong
<strong>pinheadmz</strong>: All from me</code></pre><pre><code><strong>stickies-v</strong>: <strong>#topic QML GUI WG Update (johnny9dev)</strong>
<strong>johnny9dev</strong>: We continue to be on track for our &#8220;Preview&#8221; unsigned builds in June . The related work for that can be found at  <a href="https://github.com/orgs/bitcoin-core/projects/1/views/2">https://github.com/orgs/bitcoin-core/projects/1/views/2</a> and I updated it this morning so it is accurate. We have wallet updates from pseudoramdom and epicleafies and node error dialogs and block status updates from me in review. Afterwards the high runners are updating the project to v31 and validating the settings and
<strong>johnny9dev</strong>: onboarding is compatible with bitcoin-qt installs.
<strong>johnny9dev</strong>: That&#8217;s all from me
<strong>stickies-v</strong>: alright, thanks for the updates everyone
<strong>stickies-v</strong>: anything else to discuss?
<strong>abubakarsadiq</strong>: novo asked me to relay silent payments update
<strong>instagibbs</strong>: IIUC point release for 31.x is held up on <a href="https://github.com/bitcoin/bitcoin/issues/35319">#35319</a>, so let&#8217;s try and get that done?
<strong>abubakarsadiq</strong>: <a href="https://github.com/bitcoin-core/secp256k1/pull/1765">https://github.com/bitcoin-core/secp256k1/pull/1765</a> has to be merged before we can merge silent payments on Core, but reviews are welcome on <a href="https://github.com/bitcoin/bitcoin/pull/35301">https://github.com/bitcoin/bitcoin/pull/35301</a> and <a href="https://github.com/bitcoin/bitcoin/pull/35302.">https://github.com/bitcoin/bitcoin/pull/35302.</a>
<strong>stickies-v</strong>: yeah good shout out instagibbs
<strong>Murch[m]</strong>: One follow-up to the compaction: if the mechanism is to schedule it for specific heights, you could schedule the first compaction for a height slightly after the chaintip of the best header chain once the node has acquired one, but delay the compaction until we are no longer in IBD.
<strong>Murch[m]</strong>: Or maybe just scheduling it for the regular ~x thousand block interval but waiting until you are no longer in IBD would be enough to do one after IBD
<strong>eugenesiegel</strong>: I tried making a functional test that built on top of p2p_private_broadcast.py, but it did not go well. I had issues with the Socks5 proxy and reconnection code, hopefully vasild has a better approach
<strong>instagibbs</strong>: vasild any ETA on your version of the test, even with cleanups TODO
<strong>andrewtoth_</strong>: Murch: we need to make sure we only trigger it one time, so using a gauge like previous work was &lt; minimum now work is &gt; minimum could work for that
<strong>andrewtoth_</strong>: otherwise it will trigger every startup
<strong>stickies-v</strong>: will wrap up the meeting here, but conversations can of course continue</code></pre><p>Read here for the <a href="https://achow101.com/ircmeetings/2026/bitcoin-core-dev.2026-05-28_16_00.log.html">full meeting</a></p><div><hr></div><h4><strong>Releases</strong></h4><ul><li><p>No releases this week</p></li></ul><div><hr></div><blockquote><p>Thank you for reading. Be sure to tune in again next week for your updates on Bitcoin Core!</p></blockquote><p><em>If there are any comments, suggestions, or errors, do not hesitate to reach out or comment</em></p><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://insider.btcpp.dev/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe&quot;,&quot;language&quot;:&quot;en&quot;}" data-component-name="SubscribeWidgetToDOM"><div class="subscription-widget show-subscribe"><div class="preamble"><p class="cta-caption">bitcoin++'s Insider Edition is a reader-supported publication. To receive new posts and support my work, consider becoming a free or paid subscriber.</p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div>]]></content:encoded></item><item><title><![CDATA[Consensus Cleanup is Complete — Last Week in Bitcoin (May 18 - 24)]]></title><description><![CDATA[Hi Insiders.]]></description><link>https://insider.btcpp.dev/p/consensus-cleanup-is-complete-last</link><guid isPermaLink="false">https://insider.btcpp.dev/p/consensus-cleanup-is-complete-last</guid><dc:creator><![CDATA[Tuma (I WILL NEVER DM YOU)]]></dc:creator><pubDate>Mon, 25 May 2026 14:03:03 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!ti96!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbac93263-8ebb-43f1-83d1-0cdc5f976e59_1600x900.jpeg" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p><em>Hi Insiders. This is Tuma, open-source reporter from the Insider Edition.</em></p><p><em>In this week update we feature an upgrade in the Fedimint-based wallet, Ecash App, introducing NFC support for better payment UX.</em></p><p><em>We also cover the recent effort from Stratum V2 maintainers to publish the new UI dashboard, sv2-ui, to the Umbrel app store, for a smoother self-hosting experience.</em></p><p><em>We finally cover two recent BIPs being published, namely BIP449 and BIP450, the recent move to </em><code>Complete</code><em> status for BIP54, and the latest release from Sparrow Wallet integrating silent payments.</em></p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!ti96!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbac93263-8ebb-43f1-83d1-0cdc5f976e59_1600x900.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!ti96!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbac93263-8ebb-43f1-83d1-0cdc5f976e59_1600x900.jpeg 424w, https://substackcdn.com/image/fetch/$s_!ti96!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbac93263-8ebb-43f1-83d1-0cdc5f976e59_1600x900.jpeg 848w, https://substackcdn.com/image/fetch/$s_!ti96!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbac93263-8ebb-43f1-83d1-0cdc5f976e59_1600x900.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!ti96!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbac93263-8ebb-43f1-83d1-0cdc5f976e59_1600x900.jpeg 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!ti96!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbac93263-8ebb-43f1-83d1-0cdc5f976e59_1600x900.jpeg" width="1456" height="819" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/bac93263-8ebb-43f1-83d1-0cdc5f976e59_1600x900.jpeg&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:819,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:347184,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/jpeg&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:true,&quot;internalRedirect&quot;:&quot;https://insider.btcpp.dev/i/199166943?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbac93263-8ebb-43f1-83d1-0cdc5f976e59_1600x900.jpeg&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!ti96!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbac93263-8ebb-43f1-83d1-0cdc5f976e59_1600x900.jpeg 424w, https://substackcdn.com/image/fetch/$s_!ti96!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbac93263-8ebb-43f1-83d1-0cdc5f976e59_1600x900.jpeg 848w, https://substackcdn.com/image/fetch/$s_!ti96!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbac93263-8ebb-43f1-83d1-0cdc5f976e59_1600x900.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!ti96!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbac93263-8ebb-43f1-83d1-0cdc5f976e59_1600x900.jpeg 1456w" sizes="100vw" fetchpriority="high"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><div><hr></div><h2><strong>Highlights from the bitcoin developer ecosystem</strong></h2><p><em>I spent 10+ hours in open-source developer calls in the Bitcoin ecosystem last week. Here is what caught my eye</em>:</p><ul><li><p><a href="https://github.com/fedimint/ecash-app/pull/447">PR447</a> in the Ecash App added support for NFC payments.</p><ul><li><p>During the weekly call, on Monday 18th, Fedimint developers discussed the ongoing work on Ecash App, the Fedimint-based wallet. In particular, they announced the recent merging of PR447, which introduces NFC support.</p></li><li><p>Specifically, PR447 adds support for receiving and transmitting Lightning invoices through NFC, allowing a user to pick up the invoice by simply &#8220;tapping&#8221; the device that generated it.</p></li><li><p><strong>What is cool about the tech</strong>: NFC support improves the user experience for payments, following the footsteps of other projects in the ecosystem, such as <a href="https://open.substack.com/pub/btcpp/p/the-apple-pay-experience-comes-to?r=2c4bjq&amp;selection=a035b1ad-aa51-4e5e-b187-f01f800122d4&amp;utm_campaign=post-share-selection&amp;utm_medium=web&amp;aspectRatio=instagram&amp;textColor=%23ffffff&amp;bgImage=true">Numo</a>, in providing a familiar feel with everyday fiat payments.</p></li></ul></li><li><p><a href="https://github.com/stratum-mining/sv2-ui/issues/80">IS80</a> in sv2-ui is keeping track of the work needed to publish the mining dashboard as an Umbrel app.</p><ul><li><p>During the weekly call, on Tuesday 19th, Stratum V2 contributors discussed the ongoing effort to publish the new mining dashboard to the Umbrel app store. There are still active issues to be addressed before publishing, but the app is already undergoing a first round of testing.</p></li><li><p>sv2-ui is a sef-hostable dashboard that provides real-time statistics on miners, like connection status, total hashrate from connected miners, and shares sent to pools.</p></li><li><p><strong>What is cool about the tech</strong>: Publishing the dashboard as an application on UmbrelOS would allow user to one-click deploy it, allowing for a smoother self-hosting experience.</p></li></ul></li></ul><div><hr></div><h2>A BIPs Update</h2><p><em>In the last days there was some movement in the <a href="https://github.com/bitcoin/bips">BIP repository</a>. Specifically, two new BIP have been published by BIP maintainer <a href="https://github.com/murchandamus">Murchandamus</a>.</em></p><h3>Published BIPs</h3><p><em>A list of recently published BIPs</em></p><h4>BIP450: Formosa &#8212; Seed encoding by themed mnemonic stories</h4><p><strong>Authors</strong>: <a href="https://github.com/Yuri-SVB">Yuri S. Villas Boas</a>, Andr&#233; Fidencio Gon&#231;alves</p><p><strong>Published On</strong>: May 20th, 2026</p><p><strong>Layer</strong>: Applications</p><p><a href="https://github.com/bitcoin/bips/blob/master/bip-0450.mediawiki">BIP450</a> describes Formosa, an expansion of <a href="https://github.com/bitcoin/bips/blob/master/bip-0039.mediawiki">BIP39</a>. This proposal introduces the possibility to encode a seed using short themed sentences (e.g., subject, verb, adjective, object, place), which carry grammatical structure and semantic coherence with the aim to improve memorability for the human mind. This BIP is fully back-compatible with BIP39.</p><h4><strong>BIP449: OP_TWEAKADD &#8212; x</strong>-only key tweak addition</h4><p><strong>Authors</strong>: <a href="https://github.com/JeremyRubin">Jeremy Rubin</a></p><p><strong>Assigned Date</strong>: May 23rd, 2026</p><p><strong>Layer</strong>: Consensus (Soft Fork)</p><p><a href="https://github.com/bitcoin/bips/blob/master/bip-0449.md">BIP449</a> proposes a new tapscript opcode, called <code>OP_TWEAKADD</code> , which would provide a simple and verifiable way to modify a public key inside a script without revealing private keys or relying on hash locks. While Bitcoin already allows this type of &#8220;tweaking&#8221;, Rubin&#8217;s idea is to make this available at the consensus level. This would enable some interesting features, such as script-level key evolution without full signature verification, spending conditions, and covenant-like constructions.</p><div><hr></div><h2>Other News from the Bitcoin World</h2><ul><li><p><strong>BIP54 is complete</strong>: Antoine Poinsot <a href="https://x.com/darosior/status/2057897594047647791?s=20">announced</a> on X that the PR to move status from <code>Draft</code> to <code>Complete</code> for BIP54 &#8212; Consensus Cleanup &#8212; had been merged. BIP3 states that a BIP can move to <code>Complete</code> status &#8220;when the authors have concluded all planned work on their proposal, are confident that their BIP represents a net improvement, is clear, comprehensive, and is ready for adoption by the Bitcoin community&#8221;. Some miners are already mining BIP54-compatible blocks, but we are still far from discussing the deployment of this soft fork.</p></li><li><p><strong>Silent Sparrow</strong>: Sparrow Wallet <a href="https://x.com/SparrowWallet/status/2057417425801351433?s=20">announced</a> their latest release, v2.5.0. Thus release integrates <a href="https://bitcoinops.org/en/topics/silent-payments/">silent payments</a>, allowing users to launch a new receiving wallet.</p></li></ul><div><hr></div><p><em>Looking for an opportunity to join up with some bitcoin devs in person? Join us in <a href="https://btcplusplus.dev/conf/vienna">Vienna</a> this May 27- 28 to talk about Austrian Economics!</em></p>]]></content:encoded></item><item><title><![CDATA[Coredev mentioned in IRC - This Week in Bitcoin Core #44]]></title><description><![CDATA[This week inside Bitcoin Core the devs come back from vacation somewhere unknown]]></description><link>https://insider.btcpp.dev/p/coredev-mentioned-in-irc-this-week</link><guid isPermaLink="false">https://insider.btcpp.dev/p/coredev-mentioned-in-irc-this-week</guid><dc:creator><![CDATA[kevkevin]]></dc:creator><pubDate>Fri, 22 May 2026 14:02:59 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!MJw8!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1cee73e5-1dd4-4081-a559-6f40592a5154_1456x816.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>Hello &#128075; folks, I&#8217;m kevkevin. I&#8217;m an open-source developer and reporter for Insider Edition. Last week, I reviewed several pull requests from the <a href="https://github.com/bitcoin/bitcoin/pulls">Bitcoin Core</a> repo.<br><br>This week in the weekly IRC meeting, CoreDev was mentioned a few times. There must have been some good conversation there. Be sure to read the IRC logs at the end to learn more.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!MJw8!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1cee73e5-1dd4-4081-a559-6f40592a5154_1456x816.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!MJw8!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1cee73e5-1dd4-4081-a559-6f40592a5154_1456x816.png 424w, https://substackcdn.com/image/fetch/$s_!MJw8!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1cee73e5-1dd4-4081-a559-6f40592a5154_1456x816.png 848w, https://substackcdn.com/image/fetch/$s_!MJw8!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1cee73e5-1dd4-4081-a559-6f40592a5154_1456x816.png 1272w, https://substackcdn.com/image/fetch/$s_!MJw8!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1cee73e5-1dd4-4081-a559-6f40592a5154_1456x816.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!MJw8!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1cee73e5-1dd4-4081-a559-6f40592a5154_1456x816.png" width="1456" height="816" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/1cee73e5-1dd4-4081-a559-6f40592a5154_1456x816.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:816,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:true,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!MJw8!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1cee73e5-1dd4-4081-a559-6f40592a5154_1456x816.png 424w, https://substackcdn.com/image/fetch/$s_!MJw8!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1cee73e5-1dd4-4081-a559-6f40592a5154_1456x816.png 848w, https://substackcdn.com/image/fetch/$s_!MJw8!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1cee73e5-1dd4-4081-a559-6f40592a5154_1456x816.png 1272w, https://substackcdn.com/image/fetch/$s_!MJw8!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1cee73e5-1dd4-4081-a559-6f40592a5154_1456x816.png 1456w" sizes="100vw" fetchpriority="high"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><h4><strong>Merged PR&#8217;s</strong></h4><h5><strong>Every week, several changes are officially added to Bitcoin Core. This week, </strong>11 <strong>changes were merged. Here are some I found interesting this week.</strong></h5><ul><li><p><strong><a href="https://github.com/bitcoin/bitcoin/pull/34342">cli: Replace libevent usage with simple http client</a> </strong>by<strong> <a href="https://github.com/fjahr">fjahr</a><br></strong>As part of the effort to <a href="https://github.com/bitcoin/bitcoin/issues/31194">remove libevent</a> as a dependency altogether, Fabian Jahr authored this PR to replace the libevent usage with a simple HTTP client.<br><br>In his change, he replaces the libevent-based HTTP client with a simple synchronous implementation that uses the <code>Sock</code> class directly.</p></li><li><p><strong><a href="https://github.com/bitcoin/bitcoin/pull/34887">fuzz: target CDBWrapper</a> </strong>by<strong> <a href="https://github.com/andrewtoth">andrewtoth</a><br></strong>CDBWrapper abstracts the interaction between Bitcoin Core and its database, currently LevelDB but previously BerkeleyDB. There was no dedicated harness targeting CDBWrapper. Andrew Toth authored this fuzz-testing PR to add coverage for this wrapper.<br><br>Also, Toth noted that OSS-Fuzz has a harness for LevelDB, but it fails, so it appears not to be maintained. Adding a harness for it on Bitcoin Core will solve that issue for us.</p></li></ul><h5><strong>There are always changes being updated and reviewed in real-time. Here are some notable PR&#8217;s that are still up and looking for reviews.</strong></h5><ul><li><p><strong><a href="https://github.com/bitcoin/bitcoin/pull/25665">refactor: Add util::Result failure types and ability to merge result values</a> </strong>by<strong> <a href="https://github.com/ryanofsky">ryanofsky</a></strong></p><blockquote><p>Add `util::Result` support for returning more error information and make use of it in <a href="https://github.com/bitcoin/bitcoin/pull/25665/commits/d0d2535cac193a448395fbb1d32df072b2e491a3">LoadChainstate</a> method as an initial application. Followup PRs <a href="https://github.com/bitcoin/bitcoin/pull/25722">#25722</a> and <a href="https://github.com/bitcoin/bitcoin/pull/29700">#29700</a> use it more broadly to return errors and warnings from wallet and kernel functions as well..</p></blockquote></li></ul><div><hr></div><h4><strong>IRC meeting notes</strong></h4><h5><strong>Every week on Thursday, there is an IRC meeting. Here are some short notes from that meeting.</strong></h5><pre><code>stickies-v: #topic Fuzzing WG Update (dergoegge)
dergoegge: no update</code></pre><pre><code><strong>stickies-v</strong>: <strong>#topic Kernel WG Update (sedited)</strong>
<strong>sedited</strong>: released a new rust-bitcoinkernel version with hand-rolled bindings instead of the previous auto-generated ones (reducing our build-time dependencies).
<strong>sedited</strong>: Other than that, maybe stickies-v has something?
<strong>stickies-v</strong>: he doesn&#8217;t</code></pre><pre><code><strong>stickies-v</strong>: <strong>#topic Benchmarking WG Update (l0rinc, andrewtoth)</strong>
<strong>_andrewtoth_</strong>: A bug with leveldb has been reported <a href="https://github.com/bitcoin/bitcoin/issues/35298.">https://github.com/bitcoin/bitcoin/issues/35298.</a>
<strong>_andrewtoth_</strong>: A potential fix is in <a href="https://github.com/bitcoin-core/leveldb-subtree/pull/61.">https://github.com/bitcoin-core/leveldb-subtree/pull/61.</a>
<strong>_andrewtoth_</strong>: l0rinc also discovered the fix improves reindex-chainstate speed on HDDs by 17%.
<strong>_andrewtoth_</strong>: Downside is around 11% more disk usage measured from the peak of disk usage. Right now an IBD will be 12 GB, this PR increases to 15 GB. But for already synced nodes the increase in disk usage will be very gradual.
<strong>_andrewtoth_</strong>: Disk usage can be brought back down with a manual -forcecompactdb after sync, but I think we should just accept a little more disk usage on chainstate for not rewriting the entire db every hour.
<strong>_andrewtoth_</strong>: Any thoughts on this?
<strong>fanquake</strong>: Can you tldr the bug? My understanding is that we are thrashing peoples disks by continually re-writing (100s GB) chainstate?
<strong>Murch[m]</strong>: This significantly increases the minimum disk space necessary for a pruned node :-/_
<strong>Murch[m]</strong>: s/:-/_/:-/\/
<strong>stickies-v</strong>: also wdym 12GB IDB disk usage? that seems... low?
<strong>_andrewtoth_</strong>: Seek compaction is a mechanism that will compact files in leveldb due to lots of reads
<strong>Murch[m]</strong>: stickies-v: Just for the UTXO set
<strong>stickies-v</strong>: oh, i see. thx
<strong>_andrewtoth_</strong>: since we do few writes, but lots of reads, it causes all written files to be compacted down to the lowest level
<strong>_andrewtoth_</strong>: this was happening daily before v30, but v30 writes a small file every ~hour now
<strong>_andrewtoth_</strong>: it was still a bug doing it every day, but now it&#8217;s even worse
<strong>Murch[m]</strong>: Can the count of reads permitted before compaction be increased?
<strong>_andrewtoth_</strong>: the purpose of seek compaction was for old spinning disks that took 10ms to seek to a file
<strong>_andrewtoth_</strong>: Murch: possibly, was suggested by willclark
<strong>_andrewtoth_</strong>: another option is to make forcecompactdb an RPC, which can be called periodically
<strong>Murch[m]</strong>: Would it be possible to turn that feature off in general and just call it ~once per week?
<strong>_andrewtoth_</strong>: but for backports, we can suggest to users to run forcecompactdb after a full sync
<strong>_andrewtoth_</strong>: I don&#8217;t think it&#8217;s worth calling it once per week. The amount of new data written every week is &lt; 200MB or so. And that would rewrite the whole db every week.
<strong>_andrewtoth_</strong>: I think if users notice the increase in disk usage, they can call it then?
<strong>Murch[m]</strong>: I see, but it would gradually bloat the chainstate by about ~25% over time?
<strong>_andrewtoth_</strong>: 11% over time, from peak disk usage at that point
<strong>_andrewtoth_</strong>: peak usage of chainstate historically was, like 13.5 GB? so an IBD will be 11% more than that
<strong>_andrewtoth_</strong>: if you run today, you will have a compacted db, so it will be 11% more than today
<strong>Murch[m]</strong>: Ah, I see, that&#8217;s where the 15 GB comes from
<strong>sedited</strong>: Re-writing it once a week seems fine though?
<strong>dzxzg</strong>: what about enabling compaction for dbcache full flushes and disabling it for the interval flushes?
<strong>darosior</strong>: Tweaking this parameter in our LevelDB forks would only affect disk usage, not performance at all?
<strong>abubakarsadiq</strong>: &gt; but for backports, we can suggest to users to run forcecompactdb after a full sync
<strong>abubakarsadiq</strong>: Why can&#8217;t we automate this in the backport patch?
<strong>fjahr</strong>: How sure are we 11% is really the peak? I assume there were a few measurements so far but it could still be worse on some systems/circumstances we may be missing?
<strong>darosior</strong>: Could also just do it on startup if that&#8217;s easier than setting a timer?
<strong>_andrewtoth_</strong>: This issue in particular does not want it done at startup <a href="https://github.com/bitcoin/bitcoin/issues/29662">https://github.com/bitcoin/bitcoin/issues/29662</a>
<strong>_andrewtoth_</strong>: re: performance, there will be some more files in the db tree, but we have bloom filters for all of them so skipping is cheap
<strong>_andrewtoth_</strong>: sedited: I think not rewriting it is the intended operation of leveldb. If users care about 11% less disk space (which we have &gt;100x than chainstate in blocks dir), they can run the option?
<strong>_andrewtoth_</strong>: dzxzg: that would be dependent on the user&#8217;s dbcache setting as well
<strong>Murch[m]</strong>: Well, not rewriting 10 GB every hour seems like the most pressing aspect of this.
<strong>_andrewtoth_</strong>: it is my opinion that seek compaction is a bug and should just be removed
<strong>darosior</strong>: Doing what LevelDB considers normal operations and having a mechanism to optimize disk space (whatever it is) sounds good to me.
<strong>_andrewtoth_</strong>: abubakarsadiq: i don&#8217;t think we should automate it, I think we should just report to the users there may be higher disk space, and run forcecompactdb if desired
<strong>darosior</strong>: By mechanism giving the option to user, either as a startup option or an RPC command.
<strong>darosior</strong>: By mechanism i mean*
<strong>_andrewtoth_</strong>: The startup option is already there, but I think RPC is more ideal
<strong>_andrewtoth_</strong>: but, for backports the startup option is fine
<strong>Murch[m]</strong>: If there is already a startup option, an RPC shouldn&#8217;t be a too heavy lift, I take it
<strong>_andrewtoth_</strong>: Murch: yes, I believe l0rinc is already working on that
<strong>_andrewtoth_</strong>: fjahr: there are measurements in the PR, and a more lengthy explanation
<strong>abubakarsadiq</strong>: _andrewtoth_: My question was why? Specifically, I assume everyone is going to desire more disk space; is there an implication of doing so that we want users to opt into or not?
<strong>Murch[m]</strong>: Interesting issue. Your mitigation approach sgtm then
<strong>_andrewtoth_</strong>: I don&#8217;t think it can get worse, but more eyes would be good
<strong>Murch[m]</strong>: abubakarsadiq: My understanding is that users are worried about the increased writes exhausting their SSDs&#8217; limited write capability
<strong>_andrewtoth_</strong>: abubakarsadiq: the trade off is more disk IO. It will rewrite 10s of GBs each time. It will really only save 3GB if you did a fresh IBD. Otherwise, you will be rewriting everything for not much savings.
<strong>dzxzg</strong>: esp. for pruned nodes: i assume that if people are running with prune=650  they might care
<strong>Murch[m]</strong>: _andrewtoth_: Maybe one automatic compaction at the end of IBD would make sense
<strong>stickies-v</strong>: yeah one after IBD seems like a sane default?
<strong>stickies-v</strong>: would prefer not adding an rpc for this if we can avoid it
<strong>abubakarsadiq</strong>: _andrewtoth_: Murch[m]: makes sense now, thanks.
<strong>darosior</strong>: I think the startup option should be enough yes
<strong>darosior</strong>: Doing it after IBD sounds good too
<strong>_andrewtoth_</strong>: can we track if a user did from genesis easily, and then got to tip?
<strong>stickies-v</strong>: leveldb is an implementation detail and exposing it through our public stable interface is a bit messy
<strong>cfields</strong>: +1 on avoiding an rpc. I think the number of people who will be able to use that knowingly and correctly is single-digits.
<strong>darosior</strong>: AFK
<strong>Murch[m]</strong>: Lunch? ^^
<strong>stickies-v</strong>: even startup option i would probably find overkill, unless there is clear demand for it
<strong>_andrewtoth_</strong>: ok, having the startup option exists undocumented already, but we can find a way to do compaction first time the user gets to tip.
<strong>cfields</strong>: stickies-v: agreed. Same for any option. If we can&#8217;t decide when to do it automatically, we shouldn&#8217;t expect a user to be able to know when to do it manually.
<strong>abubakarsadiq</strong>: +1 cfields: I think if we can make that decision for users, it&#8217;s more ideal
<strong>Murch[m]</strong>: +1 cfields
<strong>stickies-v</strong>: anything else here _andrewtoth_ ?
<strong>_andrewtoth_</strong>: Closed <a href="https://github.com/bitcoin/bitcoin/issues/31132">#31132</a> and reopened as <a href="https://github.com/bitcoin/bitcoin/issues/35295">#35295</a>. Got some good review there that I need to address (thanks!), more review welcome. That&#8217;s it from me, thanks!
<strong>stickies-v</strong>: thanks for the comprehensive overview, sounds like you got some useful feedback</code></pre><pre><code><strong>stickies-v</strong>: <strong>#topic Silent Payments WG Update (Novo__)</strong>
<strong>theStack</strong>: The libsecp SP module PR <a href="https://github.com/bitcoin-core/secp256k1/pull/1765">https://github.com/bitcoin-core/secp256k1/pull/1765</a> got some momentum and fresh reviewer eyes after coredev (thanks!). In core, Novo__ opened <a href="https://github.com/bitcoin/bitcoin/issues/35301">#35301</a> and <a href="https://github.com/bitcoin/bitcoin/issues/35302">#35302</a> now (second takes of previously <a href="https://github.com/bitcoin/bitcoin/issues/28122">#28122</a> and <a href="https://github.com/bitcoin/bitcoin/issues/28201">#28201</a>, respectively) based on that. Review would be much appreciated.
<strong>johnny9dev</strong>: Sorry I have to get going. Here is my qml update. <a href="https://github.com/orgs/bitcoin-core/projects/1/views/3">https://github.com/orgs/bitcoin-core/projects/1/views/3</a> is updated. We&#8217;re making steady progress and still on track to have the project in a state where we feel it is worthwhile to start getting feedback from a wider group in the middle/end of June.</code></pre><pre><code><strong>stickies-v</strong>: <strong>#topic Libevent removal (pinheadmz, fjahr)</strong>
<strong>pinheadmz</strong>: Ironing out edge cases in <a href="https://github.com/bitcoin/bitcoin/issues/35182">#35182</a>. Running fuzzers 24/7.
<strong>pinheadmz</strong>: Antithesis caught something that I thought I fixed, but actually just triggered it again this morning doing a DoS test. It&#8217;s an assertion in the destructor which I think we can relax, and just delete connections that are taking to long (&gt;60s) to close. Might needs hodlinator &#8216;s opinion on that before pushing...
<strong>pinheadmz</strong>: Janb84 grok-claude caught something which is not hard to fix but is harder to test because of all the nasty global state in httpserver.cpp, so trying to figure out what to include in this PR and what to punt to a follow up. Definitely the first follow-up de-globalizing http will be a very satisfying refactor.
<strong>pinheadmz</strong>: fjahr ?
<strong>fjahr</strong>: I just keep addressing review comments on the <a href="https://github.com/bitcoin/bitcoin/issues/34342">#34342</a> as quickly as possible. It feels like it&#8217;s getting very close though, thanks to the reviewers :)
<strong>stickies-v</strong>: alright, looks like that&#8217;s it for this week&#8217;s WG updates
<strong>stickies-v</strong>: Anything else to discuss?
<strong>jurraca</strong>: a few ASmap things
<strong>jurraca</strong>: looking for one more ACK on <a href="https://github.com/bitcoin-core/asmap-data/pull/48">https://github.com/bitcoin-core/asmap-data/pull/48</a>
<strong>jurraca</strong>: opened a PR to merge the prototype asmap.sigs repo into bitcoin-core/asmap-data as discussed at CoreDev <a href="https://github.com/bitcoin-core/asmap-data/pull/50">https://github.com/bitcoin-core/asmap-data/pull/50</a>
<strong>jurraca</strong>: and next collab run is set for June 4th, two weeks from today <a href="https://github.com/bitcoin-core/asmap-data/issues/51">https://github.com/bitcoin-core/asmap-data/issues/51</a>
<strong>Murch[m]</strong>: The CI workers seem to be very slow for the BIPs repository this morning. I assume that this also applies to the Bitcoin Core PRs. Anyone know what&#8217;s going on there?
<strong>fanquake</strong>: I wanted to bring up <a href="https://github.com/bitcoin/bitcoin/issues/35319">#35319</a>
<strong>instagibbs</strong>: +1 fanquake
<strong>fanquake</strong>: My understanding is that &#8220;normal&#8221; -privatebroadcast usage might actually just leak your IP.
<strong>fanquake</strong>: I&#8217;m wondering if we should alert users in some way (mailing list / website?).
<strong>fanquake</strong>: Seems reasonable if there was some expectations of privacy here
<strong>Murch[m]</strong>: Also, for any BIP authors in this chat. I started the BIP metadata review that was future work for the BIP3 deployment. If you have any Informational BIPs that should be Specification BIPs, you will probably see a PR in that regard (or can open it yourself!). Similarly any BIPs that have been in Draft for years, will be proposed to be moved to Complete or Closed where applicable, or further input will be sought.
<strong>fanquake</strong>: Also there doesn&#8217;t yet seem to be consensus on how to fix / test
<strong>Murch[m]</strong>: So, if you want to help, it would be awesome if you look over your own BIPs in that regard.
<strong>instagibbs</strong>: +1 on some communication at least, brand new opt-in feature so impact is hopefully limited
<strong>eugenesiegel</strong>: there are a couple different tests, I haven
<strong>sedited</strong>: instagibbs can you provide a tldr?
<strong>Murch[m]</strong>: fanquake: What dose &#8220;normal&#8221; mean in this regard? I thought this happens when a connection downgrades from BIP324 to legacy P2P traffic?
<strong>instagibbs</strong>: sedited: on v2-&gt;v1 downgrade (if peer fails the v2 connection), if we&#8217;re using Tor exit node, we leak our ip directly to that target peer
<strong>instagibbs</strong>: It&#8217;s broken unless you connect to honest v2 peers, in other words
<strong>instagibbs</strong>: or hidden service nodes
<strong>_andrewtoth_</strong>: or honest v1 nodes
<strong>_andrewtoth_</strong>: *any v1 nodes
<strong>fanquake</strong>: (and I guess assume that spies will start trying to exploit given it&#8217;s public knowledge)
<strong>eugenesiegel</strong>: there are a couple different tests, I haven&#8217;t taken a look at instagibbs latest test. I&#8217;m partial to any functional test that can test without modifying the non-test code. as far as fixes, I think passing around an optional that defaults to nullopt kind of encourages callers to forget to set it? so maybe we could make it explicit? vasild patch does
<strong>eugenesiegel</strong>: work, just thinking how to make it robust
<strong>_andrewtoth_</strong>: really only malicious v2 nodes on clearnet
<strong>Murch[m]</strong>: Doesn&#8217;t even require a v2 node, you just have to fudge your service bits
<strong>instagibbs</strong>: eugenesiegel I made an attempt at robust test-only code changes
<strong>instagibbs</strong>: but I&#8217;m not a net expert, hoping more people look
<strong>eugenesiegel</strong>: Murch: right, a third party could also do it for some peers
<strong>instagibbs</strong>: &#8220;or honest v1 nodes&#8221; no, you leak your ip address to honest v1 nodes, you just hope no one looks at logs :)
<strong>instagibbs</strong>: oh, if bits arent stuffed, rigth
<strong>_andrewtoth_</strong>: instagibbs: you leak your ip for v1 nodes too? but it&#8217;s using the proxy and not downgrading?
<strong>Murch[m]</strong>: Wait, it always fails with v1 peers? I thought only on downgrade. That makes it way worse.
<strong>instagibbs</strong>: I retract my claim, need to re-page in how that part works
<strong>cfields</strong>: I know it&#8217;s waaay out of scope, but I mentioned this a few time at CoreDev... private tx relay would&#8217;ve been a great opportunity to launch separate short-lived tor-only instances of CConnman/PeerManager to handle the broadcast. I suspect that we continue to hit edge-cases otherwise :(
<strong>cfields</strong>: Just something to consider for the future.
<strong>eugenesiegel</strong>: It only fails on downgrade afaict and with a specific -proxy option. Though if there are v1 peers, a third party could modify service bits and force you to connect v2 and then downgrade
<strong>eugenesiegel</strong>: So, &#8220;-proxy=127.0.0.1:9050&#8221; is safe. &#8220;-proxy=127.0.0.1:9050=tor&#8221; is not safe
<strong>eugenesiegel</strong>: I have no idea on how widespread the feature is, I think sparrow uses it? I think a mailing list post could be helpful to tell people about the issue
<strong>_andrewtoth_</strong>: What is the behavior with default proxy options? So unset by the user?
<strong>eugenesiegel</strong>: _andrewtoth_: I&#8217;m not sure, does a user need to set -proxy to enable tor?
<strong>_andrewtoth_</strong>: no, and default is &#8220;disabled&#8221; according to bitcoind -h
<strong>_andrewtoth_</strong>: default also allows making pb connections to clearnet via exit nodes
<strong>eugenesiegel</strong>: how does bitcoind know the control port then? is it set to the default?
<strong>instagibbs</strong>: 4 minutes left (this conversation needs to continue anyways)
<strong>stickies-v</strong>: i&#8217;m going to call end of meeting here since we&#8217;re coming up on time, feel free to continue ofc. thanks for contributing, everyone</code></pre><p>Read here for the <a href="https://achow101.com/ircmeetings/2026/bitcoin-core-dev.2026-05-21_16_00.log.html">full meeting</a></p><div><hr></div><h4><strong>Releases</strong></h4><ul><li><p>No releases this week</p></li></ul><div><hr></div><blockquote><p>Thank you for reading. Be sure to tune in again next week for your updates on Bitcoin Core!</p></blockquote><p><em>If there are any comments, suggestions, or errors, do not hesitate to reach out or comment</em></p><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://insider.btcpp.dev/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe&quot;,&quot;language&quot;:&quot;en&quot;}" data-component-name="SubscribeWidgetToDOM"><div class="subscription-widget show-subscribe"><div class="preamble"><p class="cta-caption">bitcoin++'s Insider Edition is a reader-supported publication. To receive new posts and support my work, consider becoming a free or paid subscriber.</p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div>]]></content:encoded></item><item><title><![CDATA[Improving Backups — Last Week in Bitcoin (May 11 - 17)]]></title><description><![CDATA[Hi Insiders.]]></description><link>https://insider.btcpp.dev/p/improving-backups-last-week-in-bitcoin</link><guid isPermaLink="false">https://insider.btcpp.dev/p/improving-backups-last-week-in-bitcoin</guid><dc:creator><![CDATA[Tuma (I WILL NEVER DM YOU)]]></dc:creator><pubDate>Mon, 18 May 2026 14:03:30 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!cHbp!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc58ae0fd-2b2b-4553-b6b8-906c3cea7466_1600x900.jpeg" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p><em>Hi Insiders. This is Tuma, open-source reporter from the Insider Edition.</em></p><p><em>This week update features a PR in ldk-node to add support for receiving Payjoin payments, a feature that would provide some interesting benefits to node operators.</em></p><p><em>We also cover the latest updates from the BIP repository, with BIP323 being published, and three new BIPs being assigned a number, specifically BIP138, BIP139, and BIP450. These three BIPs aims to improve in different ways how to backup wallets and their connected data.</em></p><p><em>Finally, we discuss some interesting news from the Bitcoin world, such as a new tool by Spiral to find vulnerabilities in open-source Bitcoin softwarre, and the latest mining company integrating support for StratumV2.</em></p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!cHbp!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc58ae0fd-2b2b-4553-b6b8-906c3cea7466_1600x900.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!cHbp!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc58ae0fd-2b2b-4553-b6b8-906c3cea7466_1600x900.jpeg 424w, https://substackcdn.com/image/fetch/$s_!cHbp!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc58ae0fd-2b2b-4553-b6b8-906c3cea7466_1600x900.jpeg 848w, https://substackcdn.com/image/fetch/$s_!cHbp!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc58ae0fd-2b2b-4553-b6b8-906c3cea7466_1600x900.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!cHbp!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc58ae0fd-2b2b-4553-b6b8-906c3cea7466_1600x900.jpeg 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!cHbp!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc58ae0fd-2b2b-4553-b6b8-906c3cea7466_1600x900.jpeg" width="1456" height="819" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/c58ae0fd-2b2b-4553-b6b8-906c3cea7466_1600x900.jpeg&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:819,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:347184,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/jpeg&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:true,&quot;internalRedirect&quot;:&quot;https://insider.btcpp.dev/i/198256982?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc58ae0fd-2b2b-4553-b6b8-906c3cea7466_1600x900.jpeg&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!cHbp!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc58ae0fd-2b2b-4553-b6b8-906c3cea7466_1600x900.jpeg 424w, https://substackcdn.com/image/fetch/$s_!cHbp!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc58ae0fd-2b2b-4553-b6b8-906c3cea7466_1600x900.jpeg 848w, https://substackcdn.com/image/fetch/$s_!cHbp!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc58ae0fd-2b2b-4553-b6b8-906c3cea7466_1600x900.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!cHbp!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc58ae0fd-2b2b-4553-b6b8-906c3cea7466_1600x900.jpeg 1456w" sizes="100vw" fetchpriority="high"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><div><hr></div><h2><strong>Highlights from the bitcoin developer ecosystem</strong></h2><p><em>I spent 10+ hours in open-source developer calls in the Bitcoin ecosystem last week. Here is what caught my eye</em>:</p><ul><li><p><a href="https://github.com/lightningdevkit/ldk-node/pull/746">PR746</a> in ldk-node is adding support for receiving Payjoin payments.</p><ul><li><p>During the biweekly call, on Monday 11th, LDK contributors discussed PR746 by developer <a href="https://github.com/Camillarhi">Rita Anene</a>, which aims to add support for receiving Payjoin payments in ldk-node.</p></li><li><p>The PR implements the receiver side of the Payjoin protocol, including session persistence, PSBT handling, input contribution, mempool monitoring for Payjoin transactions, and node restart recovery.</p></li><li><p><strong>What is cool about the tech</strong>: Integrating Payjoin inside ldk-node could allow operators to use only one transaction, instead of two, to open channels when depositing from an external wallet. Operators would pay less fees, gain faster establishment of Lightning channels, and improve privacy.</p></li></ul></li></ul><div><hr></div><h2>A BIPs Update</h2><p><em>In the last days there was some movement in the <a href="https://github.com/bitcoin/bips">BIP repository</a>. Specifically, one new BIP has been published and three new BIPs have been assigned a number by BIP maintainer <a href="https://github.com/murchandamus">Murchandamus</a>.</em></p><h3>Published BIPs</h3><p><em>A list of recently published BIPs</em></p><h4>BIP323: 24 <code>nVersion</code> bits for general purpose use</h4><p><strong>Authors</strong>: <a href="https://github.com/TheBlueMatt">Matt Corallo</a></p><p><strong>Published On</strong>: May 13th, 2026BIP39</p><p><strong>Layer</strong>: Applications</p><p><a href="https://github.com/bitcoin/bips/blob/master/bip-0323.mediawiki">BIP323</a> is a proposal that aims to increase the number of bits reserved for nonce space in the <code>nVersion</code> field of the block header from 16 to 24. This avoids the <code>nTime</code> field to be used as extra nonce space by header-only miners.</p><h3>Numbered BIPs</h3><p><em>A list of BIPs that recently got assigned a number</em></p><h4>BIP450: Formosa&#8212;Seed encoding by themed mnemonic stories</h4><p><strong>Authors</strong>: <a href="https://github.com/Yuri-SVB">Yuri S. Villas Boas</a>, Andr&#233; Fidencio Gon&#231;alves</p><p><strong>Assigned On</strong>: May 12th, 2026</p><p><strong>Layer</strong>: Applications</p><p><a href="https://github.com/bitcoin/bips/pull/2108">PR2108</a> introduces BIP450, which describes Formosa, an expansion of <a href="https://github.com/bitcoin/bips/blob/master/bip-0039.mediawiki">BIP39</a>. This proposal introduces the possibility to encode a seed using short themed sentences (e.g., subject, verb, adjective, object, place), which carry grammatical structure and semantic coherence with the aim to improve memorability for the human mind. This BIP is fully back-compatible with BIP39.</p><h4>BIP139: Wallet metadata backup format</h4><p><strong>Authors</strong>: <a href="https://github.com/pythcoiner">Pyth</a></p><p><strong>Assigned On</strong>: May 11th, 2026</p><p><strong>Layer</strong>: Applications</p><p><a href="https://github.com/bitcoin/bips/pull/2130">PR2130</a> introduces BIP139, which specifies a standard way to store various type of metadata, such as account descriptors, keys, labels, PSBTs, and more, allowing compatibility between different wallet implementations and a simpler wallet migration and recovery processes.</p><h4>BIP138: Compact encryption scheme for non-seed wallet data</h4><p><strong>Authors</strong>: <a href="https://github.com/pythcoiner">Pyth</a></p><p><strong>Assigned On</strong>: May 11th, 2026</p><p><strong>Layer</strong>: Applications</p><p><a href="https://github.com/bitcoin/bips/pull/1951">PR1951</a> introduces BIP138, which specifies a compact encryption scheme for output descriptors, wallet policies, labels, and wallet backup metadata to allow users to store sensible information on untrusted media. The encryption key derives from the public keys in the descriptor, allowing any keyholder to decrypt without additional secrets.</p><div><hr></div><h2>Other News from the Bitcoin World</h2><ul><li><p><strong>Finding vulnerabilities in Bitcoin</strong>: Spiral <a href="https://x.com/spiralbtc/status/2054252720937206103">presented</a> their new project, Loupe, an AI-enabled vulnerabilities scanner for open-source Bitcoin projects. The aim of Loupe is to help project maintainers identifying issues in their codebases before attackers do, improving the security standards of Bitcoin-related open-source projects. Many important projects have already committed to being part of Spiral&#8217;s initial tests, including Bitcoin Core, BDK, LDK, rust-bitcoin, Cashu, Blockstre am Jade, bitcoinj, and SRI. Check the full article <a href="https://spiralbtc.substack.com/p/meet-loupe-ai-powered-vulnerability">here</a>.</p></li><li><p><strong>NerdQ supports for SV2</strong>: StratumV2 <a href="https://x.com/StratumV2/status/2053904535517634568?s=20">announced</a> that the NerdQ firmware had added support for the new mining protocol. NerdQ nis the third company landing support at the firmware level for StratumV2.</p></li></ul><div><hr></div><p><em>Looking for an opportunity to join up with some bitcoin devs in person? Join us in <a href="https://btcplusplus.dev/conf/vienna">Vienna</a> this May 27- 28 to talk about Austrian Economics!</em></p>]]></content:encoded></item><item><title><![CDATA[New Private Broadcast Working Group - This Week in Bitcoin Core #43]]></title><description><![CDATA[This week inside Bitcoin Core the devs go on vacation somewhere unknown]]></description><link>https://insider.btcpp.dev/p/new-private-broadcast-working-group</link><guid isPermaLink="false">https://insider.btcpp.dev/p/new-private-broadcast-working-group</guid><dc:creator><![CDATA[kevkevin]]></dc:creator><pubDate>Fri, 15 May 2026 14:01:14 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!MJw8!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1cee73e5-1dd4-4081-a559-6f40592a5154_1456x816.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>Hello &#128075; folks, I&#8217;m kevkevin. I&#8217;m an open-source developer and reporter for Insider Edition. Last week, I reviewed several pull requests from the <a href="https://github.com/bitcoin/bitcoin/pulls">Bitcoin Core</a> repo.<br><br>A new working group was created this week for Private Broadcast. Normally, new working groups are done in an IRC channel, but this one is being done in a Signal Group chat. You can find the signal group in the full meeting logs.<br><br>Private broadcast is the idea of opening a temporary Tor or I2P connection, sending the transaction then closing the connection.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!MJw8!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1cee73e5-1dd4-4081-a559-6f40592a5154_1456x816.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!MJw8!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1cee73e5-1dd4-4081-a559-6f40592a5154_1456x816.png 424w, https://substackcdn.com/image/fetch/$s_!MJw8!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1cee73e5-1dd4-4081-a559-6f40592a5154_1456x816.png 848w, https://substackcdn.com/image/fetch/$s_!MJw8!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1cee73e5-1dd4-4081-a559-6f40592a5154_1456x816.png 1272w, https://substackcdn.com/image/fetch/$s_!MJw8!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1cee73e5-1dd4-4081-a559-6f40592a5154_1456x816.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!MJw8!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1cee73e5-1dd4-4081-a559-6f40592a5154_1456x816.png" width="1456" height="816" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/1cee73e5-1dd4-4081-a559-6f40592a5154_1456x816.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:816,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:true,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!MJw8!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1cee73e5-1dd4-4081-a559-6f40592a5154_1456x816.png 424w, https://substackcdn.com/image/fetch/$s_!MJw8!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1cee73e5-1dd4-4081-a559-6f40592a5154_1456x816.png 848w, https://substackcdn.com/image/fetch/$s_!MJw8!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1cee73e5-1dd4-4081-a559-6f40592a5154_1456x816.png 1272w, https://substackcdn.com/image/fetch/$s_!MJw8!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1cee73e5-1dd4-4081-a559-6f40592a5154_1456x816.png 1456w" sizes="100vw" fetchpriority="high"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><h4><strong>Merged PR&#8217;s</strong></h4><h5><strong>Every week, several changes are officially added to Bitcoin Core. This week, </strong>11 <strong>changes were merged. Here are some I found interesting this week.</strong></h5><ul><li><p> <a href="https://github.com/bitcoin/bitcoin/pull/29136">wallet: addhdkey RPC to add just keys to wallets via new unused(KEY) descriptor</a> by <a href="https://github.com/achow101">achow101</a><br>Ava Chow added an RPC method named addhdkey. This allows a BIP 32 extended key to be added to the wallet without needing to import it as part of a separate descriptor. It is sometimes useful for the wallet to have keys that it can sign with, but are not (initially) involved in any scripts. <br><br>Ryan Ofsky initially suggested adding an unused (KEY) descriptor, but this PR implemented it and was merged into master.</p></li><li><p><a href="https://github.com/bitcoin/bitcoin/pull/34580">build: Add a compiler minimum feature check</a> by <a href="https://github.com/polespinasa">polespinasa</a><br>As the title says, this change adds a compiler minimum feature check. This helps developers save time by failing early and explaining why, instead of having to chase down version errors.<br><br>This change makes it easier for developers to build the project without wasting time.</p></li></ul><h5><strong>There are always changes being updated and reviewed in real-time. Here are some notable PR&#8217;s that are still up and looking for reviews.</strong></h5><ul><li><p><strong><a href="https://github.com/bitcoin/bitcoin/pull/31132">validation: fetch block inputs on parallel threads</a> </strong>by<strong> <a href="https://github.com/andrewtoth">andrewtoth</a></strong></p><blockquote><p><strong>Problem</strong></p><p>Currently, when fetching inputs in `ConnectBlock`, each input is fetched from the cache sequentially. A cache miss requires a round trip to the disk database to fetch the outpoint and insert it into the cache. Since the database is read-only during `ConnectBlock`, we can fetch all inputs of a block in parallel on multiple threads while connecting.</p><p><strong>Solution</strong></p><p>We add a ThreadPool to CoinsViewOverlay to fetch block inputs in parallel. The block is passed to the `CoinsViewOverlay` view before entering `ConnectBlock`, which kicks off the worker threads to begin fetching the inputs. The cache returns fetched coins as they become available via the overridden `FetchCoinFromBase` method. If not available yet, the main thread also fetches coins as it waits.</p></blockquote></li></ul><div><hr></div><h4><strong>IRC meeting notes</strong></h4><h5><strong>Every week on Thursday, there is an IRC meeting. Here are some short notes from that meeting.</strong></h5><pre><code>stickies-v: #topic Fuzzing WG Update (dergoegge)
dergoegge: nothing from my side
</code></pre><pre><code><strong>stickies-v</strong>: <strong>#topic Net Split WG Update (cfields)</strong>
<strong>cfields</strong>: No update this week. I&#8217;m currently paused on the net refactor while working on some other projects (primarily multi_index replacement). Maybe best to take me out of the rotation for now?
<strong>stickies-v</strong>: alright, will do, lmk when you&#8217;d like me to re-add it, or just update the wiki when you want to!</code></pre><pre><code><strong>stickies-v</strong>: <strong>#topic Benchmarking WG Update (l0rinc, andrewtoth)</strong>
<strong>cfields</strong>: &#128077;
<strong>l0rinc</strong>: <a href="https://github.com/bitcoin/bitcoin/issues/35156">#35156</a> was merged and a few other similar ones experimented with - nothing else from my side
<strong>_andrewtoth_</strong>: worked with dergoegge to run <a href="https://github.com/bitcoin/bitcoin/issues/31132">#31132</a> in antithesis using drive to construct blocks with missing inputs and other things. No issues found.
<strong>stickies-v</strong>: no issues is good
<strong>_andrewtoth_</strong>: Working on creating a fresh PR with the changes, since there&#8217;s over 600 comments and most are no longer relevant
<strong>_andrewtoth_</strong>: that&#8217;s it from me</code></pre><pre><code><strong>stickies-v</strong>: <strong>#topic QML GUI WG Update (johnny9dev)</strong>
<strong>johnny9dev</strong>: So it was suggested to create a project board last meeting so i worked towards that as it was a great idea
<strong>johnny9dev</strong>: and at coredev i setup the official one with all of the tasks i collected
<strong>johnny9dev</strong>: <a href="https://github.com/orgs/bitcoin-core/projects/1/views/3">https://github.com/orgs/bitcoin-core/projects/1/views/3</a>
<strong>stickies-v</strong>: that&#8217;s a well populated project board!
<strong>johnny9dev</strong>: it can be found here and we have a plan towards releasing. It is prioritized with &#8220;Preview&#8221; being our first build to get feedback on which should be sometime in June. &#8220;Beta&#8221; will be our target list for creating the PR sometime this fall. And &#8220;v1.0&#8221; is everthing is good to merge into bitcoin/bitcoin
<strong>jarolrod</strong>: wanted to scoot in and say: i&#8217;ll be around more formally from now on, to help qml gui ship
<strong>jarolrod</strong>: glad to be back :)
<strong>stickies-v</strong>: we&#8217;ll send over the paperwork shortly
<strong>johnny9dev</strong>: yes! excited for more contributors
<strong>stickies-v</strong>: good to see you back jarolrod!
<strong>jarolrod</strong>: &#129346;
<strong>johnny9dev</strong>: epicleafies: any status?
<strong>epicleafies</strong>: Yeah, I&#8217;ve worked on implementing watch only wallet along with a few bug fixes.
<strong>johnny9dev</strong>: great. that is all for qml</code></pre><pre><code><strong>stickies-v</strong>: <strong>#topic Libevent removal (pinheadmz, fjahr)</strong>
<strong>pinheadmz</strong>: Working on <a href="https://github.com/bitcoin/bitcoin/issues/35182">#35182</a>, ironing out edge cases.
<strong>pinheadmz</strong>: Restarted fuzz testing with latest commits.
<strong>pinheadmz</strong>: About to post some benchmarking I did, just running the functional test suite on all three platforms to compare timing with master (~1-2% slower than master). Debug builds are even slower because libevent is always compiled with optimization.
<strong>pinheadmz</strong>: Passed integration testing with LND, which revealed the most significant breaking change: `debugexclude=libevent` will prevent startup since the logging category is removed. Any thoughts about this? It&#8217;ll be in the release notes but we could also band-aid that for now.
<strong>fjahr</strong>: on the go but no updates from me, still need to address latest feedback on CLI pull
<strong>sipa</strong>: Should probably just leave it in, as a category with no messages associated.
<strong>cfields</strong>: pinheadmz: leave the category in and mark it deprecated?
<strong>sipa</strong>: And give a warning on startup if it&#8217;s specified.
<strong>stickies-v</strong>: that sounds like the best approach to me too, with deprecation warning log yeah
<strong>sipa</strong>: The cost of keeping it around is tiny until we run out of log category bits, right?
<strong>pinheadmz</strong>: ok janb84 and i had some back and forth about what to do with the logging category but i didnt realize at that time it would actually prevent startup
<strong>pinheadmz</strong>: so i will make that change
<strong>pinheadmz</strong>: and thats all 4 me
<strong>stickies-v</strong>: Anything else to discuss?
<strong>_andrewtoth_</strong>: We&#8217;ve started a private broadcast working group channel. Feel free to join https ://signal.group/#CjQKIIBs79NZA9NAwuNXzBteyKUWxOEWu3QqaiQSMMJZCl2hEhD80HdpVUYNB_AGrMMTZFdu
stickies-v: not to dictate my personal comms preferences on people, but i think it&#8217;d be cool if people would consider continue to use dedicated irc channels to keep public logs for posterity
stickies-v: anyway, separate topic i guess
stickies-v: looks like we&#8217;re done here, thanks for the updates everyone
_andrewtoth_: stickies-v noted thanks</code></pre><p>Read here for the <a href="https://achow101.com/ircmeetings/2026/bitcoin-core-dev.2026-05-14_16_00.log.html">full meeting</a></p><div><hr></div><h4><strong>Releases</strong></h4><ul><li><p>No releases this week</p></li></ul><div><hr></div><blockquote><p>Thank you for reading. Be sure to tune in again next week for your updates on Bitcoin Core!</p></blockquote><p><em>If there are any comments, suggestions, or errors, do not hesitate to reach out or comment</em></p><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://insider.btcpp.dev/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe&quot;,&quot;language&quot;:&quot;en&quot;}" data-component-name="SubscribeWidgetToDOM"><div class="subscription-widget show-subscribe"><div class="preamble"><p class="cta-caption">bitcoin++'s Insider Edition is a reader-supported publication. To receive new posts and support my work, consider becoming a free or paid subscriber.</p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div>]]></content:encoded></item><item><title><![CDATA[New Lightning Channels — Last Week in Bitcoin (May 04 - 10)]]></title><description><![CDATA[Hi Insiders.]]></description><link>https://insider.btcpp.dev/p/new-lightning-channels-last-week</link><guid isPermaLink="false">https://insider.btcpp.dev/p/new-lightning-channels-last-week</guid><dc:creator><![CDATA[Tuma (I WILL NEVER DM YOU)]]></dc:creator><pubDate>Mon, 11 May 2026 14:00:42 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!ZtIY!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F247ba0ee-6af2-4281-b213-e650a9bce00c_1600x900.jpeg" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p><em>Hi Insiders. This is Tuma, open-source reporter from the Insider Edition.</em></p><p><em>This week&#8217;s update features the official merge in the BOLTs repository of the specifications for creating simple taproot channels, providing improved privacy, security, and flexibility of the Lightning Network.</em></p><p><em>We also cover the first stable release of Coco, an easy-to-use, modular, TypeScript-first toolkit for building Cashu wallets and applications, and the different releases of Stratum V2 for the core protocol, applications, and mining dashboard.</em></p><p><em>We finally propose some more interesting news. Notably, we discuss the biggest player in the mining industry joining the Stratum V2 Working Group, and a new challenge by Alloc Init to break their new witness encryption scheme.</em></p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!ZtIY!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F247ba0ee-6af2-4281-b213-e650a9bce00c_1600x900.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!ZtIY!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F247ba0ee-6af2-4281-b213-e650a9bce00c_1600x900.jpeg 424w, https://substackcdn.com/image/fetch/$s_!ZtIY!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F247ba0ee-6af2-4281-b213-e650a9bce00c_1600x900.jpeg 848w, https://substackcdn.com/image/fetch/$s_!ZtIY!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F247ba0ee-6af2-4281-b213-e650a9bce00c_1600x900.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!ZtIY!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F247ba0ee-6af2-4281-b213-e650a9bce00c_1600x900.jpeg 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!ZtIY!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F247ba0ee-6af2-4281-b213-e650a9bce00c_1600x900.jpeg" width="1456" height="819" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/247ba0ee-6af2-4281-b213-e650a9bce00c_1600x900.jpeg&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:819,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:347184,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/jpeg&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:true,&quot;internalRedirect&quot;:&quot;https://insider.btcpp.dev/i/197195014?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F247ba0ee-6af2-4281-b213-e650a9bce00c_1600x900.jpeg&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!ZtIY!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F247ba0ee-6af2-4281-b213-e650a9bce00c_1600x900.jpeg 424w, https://substackcdn.com/image/fetch/$s_!ZtIY!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F247ba0ee-6af2-4281-b213-e650a9bce00c_1600x900.jpeg 848w, https://substackcdn.com/image/fetch/$s_!ZtIY!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F247ba0ee-6af2-4281-b213-e650a9bce00c_1600x900.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!ZtIY!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F247ba0ee-6af2-4281-b213-e650a9bce00c_1600x900.jpeg 1456w" sizes="100vw" fetchpriority="high"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><div><hr></div><h2><strong>Highlights from the bitcoin developer ecosystem</strong></h2><p><em>I spent 10+ hours in open-source developer calls in the Bitcoin ecosystem last week. Here is what caught my eye</em>:</p><ul><li><p><a href="https://github.com/lightning/bolts/pull/995">PR995</a> for simple taproot channels has been finally merged.</p><ul><li><p>During the monthly call, on Monday 4th, Lightning Network developers discussed PR995, an extension bolt to allow for simple taproot channels. The proposal by developer <a href="https://github.com/Roasbeef">Olaoluwa Osuntokun</a> has been finally merged after some years of work.</p></li><li><p>PR995 introduces specifications to enable support for <a href="https://bitcoinops.org/en/topics/taproot/">taproot</a>, allowing developers to improve the privacy, security, and flexibility of the system. In particular, the new taproot channels use <a href="https://bitcoinops.org/en/topics/musig/#musig2">MuSig2</a> key aggregation to combine two keys into one, with the multisig output becoming a single P2TR key, and tapscript trees capabilities.</p></li><li><p>The PR also defines the concept of &#8220;extension BOLT&#8221;, a standalone document that describes how to modify an existing &#8220;base&#8221; BOLT to avoid littering the main specification, improving readability and making reviewing easier. In particular, this PR extends capabilities for <a href="https://github.com/lightning/bolts/blob/master/02-peer-protocol.md">BOLT 2</a>, <a href="https://github.com/lightning/bolts/blob/master/03-transactions.md">BOLT 3</a> and <a href="https://github.com/lightning/bolts/blob/master/03-transactions.md">BOLT 5</a>.</p></li></ul></li><li><p><a href="https://github.com/cashubtc/coco">Coco</a>, a modular, TypeScript-first toolkit for building Cashu wallets and applications, has finally released its first stable version.</p><ul><li><p>During the monthly call, on Thursday 7th, Cashu developers announced that the first stable release, <a href="https://github.com/cashubtc/coco/releases/tag/v1.0.0">v1.0.0,</a> of Coco had been released.</p></li><li><p>Coco aims to simplify the development of Cashu-related wallets and applications, providing developers with a &#8220;batteries-included&#8221; toolkit. According to its main developer, <a href="https://x.com/Egge21M">Egge</a>, Coco &#8220;provides a storage-agnostic core for wallet logic, proof management, mint sync, quote handling, subscriptions, operation recovery, and typed events&#8221;.</p></li><li><p>Coco is not stopping at the first release, but it is already planning a second one for the end of the month, integrating the latest breaking changes from the library it is built on, <a href="https://github.com/cashubtc/cashu-ts">cashu-ts</a>.</p></li></ul></li><li><p><a href="https://github.com/stratum-mining/stratum/releases/tag/v1.9.0">v1.9.0</a> of Stratum V2 protocol, <a href="https://github.com/stratum-mining/sv2-apps/releases/tag/v0.4.0">v0.4.0</a> of the applications, and <a href="https://github.com/stratum-mining/sv2-ui/releases/tag/v0.2.0">v0.2.0</a> of the mining dashboard have been recently published.</p><ul><li><p>During the weekly call, on Tuesday 5th, Stratum V2 developers discussed the new upcoming releases of the different libraries. The protocol crates were released on the same day, while the ones for applications and UI were published the day after.</p></li><li><p>The main highlight for v1.9.0 is the introduction of a new <code>ExtranonceManager</code> module, a reusable allocator for <a href="https://open.substack.com/pub/btcpp/p/last-week-in-bitcoin-jan-26-feb-01?r=2c4bjq&amp;selection=40c280a0-9cfc-40eb-9170-c4c1bdb6d917&amp;utm_campaign=post-share-selection&amp;utm_medium=web&amp;aspectRatio=instagram&amp;textColor=%23ffffff&amp;bgImage=true">extranonce prefixes</a> for both standard and extended channels. v0.4.0 brings the latest updates from the protocol to the applications and provides support for <a href="https://github.com/bitcoin/bitcoin/releases/tag/v31.0">Bitcoin Core v31</a>. v0.2.0 improves the mining dashboard based on the feedback from the early adopters.</p></li><li><p>Stratum V2 developers are also working on a new bindings library, <a href="https://github.com/stratum-mining/sv2-uniffi">sv2-uniffi</a>, to bring the reference implementation to other languages, starting from Python and C++.</p></li></ul></li></ul><div><hr></div><h2>A BIPs Update</h2><p><em>There was no newsworthy update in the last days in the <a href="https://github.com/bitcoin/bips">BIP repository</a>. We&#8217;ll provide new updates as soon as a new BIP gets published or gets assigned a number.</em></p><div><hr></div><h2>Other News from the Bitcoin World</h2><ul><li><p><strong>New pools are joining the Stratum V2 Working Group</strong>: Stratum V2 maintainers recently <a href="https://x.com/StratumV2/status/2052395730694795274">announced</a> that some of the biggest pools in the mining industry had joined the SV2 Working Group, a specialized body that aims to steward the initiative and advance the standard across the industry. The founding entities, <a href="https://x.com/Braiins">Braiins</a> and <a href="https://x.com/spiralbtc">Spiral</a>, are now leading the effort towards a more efficient, private, secure, and decentralized mining alongside <a href="https://x.com/AntPoolofficial">AntPool</a>, <a href="https://x.com/blocks">Block</a>, <a href="https://x.com/FoundryServices">Foundry</a>, <a href="https://x.com/MARAFoundation_">Mara</a>, <a href="https://x.com/SpiderPool_com">SpiderPool</a>, and <a href="https://x.com/DMND_Sv2">DMND</a>.</p></li><li><p><strong>Breaking PIPEs</strong>: Alloc Init, a cryptography-focused research group, <a href="https://x.com/alloc_init_/status/2053098289302479327">launched</a> a new challenge to invite researchers and developers to break their <a href="https://eprint.iacr.org/2026/175">new witness encryption scheme</a>, which is the base for the new <a href="https://bitcoinops.org/en/newsletters/2026/02/20/#bitcoin-pipes-v2">Bitcoin PIPEs v2</a>.</p></li></ul><div><hr></div><p><em>Looking for an opportunity to join up with some bitcoin devs in person? Join us in <a href="https://btcplusplus.dev/conf/vienna">Vienna</a> this May 27- 28 to talk about Austrian Economics!</em></p>]]></content:encoded></item><item><title><![CDATA[Core Devs have gone missing - This Week in Bitcoin Core #42]]></title><description><![CDATA[This week inside Bitcoin Core the devs go on vacation somewhere unknown]]></description><link>https://insider.btcpp.dev/p/core-devs-have-gone-missing-this</link><guid isPermaLink="false">https://insider.btcpp.dev/p/core-devs-have-gone-missing-this</guid><dc:creator><![CDATA[kevkevin]]></dc:creator><pubDate>Fri, 08 May 2026 14:03:10 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!MJw8!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1cee73e5-1dd4-4081-a559-6f40592a5154_1456x816.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>Hello &#128075; folks, I&#8217;m kevkevin. I&#8217;m an open-source developer and reporter for Insider Edition. Last week, I reviewed several pull requests from the <a href="https://github.com/bitcoin/bitcoin/pulls">Bitcoin Core</a> repo.<br><br>The Bitcoin Core devs are missing this week from the weekly IRC meeting because they&#8217;re meeting up in person at CoreDev. A biannual event where Bitcoin Core contributors come together to discuss ideas. The weekly IRC meeting will resume next week on Thursday.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!MJw8!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1cee73e5-1dd4-4081-a559-6f40592a5154_1456x816.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!MJw8!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1cee73e5-1dd4-4081-a559-6f40592a5154_1456x816.png 424w, https://substackcdn.com/image/fetch/$s_!MJw8!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1cee73e5-1dd4-4081-a559-6f40592a5154_1456x816.png 848w, https://substackcdn.com/image/fetch/$s_!MJw8!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1cee73e5-1dd4-4081-a559-6f40592a5154_1456x816.png 1272w, https://substackcdn.com/image/fetch/$s_!MJw8!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1cee73e5-1dd4-4081-a559-6f40592a5154_1456x816.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!MJw8!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1cee73e5-1dd4-4081-a559-6f40592a5154_1456x816.png" width="1456" height="816" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/1cee73e5-1dd4-4081-a559-6f40592a5154_1456x816.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:816,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:true,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!MJw8!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1cee73e5-1dd4-4081-a559-6f40592a5154_1456x816.png 424w, https://substackcdn.com/image/fetch/$s_!MJw8!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1cee73e5-1dd4-4081-a559-6f40592a5154_1456x816.png 848w, https://substackcdn.com/image/fetch/$s_!MJw8!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1cee73e5-1dd4-4081-a559-6f40592a5154_1456x816.png 1272w, https://substackcdn.com/image/fetch/$s_!MJw8!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1cee73e5-1dd4-4081-a559-6f40592a5154_1456x816.png 1456w" sizes="100vw" fetchpriority="high"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><h4><strong>Merged PR&#8217;s</strong></h4><h5><strong>Every week, several changes are officially added to Bitcoin Core. This week, </strong>11 <strong>changes were merged. Here are some I found interesting this week.</strong></h5><ul><li><p><a href="https://github.com/bitcoin/bitcoin/pull/21283">Implement BIP 370 PSBTv2</a> by <a href="https://github.com/achow101">achow101</a><br>Ava Chow's pull request for implementing BIP 370, which is PSBTv2 was merged this week. Now what does this mean? <br><br>The issue with the way that PSBT&#8217;s are handled in version 1 was that the signed transaction could not be changed. This meant that input and output could not be added. PSBTv2 solves this. There are additional benifits in PSBTv2 such as most the information is now being put in a singular location in the input map and output map.<br><br>To understand it full I suggest you read the <a href="https://github.com/bitcoin/bips/blob/master/bip-0370.mediawiki">full spec</a></p></li><li><p><a href="https://github.com/bitcoin/bitcoin/pull/33300">fuzz: compact block harness</a> by <a href="https://github.com/Crypt-iQ">Crypt-iQ</a><br>Are you familiar with fuzz testing in Bitcoin Core? How about how compact blocks work? Well, you&#8217;re in luck because this change involves both.<br><br>This week, Crypt-iQ has his PR merged, which added a new fuzz harness <code>cmpctblock </code>into Bitcoin Core. Similar to <code>process_message </code>it, make valid and invalid blocks, reconstruct blocks with in-mempool txns, and more. <br><br>This is yet another step in getting more fuzz coverage into Bitcoin Core, and who knows, maybe this might find a bug in how compact blocks work in Core.</p></li><li><p><a href="https://github.com/bitcoin/bitcoin/pull/33796">kernel: Expose CheckTransaction consensus validation function</a> by <a href="https://github.com/w0xlt">w0xlt</a><code><br></code>This change exposes the consensus-level function CheckTransaction through the libbitcoinkernel C API and adds a corresponding C++ wrapper. Before this change, there was no way to do context-free validation checks on a transaction&#8217;s structure, and this provides that.<br><br>This introduces a new API btck_check_transaction, and in the C++ wrapper it looks like this: btck::CheckTransaction.<br><br>The Bitcoin kernel project is one that has been ongoing for a while, and this is just another API being added to it. This brings more functionality and testing, which is always welcomed. </p></li></ul><h5><strong>There are always changes being updated and reviewed in real-time. Here are some notable PR&#8217;s that are still up and looking for reviews.</strong></h5><ul><li><p><a href="https://github.com/bitcoin/bitcoin/pull/31132">validation: fetch block inputs on parallel threads</a> by <a href="https://github.com/andrewtoth">andrewtoth</a></p></li></ul><blockquote><pre><code>Problem

Currently, when fetching inputs in `ConnectBlock`, each input is fetched from the cache sequentially. A cache miss requires a round trip to the disk database to fetch the outpoint and insert it into the cache. Since the database is read-only during `ConnectBlock`, we can fetch all inputs of a block in parallel on multiple threads while connecting.

Solution

We add a ThreadPool to CoinsViewOverlay to fetch block inputs in parallel. The block is passed to the `CoinsViewOverlay` view before entering `ConnectBlock`, which kicks off the worker threads to begin fetching the inputs. The cache returns fetched coins as they become available via the overridden `FetchCoinFromBase` method. If not available yet, the main thread also fetches coins as it waits.</code></pre></blockquote><div><hr></div><h4><strong>IRC meeting notes</strong></h4><h5><strong>Every week on Thursday, there is an IRC meeting. Here are some short notes from that meeting.</strong></h5><pre><code>None this week as coredev is going on, because of this the IRC meeting has been postponed till next week.</code></pre><div><hr></div><h4><strong>Releases</strong></h4><ul><li><p>No releases this week</p></li></ul><div><hr></div><blockquote><p>Thank you for reading. Be sure to tune in again next week for your updates on Bitcoin Core!</p></blockquote><p><em>If there are any comments, suggestions, or errors, do not hesitate to reach out or comment</em></p><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://insider.btcpp.dev/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe&quot;,&quot;language&quot;:&quot;en&quot;}" data-component-name="SubscribeWidgetToDOM"><div class="subscription-widget show-subscribe"><div class="preamble"><p class="cta-caption">bitcoin++'s Insider Edition is a reader-supported publication. To receive new posts and support my work, consider becoming a free or paid subscriber.</p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div>]]></content:encoded></item><item><title><![CDATA[Talking Controversies — Last Week in Bitcoin (Apr 27 - May 03)]]></title><description><![CDATA[Hi Insiders.]]></description><link>https://insider.btcpp.dev/p/talking-controversies-last-week-in</link><guid isPermaLink="false">https://insider.btcpp.dev/p/talking-controversies-last-week-in</guid><dc:creator><![CDATA[Tuma (I WILL NEVER DM YOU)]]></dc:creator><pubDate>Mon, 04 May 2026 14:02:22 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!8oWz!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F341a934d-c8d6-4373-9e59-a7bea728b661_1600x900.jpeg" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p><em>Hi Insiders. This is Tuma, open-source reporter from the Insider Edition.</em></p><p><em>This week&#8217;s update features an interesting PR in ldk-node which aims to introduce support for applying Replace-By-Fee (RBF) to a splice transaction.</em></p><p><em>We also cover the latest movements in the BIP repository. Notably, a new BIP proposal for disposing of dust UTXOs has been assigned number 451.</em></p><p><em>We finally propose some more interesting news, such as recordings of Bitcoin++ Villain Edition, where developers discussed the most controversial things in Bitcoin, a new announcement by BDK founder Alekos Filini, and the new path forward for LDK.</em></p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!8oWz!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F341a934d-c8d6-4373-9e59-a7bea728b661_1600x900.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!8oWz!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F341a934d-c8d6-4373-9e59-a7bea728b661_1600x900.jpeg 424w, https://substackcdn.com/image/fetch/$s_!8oWz!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F341a934d-c8d6-4373-9e59-a7bea728b661_1600x900.jpeg 848w, https://substackcdn.com/image/fetch/$s_!8oWz!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F341a934d-c8d6-4373-9e59-a7bea728b661_1600x900.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!8oWz!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F341a934d-c8d6-4373-9e59-a7bea728b661_1600x900.jpeg 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!8oWz!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F341a934d-c8d6-4373-9e59-a7bea728b661_1600x900.jpeg" width="1456" height="819" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/341a934d-c8d6-4373-9e59-a7bea728b661_1600x900.jpeg&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:819,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:347184,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/jpeg&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:true,&quot;internalRedirect&quot;:&quot;https://insider.btcpp.dev/i/196403150?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F341a934d-c8d6-4373-9e59-a7bea728b661_1600x900.jpeg&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!8oWz!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F341a934d-c8d6-4373-9e59-a7bea728b661_1600x900.jpeg 424w, https://substackcdn.com/image/fetch/$s_!8oWz!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F341a934d-c8d6-4373-9e59-a7bea728b661_1600x900.jpeg 848w, https://substackcdn.com/image/fetch/$s_!8oWz!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F341a934d-c8d6-4373-9e59-a7bea728b661_1600x900.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!8oWz!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F341a934d-c8d6-4373-9e59-a7bea728b661_1600x900.jpeg 1456w" sizes="100vw" fetchpriority="high"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><div><hr></div><h2><strong>Highlights from the bitcoin developer ecosystem</strong></h2><p><em>I spent 10+ hours in open-source developer calls in the Bitcoin ecosystem last week. Here is what caught my eye</em>:</p><ul><li><p><a href="https://github.com/lightningdevkit/ldk-node/pull/888">PR888</a> in ldk-node is adding support for splice RBF.</p><ul><li><p>During the bi-weekly meeting, on Monday 27th, LDK contributors discussed PR888 in ldk-node by developer <a href="https://github.com/jkczyz">Jeffrey Czyz</a>, which adds support in the Lightning implementation for splice RBF.</p></li><li><p>Replace-By-Fee (RBF) is a node policy that allows an unconfirmed transaction in the mempool to be replaced with a different transaction with a higher transaction fee.</p></li><li><p>PR888 adds a dedicated API that uses RBF to substitute an in-flight splice transaction with a new one with a higher feerate. This would allow the transaction to be mined faster, since the higher feerate makes it more attractive to miners.</p></li></ul></li></ul><div><hr></div><h2>A BIPs Update</h2><p><em>In the last days there was some movement in the <a href="https://github.com/bitcoin/bips">BIP repository</a>. Specifically, one new BIP has been assigned a number by BIP maintainer <a href="https://github.com/murchandamus">Murchandamus</a>.</em></p><h3>Numbered BIPs</h3><p><em>A list of BIPs that recently got assigned a number</em></p><h4>BIP451: <strong>Dust UTXO Disposal Protocol</strong></h4><p><strong>Authors</strong>: <a href="https://github.com/bubb1es71">bubb1es</a>, <a href="https://github.com/harismuzaffer">haris</a></p><p><strong>Assigned On</strong>: Apr 28th, 2026</p><p><strong>Layer</strong>: Applications</p><p><a href="https://github.com/bitcoin/bips/pull/2150">PR2150</a> introduces BIP451, which describe a standard protocol to safely dispose of dust UTXOs by spending them to an <code>OP_RETURN</code> output with the entire value going to transaction fees. Dust attacks are a well-known threat for on-chain privacy. Attackers send a tiny UTXO (dust) to several addresses and, leveraging the common-input-ownership heuristic, links dust with other UTXOs belonging to the same wallet. While some mitigations are already in place to safeguard privacy, they are deemed insufficient. This BIP aims to fill this gap.</p><div><hr></div><h2>Other News from the Bitcoin World</h2><ul><li><p><strong>Villains talking controversies</strong>: Check out the full <a href="https://x.com/btcplusplus/status/2049904668235743403?s=20">recordings</a> from Bitcoin++ Villain Edition. Developers gathered at the Hoover Dam to discuss the most controversial topics regarding the future of Bitcoin. Listen to <a href="https://x.com/peterktodd">Peter Todd</a> discussing tail emission, take your side in the Oxford-style debate on quantum, and check out Core developer <a href="https://x.com/reardencode">Brandon Black</a> talking about how to break ossification.</p></li><li><p><strong>Enclaved</strong>: Bitcoin developer Alekos Filini <a href="https://x.com/afilini/status/2050604607940829488?s=20">announced</a> on X the launch of <a href="https://enclavia.io/">Enclavia</a>, a new service that aims to bring hardware enclaves to every Bitcoin company for End-to-end encrypted computation and storage.</p></li><li><p><strong>Run your LDK-based node</strong>: Spiral <a href="https://x.com/spiralbtc/status/2049602782081003703?s=20">announced</a> LDK Server, the new deployable Lightning node package with all the features developed by LDK. It ships with built-in LSP support, feature parity with the BOLTs specifications, and clean API for usage by non-developers.</p></li></ul>]]></content:encoded></item><item><title><![CDATA[Core devs meeting next week - This Week in Bitcoin Core #41]]></title><description><![CDATA[This week inside Bitcoin Core...]]></description><link>https://insider.btcpp.dev/p/core-devs-meeting-next-week-this</link><guid isPermaLink="false">https://insider.btcpp.dev/p/core-devs-meeting-next-week-this</guid><dc:creator><![CDATA[kevkevin]]></dc:creator><pubDate>Fri, 01 May 2026 14:03:51 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!MJw8!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1cee73e5-1dd4-4081-a559-6f40592a5154_1456x816.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>Hello &#128075; folks, I&#8217;m kevkevin. I&#8217;m an open-source developer and reporter for Insider Edition. Last week, I reviewed several pull requests from the <a href="https://github.com/bitcoin/bitcoin/pulls">Bitcoin Core</a> repo.<br><br>Next week, there will be no IRC meeting because the Bitcoin Core devs are going to be meeting next week. Where are they meeting? Nobody but them knows.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!MJw8!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1cee73e5-1dd4-4081-a559-6f40592a5154_1456x816.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!MJw8!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1cee73e5-1dd4-4081-a559-6f40592a5154_1456x816.png 424w, https://substackcdn.com/image/fetch/$s_!MJw8!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1cee73e5-1dd4-4081-a559-6f40592a5154_1456x816.png 848w, https://substackcdn.com/image/fetch/$s_!MJw8!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1cee73e5-1dd4-4081-a559-6f40592a5154_1456x816.png 1272w, https://substackcdn.com/image/fetch/$s_!MJw8!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1cee73e5-1dd4-4081-a559-6f40592a5154_1456x816.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!MJw8!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1cee73e5-1dd4-4081-a559-6f40592a5154_1456x816.png" width="1456" height="816" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/1cee73e5-1dd4-4081-a559-6f40592a5154_1456x816.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:816,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:true,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!MJw8!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1cee73e5-1dd4-4081-a559-6f40592a5154_1456x816.png 424w, https://substackcdn.com/image/fetch/$s_!MJw8!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1cee73e5-1dd4-4081-a559-6f40592a5154_1456x816.png 848w, https://substackcdn.com/image/fetch/$s_!MJw8!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1cee73e5-1dd4-4081-a559-6f40592a5154_1456x816.png 1272w, https://substackcdn.com/image/fetch/$s_!MJw8!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1cee73e5-1dd4-4081-a559-6f40592a5154_1456x816.png 1456w" sizes="100vw" fetchpriority="high"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><h4><strong>Merged PR&#8217;s</strong></h4><h5><strong>Every week, several changes are officially added to Bitcoin Core. This week, </strong>11 <strong>changes were merged. Here are some I found interesting this week.</strong></h5><ul><li><p><strong><a href="https://github.com/bitcoin/bitcoin/pull/35097">util: Return uint64_t from </a></strong><em><strong><a href="https://github.com/bitcoin/bitcoin/pull/35097">MiB and GiB operators</a> by <a href="https://github.com/maflcko">maflcko</a></strong><br></em>Marco Falke opened this PR to attempt to modify the C++ type used by<em> </em><code>_MiB</code><em> </em>and<em> </em><code>_GiB </code>from size_t to uint64_t. Falke mentioned a few reasons for this, those being that, currently, with size_t, it is impossible to represent larger values. But if it used a uint64_t instead, it would be possible.<br><br>There are other reasons as well, such as it not being necessary and that the usage of size_t encourages its usage elsewhere, which can cause bugs and CVEs in the future.</p></li><li><p><strong><a href="https://github.com/bitcoin/bitcoin/pull/32876">refactor: use options struct for signing and PSBT operations</a> by <a href="https://github.com/Sjors">Sjors</a></strong></p><p>In this PR, Sjors Provoost changes the <code>sign</code>, <code>finalize</code> , <code>bip32derivs</code> and <code>sighash_type</code> arguments that are passed to <code>FillPSBT()</code> and <code>SignPSBTInput() </code>into a struct named <code>PSBTFillOptions</code> instead. <br><br>Provoost mentions that the motivation for this is that in the future, there might be a need to add another argument, and instead of creating a bunch of code churn, we can just add it to this struct, and it would be much cleaner and less of a headache.</p></li><li><p><strong><a href="https://github.com/bitcoin/bitcoin/pull/34176">wallet: crash fix, handle non-writable db directories</a> by <a href="https://github.com/furszy">furszy</a><br></strong>Matias Furszyfer opened this PR to improve error messaging when the DB directory is not writable. Furszyfer noticed that when trying to load or create a wallet and the DB was not writeable, he would get a vague message. <br><br>In this PR, he fixes this for both creating a new wallet and loading an existing wallet.</p></li></ul><h5><strong>There are always changes being updated and reviewed in real-time. Here are some notable PR&#8217;s that are still up and looking for reviews.</strong></h5><ul><li><p><a href="https://github.com/bitcoin/bitcoin/pull/31132">validation: fetch block inputs on parallel threads</a> by <a href="https://github.com/andrewtoth">andrewtoth</a></p><blockquote><pre><code><strong>This PR parallelizes fetching all input prevouts of a block during block connection, achieving over 3x faster IBD performance in some scenarios[^1][^2][^3][^4][^5].

### Problem

Currently, when fetching inputs in `ConnectBlock`, each input is fetched from the cache sequentially. A cache miss requires a round trip to the disk database to fetch the outpoint and insert it into the cache. Since the database is read-only during `ConnectBlock`, we can fetch all inputs of a block in parallel on multiple threads while connecting.

### Solution

We add a ThreadPool to CoinsViewOverlay to fetch block inputs in parallel. The block is passed to the `CoinsViewOverlay` view before entering `ConnectBlock`, which kicks off the worker threads to begin fetching the inputs. The cache returns fetched coins as they become available via the overridden `FetchCoinFromBase` method. If not available yet, the main thread also fetches coins as it waits.</strong></code></pre></blockquote></li></ul><div><hr></div><h4><strong>IRC meeting notes</strong></h4><h5><strong>Every week on Thursday, there is an IRC meeting. Here are some short notes from that meeting.</strong></h5><pre><code>abubakarsadiq: #topic Fuzzing WG Update (dergoegge)
dergoegge: no updates</code></pre><pre><code><strong>abubakarsadiq</strong>: <strong>#topic Kernel WG Update (sedited)</strong>
<strong>dergoegge</strong>: will have some stuff to show at coredev
<strong>sedited</strong>: We&#8217;re migrating rust-bitcoinkernel from a bindings generator to hand rolled bindings. That&#8217;s cutting down on some required dependencies.
<strong>sedited</strong>: Otherwise looking for review for the open PRs on the board <a href="https://github.com/orgs/bitcoin/projects/3/views/1">https://github.com/orgs/bitcoin/projects/3/views/1</a>
<strong>abubakarsadiq</strong>: dergoegge: &#128077; looking forward to it.
<strong>sedited</strong>: That&#8217;s all from me.</code></pre><pre><code><strong>abubakarsadiq</strong>: <strong>#topic Benchmarking WG Update (l0rinc, andrewtoth)</strong>
none</code></pre><pre><code><strong>abubakarsadiq</strong>: <strong>#topic Benchmarking WG Update (l0rinc, andrewtoth_)</strong>
<strong>andrewtoth_</strong>: hi
<strong>sedited</strong>: ^^
<strong>andrewtoth_</strong>: Got some good review from l0rinc on <a href="https://github.com/bitcoin/bitcoin/pull/31132.">https://github.com/bitcoin/bitcoin/pull/31132.</a> More review welcome. That&#8217;s it from me.
<strong>abubakarsadiq</strong>: nice</code></pre><pre><code><strong>abubakarsadiq</strong>: <strong>#topic QML GUI WG Update (johnny9dev)</strong>
<strong>johnny9dev</strong>: We have first PRs by our new contributor pseudoramdom <a href="https://github.com/bitcoin-core/gui-qml/issues/561">bitcoin-core/gui-qml#561</a>, <a href="https://github.com/bitcoin-core/gui-qml/issues/556">bitcoin-core/gui-qml#556</a>, <a href="https://github.com/bitcoin-core/gui-qml/issues/554">bitcoin-core/gui-qml#554</a>
<strong>johnny9dev</strong>: I have PR&#8217;d some improvements to our activity page, the block clock, and PSBT support <a href="https://github.com/bitcoin-core/gui-qml/issues/559">bitcoin-core/gui-qml#559</a>, <a href="https://github.com/bitcoin-core/gui-qml/issues/558">bitcoin-core/gui-qml#558</a>, <a href="https://github.com/bitcoin-core/gui-qml/issues/557">bitcoin-core/gui-qml#557</a>
<strong>johnny9dev</strong>: epicleafies has a PR up now for feature parity receive features <a href="https://github.com/bitcoin-core/gui-qml/issues/553">bitcoin-core/gui-qml#553</a> and is working on other remaining parity features.
<strong>johnny9dev</strong>: I am currently focused on some planning and docs to share at coredev
<strong>abubakarsadiq</strong>: johnny9dev: would it be easier to track this on a board?
<strong>abubakarsadiq</strong>: Something similar to <a href="https://github.com/orgs/bitcoin/projects/3/views/1">https://github.com/orgs/bitcoin/projects/3/views/1</a>
<strong>johnny9dev</strong>: thats an interesting idea. I will consider it.
<strong>johnny9dev</strong>: but that is the kind of thing I am trying to work out right now
<strong>johnny9dev</strong>: as I&#8217;d like to share where we are and where we plan to be at the meeting
<strong>abubakarsadiq</strong>: yeah they are quite a lots of PR&#8217;s so you can just reference the board with the summary of the update, some also use tracking issue for that
<strong>johnny9dev</strong>: ok, thank you
<strong>johnny9dev</strong>: epicleafies: anything to add?</code></pre><pre><code><strong>abubakarsadiq</strong>: <strong>#topic Libevent removal (pinheadmz, fjahr)</strong>
<strong>epicleafies</strong>: Not too much else, but I also created a PR for fixing some issues with Gmock
<strong>pinheadmz</strong>: Lots of progress on <a href="https://github.com/bitcoin/bitcoin/issues/32061">#32061</a> this week. Rebased on master after pre-factor commits were merged. Addressed feedback from vasild, janb84, hodlinator, and b-l-u-e. Claude found some crash bugs and HTTP violations and those have been patched. I also had Claude add functional tests to cover the most common and well-known HTTP vulnerabilities and malformed requests. Libevent actually failed one of those tests but not in a dangerous way. That PR
<strong>pinheadmz</strong>: just passed (windows) ci this morning so I closed it with 400+ comments and opened a fresh one: <a href="https://github.com/bitcoin/bitcoin/issues/35182">#35182</a> The PR is dead! Long live the PR!
<strong>pinheadmz</strong>: Fuzz testing and integration testing are next... especially now that lnd has fixed their ci incompatabilities with v31
<strong>vasild</strong>: hi
<strong>pinheadmz</strong>: nothigng new from fjahr
<strong>pinheadmz</strong>: that it</code></pre><pre><code><strong>abubakarsadiq</strong>: <strong>#topic Net Split WG Update (cfields)</strong>
<strong>yancy</strong>: hi
<strong>abubakarsadiq</strong>: As usual, next week there won&#8217;t be an IRC meeting because of the coredev meeting.
<strong>abubakarsadiq</strong>: Anything else to discuss?</code></pre><div><hr></div><h4><strong>Releases</strong></h4><ul><li><p>No releases this week</p></li></ul><div><hr></div><blockquote><p>Thank you for reading. Be sure to tune in again next week for your updates on Bitcoin Core!</p></blockquote><p><em>If there are any comments, suggestions, or errors, do not hesitate to reach out or comment</em></p><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://insider.btcpp.dev/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe&quot;,&quot;language&quot;:&quot;en&quot;}" data-component-name="SubscribeWidgetToDOM"><div class="subscription-widget show-subscribe"><div class="preamble"><p class="cta-caption">bitcoin++'s Insider Edition is a reader-supported publication. To receive new posts and support my work, consider becoming a free or paid subscriber.</p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div>]]></content:encoded></item><item><title><![CDATA[More Space for Miners — Last Week in Bitcoin (Apr 20 - 26)]]></title><description><![CDATA[Hi Insiders.]]></description><link>https://insider.btcpp.dev/p/more-space-for-miners-last-week-in</link><guid isPermaLink="false">https://insider.btcpp.dev/p/more-space-for-miners-last-week-in</guid><dc:creator><![CDATA[Tuma (I WILL NEVER DM YOU)]]></dc:creator><pubDate>Mon, 27 Apr 2026 14:01:29 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!aUox!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa193521d-e07b-45f0-8f10-439ab9fc7298_1600x900.jpeg" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p><em>Hi Insiders. This is Tuma, open-source reporter from the Insider Edition.</em></p><p><em>This week&#8217;s update features the latest major release, v0.11.1, of Fedimint. This version brings a better UI for gateway management, lower memory usage, and some new experimental features</em></p><p><em>We also cover the latest movements in the BIP repository. Notably, BIP391 has been published, while a new BIP by Matt Corallo, has been assigned number 323.</em></p><p><em>We finally propose some more interesting news, such Jonas Schnelli debunking quantum FUD, an article on hashrate renting, and Numo&#8217;s battle testing at Bitcoin++ Villain Edition.</em></p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!aUox!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa193521d-e07b-45f0-8f10-439ab9fc7298_1600x900.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!aUox!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa193521d-e07b-45f0-8f10-439ab9fc7298_1600x900.jpeg 424w, https://substackcdn.com/image/fetch/$s_!aUox!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa193521d-e07b-45f0-8f10-439ab9fc7298_1600x900.jpeg 848w, https://substackcdn.com/image/fetch/$s_!aUox!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa193521d-e07b-45f0-8f10-439ab9fc7298_1600x900.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!aUox!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa193521d-e07b-45f0-8f10-439ab9fc7298_1600x900.jpeg 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!aUox!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa193521d-e07b-45f0-8f10-439ab9fc7298_1600x900.jpeg" width="1456" height="819" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/a193521d-e07b-45f0-8f10-439ab9fc7298_1600x900.jpeg&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:819,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:347184,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/jpeg&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:true,&quot;internalRedirect&quot;:&quot;https://insider.btcpp.dev/i/195628043?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa193521d-e07b-45f0-8f10-439ab9fc7298_1600x900.jpeg&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!aUox!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa193521d-e07b-45f0-8f10-439ab9fc7298_1600x900.jpeg 424w, https://substackcdn.com/image/fetch/$s_!aUox!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa193521d-e07b-45f0-8f10-439ab9fc7298_1600x900.jpeg 848w, https://substackcdn.com/image/fetch/$s_!aUox!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa193521d-e07b-45f0-8f10-439ab9fc7298_1600x900.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!aUox!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa193521d-e07b-45f0-8f10-439ab9fc7298_1600x900.jpeg 1456w" sizes="100vw" fetchpriority="high"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><div><hr></div><h2><strong>Highlights from the bitcoin developer ecosystem</strong></h2><p><em>I spent 10+ hours in open-source developer calls in the Bitcoin ecosystem last week. Here is what caught my eye</em>:</p><ul><li><p><a href="https://github.com/fedimint/fedimint/releases/tag/v0.11.1">v0.11.1</a> of Fedimint, called &#8220;Mint Condition&#8221; is out, bringing a better UI for gateway management, lower memory usage, and some new experimental features.</p><ul><li><p>During the weekly call, on Monday 20th, Fedimint developers discussed the recent release of v0.11.0 and the need for a patch version due to a panic happening during database migration. The patch version was later released on Tuesday 21st.</p></li><li><p>The new version comes with a better UI for gateway operators, including BOLT12 send and receive, channel management, and payment filtering, it adds better observability through <a href="https://prometheus.io/">Prometheus</a>, it reduces memory usage, and allows users to discover guardians through the decentralized <a href="https://pubky.github.io/pkarr/">Pkarr DNS sysyem</a>.</p></li><li><p>v0.11.x also adds new experimental APIs for the new v2 version of the <a href="https://github.com/fedimint/fedimint/pull/6429">wallet</a> and the <a href="https://github.com/fedimint/fedimint/pull/6734">mint</a>. These modules are disabled by default, and must be explicitly activated during the federation setup. Devs specify that these features are not yet production-ready and their use is still not recommended.</p></li></ul></li></ul><div><hr></div><h2>A BIPs Update</h2><p><em>In the last days there was some movement in the <a href="https://github.com/bitcoin/bips">BIP repository</a>. Specifically, one new BIP has been published and one BIP has been assigned a number by BIP maintainer <a href="https://github.com/murchandamus">Murchandamus</a>.</em></p><h3>Published BIPs</h3><p><em>A list of recently published BIPs</em></p><h4>BIP391: Binary Output Descriptors</h4><p><strong>Authors</strong>: <a href="https://github.com/seedhammer">SeedHammer</a></p><p><strong>Published On</strong>: Apr 23rd 2026</p><p><strong>Layer</strong>: Applications</p><p><a href="https://github.com/bitcoin/bips/blob/master/bip-0391.mediawiki">BIP391</a> proposes a new, efficient container format to encode an output descriptor, with support for key metadata, based on key-value maps as defined by <a href="https://github.com/bitcoin/bips/blob/master/bip-0174.mediawiki">BIP174</a>. The aim is to provide a standard to address the issues of descriptor strings, such as the lack of machine-recognizable header, inability to represent metadata, and inefficient keys encoding. The specified Binary Output Descriptor (BOD) format consists of a fixed header, a key-value map describing the output descriptor, and a key-value map for each key.</p><h2>Numbered BIPs</h2><p><em>A list of BIPs that recently got assigned a number</em></p><h4>BIP323: 24 <code>nVersion</code> bits for general purpose use</h4><p><strong>Authors</strong>: <a href="https://github.com/TheBlueMatt">Matt Corallo</a></p><p><strong>Assigned On</strong>: Apr 22nd, 2026</p><p><strong>Layer</strong>: Applications</p><p><a href="https://github.com/bitcoin/bips/pull/2116">PR2116</a> introduces BIP323, which aims to increase the number of bits reserved for nonce space in the <code>nVersion</code> field of the block header from 16 to 24. This avoids the <code>nTime</code> field to be used as extra nonce space by header-only miners.</p><div><hr></div><h2>Other News from the Bitcoin World</h2><ul><li><p><strong>Breaking Quantum FUD</strong>: Former Bitcoin Core maintainer Jonas Schnelli <a href="https://x.com/_jonasschnelli_/status/2047765986443706547?s=20">debunked</a> the recent news about 15-bit ECC key being broken by a quantum computer.</p></li><li><p><strong>Renting hashrate</strong>: An interesting <a href="https://pablohere.contrapeso.xyz/writings/my-first-petahash.html">article</a> about renting hashrate and pointing it towards <a href="https://ocean.xyz/">Ocean mining pool</a> using their <a href="https://ocean.xyz/docs/datum-setup">Datum gateway</a>.</p></li><li><p><strong>Battle tested</strong>: <a href="https://x.com/NumoPayApp">Numo</a>, the open-source, Cashu-based Point-of-Sale (POS) application, has been battle tested during Bitcoin++ Villain Edition. Open-source designer Erik <a href="https://x.com/uxerik_/status/2048175095026176402?s=20">provides</a> a precise analysis of his findings on how to improve the user experience for merchants.</p></li></ul>]]></content:encoded></item><item><title><![CDATA[Optout21 merges two PRs - This Week in Bitcoin Core #40]]></title><description><![CDATA[This week there was a PR review club after a long time...]]></description><link>https://insider.btcpp.dev/p/optout21-merges-two-prs-this-week</link><guid isPermaLink="false">https://insider.btcpp.dev/p/optout21-merges-two-prs-this-week</guid><dc:creator><![CDATA[kevkevin]]></dc:creator><pubDate>Fri, 24 Apr 2026 14:03:43 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!MJw8!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1cee73e5-1dd4-4081-a559-6f40592a5154_1456x816.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>Hello &#128075; folks, I&#8217;m kevkevin. I&#8217;m an open-source developer and reporter for Insider Edition. Last week, I reviewed several pull requests from the <a href="https://github.com/bitcoin/bitcoin/pulls">Bitcoin Core</a> repo.<br><br>This week, a user named Optout21 had two PR&#8217;s that they authored and merged. Check out the merged PR&#8217;s section to read more!</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!MJw8!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1cee73e5-1dd4-4081-a559-6f40592a5154_1456x816.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!MJw8!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1cee73e5-1dd4-4081-a559-6f40592a5154_1456x816.png 424w, https://substackcdn.com/image/fetch/$s_!MJw8!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1cee73e5-1dd4-4081-a559-6f40592a5154_1456x816.png 848w, https://substackcdn.com/image/fetch/$s_!MJw8!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1cee73e5-1dd4-4081-a559-6f40592a5154_1456x816.png 1272w, https://substackcdn.com/image/fetch/$s_!MJw8!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1cee73e5-1dd4-4081-a559-6f40592a5154_1456x816.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!MJw8!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1cee73e5-1dd4-4081-a559-6f40592a5154_1456x816.png" width="1456" height="816" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/1cee73e5-1dd4-4081-a559-6f40592a5154_1456x816.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:816,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:true,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!MJw8!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1cee73e5-1dd4-4081-a559-6f40592a5154_1456x816.png 424w, https://substackcdn.com/image/fetch/$s_!MJw8!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1cee73e5-1dd4-4081-a559-6f40592a5154_1456x816.png 848w, https://substackcdn.com/image/fetch/$s_!MJw8!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1cee73e5-1dd4-4081-a559-6f40592a5154_1456x816.png 1272w, https://substackcdn.com/image/fetch/$s_!MJw8!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1cee73e5-1dd4-4081-a559-6f40592a5154_1456x816.png 1456w" sizes="100vw" fetchpriority="high"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><h4><strong>Merged PR&#8217;s</strong></h4><h5><strong>Every week, several changes are officially added to Bitcoin Core. This week, </strong>10 <strong>changes were merged. Here are some I thought were interesting from this week.</strong></h5><ul><li><p><a href="https://github.com/bitcoin/bitcoin/pull/34440">refactor: Change CChain methods to use references, add tests</a> by <a href="https://github.com/optout21">optout21</a><br>optout21 refactored the CChain methods, no longer use pointers because of the risk of accidental nullptr dereference. The methods being updated in CChain are Contains(), Next(), and FindFork(). <br><br>This improves the safety of the CChain methods because there will be a lower likelihood of falling into this nullptr dereference error.<br><br>Optout21 concludes that there might be future improvements that make sense.</p><blockquote><p>Further ideas, not considered in this PR:</p><ul><li><p>Change <code>InvalidateBlock()</code> and <code>PreciousBlock()</code> to take references.</p></li><li><p>Change <code>CChain</code> internals to store references instead of pointers</p></li><li><p>Change CChain to always have at least one element (genesis), that way there is always genesis and tip.</p></li><li><p>Check related methods to return reference (guaranteed non-null) -- <code>FindFork</code>, <code>FindEarliestAtLeast</code>, <code>FindForkInGlobalIndex</code>, <code>blockman.AddToBlockIndex</code>, etc.</p></li></ul></blockquote></li><li><p><a href="https://github.com/bitcoin/bitcoin/pull/34863">test: Clean shutdown in Socks5Server</a> by <a href="https://github.com/optout21">optout21</a></p><blockquote><p>The <code>Socks5Server</code> utility handles multiple incoming connections, which are handled in separate background threads. Its <code>stop()</code> method unblocks and waits for the main background thread cleanly, but it doesn't attempt to wait for the completion of handler threads. There is no guarantee that the handler threads are finished after <code>stop()</code> returns, which can lead to IO errors.</p></blockquote><p>This pull request by optout21 adds a clean shutdown to Socks5Server to avoid intermittent CI failures. </p></li><li><p><a href="https://github.com/bitcoin/bitcoin/pull/33477">Rollback for dumptxoutset without invalidating blocks</a> by <a href="https://github.com/fjahr">fjahr</a><br>Fabian Jahr opened this change because of a need to implement dumptxoutset with a rollback. It was also wanted a way to roll back that did not use <code>invalidateblock</code> and <code>reconsiderblock </code>and instead created a temp copy of the coins DB. <br></p><p>There are a few upsides to this approach.</p><ul><li><p>Network activity does not have to be suspended</p></li><li><p>Forks can not interfere with the rollback</p></li></ul></li></ul><p>       But also a few downsides like requiring more disk space, and performance is slower.</p><h5><strong>There are always changes being updated and reviewed in real-time. Here are some notable PR&#8217;s that are still up and looking for reviews.</strong></h5><ul><li><p><a href="https://github.com/bitcoin/bitcoin/pull/31132">validation: fetch block inputs on parallel threads</a> by <a href="https://github.com/andrewtoth">andrewtoth</a></p><blockquote><h5>Problem</h5><p>Currently, when fetching inputs in <code>ConnectBlock</code>, each input is fetched from the cache sequentially. A cache miss requires a round trip to the disk database to fetch the outpoint and insert it into the cache. Since the database is read-only during <code>ConnectBlock</code>, we can fetch all inputs of a block in parallel on multiple threads while connecting.</p><h5>Solution</h5><p>We add a ThreadPool to CoinsViewOverlay to fetch block inputs in parallel. The block is passed to the <code>CoinsViewOverlay</code> view before entering <code>ConnectBlock</code>, which kicks off the worker threads to begin fetching the inputs. The cache returns fetched coins as they become available via the overridden <code>FetchCoinFromBase</code> method. If not available yet, the main thread also fetches coins as it waits.</p></blockquote></li></ul><div><hr></div><h4><strong>IRC meeting notes</strong></h4><h5><strong>Every week on Thursday, there is an IRC meeting. Here are some short notes from that meeting.</strong></h5><pre><code><strong>abubakarsadiq</strong>: <strong>#topic Net Split WG Update (cfields)</strong>
<strong>abubakarsadiq</strong>: I guess no update from cfields, if there is we can come back to the topic
<strong>cfields</strong>: No update this week, been working on my multi_index replacement.</code></pre><pre><code><strong>abubakarsadiq</strong>: <strong>#topic Benchmarking WG Update (l0rinc, andrewtoth)</strong>
<strong>l0rinc</strong>: <a href="https://github.com/bitcoin/bitcoin/issues/35025">#35025</a> was merged, the deserialization benchmarks are more realistic now.
<strong>l0rinc</strong>: The untimed setup of nanobench needed a follow-up to make it more intuitive to use, see <a href="https://github.com/bitcoin/bitcoin/issues/35124">#35124</a>.
<strong>l0rinc</strong>: <a href="https://github.com/bitcoin/bitcoin/issues/34641">#34641</a> was split into tiny, focused commits based on the feedback.
<strong>l0rinc</strong>: Pushed <a href="https://github.com/bitcoin/bitcoin/issues/35128">#35128</a> to speed up `gettxoutsetinfo` - a follow-up is already brewing based on the feedback.
<strong>l0rinc</strong>: That&#8217;s it from me, thanks for the reviews.</code></pre><pre><code><strong>abubakarsadiq</strong>: <strong>#topic QML GUI WG Update (johnny9dev)</strong>
<strong>johnny9dev</strong>: Opened up a PR for new settings pages (<a href="https://github.com/bitcoin-core/gui-qml/issues/551">bitcoin-core/gui-qml#551</a>) This includes Wallet settings that has details, create backup, password add/update, and wallet deletion. Sign message will likely end up here as well. The PR also includes a Mempool settings page that shows transaction amount and memory usage as well as an input field for updating mempool memory amount. I am currently working on a flow for importing PSBT.
<strong>johnny9dev</strong>: We have a new contributor as well, pseudoramdom, who will be starting by implementing our RBF design as his first feature.
<strong>johnny9dev</strong>: With pseudoramdom on RBF, epicleafies working on Receiving and Sign message, and me doing PSBT import I think that just leaves the &#8220;Address Book&#8221; page as the last feature-parity issue needing a first implementation
<strong>johnny9dev</strong>: that is all</code></pre><pre><code><strong>abubakarsadiq</strong>: <strong>#topic Libevent removal (pinheadmz, fjahr)</strong>
<strong>fjahr</strong>: I keep getting good review comments on <a href="https://github.com/bitcoin/bitcoin/issues/34342">#34342</a>, trying to address them as fast as possible but didn&#8217;t get to the comments from yesterday yet :) Waiting for the rebase/re-open to start review on the http server again. That&#8217;s it from me.
<strong>pinheadmz</strong>: Nothing new from me this week
<strong>abubakarsadiq</strong>: I skipped some working groups because the leads aren&#8217;t here. If you have an update please propose the topic
<strong>abubakarsadiq</strong>: Anything else to discuss?</code></pre><div><hr></div><h4><strong>Releases</strong></h4><ul><li><p><a href="https://github.com/bitcoin-core/bitcoin-devwiki/wiki/31.0-Release-Notes-Draft">31.0 Release</a></p></li></ul><div><hr></div><blockquote><p>Thank you for reading. Be sure to tune in again next week for your updates on Bitcoin Core!</p></blockquote><p><em>If there are any comments, suggestions, or errors, do not hesitate to reach out or comment</em></p><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://insider.btcpp.dev/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe&quot;,&quot;language&quot;:&quot;en&quot;}" data-component-name="SubscribeWidgetToDOM"><div class="subscription-widget show-subscribe"><div class="preamble"><p class="cta-caption">bitcoin++'s Insider Edition is a reader-supported publication. To receive new posts and support my work, consider becoming a free or paid subscriber.</p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div>]]></content:encoded></item><item><title><![CDATA[Time For Releases — Last Week in Bitcoin (Apr 13 - 19)]]></title><description><![CDATA[Hi Insiders.]]></description><link>https://insider.btcpp.dev/p/time-for-releases-last-week-in-bitcoin</link><guid isPermaLink="false">https://insider.btcpp.dev/p/time-for-releases-last-week-in-bitcoin</guid><dc:creator><![CDATA[Tuma (I WILL NEVER DM YOU)]]></dc:creator><pubDate>Mon, 20 Apr 2026 14:01:39 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!3sG1!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fabafb0bc-5a75-4427-a78c-e58fcbe2283e_1600x900.jpeg" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p><em>Hi Insiders. This is Tuma, open-source reporter from the Insider Edition.</em></p><p><em>This week&#8217;s update features the latest major release, v3.0.0, of BDK wallet. This version brings major API changes to the Rust wallet library.</em></p><p><em>We also cover the new release for Core-lightning, v26.04. This version activates splicing by default, improves privacy through message padding, and increases payment reliability.</em></p><p><em>We also discuss PR630 in ldk-node, which adds support for configuring a node as a BIP353 resolver for human-readable names.</em></p><p><em>We finally feature the recent pubilication of BIP361 and some interesting interviews from the MIT Bitcoin Expo.</em></p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!3sG1!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fabafb0bc-5a75-4427-a78c-e58fcbe2283e_1600x900.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!3sG1!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fabafb0bc-5a75-4427-a78c-e58fcbe2283e_1600x900.jpeg 424w, https://substackcdn.com/image/fetch/$s_!3sG1!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fabafb0bc-5a75-4427-a78c-e58fcbe2283e_1600x900.jpeg 848w, https://substackcdn.com/image/fetch/$s_!3sG1!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fabafb0bc-5a75-4427-a78c-e58fcbe2283e_1600x900.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!3sG1!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fabafb0bc-5a75-4427-a78c-e58fcbe2283e_1600x900.jpeg 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!3sG1!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fabafb0bc-5a75-4427-a78c-e58fcbe2283e_1600x900.jpeg" width="1456" height="819" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/abafb0bc-5a75-4427-a78c-e58fcbe2283e_1600x900.jpeg&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:819,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:347184,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/jpeg&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:true,&quot;internalRedirect&quot;:&quot;https://insider.btcpp.dev/i/194777573?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fabafb0bc-5a75-4427-a78c-e58fcbe2283e_1600x900.jpeg&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!3sG1!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fabafb0bc-5a75-4427-a78c-e58fcbe2283e_1600x900.jpeg 424w, https://substackcdn.com/image/fetch/$s_!3sG1!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fabafb0bc-5a75-4427-a78c-e58fcbe2283e_1600x900.jpeg 848w, https://substackcdn.com/image/fetch/$s_!3sG1!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fabafb0bc-5a75-4427-a78c-e58fcbe2283e_1600x900.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!3sG1!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fabafb0bc-5a75-4427-a78c-e58fcbe2283e_1600x900.jpeg 1456w" sizes="100vw" fetchpriority="high"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><div><hr></div><h2><strong>Highlights from the bitcoin developer ecosystem</strong></h2><p><em>I spent 10+ hours in open-source developer calls in the Bitcoin ecosystem last week. Here is what caught my eye</em>:</p><ul><li><p><a href="https://github.com/bitcoindevkit/bdk_wallet/releases/tag/v3.0.0">v3.0.0</a> is the latest major release for BDK Wallet, the descriptor-based wallet library written in Rust.</p><ul><li><p>During the weekly call, on Tuesday 14th, BDK contoributors discussed the latest major release v3.0.0. Developers are now discussing which fof the new features will be included in the UniFFI bindings.</p></li><li><p>Major updates includes persistent UTXO locking, to keep track of those UTXOs that should not be chosen automatically for a transaction, it adds support for importing/exporting the <a href="https://github.com/caravan-bitcoin/caravan">Caravan</a> wallet JSON format, and improves network handling by using the latest features from <a href="https://github.com/rust-bitcoin/rust-bitcoin">rust-bitcoin</a>.</p></li><li><p>Moreover, due to some changes in the SQLite database, developers provided <a href="https://github.com/bitcoindevkit/bdk_wallet/pull/364">utilities</a> to allow projects to upgrade from BDK versions older than v1.0.</p></li></ul></li><li><p><a href="https://github.com/ElementsProject/lightning/releases/tag/v26.04">v26.04</a> of Core-lightning, named &#8220;Negative Routing Fees&#8221; is out.</p><ul><li><p>During the biweekly call, on Monday 13th, CLN developers reviewed the final release requirements for v26.04. The new version was officially published today, Monday 20th.</p></li><li><p>Splicing is now enabled by default, after the recent merge of its specifications, offering simple commands, such as <code>splicein</code> and <code>spliceout</code>, to manage channels without closing them. Moreover, messages are now padded to a uniform length, making it harder for attackers to infer node activity from message sizes.</p></li><li><p>This release also offers improved payment reliability through parallel path-finding, allows users to include fees in the requested amount, effectively making receiver paying them, adds support for payment notes in <code>xpay</code> , and allows to configure specific peer nodes to direct payments through.</p></li></ul></li><li><p><a href="https://github.com/lightningdevkit/ldk-node/pull/630">PR630</a> in ldk-node is adding support for resolving BIP353 human-readable names.</p><ul><li><p>During the biweekly call, on Monday 13th, LDK contributors discussed PR630 which aims to introduce the possibility to configure a node as an <a href="https://github.com/bitcoin/bips/blob/master/bip-0353.mediawiki">BIP353</a> human-readable names resolver.</p></li><li><p>BIP353 proposes a standard format to encode URI schemes in Domain Name Service (DNS) records. Basically, it allows to store Bitcoin payment information into human-readable strings which can be easily verified on hardware wallets.</p></li><li><p>PR630 allows to configure an LDK node to act as a human-readable address resolver for other nodes. The goal of the resolver is to translate the human-readable string into an actual payment instruction.</p></li></ul></li></ul><div><hr></div><h2>A BIPs Update</h2><p><em>In the last days there was some movement in the <a href="https://github.com/bitcoin/bips">BIP repository</a>. Specifically, one new BIP has been published by BIP maintainer <a href="https://github.com/murchandamus">Murchandamus</a>.</em></p><h3>Published BIPs</h3><p><em>A list of recently published BIPs</em></p><h4>BIP361: Post Quantum Migration and Legacy Signature Sunset</h4><p><strong>Authors</strong>: <a href="https://github.com/jlopp">Jameson Lopp</a>, Christian Papathanasiou, Ian Smith, Joe Ross, Steve Vaile, <a href="https://github.com/pldallairedemers">Pierre-Luc Dallaire-Demers</a></p><p><strong>Published On</strong>: Apr 14th, 2026</p><p><strong>Layer</strong>: Consensus (soft fork)</p><p><a href="https://github.com/bitcoin/bips/blob/master/bip-0361.mediawiki">BIP361</a> is a proposed soft fork to implement a post-quantum output type and to provide a multi-phase plan to sunset legacy ECDSA/Schnorr signatures. According to the authors, the goal is to make upgrading to post-quantum outputs a matter of incentives, providing a clear timeline to align the entire ecosystem.</p><div><hr></div><h2>Other News from the Bitcoin World</h2><ul><li><p><strong>Does Bitcoin scale?</strong>: BTC++ Insider reporter Niftynei <a href="https://x.com/btcinsider__/status/2044513592276390095?s=20">chatted</a> with <a href="https://x.com/jonhbit">Jonathan Harvey-Buschel</a>, MIT graduate and <a href="https://x.com/ChaincodeLabs">Chaincode Labs</a> researcher, about his work on the Lightning gossip protocol at the <a href="https://x.com/MITBitcoinClub">MIT Bitcoin Expo</a>. See what he had to say about networking clusters, minisketch considerations, and how he&#8217;s repurposing insights from the Erlay paper to make the Lightning Network scale to the next 100k nodes.</p></li><li><p><strong>Quantum FUD vs Quantum Compute</strong>: Bitcoin++ <a href="https://x.com/btcplusplus/status/2045520486235279737?s=20">announced</a> a one hour formal Oxford debate on the topic &#8220;Quantum FUD is a greater risk to bitcoin than quantum computers&#8221;. The <a href="https://btcpp.dev/conf/vegas">Villain Edition</a> conference will take place at the Hoover Dam this week, Thurs + Fri (Apr 23+24). Alex Pruden from Project Eleven will argue the negative; <a href="https://x.com/reardencode">Brandon Black</a>, the affirmative. David Zell, Director of the Bitcoin Policy Institute to moderate.</p></li></ul>]]></content:encoded></item><item><title><![CDATA[The ccoins are virtual now - This Week in Bitcoin Core #39]]></title><description><![CDATA[This week there was a PR review club after a long time...]]></description><link>https://insider.btcpp.dev/p/the-ccoins-are-all-virtual-now-this</link><guid isPermaLink="false">https://insider.btcpp.dev/p/the-ccoins-are-all-virtual-now-this</guid><dc:creator><![CDATA[kevkevin]]></dc:creator><pubDate>Fri, 17 Apr 2026 14:02:59 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!MJw8!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1cee73e5-1dd4-4081-a559-6f40592a5154_1456x816.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>Hello &#128075; folks, I&#8217;m kevkevin. I&#8217;m an open-source developer and reporter for Insider Edition. Last week, I reviewed several pull requests from the <a href="https://github.com/bitcoin/bitcoin/pulls">Bitcoin Core</a> repo.<br><br>This week <strong><a href="https://github.com/l0rinc">l0rinc</a> </strong>made <code>CCoinsView </code>in to a pure virtual class. Learn more about it in the merged pr&#8217;s section.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!MJw8!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1cee73e5-1dd4-4081-a559-6f40592a5154_1456x816.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!MJw8!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1cee73e5-1dd4-4081-a559-6f40592a5154_1456x816.png 424w, https://substackcdn.com/image/fetch/$s_!MJw8!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1cee73e5-1dd4-4081-a559-6f40592a5154_1456x816.png 848w, https://substackcdn.com/image/fetch/$s_!MJw8!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1cee73e5-1dd4-4081-a559-6f40592a5154_1456x816.png 1272w, https://substackcdn.com/image/fetch/$s_!MJw8!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1cee73e5-1dd4-4081-a559-6f40592a5154_1456x816.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!MJw8!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1cee73e5-1dd4-4081-a559-6f40592a5154_1456x816.png" width="1456" height="816" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/1cee73e5-1dd4-4081-a559-6f40592a5154_1456x816.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:816,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:true,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!MJw8!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1cee73e5-1dd4-4081-a559-6f40592a5154_1456x816.png 424w, https://substackcdn.com/image/fetch/$s_!MJw8!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1cee73e5-1dd4-4081-a559-6f40592a5154_1456x816.png 848w, https://substackcdn.com/image/fetch/$s_!MJw8!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1cee73e5-1dd4-4081-a559-6f40592a5154_1456x816.png 1272w, https://substackcdn.com/image/fetch/$s_!MJw8!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1cee73e5-1dd4-4081-a559-6f40592a5154_1456x816.png 1456w" sizes="100vw" fetchpriority="high"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><h4><strong>Merged PR&#8217;s</strong></h4><h5><strong>Every week, several changes are officially added to Bitcoin Core. This week, </strong>10 <strong>changes were merged. Here are some I thought were interesting from this week.</strong></h5><ul><li><p><strong><a href="https://github.com/bitcoin/bitcoin/pull/34124">validation: make CCoinsView a pure virtual interface</a></strong> by <strong><a href="https://github.com/l0rinc">l0rinc</a></strong></p><p>This change is an improvement to the <code>CCoinsView</code> interface. What this PR does is make CCoinsView a pure virtual interface. It introduces <code>CoinsViewEmpty </code>which is a noop coins view. Instead of declaring a dummy coinsDummy and then creating a <code>CCoinsViewCache</code> from that, we can just use <code>CoinViewEmpty::Get().</code><br><br>All of these methods were made to be pure virtual, <code>PeekCoin</code>, <code>GetCoin</code>, <code>HaveCoin</code>, <code>GetBestBlock</code>, <code>GetHeadBlocks</code>, <code>BatchWrite</code>, <code>Cursor</code>, <code>EstimateSize.</code> This change also removed the legacy default implementation from coins.cpp.<br><br>This change is a refactor, so it does not give any functional change to the codebase, but it does make interfacing with CCoinsView much more straightforward to understand. Refactoring the confusing codebase of Bitcoin Core to become easier to understand is always a win.<br></p></li><li><p><strong><a href="https://github.com/bitcoin/bitcoin/pull/34772">test: modernize interface_http and cover more libevent behavior</a></strong> by <strong><a href="https://github.com/pinheadmz">pinheadmz</a><br></strong>This is a follow-up to <a href="https://github.com/bitcoin/bitcoin/pull/32408">tests: Expand HTTP coverage to assert libevent behavior</a><strong> </strong>and a prerequisite to <a href="https://github.com/bitcoin/bitcoin/pull/32061">Replace libevent with our own HTTP and socket-handling implementation</a><strong>. </strong>If you have been following these posts, you would know that the Libevent removal is moving forward. <br><br>This is yet again another PR that helps get Libevent removed in favor of our own HTTP socket handling implementation. This PR was only a testing change updating <code>test/functional/interface_http.py </code>to cover more Libevent behavior, so when the migration is fully complete, there are no hidden bugs or functionality that was expected to exist.<br><br>If you want to keep up to date on the Libevent changes, be sure to follow the <a href="https://github.com/bitcoin/bitcoin/issues/31194">tracking issue</a>.</p></li></ul><h5><strong>There are always changes being updated and reviewed in real-time. Here are some notable PR&#8217;s that are still up and looking for reviews.</strong></h5><ul><li><p><strong><a href="https://github.com/bitcoin/bitcoin/pull/35090">fuzz: add p2p_private_broadcast harness</a></strong> by <strong><a href="https://github.com/frankomosh">frankomosh</a><br></strong></p><blockquote><p>Add a fuzz harness for ConnectionType::PRIVATE_BROADCAST, a privacy-preserving transaction relay mechanism whose p2p code paths had no meaningful fuzz coverage.<br></p><p>Current process_message touches it but is insufficient in exercising it. It creates PRIVATE_BROADCAST nodes via ConsumeNode(), but some structural problems prevent it from covering the relevant logic:</p><ol><li><p>m_tx_for_private_broadcast is never seeded, PushPrivateBroadcastTx always takes the immediate disconnect path (7 accidental hits, all on lines 3559&#8211;3562). Lines 3564&#8211;3570 (the actual INV send) had 0 hits.</p></li><li><p>ALL_NET_MESSAGE_TYPES is used as the message pool. CConnman::PushMessage silently drops anything outside the five-type allowlist for private broadcast connections, wasting most iterations.</p></li><li><p>Connection types are picked randomly, hence private broadcast coverage is accidental.</p></li></ol><p><br>To solve the issues above;</p><ul><li><p>this harness explicitly constructs nodes with ConnectionType::PRIVATE_BROADCAST</p></li><li><p>seeds m_tx_for_private_broadcast via InitiateTxBroadcastPrivate before the peer connects, so PushPrivateBroadcastTx reaches the transaction send path</p></li><li><p>constrains the message pool to the five types permitted by CConnman::PushMessage on private broadcast connections (VERSION, VERACK, INV, TX, PING)</p></li><li><p>passes ServiceFlags{NODE_NONE} to InitializeNode, matching what PushNodeVersion advertises for private broadcast peers.</p></li></ul></blockquote></li></ul><div><hr></div><h4><strong>IRC meeting notes</strong></h4><h5><strong>Every week on Thursday, there is an IRC meeting. Here are some short notes from that meeting.</strong></h5><pre><code>&lt;<strong>abubakarsadiq</strong>&gt; #topic Benchmarking WG Update (l0rinc, andrewtoth)
&lt;<strong>l0rinc</strong>&gt; #<a href="https://github.com/bitcoin/bitcoin/issues/34124">34124</a> was merged, thanks for the reviews!
&lt;<strong>l0rinc</strong>&gt; Based on the discussion there, I opened #<a href="https://github.com/bitcoin/bitcoin/issues/35078">35078</a> as the next step in the coins cleanups.
&lt;<strong>l0rinc</strong>&gt; #<a href="https://github.com/bitcoin/bitcoin/issues/34132">34132</a> and #<a href="https://github.com/bitcoin/bitcoin/issues/34320">34320</a> were rebased after the recent merge - the Ubuntu PPA is probably still down, so CI doesn't always pass, but they're ready for review again.
&lt;<strong>l0rinc</strong>&gt; I'll be at a conference for the next few days, but want to focus on #<a href="https://github.com/bitcoin/bitcoin/issues/34887">34887</a> and #<a href="https://github.com/bitcoin/bitcoin/issues/31132">31132</a> again next week.
&lt;<strong>l0rinc</strong>&gt; I have also remeasured full reindex-chainstate on my Mac with our pending optimizations: it finished in 1h 14m
&lt;<strong>l0rinc</strong>&gt; on Umbrel is ~5h, full IBD aroun 8-10
&lt;<strong>l0rinc</strong>&gt; that's it from me - andrewtoth?</code></pre><pre><code><strong>&lt;abubakarsadiq&gt;</strong> <strong>#topic Net Split WG Update (cfields)</strong>
<strong>&lt;cfields&gt;</strong> been working on other things, no update this week</code></pre><pre><code><strong>&lt;abubakarsadiq&gt;</strong> <strong>#topic QML GUI WG Update (johnny9dev)</strong>
<strong>&lt;johnny9dev&gt;</strong> Finished up external signer support with <a href="https://github.com/bitcoin-core/gui-qml/issues/547">bitcoin-core/gui-qml#547</a>.  Now working on the remaining set of wallet functionality <a href="https://github.com/bitcoin-core/gui-qml/issues/548">bitcoin-core/gui-qml#548</a>, <a href="https://github.com/bitcoin-core/gui-qml/issues/550">bitcoin-core/gui-qml#550</a>, and have a &#8220;Wallet Settings&#8221; page designed and will be implementing backup, password change, and delete with that. Finally, fixing an onboarding regression update with <a href="https://github.com/bitcoin-core/gui-qml/issues/549">bitcoin-core/gui-qml#549</a>
<strong>&lt;johnny9dev&gt;</strong> Also have had a lot of success with AI assisted designing using Figma and Christoph&#8217;s web prototype to generate some of these settings pages. So am pretty excited about that.
<strong>&lt;johnny9dev&gt;</strong> epicleafies: any update?
<strong>&lt;johnny9dev&gt;</strong> I don&#8217;t see him here but he has been focused on finishing all of the Receiving features
<strong>&lt;johnny9dev&gt;</strong> we;re getting really close to having the core features have some sort of implementation now.
<strong>&lt;johnny9dev&gt;</strong> that is all</code></pre><pre><code><strong>&lt;abubakarsadiq&gt;</strong> <strong>#topic Libevent removal (pinheadmz, fjahr)</strong>
<strong>&lt;pinheadmz&gt;</strong> I think we can target v32 for libevent removal
<strong>&lt;pinheadmz&gt;</strong> Some goodies merged this week
<strong>&lt;pinheadmz&gt;</strong> <strong>#32061 I&#8217;m gonna rebase and close and reopen a fresh PR with latest comments from hodlinator and basil&#8217;s</strong>
<strong>&lt;pinheadmz&gt;</strong> Oops vasild
<strong>&lt;pinheadmz&gt;</strong> That&#8217;s all!
<strong>&lt;abubakarsadiq&gt;</strong> There are no pre-proposed meeting topics this week. Any last minute ones?
<strong>&lt;abubakarsadiq&gt;</strong> Anything else to discuss?
<strong>&lt;janb84&gt;</strong> pinheadmz: pleas also look at my comments, they are hand checked / poc hand crafted
<strong>&lt;pinheadmz&gt;</strong> Oh yes artisanal comments
<strong>&lt;pinheadmz&gt;</strong> Really great actually. Thanks</code></pre><div><hr></div><h4><strong>Releases</strong></h4><ul><li><p><a href="https://github.com/bitcoin-core/bitcoin-devwiki/wiki/31.0-Release-Notes-Draft">31.0 Release</a></p></li></ul><div><hr></div><blockquote><p>Thank you for reading. Be sure to tune in again next week for your updates on Bitcoin Core!</p></blockquote><p><em>If there are any comments, suggestions, or errors, do not hesitate to reach out or comment</em></p><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://insider.btcpp.dev/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe&quot;,&quot;language&quot;:&quot;en&quot;}" data-component-name="SubscribeWidgetToDOM"><div class="subscription-widget show-subscribe"><div class="preamble"><p class="cta-caption">bitcoin++'s Insider Edition is a reader-supported publication. To receive new posts and support my work, consider becoming a free or paid subscriber.</p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div>]]></content:encoded></item><item><title><![CDATA[Quantum Race — Last Week in Bitcoin (Apr 06 - 12)]]></title><description><![CDATA[New proposals for a post-quantum world...]]></description><link>https://insider.btcpp.dev/p/quantum-race-last-week-in-bitcoin</link><guid isPermaLink="false">https://insider.btcpp.dev/p/quantum-race-last-week-in-bitcoin</guid><dc:creator><![CDATA[Tuma (I WILL NEVER DM YOU)]]></dc:creator><pubDate>Mon, 13 Apr 2026 14:03:39 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!btNx!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fce0cf884-0687-4225-accf-5ffec2426b0b_1600x900.jpeg" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p><em>Hi Insiders. This is Tuma, open-source reporter from the Insider Edition.</em></p><p><em>This week&#8217;s update features PR1870 in CDK, which aims to integrate on-chain payments in the Cashu implementation using the Bitcoin Development Kit as a backend.</em></p><p><em>We also cover the new MIP-06 specification for the Marmot Protocol, which aims to standardize how to leverage the secure messaging protocol on different devices using the same Nostr identity.</em></p><p><em>We also discuss two new post-quantum proposal, one by StarkWare researcher Avihu Levy, and another by Lightning Labs CTO Olaoluwa Osuntokun.</em></p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!btNx!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fce0cf884-0687-4225-accf-5ffec2426b0b_1600x900.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!btNx!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fce0cf884-0687-4225-accf-5ffec2426b0b_1600x900.jpeg 424w, https://substackcdn.com/image/fetch/$s_!btNx!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fce0cf884-0687-4225-accf-5ffec2426b0b_1600x900.jpeg 848w, https://substackcdn.com/image/fetch/$s_!btNx!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fce0cf884-0687-4225-accf-5ffec2426b0b_1600x900.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!btNx!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fce0cf884-0687-4225-accf-5ffec2426b0b_1600x900.jpeg 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!btNx!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fce0cf884-0687-4225-accf-5ffec2426b0b_1600x900.jpeg" width="1456" height="819" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/ce0cf884-0687-4225-accf-5ffec2426b0b_1600x900.jpeg&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:819,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:347184,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/jpeg&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:true,&quot;internalRedirect&quot;:&quot;https://insider.btcpp.dev/i/194053989?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fce0cf884-0687-4225-accf-5ffec2426b0b_1600x900.jpeg&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!btNx!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fce0cf884-0687-4225-accf-5ffec2426b0b_1600x900.jpeg 424w, https://substackcdn.com/image/fetch/$s_!btNx!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fce0cf884-0687-4225-accf-5ffec2426b0b_1600x900.jpeg 848w, https://substackcdn.com/image/fetch/$s_!btNx!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fce0cf884-0687-4225-accf-5ffec2426b0b_1600x900.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!btNx!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fce0cf884-0687-4225-accf-5ffec2426b0b_1600x900.jpeg 1456w" sizes="100vw" fetchpriority="high"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><div><hr></div><h2><strong>Highlights from the bitcoin developer ecosystem</strong></h2><p><em>I spent 10+ hours in open-source developer calls in the Bitcoin ecosystem last week. Here is what caught my eye</em>:</p><ul><li><p><a href="https://github.com/cashubtc/cdk/pull/1870">PR1870</a> in Cashu Development Kit is integrating on-chain payments in the ecash protocol.</p><ul><li><p>During the weekly call, on Wednesday 8th, CDK developers discussed the ongoing effort to integrate on-chain payments in the ecash protocol. The draft PR1870 was opened the day after, on Thursday 9th.</p></li><li><p>This new feature would allow Cashu mints to mint and melt quotes through on-chain transactions, expanding the number of supported payment methods.</p></li><li><p>As an on-chain backend, PR1870 leverages the Bitcoin Development Kit (BDK), which provides all the needed functionalities to perform payments, such as receiving and sending, <a href="https://github.com/bitcoin/bips/blob/master/bip-0084.mediawiki">BIP84</a> key derivations, blockchain synching through Bitcoin Core and Esplora, and confirmations tracking.</p></li></ul></li><li><p><a href="https://github.com/marmot-protocol/marmot/pull/44">MIP-06</a> is the new specification for the Marmot protocol to allow users to share the same identity on multiple devices.</p><ul><li><p>During the monthly call, on Tuesday 7th, Marmot developers discussed the new Marmot Improvement Proposal (MIP) which aims to add support for using the same Nostr identity on multiple devices.</p></li><li><p>According to MIP-06, each device would generate its own key material, while sharing the same public key in their basic MLS identity information. This would allow clients to recognize each device key as belonging to the same user.</p></li><li><p>Each device would maintain its own independent MLS gorup state and message history, since no shared state is possible. Moreover, message decryption would happen separately and independently on each device.</p></li></ul></li></ul><div><hr></div><h2>A BIPs Update</h2><p><em>In the last days there was some movement in the <a href="https://github.com/bitcoin/bips">BIP repository</a>. Specifically, one new BIP has been published by BIP maintainer <a href="https://github.com/murchandamus">Murchandamus</a>.</em></p><h3>Published BIPs</h3><p><em>A list of recently published BIPs</em></p><h4>BIP376: Spending Silent Payment Outputs with PSBTs</h4><p><strong>Authors</strong>: <a href="https://github.com/nymius">Nymius</a></p><p><strong>Published On</strong>: Apr 11th, 2026</p><p><strong>Layer</strong>: Applications</p><p><a href="https://github.com/bitcoin/bips/blob/master/bip-0376.mediawiki">BIP376</a>, proposes adding new per-input fields in <a href="https://bitcoinops.org/en/topics/psbt/">Partially Signed Bitcoin Transactions</a> (PSBTs) v2, described in <a href="https://github.com/bitcoin/bips/blob/master/bip-0370.mediawiki">BIP370</a>, to allow for silent payment outputs spending.</p><p>While <a href="https://github.com/bitcoin/bips/blob/master/bip-0375.mediawiki">BIP375</a> already specifies how to create outputs locked with silent payments in PSBTs, a specification on how to unlock them is still not available. The BIP, proposed by <a href="https://github.com/bitcoindevkit">BDK</a> contributor Nymius, closes this gap in the specifications.</p><div><hr></div><h2>Other News from the Bitcoin World</h2><ul><li><p><strong>Quantum-Safe Bitcoin Transactions Without Softforks</strong>: StarkWare researcher Avihu Levy recently <a href="https://x.com/avihu28/status/2042287457530478720">shared</a> his latest work on a qunatum-safe scheme that does not require any softfork to the Bitcoin protocol to work. His research builds on a previous proposal by BitVM creator Robin Linus called <a href="https://delvingbitcoin.org/t/binohash-transaction-introspection-without-softforks/2288">Binohash</a>, a new, collision-resistant hash function for Bitcoin Script.</p></li><li><p><strong>A zk-STARK Escape Hatch for BIP-32 Wallets</strong>: Lightning Labs CTO Olaoluwa Osuntokun <a href="https://x.com/roasbeef/status/2041940571720487192">presented</a> a new proof-of-concept for a method to prove ownership on funds using zero-knowledge proof. In case of an emergency post-quantum softfork, many funds may remain locked in non-secure wallets. This scheme would allow users to prove the ownership of a certain address by demonstrating knowledge of a BIP32 master seed, without revealing it.</p></li></ul>]]></content:encoded></item><item><title><![CDATA[We Are Finally Reviewing Again - This week in Bitcoin Core #38]]></title><description><![CDATA[This week there was a PR review club after a long time...]]></description><link>https://insider.btcpp.dev/p/we-are-finally-reviewing-again-this</link><guid isPermaLink="false">https://insider.btcpp.dev/p/we-are-finally-reviewing-again-this</guid><dc:creator><![CDATA[kevkevin]]></dc:creator><pubDate>Fri, 10 Apr 2026 14:03:06 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!MJw8!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1cee73e5-1dd4-4081-a559-6f40592a5154_1456x816.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>Hello &#128075; folks, I&#8217;m kevkevin. I&#8217;m an open-source developer and reporter for Insider Edition. Last week, I reviewed several pull requests from the <a href="https://github.com/bitcoin/bitcoin/pulls">Bitcoin Core</a> repo.<br><br>This week, there was finally another <a href="https://bitcoincore.reviews/v31-rc-testing">PR review club</a>. The last review club was done in October of 2025. This one was for Testing Bitcoin Core 31.0 Release Candidates. In the IRC meeting, the goal was to build and run v31.0rc2 of Bitcoin Core. For every release of Bitcoin Core, there is a <a href="https://github.com/bitcoin-core/bitcoin-devwiki/wiki/31.0-Release-Candidate-Testing-Guide">Release Candidate Testing Guide</a>, which was used in the meeting.<br><br>Overall, the meeting went smoothly, and there were no major issues that were raised. Thanks to everyone who participated!</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!MJw8!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1cee73e5-1dd4-4081-a559-6f40592a5154_1456x816.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!MJw8!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1cee73e5-1dd4-4081-a559-6f40592a5154_1456x816.png 424w, https://substackcdn.com/image/fetch/$s_!MJw8!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1cee73e5-1dd4-4081-a559-6f40592a5154_1456x816.png 848w, https://substackcdn.com/image/fetch/$s_!MJw8!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1cee73e5-1dd4-4081-a559-6f40592a5154_1456x816.png 1272w, https://substackcdn.com/image/fetch/$s_!MJw8!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1cee73e5-1dd4-4081-a559-6f40592a5154_1456x816.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!MJw8!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1cee73e5-1dd4-4081-a559-6f40592a5154_1456x816.png" width="1456" height="816" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/1cee73e5-1dd4-4081-a559-6f40592a5154_1456x816.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:816,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:true,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!MJw8!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1cee73e5-1dd4-4081-a559-6f40592a5154_1456x816.png 424w, https://substackcdn.com/image/fetch/$s_!MJw8!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1cee73e5-1dd4-4081-a559-6f40592a5154_1456x816.png 848w, https://substackcdn.com/image/fetch/$s_!MJw8!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1cee73e5-1dd4-4081-a559-6f40592a5154_1456x816.png 1272w, https://substackcdn.com/image/fetch/$s_!MJw8!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1cee73e5-1dd4-4081-a559-6f40592a5154_1456x816.png 1456w" sizes="100vw" fetchpriority="high"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><h4><strong>Merged PR&#8217;s</strong></h4><h5><strong>Every week, several changes are officially added to Bitcoin Core. This week, </strong>24 <strong>changes were merged. Here are some I thought were interesting from this week.</strong></h5><ul><li><p><strong><a href="https://github.com/bitcoin/bitcoin/pull/34495">Replace boost signals with minimal compatible implementation</a></strong> by <strong><a href="https://github.com/theuni">Cory Fields</a><br></strong>This change is one to help reduce the use of the boost dependency for bitcoind. In this change, the use of boost was reduced to boost::multi_index. This change is part of the v32.0 milestone, and hopefully, bitcoind can eventually remove its reliance on boost entirely.<br><br>This change implemented a minimal compatible version of boost signals in src/btcsignals.h that bitcoind uses. This ultimately will be the replacement.<br><br>From my perspective, this feels like a part of a larger effort to remove most dependencies from bitcoind. As I will continue to talk about in the next pull request that was merged.</p></li><li><p><strong><a href="https://github.com/bitcoin/bitcoin/pull/34158">torcontrol: Remove libevent usage</a></strong> by <strong><a href="https://github.com/fjahr">Fabian Jahr</a><br></strong>Another dependency removal project is also underway. As I had mentioned in a previous edition of &#8220;This Week in Bitcoin Core&#8221; there is a new working group dedicated to removing the libevent dependency from bitcoind.<br><br>In the pull request, it was removing the libevent usage from torcontrol, specifically, it replaces the libevent-based async I/O with blocking I/O utilizing the existing <code>Sock</code> and <code>CThreadInterrupt.<br><br></code>Follow <a href="https://github.com/bitcoin/bitcoin/issues/31194">this link</a> if you want to keep track of the progress of the libevent removal changes. From what I see, 3 more PRs are waiting to be merged, and a draft PR tracking what it would look like if it were completely removed today.</p></li></ul><h5><strong>There are always changes being updated and reviewed in real-time. Here are some notable PR&#8217;s that are still up and looking for reviews.</strong></h5><ul><li><p><strong><a href="https://github.com/bitcoin/bitcoin/pull/35009">wallet, rpc: add include_change parameter to listtransactions</a> </strong>by <strong><a href="https://github.com/alfonsoromanz">alfonsoromanz</a></strong></p><blockquote><p>Currently, <code>listtransactions</code> silently hides transactions whose outputs go exclusively to change addresses. This can be confusing, as reported in <a href="https://github.com/bitcoin/bitcoin/issues/34632">#34632</a>: a user created a consolidation transaction sending funds to a change address, and the transaction disappeared from <code>listtransactions</code>, making it appear as though funds were lost.<br></p><p><code>listsinceblock</code> already supports an <code>include_change</code> parameter for this purpose. The internal <code>ListTransactions</code> helper also already accepts it. This PR simply wires the parameter through the <code>listtransactions</code> RPC handler for consistency.</p></blockquote></li></ul><div><hr></div><h4><strong>IRC meeting notes</strong></h4><h5><strong>Every week on Thursday, there is an IRC meeting. Here are some short notes from that meeting.</strong></h5><pre><code><strong>&lt;abubakarsadiq&gt; #topic Fuzzing WG Update (dergoegge)
&lt;dergoegge&gt; Not much to say but we published a second blog post about fuzzamoto: https://brink.dev/blog/2026/04/09/fuzzamoto-non-determinism/</strong></code></pre><pre><code><strong>&lt;abubakarsadiq&gt;</strong> <strong>#topic Net Split WG Update (cfields)</strong>
<strong>&lt;cfields&gt;</strong> I just pushed #<a href="https://github.com/bitcoin/bitcoin/issues/35040">35040</a>. It&#8217;s move-only. please have a look :)
<strong>&lt;abubakarsadiq&gt;</strong> Nice. Is that it?
<strong>&lt;cfields&gt;</strong> &#128077;</code></pre><pre><code><strong>&lt;abubakarsadiq&gt;</strong> <strong>#topic Libevent removal (pinheadmz, fjahr)</strong>
<strong>&lt;pinheadmz&gt;</strong> hello
<strong>&lt;pinheadmz&gt;</strong> From fjahr: &#8220;#<a href="https://github.com/bitcoin/bitcoin/issues/34158">34158</a> was merged. Now my only PR left on this project is #<a href="https://github.com/bitcoin/bitcoin/issues/34342">34342</a> and since it depended on some changes from #<a href="https://github.com/bitcoin/bitcoin/issues/34905">34905</a>, which was also merged, I was now able to take it out of draft status and it&#8217;s ready for review. It has some small parts shared with #<a href="https://github.com/bitcoin/bitcoin/issues/32061">32061</a> but I have decoupled it for now to allow for independent review.&#8221;
<strong>&lt;pinheadmz&gt;</strong> And for me, now that #<a href="https://github.com/bitcoin/bitcoin/issues/34905">34905</a> was merged, next PR is #<a href="https://github.com/bitcoin/bitcoin/issues/34772">34772</a> which currently has 2 ACKs. Then I can rebase #<a href="https://github.com/bitcoin/bitcoin/issues/32061">32061</a> (removing the first 7 commits) and address the feedback there from hodlinator and vasild.
<strong>&lt;pinheadmz&gt;</strong> and thats all for us !
<strong>&lt;cfields&gt;</strong> &#128640;
<strong>&lt;dzxzg&gt;</strong> Very cool</code></pre><pre><code><strong>&lt;abubakarsadiq&gt;</strong> <strong>#topic QML GUI WG Update (johnny9dev)</strong>
<strong>&lt;johnny9dev&gt;</strong> focused on external signer support this week. I have configuration and wallet creation and working through getting signing setup in the send flow.
<strong>&lt;johnny9dev&gt;</strong> epicleafies: any status?
<strong>&lt;epicleafies&gt;</strong> was out of town, planning on working on another uri issue and fixing up previous PRs
<strong>&lt;johnny9dev&gt;</strong> thanks, that is all</code></pre><pre><code><strong>&lt;abubakarsadiq&gt;</strong> <strong>#topic Kernel WG Update (sedited)</strong>
<strong>&lt;cfields&gt;</strong> I believe he&#8217;s still away
<strong>&lt;abubakarsadiq&gt;</strong> sedited is not here, but I pushed #<a href="https://github.com/bitcoin/bitcoin/issues/35000">35000</a>, to add unit + fuzz test for block validity, motivation and other details are in description.
<strong>&lt;abubakarsadiq&gt;</strong> That&#8217;s it from me. I don&#8217;t think there is any kernel-related update.</code></pre><pre><code><strong>&lt;abubakarsadiq&gt;</strong> <strong>#topic Benchmarking WG Update (l0rinc, andrewtoth)</strong>
<strong>&lt;l0rinc&gt;</strong> #<a href="https://github.com/bitcoin/bitcoin/issues/34208">34208</a> was merged, from now on we can make a few benchmarks more realistic by excluding the expensive setup times from the measurements.
<strong>&lt;l0rinc&gt;</strong> A follow-up was pushed to #<a href="https://github.com/bitcoin/bitcoin/issues/35025">35025</a> and #<a href="https://github.com/bitcoin/bitcoin/issues/32554">32554</a> was rebased.
<strong>&lt;l0rinc&gt;</strong> <strong>#</strong><a href="https://github.com/bitcoin/bitcoin/issues/34124">34124</a> was also rebased after the change, it&#8217;s ready for review again.
<strong>&lt;l0rinc&gt;</strong> That&#8217;s it from me.
<strong>&lt;abubakarsadiq&gt;</strong> Nice
<strong>&lt;andrewtoth_&gt;</strong> no update from me</code></pre><div><hr></div><h4><strong>Releases</strong></h4><ul><li><p><a href="https://github.com/bitcoin-core/bitcoin-devwiki/wiki/31.0-Release-Notes-Draft">31.0 Release</a></p></li></ul><div><hr></div><blockquote><p>Thank you for reading. Be sure to tune in again next week for your updates on Bitcoin Core!</p></blockquote><p><em>If there are any comments, suggestions, or errors, do not hesitate to reach out or comment</em></p><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://insider.btcpp.dev/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe&quot;,&quot;language&quot;:&quot;en&quot;}" data-component-name="SubscribeWidgetToDOM"><div class="subscription-widget show-subscribe"><div class="preamble"><p class="cta-caption">bitcoin++'s Insider Edition is a reader-supported publication. To receive new posts and support my work, consider becoming a free or paid subscriber.</p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div>]]></content:encoded></item></channel></rss>