<?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>Mon, 04 May 2026 05:28:07 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[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><item><title><![CDATA[Smaller Quantum Signatures— Last Week in Bitcoin (Mar 30 - Apr 05)]]></title><description><![CDATA[Highlights from the bitcoin developer ecosystem]]></description><link>https://insider.btcpp.dev/p/smaller-quantum-signatures-last-week</link><guid isPermaLink="false">https://insider.btcpp.dev/p/smaller-quantum-signatures-last-week</guid><dc:creator><![CDATA[Tuma (I WILL NEVER DM YOU)]]></dc:creator><pubDate>Mon, 06 Apr 2026 14:03:25 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!iijg!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F207aceee-37f6-4b4b-9452-1ff26c6d7c17_1600x900.jpeg" length="0" type="image/jpeg"/><content:encoded><![CDATA[<div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!iijg!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F207aceee-37f6-4b4b-9452-1ff26c6d7c17_1600x900.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!iijg!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F207aceee-37f6-4b4b-9452-1ff26c6d7c17_1600x900.jpeg 424w, https://substackcdn.com/image/fetch/$s_!iijg!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F207aceee-37f6-4b4b-9452-1ff26c6d7c17_1600x900.jpeg 848w, https://substackcdn.com/image/fetch/$s_!iijg!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F207aceee-37f6-4b4b-9452-1ff26c6d7c17_1600x900.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!iijg!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F207aceee-37f6-4b4b-9452-1ff26c6d7c17_1600x900.jpeg 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!iijg!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F207aceee-37f6-4b4b-9452-1ff26c6d7c17_1600x900.jpeg" width="1456" height="819" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/207aceee-37f6-4b4b-9452-1ff26c6d7c17_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/193279837?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F207aceee-37f6-4b4b-9452-1ff26c6d7c17_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_!iijg!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F207aceee-37f6-4b4b-9452-1ff26c6d7c17_1600x900.jpeg 424w, https://substackcdn.com/image/fetch/$s_!iijg!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F207aceee-37f6-4b4b-9452-1ff26c6d7c17_1600x900.jpeg 848w, https://substackcdn.com/image/fetch/$s_!iijg!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F207aceee-37f6-4b4b-9452-1ff26c6d7c17_1600x900.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!iijg!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F207aceee-37f6-4b4b-9452-1ff26c6d7c17_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><h2><strong>Highlights from the bitcoin developer ecosystem</strong></h2><p><em>Hi Insiders. This is Tuma, open-source reporter from the Insider Edition. 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/rust-lightning/pull/4297">PR4297</a> in rust-lightning is implementing BOLT12 payer proofs.</p><ul><li><p>During the biweekly update, on Monday 30th, LDK contributors discussed updates to various open PRs. In particular, they discussed PR4297 which is proposing a draft implementation for BOLT12 payer proofs.</p></li><li><p>BOLT12 payer proofs, proposed in <a href="https://github.com/lightning/bolts/pull/1295">PR1295</a> of the BOLTs specifications repository, are a way to prove that a BOLT12 invoice has been paid by demonstrating possession of the payment preimage, a valid signature over a merkle root, and the payer&#8217;s signatures.</p></li><li><p>The declared goal of the PR is to get early feedback on the design to validate the proposed APIs before the specification is finalized.</p></li></ul></li><li><p><a href="https://github.com/cashubtc/cdk/releases/tag/v0.16.0">v0.16.0</a> of CDK was released last week, bringing new powerful features to the Cashu implementation.</p><ul><li><p>During the weekly update, on Wednesday 1st, CDK developers discussed the recent release of v0.16.0, which introduces new powerful features. The new version had been published the previous day, on Tuesday 31st.</p></li><li><p>The new version is now up-to-date with the latest Cashu specifications. In particular, it introduces Pay-To-Blinded Key (P2BK), defined in <a href="https://github.com/cashubtc/nuts/blob/main/28.md">NUT-28</a>, which adds a layer of privacy over Pay-To-Public-Key (P2PK), it implements batch minting, defined in <a href="https://github.com/cashubtc/nuts/blob/main/29.md">NUT-29</a>, to mint multiple quotes in one single batched operation.</p></li><li><p>The release also brings <a href="https://github.com/bitcoin/bips/blob/master/bip-0321.mediawiki">BIP321</a>, a Universal Resource Identifier (URI) scheme for Bitcoin payments, encoding multiple types of Bitcoin payments.</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>SHRIMPS</strong>: <a href="https://x.com/n1ckler">Jonas Nick</a> from Blockstream Research <a href="https://delvingbitcoin.org/t/shrimps-2-5-kb-post-quantum-signatures-across-multiple-stateful-devices/2355">posted</a> to Delving Bitcoin about a new post-quantum signature scheme, SHRIMPS. Built on top of <a href="https://delvingbitcoin.org/t/shrincs-324-byte-stateful-post-quantum-signatures-with-static-backups/2158">SHRINCS</a>, their latest hash-based signature allows users to load a static seed backup in multiple signing devices to maintain a signature size of around 2.5KB, tackling one of the drawbacks of the previous scheme. Keep an eye out, a deep dive on post-quantum signatures is coming soon!</p></li><li><p><strong>Bark coming to mainnet</strong>: On Sunday 5th, Second <a href="https://x.com/secondhq/status/2040804141929517423?s=20">announced</a> the release of v0.1.0 of Bark, their implementation of the Ark protocol, dropping the <code>beta</code> tag. According to the company, the launch on mainnet is coming soon.</p></li></ul>]]></content:encoded></item><item><title><![CDATA[This week in Bitcoin Core #37]]></title><description><![CDATA[This week Bitcoin Core had some changes made...]]></description><link>https://insider.btcpp.dev/p/this-week-in-bitcoin-core-37</link><guid isPermaLink="false">https://insider.btcpp.dev/p/this-week-in-bitcoin-core-37</guid><dc:creator><![CDATA[kevkevin]]></dc:creator><pubDate>Fri, 03 Apr 2026 14:03:08 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>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/34491">ci: add FreeBSD Clang cross job</a></strong><a href="https://github.com/bitcoin/bitcoin/pull/34491"> </a>by <strong><a href="https://github.com/fanquake">fanquake</a><br></strong>This is an alternative to <a href="https://github.com/bitcoin/bitcoin/pull/33562">another PR,</a> which tried to add a native FreeBSD job but had issues with permissions and caching.<br><br>Overall, this change adds a new CI job adding a job named FreeBSD Cross. What Bitcoin Core gains from this change is more coverage across another type of system. That system is FreeBSD Cross. <br></p></li><li><p><strong><a href="https://github.com/bitcoin/bitcoin/pull/32297">bitcoin-cli: Add -ipcconnect option</a></strong> by <strong><a href="https://github.com/ryanofsky">ryanofsky</a><br></strong>This change was motivated by a <a href="https://github.com/bitcoin/bitcoin/issues/28722#issuecomment-2807026958">comment</a> by Sipa that suggested to allow the bitcoin-cli to connect to the node via IPC instead of TCP. This can be used if ENABLE_IPC is enabled and the node has been started with -ipcbind.<br><br>Adding this feature gives more flexibility for users of the bitcoin-cli because now they have more options on how they want to connect to their node.<br><br>In addition to this change, now bitcoin-cli prefers IPC over HTTP by default.<br></p></li><li><p><strong><a href="https://github.com/bitcoin/bitcoin/pull/32875">index: handle case where pindex_prev equals chain tip in NextSyncBlock()</a></strong> by <strong><a href="https://github.com/HowHsu">HowHsu</a><br></strong>This change is a minimal improvement on when we return if the previous block tip is null. One thing I noticed in this change is that there was significant conversation for something that is mostly a refactor/code cleanup. While it is not completely a refactor and has a change to return early if pindex_prev == chain.Tip() in the NextSyncBlock function.<br><br>There was just some discussion around whether new tests should be added. Ultimately, there were no new tests added.</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/34965">cli: Return more helpful authentication errors</a> </strong>by <strong><a href="https://github.com/hodlinator">hodlinator</a></strong></p><blockquote><p>Increases precision of error messages to help the user correct authentication issues.</p></blockquote><p>This adds a few useful responses<br></p><blockquote><p>Failed to read cookie file and no rpcpassword was specified.</p></blockquote><blockquote><p>Cookie file was disabled via -norpccookiefile and no rpcpassword was specified.</p></blockquote><blockquote><p>Cookie file credentials were invalid and no rpcpassword was specified.</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>&lt;abubakarsadiq&gt; #topic Net Split WG Update (cfields)
&lt;cfields&gt; No update this week. Should have an incoming pr or two in the next few days for a LocalAddressManager.</code></pre><pre><code><strong>&lt;abubakarsadiq&gt;</strong> <strong>#topic Silent Payments WG Update (Novo__, theStack)
&lt;theStack&gt; no update, mostly awaiting review for the silentpayments module PR https://github.com/bitcoin-core/secp256k1/pull/1765</strong></code></pre><pre><code><strong>&lt;abubakarsadiq&gt;</strong> <strong>#topic QML GUI WG Update (johnny9dev)
&lt;johnny9dev&gt; For qml. This last week i added a gui functional test to my legacy wallet migration flow PR and undrafted the PR. This test will use v28 to create a wallet to migrate. I also completed the Fee selection controls for picking a couple of standard targets or entering a custom fee.
&lt;johnny9dev&gt; epicleafies: can you give status?
&lt;abubakarsadiq&gt; theStack: I saw some update on the mailing list as well?
&lt;johnny9dev&gt; Not sure epicleafies is here but he has a bunch of PRs up for the qml. Some of the ones he worked on the last week was the desktop tray and the BIP321 integrations
&lt;epicleafies&gt; yeah, this past week I've created a pr for adding bip21 uri support and updating previous PRs
&lt;johnny9dev&gt; thanks
&lt;theStack&gt; abubakarsadiq: ah yes, that was a demonstration of the worst-case scanning attack on signet. wallets can use this to see if/how they are affected
&lt;johnny9dev&gt; I think with all of what we have in PR now we're down to 6 remaining tasks out of the original 21 list to get to feature parity
&lt;johnny9dev&gt; Address Book and Contacts Management, Receive Request History and BIP21 sharing, Replace-by-fee Speedup and Cancel, PSBT Import/Export, Sign/Verify message flow, External Signer/HWI
&lt;johnny9dev&gt; that is all for this week</strong></code></pre><pre><code><strong>&lt;abubakarsadiq&gt;</strong> <strong>#topic Libevent removal (pinheadmz, fjahr)</strong>
<strong>&lt;fjahr&gt;</strong> Update from pinheadmz (not here today): This week I addressed review on <a href="https://github.com/bitcoin/bitcoin/issues/34905">#</a><code>34905</code><a href="https://github.com/bitcoin/bitcoin/issues/34905"> </a>and #<a href="https://github.com/bitcoin/bitcoin/issues/34772">34772</a> both have concept ACK and stale ACK so should be the home stretch then I&#8217;ll rebase the big daddy #<a href="https://github.com/bitcoin/bitcoin/issues/32061">32061</a> on those and incorporate new feedback there. Coverage results of libfuzzer and fuzzamoto are posted in the big PR, no crashes! I started on integration tests, first with lnd -- but there are already several non-http integration
16:12:37 <strong>&lt;fjahr&gt;</strong> issues between LND and core, from the buried taproot deployment and mempool policy changes in 29.1 (their CI is pinned at 29.0 today).
16:12:51 <strong>&lt;fjahr&gt;</strong> Update from me: Addressed some more feedback on #<a href="https://github.com/bitcoin/bitcoin/issues/34158">34158</a> but it also seems be getting close
16:13:01 <strong>&lt;fjahr&gt;</strong> That&#8217;s it from me</code></pre><div><hr></div><h4><strong>Releases</strong></h4><ul><li><p>None 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[The Grand Script Renaissance — Last Week in Bitcoin (Mar 23 - 29)]]></title><description><![CDATA[Highlights from the bitcoin developer ecosystem...]]></description><link>https://insider.btcpp.dev/p/the-grand-script-renaissance-last</link><guid isPermaLink="false">https://insider.btcpp.dev/p/the-grand-script-renaissance-last</guid><dc:creator><![CDATA[Tuma (I WILL NEVER DM YOU)]]></dc:creator><pubDate>Mon, 30 Mar 2026 14:03:31 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!ce3r!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7fa9642f-0601-4190-b764-9374a7b01b2e_1600x900.jpeg" length="0" type="image/jpeg"/><content:encoded><![CDATA[<div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!ce3r!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7fa9642f-0601-4190-b764-9374a7b01b2e_1600x900.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!ce3r!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7fa9642f-0601-4190-b764-9374a7b01b2e_1600x900.jpeg 424w, https://substackcdn.com/image/fetch/$s_!ce3r!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7fa9642f-0601-4190-b764-9374a7b01b2e_1600x900.jpeg 848w, https://substackcdn.com/image/fetch/$s_!ce3r!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7fa9642f-0601-4190-b764-9374a7b01b2e_1600x900.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!ce3r!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7fa9642f-0601-4190-b764-9374a7b01b2e_1600x900.jpeg 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!ce3r!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7fa9642f-0601-4190-b764-9374a7b01b2e_1600x900.jpeg" width="1456" height="819" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/7fa9642f-0601-4190-b764-9374a7b01b2e_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/192595329?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7fa9642f-0601-4190-b764-9374a7b01b2e_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_!ce3r!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7fa9642f-0601-4190-b764-9374a7b01b2e_1600x900.jpeg 424w, https://substackcdn.com/image/fetch/$s_!ce3r!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7fa9642f-0601-4190-b764-9374a7b01b2e_1600x900.jpeg 848w, https://substackcdn.com/image/fetch/$s_!ce3r!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7fa9642f-0601-4190-b764-9374a7b01b2e_1600x900.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!ce3r!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7fa9642f-0601-4190-b764-9374a7b01b2e_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><h2><strong>Highlights from the bitcoin developer ecosystem...</strong></h2><p><em>Hi Insiders. This is Tuma, open-source reporter from the Insider Edition. 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/sv2-apps/releases/tag/v0.3.1">v0.3.1</a> of Stratum V2 Applications was released to address some issues in v0.3.0.</p><ul><li><p>During the weekly call, on Tuesday 24th, Stratum V2 contributors discussed the need to publish a patch version for v0.3.0 of the Applications library. The patch was later released on Friday 27th.</p></li><li><p>The main fix pushed is related to a <a href="https://en.wikipedia.org/wiki/Race_condition">race condition</a> on chain tip updates in the Job Declarator message flow. Specifically, the error seems linked to the <code>bitcoin_core_sv2</code> crate design, which needs many workarounds to work correctly with Bitcoin Core.</p></li><li><p>According to the developers, these workarounds could be dropped and the crate design simplified as soon as draft <a href="https://github.com/bitcoin/bitcoin/pull/34020">PR34020</a> in Bitcoin Core gets merged and released, which is expected to happen in v32.</p></li></ul></li><li><p><a href="https://github.com/cashubtc/nuts/pull/348">PR348</a> in the NUT repository adds BIP321 to the Cashu protocol specifications.</p><ul><li><p>During the monthly community call, on Thursday 26th, Cashu developers discussed the recently-merged PR348, which adds <a href="https://github.com/bitcoin/bips/blob/master/bip-0321.mediawiki">BIP321</a> to the NUT specifications.</p></li><li><p>This PR modifies <a href="https://github.com/cashubtc/nuts/blob/main/26.md">NUT26</a>, which defines Bech32m encoding for payment requests. In particular, it adds a section specifying how to create BIP321 payment requests. This BIP introduces a Universal Resource Identifier (URI) scheme for Bitcoin payments, encoding multiple types of Bitcoin payments, such as on-chain, LN, or Cashu, in a single, unified QR code.</p></li><li><p><strong>What is cool about the tech</strong>: BIP321 allows to improve the UX of Bitcoin payments, providing a layer-agnostic method for receiving Bitcoin.</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, 2 new BIPs have been assigned a number by BIP maintainer <a href="https://github.com/murchandamus">Murchandamus</a>. These BIPs belong to the so-called &#8220;Great Script Restoration&#8221; (or &#8220;Grand Script Renaissance&#8221; as <a href="https://x.com/ajtowns">AJ Towns</a> framed it), a proposal that was first presented during <a href="https://www.youtube.com/watch?v=rSp8918HLnA">Bitcoin++ Austin in 2024</a>.</em></p><h3>Published BIPs</h3><p><em>A list of recently published BIPs</em></p><p>No new BIPs were published during the last week.</p><h3>Numbered BIPs</h3><p><em>A list of BIPs that recently got assigned a number</em></p><h4>BIP440: Varops Budget For Script Runtime Constraint</h4><p><strong>Authors</strong>: <a href="https://github.com/rustyrussell">Rusty Russel</a>, <a href="https://github.com/jmoik">Julian Moik</a></p><p><strong>Assigned On</strong>: March 25th, 2026</p><p><strong>Layer</strong>: Consensus (Soft Fork)</p><p><a href="https://github.com/bitcoin/bips/pull/2118/">PR2118</a> introduces BIP440, which defines a varops budget, a generalization of the sigops budget introduced in <a href="https://github.com/bitcoin/bips/blob/master/bip-0342.mediawiki">BIP342</a> for non-signature operations. This BIP aims to provide an explicit cost framework that uses the length of the stack inputs to limit the amount of operations allowed in a script to ensure rapid evaluation.</p><h4>BIP441: Restoration of disabled script (Tapleaf <code>0xC2</code>)</h4><p><strong>Authors</strong>: <a href="https://github.com/rustyrussell">Rusty Russel</a>, <a href="https://github.com/jmoik">Julian Moik</a></p><p><strong>Assigned On</strong>: March 25th, 2026</p><p><strong>Layer</strong>: Consensus (Soft Fork)</p><p><a href="https://github.com/bitcoin/bips/pull/2118/">PR2118</a> introduces BIP441, which proposes a new tapleaf version <code>0xC2</code> which restores Bitcoin scripts to its pre-v0.3.1 capabilities, building on BIP440 varops budget to prevent excessive computational time. This BIP aims to reenable all the opcodes that were disabled in Bitcoin v0.3.1 due to <a href="https://en.bitcoin.it/wiki/Common_Vulnerabilities_and_Exposures#CVE-2010-5137">CVE-2010-5137</a>.</p><div><hr></div><h2>Other News from the Bitcoin World</h2><ul><li><p><strong>Wallet fingerprinting can damage Payjoin pivacy</strong>: PDK maintainer <a href="https://x.com/arminsdev">Armin Sabouri</a> published an interesting <a href="https://payjoin.org/blog/2026/03/25/wallet-fingerprints-payjoin-privacy/">article</a> discussing how choices made by individual wallets implementations can jeopardize the privacy gains from using Payjoin. These choices, such as coin selection algorithm, fee estimation, and signature encoding, can create well-defined patterns in Bitcoin transactions, known as wallet fingerprints, that can be used by chain analysis firms to improve their heuristics and decrease users&#8217; privacy.</p></li><li><p><strong>Numo + BIP321</strong>: In its effort to improve the UX for Bitcoin payments, the <a href="https://github.com/cashubtc/Numo/releases/tag/v1.3">latest release</a> of Numo, the <a href="https://open.substack.com/pub/btcpp/p/the-apple-pay-experience-comes-to?r=2c4bjq&amp;selection=8aff906c-c68b-4f69-bd69-0dbdff974365&amp;utm_campaign=post-share-selection&amp;utm_medium=web&amp;aspectRatio=instagram&amp;textColor=%23ffffff&amp;bgImage=true">tap-2-pay enabled Cashu point-of-sale</a>, integrates BIP321, recently added in the NUT specifications. Merchants can now provide a single, unified QR code to their customers.</p></li><li><p><strong>Stratum V2 call-to-action</strong>: Recently, Stratum V2 project manager <a href="https://x.com/pavlenex">Pavlenex</a> launched a <a href="https://x.com/pavlenex/status/2036487312733835403?s=20">call-to-action</a> to form a small team to test a new feature developers have been working on recently. If you have a miner, reach out to Pavlenex.</p></li></ul>]]></content:encoded></item><item><title><![CDATA[Taproot BIP 9 deployment DELETED - This week in Bitcoin Core #36]]></title><description><![CDATA[This week Bitcoin Core removed the Taproot deployment code...]]></description><link>https://insider.btcpp.dev/p/taproot-bip-9-deployment-deleted</link><guid isPermaLink="false">https://insider.btcpp.dev/p/taproot-bip-9-deployment-deleted</guid><dc:creator><![CDATA[kevkevin]]></dc:creator><pubDate>Fri, 27 Mar 2026 14:01:25 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><p>This week, Sjors Provoost has his PR merged, which deleted the <code>DEPLOYMENT_TAPROOT</code> from <code>consensus.vDeployments.</code> This might sound scary, but this is just some cleanup work done now that, since v24.0, taproot is enforced for all blocks. <br><br>Read below for more information!</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>42 <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/33259">rpc, logging: add backgroundvalidation to getblockchaininfo</a></strong> by <strong><a href="https://github.com/polespinasa">polespinasa</a></strong></p><p>Pol Espinasa opened this PR last year in August to update the getblockchaininfo RPC. This is because, before this change, it would return <code>verificationprogress=1</code> and <code>initialblockdownload=false </code>even if there was background validation.<br><br>What Espinasa&#8217;s change does is add information about background validation to the <code>getblockchaininfo</code> RPC is similar to how the <code>validationprogress</code> RPC does.</p></li><li><p><strong><a href="https://github.com/bitcoin/bitcoin/pull/29060">Policy: Report debug message why inputs are non standard</a></strong> by <strong><a href="https://github.com/ismaelsadeeq">ismaelsadeeq</a><br></strong>This PR is the second attempt at making this work. Abubakar Sadiq Ismail took a second attempt at a PR that was closed in 2018 that when a transaction goes through its validation checks and fails the <code>PreChecks</code> due to it being non-standard now returns an invalid validation state and a debug error message.<br><br>Before this the debug error message would not specify why the inputs were considered non-standard. This means it would be difficult for a developer or user to understand why their transaction was marked as non-standard and failed.</p></li><li><p><strong><a href="https://github.com/bitcoin/bitcoin/pull/26201">Remove Taproot BIP 9 deployment</a></strong> by <strong><a href="https://github.com/Sjors">Sjors</a><br></strong>As mentioned earlier, it has been a while since we have included the taproot upgrade to Bitcoin Core. Since v24.0, all blocks enforce taproot to be exact. Sjors Provoost figured that it made sense to drop any code that might be related to the delployment of Taproot since we can safely assume that it has been successfully deployed and no longer needed.<br><br>This change removes <code>DEPLOYMENT_TAPROOT</code> from <code>consensus.vDeployments</code>. The logic for removing and not marking it at burried is because the activation height has been removed from the codebase, unlike <code>DEPLOYMENT_SEGWIT</code> of which the height is still relied on.</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/34873">net: fix premature stale flagging of unpicked private broadcast txs</a> </strong>by <strong><a href="https://github.com/Mccalabrese">Mccalabrese</a></strong></p><blockquote><p><strong>Motivation</strong><br>Currently, freshly added transactions in <code>private_broadcast</code> are almost immediately flagged and logged as stale by the <code>resend-stale</code> job.<br></p><p><strong>The Bug</strong><br><code>m_transactions</code> maps a transaction to a <code>std::vector&lt;SendStatus&gt;</code>. When <code>try_emplace</code> adds a new transaction, this vector is empty. When <code>GetStale()</code> runs, <code>DerivePriority()</code> evaluates the empty vector and returns a default <code>Priority</code> struct where <code>last_confirmed</code> evaluates to the Unix Epoch (Jan 1, 1970). The stale checker sees a 50-year-old timestamp and flags it on the next resend-stale cycle.<br></p><p><strong>The Fix</strong><br>Rather than modifying the transient <code>Priority</code> struct or creating a &#8220;Zombie Transaction&#8221; edge case by ignoring transactions with 0 picks, this PR modifies the state container:</p><ul><li><p>Wraps the <code>SendStatus</code> vector in a new <code>TxSendStatus</code> struct inside <code>private_broadcast.h</code>.</p></li><li><p><code>TxSendStatus</code> automatically captures <code>time_added</code> upon emplace.</p></li><li><p><code>GetStale()</code> now checks <code>p.num_confirmed == 0</code> to measure age against <code>time_added</code> using a new 5-minute <code>INITIAL_STALE_DURATION</code> grace period, falling back to <code>last_confirmed</code> and the standard 1-minute <code>STALE_DURATION</code> once network interaction begins.</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;fjahr&gt; #topic Kernel WG Update (sedited)
&lt;sedited&gt; no updates from me this week, and am going afk for the next three weeks.</code></pre><pre><code><strong>&lt;fjahr&gt;</strong> <strong>#topic Benchmarking WG Update (l0rinc, andrewtoth)</strong>
<strong>&lt;andrewtoth_&gt;</strong> nothing from me this week</code></pre><pre><code><strong>&lt;fjahr&gt;</strong> <strong>#topic Net Split WG Update (cfields)</strong>
<strong>&lt;cfields&gt;</strong> Finally some progress! I have a branch which cleans up all of the local address handling which is currently just a bunch of global functions used all over the place (GetLocal(), AddLocal(), etc). Ultimately they are all used for GetLocalAddrForPeer().
<strong>&lt;cfields&gt;</strong> My first step has been just to remove the dependencies on CNode and move all of the functions into a new LocalAddressManager. For now, it&#8217;s instantiated as a static global. Functionally there&#8217;s no change but it&#8217;s now 10x easier to understand how it all works and test. The next step will be to actually instantiate it and store it in node.
<strong>&lt;cfields&gt;</strong> While working on it, I discovered a few nasty leaks that should potentially be fixed. I&#8217;m working on testing and documenting so that I can propose some fixes and behavioral changes.
<strong>&lt;cfields&gt;</strong> Both streams (refactor and fixes) could potentially happen in parallel, but imo it&#8217;s _much_ easier to understand what&#8217;s going on and test after refactoring to a sane manager class. So I&#8217;ll probably PR that work first.
<strong>&lt;fjahr&gt;</strong> Cool, anything else on net split?
<strong>&lt;cfields&gt;</strong> Nope, that&#8217;s it for now.</code></pre><pre><code><strong>&lt;fjahr&gt;</strong> <strong>#topic QML GUI WG Update (johnny9dev)</strong>
<strong>&lt;johnny9dev&gt;</strong> The decoupling of qml from the qt widgets gui is done. A part of that also included the last piece of automated test tools for the project. Specifically gmock for mocking the wallet and node interfaces
<strong>&lt;johnny9dev&gt;</strong> so the project now has comprehensive testing. unittests, qml tests, and end to end gui tests
<strong>&lt;johnny9dev&gt;</strong> Feature wise wallet import/restore was merged and a pr for wallet migration is up and this week i did all of the features for fee setting. Those will be PR&#8217;d the next couple of days
<strong>&lt;johnny9dev&gt;</strong> epicleafies has a bunch of PRs lingering for features he completed so my top priority is to finish reviews of all of those now that the test frameworks are settled and they all no longer have conflicts
<strong>&lt;johnny9dev&gt;</strong> epicleafies: can you share your status?
<strong>&lt;fanquake&gt;</strong> gmock as in Google Test / Mock?
<strong>&lt;epicleafies&gt;</strong> Yeah, this past week I&#8217;ve created PRs for adding desktop tray icon/functionality and the rpc console page
<strong>&lt;johnny9dev&gt;</strong> yeah thats what I know for mocking. open to swapping it out later but I&#8217;ve always liked it.
<strong>&lt;johnny9dev&gt;</strong> only using gmock, nothing from gtest
<strong>&lt;fjahr&gt;</strong> seems like that&#8217;s it for gui?
<strong>&lt;johnny9dev&gt;</strong> yeah thats it. we&#8217;ll be PRing a few more features and then i will likely do another assestment to see what the remaining gap is and I will share that</code></pre><pre><code><strong>&lt;fjahr&gt;</strong> <strong>#topic Libevent removal (pinheadmz, fjahr)</strong>
<strong>&lt;pinheadmz&gt;</strong> <strong>#<a href="https://github.com/bitcoin/bitcoin/issues/32061">32061</a> has been rebased following great reviews on code style and deeper http protocol. I am running fuzzers on the branch this week and will re-run my integration tests with lnd, electrs, etc as well. The first 7 commits add tests and utilities, and are split off in to two small PRs which are in review, and I&#8217;m pushing updates today: #<a href="https://github.com/bitcoin/bitcoin/issues/34772">34772</a> and #<a href="https://github.com/bitcoin/bitcoin/issues/34905">34905</a></strong>
<strong>&lt;fjahr&gt;</strong> From my side, I am still getting some good on the torcontrol PR (#<a href="https://github.com/bitcoin/bitcoin/issues/34158">34158</a>) and respond to that as quickly as possible. I think it looks to be in pretty good shape by now.
<strong>&lt;fjahr&gt;</strong> *good review
<strong>&lt;fjahr&gt;</strong> That concludes the WGs unless I missed someone</code></pre><pre><code><code>&lt;fjahr&gt; #topic asmap file format &amp; tooling (sipa)

There was quite a bit of conversation on this topic, read the full meeting in minutes to get the full scoop</code></code></pre><p></p><div><hr></div><h4><strong>Releases</strong></h4><ul><li><p>https://github.com/bitcoin/bitcoin/tree/v31.0rc1</p></li></ul><div><hr></div><blockquote><blockquote><p>Thank you for reading. Be sure to tune in again next week for your updates on Bitcoin Core!</p></blockquote></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[Making Mining More Reliable — Last Week in Bitcoin (Mar 16 - 22)]]></title><description><![CDATA[Highlights from the bitcoin developer ecosystem...]]></description><link>https://insider.btcpp.dev/p/making-mining-more-reliable-last</link><guid isPermaLink="false">https://insider.btcpp.dev/p/making-mining-more-reliable-last</guid><dc:creator><![CDATA[Tuma (I WILL NEVER DM YOU)]]></dc:creator><pubDate>Mon, 23 Mar 2026 15:02:37 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!kRcW!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F39250898-6ff4-436c-b32d-19c1d6ee8840_1600x900.jpeg" length="0" type="image/jpeg"/><content:encoded><![CDATA[<div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!kRcW!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F39250898-6ff4-436c-b32d-19c1d6ee8840_1600x900.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!kRcW!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F39250898-6ff4-436c-b32d-19c1d6ee8840_1600x900.jpeg 424w, https://substackcdn.com/image/fetch/$s_!kRcW!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F39250898-6ff4-436c-b32d-19c1d6ee8840_1600x900.jpeg 848w, https://substackcdn.com/image/fetch/$s_!kRcW!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F39250898-6ff4-436c-b32d-19c1d6ee8840_1600x900.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!kRcW!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F39250898-6ff4-436c-b32d-19c1d6ee8840_1600x900.jpeg 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!kRcW!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F39250898-6ff4-436c-b32d-19c1d6ee8840_1600x900.jpeg" width="1456" height="819" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/39250898-6ff4-436c-b32d-19c1d6ee8840_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/191853425?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F39250898-6ff4-436c-b32d-19c1d6ee8840_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_!kRcW!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F39250898-6ff4-436c-b32d-19c1d6ee8840_1600x900.jpeg 424w, https://substackcdn.com/image/fetch/$s_!kRcW!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F39250898-6ff4-436c-b32d-19c1d6ee8840_1600x900.jpeg 848w, https://substackcdn.com/image/fetch/$s_!kRcW!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F39250898-6ff4-436c-b32d-19c1d6ee8840_1600x900.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!kRcW!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F39250898-6ff4-436c-b32d-19c1d6ee8840_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><h2><strong>Highlights from the bitcoin developer ecosystem...</strong></h2><p><em>Hi Insiders. This is Tuma, open-source reporter from the Insider Edition. 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.8.0">v1.8.0</a> of Stratum V2 protocol libraries and <a href="https://github.com/stratum-mining/sv2-apps/releases/tag/v0.3.0">v0.3.0</a> of Stratum V2 applications have been released.</p><ul><li><p>During the weekly call, on Tuesday 17th, 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 Thursday 19th.</p></li><li><p>v1.8.0 mainly focused on improving the protocol reliability. A lot of effort was directed towards creating framing benchmarks for the different protocol crates to validate and improve their performances. Fuzz testing has also been expanded. Finally, the channels_sv2 crate has been improved by fixing several issues related to share-accounting.</p></li><li><p>v0.3.0 also improves reliability of the different applications. The <a href="https://github.com/stratum-mining/sv2-apps/tree/main/pool-apps/jd-server">Job Declarator Server</a> (JDS) has undergone a major refactoring, the <a href="https://github.com/stratum-mining/sv2-apps/tree/main/miner-apps/translator">translator proxy</a> and the <a href="https://github.com/stratum-mining/sv2-apps/tree/main/miner-apps/jd-client">Job Declarator Client</a> (JDC) have been hardened, more integration tests have been developed, and new monitoring APIs are now available.</p></li></ul></li><li><p><a href="https://github.com/cashubtc/cdk/pull/1735">PR1735</a> in CDK is implementing the new <a href="https://github.com/cashubtc/nuts/pull/342">NUT-XX</a> for efficient wallet recovery.</p><ul><li><p>During the weekly call, on Wednesday 18th, CDK developers discussed PR1735 which is implementing the new specifications for efficient wallet recovery.</p></li><li><p>As of today, recovering funds through a backup requires the mint to take into account all possible transaction ever made by a wallet. In fact, a wallet has to keep track of an index to generate new tokens every time funds are sent or received. Thus, a mint will have to check every single transaction up to the latest index, <code>T</code>.</p></li><li><p>The new proposal addresses this limitation with a two-step process. First of all, the wallet has to make sure that all unspent proofs remain in a certain index range <code>d</code> . Thus, if a index is lower that <code>T-d</code> , the wallet automatically triggers a consolidation swap to move the unspent proof to a new index. Then, during recovery the mint leverages binary search to find the correct <code>T</code> for the wallet, allowing it to find the correct index in <code>O(log(N))</code> queries. Finally, the mint has only to check the latest <code>d</code> indices to recover all funds.</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, 2 new BIPs have been published, BIP448, and BIP446, and one new 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>BIP448: A Taproot-native (re)bindable transaction proposal</h4><p><strong>Authors</strong>: <a href="https://github.com/instagibbs">Gregory Sanders</a>, <a href="https://github.com/darosior">Antoine Poinsot,</a> <a href="https://github.com/stevenroose">Steven Roose</a></p><p><strong>Published On</strong>: March 17th, 2026</p><p><strong>Layer</strong>: Consensus (Soft Fork)</p><p><a href="https://github.com/bitcoin/bips/blob/master/bip-0448.md">BIP448</a> proposes to deploy three new opcodes bundled together, namely OP_TEMPLATEHASH (proposed in <a href="https://insider.btcpp.dev/i/189150698/bip446-optemplatehash">BIP446</a>, which is part of the same PR), OP_CHECKSIGFROMSTACK, and OP_INTERNALKEY. According to the authors, the proposed opcodes are simple and well-understood and could provide powerful capabilities to improve second layer protocols while minimizing the risk of incurring in unintended behavior.</p><h4>BIP446: OP_TEMPLATEHASH</h4><p><strong>Authors</strong>: <a href="https://github.com/instagibbs">Gregory Sanders</a>, <a href="https://github.com/darosior">Antoine Poinsot,</a> <a href="https://github.com/stevenroose">Steven Roose</a></p><p><strong>Published On</strong>: March 17th, 2026</p><p><strong>Layer</strong>: Consensus</p><p><a href="https://github.com/bitcoin/bips/blob/master/bip-0446.md">BIP446</a> proposes a soft fork to activate a new operator for Tapscript, called OP_TEMPLATEHASH. The new opcode could be used to commit to the transaction spending an output, a capability that could replace the need for pre-signed transactions in second-layer protocols. This BIP is being proposed by Core contributors, Gregory Sanders and Antoine Poinsot, and <a href="https://github.com/ark-bitcoin">Second</a> CEO Steven Roose.</p><h3>Numbered BIPs</h3><p><em>A list of BIPs that recently got assigned a number</em></p><h4>BIP393: Output Script Descriptor Annotations</h4><p><strong>Authors</strong>: <a href="https://github.com/craigraw">Craig Raw</a></p><p><strong>Assigned On</strong>: March 17th, 2026</p><p><strong>Layer</strong>: Applications</p><p><a href="https://github.com/bitcoin/bips/pull/2099">PR2099</a> introduces BIP393, which proposes a new way to add metadata to descriptors to make silent payment scanning more efficient. This metadata would be provided in the form of annotations, expressed as key/value pairs, appended directly to the descriptor string using URL-like query delimiters: <code>SCRIPT?key=value&amp;key=value#CHECKSUM</code> . This proposal by the creator of <a href="https://github.com/sparrowwallet">Sparrow Wallet</a> Craig Raw, also defines three keys for improving scanning efficiency, namely the block height at which the wallet first received funds, <code>bh</code> , the number of unused addresses to derive before stopping scanning, <code>gl</code> , and the maximum label index to scan for, <code>ml</code> .</p><div><hr></div><h2>Other News from the Bitcoin World</h2><ul><li><p><strong>Splicing Lightning</strong>: BOLTs contributor t-bast <a href="https://x.com/realtbast/status/2036010806379229214">announced</a> on X that <a href="https://github.com/lightning/bolts/pull/1160">PR1160</a> for Splicing had finally been merged in the BOLTs repository. Splicing allows spending the current funding transaction and replace it with a new one to change the capacity of the channel, allowing both peers to add or remove funds to/from their channel balance. Its official merge in the specifications represents a huge milestone for the Lightning Network ecosystem.</p></li><li><p><strong>A SHA-256 hash as a valid signature</strong>: Robin Linus <a href="https://x.com/robin_linus/status/2034889653464228240">shared</a> on X his latest project, a SHA-256 hash which is also a valid <a href="https://github.com/bitcoin/bips/blob/master/bip-0066.mediawiki">BIP66</a> DER-encoded ECDSA signature. He spent $8 and ran ~185 trillion attempts in ~2.3 hours to find a preimage that produces a valid DER-encoded signature when hashed. Linus also shared the <a href="https://github.com/RobinLinus/sha2-ecdsa">repository</a> containing the source code and the explanation behind the work.</p></li><li><p><strong>Working on Bitcoin Core</strong>: Long time Bitcoin Core PR reviewer Jon Atack <a href="https://www.youtube.com/watch?v=4FYdfUTFitc">highlights</a> his experience working on the project.</p></li></ul>]]></content:encoded></item><item><title><![CDATA[A new working group just hatched 🐣 - This week in Bitcoin Core #35]]></title><description><![CDATA[This week a new working group was hatched...]]></description><link>https://insider.btcpp.dev/p/a-new-working-group-just-hatched</link><guid isPermaLink="false">https://insider.btcpp.dev/p/a-new-working-group-just-hatched</guid><dc:creator><![CDATA[kevkevin]]></dc:creator><pubDate>Fri, 20 Mar 2026 14:01:33 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>18 <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/34704">validation: Explicitly move blocks to validation signals</a></strong> by <strong><a href="https://github.com/sedited">sedited</a></strong></p><blockquote><p>This enforces behaviour that is currently already implicit: The destructor for blocks runs mostly in the <a href="https://bitcoin-dev-tools.github.io/benchcoin/results/pr-176/20472174834/mainnet-default-instrumented-head-flamegraph.svg?x=2762391536960&amp;y=684">scheduler thread</a>. The change should make it a bit clearer what the ownership semantics for these validation signals are.<br></p><p><code>BlockConnected</code> already takes a reference to a block that is emplaced in <code>connected_blocks</code>. Once <code>connected_blocks</code> is iterated through, it is not reused. Similarly <code>BlockDisconnected</code> currently takes a reference to a block that is discarded after the call to it. Note that this does not give the guarantee that blocks&#8217; lifetimes are extended by other means once they are connected. For example after IBD, the block&#8217;s lifetime is extended in net_processing&#8217;s <code>m_most_recent_block</code> and <code>ActivateBestChain</code> itself takes a copy of the block&#8217;s shared pointer, meaning its caller may delay de-allocation.</p></blockquote></li><li><p><strong><a href="https://github.com/bitcoin/bitcoin/pull/32624">fuzz: wallet: add target for MigrateToDescriptor</a></strong> by <strong><a href="https://github.com/brunoerg">brunoerg</a><br></strong>If you&#8217;re not familiar with Fuzz Testing, I would read <a href="https://about.gitlab.com/topics/devsecops/what-is-fuzz-testing/">this summary</a>.<br><br>This change by Bruno Garcia adds fuzz coverage to the scriptpubkeyman migration. It adds a new fuzz target spkm_migration. Garcia notes that this is only for migrating scriptpubkeyman, not the entire migration process. This is because attempting to fuzz the entire migration process would be much more expensive, and mocking would require significantly more refactoring.<br><br>He also notes that this explicitly avoids any encryption stuff because it would make the fuzz target run much slower.</p></li><li><p><strong><a href="https://github.com/bitcoin/bitcoin/pull/34799">rpc: Run type check on decodepsbt result</a></strong> by <strong><a href="https://github.com/maflcko">maflcko</a><br></strong>Marco Falke updated RPCResults to type-check when the type may be ELISION, because it is confusing and brittle. The elision should only affect the help output and not the type itself. We also want the type to be the real type, so we can run type checks on it.<br><br>Falke also introduced a new print_elision option and uses it in decodedpsbt. Falke also gave instructions in the pull request description to test the failure.</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/34847">test: throttle large testmempoolaccept rpcs in p2p_orphan_handling test</a> </strong>by <strong><a href="https://github.com/rkrux">rkrux</a></strong></p><blockquote><p>Addresses <a href="https://github.com/bitcoin/bitcoin/issues/34731">#34731</a></p><p>Reasons why I don&#8217;t believe it is a deadlock issue based on the debug logs and debugger thread backtrace output shared in the issue:</p><ul><li><p>The HTTP worker threads (b-http_pool_x) are waiting on the condition variable and not on the mutex that signals that these threads are idle &amp; waiting for work to be assigned to them.</p></li><li><p>The HTTP thread (b-http) is epoll waiting that means it is waiting for a request (or a part of it) to be received.</p></li><li><p>The added logs show that the first few testmempool RPCs were successful and the next one timed out. But the logs don&#8217;t show a request for it being logged unlike in the previous ones, hinting that the server never received such a request (or in full) and thus never processed it. Even then the functional test client timed out, which means that it did send it (at least a part of it).</p></li><li><p>The large orphan transactions being sent are each 780KB in size that are sent sequentially by the test. It tries to send 60 of them in a loop amounting to 46MB of data over a single HTTP connection that is reused.</p></li></ul><p>This PR throttles the RPCs on client side. I&#8217;ve not been able to reproduce this intermittent issue and thus I don&#8217;t gurantee that this fixes the issue altogether.</p><p>A previous approach in this PR tried to not reuse the HTTP connection for the RPCs in this test instead. But I noticed a CI run where this affected test took around 75mins to complete that led me to move to this approach where the HTTP connection is reused like before but with some throttling.</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>16:02:03 &lt;fjahr&gt; #topic Fuzzing WG Update (dergoegge)
16:02:17 &lt;dergoegge&gt; no update</code></pre><pre><code>16:02:28 <strong>&lt;fjahr&gt;</strong> <strong>#topic Kernel WG Update (sedited)</strong>
16:02:43 <strong>&lt;sedited&gt;</strong> aj and cory left some interesting comments on #<a href="https://github.com/bitcoin/bitcoin/issues/32317">32317</a>. Haven&#8217;t gotten around to work on them yet, but I&#8217;d like to encourage others to read them.
16:02:54 <strong>&lt;yancy&gt;</strong> hi
16:04:03 <strong>&lt;sedited&gt;</strong> we&#8217;ve also had craig raw try out #<a href="https://github.com/bitcoin/bitcoin/issues/32427">32427</a> for faster silent payment scanning: https://github.com/bitcoin/bitcoin/pull/32427#pullrequestreview-3935024360
16:04:25 <strong>&lt;sedited&gt;</strong> which lead to some interesting discussions on that PR too.
16:04:38 <strong>&lt;sedited&gt;</strong> that&#8217;s all.</code></pre><pre><code>16:04:53 <strong>&lt;fjahr&gt;</strong> <strong>#topic Benchmarking WG Update (l0rinc, andrewtoth)</strong>
16:05:10 <strong>&lt;fjahr&gt;</strong> l0rinc left an update earlier
16:05:26 <strong>&lt;fjahr&gt;</strong> https://bitcoin-irc.chaincode.com/bitcoin-core-dev/2026-03-19#1204475;</code></pre><pre><code>16:06:03 <strong>&lt;fjahr&gt;</strong> <strong>#topic QML GUI WG Update (johnny9dev)</strong>
16:06:35 <strong>&lt;johnny9dev&gt;</strong> Started PRs for wallet migration flows and wallet import/restore flows. Last PR for decoupling the qml project from the original qt-widgets is up and when those are merged that will be completed
16:07:17 <strong>&lt;johnny9dev&gt;</strong> We&#8217;ve introduced GMock to the project to mock out the wallet and node interfaces for easier unittesting
16:07:46 <strong>&lt;johnny9dev&gt;</strong> epicleafies: can you add your status?
16:08:06 <strong>&lt;epicleafies&gt;</strong> I&#8217;ve started PRs for adding the desktop tray icon and another for language and units settings.
16:08:44 <strong>&lt;johnny9dev&gt;</strong> nice
16:09:28 <strong>&lt;johnny9dev&gt;</strong> i think that is all for now. the PRs are pilling up so we&#8217;ll need to clear them soon</code></pre><pre><code>16:09:47 <strong>&lt;fjahr&gt;</strong> <strong>#topic Libevent removal (pinheadmz, fjahr)</strong>
16:09:51 <strong>&lt;fjahr&gt;</strong> A new working group just hatched &#128035;. There has been quite a bit of development and review lately way to the goal is pretty clear so we thought it would be a good idea to try to give status updates regularly. All the necessary pieces already exist, you can find them all in the tracking issue: #<a href="https://github.com/bitcoin/bitcoin/issues/31194">31194</a>.
16:09:59 <strong>&lt;pinheadmz&gt;</strong> Work continues on #<a href="https://github.com/bitcoin/bitcoin/issues/32061">32061</a> after many great reviews. After next rebase I will close that PR and reopen a fresh PR with the same code, but without a year and 300+ comments. Review has also exposed some new tests I want to add to master, and tweaks to some utilities we already merged last month I now realize are mostly wrong &lt;grimace emoji&gt;. SO stay tuned for three new PRs. Well, one reborn and two little guys.
16:10:19 <strong>&lt;fjahr&gt;</strong> pinheadmz: we should have synced better :D
16:10:26 <strong>&lt;furszy&gt;</strong> ACK
16:10:37 <strong>&lt;pinheadmz&gt;</strong> were doing great bruh
16:11:21 <strong>&lt;pinheadmz&gt;</strong> thats all
16:11:42 <strong>&lt;fjahr&gt;</strong> So review focus is on #<a href="https://github.com/bitcoin/bitcoin/issues/34772">34772</a> (new prerequisite to the http server) and #<a href="https://github.com/bitcoin/bitcoin/issues/34158">34158</a>
16:12:11 <strong>&lt;fjahr&gt;</strong> Anything else to discuss?</code></pre><pre><code>16:12:35 <strong>&lt;fjahr&gt;</strong> <strong>#topic `MempoolUpdated` ValidationInterface callback (abubakarsadiq)</strong>
16:12:45 <strong>&lt;abubakarsadiq&gt;</strong> Opened #<a href="https://github.com/bitcoin/bitcoin/issues/34803">34803</a>, which adds a `MempoolUpdated` ValidationInterface callback emitting before/after fee rate diagram chunks on every mempool update  enabling cluster-aware fee estimation and eliminating redundant block template rebuilds in the mining interface. The change is minimal; most of the diff is tests. Looking forward to feedback.
16:13:13 <strong>&lt;abubakarsadiq&gt;</strong> That&#8217;s all. thanks
16:13:53 <strong>&lt;fjahr&gt;</strong> Any other topics?</code></pre><pre><code>16:13:55 <strong>&lt;jurraca&gt;</strong> <strong>#topic ASmap</strong>
16:13:58 <strong>&lt;jurraca&gt;</strong> i opened #<a href="https://github.com/bitcoin/bitcoin/issues/34842">34842</a> to add asmap attestation scripts to contrib/asmap, wanted to ask if there are opinions for/against putting this in the core repo. The alternative would be putting them in the asmap.sigs repo along with the attestations themselves.
16:15:39 <strong>&lt;fjahr&gt;</strong> They are currently in the asmap.sigs repo
16:15:53 <strong>&lt;fjahr&gt;</strong> But these are updated a bit right?
16:15:58 <strong>&lt;jurraca&gt;</strong> yea</code></pre><p></p><div><hr></div><h4><strong>Releases</strong></h4><ul><li><p>https://github.com/bitcoin/bitcoin/tree/v31.0rc1</p></li></ul><div><hr></div><blockquote><blockquote><p>Thank you for reading. Be sure to tune in again next week for your updates on Bitcoin Core!</p></blockquote></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[Specifications Are Changing— Last Week in Bitcoin (Mar 09 - 15)]]></title><description><![CDATA[Highlights from the bitcoin developer ecosystem]]></description><link>https://insider.btcpp.dev/p/specifications-are-changing-last</link><guid isPermaLink="false">https://insider.btcpp.dev/p/specifications-are-changing-last</guid><dc:creator><![CDATA[Tuma (I WILL NEVER DM YOU)]]></dc:creator><pubDate>Mon, 16 Mar 2026 15:02:11 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!Q-HJ!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5f943a3e-20c0-4153-9c62-1b7816b13cbe_1600x900.jpeg" length="0" type="image/jpeg"/><content:encoded><![CDATA[<div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!Q-HJ!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5f943a3e-20c0-4153-9c62-1b7816b13cbe_1600x900.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!Q-HJ!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5f943a3e-20c0-4153-9c62-1b7816b13cbe_1600x900.jpeg 424w, https://substackcdn.com/image/fetch/$s_!Q-HJ!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5f943a3e-20c0-4153-9c62-1b7816b13cbe_1600x900.jpeg 848w, https://substackcdn.com/image/fetch/$s_!Q-HJ!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5f943a3e-20c0-4153-9c62-1b7816b13cbe_1600x900.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!Q-HJ!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5f943a3e-20c0-4153-9c62-1b7816b13cbe_1600x900.jpeg 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!Q-HJ!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5f943a3e-20c0-4153-9c62-1b7816b13cbe_1600x900.jpeg" width="1456" height="819" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/5f943a3e-20c0-4153-9c62-1b7816b13cbe_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/191113795?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5f943a3e-20c0-4153-9c62-1b7816b13cbe_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_!Q-HJ!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5f943a3e-20c0-4153-9c62-1b7816b13cbe_1600x900.jpeg 424w, https://substackcdn.com/image/fetch/$s_!Q-HJ!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5f943a3e-20c0-4153-9c62-1b7816b13cbe_1600x900.jpeg 848w, https://substackcdn.com/image/fetch/$s_!Q-HJ!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5f943a3e-20c0-4153-9c62-1b7816b13cbe_1600x900.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!Q-HJ!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5f943a3e-20c0-4153-9c62-1b7816b13cbe_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><h2>Highlights from the bitcoin developer ecosystem</h2><p><em>Hi Insiders. This is Tuma, open-source reporter from the Insider Edition. 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>An <a href="https://github.com/lightning/bolts/issues/1323">update</a> on BOLTs specifications.</p><ul><li><p>During the monthly call, on Monday 9th, Lightning developers discussed the latest changes to the BOLTs specifications. In particular, three PRs were merged during the call after the different implementations ACKed the proposed modifications.</p></li><li><p>Specifically, <a href="https://github.com/lightning/bolts/pull/1316">PR1316</a> adds an explicit requirement for <code>offer_amount</code> to be greater than <code>0</code> in BOLT12, <a href="https://github.com/lightning/bolts/pull/1312">PR1312</a> adds a <a href="https://en.wikipedia.org/wiki/Test_vector">test vector</a> to fix inconsistencies across Lightning implementation in bech32 padding by rejecting invalid BOLT12 offers according to <a href="https://github.com/bitcoin/bips/blob/master/bip-0173.mediawiki">BIP173</a> rules, and <a href="https://github.com/lightning/bolts/pull/1298">PR1298</a> adds another test vector for non-canonical signatures in BOLT11.</p></li><li><p>The next steps will be focused on merging two important PRs , namely <a href="https://github.com/lightning/bolts/pull/1160">PR1160</a>, which will officially include channel splicing in the specifications, and <a href="https://github.com/lightning/bolts/pull/995">PR995</a>, which will enable simple taproot channels.</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, 3 new BIPs have been published, BIP128, BIP392, and BIP442, and two 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>BIP442: <strong>OP_PAIRCOMMIT</strong></h4><p><strong>Authors</strong>: <a href="https://github.com/moonsettler">Moonsettler</a>, <a href="https://github.com/reardencode">Brandon Black</a></p><p><strong>Publishing Date</strong>: March 3rd, 2026</p><p><strong>Layer</strong>: Consensus (Soft Fork)</p><p><a href="https://github.com/bitcoin/bips/blob/master/bip-0442.md">BIP442</a> proposes a new <a href="https://bitcoinops.org/en/topics/tapscript/">tapscript</a> opcode called <code>OP_PAIRCOMMIT</code>. The new operation would allow to add native support to commit to multiple items together. Basically, during execution the opcode would pop the two top elements from the stack, compute their hash, and push the resulting 32-byte hash back onto the stack. The idea behind the proposal it to facilitate more expressive contracts and improve data availability in Bitcoin scripts.</p><h4>BIP392: Silent Payments Output Script Descriptor</h4><p><strong>Authors</strong>: <a href="https://github.com/craigraw">Craig Raw</a></p><p><strong>Publishing Date</strong>: March 5th, 2026</p><p><strong>Layer</strong>: Applications</p><p><a href="https://github.com/bitcoin/bips/blob/master/bip-0392.mediawiki">BIP392</a> specifies a new output script descriptor for silent payments, <code>sp()</code> . The descriptor, proposed by the creator of <a href="https://github.com/sparrowwallet">Sparrow Wallet</a>, provides a standardized way to represent silent payment outputs within the output descriptor framework, enabling wallet interoperability and recovery using existing descriptor-based infrastructure. Iin particular, the new descriptor takes silent payment key material and describes P2TR outputs when combined with the sender&#8217;s input public key, as defined in <a href="https://github.com/bitcoin/bips/blob/master/bip-0352.mediawiki">BIP352</a>. Checkout this <a href="https://youtu.be/QQO0pMQB-QU">presentation</a> from Nifty to know more about this!</p><h4>BIP128: Timelock-Recovery Storage Format</h4><p><strong>Authors</strong>: <a href="https://github.com/oren-z0">Oren Z</a></p><p><strong>Publishing Date</strong>: February 27th, 2026</p><p><strong>Layer</strong>: Applications</p><p><a href="https://github.com/bitcoin/bips/blob/master/bip-0128.mediawiki">BIP128</a> specifies a standard format for storing timelock-recovery plans. The goal of this proposal is to allow users to simply importing these type of plans into services that provide automatic monitoring and execution.</p><h3>Numbered BIPs</h3><p><em>A list of BIPs that recently got assigned a number</em></p><h4>BIP449: OP_TWEAKADD</h4><p><strong>Authors</strong>: <a href="https://github.com/JeremyRubin">Jeremy Rubin</a></p><p><strong>Assigned Date</strong>: March 5th, 2026</p><p><strong>Layer</strong>: Consensus (Soft Fork)</p><p><a href="https://github.com/bitcoin/bips/pull/1944">PR1944</a> introduces BIP449, which 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 evolutions without full signature verification, spending conditions, and covenant-like constructions.</p><h4>BIP448: A Taproot-native (re)bindable transaction proposal</h4><p><strong>Authors</strong>: <a href="https://github.com/instagibbs">Gregory Sanders</a>, <a href="https://github.com/darosior">Antoine Poinsot,</a> <a href="https://github.com/stevenroose">Steven Roose</a></p><p><strong>Assigned Date</strong>: March 12th, 2026</p><p><strong>Layer</strong>: Consensus (Soft Fork)</p><p><a href="https://github.com/bitcoin/bips/pull/1974">PR1974</a> introduces BIP448, which proposes to deploy three new opcodes bundled together, namely OP_TEMPLATEHASH (proposed in <a href="https://insider.btcpp.dev/i/189150698/bip446-optemplatehash">BIP446</a>, which is part of the same PR), OP_CHECKSIGFROMSTACK, and OP_INTERNALKEY. According to the authors, the proposed opcodes are simple and well-understood and could provide powerful capabilities to improve second layer protocols while minimizing the risk of incurring in unintended behavior.</p><div><hr></div><h2>Other News from the Bitcoin World</h2><ul><li><p><strong>Arkade Assets are live on mainnet</strong>: Arkade <a href="https://x.com/arkade_os/status/2032087304211481082">announced</a> on X that their Bitcoin-native assets solution, Arkade Assets, was finally live on mainnet. Arkade Assets allows anyone to issue assets on the Bitcoin chain by embedding data directly into transactions using an <code>OP_RETURN</code> output, without requiring any changes to the Bitcoin protocol.</p></li><li><p><strong>BIP54 is gaining traction</strong>: Two weeks ago, we <a href="https://open.substack.com/pub/btcpp/p/the-apple-pay-experience-comes-to?r=2c4bjq&amp;selection=7e0678bd-1f12-49b0-a85f-3fce3b6434f1&amp;utm_campaign=post-share-selection&amp;utm_medium=web&amp;aspectRatio=instagram&amp;textColor=%23ffffff&amp;bgImage=true">covered</a> the first <a href="https://github.com/bitcoin/bips/blob/master/bip-0054.md">BIP54</a> compatible block being mined. Last week, Mara, one of the largest active mining pool, joined the BIP54 movement by mining its first compatible block, at height <a href="https://mempool.space/block/000000000000000000007d2904c00f3dcbdf465eacc355442a774a3486f0e52a">940548</a>. It is possible to recognize a BIP54 compatible block by looking at the <a href="https://mempool.space/tx/29e1c1fd7f42de03af3afded6388337ca3fcdd026c728a844414f419541ac260">coinbase transaction</a> <code>nLocktime</code> field, which must be set to <code>blockHeight - 1</code>.</p></li><li><p><strong>Bitcoin knowledge for autonomous agents</strong>: Spiral grantee <a href="https://x.com/_tnull">Elias Roher</a> created a new <a href="https://bitcoinknowledge.dev/">knowledge base</a> for Bitcoin and Lightning development ecosystem. This project was specifically designed to be queried by AI agents through Model Context Protocol (MCP) servers for fast and precise lookups.</p></li><li><p><strong>Preventing Denial-Of-Service</strong>: <a href="https://x.com/brrrunog">Bruno Garcia</a>, Director of Engineering at Vinteum, <a href="https://x.com/brrrunog/status/2031479098896261237">announced</a> on X that he was able to find and correct two denial-of-service (DOS) bugs in Floresta, a lightweight and embeddable Bitcoin client. The first vulnerability was linked to a missing size check that could result a large memory allocation with consequent usage of all the available memory. The other bug was related to the rate-limiting mechanism implemented in Floresta, which should check whether a peer is sending more than 10 messaging per second. However, the counter was never incremented, effectively making the mechanism futile.</p></li></ul>]]></content:encoded></item><item><title><![CDATA[v31.0rc1 tagged - This week in Bitcoin Core #34]]></title><description><![CDATA[This week kevkevin takes a look at the changes merged into Bitcoin Core...]]></description><link>https://insider.btcpp.dev/p/v310rc1-tagged-this-week-in-bitcoin</link><guid isPermaLink="false">https://insider.btcpp.dev/p/v310rc1-tagged-this-week-in-bitcoin</guid><dc:creator><![CDATA[kevkevin]]></dc:creator><pubDate>Fri, 13 Mar 2026 14:01:00 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>49 <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/26988">cli: rework -addrinfo cli to use addresses which aren&#8217;t filtered for quality/recency</a> by <a href="https://github.com/stratospher">stratospher</a></strong><br>This change has been in the works since 2023 and has finally been merged. If you have not been following it, here is a quick summary of what it changes.<br><br>This pull request updates the CLI -addrinfo to give back ALL known addresses instead of a subset. From version v22.0 to v30.0, the set that was given back was filtered by recency and quality. This has now changed because it does not match the logic used when selecting a peer, so this updates it to match. <br><br>If you are using an older Bitcoin node version, you will also need to use an older bitcoin-cli to succesfully use this method.</p></li><li><p><strong><a href="https://github.com/bitcoin/bitcoin/pull/31560">rpc: allow writing UTXO set to a named pipe</a> by <a href="https://github.com/theStack">theStack</a></strong><br>Have you ever used the dumptxoutset for say AssumeUTXO?<br><br>This change makes it so that you can call the dumptxoutset RPC and then dump it onto a named pipe. This allows the dumped UTXO set to be consumed by another process.<br><br>TheStack makes use of this functionality in utxo-to-sqlite.py to directly convert the UTXO set into a sqlite file. I would say to myself that is pretty cool.<br><br>He also gives an example of how it would be used in the <a href="https://github.com/bitcoin/bitcoin/pull/31560">full PR</a>.</p></li><li><p><strong><a href="https://github.com/bitcoin/bitcoin/pull/34576">threadpool: add ranged Submit overload</a> by <a href="https://github.com/andrewtoth">andrewtoth</a></strong><br>Andrew Toth was motivated to make this change when he had noticed that ThreadPool::Submit was not that efficient when multiple tasks had to be submitted at the same time.<br><br>The reason was that the Submit method must take a lock for each task. The way Andrew resolved this issue was by taking a single lock for the batch of tasks submitted. This significantly sped up ThreadPool::Submit.</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/34778">logging: rewrite macros to add ratelimit option, avoid unused strprintf, clarify confusing errors</a> by <a href="https://github.com/ryanofsky">ryanofsky</a></strong></p><blockquote><p>Rewrite log macros to fix a number of issues: lack of control over rate limiting, unnecessary strprintf calls during fuzzing, and confusing error messages when macros are called with the wrong arguments.<br></p><p>This PR is a refactoring and shouldn&#8217;t change externally visible behavior. Changes are described in detail in commit messages. There are also some internal improvements making previously implicit behaviors (evaluating unused format arguments, not outputting categories at certain log levels) explicit and better enforced.<br></p><p>Some changes here were originally part of <a href="https://github.com/bitcoin/bitcoin/pull/29256">#29256</a>, but they should make sense on their own and simplify both PRs.</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>16:01:53 <strong>&lt;fjahr&gt;</strong> <strong>#topic Fuzzing WG Update (dergoegge)</strong>
16:02:25 <strong>&lt;dergoegge&gt;</strong> nothing from my side</code></pre><pre><code>16:02:55 <strong>&lt;fjahr&gt;</strong> <strong>#topic Benchmarking WG Update (l0rinc, andrewtoth)</strong>
16:03:12 <strong>&lt;l0rinc&gt;</strong> nothing urgent from my side
16:03:29 <strong>&lt;andrewtoth_&gt;</strong> <strong>#34576 was merged. #31132 has been rebased with all split out PRs completed. Thanks everyone for your reviews and benchmarks!</strong>
16:03:33 <strong>&lt;corebot&gt;</strong> andrewtoth_: Error: That URL appears to have no HTML title within the first 32KB.
16:03:35 <strong>&lt;corebot&gt;</strong> andrewtoth_: Error: That URL appears to have no HTML title within the first 32KB.
16:03:42 <strong>&lt;dzxzg2&gt;</strong> hi
16:03:56 <strong>&lt;andrewtoth_&gt;</strong> I&#8217;m considering reopening #31132 as a fresh PR since there are over 500 comments and many are no longer relevant.
16:03:57 <strong>&lt;corebot&gt;</strong> andrewtoth_: Error: That URL appears to have no HTML title within the first 32KB.
16:04:07 <strong>&lt;andrewtoth_&gt;</strong> That&#8217;s it from me.
16:04:29 <strong>&lt;andrewtoth_&gt;</strong> What&#8217;s wrong with corebot?
16:04:37 <strong>&lt;_aj_&gt;</strong> github rate limits probably?
16:04:44 <strong>&lt;achow101&gt;</strong> It&#8217;s not having a good day I guess
16:05:11 <strong>&lt;_aj_&gt;</strong> (at least i&#8217;m constantly getting rate limits when not logged in, for no apparent reason)
16:05:17 <strong>&lt;fjahr&gt;</strong> depressed from all the ai slop
16:05:20 <strong>&lt;fjahr&gt;</strong> johnny9dev: you wanted yours reactivated, right? Please edit the WGs wiki page, thanks!</code></pre><pre><code>16:05:27 <strong>&lt;fjahr&gt;</strong> <strong>#topic QML GUI WG Update (johnny9dev)</strong>
16:05:31 <strong>&lt;johnny9dev&gt;</strong> yes
16:05:36 <strong>&lt;johnny9dev&gt;</strong> For gui-qml I have been focused on cleaning up any dependency to the qt source code. I&#8217;ve also been working on the test coverage and automation frameworks. I am just about done with both and will be closing out the related issues on that. I will then begin PRing chunks of features next week along with Luke (epicleafies). The target features are all listed in the project&#8217;s Issues. I also plan on spending time to learn Figma Make
16:05:36 <strong>&lt;johnny9dev&gt;</strong> and Figma&#8217;s MCP server. I&#8217;ve seen some real world cases of it being very effective the last two weeks and need to explore this for gui-qml.
16:05:54 <strong>&lt;johnny9dev&gt;</strong> For gui, dergoegge asked if the test bridge would work for qt so I some time porting over the test automation bridge. It&#8217;s still a bit rough and needs some more validation/review but I started the draft on bitcoin-core/gui#933. Interested in what people think about this approach. Flakiness can be a problem initially with end to end tests so effort will need to be done to make sure it&#8217;s all solid before really moving forward with
16:05:54 <strong>&lt;johnny9dev&gt;</strong> something like this. Animations, process initializing, and timings can be tricky but this shouldn&#8217;t be much worse than what y&#8217;all already deal with for the bitcoind functional tests.
16:05:55 <strong>&lt;corebot&gt;</strong> johnny9dev: Error: That URL appears to have no HTML title within the first 32KB.
16:06:00 <strong>&lt;kanzure&gt;</strong> does figma export to qml?
16:06:14 <strong>&lt;johnny9dev&gt;</strong> you can use the mcp bridge to help translate figma to code
16:06:20 <strong>&lt;dergoegge&gt;</strong> johnny9dev: cool, I&#8217;ll have a look at that
16:06:59 <strong>&lt;johnny9dev&gt;</strong> epicleafies has been helping with qml also
16:07:25 <strong>&lt;johnny9dev&gt;</strong> epicleafies: can you give status?
16:08:04 <strong>&lt;epicleafies&gt;</strong> Yeah, I&#8217;ve finished the debug log page and am working on the proxy settings to persist
16:08:59 <strong>&lt;johnny9dev&gt;</strong> he also fully completed peers ban/disconnect including an end to end automated gui test with it
16:09:22 <strong>&lt;johnny9dev&gt;</strong> i think that will probably be the most complicated one too
16:09:26 <strong>&lt;johnny9dev&gt;</strong> with multiple nodes
16:10:14 <strong>&lt;johnny9dev&gt;</strong> i think that is all
16:11:19 <strong>&lt;fjahr&gt;</strong> I&#8217;m not seeing any of the other WG chairs.</code></pre><pre><code>16:11:25 <strong>&lt;fjahr&gt;</strong> <strong>#proposedmeetingtopic logging system (_aj_)</strong>
16:11:25 <strong>&lt;corebot&gt;</strong> fjahr: Unknown command: #proposedmeetingtopic
16:11:30 <strong>&lt;fjahr&gt;</strong> sorry
16:11:33 <strong>&lt;_aj_&gt;</strong> There&#8217;s about a dozen open PRs/issues about changing the
16:11:33 <strong>&lt;_aj_&gt;</strong> logging API, many of which have been open for almost two years now. Here&#8217;s a table:</code></pre><pre><code>16:11:25 &lt;fjahr&gt; #proposedmeetingtopic logging system (_aj_)
16:11:25 &lt;corebot&gt; fjahr: Unknown command: #proposedmeetingtopic
16:11:30 &lt;fjahr&gt; sorry
16:11:33 &lt;_aj_&gt; There's about a dozen open PRs/issues about changing the
16:11:33 &lt;_aj_&gt; logging API, many of which have been open for almost two years now. Here's a table: https://gist.github.com/ajtowns /ff6247953437270ce81998bc0f7d6739
Many of these changes seem to me to make things substantially worse for working on bitcoin node software, and at this point it feels like a denial of service attack: &#8220;oh, you disagreed with this PR? well, we&#8217;ll keep that one open as a sword of
16:11:33 <strong>&lt;_aj_&gt;</strong> damocles, but also, how about this slightly different PR with slightly different motivations?&#8221; which just leaves me giving what feel like endless &#8220;Concept NACKs&#8221; and getting more frustrated. There are still a couple of followups to #28318 that I&#8217;d like to get in (namely #34038, and once that&#8217;s done, switching the map of categories to an atomic bitfield), so I&#8217;d rather keep being somewhat involved,
16:11:33 <strong>&lt;_aj_&gt;</strong> but this is pretty exhausting. So I&#8217;d really like it if folks who are a bit more dispassionate on the issue could get involved and express opinions on whether any of the proposed changes are actually valuable/desired, and ideally for the number of open proposals to get trimmed down a lot.
16:11:35 <strong>&lt;corebot&gt;</strong> _aj_: Error: That URL appears to have no HTML title within the first 32KB.
16:11:36 <strong>&lt;fjahr&gt;</strong> <strong>#topic logging system</strong>
16:11:37 <strong>&lt;corebot&gt;</strong> _aj_: Error: That URL appears to have no HTML title within the first 32KB.
16:12:01 <strong>&lt;achow101&gt;</strong> (will debug the bot after the meeting)
16:12:26 <strong>&lt;_aj_&gt;</strong> (fin)</code></pre><pre><code>16:12:54 <strong>&lt;sipa&gt;</strong> <strong>#proposedmeetingtopic I saw release notes editing for 31.0 moved to the wiki (https://github.com/bitcoin-core/bitcoin-devwiki/wiki/31.0-Release-Notes-Draft), it&#8217;s probably good for everyone to have a look over that and add things that users ought to see</strong>
16:12:54 <strong>&lt;corebot&gt;</strong> sipa: Unknown command: #proposedmeetingtopic
16:13:09 <strong>&lt;sipa&gt;</strong> (not really a topic, just wanted to mention)
16:13:19 <strong>&lt;_aj_&gt;</strong> (did anyone actually announce the branch off happened btw?)
16:13:48 <strong>&lt;sipa&gt;</strong> Day changed to 12 Mar 2026
16:13:48 <strong>&lt;sipa&gt;</strong> 01:56:13 &lt; bitcoin-git&gt; [bitcoin] achow101 pushed 5 commits to 31.x: https://github.com/bitcoin/bitcoin/compare/b97abdcdf139...d3737769caac
16:14:40 <strong>&lt;achow101&gt;</strong> _aj_: how many major opinions on logging direction are there? 2?
16:15:03 <strong>&lt;fanquake&gt;</strong> 3 I think
16:15:08 <strong>&lt;fjahr&gt;</strong> there seem to be three PR authors
16:15:13 <strong>&lt;fanquake&gt;</strong> depending on the part of the codebase
16:15:24 <strong>&lt;fjahr&gt;</strong> (of currently active prs)
16:15:52 <strong>&lt;dzxzg2&gt;</strong> if it&#8217;s possible to express succinctly, what are the different goals / usecases / motivations for changing the interface?
16:16:43 <strong>&lt;_aj_&gt;</strong> i think there&#8217;s a few different ones about the kernel (if you have multiple validation objects running, can their logs be separated; if you have multiple loggers and one validation state, can they get different info); there&#8217;s a desire to pass different amounts of state to the Log*() functions (some or all of wallet name, category, level), and there&#8217;s sometimes a desire to have all messages have a
16:16:43 <strong>&lt;_aj_&gt;</strong> category (LogInfo(NET, &#8220;connected to new outbound&#8221;))
16:19:10 <strong>&lt;fanquake&gt;</strong> Rough count but I think there&#8217;s about ~15 different logging related refactors / PRs open at the moment
16:20:21 <strong>&lt;dergoegge&gt;</strong> Some of the kernel related logging questions seem worthwhile solving but idk about the naming and calling conventions (that just seems like an endless pit to pour time into)
16:21:16 <strong>&lt;_aj_&gt;</strong> the kernel stuff impacts the calling convention -- if you want logging from CheckBlock to go two different places, you have to pass in the two different logging systems into the LogDebug(..) call, eg
16:21:40 <strong>&lt;sipa&gt;</strong> what does &#8220;two different places&#8221; mean?
16:22:19 <strong>&lt;_aj_&gt;</strong> if you&#8217;re running two different ChainstateManager&#8217;s in the same process, and want to log the work they&#8217;re doing / the failures they have independently
16:23:36 <strong>&lt;l0rinc&gt;</strong> are these logging change suggestions fundamentally mutually exclusive?
16:23:40 <strong>&lt;sipa&gt;</strong> i&#8217;m confused about why that would be the case, or why the code in question would know about it at all
16:23:45 <strong>&lt;sipa&gt;</strong> so i&#8217;ll need to look at the PRs
16:23:53 <strong>&lt;dzxzg2&gt;</strong> l0rinc: +1
16:24:02 <strong>&lt;_aj_&gt;</strong> <strong>#34062 is possibly a good start</strong>
16:24:04 <strong>&lt;corebot&gt;</strong> https://github.com/bitcoin/bitcoin/issues/34062 | RFC: separate kernel logging infrastructure &#183; Issue #34062 &#183; bitcoin/bitcoin &#183; GitHub
16:24:11 <strong>&lt;_aj_&gt;</strong> welcome back corebot
16:24:15 <strong>&lt;abubakarsadiq&gt;</strong> hi
16:24:27 <strong>&lt;l0rinc&gt;</strong> is this related to different wallets and processes logging to different output files?
16:25:32 <strong>&lt;sedited&gt;</strong> fwiw I think this is a nice to have, but the discussions and time sunk into logging as opposed to making things actually more useful seems skewed. I&#8217;d be happy with a simple albeit imperfect solution for now.
16:25:44 <strong>&lt;sedited&gt;</strong> l0rinc I think that is orthogonal
16:26:40 <strong>&lt;ryanofsky&gt;</strong> yeah i think we can easily make progress on this stuff, by just focusing on logging prs that are noncontroversial
16:28:13 <strong>&lt;_aj_&gt;</strong> ryanofsky: closing the near-alternatives, and just keeping the &#8220;best&#8221; of them open would be a win in my view (best==your opinion after taking feedback into account, not necessarily least-controversial/most-likely-to-be-acceptable; imo anyway)
16:29:10 <strong>&lt;dzxzg2&gt;</strong> https://en.wikipedia.org/wiki/Wikipedia:Content_forks#Pages_of_the_same_type_on_the_same_subject
16:30:20 <strong>&lt;l0rinc&gt;</strong> It seems to me the logging problems aren&#8217;t obvious to most of us, it seems to be mostly working already - can we start with listing the exact problems?
16:30:21 <strong>&lt;fjahr&gt;</strong> Maybe ask for review here again when there is a clear point were more feedback is needed. Hard to motivate yourself to go through the full list and find that for yourself, IMO.
16:31:43 <strong>&lt;ryanofsky&gt;</strong> i guess my general feeling is it is not good to spend time have meta-debates about what code should be reviewed and generally peole should just review things they are interested, and maintain prs they are interested in maintaining
16:32:25 <strong>&lt;ryanofsky&gt;</strong> if some progress is being blocked, but i am not aware of that happening
16:32:47 <strong>&lt;fjahr&gt;</strong> Seems like the details of logging can continue to be discussed after the meeting. Is there anything else to discuss that should be in the meeting?
16:32:53 <strong>&lt;_aj_&gt;</strong> fjahr: i think you could reasonably go through the gist above and say &#8220;this is ugly, is there really a big benefit?&#8221; or &#8220;this is much better than what we do now! i like it!&#8221; and have that be a useful contribution
16:32:54 <strong>&lt;ryanofsky&gt;</strong> sgtm
16:33:10 <strong>&lt;ryanofsky&gt;</strong> yeah i&#8217;ll take a look at the gist
16:33:22 <strong>&lt;achow101&gt;</strong> fjahr: topic for 31.0?</code></pre><pre><code>16:33:37 <strong>&lt;fjahr&gt;</strong> <strong>#topic v31</strong>
16:33:52 <strong>&lt;achow101&gt;</strong> we branched on tuesday night, tagged v31.0rc1 yesterday
16:34:00 <strong>&lt;_aj_&gt;</strong> yay!
16:34:21 <strong>&lt;achow101&gt;</strong> there&#8217;s a backports pr and still a couple things in the milestone, so definitely will have a rc2
16:34:34 <strong>&lt;achow101&gt;</strong> any new issues to add to the milestone?
16:35:07 <strong>&lt;achow101&gt;</strong> also release notes draft is in the wiki
16:35:47 <strong>&lt;janb84&gt;</strong> Testing guide will be adressed by BOSS program / me
16:36:03 <strong>&lt;fjahr&gt;</strong> https://github.com/bitcoin/bitcoin/milestone/74
16:37:08 <strong>&lt;achow101&gt;</strong> otherwise that&#8217;s all
16:37:37 <strong>&lt;fjahr&gt;</strong> Any other topics?
16:37:37 <strong>&lt;maflcko&gt;</strong> I wanted to fix all intermittent test issues for this release, so if you are seeing any new, please let me know :)
16:37:45 <strong>&lt;fanquake&gt;</strong> Looks like I just saw another one
16:37:50 <strong>&lt;fanquake&gt;</strong> https://github.com/bitcoin/bitcoin/issues/34367#issuecomment-4048211050
16:38:03 <strong>&lt;fanquake&gt;</strong> (happened in the backports branch)
16:38:22 <strong>&lt;fanquake&gt;</strong> I assume we&#8217;ll fix all the multiprocess issues with another subtree pull?
16:38:37 <strong>&lt;fanquake&gt;</strong> (once the rest of the issues there are fixed)
16:38:41 <strong>&lt;maflcko&gt;</strong> Maybe let the functional tests run in a loop over night, this night, and see if it is still running the next morning. If not, leave an issue. (Make sure to increase --timeout-factor for smaller machines)
16:39:34 <strong>&lt;fanquake&gt;</strong> I don&#8217;t have a Windows machine, so someone on Windows will have to do that for that issue (maybe UCRT related)
16:40:26 <strong>&lt;maflcko&gt;</strong> oh, I meant in general, to see if *all* dev machines and platforms can run the tests smoothly
16:40:48 <strong>&lt;fanquake&gt;</strong> Yea sure, will be running
16:40:53 <strong>&lt;maflcko&gt;</strong> nice, thx</code></pre><div><hr></div><h4><strong>Releases</strong></h4><ul><li><p>https://github.com/bitcoin/bitcoin/tree/v31.0rc1</p></li></ul><div><hr></div><blockquote><blockquote><p>Thank you for reading. Be sure to tune in again next week for your updates on Bitcoin Core!</p></blockquote></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[Let’s Make Some (White) Noise — Last Week in Bitcoin (Mar 02 - 08)]]></title><description><![CDATA[Highlights from the bitcoin developer ecosystem...]]></description><link>https://insider.btcpp.dev/p/lets-make-some-white-noise-last-week</link><guid isPermaLink="false">https://insider.btcpp.dev/p/lets-make-some-white-noise-last-week</guid><dc:creator><![CDATA[Tuma (I WILL NEVER DM YOU)]]></dc:creator><pubDate>Mon, 09 Mar 2026 15:02:02 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!4E_C!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff3ef7c49-0112-4cd5-9091-59d27fa8db07_1600x900.jpeg" length="0" type="image/jpeg"/><content:encoded><![CDATA[<div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!4E_C!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff3ef7c49-0112-4cd5-9091-59d27fa8db07_1600x900.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!4E_C!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff3ef7c49-0112-4cd5-9091-59d27fa8db07_1600x900.jpeg 424w, https://substackcdn.com/image/fetch/$s_!4E_C!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff3ef7c49-0112-4cd5-9091-59d27fa8db07_1600x900.jpeg 848w, https://substackcdn.com/image/fetch/$s_!4E_C!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff3ef7c49-0112-4cd5-9091-59d27fa8db07_1600x900.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!4E_C!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff3ef7c49-0112-4cd5-9091-59d27fa8db07_1600x900.jpeg 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!4E_C!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff3ef7c49-0112-4cd5-9091-59d27fa8db07_1600x900.jpeg" width="1456" height="819" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/f3ef7c49-0112-4cd5-9091-59d27fa8db07_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/190393742?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff3ef7c49-0112-4cd5-9091-59d27fa8db07_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_!4E_C!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff3ef7c49-0112-4cd5-9091-59d27fa8db07_1600x900.jpeg 424w, https://substackcdn.com/image/fetch/$s_!4E_C!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff3ef7c49-0112-4cd5-9091-59d27fa8db07_1600x900.jpeg 848w, https://substackcdn.com/image/fetch/$s_!4E_C!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff3ef7c49-0112-4cd5-9091-59d27fa8db07_1600x900.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!4E_C!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff3ef7c49-0112-4cd5-9091-59d27fa8db07_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><em>Hi Insiders. This is Tuma, open-source reporter from the Insider Edition. 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/marmot-protocol/whitenoise/releases/tag/v2026.3.5">v2026.3.5</a> of White Noise was recently released, bringing a smoother experience to the Nostr-based messaging application.</p><ul><li><p>During the monthly call, on Tuesday 3rd, Marmot protocol developers announced that a new version of the messaging application was ready to be released. The latest update builds on top of <a href="https://github.com/marmot-protocol/whitenoise/releases/tag/v0.3.0">v0.3.0</a>, released a week earlier, which incorporated all the rework done through the <a href="https://open.substack.com/pub/btcpp/p/last-week-in-bitcoin-feb-02-08?r=2c4bjq&amp;selection=91530977-ac6f-4683-9921-ea6999031daf&amp;utm_campaign=post-share-selection&amp;utm_medium=web&amp;aspectRatio=instagram&amp;textColor=%23ffffff&amp;bgImage=true">Sloth</a> project. v2026.3.5 was then officially released on Thursday, March 5th.</p></li><li><p>This release integrates a breaking change that was recently <a href="https://github.com/marmot-protocol/marmot/pull/48">applied</a> to the Marmot specifications. Specifically, Marmot dropped support for <a href="https://github.com/nostr-protocol/nips/blob/master/44.md">NIP-44</a> encryption and replaced it with ****<a href="https://en.wikipedia.org/wiki/ChaCha20-Poly1305">ChaCha20-Poly1305</a> due to compatibility issues between the TypeScript implementation and the Rust-based one. Developers noted that group chats created with v0.3.0 will continue to work as long as any member upgrades to the latest version.</p></li><li><p>On a side note, White Noise is no longer the only messaging application based on the Marmot protocol. Other clients, such as <a href="https://github.com/VectorPrivacy/Vector">Vector</a> and <a href="https://github.com/sledtools/pika/">Pika</a>, are currently integrating the new standard, providing more choice to users. Interestingly, cross-compatibility was demoed during the call, showing a group chat with four different clients seamlessly exchanging messages.</p></li></ul></li><li><p><a href="https://github.com/bitcoindevkit/bdk-ffi/issues/946">IS946</a> in bdk-ffi is keeping track of the ongoing effort to bring BDK to the Go language.</p><ul><li><p>During the biweekly call, on Tuesday 3rd, bdk-ffi developers discussed IS946, which keeps track of the work being done to bring BDK to the Go ecosystem. At the moment, some problems are being addressed by BDK developers.</p></li><li><p>The main issue is related to the difference in the <a href="https://github.com/mozilla/uniffi-rs">uniffi-rs</a> version supported. In fact, developers are leveraging <a href="https://github.com/NordSecurity/uniffi-bindgen-go">uniffi-bindgen-go</a>, the uniffi bindings generator for Go, which uses uniffi-rs v0.29.5, while BDK is working on v0.30.0, making the two libraries incompatible. Thus, LDK developer <a href="https://x.com/_tnull">Elias Rohrer</a> is <a href="https://github.com/NordSecurity/uniffi-bindgen-go/pull/88">working</a> on upgrading the uniffi-bindgen-go generator to the same version, in order for it to be compatible with bdk-ffi.</p></li><li><p>In the meantime, developer <a href="https://github.com/reez">Matthew Ramsden</a> is testing Rohrer&#8217;s work. While the bindings generation succeedes, he is encountering issues in the compilation. The problem seems to be linked to an intrinsic limitation in the Go language, with developers discussing possible solutions.</p></li></ul></li></ul><div><hr></div><h3>Other News from the Bitcoin World</h3><ul><li><p><strong>Decentralizing Swaps</strong>: Electrum recently <a href="https://x.com/ElectrumWallet/status/2028791061389209783?s=20">reported</a> that there are now 9 providers supplying liquidity for submarine swaps through their wallet. This feature was introduced around 6 months ago in <a href="https://github.com/spesmilo/electrum/releases/tag/4.6.0">v4.6.0</a> to boost decentralization in swap services, with the goal to allow anyone to become a swap provider by advertising their fees and liquidity over Nostr.</p></li><li><p><strong>Bindings for the win</strong>: Recently, Steven Roose <a href="https://x.com/stevenroose3/status/2028563463329476912">reported</a> that Bark, the implementation of the Ark protocol by Second, was available in multiple programing languages. While the main codebase is written in Rust, the Second team was able to generate bindings in different languages, specifically <a href="https://pkg.go.dev/gitlab.com/ark-bitcoin/bark-ffi-bindings/golang/bark">Go</a>, <a href="https://www.npmjs.com/package/@secondts/bark-react-native">React Native</a>, <a href="https://pub.dev/packages/bark_bitcoin">Dart</a>, <a href="https://gitlab.com/ark-bitcoin/bark-ffi-bindings/-/tree/master/kotlin#installation">Swift</a> and <a href="https://gitlab.com/ark-bitcoin/bark-ffi-bindings/-/tree/master/kotlin#installation">Kotlin</a>, by leveraging uniffi-rs, the bindings generator for Rust, which is now becoming the gold standard in the Bitcoin ecosystem.</p></li><li><p><strong>Benchmarking fee estimates</strong>: <a href="https://x.com/sadeeq_ismaela">Abubakar Sadiq Ismail</a> <a href="https://x.com/sadeeq_ismaela/status/2028822780725104909">posted</a> on X about his latest <a href="https://github.com/2140-dev/bitcoin-core-fees">project</a>, a full-stack application for monitoring and validating Bitcoin Core transaction fee estimates against actual block data. The project compares fee rates estimated by Bitcoin Core with actual data from the blockchain, to verify the accuracy of the predicted data. A nice <a href="https://bitcoincorefeerate.com/">UI</a> is already available to visualize data in a simple manner.</p></li></ul>]]></content:encoded></item><item><title><![CDATA[Fuzzing is now visualized - This week in Bitcoin Core #33]]></title><description><![CDATA[This week the fuzzers decided to have a new dashboard...]]></description><link>https://insider.btcpp.dev/p/the-fuzzers-have-a-dashboard-this</link><guid isPermaLink="false">https://insider.btcpp.dev/p/the-fuzzers-have-a-dashboard-this</guid><dc:creator><![CDATA[kevkevin]]></dc:creator><pubDate>Fri, 06 Mar 2026 15:03:04 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, Brink/dergoegge announces a <a href="https://dergoegge.github.io/fuzzor-dashboard/">new dashboard</a> to view all the fuzzing activity being done on Bitcoin Core.</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>15 <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/34422">Update libmultiprocess subtree to be more stable with rust IPC client</a> by <a href="https://github.com/ryanofsky">ryanofsky</a></strong><br>The Rust mining client was having issues with async requests and unclean disconnects. To fix that, this PR synced Bitcoin Core with what is on the libmultiprocess subtree. Specifically, there was <a href="https://github.com/bitcoin-core/libmultiprocess/pull/240">a change</a> to avoid async errors in non-C++ clients.<br><br>New tests were added in this change, and in the conversation it seems there were some issues with a memory leak that were resolved.<br></p></li><li><p><strong>test: let connections happen in any order in p2p_private_broadcast.py by vasild</strong></p><p>A few months ago private broadcast was merged into Bitcoin Core by Vasild that change allowed transactions to be sent over short-lived Tor and I2P connections. This change, as you can tell by the title tag, is a test change. Specifically, it was a change to the functional test where we want to let connections happen in any order in a private broadcast.</p><blockquote><p>If the following two events happen:</p><ul><li><p>(likely) the automatic 10 initial connections are not made to all<br>networks</p></li><li><p>(unlikely) the network-specific logic kicks in almost immediately.<br>It is using exponential distribution with a mean of 5 minutes<br>(<code>rng.rand_exp_duration(EXTRA_NETWORK_PEER_INTERVAL)</code>).</p></li></ul><p>So if both happen, then the 11th connection may not be the expected<br>private broadcast, but a network-specific connection.</p></blockquote><p></p></li><li><p><strong>wallet: call SyncWithValidationInterfaceQueue after disconnecting chain notifications by achow101</strong></p><p>When the wallet disconnects from getting chain notifciations it does not expect futher notifications to execute. But from what was found in tests, that was not the case. <br><br>Right now, we disconnect the chain notifications and then continue the shutdown. Instead, the wallet now waits for the validation interface queue to be drained before shutting down the rest of the 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/34708">validation: refactor: remove ConnectTrace</a> by <a href="https://github.com/stickies-v">stickies-v</a></p></li></ul><blockquote><p>The sentinel pattern in <code>ConnectTrace</code> has been unnecessary since conflicted transaction tracking was removed in <a href="https://github.com/bitcoin/bitcoin/commit/5613f9842b4000fed088b8cf7b99674c328d15e1">5613f98</a>. Without that tracking <code>ConnectTrace</code> is a trivial wrapper around <code>std::vector</code>, so it seems better to just replace it with the vector directly.</p><p>Also modernize/update naming along the way, renaming <code>PerBlockConnectTrace</code> to <code>ConnectedBlock</code></p><p>Refactor, no behaviour change.</p></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>16:01:32 &lt;fjahr&gt; #topic Fuzzing WG Update (dergoegge)
16:01:38 &lt;hodlinator&gt; hi
16:01:59 &lt;dergoegge&gt; I made a dashboard for Brink's fuzzing infrastructure: https://dergoegge.github.io/fuzzor-dashboard/
16:02:19 &lt;darosior9&gt; hi
16:02:25 &lt;dergoegge&gt; Please let me know if you have ideas on how that can be made more useful
16:02:28 &lt;fjahr&gt; very cool
16:02:29 &lt;pinheadmz&gt; Yo
16:02:36 &lt;l0rinc&gt; hi
16:02:44 &lt;dergoegge&gt; Already got some good feedback in the fuzzing wg (thanks!)
16:02:57 &lt;dergoegge&gt; Also wanted to bring up https://github.com/bitcoin-core/gui-qml/pull/503
16:03:08 &lt;dergoegge&gt; It would be cool have something like this for the qt gui
16:03:36 &lt;hebasto&gt; qml will be a new gui soon
16:03:53 &lt;dergoegge&gt; If we're gonna keep maintaining it, it could be nice to increase our confidence with some fuzzing, which would be enabled by this approach
16:04:34 &lt;willcl-ark&gt; hi
16:04:49 &lt;dergoegge&gt; I'm not gonna work on it myself, but if someone is interested, I'd be willing to help with review or writing the fuzz tests
16:05:50 &lt;fjahr&gt; dergoegge: that's it?
16:06:34 &lt;dergoegge&gt; yes unless someone has something to add
16:06:36 &lt;johnny9dev&gt; Hi. I can throw some tokens to research it for Qt widgets. I've built this same thing before in another qml project
16:06:57 &lt;dergoegge&gt; Great! lmk how that goes!</code></pre><pre><code>16:07:05 <strong>&lt;fjahr&gt;</strong> <strong>#topic Kernel WG Update (sedited)</strong>
16:07:54 <strong>&lt;sedited&gt;</strong> don&#8217;t have anything to share this week.</code></pre><pre><code>16:08:00 <strong>&lt;fjahr&gt;</strong> <strong>#topic Benchmarking WG Update (l0rinc, andrewtoth)</strong>
16:08:04 <strong>&lt;l0rinc&gt;</strong> nothing from me
16:08:56 <strong>&lt;andrewtoth_&gt;</strong> I opened #34692 based on feedback from last week&#8217;s meeting and in #34641. Hopefully that is simple enough to get into v31. It would be a big UX improvement for our users. We can continue improving dbcaching in v32 afterwards.
16:08:58 <strong>&lt;corebot&gt;</strong> andrewtoth_: Error: That URL appears to have no HTML title within the first 32KB.
16:09:00 <strong>&lt;corebot&gt;</strong> andrewtoth_: Error: That URL appears to have no HTML title within the first 32KB.
16:09:38 <strong>&lt;andrewtoth_&gt;</strong> That&#8217;s it from me</code></pre><pre><code>16:09:59 <strong>&lt;fjahr&gt;</strong> <strong>#topic Net Split WG Update (cfields)</strong>
16:10:14 <strong>&lt;cfields&gt;</strong> Still no update, focus has been elsewhere. Really hoping to get going this week. Thanks for your patience :)
16:11:29 <strong>&lt;fjahr&gt;</strong> Not seeing silent payments, but the k_max discussion is making progress afaict (bip change is merged I think) and the focus is again on the secp Pr that implements this.
16:11:39 <strong>&lt;fjahr&gt;</strong> Anything else to discuss?
16:12:15 <strong>&lt;sipa&gt;</strong> hi
16:12:20 <strong>&lt;johnny9dev&gt;</strong> I would like to get the qml project back onto the weekly topic list. I&#8217;ve spent the last 2 weeks working on it again and I am not have full momentum again.
16:12:34 <strong>&lt;johnny9dev&gt;</strong> I now have full momentum*</code></pre><pre><code>16:12:59 <strong>&lt;fjahr&gt;</strong> <strong>#topic QML GUI WG Update (johnny9dev)</strong>
16:13:01 <strong>&lt;fjahr&gt;</strong> :p
16:13:03 <strong>&lt;johnny9dev&gt;</strong> I have another contributor helping me as well who will like to update their progress too
16:13:09 <strong>&lt;willcl-ark&gt;</strong> nice!
16:13:35 <strong>&lt;fjahr&gt;</strong> johnny9dev: You don&#8217;t have to ask for permission IMO, just move it up in the wiki page
16:14:11 <strong>&lt;johnny9dev&gt;</strong> My goal is feature parity and have setup the test automation frameworks and have done the decoupling from the original qt project. epcileafies has completed the features for peer disconnect/ban and completed a full e2e test for it using the gui test framework
16:15:18 <strong>&lt;johnny9dev&gt;</strong> the list of features has been added to the issues of the project.
16:15:52 <strong>&lt;johnny9dev&gt;</strong> thats all for this status i think

There was more converstaion on this, read the full <a href="https://achow101.com/ircmeetings/2026/bitcoin-core-dev.2026-03-05_16_00.log.html">meeting in minutes</a></code></pre><pre><code>16:41:42 <strong>&lt;fjahr&gt;</strong> <strong>#topic 31.0 milestone</strong>
16:41:57 <strong>&lt;achow101&gt;</strong> Btanching is scheuled for the 10th, which is in 5 days
16:42:36 <strong>&lt;achow101&gt;</strong> There are still 8 open PRs in the milestone: https://github.com/bitcoin/bitcoin/milestone/74
16:42:47 <strong>&lt;achow101&gt;</strong> please review them
16:43:07 <strong>&lt;sedited&gt;</strong> also #34735 as an outstanding issue.
16:43:08 <strong>&lt;corebot&gt;</strong> https://github.com/bitcoin/bitcoin/issues/34735 | Intermittent failure in rpc_gettxspendingprevout.py, line 98, assert_equal(node0.gettxspendingprevout([..]), [..]), JSONRPCException: No spending tx for the outpoint :0 in mempool, and txospenderindex is unavailable &#183; Issue #34735 &#183; bitcoin/bitcoin &#183; GitHub
16:44:32 <strong>&lt;achow101&gt;</strong> that&#8217;s all</code></pre><div><hr></div><h4><strong>Releases</strong></h4><ul><li><p>No releases this week</p></li></ul><div><hr></div><blockquote><blockquote><p>Thank you for reading. Be sure to tune in again next week for your updates on Bitcoin Core!</p></blockquote></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[The Apple Pay experience comes to Bitcoin — Last Week in Bitcoin (Feb 23 - Mar 01)]]></title><description><![CDATA[Highlights from the bitcoin developer ecosystem...]]></description><link>https://insider.btcpp.dev/p/the-apple-pay-experience-comes-to</link><guid isPermaLink="false">https://insider.btcpp.dev/p/the-apple-pay-experience-comes-to</guid><dc:creator><![CDATA[Tuma (I WILL NEVER DM YOU)]]></dc:creator><pubDate>Mon, 02 Mar 2026 15:06:27 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!fKLO!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F41c4e155-dcb3-41f8-9eb5-2d6dfc8bfedd_1600x900.jpeg" length="0" type="image/jpeg"/><content:encoded><![CDATA[<div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!fKLO!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F41c4e155-dcb3-41f8-9eb5-2d6dfc8bfedd_1600x900.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!fKLO!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F41c4e155-dcb3-41f8-9eb5-2d6dfc8bfedd_1600x900.jpeg 424w, https://substackcdn.com/image/fetch/$s_!fKLO!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F41c4e155-dcb3-41f8-9eb5-2d6dfc8bfedd_1600x900.jpeg 848w, https://substackcdn.com/image/fetch/$s_!fKLO!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F41c4e155-dcb3-41f8-9eb5-2d6dfc8bfedd_1600x900.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!fKLO!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F41c4e155-dcb3-41f8-9eb5-2d6dfc8bfedd_1600x900.jpeg 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!fKLO!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F41c4e155-dcb3-41f8-9eb5-2d6dfc8bfedd_1600x900.jpeg" width="1456" height="819" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/41c4e155-dcb3-41f8-9eb5-2d6dfc8bfedd_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/189657502?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F41c4e155-dcb3-41f8-9eb5-2d6dfc8bfedd_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_!fKLO!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F41c4e155-dcb3-41f8-9eb5-2d6dfc8bfedd_1600x900.jpeg 424w, https://substackcdn.com/image/fetch/$s_!fKLO!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F41c4e155-dcb3-41f8-9eb5-2d6dfc8bfedd_1600x900.jpeg 848w, https://substackcdn.com/image/fetch/$s_!fKLO!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F41c4e155-dcb3-41f8-9eb5-2d6dfc8bfedd_1600x900.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!fKLO!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F41c4e155-dcb3-41f8-9eb5-2d6dfc8bfedd_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><em>Hi Insiders. This is Tuma, open-source reporter from the Insider Edition. 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/Numo">Numo</a> was released last week, aiming to level up the user experience for Bitcoin payments.</p><ul><li><p>During the monthly community call, on Thursday 26th, the Cashu team demoed Numo, the first tap-2-pay point-of-sale solution which allows merchants to easily accept Bitcoin. The first version of the Android application, <a href="https://github.com/cashubtc/Numo/releases/tag/v1.0">v0.1.0</a>, had been officially launched a couple of days before, on Tuesday 24th.</p></li><li><p>Numo is a simple, free and open-source, Android application, which enables user to receive ecash payments through the Cashu protocol using tap-2-pay. Merchants can also accept BOLT11 payments through QR codes. Notably, the application also supports automatic withdrawal to self-custody and provides users with management tools for creating item catalogs and baskets, a tipping system, and the possibility to review payment history.</p></li><li><p>According to Cashu developers, the aim is to improve the user experience for Bitcoin payments, bringing it up to the level of mainstream solutions, such as Apple Pay.</p></li></ul></li><li><p><a href="https://github.com/getAlby/sandbox">Alby Sandbox</a> is the new educational tool from Alby to test, explore, and understand the Lightning Network.</p><ul><li><p>During the monthly community call, on Thursday 26th, Alby developers showcased on their latest tools, the Alby Sandbox.</p></li><li><p>The tool provides an interactive sandbox to test and explore the Lightning Network in real world scenarios, from creating a simple invoice, to more complex use-cases such as recurring payments.</p></li><li><p><strong>What&#8217;s cool about the tech</strong>: Alby Sandbox provides code snippet, flow diagrams and example prompts to allow users to leverage all Alby&#8217;s Lightning and NWC capabilities in the real world.</p></li></ul></li><li><p>An update on the latest <a href="https://github.com/cashubtc/nuts">NUT</a> changes: Pay-to-Blinded-Key (P2BK), prediction markets, and more.</p><ul><li><p>During the monthly community call, on Thursday 26th, Cashu developers presented the latest changes to the NUT specifications.</p></li><li><p><a href="https://github.com/cashubtc/nuts/blob/main/28.md">NUT-28</a> has finally been merged, officially bringing P2BK payments to the protocol. This NUT leverages ECDH-derived blinding scheme to blind the public key. This allows to enhance privacy in Pay-To-Public-Key (P2PK) payments. Moreover, changes have been applied to <a href="https://github.com/cashubtc/nuts/pull/339">NUT-05</a> to improve asynchronous melting operations, and <a href="https://github.com/cashubtc/nuts/pull/336">new error codes</a> for maximum input and outputs in an operation have been added.</p></li><li><p>New NUTs have also been proposed. Notably, <a href="https://github.com/cashubtc/nuts/pull/337">PR337</a> proposes a technique for encoding prediction markets into Cashu tokens, while <a href="https://github.com/cashubtc/nuts/pull/342">PR342</a> introduces binary search for more efficient wallet recovery.</p></li></ul></li></ul><div><hr></div><h3>Other News from the Bitcoin World</h3><ul><li><p><strong>The first BIP54 compatible block has been mined</strong>: On Thursday 19th, <a href="https://mempool.space/mining/pool/whitepool">WhitePool</a> mined the first <a href="https://github.com/bitcoin/bips/blob/master/bip-0054.md">BIP54</a> compatible block, at height <a href="https://mempool.space/block/0000000000000000000080d8cad3f87b25828e07ecdce38d970c8b3c5df07b23">937404</a>. BIP54, usually referred to as Consensus Cleanup, is a proposed soft fork by <a href="https://x.com/darosior">Antoine Poinsot</a> and <a href="https://x.com/TheBlueMatt">Matt Corallo</a> which aims to fix some small bugs present in Bitcoin consensus. Specifically, it aims to solve the timewarp attack, reduce the worst case block validation time, prevent Merkle tree weaknesses, and avoid duplicate transactions without <a href="https://github.com/bitcoin/bips/blob/master/bip-0030.mediawiki">BIP30</a> validation. It is possible to recognize a BIP54 compatible block by looking at the <a href="https://mempool.space/tx/21da7e1707d7edff00627c4316a7d89d26bf94acc59a0320ab72c86f7b84a7fb">coinbase transaction</a> <code>nLocktime</code> field, which must be set to block height minus 1.</p></li><li><p><strong>Hackathon project found two bugs in Bitcoin library</strong>: During the BTC++ hackathon, Brazilian hacker <a href="https://x.com/Lucaslgol05">Lucaslgol05</a> found two bugs in <a href="https://github.com/bitcoinjs">BitcoinJs</a>, the JavaScript Bitcoin library for Node.js and browsers. <a href="https://loot.fund/hackathons/bitcoin-exploits-edition/applications/27">His project</a> consisted in applying differential fuzzing between BitcoinJS and <a href="https://github.com/rust-bitcoin">rust-bitcoin</a>. Differential fuzzing involves providing the same input to multiple similar programs and comparing their outputs to identify discrepancies, which may indicate bugs. Curious about what happened in Floripa? Streaming will be available from Thursday, March 5th, @ 6pm UTC on <a href="https://x.com/btcplusplus">BTC++ X profile</a>!</p></li></ul>]]></content:encoded></item><item><title><![CDATA[Is Cluster Mempool Finished? - This week in Bitcoin Core #32]]></title><description><![CDATA[This week we tell miners to cool down right after IBD...]]></description><link>https://insider.btcpp.dev/p/this-week-in-bitcoin-core-32</link><guid isPermaLink="false">https://insider.btcpp.dev/p/this-week-in-bitcoin-core-32</guid><dc:creator><![CDATA[kevkevin]]></dc:creator><pubDate>Fri, 27 Feb 2026 15:00:24 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. Here&#8217;s what I found notable.</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>19 <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/34184">mining: add cooldown to createNewBlock() immediately after IBD</a> by <a href="https://github.com/Sjors">Sjors</a><br></strong>If a mining client connected to a Bitcoin Node in IBD or catching up on the last 24 hours, they would receive a flood of new templates. <br><br>This change modifies createNewBlock() from a method that can return quickly to one that can be blocked for a few minutes. This is because, instead of returning quickly, the cooldown waits for IBD to finish. Then, as the tip moves forward, it waits a few seconds to see if the tip is updated. If so, then the timer is restarted.<br><br>The cooldown is optional because it should not be used for internal non-IPC code, and also should not halt when testing the IPC client in some situations, like Signet.<br><br>Sjors has been working on improving the IPC interface, and this is another installment of his changes!</p></li><li><p><strong><a href="https://github.com/bitcoin/bitcoin/pull/34141">miniscript: Use Func and Expr when parsing keys, hashes, and locktimes</a> by <a href="https://github.com/achow101">achow101</a></strong></p><p>Miniscript has a parser, and it currently only looks for the next &#8220;)&#8221; when parsing key, hash, or locktime expressions. This causes failures when the expression contains a nested expression. Currently, nested expressions are only possible with  musig() inside key expressions. Achow101 noticed that this pattern could be generalized to handle hahses and locktimes, so they implemented that as well.</p></li><li><p><strong><a href="https://github.com/bitcoin/bitcoin/pull/34616">Cluster mempool: SFL cost model (take 2)</a> by <a href="https://github.com/sipa">sipa</a><br></strong>This is part of the <a href="https://github.com/bitcoin/bitcoin/issues/30289">cluster mempool tracking issue</a>. This change improves the accuracy of the cost model for spanning forest linearization (SFL). The SFL cost model controls how much CPU time is spent in the algorithm for clusters that cannot be linearized within a reasonable amount of time. The goal is to have a metric for the amount of work performed. We want to impose a lower bound and an upper bound on how much work is done while linearizing.<br><br>There are conflicting design goals. On one had it is ideal if the metric is closely correlated to actual CPU time, but at the same time, it can be a nightmare to make it system-dependent because then it would be hard to predict/reason network-wide.<br><br>There are multiple solutions which are listed in the PR, but Sipa went the middle ground, counting function calls/branches/loops with weights that were determined through benchmarking.<br><br>You can read the full specification in the PR.</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/34644">mining: add submitBlock to IPC Mining interface</a> by <a href="https://github.com/w0xlt">w0xIt</a></strong></p></li></ul><blockquote><p>This PR adds a submitBlock method to the IPC Mining interface, equivalent to the submitblock RPC. It accepts a serialized block over IPC, validates/processes it via the normal block-processing path.</p><p>The method uses the same result shape as checkBlock: bool + reason/debug out-params. It reports duplicate, inconclusive, and invalid-block rejection details, and initializes reason/debug on every call.</p><p>Closes #34626</p></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><code>16:01:37 &lt;fjahr&gt; #topic Cluster Mempool WG Update (sdaftuar, sipa)
16:02:21 &lt;sipa&gt; I have closed #30289. Sadly, that also means dissolving the cluster mempool WG.
16:02:34 &lt;fjahr&gt; RIP!
16:02:52 &lt;sipa&gt; Thanks everyone for getting us this far.
16:03:29 &lt;sipa&gt; that&#8217;s it :)
16:03:45 &lt;fjahr&gt; Congrats on getting this far and thanks!
16:03:55 &lt;instagibbs&gt; well fought project, congrats
16:04:17 &lt;andrewtoth_&gt; congrats sipa!
16:04:47 &lt;sipa&gt; just over 3 years since sdaftuar and I started talking about it :)</code></code></pre><pre><code><code>16:03:47 &lt;fjahr&gt; #topic Kernel WG Update (sedited)
16:04:45 &lt;sedited&gt; another RFC PR for improving blockmap and cchain concurrency was opened in #34654
16:04:54 &lt;sedited&gt; that&#8217;s all from me.</code></code></pre><pre><code><code>16:05:16 &lt;fjahr&gt; #topic Benchmarking WG Update (l0rinc, andrewtoth)
16:05:39 &lt;andrewtoth_&gt; #34165 was merged, thanks everyone!
16:05:46 &lt;andrewtoth_&gt; I rebased #31132 for that as well as furszy&#8217;s ThreadPool. I&#8217;m hopeful we can merge that soon after v31 branch off
16:06:18 &lt;andrewtoth_&gt; Not sure if l0rinc is here, but he opened #34641 after last week&#8217;s meeting. Would be nice to get that in for v31
16:06:29 &lt;andrewtoth_&gt; that&#8217;s it from me</code></code></pre><div><hr></div><h4><strong>Releases</strong></h4><ul><li><p>No releases this week</p></li></ul><div><hr></div><blockquote><blockquote><p>Thank you for reading. Be sure to tune in again next week for your updates on Bitcoin Core!</p></blockquote></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[What’s Up With All These New BIPs?]]></title><description><![CDATA[News from the BIPs repository...]]></description><link>https://insider.btcpp.dev/p/whats-up-with-all-these-new-bips</link><guid isPermaLink="false">https://insider.btcpp.dev/p/whats-up-with-all-these-new-bips</guid><dc:creator><![CDATA[Tuma (I WILL NEVER DM YOU)]]></dc:creator><pubDate>Wed, 25 Feb 2026 16:02:14 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!GfCd!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6c176b40-2dbd-4e03-9db3-a4325bb78890_3200x1800.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!GfCd!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6c176b40-2dbd-4e03-9db3-a4325bb78890_3200x1800.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!GfCd!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6c176b40-2dbd-4e03-9db3-a4325bb78890_3200x1800.png 424w, https://substackcdn.com/image/fetch/$s_!GfCd!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6c176b40-2dbd-4e03-9db3-a4325bb78890_3200x1800.png 848w, https://substackcdn.com/image/fetch/$s_!GfCd!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6c176b40-2dbd-4e03-9db3-a4325bb78890_3200x1800.png 1272w, https://substackcdn.com/image/fetch/$s_!GfCd!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6c176b40-2dbd-4e03-9db3-a4325bb78890_3200x1800.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!GfCd!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6c176b40-2dbd-4e03-9db3-a4325bb78890_3200x1800.png" width="1456" height="819" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/6c176b40-2dbd-4e03-9db3-a4325bb78890_3200x1800.png&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;:6890397,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:true,&quot;internalRedirect&quot;:&quot;https://insider.btcpp.dev/i/189150698?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6c176b40-2dbd-4e03-9db3-a4325bb78890_3200x1800.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!GfCd!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6c176b40-2dbd-4e03-9db3-a4325bb78890_3200x1800.png 424w, https://substackcdn.com/image/fetch/$s_!GfCd!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6c176b40-2dbd-4e03-9db3-a4325bb78890_3200x1800.png 848w, https://substackcdn.com/image/fetch/$s_!GfCd!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6c176b40-2dbd-4e03-9db3-a4325bb78890_3200x1800.png 1272w, https://substackcdn.com/image/fetch/$s_!GfCd!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6c176b40-2dbd-4e03-9db3-a4325bb78890_3200x1800.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><p></p><p><strong>Bitcoin Improvement Proposals</strong> (BIPs) are the fundamental documents used to propose enhancement to the Bitcoin protocol. Any proposal has to undergo a thorough review process before being added to the <a href="https://github.com/bitcoin/bips">BIPs repository</a>. The process, recently updated by maintainer <a href="https://github.com/murchandamus">Murchandamus</a>, is described in <a href="https://github.com/bitcoin/bips/blob/master/bip-0003.md">BIP3</a> and anyone proposing a new feature, expansion, or standard must follow it. Moreover, more developers have been granted the role of BIP Editor, thus more BIPs are being evaluated, numbered, and published.</p><p>From now on, the <em><strong>Insider</strong></em> will cover all new BIPs being published and new proposals getting assigned a number. Since this is the first issue of this series, we will cover all the BIPs discussed during February.</p><p>Before starting, an important clarification is needed. <strong>A BIP being published does not mean that it has been added to Bitcoin Core</strong>, or that it has been adopted by a project. It just means that the BIP has been assigned a number and its PR merged because Editors have deemed it mature enough. The BIP will remain in <em>Draft</em> status until &#8220;<em>authors have concluded all planned work on the proposal, and are confident that their BIP represents a net improvement, is clear, comprehensive, and is ready for adoption by the Bitcoin community</em>&#8221;.</p><div><hr></div><h2>Published BIPs</h2><p><em>A list of recently published BIPs</em></p><h3>BIP360: Pay-To-Merkle-Root</h3><p><strong>Authors</strong>: <a href="https://github.com/cryptoquick">Hunter Beast</a>, <a href="https://github.com/EthanHeilman">Ethan Heilman</a>, <a href="https://github.com/Isabelfoxenduke">Isabel Foxen Duke</a></p><p><strong>Publishing Date</strong>: February 11th, 2026</p><p><strong>Layer</strong>: Consensus</p><p><a href="https://github.com/bitcoin/bips/blob/master/bip-0360.mediawiki">BIP360</a> proposes a soft fork to create a new output type called Pay-To-Merkle-Root (P2MR). This new output aims to provide protection against <a href="https://github.com/bitcoin/bips/blob/master/bip-0360.mediawiki#long-exposure-vs-short-exposure-attacks">long-exposure attacks</a> by Cryptographically Relevant Quantum Computers (CRQCs) for outputs that support <a href="https://bitcoinops.org/en/topics/tapscript/">Tapscript</a> and script trees.</p><p>This new output commits to the Merkle Root of a script tree and provides nearly most of the functionalities of P2TR outputs. However, it removes the quantum vulnerable key path spend, which exposes scripts of spent outputs which could be leveraged by a CRQC to derive the private key, through a process called quantum key recovery.</p><h3>BIP110: Reduced Data Temporary Softfork</h3><p><strong>Authors</strong>: <a href="https://github.com/dathonohm">Dathon Ohm</a></p><p><strong>Publishing Date</strong>: February 7th, 2026</p><p><strong>Layer</strong>: Consensus</p><p><a href="https://github.com/bitcoin/bips/blob/master/bip-0110.mediawiki">BIP110</a> is a proposed soft fork that aims to temporarily limit the size of data fields at the consensus level. To do so, it restores the previous 83-byte policy limit on OP_RETURN outputs.</p><h3>BIP89: Chain Code Delegation</h3><p><strong>Authors</strong>: <a href="https://github.com/jesseposner">Jesse Posner</a>, <a href="https://github.com/jurvis">Jurvis Tan</a></p><p><strong>Publishing Date</strong>: February 4th, 2026</p><p><strong>Layer</strong>: Applications</p><p><a href="https://github.com/bitcoin/bips/blob/master/bip-0089.mediawiki">BIP89</a> defines Chain Code Delegation (CCD), a method for multi-signature wallets to withhold <a href="https://github.com/bitcoin/bips/blob/master/bip-0032.mediawiki">BIP32</a> chain codes from non-privileged participants. In particular, it limits the visibility on extended XPUBs or descriptors to a multisig counterparty , allowing him to receive only the minimum data needed for signing. This methodology keeps policy enforcement feasible for a non-privileged signer, while preserving privacy for the main actor.</p><div><hr></div><h2>Numbered BIPs</h2><p><em>A list of BIPs that recently got assigned a number</em></p><h3>BIP392: Silent Payments Output Script Descriptor</h3><p><strong>Authors</strong>: <a href="https://github.com/craigraw">Craig Raw</a></p><p><strong>Assigned Date</strong>: February 6th, 2026</p><p><strong>Layer</strong>: Applications</p><p><a href="https://github.com/bitcoin/bips/pull/2047">PR2047</a> introduces BIP392, which specifies a new output script descriptor for silent payments, <code>sp()</code> . The descriptor, proposed by the creator of <a href="https://github.com/sparrowwallet">Sparrow Wallet</a>, provides a standardized way to represent silent payment outputs within the output descriptor framework, enabling wallet interoperability and recovery using existing descriptor-based infrastructure. Iin particular, the new descriptor takes silent payment key material and describes P2TR outputs when combined with the sender&#8217;s input public key, as defined in <a href="https://github.com/bitcoin/bips/blob/master/bip-0352.mediawiki">BIP352</a>.</p><h3>BIP446: OP_TEMPLATEHASH</h3><p><strong>Authors</strong>: <a href="https://github.com/instagibbs">Gregory Sanders</a>, <a href="https://github.com/darosior">Antoine Poinsot,</a> <a href="https://github.com/stevenroose">Steven Roose</a></p><p><strong>Assigned Date</strong>: February 6th, 2026</p><p><strong>Layer</strong>: Consensus</p><p><a href="https://github.com/bitcoin/bips/pull/1974">PR1974</a> introduces BIP446, which proposed a soft fork to activate a new operator for Tapscript, called OP_TEMPLATEHASH. The new opcode could be used to commit to the transaction spending an output, a capability that could replace the need for pre-signed transactions in second-layer protocols. This BIP is being proposed by Core contributors, Gregory Sanders and Antoine Poinsot, and <a href="https://github.com/ark-bitcoin">Second</a> CEO Steven Roose.</p><p>The PR also introduces another BIP, bundling together OP_TEMPLATEHASH, OP_CHECKSIGFROMSTACK, and OP_INTERNALKEY. However, this BIP has not been assigned a number yet.</p><h3>BIP361: Post Quantum Migration and Legacy Signature Sunset</h3><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>Assigned Date</strong>: February 11th, 2026</p><p><strong>Layer</strong>: Consensus</p><p><a href="https://github.com/bitcoin/bips/pull/1895">PR1895</a> introduces BIP361, 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><h3>BIP376: Spending Silent Payment Outputs with PSBTs</h3><p><strong>Authors</strong>: <a href="https://github.com/nymius">Nymius</a></p><p><strong>Assigned Date</strong>: February 5th, 2026</p><p><strong>Layer</strong>: Applications</p><p><a href="https://github.com/bitcoin/bips/pull/2089">PR2089</a> introduces BIP376, which 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 BIP375 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><h3>BIP128: Timelock-Recovery Storage Format</h3><p><strong>Authors</strong>: <a href="https://github.com/oren-z0">Oren Z</a></p><p><strong>Assigned Date</strong>: February 5th, 2026</p><p><strong>Layer</strong>: Applications</p><p><a href="https://github.com/bitcoin/bips/pull/2068">PR2068</a> introduces BIP128, which specifies a standard format for storing timelock-recovery plans. The goal of this proposal is to allow users to simply importing these type of plans into services that provide automatic monitoring and execution.</p><div data-attrs="{&quot;url&quot;:&quot;https://www.notion.so/image/attachment%3A144086b9-e338-4b00-b27e-836f249e7044%3Aimage.png?table=block&amp;id=312399ca-12f0-8058-b2be-f5f0e91acffd&amp;spaceId=3bf70cf4-59e8-4a20-a981-6ead6560b111&amp;width=2000&amp;userId=210d872b-594c-81a4-aba5-0002d09c9f31&amp;cache=v2&quot;}" data-component-name="AssetErrorToDOM"><picture><img src="/img/missing-image.png" height="455" width="728"></picture></div>]]></content:encoded></item></channel></rss>