<?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]]></title><description><![CDATA[bitcoin++ is an international bitcoin dev conference series. "Insider Edition" is our newsroom covering what's happening in and across the bitcoin++ universe and beyond.]]></description><link>https://insider.btcpp.dev</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</title><link>https://insider.btcpp.dev</link></image><generator>Substack</generator><lastBuildDate>Tue, 04 Aug 2026 20:22:58 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[The COLDCARD Incident — Last Week in Bitcoin (Jul 27 - Aug 02)]]></title><description><![CDATA[Hi Insiders.]]></description><link>https://insider.btcpp.dev/p/the-coldcard-incident-last-week-in</link><guid isPermaLink="false">https://insider.btcpp.dev/p/the-coldcard-incident-last-week-in</guid><dc:creator><![CDATA[Tuma (I WILL NEVER DM YOU)]]></dc:creator><pubDate>Mon, 03 Aug 2026 14:02:09 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!sB4_!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F29e9da38-c0bb-4ba9-8477-9830f55bd3c1_1600x900.jpeg" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p><em>Hi Insiders. This is Tuma, open-source reporter from the Insider Edition.</em></p><p><em>In this week update we feature two specification improvements to the Lightning Network, with the merging of BOLT12 payer proofs, and Cashu, with the possibility to mint and melt ecash tokens through custom payment methods.</em></p><p><em>We also cover the recent COLDCARD incident. Due to a bug in the entropy generation firmware, users saw their funds drained from their wallets.</em></p><p><em>We finally discuss the new BIP460 for Cross-Input Signature Aggregation (CISA), the Indian government against India, and some other interesting news.</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_!sB4_!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F29e9da38-c0bb-4ba9-8477-9830f55bd3c1_1600x900.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!sB4_!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F29e9da38-c0bb-4ba9-8477-9830f55bd3c1_1600x900.jpeg 424w, https://substackcdn.com/image/fetch/$s_!sB4_!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F29e9da38-c0bb-4ba9-8477-9830f55bd3c1_1600x900.jpeg 848w, https://substackcdn.com/image/fetch/$s_!sB4_!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F29e9da38-c0bb-4ba9-8477-9830f55bd3c1_1600x900.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!sB4_!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F29e9da38-c0bb-4ba9-8477-9830f55bd3c1_1600x900.jpeg 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!sB4_!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F29e9da38-c0bb-4ba9-8477-9830f55bd3c1_1600x900.jpeg" width="1456" height="819" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/29e9da38-c0bb-4ba9-8477-9830f55bd3c1_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/209631236?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F29e9da38-c0bb-4ba9-8477-9830f55bd3c1_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_!sB4_!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F29e9da38-c0bb-4ba9-8477-9830f55bd3c1_1600x900.jpeg 424w, https://substackcdn.com/image/fetch/$s_!sB4_!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F29e9da38-c0bb-4ba9-8477-9830f55bd3c1_1600x900.jpeg 848w, https://substackcdn.com/image/fetch/$s_!sB4_!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F29e9da38-c0bb-4ba9-8477-9830f55bd3c1_1600x900.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!sB4_!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F29e9da38-c0bb-4ba9-8477-9830f55bd3c1_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 aria-hidden="true" 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><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><h1><strong>Highlights from Bitcoin++ &#8212; Consensus Edition</strong></h1><p><em>I spent 10+ hours in open-source developer calls in the Bitcoin ecosystem last week. Here is what caught my eye</em>:</p><ul><li><p><a href="https://github.com/lightning/bolts/blob/master/12-offer-encoding.md#payer-proofs">BOLT12 payer proofs</a> have been merged in the Lightning Network specifications (BOLTs)</p><ul><li><p>During the monthly call, on Monday 27th, Lightning contributor discussed BOLT12 payer proofs, defined in <a href="https://github.com/lightning/bolts/pull/1346">PR1346</a>, which was merged during the call. The work was carried on by developer Vincenzo Palazzo.</p></li><li><p>This new addition to BOLT12 defines a way to prove that an invoice has been paid. It also allows to prove that the payer proofs was actually created by the secret key used to request the invoice.</p></li><li><p>This new feature opens up new interesting use-cases, such as BOLT12-based <a href="https://opensats.org/topics/zaps">zaps</a> on Nostr. In fact, Amethyst developer Vitor Pamplona <a href="https://nostr.at/nevent1qvzqqqqqqypzp25sgue9vq76e48czssfx4newdtxmca3ug9gj4tmw2xrhexx4pztqydhwumn8ghj7arjv4hxg6twvuh8yetvv9uhxtnvv9hxgtcqyr65ssa0vwtl0r3elf6ahcah7l0pf6cccnuu2mnqu7p95tr8z4cek8qfwae">announced</a> that the latest release of the Nostr client supported this specific feature, but <a href="https://nostr.at/nevent1qvzqqqqy2upzq3svyhng9ld8sv44950j957j9vchdktj7cxumsep9mvvjthc2pjuqyg8wumn8ghj7mn0wd68ytnddakj7qg3waehxw309ahx7um5wgh8w6twv5hsqgqqqqqg9hdnxywpd8cflpfglm3cexy5e70q2rgfjraa4c2uq3wd9v3zcm4u">noted</a> that there is still work to do to actually use it.</p></li></ul></li><li><p><a href="https://github.com/cashubtc/nuts/pull/382/">Custom payment methods</a> are now defined in the NUT specifications of the Cashu protocol.</p><ul><li><p>During the monthly community call, on Thursday 30th, Cashu developers discussed the new update to the Cashu specifications in PR382, which introduced the possiblity to mint and melt ecash tokens through custom payment methods.</p></li><li><p>The PR updates <a href="https://github.com/cashubtc/nuts/blob/main/04.md">NUT-04</a> (minting) and <a href="https://github.com/cashubtc/nuts/blob/main/05.md">NUT-05</a> (melting). While some specific payment methods are described in a dedicated NUT, such as <a href="https://github.com/cashubtc/nuts/blob/main/23.md">BOLT11</a>, <a href="https://github.com/cashubtc/nuts/blob/main/25.md">BOLT12</a>, and <a href="https://github.com/cashubtc/nuts/blob/main/30.md">on-chain</a>, the recent update creates an interface to allow anyone to use any custom payment method.</p></li><li><p>Developer have already implemented custom backends based on <a href="https://gitlab.com/ark-bitcoin/bark">Bark</a> (Second&#8217;s Ark implementation) and <a href="https://www.spark.money/">Spark</a>.</p></li></ul></li></ul><div><hr></div><h1>A BIPs Update</h1><p><em>In the last days there was some movement in the <a href="https://github.com/bitcoin/bips">BIP repository</a>. Specifically, one new BIP has been assigned a number by BIP maintainer <a href="https://github.com/murchandamus">Murchandamus</a>.</em></p><h2>Numbered BIPs</h2><p><em>A list of BIPs that recently got assigned a number</em></p><h3>BIP460: <strong>CISA for Taproot Key Path Spends</strong></h3><p><strong>Authors</strong>: <a href="https://github.com/fjahr">Fabian Jahr</a></p><p><strong>Assigned On</strong>: Jul 28th, 2026</p><p><strong>Layer</strong>: Consensus (Soft Fork)</p><p><a href="https://github.com/bitcoin/bips/pull/2212">PR2212</a> introduces BIP460, a proposed soft fork to introduce transaction-wide Cross-Input Signature Aggregation. The draft defines a new witness version <code>2</code> , enabling Taproot-style key path spending where inputs can aggregate their signatures within a transaction. If used together with <a href="https://insider.btcpp.dev/i/206826853/bip459-full-aggregation-of-bip-340-signatures">full-aggregation</a>, the resulting aggregate signature would have a size of 64 bytes, independent on the number of signatures.</p><div><hr></div><h1>Other News from the Bitcoin World</h1><ul><li><p><strong>The COLDCARD incident</strong>: On Thursday 30th, an earthquake hit the Bitcoin world: COLDCARD users were seeing their funds drained from their wallet. Engineers from Block soon <a href="https://x.com/max_guise/status/2083007180874379515">discovered</a> vulnerabilities in the firmware of different COLDCARD models, namely Mk3, Mk4, Mk5, and Q.</p><ul><li><p>The vulnerabilities were connected to the Random Number Generator (RNG), the component whose goal is to provide entropy during the generation of the private key. Unfortunately, a bug in the firmware prevented the generation to rely on the hardware&#8217;s RNG, instead using a pseudo-RNG, based on the some fixed values. Basically, this means that the wallet was generated deterministically.</p></li><li><p>In particular, the issue was more severe on Mk3 models, while latter models slightly compensate for this issue through secure-element input. Read <a href="https://engineering.block.xyz/blog/predictable-rng-fallback-and-32-bit-reseed-in-coldcard-firmware">Block&#8217;s report</a> to know all the technical details about the issue. The vulnerabilities have been confirmed by many different sources.</p></li><li><p>Core-lightning contributor Dusty Daemon deep dived into the COLDCARD firmware code for the Insider, providing his point of view on what happened. Read it <a href="https://insider.btcpp.dev/p/when-randombytes-runs-but-doesnt">here</a>!</p></li><li><p>Coinkite, the company behind COLDCARD, <a href="https://blog.coinkite.com/entropy-technical-backgrounder/">released</a> a security advisory on the incident, providing also <a href="https://blog.coinkite.com/coldcard-mk3-seed-generation-warning/">migration guidelines</a> to move funds away from the broken wallets.</p></li><li><p><strong>We invite user to be careful in this moment of panic. Scammers have already created fake websites, accounts, and guides to profit from the incident. Only follow the official sources.</strong></p></li></ul></li><li><p><strong>Bark &lt;&gt; Start9</strong>: Second, the company behind Bark, recently <a href="https://x.com/secondhq/status/2082494003208151438">announced</a> that Bark Wallet had been released on the Start9 registry.</p></li><li><p><strong>What Bitcoin Core did</strong>: Mike Schmidt <a href="https://x.com/bitschmidty/status/2082496590783103424">posted</a> on X a list of all the different topics that Core developers have been addressing in the last 18 months. Devs worked on many improvements, such as SwiftSync, the new mining interface compatible with Stratum V2, <a href="https://opensats.org/projects/asmap">ASmap</a>, and more.</p></li><li><p><strong>BitChat VS India</strong>: Following the protests that took place in India, the local government requested the removal of the BitChat source code. BitChat is a messaging app that allows people to communicate P2P and offline through a Bluetooth mesh. The reaction of the freedom tech communities has been overwhelming: the source code has been copied on dozens of private servers and P2P GitHub alternatives, making the request useless. Interestingly, Calle, the maintainer of the Android version of the app, posted to Nostr that the app is now able to <a href="https://nostr.at/nevent1qvzqqqqqqypzq5xeflpdskqvdq4swxj59793uvdzqzc9pzatjk3nhmcg2h0js8trqyt8wumn8ghj76rfwd6zumn0wd68ytnvv9hxgtcpzpmhxue69uhkummnw3ezumt0d5hsqg8k4snmlexqmryf903g0jnm0r83kv36us4sumc7n3spsy8apc3dyvppr4zs">replicate itself</a>, by sending the apk file directly over Bluetooth to its peers.</p></li></ul><div><hr></div><p><em>Looking for an opportunity to join up with some bitcoin devs in person? Join us in <a href="https://btcpp.dev/berlin26?code=TUMA20">Berlin</a> this October 1- 3 to talk about payments in Bitcoin!</em></p>]]></content:encoded></item><item><title><![CDATA[When random.bytes() runs but doesn't work]]></title><description><![CDATA[What a commit message tells us about the recent COLDCARD bug]]></description><link>https://insider.btcpp.dev/p/when-randombytes-runs-but-doesnt</link><guid isPermaLink="false">https://insider.btcpp.dev/p/when-randombytes-runs-but-doesnt</guid><dc:creator><![CDATA[Dusty Daemon]]></dc:creator><pubDate>Sat, 01 Aug 2026 15:30:56 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!BDET!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb8c90d04-92b6-4b71-9826-4f752f690009_1024x1024.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p><em>This is a guest post from noted Core-Lightning developer, </em><code>ddustin</code><em>, who dug into the Coldcard firmware commit history to uncover what happened and why the code failed.</em></p><h2><span>Intro</span></h2><p><span>I began investigating the Coldcard hack and was immediately shocked. I need to explain why.</span></p><p><span>When we developers work on code, we organize or code changes into changesets we call &#8220;commits.&#8221; The purpose of doing so is to show a clear history of what code was changed including why and how.</span></p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!BDET!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb8c90d04-92b6-4b71-9826-4f752f690009_1024x1024.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!BDET!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb8c90d04-92b6-4b71-9826-4f752f690009_1024x1024.png 424w, https://substackcdn.com/image/fetch/$s_!BDET!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb8c90d04-92b6-4b71-9826-4f752f690009_1024x1024.png 848w, https://substackcdn.com/image/fetch/$s_!BDET!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb8c90d04-92b6-4b71-9826-4f752f690009_1024x1024.png 1272w, https://substackcdn.com/image/fetch/$s_!BDET!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb8c90d04-92b6-4b71-9826-4f752f690009_1024x1024.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!BDET!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb8c90d04-92b6-4b71-9826-4f752f690009_1024x1024.png" width="1024" height="1024" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/b8c90d04-92b6-4b71-9826-4f752f690009_1024x1024.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1024,&quot;width&quot;:1024,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:2128744,&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/209314702?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb8c90d04-92b6-4b71-9826-4f752f690009_1024x1024.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_!BDET!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb8c90d04-92b6-4b71-9826-4f752f690009_1024x1024.png 424w, https://substackcdn.com/image/fetch/$s_!BDET!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb8c90d04-92b6-4b71-9826-4f752f690009_1024x1024.png 848w, https://substackcdn.com/image/fetch/$s_!BDET!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb8c90d04-92b6-4b71-9826-4f752f690009_1024x1024.png 1272w, https://substackcdn.com/image/fetch/$s_!BDET!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb8c90d04-92b6-4b71-9826-4f752f690009_1024x1024.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 aria-hidden="true" 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><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><span>This is done precisely for </span><strong><span>instances like this</span></strong><span> where it appears Bitcoiner&#8217;s funds are being stolen en masse, so we can investigate and understand exactly how it could happen.</span></p><p><span>Good developers write clear commit messages, written notes that go along with the code changes that explain what the specific change is accomplishing.</span></p><p><span>To make a clear commit message, you typically want to the commit to represent a smaller change of code, so there&#8217;s less to comment on.</span></p><p><span>A good goal as a developer is a high commit message to change ratio. The more lines of code that you change, the more comments explaining why you&#8217;re changing the code. </span><em><span>More</span></em><span> message and </span><em><span>less</span></em><span> code changes per commit is generally a good idea.</span></p><p><span>Here is an example chosen </span><a href="https://github.com/ElementsProject/lightning/pull/9097/changes/2379288826aebed1548e5dbea5a692b80f60ca37"><span>randomly from some of my own work.</span></a></p><p><span>The commit message is 235 characters, and the commit changes 15 lines of code. That&#8217;s  a ratio of 235/15 = ~16.</span></p><p><span>In the cold card, the commit that introduced the low entropy bug is </span><a href="https://github.com/Coldcard/firmware/commit/37e4af5451c260c1e7d429fe8972c4cb5e68ee59"><span>here.</span></a></p><p><span>The commit message is 5 characters and is simply the word &#8220;runs.&#8221; The commit changes 1534 lines of code making the ratio 5/1534 = ~0.003</span></p><p><span>This is an atrociously bad comment to code change ratio.</span></p><p><span>There are some rare instances where a low comment ratio is justifiable -- but changing </span><strong><span>the most important part of the code</span></strong><span> is not one of those cases!</span></p><p><span>Code that touches functions critical to the security of the project need to have a </span><em><span>higher</span></em><span> ratio of comments to changes and more stringent review.</span></p><p><span>The second commit contributing to the weak entropy issue on Coldcards is </span><a href="https://github.com/switck/libngu/commit/f19de0527a49e560203102288ae4bc9740a32d96"><span>here.</span></a></p><p><span>The commit message is 1 character: simply the character &#8220;x.&#8221; The commit changes ~1000 lines of code making the ratio 1/1000 = ~0.001</span></p><h2><span>The Issue</span></h2><p><span>In the </span><a href="https://github.com/Coldcard/firmware/commit/37e4af5451c260c1e7d429fe8972c4cb5e68ee59"><span>commit titled &#8220;runs&#8221; </span></a><span> (ratio: ~0.003), it appears they are importing and configuring C code to make custom micropython code work on the STM32, the board that all Coldcards run on.</span></p><p><span>STM32 is the most common CPU for small devices like this, and configurations like what this commit introduces are common.</span></p><p><span>In the &#8216;runs&#8217; commit, the hardware RNG (Random Number Generation) was disabled with the following line of code. </span></p><p><code>#define MICROPY_HW_ENABLE_RNG       (0)</code></p><p>This is what caused the bug. Setting this value to zero tells the default micropython rng code to not use the hardware RNG device and that it should use the Yasmarang RNG instead. </p><p><span>The developer added an inline comment &#8220;explaining&#8221; this change</span></p><p><code>// We have our own version of this code.</code></p><p><span>The COLDCARD version of this code appears to be in reference to the functions added in rng.h and rng.c</span></p><p><code>rng.h</code></p><p><code>MP_DECLARE_CONST_FUN_OBJ_0(pyb_rng_get_obj);</code></p><p><code>MP_DECLARE_CONST_FUN_OBJ_1(pyb_rng_get_bytes_obj);</code></p><p><span>These appear to be an attempt to override the stm32 rng library&#8217;s `</span><code>pyb_rng_getobj` </code>function. This approach ran into trouble. T<span>he stm32 rng.c file already defines the </span><code>pyb_rng_et_obj </code>variable and sets the value to `<code>pyb_mg_get`.</code> You can&#8217;t have two definitions of the same variable and have it compile.</p><p><code>rng.c</code></p><p><code>MP_DEFINE_CONST_FUN_OBJ_0(pyb_rng_get_obj, pyb_rng_get);</code></p><p><span>Expanding the macro and thinking of it logically is just this pseudocode:</span></p><p><code>var pyb_rng_get_obj = pyb_rng_get</code></p><p><span>Commit `</span><code>37e4af5` </code>adds a custom <span>rng.c file, where he copy pasted the same macro definition</span></p><p><code>MP_DEFINE_CONST_FUN_OBJ_0(pyb_rng_get_obj, pyb_rng_get);</code></p><p><span>There is now no way for this code to compile. It appears that the developer is naively trying to override the `</span><code>pyb_rng_get_obj</code><span>` variable by creating a duplicate version of the variable. C does not work this way.  This error would have given him a compiler error of &#8220;duplicate symbol </span><code>pyb_rng_get_obj</code><span>, because there are now two places where it is defined: the stm32 library, and in the newly added rng.c file.</span></p><p><span>From here, I assume in a bout of frustration, he set `</span><code>MICROPY_HW_ENABLE_RNG</code><span>` to 0, which would have resolved the compiler error.</span></p><p><span>Sometimes when developers are flailing, they&#8217;ll try random things to see if it helps. Setting `</span><code>MICROPY_HW_ENABLE_RNG</code><span> to 0 would have made the compiler error go away ***for the wrong reason***.</span></p><p><span>This swept the compiler error of having two conflicting definitions under the rug.</span></p><p><code>// We have our own version of this code.</code></p><p><code>#define MICROPY_HW_ENABLE_RNG       (0)</code></p><p><span>Setting </span><code>MICROPY_HW_ENABLE_RNG</code><span> to zero completely removed the code that used the hardware random number generator, or</span><a href="https://github.com/micropython/micropython/blob/master/ports/stm32/rng.c#L31-L80"><span> lines 31 to 80 in the stm32 rng.c file</span></a><span>. This had the side effect of removing the second definition of </span><code>pyb_rng_get_obj</code><span>, which &#8220;fixed&#8221; the compiler error. </span></p><p><span>The compiler error was begging the programmer to reconsider his logic. Instead of that happening, the compiler error was just silenced. The compiler was giving the developer one last chance to reconsider what he was about to do, but the alarm was ignored and silenced.</span></p><p><span>Now everything is lining up. It looks like the developer tried to override the variable, but ran into conflicting definitions. When confronted with a &#8220;duplicate symbol&#8221; error, tried changing random things to get the code to </span><em><strong><span>run</span></strong></em><span>.</span></p><p><span>He discovered that changing `</span><code>MICROPY_HW_ENABLE_RNG</code><span>` to 0 made it compile. He probably had no idea why but came up with a theory. We don&#8217;t need that anymore because we have our own version of the code.</span></p><p>His definitions of the <code>pyb_rng_get</code> were in place, and the code he was intending not to run had been turned off.</p><h2><span>Confusing Call Chains</span></h2><p><span>Coldcard&#8217;s firmware is written in C. The application layer, that tells the hardware what to do is written in Python. The Python code calls into the C code. The developer overwrote the </span><code>pyb_rng_get</code> functions. </p><p><span>Unfortunately for many, the </span><code>pyb_rng_get</code> functions that his code overwrote weren&#8217;t what is actually called from the python code. <span>The Python code in v4.0.0 of the Coldcard calls </span><code>random.bytes()</code><span> in their </span><code>make_new_wallet()</code> <span>function.</span></p><p><code><br>async def make_new_wallet():</code></p><p><code>    await ux_dramatic_pause(&#8217;Generating...&#8217;, 4)</code></p><p><code>    seed = random.bytes(32) # OOPS</code></p><p><code>    assert len(set(seed)) &gt; 4</code></p><p><code>    seed = ngu.hash.sha256s(seed)</code></p><p><code>    await approve_word_list(seed)</code><span><br><br>Setting `</span><code>MICROPY_HW_ENABLE_RNG</code><span>` to 0 turned off the stm32 library provided hardware code, but allowed the developer to set `</span><code>pyb_rng_get_obj</code><span>`. Problem is, </span><code>pyb_rng_get_obj</code><span> is the Python-visible </span><strong><span>pyb.rng() </span></strong><span>callable.</span></p><p><span>That&#8217;s not what the developer is invoking here in the wallet function. Instead, they&#8217;re using `</span><strong><span>random.bytes(32)</span></strong><span>` which skips the </span><code>pyb_rng_get</code><span> callpath entirely and instead calls `</span><code>rng_get</code><span>`, which due to the `</span><code>MICROPY_HW_ENABLE_RNG</code><span>` being set to zero used the micropython stm32 rng.c definition </span><a href="https://github.com/micropython/micropython/blob/f777bc7e7b14d2d2c9ea6785f1d041006a406c8d/ports/stm32/rng.c#L113"><span>at L112</span></a><span>, which called the insecure Yasmarang, non hardware wallet entropy.<br></span><code><br>uint32_t rng_get(void) {</code></p><p><code>    return pyb_rng_yasmarang();</code></p><p><code>}</code></p><p><span>Simply put: the firmware change overwrites functions that aren&#8217;t used when creating a new wallet while, as a side effect of including the python method overrides, turns off the hardware RNG usage in every case, instead using a very weak random number generator.</span></p><p><span>The final bit of evidence is the commit message itself. It was simply the message &#8220;runs.&#8221;</span></p><p><span>Developers, if you are ever in this scenario, please stop. Whatever you&#8217;re getting paid is not worth the devastation you might potentially cause for others. </span></p><p><em><span>Do not</span></em><span> ship code you do not understand.</span></p><h2><span>A curse on micropython</span></h2><p><span>At the core this appears to be a consequence of too many layers of complexity. There&#8217;s the micropython library, the bindings between the C code and the Python application, and the new functions that COLDCARD is adding. Was the developer that made this patch actually a python developer who was forced to write and handle C?</span></p><p><span>Micropython creates the illusion embedded developers do not need to understand C, their CPU, or other advanced concepts to do embedded programming.</span></p><p><span>That is a lie.</span></p><p><span>And this catastrophe is the result of believing that lie.</span></p><p><span>You must understand the code you are shipping. Full stop. There are no excuses. Layers of misdirection make it harder to understand.</span></p><p>If you make changes, make sure that you verify that they are doing what you intend them to do.</p><p><span>The commit messages here tell the real story. Treating </span><em><span>the most critical part of your code</span></em><span> with the lack of diligence and understanding shown here is inexcusable.</span></p><p><span>You, as a developer working on Bitcoin, need to take your time to understand your changes, document them clearly, and verify they do what you think.</span></p><p><span>When people&#8217;s lives are ruined, they won&#8217;t and shouldn&#8217;t give you sympathy. You need to appreciate the funds you are putting at risk. Your task as a bitcoin developer is of the highest importance. I have made mistakes myself in the past, but there are no excuses for a failure to understand what you are shipping when the code is this critical.</span></p><p><span>I hope that we, as an industry, can learn from this and lean on each other to ship secure code, as a community of developers.</span></p><div class="captioned-button-wrap" data-attrs="{&quot;url&quot;:&quot;https://insider.btcpp.dev/p/when-randombytes-runs-but-doesnt?utm_source=substack&utm_medium=email&utm_content=share&action=share&quot;,&quot;text&quot;:&quot;Share&quot;}" data-component-name="CaptionedButtonToDOM"><div class="preamble"><p class="cta-caption">Thanks for reading bitcoin++'s Insider Edition!  Click below to share this post with your GC</p></div><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://insider.btcpp.dev/p/when-randombytes-runs-but-doesnt?utm_source=substack&utm_medium=email&utm_content=share&action=share&quot;,&quot;text&quot;:&quot;Share&quot;}" data-component-name="ButtonCreateButton"><a class="button primary" href="https://insider.btcpp.dev/p/when-randombytes-runs-but-doesnt?utm_source=substack&utm_medium=email&utm_content=share&action=share"><span>Share</span></a></p></div><p></p>]]></content:encoded></item><item><title><![CDATA[Consensus Edition — Last Week in Bitcoin (Jul 20 - 26)]]></title><description><![CDATA[Hi Insiders.]]></description><link>https://insider.btcpp.dev/p/consensus-edition-last-week-in-bitcoin</link><guid isPermaLink="false">https://insider.btcpp.dev/p/consensus-edition-last-week-in-bitcoin</guid><dc:creator><![CDATA[Tuma (I WILL NEVER DM YOU)]]></dc:creator><pubDate>Mon, 27 Jul 2026 14:02:01 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!ETMd!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbc7cabc2-5338-4569-a3d9-65033add0a7e_1600x900.jpeg" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p><em>Hi Insiders. This is Tuma, open-source reporter from the Insider Edition.</em></p><p><em>In this week update we feature the most interesting things happened during Bitcoin++ Consensus Edition in Toronto, where devs met to discuss new consensus proposals and what are the best way forward for Bitcoin.</em></p><p><em>We also cover some other interesting news from the Bitcoin ecosystem. Notably, a PR was opened in Bitcoin Core to bring BIP54 (Consensus Cleanup) into the protocol, Lightning Labs launched a third Ark implementation, and silent payments being integrated in libsecp256k1.</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_!ETMd!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbc7cabc2-5338-4569-a3d9-65033add0a7e_1600x900.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!ETMd!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbc7cabc2-5338-4569-a3d9-65033add0a7e_1600x900.jpeg 424w, https://substackcdn.com/image/fetch/$s_!ETMd!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbc7cabc2-5338-4569-a3d9-65033add0a7e_1600x900.jpeg 848w, https://substackcdn.com/image/fetch/$s_!ETMd!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbc7cabc2-5338-4569-a3d9-65033add0a7e_1600x900.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!ETMd!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbc7cabc2-5338-4569-a3d9-65033add0a7e_1600x900.jpeg 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!ETMd!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbc7cabc2-5338-4569-a3d9-65033add0a7e_1600x900.jpeg" width="1456" height="819" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/bc7cabc2-5338-4569-a3d9-65033add0a7e_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/208685281?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbc7cabc2-5338-4569-a3d9-65033add0a7e_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_!ETMd!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbc7cabc2-5338-4569-a3d9-65033add0a7e_1600x900.jpeg 424w, https://substackcdn.com/image/fetch/$s_!ETMd!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbc7cabc2-5338-4569-a3d9-65033add0a7e_1600x900.jpeg 848w, https://substackcdn.com/image/fetch/$s_!ETMd!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbc7cabc2-5338-4569-a3d9-65033add0a7e_1600x900.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!ETMd!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbc7cabc2-5338-4569-a3d9-65033add0a7e_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 aria-hidden="true" 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><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><h1><strong>Highlights from Bitcoin++ &#8212; Consensus Edition</strong></h1><p><em>I spent last week at Bitcoin++ Consensus Edition in Toronto. The first day of talks will be live-streamed starting from Thursday, July 30th, at 5PM UTC.</em></p><p><em>Here is what caught my eye</em>:</p><ul><li><p><a href="https://x.com/matthewvuk2">Matthew Vuk</a> from Second kicked-off the conference by providing an historical overview on all the soft forks that have ever happened in Bitcoin.</p></li><li><p><a href="https://x.com/fjahr">Fabian Jahr</a> gave a talk about his recent proposal to bring Cross-input Signature Aggregation (CISA) to Bitcoin. The BIPs triplet is composed by <a href="https://github.com/bitcoin/bips/pull/2205">BIP458</a> for half-aggregation, <a href="https://github.com/bitcoin/bips/pull/2210">BIP459</a> for full-aggregation, and <a href="https://github.com/bitcoin/bips/pull/2212">BIP460</a> (not yet assigned, but reserved for this goal) for the actual CISA sofr fork.</p></li><li><p><a href="https://x.com/_julian256_">Julian Moik</a> provided a panoramic on the <a href="https://github.com/bitcoin/bips/pull/2118">Great Script Restoration</a> proposal, which aims to make Bitcoin programmable money again.</p></li><li><p><a href="https://x.com/PabloSGreco">Pablo Greco</a>, Director of Engineering at Blockstream, highlighted the differences in consensus between Bitcoin and the Liquid sidechain.</p></li><li><p><a href="https://x.com/mikehassard">Michael Hassard</a>, one of Roman Sterlingov&#8217;s trial lawyers, talked about his client&#8217;s story, the ongoing process, and the next steps to make Roman a free man again.</p></li><li><p><a href="https://github.com/roconnor">Russel O&#8217;Connor</a> explained what formal verification is, and how he applied it to one of the modules of tone of he cryptographic library used in Bitcoin, libsecp256k1.</p></li><li><p><a href="https://x.com/tdryja">Tadge Dryja</a> gave a talk on the possible techniques that could be used to migrate exposed coins to new quantum-safe addresses, in case elliptic curve gets broken in the future.</p></li><li><p>BDK contributor <a href="https://x.com/thunderB__">Thunderbiscuit</a> discussed <a href="https://opensats.org/topics/bip-157">Compact Block Filters</a>, how they impact users, and how wallet developers could leverage them in their applications.</p></li><li><p>Bitcoin researcher <a href="https://x.com/conduition_io">Conduition</a> explained to the audience what isogeny signatures are and why are they important for a post-quantum future. All through mathematics and memes.</p></li><li><p><a href="https://x.com/peterktodd">Peter Todd</a> discussed his ideas on tail emission and demurrage, a way to keep Bitcoin secure after the last sat gets mined.</p></li><li><p><a href="https://x.com/isabelfoxenduke">Isabel Foxen Duke</a> moderated a panel with Tadge Deyja, Conduition, and <a href="https://x.com/nadav_kohen">Nadav Kohen</a> on the different proposals currently under research to make Bitcoin quantum secure.</p></li><li><p><a href="https://x.com/kcalvinalvinn">Calvin Kim</a>, btcd contributor, gave a talk on what the developments of an alternative Bitcoin client looks like.</p></li><li><p><a href="https://x.com/andrew_s_toth">Andrew Toth</a> gave an overview on his recent work to make Initial Block Download (IBD) faster, an improvement that should be included in Bitcoin Core v32.</p></li><li><p>Matthew Vuk explained how the Ark round signing ceremony works.</p></li><li><p><a href="https://x.com/stevenroose3">Steven Roose</a>, Second CEO, discussed what covenants are, how they work, and how we could achieve them using <code>OP_TEMPLATEHASH</code> and <code>OP_CHECKSIGFROMSTACK</code> .</p></li><li><p><a href="https://x.com/Truthcoin">Paul Sztorc</a> told the audience about everything he is working on right now, from his future <a href="https://ecash.com/">hard fork</a> to all that he is building on top of it.</p></li><li><p><a href="https://x.com/cguida6">Chris Guida</a> explained why he thinks that BIP110 is the best way forward for Bitcoin.</p></li><li><p>Tadge Dryja moderated the final panel with Chris Guida, Paul Sztorc, and Peter Todd on the different views and proposals they have for the future of Bitcoin. The final panel will be live <a href="https://x.com/i/broadcasts/1OxwbbMVymvJB">today</a>, Monday 27th, at 5PM UTC!</p></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><h1>Other News from the Bitcoin World</h1><ul><li><p><strong>Next step for BIP54</strong>: Antoine Poinsot <a href="https://x.com/darosior/status/2080659168097190123">announced</a> that a new <a href="https://github.com/bitcoin/bitcoin/pull/35793">PR35793</a> on Bitcoin Core had been opened to bring BIP54, the Consensus Cleanup soft fork, to Bitcoin. The PR will only implement the soft forks, without the activation mechanism.</p></li><li><p><strong>The 3rd Ark</strong>: Lightning Labs <a href="https://x.com/lightning/status/2079620936567779707">announced</a> their answer to Lightning last mile problem, <a href="https://wavelength.lightning.engineering/">Wavelength</a>. The new implementation is an Ark analog, and allows fast integration of Bitcoin payments in any application.</p></li><li><p><strong>Silent payments &lt;&gt; libsecp256k1</strong>: The cryptographic functions needed for silent payments have been recently merged into the libsecp256k1 library through <a href="https://github.com/bitcoin-core/secp256k1/pull/1765">PR1765</a>.</p></li></ul><div><hr></div><p><em>Looking for an opportunity to join up with some bitcoin devs in person? Join us in <a href="https://btcpp.dev/berlin26?code=TUMA20">Berlin</a> this October 1- 3 to talk about payments in Bitcoin!</em></p>]]></content:encoded></item><item><title><![CDATA[Speeding up SipHash - This Week in Bitcoin Core #52]]></title><description><![CDATA[This week Siphash is hashing faster...]]></description><link>https://insider.btcpp.dev/p/speeding-up-siphash-this-week-in</link><guid isPermaLink="false">https://insider.btcpp.dev/p/speeding-up-siphash-this-week-in</guid><dc:creator><![CDATA[kevkevin]]></dc:creator><pubDate>Fri, 24 Jul 2026 14:01:23 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 aria-hidden="true" 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><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><h4><strong>Merged PR&#8217;s</strong></h4><h5><strong>Every week, several changes are officially added to Bitcoin Core. This week, </strong>multiple <strong>changes were merged. Here are some I found interesting this week.</strong></h5><ul><li><p><strong><a href="https://github.com/bitcoin/bitcoin/pull/35090">fuzz: add</a></strong><a href="https://github.com/bitcoin/bitcoin/pull/35090"> </a><strong><a href="https://github.com/bitcoin/bitcoin/pull/35090">p2p_private_broadcast</a></strong><a href="https://github.com/bitcoin/bitcoin/pull/35090"> </a><strong><a href="https://github.com/bitcoin/bitcoin/pull/35090">harness</a></strong> by <strong><a href="https://github.com/frankomosh">frankomosh</a></strong></p><p>More fuzz coverage landed this week. Frank Ochieng had his PR merged that adds a dedicated harness for ConnectionType::PRIVATE_BROADCAST, the privacy-preserving tx relay path that barely got exercised before.<br></p><p>The existing process_message fuzz target could create private broadcast peers, but it never seeded m_tx_for_private_broadcast, so the interesting send path basically never ran. This harness builds those peers on purpose, seeds the tx first, and only feeds in the message types private broadcast actually allows.<br></p><p>As always, more fuzzing is welcome, and who knows, maybe this one finds something interesting down the line.</p></li><li><p><strong><a href="https://github.com/bitcoin/bitcoin/pull/35215">coins: use SipHash-1-3-UJ for CCoinsMap keys</a></strong> by <strong><a href="https://github.com/l0rinc">l0rinc</a></strong><br>This week L0rinc had a performance PR merged that speeds up hashing for the in-memory UTXO cache. The coins map was using SipHash-2-4 for <code>COutPoint</code> keys, and that path was doing more work than it needed to for a fixed 32-byte txid plus a small output index.<br></p><p>The fix switches that hasher over to SipHash-1-3-UJ, a reduced-round variant with jumbo-block handling that Pieter helped design. It stays local to the coins cache and related temp sets, so nothing gets persisted or sent over the network. Benchmarks show the outpoint hash path about 2x faster, and a full reindex run was roughly 5% quicker.</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><p><strong><a href="https://github.com/bitcoin/bitcoin/pull/25665">refactor: Add util::Result failure types and ability to merge result values</a></strong><span> by </span><strong><a href="https://github.com/ryanofsky">ryanofsky</a></strong></p><blockquote><pre><code><code>Add `util::Result` support for returning more error information and make use of it in [LoadChainstate method](https://github.com/bitcoin/bitcoin/pull/25665/commits/753b8678ac98c8753f9db17cc92d56d4d58d9e7e) as an initial application. Followup PRs [#25722](https://github.com/bitcoin/bitcoin/pull/25722) and [#29700](https://github.com/bitcoin/bitcoin/pull/29700) use it more broadly to return errors and warnings from wallet and kernel functions as well.

This change adds two major features to the result class:

- For better error handling, adds the ability to return a value on failure, not just a value on success. This is a key missing feature that makes the result class not useful for functions like `LoadChainstate()` which produce different errors that need to be handled differently [^1].

- For better error reporting, adds the ability to return warning messages and multiple errors, not just a single error string. This provides a way for functions to report errors and warnings in a standard way, and simplifies interfaces</code></code></pre></blockquote><div><hr></div><h4><strong>IRC meeting notes</strong></h4><h5><strong>Every week on Thursday, there is an IRC meeting. Here are some short notes from that meeting.</strong></h5><pre><code>--- Topic 1 ---
stickies-v: #topic Fuzzing WG Update (dergoegge, marcofleon)
marcofleon: hi
marcofleon: no update
hodlinator: hi

--- Topic 2 ---
stickies-v: #topic Kernel WG Update (sedited)
sedited: i've got nothing this week. maybe someone else?
yancy: hi
stickies-v: purpleKarrot made some more progress on his stateless validation work
stickies-v: but i think more to share on that later

--- Topic 3 ---
stickies-v: #topic Benchmarking WG Update (l0rinc, andrewtoth)
l0rinc: #35215 was merged - another 5% validation speedup \:D/
l0rinc: so now we can use it in #35531
l0rinc: I'm running reindex-chainstate benchmarks to compare master with 29/30/31 to see how they stack up.
stickies-v: as in 5% faster IBD/reindex?
l0rinc: yup
stickies-v: juicy
l0rinc: in addition to the parallel prevout fetcher
l0rinc: thanks, that's it from me
dergoegge: lfg
Murch[m]: v32 should be quite the speedupz
l0rinc: especially if we can get the txindex changes in
l0rinc: Andrew is at a conference

--- Topic 4 ---
stickies-v: #topic QML GUI WG Update (johnny9dev)
johnny9dev: Our preview release is now published to bitcoincore.app. Already got a lot of good feedback on it to work through.
johnny9dev: I dropped down the glibc the preview builds against for increased compatibility
johnny9dev: One thing I realized too while testing is that the linux depends build doesnt have opengl and the macos depends uses metal apis so there are performance differences across platforms and it is noticeable. So with that I've been focused on optimizing all of the rendering so any page not visible isn't continuing to draw. I think i got most of the main ones and it will be working much better on linux once the PRs are merged.
johnny9dev: Then finally I removed gMock from our codebase and will make sure that doesn't get included in our staging branch.
johnny9dev: that is all
stickies-v: wdym with dropped down the glibc?
johnny9dev: built against ubuntu 22.04 instead of 24.04 toolchain
stickies-v: ooh version downgrade you mean
johnny9dev: at least one person testing couldnt run the built binary on their version of debian
johnny9dev: yeah

--- Topic 5 ---
stickies-v: #topic QA WG Update (brunoerg)
brunoerg: hi, no update this week
stickies-v: Anything else to discuss?
stickies-v: alright, let's get back to building, thanks for the updates everyone</code></pre><p>Read here for the <a href="https://achow101.com/ircmeetings/2026/bitcoin-core-dev.2026-07-16_16_00.log.html">full meeting</a></p><div><hr></div><h4><strong>Releases</strong></h4><ul><li><p><a href="https://groups.google.com/g/bitcoindev/c/lbP-2Qug8bY">Bitcoin Core v30.3 is now available</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[Native Cashu — Last Week in Bitcoin (Jul 13 - 19)]]></title><description><![CDATA[Hi Insiders.]]></description><link>https://insider.btcpp.dev/p/native-cashu-last-week-in-bitcoin</link><guid isPermaLink="false">https://insider.btcpp.dev/p/native-cashu-last-week-in-bitcoin</guid><dc:creator><![CDATA[Tuma (I WILL NEVER DM YOU)]]></dc:creator><pubDate>Mon, 20 Jul 2026 14:01:26 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!rYO3!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0e868552-6568-4f3d-8303-5378cde56bdf_1600x900.jpeg" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p><em>Hi Insiders. This is Tuma, open-source reporter from the Insider Edition.</em></p><p><em>In this week update we discuss a new library from the Stratum V2 team to test interoperability between the reference implementation, SRI, and other SV2-based software.</em></p><p>We also feature a PR in the Cashu Development Kit (CDK), which integrates a new NUT for retrieving mint quotes associated with a public key.</p><p>We finally provide some interesting news from the Bitcoin world. In particular, we discuss the new native applications for the OG cashu wallet cashu(.)me and we highlight new interviews from the Nairobi event.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!rYO3!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0e868552-6568-4f3d-8303-5378cde56bdf_1600x900.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!rYO3!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0e868552-6568-4f3d-8303-5378cde56bdf_1600x900.jpeg 424w, https://substackcdn.com/image/fetch/$s_!rYO3!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0e868552-6568-4f3d-8303-5378cde56bdf_1600x900.jpeg 848w, https://substackcdn.com/image/fetch/$s_!rYO3!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0e868552-6568-4f3d-8303-5378cde56bdf_1600x900.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!rYO3!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0e868552-6568-4f3d-8303-5378cde56bdf_1600x900.jpeg 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!rYO3!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0e868552-6568-4f3d-8303-5378cde56bdf_1600x900.jpeg" width="1456" height="819" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/0e868552-6568-4f3d-8303-5378cde56bdf_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/207755934?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0e868552-6568-4f3d-8303-5378cde56bdf_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_!rYO3!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0e868552-6568-4f3d-8303-5378cde56bdf_1600x900.jpeg 424w, https://substackcdn.com/image/fetch/$s_!rYO3!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0e868552-6568-4f3d-8303-5378cde56bdf_1600x900.jpeg 848w, https://substackcdn.com/image/fetch/$s_!rYO3!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0e868552-6568-4f3d-8303-5378cde56bdf_1600x900.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!rYO3!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0e868552-6568-4f3d-8303-5378cde56bdf_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 aria-hidden="true" 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><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><h1><strong>Highlights from the bitcoin developer ecosystem</strong></h1><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><code>interoperability-tests-sv2</code> is the new library for testing compliance with the reference implementation of Stratum V2.</p><ul><li><p>During the weekly call, on Tuesday 14th, Stratum V2 contributors discussed the new approach for verifying compliance between their reference implementation, SRI, and other SV2-based software.</p></li><li><p>According to <a href="https://github.com/stratum-mining/interoperability-tests-sv2/issues/1">IS1</a>, which outlines the history of interoperability tests in the mining protocol, there is an increasing need for assessing compliance between different implementations and applications, due to the fact that more and more experimentation is done on the protocol.</p></li><li><p>The final goal is to avoid making SV2 a protocol without interoperability across different implementations.</p></li></ul></li><li><p><a href="https://github.com/cashubtc/cdk/pull/1834">PR1834</a> is implementing a new NUT in the Cashu Development Kit (CDK).</p><ul><li><p>During the weekly call, on Wednesday 15th, CDK developers discussed PR1834, which aims to implement a new NUT to allow users to retrieve mint quotes associated with a public key.</p></li><li><p>The new NUT, which is still missing an official number, is being discussed in <a href="https://github.com/cashubtc/nuts/pull/341/">PR341</a>. It introduces a new endpoint for wallets to get all locked mint quotes associated with a set of public keys. Queries require a valid signature from the owner of the corresponding private keys, to avoid abuses of this feature.</p></li><li><p>The PR in CDK is ready, but developers are still waiting for the specification to be officially included as a NUT before merging it.</p></li></ul></li></ul><div><hr></div><h1>A BIPs Update</h1><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><h1>Other News from the Bitcoin World</h1><ul><li><p><strong>Native Cashu</strong>: The Cashu team recently <a href="https://x.com/CashuBTC/status/2076700928569426026?s=20">announced</a> that the OG ecash wallet cashu(.)me had been released as a native application on both iOS and Android. The wallet is built on CDK, which provides bindings for both Swift and Kotlin, it supports lightning and on-chain, tap-to-pay, and multi-currencies.</p></li><li><p><strong>Insider interviews</strong>: Take a look at the latest interviews from Nairobi: <a href="https://x.com/btcinsider__/status/2077770408586097125?s=20">Wandia Mugo</a> discusses how Bitcoin DADA is trying to bring more African women to Bitcoin development, <a href="https://x.com/btcinsider__/status/2077860957062148434?s=20">Fabian Jahr</a> talks about the state of open-source contributions, and <a href="https://x.com/btcinsider__/status/2078132932649087040?s=20">Matthew Adeyemi</a> examines the importance of design and how he is working on empowering African designers.</p></li><li><p><strong>Discussing consensus</strong>: This week, Bitcoin developers from all over the world will meet in Toronto for <a href="https://btcpp.dev/toronto?code=TUMA20">Bitcoin++ Consensus Edition</a>. Three days of talks, a hackathon, and much more. Come argue about what bitcoin should become, then leave with rough consensus and running code!</p></li></ul><div><hr></div><p><em>Looking for an opportunity to join up with some bitcoin devs in person? Join us in <a href="https://btcpp.dev/toronto?code=TUMA20">Toronto</a> this July 22- 24 to talk about finding consensus in Bitcoin!</em></p>]]></content:encoded></item><item><title><![CDATA[Putting things in memory - This Week in Bitcoin Core #51]]></title><description><![CDATA[This week we are putting things in memory ...]]></description><link>https://insider.btcpp.dev/p/putting-things-in-memory-this-week</link><guid isPermaLink="false">https://insider.btcpp.dev/p/putting-things-in-memory-this-week</guid><dc:creator><![CDATA[kevkevin]]></dc:creator><pubDate>Fri, 17 Jul 2026 14:01:01 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!MJw8!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1cee73e5-1dd4-4081-a559-6f40592a5154_1456x816.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>Hello &#128075; folks, I&#8217;m Kevkevin. I&#8217;m an open-source developer and reporter for Insider Edition. Last week, I reviewed several pull requests from the <a href="https://github.com/bitcoin/bitcoin/pulls">Bitcoin Core</a> repo.<br><br>A new release candidate of Bitcoin Core has been pushed out. Go out there and give it a test!</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 aria-hidden="true" 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><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><h4><strong>Merged PR&#8217;s</strong></h4><h5><strong>Every week, several changes are officially added to Bitcoin Core. This week, </strong>multiple <strong>changes were merged. Here are some I found interesting this week.</strong></h5><ul><li><p><strong><a href="https://github.com/bitcoin/bitcoin/pull/35655">wallet: Use in-memory SQLite for temporary wallet in exportwatchonlywallet</a></strong> by <strong><a href="https://github.com/pablomartin4btc">pablomartin4btc</a></strong></p><p>Why would you want to do any on disk operations if you knew that some info would be deleted shortly after an operation? This was the motivation for this PR. pablomartin4btc wanted to change the exportwatchonlywallet RPC to put the intermediate wallet built during its operation from being put on disk to directly in memory.<br><br>This gives Bitcoin Core a few benefits. Firstly, it is faster, and faster is always better, because we do not need to read from disk anymore, and we can instead read from memory operations run quicker. Secondly, making it all in memory makes it so we don&#8217;t need the <code>cleanup_watchonly_wallet</code><span> RAII handler anymore, thus simplifying the code. <br><br>Overall, this change makes the code more efficient and simplifies things for future contributors.</span></p></li><li><p><strong><a href="https://github.com/bitcoin/bitcoin/pull/35380">kernel: expose witness stack and scriptSig for btck_TransactionInput</a></strong> by <strong><a href="https://github.com/pzafonte">pzafonte</a></strong></p><blockquote><p>Silent payments scanning needs the public key from every input. For SegWit inputs it is in the witness stack. For P2PKH inputs it is in scriptSig. Without these new functions, callers must deserialize the raw transaction themselves to reach that data, which is difficult and error-prone.<br><br><span>Introduces a </span><code>btck_WitnessStack</code><span> type and adds the following functions: btck_transaction_input_get_witness_stack, btck_witness_stack_count_items, btck_witness_stack_get_item_at, btck_witness_stack_copy/btck_witness_stack_destroy, btck_transaction_input_get_script_sig</span></p></blockquote></li></ul><h5><strong>There are always changes being updated and reviewed in real-time. Here are some notable PR&#8217;s that are still up and looking for reviews.</strong></h5><p><strong><a href="https://github.com/bitcoin/bitcoin/pull/35605">wallet: rpc: Deprecate removeprunedfunds RPC</a></strong> by <strong><a href="https://github.com/davidgumberg">davidgumberg</a></strong></p><blockquote><pre><code>Originally added in #7558 as a companion to importprunedfunds, this RPC has no known helpful use while being both dangerous and a maintenance burden.

Despite what the name says, it allows the deletion of arbitrary transactions, and importprunedfunds does not allow the importing of transactions not belonging to the user, and listtransactions does not list transactions not belonging to the wallet, so this RPC can only be used to delete transactions actually belonging to the wallet, and in the unlikely event that transactions not belonging to the wallet are present, they cause no harm except for occupying a few bytes on the users disk.</code></pre></blockquote><div><hr></div><h4><strong>IRC meeting notes</strong></h4><h5><strong>Every week on Thursday, there is an IRC meeting. Here are some short notes from that meeting.</strong></h5><pre><code>--- Topic 1 ---
stickies-v: #topic Benchmarking WG Update (l0rinc, andrewtoth)
l0rinc: hi
andrewtoth: Just wanted to say thanks to everyone who helped in any way to get #35295 across the finish line. That's all.
lightlike: hi
l0rinc: nothing urgent from me, thanks
stickies-v: i've seen a lot of people talk about the speedups on twitter!

--- Topic 2 ---
stickies-v: #topic QML GUI WG Update (johnny9dev)
l0rinc: (just finished a reindex chainstate for https://github.com/bitcoin/bitcoin/pull/35215 in 3 hours on one of my servers by the way :D)
johnny9dev: Updated https://bitcoincore.app/ with permanent links to our latest preview builds.
johnny9dev: Will be sharing it increasingly with more people to get feedback and help hunt down bugs
johnny9dev: that's all for now
stickies-v: giving it a go now &#128077;

--- Topic 3 ---
stickies-v: #topic QA WG Update (brunoerg)
stickies-v: brunoerg shared his update right before the meeting: https://www.erisian.com.au/bitcoin-core-dev/log-2026-07-16.html#l-178
stickies-v: that's it for the WG updates today. Anything else to discuss?</code></pre><p>Read here for the <a href="https://achow101.com/ircmeetings/2026/bitcoin-core-dev.2026-07-16_16_00.log.html">full meeting</a></p><div><hr></div><h4><strong>Releases</strong></h4><ul><li><p><a href="https://groups.google.com/g/bitcoindev/c/HdkeNuTJ0ko">Bitcoin Core v31.1rc1 is now available</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[Road to CISA? — Last Week in Bitcoin (Jul 06 - 12)]]></title><description><![CDATA[Hi Insiders.]]></description><link>https://insider.btcpp.dev/p/road-to-cisa-last-week-in-bitcoin</link><guid isPermaLink="false">https://insider.btcpp.dev/p/road-to-cisa-last-week-in-bitcoin</guid><dc:creator><![CDATA[Tuma (I WILL NEVER DM YOU)]]></dc:creator><pubDate>Mon, 13 Jul 2026 14:01:36 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!nE1I!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5a91d8be-6e37-4da6-8c20-e57bcb6272ef_1600x900.jpeg" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p><em>Hi Insiders. This is Tuma, open-source reporter from the Insider Edition.</em></p><p><em>In this week update we feature the ongoing effort to migrate LDK from GitHub to a self-hosted instance, after the company banned the Lightning implementation from running CI.</em></p><p><em>We also cover a new BIP being published, BIP95, which defines a new testnet to replace testnet4, and six new BIPs being assigned a number. In particular, BIP453, provides common terminology for transaction components, BIPs 455, 456, and 457 compose the specifications for the SwiftSync protocol for faster IBD, and BIPs 458 and 459 describe half and full signatureaggregation, an important building block towards CISA.</em></p><p><em>Finally, we cover some interesting news from the Bitcoin ecosystem. In particular, we present some interviews from Nairobi, mempool(.)space joining the SV2 working group, and some useful information about how to protect yourself during the upcoming forks.</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_!nE1I!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5a91d8be-6e37-4da6-8c20-e57bcb6272ef_1600x900.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!nE1I!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5a91d8be-6e37-4da6-8c20-e57bcb6272ef_1600x900.jpeg 424w, https://substackcdn.com/image/fetch/$s_!nE1I!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5a91d8be-6e37-4da6-8c20-e57bcb6272ef_1600x900.jpeg 848w, https://substackcdn.com/image/fetch/$s_!nE1I!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5a91d8be-6e37-4da6-8c20-e57bcb6272ef_1600x900.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!nE1I!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5a91d8be-6e37-4da6-8c20-e57bcb6272ef_1600x900.jpeg 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!nE1I!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5a91d8be-6e37-4da6-8c20-e57bcb6272ef_1600x900.jpeg" width="1456" height="819" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/5a91d8be-6e37-4da6-8c20-e57bcb6272ef_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/206826853?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5a91d8be-6e37-4da6-8c20-e57bcb6272ef_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_!nE1I!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5a91d8be-6e37-4da6-8c20-e57bcb6272ef_1600x900.jpeg 424w, https://substackcdn.com/image/fetch/$s_!nE1I!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5a91d8be-6e37-4da6-8c20-e57bcb6272ef_1600x900.jpeg 848w, https://substackcdn.com/image/fetch/$s_!nE1I!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5a91d8be-6e37-4da6-8c20-e57bcb6272ef_1600x900.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!nE1I!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5a91d8be-6e37-4da6-8c20-e57bcb6272ef_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 aria-hidden="true" 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><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p></p><div><hr></div><h1><strong>Highlights from the bitcoin developer ecosystem</strong></h1><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://git.rust-bitcoin.org/lightningdevkit">A new repository</a> for LDK is being created to move away from GitHub</p><ul><li><p>During the biweekly call, on Monday 6th, LDK contributors discussed the ongoing effort to migrate their codebases from GitHub to a self-hosted instance on <a href="https://forgejo.org/">Forgejo</a>, managed by rust-bitcoin.</p></li><li><p>The decision to migrate to a self-hosted instance was taken after lead developer Matt Corallo <a href="https://open.substack.com/pub/btcpp/p/payjoin-cashu-last-week-in-bitcoin?r=2c4bjq&amp;selection=2dbe3c17-785f-4d6a-a5d2-80e81b0ad2f3&amp;utm_campaign=post-share-selection&amp;utm_medium=web&amp;aspectRatio=instagram&amp;textColor=%23ffffff&amp;bgImage=true">denounced</a> on X that GitHub had banned the project from running CI on their project, effectively forcing developers to look for other alternatives.</p></li><li><p>As of today, developers are focused on migrating rust-lightning. No new PRs can be opened, and the old repository on GitHub remains as a mirror. LDK-node and LDK-server will be the next project to be moved.</p></li></ul></li></ul><div><hr></div><h1>A BIPs Update</h1><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 six new BIPs have been assigned a number by BIP maintainer <a href="https://github.com/murchandamus">Murchandamus</a>.</em></p><h2>Published BIPs</h2><p><em>A list of recently published BIPs</em></p><h3>BIP95: Testnet 5</h3><p><strong>Authors</strong>: <a href="https://github.com/polespinasa">Pol Espinasa</a>, <a href="https://github.com/fjahr">Fabian Jahr</a></p><p><strong>Published On</strong>: Jun 25th, 2026</p><p><strong>Layer</strong>: Applications</p><p><a href="https://github.com/bitcoin/bips/blob/master/bip-0095.md">BIP95</a> defines a new testnet to replace the current testnet4. The new testnet removes the difficulty<br>exception defined in the previous iteration, due to its sustained exploitation that has historically made testing difficult. Moreover, testnet5 raises the minimum difficulty and enforces the consensus<br>rules specified in <a href="https://github.com/bitcoin/bips/blob/master/bip-0054.md">BIP54</a> from block <code>1</code></p><h2>Numbered BIPs</h2><p><em>A list of BIPs that recently got assigned a number</em></p><h3>BIP453: Terminology of Transaction Components</h3><p><strong>Authors</strong>: <a href="https://github.com/murchandamus">Murch</a></p><p><strong>Assigned On</strong>: Jun 20th, 2026</p><p><strong>Type</strong>: Informational</p><p><a href="https://github.com/bitcoin/bips/pull/2195">PR2195</a> introduces BIP453, an informational BIP that aims to provide a common terminology for transaction components to be used in Bitcoin-related technical writing and future BIPs.</p><h3>BIP455: Peer sharing of block spent coins</h3><p><strong>Authors</strong>: <a href="https://github.com/rustaceanrob">Robert Netzke</a>, <a href="https://github.com/RubenSomsen">Ruben Somsen</a></p><p><strong>Assigned On</strong>: Jun 22th, 2026</p><p><strong>Layer</strong>: Peer Services</p><p><a href="https://github.com/bitcoin/bips/pull/2152">PR2152</a> introduces BIP455, the first BIP that composes the specifications for SwiftSync, a protocol for clients to parallelize initial block download (IBD). BIP455 defines how additional data can be shared over the P2P network to allow a client to validate blocks in arbitrary order.</p><h3>BIP456: Hints for unspent coins</h3><p><strong>Authors</strong>: <a href="https://github.com/rustaceanrob">Robert Netzke</a>, <a href="https://github.com/RubenSomsen">Ruben Somsen</a></p><p><strong>Assigned On</strong>: Jun 22th, 2026</p><p><strong>Layer</strong>: Peer Services</p><p><a href="https://github.com/bitcoin/bips/pull/2152">PR2152</a> introduces BIP456, the second BIP that composes the specifications for SwiftSync. BIP456 defines a representation of the UTXO set to be used as &#8220;hint&#8221; to verify the correctness of the set of unspent coins that a client arrived at through SwiftSync.</p><h3>BIP457: SwiftSync initial block download</h3><p><strong>Authors</strong>: <a href="https://github.com/rustaceanrob">Robert Netzke</a>, <a href="https://github.com/RubenSomsen">Ruben Somsen</a></p><p><strong>Assigned On</strong>: Jun 22th, 2026</p><p><strong>Layer</strong>: Applications</p><p><a href="https://github.com/bitcoin/bips/pull/2152">PR2152</a> introduces BIP457, the main BIP that composes the specifications for SwiftSync. BIP457 describes the different components of the protocol and the way it tries to achieve faster IBD through parallelization.</p><h3>BIP458: Half-Aggregation of BIP 340 Signatures</h3><p><strong>Authors</strong>: <a href="https://github.com/real-or-random">Tim Ruffing</a>, <a href="https://github.com/jonasnick">Jonas Nick</a>, <a href="https://github.com/fjahr">Fabian Jahr</a></p><p><strong>Assigned On</strong>: Jul 2nd, 2026</p><p><strong>Layer</strong>: Applications</p><p><a href="https://github.com/bitcoin/bips/pull/2205">PR2205</a> introduces BIP458, which describes how to perform half-aggregation of Schnorr signatures, as per <a href="https://github.com/bitcoin/bips/blob/master/bip-0340.mediawiki">BIP340</a>. Half-aggregation is a non-interactive process for aggregating a collection of signatures into a single signature, whose size is approximately half of the combined size of the original signatures. This approach could also be leveraged for signatures in the inputs of Bitcoin transactions, a process known as cross-input signature aggregation (CISA).</p><h3>BIP459: Full-Aggregation of BIP 340 Signatures</h3><p><strong>Authors</strong>: <a href="https://github.com/fjahr">Fabian Jahr</a></p><p><strong>Assigned On</strong>: Jul 10th, 2026</p><p><strong>Layer</strong>: Applications</p><p><a href="https://github.com/bitcoin/bips/pull/2210">PR2210</a> introduces BIP459, which describes full-aggregation of Schnorr signatures, as per <a href="https://github.com/bitcoin/bips/blob/master/bip-0340.mediawiki">BIP340</a>, a standard for <a href="https://eprint.iacr.org/2025/692">Discrete Logarithm-Based Interactive Aggregate Signatures</a> (DahLIAS) interactive aggregate signature scheme. Full-aggregation is an interactive process for aggregating a certain number of signatures into a single one, whose final size is the same as a single BIP 340 signature (64 bytes), regardless of the number of signers.</p><p>One of the most interesting applications of this BIP is CISA. However, the author notes that this would require a consensus change, which is outside of the scope of this proposal.</p><div><hr></div><h1>Other News from the Bitcoin World</h1><ul><li><p><strong>Voices from Nairobi</strong>: Check out our interviews with <a href="https://x.com/btcinsider__/status/2075218415594164598">Alex Gleason</a> and <a href="https://x.com/btcinsider__/status/2074961725028176024">M. K. Fain</a> (Team Soapbox) and <a href="https://x.com/btcinsider__/status/2075595906145984880">Sharon Murugi</a> (Btrust) from Bitcoin++ Open-source Edition in Nairobi. Stay tuned for more!</p></li><li><p><strong>Mempool &lt;&gt; Stratum V2</strong>: The Stratum V2 project recently <a href="https://x.com/StratumV2/status/2074925079113125956?s=20">announced</a> that <a href="http://mempool.space">mempool.space</a> had joined the SV2 working group. The goal is to standardize how miners who build their own block templates leave their mark on blocks in an open format, so that block explorer can read and present them.</p></li><li><p><strong>Fork season</strong>: with two possible forks happening in the next months, bitcoin holders should be aware of the risks they could be facing. Murch wrote an extensive <a href="https://murch.one/posts/replay-protection/">blog post</a> on replay attacks, Robin Linus provided <a href="https://gist.github.com/RobinLinus/48d08307e960e4461b3e4b4feabf29e9">information</a> on the same topic, and Calle <a href="https://x.com/callebtc/status/2076245203568988533?s=20">warned</a> against attacks on privacy and risk of leaking private keys. Check them out to be ready for what is coming!</p></li></ul><div><hr></div><p><em>Looking for an opportunity to join up with some bitcoin devs in person? Join us in <a href="https://btcpp.dev/toronto?code=TUMA20">Toronto</a> this July 22- 24 to talk about finding consensus in Bitcoin!</em></p>]]></content:encoded></item><item><title><![CDATA[Fetching block input prevouts in parallel - This Week in Bitcoin Core #50]]></title><description><![CDATA[This we are fetching input prevouts in parallel...]]></description><link>https://insider.btcpp.dev/p/fetching-block-input-prevouts-in</link><guid isPermaLink="false">https://insider.btcpp.dev/p/fetching-block-input-prevouts-in</guid><dc:creator><![CDATA[kevkevin]]></dc:creator><pubDate>Fri, 10 Jul 2026 14:01:58 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!MJw8!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1cee73e5-1dd4-4081-a559-6f40592a5154_1456x816.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>Hello &#128075; folks, I&#8217;m Kevkevin. I&#8217;m an open-source developer and reporter for Insider Edition. Last week, I reviewed several pull requests from the <a href="https://github.com/bitcoin/bitcoin/pulls">Bitcoin Core</a> repo.<br><br>A new release candidate of Bitcoin Core has been pushed out. Go out there and give it a test!<br><br>Also, as the first item, Andrew Toth&#8217;s PR that allows block input prevouts to be processed in parallel has been merged. It&#8217;s a big win for the efficiency of processing blocks in 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 aria-hidden="true" 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><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><h4><strong>Merged PR&#8217;s</strong></h4><h5><strong>Every week, several changes are officially added to Bitcoin Core. This week, </strong>multiple <strong>changes were merged. Here are some I found interesting this week.</strong></h5><ul><li><p><strong><a href="https://github.com/bitcoin/bitcoin/pull/35295">validation: fetch block input prevouts in parallel during ConnectBlock</a></strong> by <strong><a href="https://github.com/andrewtoth">andrewtoth</a></strong><br>In this change by Andrew Toth, it takes a look at how Bitcoin Core processes prevouts during ConnectBlock. Specifically, he found that each prevout was done one after the other, and if we did not find it in the in-coin memory cache, then a synchronous round trip to leveldb would be done.<br><br>The issue was that this would eventually stack up because these trips were being done serially as the block was being validated. This change added thread pools to do these asynchronously to help speed up the process and not bottleneck on looking up these prevouts.</p></li><li><p><strong><a href="https://github.com/bitcoin/bitcoin/pull/32489">wallet: Add exportwatchonlywallet RPC to export a watchonly version of a wallet</a></strong> by <strong><a href="https://github.com/achow101">achow101</a></strong></p><blockquote><p><span>Currently, if a user wants to use an airgapped setup, they need to manually create the watchonly wallet that will live on the online node by importing the public descriptors. This PR introduces </span><code>exportwatchonlywallet</code><span> which will create a wallet file with the public descriptors to avoid exposing the specific internals to the user. Additionally, this RPC will copy any existing labels, transactions, and wallet flags. This ensures that the exported watchonly wallet is almost entirely a copy of the original wallet but without private keys.</span></p></blockquote></li></ul><h5><strong>There are always changes being updated and reviewed in real-time. Here are some notable PR&#8217;s that are still up and looking for reviews.</strong></h5><p><strong><a href="https://github.com/bitcoin/bitcoin/pull/35605">wallet: rpc: Deprecate removeprunedfunds RPC</a></strong> by <strong><a href="https://github.com/davidgumberg">davidgumberg</a></strong></p><blockquote><pre><code>Originally added in #7558 as a companion to importprunedfunds, this RPC has no known helpful use while being both dangerous and a maintenance burden.

Despite what the name says, it allows the deletion of arbitrary transactions, and importprunedfunds does not allow the importing of transactions not belonging to the user, and listtransactions does not list transactions not belonging to the wallet, so this RPC can only be used to delete transactions actually belonging to the wallet, and in the unlikely event that transactions not belonging to the wallet are present, they cause no harm except for occupying a few bytes on the users disk.</code></pre></blockquote><div><hr></div><h4><strong>IRC meeting notes</strong></h4><h5><strong>Every week on Thursday, there is an IRC meeting. Here are some short notes from that meeting.</strong></h5><pre><code>--- Topic 1 ---
stickies-v: #topic Fuzzing WG Update (dergoegge, marcofleon)
marcofleon: no update this week

--- Topic 2 ---
stickies-v: #topic Benchmarking WG Update (l0rinc, andrewtoth)
l0rinc: andrewtoth's #35295 was just merged!!!!!!! LFG!!!
Murch[m]: Hi
l0rinc: https://github.com/bitcoin/bitcoin/pull/35295
stickies-v: congrats guys!
l0rinc: after 2 years and 1000 review comments :D
sipa: hi
sliv3r__: gj!
yancy: hi
marcofleon: nicely done woo!
l0rinc: that's it from us I think :D - thanks for the reviews!
stickies-v: time for a holiday

--- Topic 3 ---
stickies-v: #topic QML GUI WG Update (johnny9dev)
johnny9dev: We merged in all of the features we wanted to get before publishing our preview builds. One last PR for updating the submodule and build has been ACKd and needs to be merged in as the last piece
johnny9dev: I have the macos signing and notarizing setup so we should have our first preview builds today or tomorrow to share with designers and the working group
furszy: hi
johnny9dev: these will be automatically updated and publshed going forward and we hope to use it to hunt down bugs and get feedback on the UX
johnny9dev: next week we'll update the bitcoincore.app website with a link to the builds and some testing information for users
johnny9dev: that is all
stickies-v: nice, looks like you'll get a lot more feedback that way, thanks for the update
stickies-v: Anything else to discuss?
stickies-v: nice and short</code></pre><p>Read here for the <a href="https://achow101.com/ircmeetings/2026/bitcoin-core-dev.2026-07-09_16_00.log.html">full meeting</a></p><div><hr></div><h4><strong>Releases</strong></h4><ul><li><p><a href="https://groups.google.com/g/bitcoindev/c/HdkeNuTJ0ko">Bitcoin Core v31.1rc1 is now available</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[v31.1rc1 is now available - This Week in Bitcoin Core #49]]></title><description><![CDATA[version 31.1 rc1 is out...]]></description><link>https://insider.btcpp.dev/p/v311rc1-is-now-available-this-week</link><guid isPermaLink="false">https://insider.btcpp.dev/p/v311rc1-is-now-available-this-week</guid><dc:creator><![CDATA[kevkevin]]></dc:creator><pubDate>Fri, 03 Jul 2026 14:00:46 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 few new release candidates of Bitcoin Core have been pushed out. Go out there and give them a test!</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 aria-hidden="true" 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><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><h4><strong>Merged PR&#8217;s</strong></h4><h5><strong>Every week, several changes are officially added to Bitcoin Core. This week, </strong>multiple <strong>changes were merged. Here are some I found interesting this week.</strong></h5><ul><li><p><strong><a href="https://github.com/bitcoin/bitcoin/pull/32489">wallet: Add exportwatchonlywallet RPC to export a watchonly version of a wallet</a> by <a href="https://github.com/achow101">achow101</a></strong></p><p>In this pull request, Ava Chow added a new RPC command, exportwatchonlywallet. This helps users who want an airgapped setup. This RPC  will create a wallet file with the public descriptors to avoid exposing the specific internals to the user.<br><br>Before this PR, creating that online watch-only counterpart was a manual, error-prone process but now it has become much more streamlined with the exportwatchonlywallet RPC.<br></p></li><li><p><strong><a href="https://github.com/bitcoin/bitcoin/pull/35118">fuzz: add ipc round-trip fuzz target</a> by <a href="https://github.com/enirox001">enirox001</a></strong></p><p>More fuzz tests are being added this week, and this week Enoch Azariah had his PR merged, which added coverage to the IPC. This fuzz test added an IPC fuzz target to exercise the Cap'n Proto/libmultiprocess serialization bridge using an in-process two-way pipe and a reflected test interface.<br><br>As always, additional testing and fuzzing are welcome to the Bitcoin Core project, and who knows, maybe this fuzz test will find a bug in the future.</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><p><a href="https://github.com/bitcoin/bitcoin/pull/25665">refactor: Add util::Result failure types and ability to merge result values</a><span> by </span><a href="https://github.com/ryanofsky">ryanofsky</a><br></p><blockquote><pre><code>Add `util::Result` support for returning more error information and make use of it in [LoadChainstate method](https://github.com/bitcoin/bitcoin/pull/25665/commits/753b8678ac98c8753f9db17cc92d56d4d58d9e7e) as an initial application. Followup PRs [#25722](https://github.com/bitcoin/bitcoin/pull/25722) and [#29700](https://github.com/bitcoin/bitcoin/pull/29700) use it more broadly to return errors and warnings from wallet and kernel functions as well.

This change adds two major features to the result class:

- For better error handling, adds the ability to return a value on failure, not just a value on success. This is a key missing feature that makes the result class not useful for functions like `LoadChainstate()` which produce different errors that need to be handled differently [^1].

- For better error reporting, adds the ability to return warning messages and multiple errors, not just a single error string. This provides a way for functions to report errors and warnings in a standard way, and simplifies interfaces</code></pre></blockquote><div><hr></div><h4><strong>IRC meeting notes</strong></h4><h5><strong>Every week on Thursday, there is an IRC meeting. Here are some short notes from that meeting.</strong></h5><pre><code>--- Topic 1 ---
stickies-v: #topic Fuzzing WG Update (dergoegge, marcofleon)
marcofleon: no update
marcofleon: jk
sedited: :D
marcofleon: For in repo stuff, we have three recently merged harnesses related to LevelDB and our CDBWrapper, #34866 and #34887. These should help give some confidence to the changes in #35295 (formerly known as #31132)
marcofleon: I think #35118 is pretty much good to go, so now we have some IPC fuzzing. And then wrt to fuzz PRs, I&#8217;ll probably focus on #34651 and #34895 next, if anyone is interested.
marcofleon: dergoegge wrote this exceptional blog post on Bedrock and determinism in the hypervisor: https://brink.dev/blog/2026/06/25/bedrock-deterministic-hypervisor/. Fuzzing with Bedrock found a cheeky bug in our new http server, so that's very cool
marcofleon: nkaretnikov is helping out with Bedrock, specifically https://github.com/oss-garage/bedrock/issues/20. Nice, thank you
marcofleon: And then eugenesiegel is also making moves in Bedrock with https://github.com/oss-garage/bedrock/pull/54
marcofleon: They can elaborate more on the work if they'd like to. I think that's pretty much all I got for now. I can do semi regular updates from now on
dergoegge: lfg
andrewtoth: awesome!
eugenesiegel: stonks
stickies-v: big update, delivered
brunoerg: great!
dzxzg: sick
l0rinc: hi

--- Topic 2 ---
stickies-v: #topic Kernel WG Update (sedited)
sedited: A bunch of review went into #32427, it now supports external readers.
cfields: very cool, nice work fuzzers :)
sedited: More discussion going on in #35569 . I'd like to encourage reviewers to keep commenting, since this might set the direction to a bunch of further work.
sedited: I opened #35641 for introducing callback hooks exposing traces of the script interpreter state during script verification. This is useful for both debugging scripts and testing. This is surprisingly fun to hack on, since it allows for visualization of script interpreter operations.
marcofleon: lfg
sedited: There are also a bunch of pull requests waiting for another ACK or two before merge on the project board: https://github.com/orgs/bitcoin/projects/3
yancy: hi
sedited: that's all

--- Topic 3 ---
stickies-v: #topic Benchmarking WG Update (l0rinc, andrewtoth)
l0rinc: Pushed #35634 to save one byte per entry in txospenderindex in a backwards compatible way. This trick was also applied to the new txindex format.
l0rinc: i.e. #35531 - I think we should apply what we learned here to the new index as well
l0rinc: that's it from me
andrewtoth: Thanks for all review in #35295. Nothing else from me.
stickies-v: we haven't had updates from the silent payments WG in a while, so I'm moving that to the archive for now. if anyone wants to pick it up again, ping me and i'll add it back to the rotation
stickies-v: johnny9dev wrote the QML GUI WG updates before the meeting, you can read them here: https://www.erisian.com.au/bitcoin-core-dev/log-2026-07-02.html#l-218

--- Topic 4 ---
stickies-v: #topic QA WG Update (brunoerg)
brunoerg: Hi, about mutation testing for PRs, I'm trying a new setup where it uses an LLM to generate a human-readable report based on the mutation analysis results. The first experiment was in the Erlay impl's PR - you can see the report here: https://github.com/bitcoin/bitcoin/pull/35591#pullrequestreview-4593554791.
brunoerg: feedbacks are welcome, that's all
stickies-v: seems pretty verbose, might be useful to hyperlink instead or put it in details?
brunoerg: yes, I intend to hyperlink
stickies-v: if all the recommendations are important it's fine, but i find llms tend to not be great at estimating priorities/impact etc, so i tend to not be interested in most such assessments
dergoegge: They can be quite good if they don't just go off their own reasoning. If the estimate is result backed (e.g. mutation tests) then I've seen them to be better
stickies-v: Anything else to discuss?
sedited: forgot to mention that we now have a CI job (introduced in #31425) tracking whether the script verification code can be compiled and linked for a bare metal riscv target. This has surfaced bugs before, and is also a first step towards making a consensus library available for such a target, since it prevents future portability regressions.
brunoerg: yes, to become shorter I intend to not inform "What the current tests do well" and focus on what could/should be improved
stickies-v: alright, looks like that's it for today. see you next week folks</code></pre><p>Read here for the <a href="https://achow101.com/ircmeetings/2026/bitcoin-core-dev.2026-07-02_16_00.log.html">full meeting</a></p><div><hr></div><h4><strong>Releases</strong></h4><ul><li><p><a href="https://groups.google.com/g/bitcoindev/c/HdkeNuTJ0ko">Bitcoin Core v31.1rc1 is now available</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[bitcoin++ Nairobi Hackathon Garners Record 37 Open-Source Project Submissions]]></title><description><![CDATA[Projects ranged from mobile money, maintainer tooling, and open protocols]]></description><link>https://insider.btcpp.dev/p/bitcoin-nairobi-hackathon-garners</link><guid isPermaLink="false">https://insider.btcpp.dev/p/bitcoin-nairobi-hackathon-garners</guid><dc:creator><![CDATA[~nifty~]]></dc:creator><pubDate>Tue, 30 Jun 2026 20:23:04 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!Tx03!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6513c0e0-b0e4-41f7-8374-faa0b1fa70e6_1024x654.jpeg" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p><strong><span>Nairobi, Kenya - June 30, 2026</span></strong></p><p><a href="https://x.com/btcplusplus"><span>bitcoin++</span></a><span> hosted its first Open Source Edition hackathon in Nairobi, Kenya, bringing together builders from Africa and around the world to work in public on practical Bitcoin software.</span></p><p><span>The hackathon ran during</span><a href="https://btcpp.dev/nairobi"><span> bitcoin++ Nairobi, the open-source edition</span></a><span>, held June 17-19, 2026 at Pride Inn Azure Towers. The competition drew</span><a href="https://foss.devpost.com/"><span> 90 participants</span></a><span>, a record-breaking</span><a href="https://foss.devpost.com/project-gallery"><span> 37 submitted projects</span></a><span>, and a prize pool of nearly 10 Million Satoshis across the main competition and sponsor tracks.</span></p><p><span>The event was supported by</span><a href="https://btcpp.dev/"><span> Bitcoin++</span></a><span>,</span><a href="https://soapbox.pub/"><span> Soapbox</span></a><span>,</span><a href="https://x.com/btrustteam"><span> Btrust</span></a><span>, and</span><a href="https://x.com/minmo_to"><span> Minmo</span></a><span>. Projects competed in the overall track, plus prizes for the best use of Soapbox, best contribution to open source, solving open-source contribution spam, best use of Pontmore, and the best tool for mobile-money brokers or agents using Bitcoin.</span></p><p><span>The judging panel included niftynei of Base58, Jodom of Minmo, Alex Gleason of Soapbox, Fabian Jahr of Brink, Sy of Btrust, Judy Imasuen of HRF, Kelvin Isievwore of Btrust, Michael of Cashu, Mark Kamau of Designing Africa, and Hadi Alamdar and Marvin Charles of Block.</span></p><p><span>Projects largely focused on mobile money and M-PESA, remittances, open-source developer education and support, maintainer tooling, and practical Bitcoin interfaces like Nostr relays, Lightning invoices, PSBTs, feature phones, and local merchants.</span></p><div class="image-gallery-embed" data-attrs="{&quot;gallery&quot;:{&quot;images&quot;:[{&quot;type&quot;:&quot;image/jpeg&quot;,&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/6513c0e0-b0e4-41f7-8374-faa0b1fa70e6_1024x654.jpeg&quot;},{&quot;type&quot;:&quot;image/jpeg&quot;,&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/591641eb-7265-4315-8eb9-458f91b34a18_1600x1116.jpeg&quot;},{&quot;type&quot;:&quot;image/jpeg&quot;,&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/1ecb576f-2f59-484e-8b93-4ea8d7b2a3ec_1600x1033.jpeg&quot;}],&quot;caption&quot;:&quot;&quot;,&quot;alt&quot;:&quot;&quot;,&quot;staticGalleryImage&quot;:{&quot;type&quot;:&quot;image/png&quot;,&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/639bbea2-1048-426b-85f8-3924027c37ce_1456x474.png&quot;}},&quot;isEditorNode&quot;:true}"></div><h2><strong><span>Projects</span></strong></h2><p><a href="https://devpost.com/software/westtoeast"><span>WestToEast</span></a><span>, built by</span><a href="https://x.com/nourou4them"><span> Nourou</span></a><span> of</span><a href="https://banxaas.com/"><span> Banxaas</span></a><span>, won 1st Overall. The project connects West African mobile-money systems to Kenya&#8217;s M-PESA using Lightning, LNURL, Banxaas, and Tando. It lets a sender using XOF, XAF, or GNF through local mobile-money wallets in Senegal, Ivory Coast, Cameroon, or Guinea send value to a recipient receiving KES through M-PESA in Kenya.</span></p><p><span>The system uses Tando&#8217;s LNURL flow as the Kenya-side payout rail. Banxaas quotes the user in their local currency, receives the West African mobile-money payment, sends sats over Lightning to Tando, and Tando completes the M-PESA payout. According to the team&#8217;s submission, a Kenyan recipient can receive KES from three currencies and ten mobile-money wallets in less than 30 seconds.</span></p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!-hlr!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2190591f-685f-4ffd-b771-5feedf0678ab_4000x2700.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!-hlr!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2190591f-685f-4ffd-b771-5feedf0678ab_4000x2700.jpeg 424w, https://substackcdn.com/image/fetch/$s_!-hlr!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2190591f-685f-4ffd-b771-5feedf0678ab_4000x2700.jpeg 848w, https://substackcdn.com/image/fetch/$s_!-hlr!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2190591f-685f-4ffd-b771-5feedf0678ab_4000x2700.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!-hlr!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2190591f-685f-4ffd-b771-5feedf0678ab_4000x2700.jpeg 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!-hlr!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2190591f-685f-4ffd-b771-5feedf0678ab_4000x2700.jpeg" width="1456" height="983" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/2190591f-685f-4ffd-b771-5feedf0678ab_4000x2700.jpeg&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:983,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:1071898,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/jpeg&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://insider.btcpp.dev/i/204334768?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2190591f-685f-4ffd-b771-5feedf0678ab_4000x2700.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_!-hlr!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2190591f-685f-4ffd-b771-5feedf0678ab_4000x2700.jpeg 424w, https://substackcdn.com/image/fetch/$s_!-hlr!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2190591f-685f-4ffd-b771-5feedf0678ab_4000x2700.jpeg 848w, https://substackcdn.com/image/fetch/$s_!-hlr!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2190591f-685f-4ffd-b771-5feedf0678ab_4000x2700.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!-hlr!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2190591f-685f-4ffd-b771-5feedf0678ab_4000x2700.jpeg 1456w" sizes="100vw" loading="lazy"></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 aria-hidden="true" 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><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><figcaption class="image-caption">Nourou of Banxaas, hackathon winner catching a photo with Jason and Sabina of the Tando team</figcaption></figure></div><p><a href="https://devpost.com/software/way2foss"><span>Robin</span></a><span>, built by</span><a href="https://x.com/Fideltodayy"><span> Fidel Otieno</span></a><span> of</span><a href="https://bitika.xyz/"><span> Bitika</span></a><span> and</span><a href="https://x.com/_ChrisOketch"><span> Chris Oketch</span></a><span>, won 2nd Overall. Robin is a context-aware guide for prospective Bitcoin open-source contributors. It asks who you are, what you know, and what you want to work on, then recommends where you can make a useful contribution.</span></p><p><span>The important idea is honest redirection. A new contributor does not always need to be pointed at Bitcoin Core. Sometimes the right answer is: not Core, not yet. Robin directs people toward work they can actually help with, while still giving stronger contributors specific routes into higher-context projects.</span></p><p><em><span>&#8220;Everyone else is building bouncers. We built a tour guide,&#8221;</span></em><span> the Robin team wrote.</span></p><p><a href="https://devpost.com/software/nairobi2"><span>nairobi2</span></a><span>, submitted by Anon Ym (</span><a href="https://github.com/f321x/nairobi2"><span>GitHub</span></a><span>), won 3rd Overall. The project is a permissionless ridesharing app with market-based price discovery and Sybil protection through verifiable Bitcoin notarization. The inspiration came from a local complaint many Nairobi riders and drivers understand immediately: platform taxis take large cuts and fix prices.</span></p><p><span>Built with Rust, Slint, Nostr, and Lightning, nairobi2 sketched an open alternative where drivers and riders coordinate directly and reputation can be anchored through Bitcoin-linked proofs rather than a closed platform.</span></p><p><a href="https://devpost.com/software/hodlr"><span>Hodlr</span></a><span>, built by Paul Eke, won Best Beginner Hack and an Honorable Mention. Hodlr lets users lock Bitcoin until a chosen date using the idea of CLTV-enforced savings. The project was framed around a lived problem: in weak local-currency environments, Bitcoin often becomes an emergency fund before it can become long-term savings.</span></p><p><a href="https://devpost.com/software/dishi-fresh"><span>Dishi Fresh</span></a><span>, built by Thomas Cadra and Colly Sindani, won Best use of Soapbox. The project connects local recipes to nearby grocers, butchers, shops, and riders, with an M-PESA STK push flow and SMS notifications to vendors. It was one of the clearest examples of the week: useful local commerce first, Bitcoin-adjacent tooling second.</span></p><p><a href="https://devpost.com/software/utxoracle-btc-calculator"><span>UTXOracle BTC Calculator</span></a><span>, built by Parrish (Devpost: kingddd6767), won Best Contribution to Open Source. The project calculates a BTC/USD price from a user&#8217;s own Bitcoin node using</span><a href="https://utxo.live/oracle/"><span> UTXOracle</span></a><span> instead of exchange APIs. The team also submitted a pull request to integrate UTXOracle into nix-bitcoin.</span></p><p><span>The open-source contribution spam track produced two direct maintainer tools.</span><a href="https://devpost.com/software/filter-s3bjhv"><span> Filter</span></a><span>, built by</span><a href="https://x.com/john_osezele"><span> John Osezele</span></a><span>, a Btrust grantee working on Bitcoin Dev Kit and Rust Payjoin, won the track. Filter is a configurable GitHub App that scores pull requests for spam likelihood using explicit rules around contributor reputation, PR description quality, diff patterns, AI-writing signals, and repo-specific checks.</span></p><p><a href="https://devpost.com/software/core-code"><span>Core-Gate</span></a><span>, built by Aishaomaa Farah and Mary Wangui, attacked the same problem from the Bitcoin Core side. It runs as a fast GitHub Actions workflow before expensive CI, scores each incoming pull request against contribution guidelines and review-risk signals, then routes it into &#8220;needs work,&#8221; &#8220;needs attention,&#8221; or &#8220;ready for review.&#8221;</span></p><p><span>Together, Filter and Core-Gate showed that the AI-spam problem does not need to be treated as an argument about AI in the abstract. Maintainers need concrete triage tools, contributor routing, overrides, and explainable checks that reduce review waste without punishing sincere new contributors.</span></p><p><a href="https://devpost.com/software/pontswap"><span>Pontswap</span></a><span>, built by Wesley Nyamu and Cynthia Muemi, won Best use of Pontmore. Pontswap implements a Nostr-native coordination layer for Bitcoin-fiat swaps. Every public state transition is a signed Nostr event; private payment instructions are sent through NIP-59 Gift Wrap; and the full swap state chain can be replayed in a public explorer without exposing payment details.</span></p><p><a href="https://devpost.com/software/lnpesa"><span>LNpesa</span></a><span>, built by Denver Mtange, Kelly Gakii, and Kendi Litala, won Best Tool for Mobile Money Brokers or Agents using Bitcoin. LNpesa is a USSD interface for Bitcoin agents built on the Pontmore open protocol over Nostr. An agent can dial a code, register from a feature phone, set liquidity, and publish signed Pontmore events to Nostr relays.</span></p><p><em><span>&#8220;No smartphone. No app. No internet data,&#8221;</span></em><span> the LNpesa team wrote.</span></p><p><span>The project matters because it treats the interface as the adoption problem. In Kenya and across the continent, mobile money already works on feature phones. LNpesa brings Bitcoin agent workflows to that same surface instead of assuming every user will install a smartphone wallet first.</span></p><p><a href="https://devpost.com/software/tando-s-ark"><span>Tando&#8217;s Ark</span></a><span>, built by</span><a href="https://x.com/AdedokunOloye"><span> Shamsudeen Adedokun</span></a><span> of</span><a href="https://tando.me/"><span> Tando</span></a><span> and</span><a href="https://x.com/matthewvuk2"><span> Matthew Vuk</span></a><span> of</span><a href="https://x.com/secondhq"><span> Second</span></a><span>, received an Honorable Mention. The project swapped Tando&#8217;s Lightning node infrastructure for Bark, Second&#8217;s implementation of Ark, while leaving the application layer and M-PESA payout flow intact.</span></p><p><span>For Tando, that means a path away from channel management and inbound-liquidity overhead. Existing Lightning users can still pay a unified invoice, while Ark-native users on the same Ark server can pay with arkoor transfers at 0% routing fees.</span></p><p><em><span>&#8220;The network effect is the product,&#8221;</span></em><span> the Tando&#8217;s Ark team wrote.</span></p><p><span>Other Honorable Mentions included</span><a href="https://devpost.com/software/siriscore"><span> SiriScore</span></a><span>, built by Susan Githaiga, Nkatha Kaburu, Rose Jane, and Nelly Nakhero, which scores Bitcoin transactions for privacy risks before they are signed or broadcast;</span><a href="https://devpost.com/software/zaptip"><span> Zaptip</span></a><span>, built by</span><a href="https://x.com/Camilla_rhi"><span> Rita Anene</span></a><span>, which adds a Lightning zap button to GitHub profiles and repos;</span><a href="https://devpost.com/software/mindfulsats"><span> MindfulSats</span></a><span>, built by</span><a href="https://x.com/firstworldpeace"><span> Tony Nakamoto</span></a><span>, which uses Bitcoin-backed accountability for personal goals; and</span><a href="https://devpost.com/software/powr-system"><span> PoWR</span></a><span>, built by Shannon Kioko, Lucy Kamau, Anne Mahonga, and Salma Adam, with support from the</span><a href="https://x.com/DadaDevs"><span> Dada Devs</span></a><span> community.</span></p><p><span>PoWR turns GitHub contribution history into a proof-of-work-style reputation profile. The project also reflects the same maintainer problem that shaped several other submissions: not all commits are equal, and open-source ecosystems need better ways to recognize meaningful work.</span></p><h2><strong><span>Conclusions</span></strong></h2><p><span>The hackathon&#8217;s strongest through-line was pragmatism. Builders were not waiting for perfect abstractions or perfectly finished protocols. They used the tools already available: LNURL, Tando, Bark, Nostr, Pontmore, GitHub Actions, PSBTs, UTXOracle, USSD, M-PESA, and open-source AI tools. The result was rough in places, as hackathon work always is, but the direction was clear.</span></p><p><span>Bitcoin++ Nairobi showed that open-source Bitcoin work in Africa is not theoretical. It is mobile-money settlement, GitHub maintainer tooling, feature-phone UX, local commerce, contributor onboarding, transaction privacy, and protocol implementations that other teams can build on.</span></p><p><em><span>&#8220;The bitcoin++ week has proven once again that magic happens when people gather in one place,&#8221;</span></em><span> said</span><a href="https://x.com/Murugi___"><span> Sharon Murugi</span></a><span>, Communications Lead at</span><a href="https://x.com/btrustteam"><span> Btrust</span></a><span>.</span></p><p><span>What began as a conference </span></p><p><span>hackathon became a practical map of where Bitcoin open-source development is going: more local, more interoperable, more aware of maintainer bottlenecks, and more focused on getting working software into the hands of people who can use it.</span></p>]]></content:encoded></item><item><title><![CDATA[NEW LIBSECP256k1 MAINTAINER - This Week in Bitcoin Core #48]]></title><description><![CDATA[A new libsecp256k1 maintainer has been selected...]]></description><link>https://insider.btcpp.dev/p/new-libsecp256k1-maintainer-this</link><guid isPermaLink="false">https://insider.btcpp.dev/p/new-libsecp256k1-maintainer-this</guid><dc:creator><![CDATA[kevkevin]]></dc:creator><pubDate>Fri, 26 Jun 2026 14:03: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.<br><br>This week, there was a nomination for a new maintainer of libsecp256k1 theStack. He has contributed to the project for a long time and has pushed lots of features and changes out for silent payments, which was a huge feature for libsecp256k1. Congrats to theStack and we look forward to your maintainership.</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 aria-hidden="true" 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><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><h4><strong>Merged PR&#8217;s</strong></h4><h5><strong>Every week, several changes are officially added to Bitcoin Core. This week, </strong>multiple <strong>changes were merged. Here are some I found interesting this week.</strong></h5><ul><li><p><a href="https://github.com/bitcoin/bitcoin/pull/35182">Replace libevent with our own HTTP and socket-handling implementation</a> by <a href="https://github.com/pinheadmz">pinheadmz</a></p><p>This is the final pull request for libevent, and after it is removed. This is part of an effort to remove the libevent dependency. There were many reasons to remove it, such as it not being regularly maintained and simply wanting to get rid of dependencies that Bitcoin Core did not need.<br><br>The main takeaway is that libevent has finally been removed, and we are on the way to Bitcoin Core having basically zero dependencies.</p></li><li><p><a href="https://github.com/bitcoin/bitcoin/pull/35465">coins: compact chainstate regularly</a> by <a href="https://github.com/l0rinc">l0rinc</a></p><blockquote><p>After each completed post-IBD full chainstate flush, give the chainstate a 1/320 chance to compact.<br>With roughly hourly full flushes, this averages about once every two weeks and makes a six-month stretch without compaction about a one-in-a-million event.</p><p>The randomized recurring trigger spreads compactions across nodes and keeps maintenance stateless, without storing last-compaction height or timestamp metadata in the chainstate database.<br>Compaction runs on a background thread (<code>utxocompact</code>) so validation only schedules the work.</p></blockquote><p>This change affects Bitcoin Core at the database level as LevelDB is used, and after IBD, normal chainstate churn can leave obsolete entries behind until ordinary LevelDB compaction naturally reaches the affected levels, keeping the chainstate database larger than necessary.<br><br>This change randomizes when compaction occurs and keeps the db size down.</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><p><a href="https://github.com/bitcoin/bitcoin/pull/25665">refactor: Add util::Result failure types and ability to merge result values</a><span> by </span><a href="https://github.com/ryanofsky">ryanofsky</a><br></p><blockquote><pre><code>Add `util::Result` support for returning more error information and make use of it in [LoadChainstate method](https://github.com/bitcoin/bitcoin/pull/25665/commits/753b8678ac98c8753f9db17cc92d56d4d58d9e7e) as an initial application. Followup PRs [#25722](https://github.com/bitcoin/bitcoin/pull/25722) and [#29700](https://github.com/bitcoin/bitcoin/pull/29700) use it more broadly to return errors and warnings from wallet and kernel functions as well.

This change adds two major features to the result class:

- For better error handling, adds the ability to return a value on failure, not just a value on success. This is a key missing feature that makes the result class not useful for functions like `LoadChainstate()` which produce different errors that need to be handled differently [^1].

- For better error reporting, adds the ability to return warning messages and multiple errors, not just a single error string. This provides a way for functions to report errors and warnings in a standard way, and simplifies interfaces</code></pre></blockquote><div><hr></div><h4><strong>IRC meeting notes</strong></h4><h5><strong>Every week on Thursday, there is an IRC meeting. Here are some short notes from that meeting.</strong></h5><pre><code>stickies-v: #topic Benchmarking WG Update (l0rinc, andrewtoth)
andrewtoth: #35295 keeps getting more review, thank you! I feel like it's close, recent suggestions are fairly minor.
andrewtoth: #35531 is a pretty big improvement for txindex, and backwards compatible. If anyone else wants to take a look.
andrewtoth: That's it from me.
l0rinc: Regular chainstate compaction after the seek compaction removal (#35465) was merged and backported to 29/30/31.
l0rinc: #35594 was added and merged since to cover background compaction in the fuzzer.
l0rinc: #35215 is also needed for #35531 now, reviews for both would be appreciated.
l0rinc: that's it from me
stickies-v: I can't see any other WG leads here, so moving on to the proposed topics</code></pre><pre><code><strong>stickies-v</strong>: <strong>#topic secp256k1 maintainer transition: stepping down and proposing a new maintainer (nickler)</strong>
<strong>nickler</strong>: Hey everyone, I&#8217;m stepping down as a libsecp256k1 maintainer. Over the past few months, I haven&#8217;t been able to dedicate the time and attention that the role deserves, and I don&#8217;t expect that to change in the foreseeable future.
<strong>nickler</strong>: Pieter, Tim, and I would like to suggest theStack as a new maintainer. We&#8217;ve reached out to him, and he said he&#8217;d be very happy to take on the role. He has consistently shown that he cares about maintainability and review quality, has contributed and reviewed regularly, and has also shepherded the largest feature PR we&#8217;ve had in quite some time (silent payments module).
<strong>nickler</strong>: We&#8217;d like to hear whether there are any concerns, objections, or other feedback on this proposal.
<strong>fjahr</strong>: no concerns, ack
<strong>furszy</strong>: ACK
<strong>l0rinc</strong>: ACK for Sebastian as secp maintainer, congrats
<strong>cfields</strong>: +1 theStack
<strong>dergoegge</strong>: ack, no concerns
<strong>brunoerg</strong>: ACK
<strong>hebasto</strong>: ack
<strong>andrewtoth</strong>: ack
<strong>dzxzg</strong>: maintainer ack
<strong>sliv3r__</strong>: ack
<strong>willcl-ark</strong>: thanks for your service nickler!
<strong>furszy</strong>: +1
<strong>theStack</strong>: nickler: big shoes to fill. thanks for all your work!
<strong>sipa</strong>: ACK
<strong>darosior</strong>: hi
<strong>janb84</strong>: ack
<strong>sipa</strong>: also hi
<strong>nickler</strong>: thanks a lot for giving me that opportunity in the first place! it was an honor
<strong>stickies-v</strong>: thanks a lot for your work so far nickler, and I agree theStack would be an excellent choice if he&#8217;s up for it!
<strong>sipa</strong>: nickler: thank you for all the work you put in the project, and thanks theStack for willing to take up the role :)
<strong>willcl-ark</strong>: theStack seems like an excellent candidate to me
<strong>darosior</strong>: ACK for theStack for maintainer. One question i have (genuine, i don&#8217;t really pay attention to the repo) is how much maintainer work is the bottleneck compared to cryptography expert reviews?
<strong>b10c</strong>: thanks nickler! and ACK theStack.
<strong>darosior</strong>: (And thanks nickler for all the maintainer work up to this point.)
<strong>darosior</strong>: And how much theStack&#8217;s nomination would help with that
<strong>ekzyis</strong>: hi
<strong>l0rinc</strong>: thestACK
<strong>darosior</strong>: :)
<strong>nickler</strong>: darosior: I think most of the work is maintenance, code review, and what direction the library should take. Applied cryptographic engineering is definitely important, the more theoretical aspects (protocol security) are more rare, especially if we have a well-reviewed BIP.
<strong>abubakarsadiq</strong>: ack theStack \o/</code></pre><pre><code><strong>stickies-v</strong>: <strong>#topic QA WG (brunoerg)</strong>
<strong>nickler</strong>: Ok, sounds like we should go ahead with the transition. Thanks for the feedback. And if there are any other comments, let us know.
<strong>brunoerg</strong>: Hi all, talking with some people, to concentrate/facilitate efforts/communication, a Quality Assurance WG has been created. The idea is moving on QA stuff such as corecheck, mutation testing, CI/infra, etc. If anyone wants to join, here is the signal link: https://signal. group/#CjQKIOZPujaWLLDbJN91B1-je7Zg6W-Dj2J8J-LRh7zRblkrEhDjb97gnPt94glYTmcpxXlDinstagibbs: nickler thank you for your service
stickies-v: nice brunoerg, shall i add you to the WG rotation for the weekly updates?
brunoerg: yes
brunoerg: thanks
vasild: hi
stickies-v: am probably beating a dead horse here, but would be nice if WGs keep their comms in open channels like irc (when it makes sense)
stickies-v: Anything else to discuss?
fjahr: Yes, on ASMap a heads-up that there is a demo of a dashboard available that our Summer of Bitcoin intern is working on: https://jorisstrakeljahn.github.io/asmap-dashboard/
fjahr: He couldn&#8217;t be here right now but it would be great if people interested in ASMap could take a look and leave feedback/questions/feature requests on his delving post: https://delvingbitcoin.org/t/asmap-dashboard-tracking-the-asmap-data-history-against-the-observed-network/2652
fjahr: Thanks!
jurraca: also, next ASmap run is scheduled for next week: https://github.com/bitcoin-core/asmap-data/issues/60
stickies-v: that&#8217;s a cool dashboard!
ekzyis: i sent a request to join the group, i&#8217;m Ram on Signal, can&#8217;t set a member label before joining
yancy: hi
stickies-v: looks like we&#8217;re all set for today, thanks everyone</code></pre><p>Read here for the <a href="https://achow101.com/ircmeetings/2026/bitcoin-core-dev.2026-06-25_16_00.log.html">full meeting</a></p><div><hr></div><h4><strong>Releases</strong></h4><ul><li><p>No releases this week</p></li></ul><div><hr></div><blockquote><p>Thank you for reading. Be sure to tune in again next week for your updates on Bitcoin Core!</p></blockquote><p><em>If there are any comments, suggestions, or errors, do not hesitate to reach out or comment</em></p><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://insider.btcpp.dev/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe&quot;,&quot;language&quot;:&quot;en&quot;}" data-component-name="SubscribeWidgetToDOM"><div class="subscription-widget show-subscribe"><div class="preamble"><p class="cta-caption">bitcoin++'s Insider Edition is a reader-supported publication. To receive new posts and support my work, consider becoming a free or paid subscriber.</p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div>]]></content:encoded></item><item><title><![CDATA[Cryptography Talks - Ethan Heilman]]></title><description><![CDATA[What&#8217;s it like working on making Bitcoin quantum-resistant?]]></description><link>https://insider.btcpp.dev/p/cryptography-talks-ethan-heilman</link><guid isPermaLink="false">https://insider.btcpp.dev/p/cryptography-talks-ethan-heilman</guid><dc:creator><![CDATA[~nifty~]]></dc:creator><pubDate>Wed, 24 Jun 2026 14:02:51 GMT</pubDate><enclosure url="https://api.substack.com/feed/podcast/201609597/eb9a4dfd361e871c38a031b56e1ebb6b.mp3" length="0" type="audio/mpeg"/><content:encoded><![CDATA[<p>What&#8217;s it like working on making Bitcoin quantum-resistant? We talked to <a href="https://x.com/Ethan_Heilman">Ethan Heilman</a> at the <a href="https://x.com/MITBitcoinClub">MIT Bitcoin Expo</a> last month to get his thoughts on the work needed for preparing for a quantum future.</p><p>Tune in for another Insider Report!</p>]]></content:encoded></item><item><title><![CDATA[Second partners with Tando, Mavapay, JunubBTC to bring Ark-powered Bitcoin settlement to Africa]]></title><description><![CDATA[Ark ships mobile-money systems across five African countries]]></description><link>https://insider.btcpp.dev/p/second-partners-with-tando-mavapay</link><guid isPermaLink="false">https://insider.btcpp.dev/p/second-partners-with-tando-mavapay</guid><dc:creator><![CDATA[~nifty~]]></dc:creator><pubDate>Tue, 23 Jun 2026 15:58:15 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!JIwc!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F717eeba1-469f-4404-a96b-6b84f95fb8fc_1000x400.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p><strong><span>Nairobi, Kenya - June 23, 2026</span></strong></p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!JIwc!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F717eeba1-469f-4404-a96b-6b84f95fb8fc_1000x400.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!JIwc!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F717eeba1-469f-4404-a96b-6b84f95fb8fc_1000x400.png 424w, https://substackcdn.com/image/fetch/$s_!JIwc!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F717eeba1-469f-4404-a96b-6b84f95fb8fc_1000x400.png 848w, https://substackcdn.com/image/fetch/$s_!JIwc!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F717eeba1-469f-4404-a96b-6b84f95fb8fc_1000x400.png 1272w, https://substackcdn.com/image/fetch/$s_!JIwc!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F717eeba1-469f-4404-a96b-6b84f95fb8fc_1000x400.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!JIwc!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F717eeba1-469f-4404-a96b-6b84f95fb8fc_1000x400.png" width="1000" height="400" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/717eeba1-469f-4404-a96b-6b84f95fb8fc_1000x400.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:400,&quot;width&quot;:1000,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:941489,&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/203257833?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F717eeba1-469f-4404-a96b-6b84f95fb8fc_1000x400.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_!JIwc!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F717eeba1-469f-4404-a96b-6b84f95fb8fc_1000x400.png 424w, https://substackcdn.com/image/fetch/$s_!JIwc!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F717eeba1-469f-4404-a96b-6b84f95fb8fc_1000x400.png 848w, https://substackcdn.com/image/fetch/$s_!JIwc!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F717eeba1-469f-4404-a96b-6b84f95fb8fc_1000x400.png 1272w, https://substackcdn.com/image/fetch/$s_!JIwc!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F717eeba1-469f-4404-a96b-6b84f95fb8fc_1000x400.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 aria-hidden="true" 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><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><span>Second (</span><a href="https://x.com/@secondhq"><span>@secondhq</span></a><span>) has partnered with </span><strong><span>Tando</span></strong><span> (</span><a href="https://x.com/@tando_me"><span>@tando_me</span></a><span>), </span><strong><span>Mavapay</span></strong><span> (</span><a href="https://x.com/@mavapay"><span>@mavapay</span></a><span>), and </span><strong><span>JunubBTC</span></strong><span> to bring </span><strong><span>Ark-powered Bitcoin settlement</span></strong><span> to mobile-money systems across five African countries.</span></p><p><span>The settlement layer is powered by </span><strong><span>Bark, Second&#8217;s implementation of the Ark protocol</span></strong><span>: a fully open-source, self-custodial stack in which every payment gateway keeps absolute self-custody, and settles bitcoin instantly over the Ark protocol without routing fees.</span></p><p><span>During </span><strong><span>bitcoin++ Nairobi, the open-source edition</span></strong><span> (June 17-19, 2026), Matthew Vuk (</span><a href="https://x.com/@matthewvuk2"><span>@matthewvuk2</span></a><span>) of Second partnered with Tando to swap out their existing Phoenix (phoenixd) LSP infrastructure for a </span><strong><span>Bark client</span></strong><span> that connects to an Ark server for liquidity. The change replaces only Tando&#8217;s lightning infrastructure layer, while the application layer and the M-PESA payout are untouched.</span></p><p><span>It removes the two costs of running a Lightning node as a receiving business:</span></p><ol><li><p><span>there are </span><strong><span>no channels to open and no inbound liquidity to provision</span></strong><span> (the Ark server&#8217;s Lightning gateway supplies capacity on demand),</span></p></li><li><p><span>Tando no longer pays inbound-liquidity fees. In practice, moving from the phoenixd LSP to a bark client </span><strong><span>cuts Tando&#8217;s liquidity costs by an estimated 50-80%</span></strong><span>: capacity now comes from the Ark server&#8217;s Lightning gateway on demand, rather than from pre-provisioned, fee-bearing channels with an LSP. Senders can still pay from any Lightning wallet; Ark-native wallets pay over </span><strong><span>arkoor</span></strong><span> at </span><strong><span>0% routing fees</span></strong><span>; and Tando keeps full self-custody throughout.</span></p></li></ol><p><span>Bhang (</span><a href="https://x.com/@DevOpsbhang"><span>@DevOpsbhang</span></a><span>), of </span><strong><span>JunubBTC</span></strong><span> in South Sudan, has joined to build a Tando-like solution for his country, working with the Second and Tando teams to demo it on </span><strong><span>MTN MoMo (Mobile Money)</span></strong><span>. The collaboration lets users move value between </span><strong><span>M-PESA in Kenya</span></strong><span> and </span><strong><span>MTN MoMo in South Sudan</span></strong><span> directly, with no liquidity management and no routing fees on the Ark settlement layer. Each country runs its own bitcoin-to-mobile-money gateway and holds absolute self-custody of its own funds.</span></p><p><span>At the </span><strong><span>Nairobi BitDevs</span></strong><span>, Matthew presented the collaborative work between Tando and JunubBTC: a mobile-money gateway with </span><strong><span>0% routing fees</span></strong><span> between Kenya and South Sudan, with settlement powered by the Bitcoin Ark.</span></p><blockquote><p><em><span>&#8220;The Ark server is a coordinator, never a custodian,&#8221; said Matthew. &#8220;It abstracts away the channel and liquidity management, so an operator runs a gateway without running a Lightning node, and keeps absolute self-custody. Their balance is held as real VTXOs that they can always exit unilaterally and broadcast on-chain; they are not just leaves or IOUs pointing at money held overseas. For Africa, that sovereignty is the whole point: these gateways should not depend on closed-source servers, or on custodians off the continent. And because every gateway settles on the same Ark, each new gateway has a compounding network effect of cost benefits.&#8221;</span></em></p></blockquote><p><span>The </span><strong><span>Mavapay</span></strong><span> (</span><a href="https://x.com/@mavapay"><span>@mavapay</span></a><span>) team, present at Nairobi BitDevs, has joined the working group, led by </span><strong><span>Theophilus Isah</span></strong><span> (</span><a href="https://x.com/@Extheo"><span>@Extheo</span></a><span>) and </span><strong><span>Solomon Eze</span></strong><span> (</span><a href="https://x.com/@IgboPharaoh"><span>@IgboPharaoh</span></a><span>), to extend the system beyond mobile money to </span><strong><span>bank accounts</span></strong><span> in Nigeria, Ghana, South Africa, and Kenya. Mavapay&#8217;s app already converts Bitcoin into naira, cedi, shilling, or rand and pays it out to a bank account or mobile-money wallet in under a minute over the Lightning network; settling that flow over Ark is the next step.</span></p><p><span>Together this would enable swaps across five countries and their currencies (the </span><strong><span>Nigerian naira, Ghanaian cedi, South African rand, Kenyan shilling, and South Sudanese pound</span></strong><span>), reaching a combined population of </span><strong><span>more than 400 million</span></strong><span> people in Africa. It would be the </span><strong><span>first Ark-powered settlement network of its kind</span></strong><span>, built on a fully open-source stack that guarantees the sovereignty of every gateway operator.</span></p><p><span>The system introduces a new </span><strong><span>custom Cashu NUT-05 extension</span></strong><span> that lets holders of blinded tokens in a Cashu mint </span><strong><span>melt them directly into a mobile-money gateway over Ark, at 0% Ark-network fees</span></strong><span>. Because the tokens are blind-signed, holders can </span><strong><span>privately</span></strong><span> redeem ecash for mobile money, or direct bank deposits, across the five African partner countries.</span></p><p><span>Mikey (</span><a href="https://x.com/@_mykhael"><span>@_mykhael</span></a><span>), a core contributor to the Cashu project (</span><a href="https://x.com/@cashubtc"><span>@cashubtc</span></a><span>), will lead a Cashu application built specifically for the African market on top of this network, moving value between local currencies and blinded ecash. It uses </span><strong><span>bark-powered Cashu mints hosted locally in Africa</span></strong><span>, which unlock a new form of </span><strong><span>proof-of-reserves</span></strong><span> made possible by the cosignatures of the Cashu Mint&#8217;s Bark client and the Ark server. The Ark server can cryptographically attest a </span><strong><span>minimum (lower-bound) balance</span></strong><span> for a mint whose Lightning node has been replaced by a Bark client.</span></p><blockquote><p><em><span>The bitcoin++ week has proven once again that magic happens when people gather in one place.</span></em></p><p><em><span>Meeting Matthew at BTC Prague set off a two-week sprint where I&#8217;ve learned more about Ark than ever before.</span></em></p><p><em><span>Ark introduces incredible benefits for scalable, privacy-preserving, and seamless bitcoin transactions, and seeing it integrated across Tando, Mavapay, and Cashu is a massive milestone.</span></em></p><p><em><span>I&#8217;m so excited to watch the ideas born during this week continue to grow.</span></em></p><p><em><span>Sharon Murugi (</span><a href="https://x.com/@Murugi___"><span>@Murugi___</span></a><span>), Communications Lead, Btrust (</span><a href="https://x.com/@btrustteam"><span>@btrustteam</span></a><span>)</span></em></p></blockquote><p><span>With the working group now established, the partners are preparing to launch a shared </span><strong><span>application layer and product suite for African markets</span></strong><span>: an open-source, self-custodial settlement network following the model of Tando where value moves freely between local currencies, mobile money, and Bitcoin, with every operator sovereign over their own funds and no money held off the continent.</span></p><p><span>The first corridors, Kenya&#8217;s M-PESA and South Sudan&#8217;s MTN MoMo, are already running on a testnet; bank rails and additional countries follow as Mavapay and new partners join. What began as a two-week hackathon sprint is becoming the settlement backbone for a continent-scale, sovereign Bitcoin economy.</span></p>]]></content:encoded></item><item><title><![CDATA[Payjoin <> Cashu — Last Week in Bitcoin (Jun 15 - 21)]]></title><description><![CDATA[Hi Insiders.]]></description><link>https://insider.btcpp.dev/p/payjoin-cashu-last-week-in-bitcoin</link><guid isPermaLink="false">https://insider.btcpp.dev/p/payjoin-cashu-last-week-in-bitcoin</guid><dc:creator><![CDATA[Tuma (I WILL NEVER DM YOU)]]></dc:creator><pubDate>Mon, 22 Jun 2026 14:02:46 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!RQ30!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8f3585d2-4604-4bf4-9b42-40ec80c25082_1600x900.jpeg" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p><em>Hi Insiders. This is Tuma, open-source reporter from the Insider Edition.</em></p><p><em>In this week update we feature PR2049 in CDK, which aims to integrate Payjoin in the Cashu implementation.</em></p><p><em>We also cover Century Metadata, the new venture by former Core-lightning developer Rusty Russell, which promises long term reliable storage and retrieval for small amounts of private data.</em></p><p><em>We finally present other news from the ecosystem. Notably, Bitcoin++ held its first-ever African conference, LDK banned by GitHub, and a guest book review on the Insider Edtion.</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_!RQ30!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8f3585d2-4604-4bf4-9b42-40ec80c25082_1600x900.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!RQ30!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8f3585d2-4604-4bf4-9b42-40ec80c25082_1600x900.jpeg 424w, https://substackcdn.com/image/fetch/$s_!RQ30!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8f3585d2-4604-4bf4-9b42-40ec80c25082_1600x900.jpeg 848w, https://substackcdn.com/image/fetch/$s_!RQ30!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8f3585d2-4604-4bf4-9b42-40ec80c25082_1600x900.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!RQ30!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8f3585d2-4604-4bf4-9b42-40ec80c25082_1600x900.jpeg 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!RQ30!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8f3585d2-4604-4bf4-9b42-40ec80c25082_1600x900.jpeg" width="1456" height="819" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/8f3585d2-4604-4bf4-9b42-40ec80c25082_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/203072069?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8f3585d2-4604-4bf4-9b42-40ec80c25082_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_!RQ30!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8f3585d2-4604-4bf4-9b42-40ec80c25082_1600x900.jpeg 424w, https://substackcdn.com/image/fetch/$s_!RQ30!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8f3585d2-4604-4bf4-9b42-40ec80c25082_1600x900.jpeg 848w, https://substackcdn.com/image/fetch/$s_!RQ30!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8f3585d2-4604-4bf4-9b42-40ec80c25082_1600x900.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!RQ30!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8f3585d2-4604-4bf4-9b42-40ec80c25082_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 aria-hidden="true" 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><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/2049/">PR2049</a> in <em>CDK</em> is adding support for <em>Payjoin</em> in the <em>Cashu</em> implementation.</p><ul><li><p>During the weekly call, on Wednesday 17th, <em>CDK</em> contributors discussed PR2049, which aims to integrate <em>Payjoin</em> in the <em>Cashu</em> implementation. As of today, the PR is still in draft.</p></li><li><p><em><a href="https://bitcoinops.org/en/topics/payjoin/">Payjoin</a></em> is a technique that allows two users to gain more privacy in an on-chain transaction. The receiver provides one of his own UTXOs as an input, breaking the common-input heuristic that chain-analysis companies use.</p></li><li><p>Developers are <a href="https://github.com/cashubtc/nuts/pull/376/">working</a> in parallel to draft a specific NUT for <em>Payjoin</em>. This PR builds on top of the recent integration of <a href="https://open.substack.com/pub/btcpp/p/economics-edition-last-week-in-bitcoin?r=2c4bjq&amp;selection=2c194276-af8b-4c98-b57a-c6cbb92f415f&amp;utm_campaign=post-share-selection&amp;utm_medium=web&amp;aspectRatio=instagram&amp;textColor=%23ffffff&amp;bgImage=true">on-chain minting and melting</a> in the <em>Cashu</em> protocol (<a href="https://github.com/cashubtc/nuts/blob/main/30.md">NUT-30</a>), and on <a href="https://github.com/bitcoin/bips/blob/master/bip-0077.md">BIP77</a>, the proposal for the asynchronous version of <em>Payjoin</em>.</p></li></ul></li><li><p><em><a href="https://www.centurymetadata.org/">Century Metadata</a></em> is a new project by former <em>Core-lightning</em> developer Rusty Russell.</p><ul><li><p>On Monday 15th, <em>Century Metadata</em> founder and former <em>Core-lightning</em> lead developer <a href="https://x.com/rusty_twit">Rusty Russell</a> presented his new venture during the first ever weekly call.</p></li><li><p>The project promises long term reliable storage and retrieval for small amounts of private data. According to Rusty, this would be very useful for storing those auxiliary data needed to retrieve Bitcoin wallets, such as descriptors.</p></li><li><p>Rusty will hold <a href="https://www.centurymetadata.org/chats/">weekly calls</a> to provide updates on the project. If you want to know more about <em>Century Metadata</em>, watch <a href="https://youtu.be/IPmOjQG2WuQ?t=7597">Rusty&#8217;s presentation</a> at <em>Bitcoin++ Economics Edition</em>, where he presented both the general idea behind his venture and the possible tech stack to achieve its goal.</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>Talking about open-source</strong>: Last week, <em>Bitcoin++</em> hosted its <a href="https://btcplusplus.dev/nairobi">first ever African event</a> in Nairobi, with a focus on what it means to work in public as open-source contributors, and how their work impacts several projects in the Bitcoin ecosystem. The conference streaming will be available on <a href="https://www.youtube.com/live/bh6s-30I1Cg">Thursday 25th</a>.</p></li><li><p><strong>Banned</strong>: <em>LDK</em> contributor Matt Corallo <a href="https://x.com/TheBlueMatt/status/2068726534941364593">revealed</a> that the Lightning implementation repository had been banned by GitHub with no apparent reason. In particular, <em>LDK</em> developers are no more allowed to run CI, neither a self-hosted instance, on their project, effectively forcing to look for other alternatives.</p></li><li><p><strong>A Lodging of Wayfaring Men</strong>: Cypherpunk writer Max Hillebrand <a href="https://insider.btcpp.dev/p/insider-reviews-a-lodging-of-wayfaring">reviewed</a> for the <em>Insider</em> a book that any modern Cypherpunk should read, <em>A Lodging of Wayfaring Men</em> by Paul Rosenberg. Max describes how this book laid the foundation for what Bitcoin and the whole open-source movement represents today.</p></li><li><p><strong>Last Week in Bitcoin goes on Holiday</strong>: Your favorite open-source reporter is going on holiday for a couple of weeks! I will be back with the latest news from the Bitcoin developer ecosystem soon, but in the meantime be sure to follow our <a href="https://x.com/btcinsider__">X account</a> to stay always up-to-date!</p></li></ul><div><hr></div><p><em>Looking for an opportunity to join up with some bitcoin devs in person? Join us in <a href="https://btcpp.dev/toronto?code=TUMA20">Toronto</a> this July 22- 24 to talk about finding consensus in Bitcoin!</em></p>]]></content:encoded></item><item><title><![CDATA[Insider Reviews - A Lodging of Wayfaring Men]]></title><description><![CDATA[A book review by Max Hillebrand]]></description><link>https://insider.btcpp.dev/p/insider-reviews-a-lodging-of-wayfaring</link><guid isPermaLink="false">https://insider.btcpp.dev/p/insider-reviews-a-lodging-of-wayfaring</guid><pubDate>Tue, 16 Jun 2026 14:02:36 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!5x6C!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff8900c9d-3964-43b1-a262-1585743352af_1376x768.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_!5x6C!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff8900c9d-3964-43b1-a262-1585743352af_1376x768.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!5x6C!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff8900c9d-3964-43b1-a262-1585743352af_1376x768.jpeg 424w, https://substackcdn.com/image/fetch/$s_!5x6C!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff8900c9d-3964-43b1-a262-1585743352af_1376x768.jpeg 848w, https://substackcdn.com/image/fetch/$s_!5x6C!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff8900c9d-3964-43b1-a262-1585743352af_1376x768.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!5x6C!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff8900c9d-3964-43b1-a262-1585743352af_1376x768.jpeg 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!5x6C!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff8900c9d-3964-43b1-a262-1585743352af_1376x768.jpeg" width="1376" height="768" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/f8900c9d-3964-43b1-a262-1585743352af_1376x768.jpeg&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:768,&quot;width&quot;:1376,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:616087,&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/202128944?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff8900c9d-3964-43b1-a262-1585743352af_1376x768.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_!5x6C!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff8900c9d-3964-43b1-a262-1585743352af_1376x768.jpeg 424w, https://substackcdn.com/image/fetch/$s_!5x6C!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff8900c9d-3964-43b1-a262-1585743352af_1376x768.jpeg 848w, https://substackcdn.com/image/fetch/$s_!5x6C!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff8900c9d-3964-43b1-a262-1585743352af_1376x768.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!5x6C!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff8900c9d-3964-43b1-a262-1585743352af_1376x768.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 aria-hidden="true" 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><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>There are five or six books that every serious cypherpunk ends up reading. A Lodging of Wayfaring Men is one of them. For two decades it lived as a quiet inheritance, copied as a PDF between people who built Tor relays, ran early e-gold accounts, traded on Liberty Reserve, wrote the Bitcoin patches that mattered, and shipped the privacy tools we use today. A new <a href="https://bitcoinbook.shop/products/a-lodging-of-wayfaring-men?Book+type=Hardcover">illustrated hardcover edition</a> has been edited and republished. The timing is good, because the world the book describes is the world we are now living in.</p><p>Paul Rosenberg wrote the manuscript in the late 1990s while running the arbitration system at a project called Laissez Faire City. The project shipped a working encrypted financial system in 2001, complete with anonymous bearer certificates, a stock exchange, a futures market, encrypted webmail, and a distributed forum, all seven years before the Bitcoin white paper. Rosenberg sat across the table from the project&#8217;s principals, audited the books when one of them went bad, couriered gold coins on settled disputes, and oversaw the investigation that closed the project out. As the man who maintained the donor list of every founder who put money in, he kept it as long as the work required and burned it once the work was done.</p><p>He wrote the novel to tell the story without naming the people. The fiction was a courtesy to the donors, who needed to stay out of court. The story is theirs, lightly disguised. For the first decade it circulated by email and on private mailing lists, photocopied, forwarded, passed quietly from one builder to the next. People who held copies treated them like contraband, because in spirit they were. Every serious cypherpunk who read it walked away understanding two things at once: that the cypherpunks had already done it before Bitcoin existed, and that the work had only just begun.</p><p>What the novel does is make the cypherpunk argument as a story. Before the white paper, before Tor was a usable network, before Lightning, before Nostr, Rosenberg wrote a small group of mathematicians, ex-ministers, financiers, and Silicon Valley programmers into a story about shipping fully encrypted electronic cash from a series of safe houses across three continents. The NSA briefer in the book reads a January 1995 Treasury memo describing money the agency cannot read or trace, money whose addresses do not follow the standard protocols, money whose messages leave no record of origin or destination. The memo is fictional. Everything it describes is now operational in your pocket. Reading it in 2026 is a strange and pleasant kind of vertigo.</p><p>I should say where I am standing before going further. I met Paul years ago, and shortly afterward I sat down with the manuscript. The conversations and the reading were one continuous education. The book convinced me the work was possible and worth doing, and I went on to work on Wasabi. Years later, when the powers that be increased their pressure and attacks against us exponentially, zkSNACKs the company and its coordinator were pushed into closing. Rosenberg&#8217;s strategic logic landed in the real world exactly as he had written it. The state went after the company because the company was the named target it could reach. The wallet code had been FOSS from day one. New coordinators came online within days. FOSS is unstoppable, and Rosenberg saw the architecture twenty-five years before any of us shipped it. I am one of dozens of builders whose work is downstream of this book.</p><p>One of the book&#8217;s anchor scenes plays out like this. A coordinator named Michael Anderson counts three hundred sealed envelopes onto a table in front of a Marine survivalist friend. Each envelope contains the source code for the underground marketplace. Each carries instructions to mail it out if anything happens to him. &#8220;By distributing the code openly we make ourselves replaceable,&#8221; he says. &#8220;A thousand markets will spring up in a thousand different flavors.&#8221; This was written in the late 1990s. When zkSNACKs went down, the Wasabi code kept running and new coordinators kept the wallet alive because the architecture Paul Rosenberg describes is the architecture freedom tech has shipped ever since.</p><p>In a second scene, a Los Angeles defense attorney named Anthony Bari walks into a US Attorney&#8217;s office and forces a treason charge down to misdemeanor computer fraud by threatening to take the indictment paperwork to every newspaper that will read it. &#8220;You cannot have a public trial because everyone would learn your secret.&#8221; Around Bari orbits a veteran FBI field agent named Max Kaminski, who runs an establishment frequented by other agents and quietly feeds intelligence back through a young agent who finally defects. Max says it more than once, in different rooms, to different agents who are not yet ready to hear it. &#8220;Law enforcement is a cheap substitute for justice. Half-justice at best, and frequently much less.&#8221; Read it twice and notice the small word in the middle. Max says it is a *substitute*, the way margarine is a substitute for butter: a cheaper good produced by industrial process and sold to people who can no longer find or afford the original. Margarine is what you get when the original is taken off the shelf. Justice is what the cypherpunk defense bar is now putting back on it, one courtroom at a time.</p><p>Halfway through the book, the argument widens. The title of the book comes from Jeremiah 9: <em>&#8221;Oh that I had in the wilderness a lodging of wayfaring men, that I might leave my people and go from them.&#8221;</em> A character quotes it in a Vancouver hotel lobby late in the book, and it lands as the structural key to everything that came before. A lodging is not a building. It is a portable, self-replicating refuge culture for people who want to live separately from a system that has no intention of leaving them alone. The back half of the novel dramatizes the lodging in three countries within two chapters, and once you see the pattern you cannot unsee it.</p><p>Bitcoin Twitter has the citadel meme, and Rosenberg has the lodging, and the two ideas point in opposite directions. Citadels are walled, defensive, finite, often paranoid, expressed in the language of survival under siege. Lodgings are hospitable, portable, self-replicating, and explicitly take in any nice person you know. A citadel ends with you and your stack and a perimeter. A lodging looks like physicists teaching geometry to children on an Italian beach, parents trading nights of childcare, Nobel laureates running ad-hoc seminars, landlords competing to keep the same off-season tenants the following year. Citadels are last fortresses before the end. Lodgings are first houses of the next civilization. Bitcoin culture has spent twenty years arguing about the technical layer and almost no time on the cultural layer, and Rosenberg&#8217;s late chapters are the cleanest available blueprint for the layer above the protocol.</p><p>The closest modern Free Souls houses are <a href="https://sovereignengineering.io/">sovereignengineering.io</a> and the <a href="https://btcpp.dev/">Bitcoin++</a> conferences. Sovereign Engineering gathers freedom-tech builders into in-person residency cohorts to ship together. Bitcoin++ pulls protocol engineers into the same room to prototype and ship across a single shared agenda. The Italian beach in the novel, the SEC residency in the present, and a Bitcoin++ event are the same architecture under different names. Builders who would otherwise be working alone gather in physical proximity, sit at the same table, trade ideas across disciplines, eat together, build together, and walk away with friendships that hold under pressure. A lodging proves itself every time a small group of competent people gather to build something the surrounding system would prefer they did not. The lodging is already being built, and the novel gave it a name.</p><p>This hardcover edition includes the full Appendix, a body of essays attributed to the character Prester John. Appendix A is a wonderful history of religious thought, written with the directness of someone who has lived inside the material for forty years and decided to skip the academic throat-clearing. It treats the Hebrew prophets, the Gospels, the institutional priesthood, and the modern intelligentsia as a single continuous problem: human beings handing their judgment over to a class of people who claim the authority to think for them. Read on its own, Appendix A would be a respected short book. Embedded inside the novel, it is the philosophical scaffolding that makes the lodging make sense.</p><p>Whether Satoshi sat at one of those tables or read the same pages is the question Rosenberg has left open on purpose. Either he was at the table and lived the project, or he read the manuscript and ran with the lesson. Either answer is electric. Rosenberg himself has said that he would love to see whether his favorite Satoshi candidates were on the donor list, and then he reminded everyone that he burned the list on principle the day the work was done, smashing the hard drive that held it. So the names are gone, and the lineage is written into every Bitcoin block since genesis, and the only people who could close the loop are the ones with a stake in keeping it open. What we get instead is the thing the receipts hand us. The cypherpunks shipped the financial cryptography seven years before the white paper. The white paper inherited the strategic logic of the book, and the book is now sitting on the shelf where the rest of the inheritance is waiting. Read it for the technical retrospective.</p><p>Read it again for the lodging. Pair it with Rosenberg&#8217;s <a href="https://veraverba.com/product/the-untold-story-of-the-greatest-crypto-project-ever-e-book/">Untold Story of the Greatest Crypto Project Ever</a>, which serves as the author&#8217;s quiet commentary track on his own fiction.</p><p>We are inside one of the great adventures of human history. Cryptographic primitives are sufficient, capital is in place, legal infrastructure is being built in real courtrooms by people who took Bari&#8217;s playbook seriously, and the lodgings are forming. Bitcoin is the money, Nostr is the social layer, FOSS is the strategic logic, and the lodging is the architecture we live inside while we build. What remains is for each of us to find our seat at the table, ship the next brick, and welcome the next nice person we know.</p><p>Rosenberg wrote the book to tell a story whose principals could not be named. Two decades later the principals&#8217; work is on every laptop, in every wallet, in every courtroom where a privacy-tool defendant is finding out he has a defense bar. The donor list is gone. The donors are everywhere. Read the book, and then go find your seat at the table.</p>]]></content:encoded></item><item><title><![CDATA[New Specs for Marmot — Last Week in Bitcoin (Jun 08 - 14)]]></title><description><![CDATA[Hi Insiders.]]></description><link>https://insider.btcpp.dev/p/new-specs-for-marmot-last-week-in</link><guid isPermaLink="false">https://insider.btcpp.dev/p/new-specs-for-marmot-last-week-in</guid><dc:creator><![CDATA[Tuma (I WILL NEVER DM YOU)]]></dc:creator><pubDate>Mon, 15 Jun 2026 14:02:49 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!ajtc!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0be34b6c-3529-4398-b09f-6ebf60649e3e_1600x900.jpeg" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p><em>Hi Insiders. This is Tuma, open-source reporter from the Insider Edition.</em></p><p><em>In this week update we feature the latest release of the Cashu Development Kit (CDK), which introduced a new BDK on-chain payment backend based on NUT-30.</em></p><p><em>We also cover the effort from the Marmot protocol team to draft a new set of specifications to improve the reliability of the system.</em></p><p><em>We finally present some interesting news from the Bitcoin ecosystem. Notably, Bark by Second available on mainnet, a new vulnerability found in Bitcoin Core, improvements on splicing, and a draft BIP for a new testnet.</em></p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!ajtc!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0be34b6c-3529-4398-b09f-6ebf60649e3e_1600x900.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!ajtc!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0be34b6c-3529-4398-b09f-6ebf60649e3e_1600x900.jpeg 424w, https://substackcdn.com/image/fetch/$s_!ajtc!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0be34b6c-3529-4398-b09f-6ebf60649e3e_1600x900.jpeg 848w, https://substackcdn.com/image/fetch/$s_!ajtc!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0be34b6c-3529-4398-b09f-6ebf60649e3e_1600x900.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!ajtc!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0be34b6c-3529-4398-b09f-6ebf60649e3e_1600x900.jpeg 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!ajtc!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0be34b6c-3529-4398-b09f-6ebf60649e3e_1600x900.jpeg" width="1456" height="819" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/0be34b6c-3529-4398-b09f-6ebf60649e3e_1600x900.jpeg&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:819,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:347184,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/jpeg&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:true,&quot;internalRedirect&quot;:&quot;https://insider.btcpp.dev/i/202104441?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0be34b6c-3529-4398-b09f-6ebf60649e3e_1600x900.jpeg&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!ajtc!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0be34b6c-3529-4398-b09f-6ebf60649e3e_1600x900.jpeg 424w, https://substackcdn.com/image/fetch/$s_!ajtc!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0be34b6c-3529-4398-b09f-6ebf60649e3e_1600x900.jpeg 848w, https://substackcdn.com/image/fetch/$s_!ajtc!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0be34b6c-3529-4398-b09f-6ebf60649e3e_1600x900.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!ajtc!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0be34b6c-3529-4398-b09f-6ebf60649e3e_1600x900.jpeg 1456w" sizes="100vw" fetchpriority="high"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg aria-hidden="true" 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><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p></p><div><hr></div><h2><strong>Highlights from the bitcoin developer ecosystem</strong></h2><p><em>I spent 10+ hours in open-source developer calls in the Bitcoin ecosystem last week. Here is what caught my eye</em>:</p><ul><li><p><a href="https://github.com/cashubtc/cdk/releases/tag/v0.17.0">v0.17.0</a> of CDK was released.</p><ul><li><p>During the weekly call, on Wednesday 10th, CDK contributors announced that the latest version of the Cashu implementation was close to be published. The release was officially pushed some days later, on Saturday 13th.</p></li><li><p>The main highlight is the introduction of an on-chain backend for minting and melting ecash tokens. Based on <a href="https://github.com/cashubtc/nuts/blob/main/30.md">NUT-30</a> specification, the new features leverages <a href="https://github.com/bitcoindevkit">BDK</a> under the hood to provide on-chain functionalities.</p></li><li><p>Other changes includes a deprecation notice for LNbits as a backend, improvements to improve recovery and reliability, and the possibility to have multiple mint backends for different currency units. The latest release is also available for Kotlin JVM, Go, Dart, and Swift though language bindings.</p></li></ul></li><li><p><a href="https://github.com/marmot-protocol/darkmatter">Marmot v2</a>, the new set of specification for the Marmot specifications, is currently being drafted.</p><ul><li><p>During the monthly community call, on Tuesday 9th, Marmot maintainers announced that they were working on a second version of the protocol specifications with the aim of improving the reliability of the system. The new specifications are being drafted in the <a href="https://github.com/marmot-protocol/darkmatter/tree/master/spec">darkmatter specs</a> repository, organized in modular surfaces with dedicated directories and clear ownership.</p></li><li><p>One of the most important focus of the new specifications is related to how the group reaches consensus on state change. As of today, each member of the group processes commits independently, which could result in potential forks of the group. Marmot v2 would provide hard-coded parameters to allow users to get to the same group state deterministically.</p></li><li><p>Another focus of the new specifications is to make the protocol transport-agnostic. While the original specifications put Nostr at the center, v2 aims to provide the possibility to use Marmot with many different transport layers, such as <a href="https://fips.network/">FIPS</a>.</p></li></ul></li></ul><div><hr></div><h2>A BIPs Update</h2><p><em>There was no newsworthy update in the last days in the <a href="https://github.com/bitcoin/bips">BIP repository</a>. We&#8217;ll provide new updates as soon as a new BIP gets published or gets assigned a number.</em></p><div><hr></div><h2>Other News from the Bitcoin World</h2><ul><li><p><strong>Bark is on mainnet</strong>: Second <a href="https://x.com/secondhq/status/2064346112203395400">announced</a> on Monday 9th that Bark, their Ark implementation, was finally available on mainnet. Second released the Ark server, the Bark SDK, and multiple wallets to try. In the following days, Bark <a href="https://x.com/secondhq/status/2065445074767630711">announced</a> that AlbyHub had integrated Bark as a possible backend option for their node, and that the Bark Wallet was available on Umbrel. Unfortunately, it also had to deal with <a href="https://substack.com/home/post/p-201838701">two vulnerabilities</a> found by Bitcoin developer Floppy, which were soon patched by Second&#8217;s team.</p></li><li><p><strong>Vulnerability in </strong><code>-privatebroadcast</code>: The Bitcoin Core organization <a href="https://x.com/bitcoincoreorg/status/2065161002128154911">disclosed</a> on Thursday 11th that a privacy bug had been found in the newly <code>-privatebroadcast</code> feature introduced in v31.0. The bug may cause the originator&#8217;s IP address to be revealed to a peer. A fix is expected soon in v31.1.</p></li><li><p><strong>Splicing out into a channel open</strong>: Dusty Daemon, the mind behind splicing, <a href="https://x.com/dusty_daemon/status/2064435141682876606">announced</a> that he was able to make the first splice out into a channel open on regtest. In other words, he was able to remove funds from an already open channel, and put them in a brand-new one.</p></li><li><p><strong>Testnet5 is coming?</strong>: Pol Espinasa <a href="https://groups.google.com/g/bitcoindev/c/kGUMTxOvdJA/m/Eyx5FxQeAAAJ">posted</a> to the Bitcoin-Dev mailing list a <a href="https://github.com/bitcoin/bips/pull/2196">draft BIP</a> to replace <a href="https://bitcoinops.org/en/topics/testnet/">testnet4</a> with a new testnet5, with the aim is to improve reliability of the testnet. Testnet5 would include the same consensus rules as mainnet, plus activation of <a href="https://github.com/bitcoin/bips/blob/master/bip-0054.md">BIP54</a> (great consensus cleanup).</p></li></ul><div><hr></div><p><em>Looking for an opportunity to join up with some bitcoin devs in person? Join us in <a href="https://btcplusplus.dev/nairobi">Nairobi</a> this June 17- 19 to talk about working in public in open-source!</em></p>]]></content:encoded></item><item><title><![CDATA[Clarifying Moderation Policies for External Behavior - This Week in Bitcoin Core #47]]></title><description><![CDATA[Delete Libevent and make coin selection faster...]]></description><link>https://insider.btcpp.dev/p/clarifying-moderation-policies-for</link><guid isPermaLink="false">https://insider.btcpp.dev/p/clarifying-moderation-policies-for</guid><dc:creator><![CDATA[kevkevin]]></dc:creator><pubDate>Fri, 12 Jun 2026 14:02:54 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!MJw8!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1cee73e5-1dd4-4081-a559-6f40592a5154_1456x816.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>Hello &#128075; folks, I&#8217;m kevkevin. I&#8217;m an open-source developer and reporter for Insider Edition. Last week, I reviewed several pull requests from the <a href="https://github.com/bitcoin/bitcoin/pulls">Bitcoin Core</a> repo.<br><br>This week in the IRC meeting, there was a topic <a href="https://github.com/bitcoin-core/meta/issues/46">brought up</a> about how Bitcoin Core should moderate users whose external presence is abusive, but within the Bitcoin Core repos, they follow the guidelines.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!MJw8!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1cee73e5-1dd4-4081-a559-6f40592a5154_1456x816.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!MJw8!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1cee73e5-1dd4-4081-a559-6f40592a5154_1456x816.png 424w, https://substackcdn.com/image/fetch/$s_!MJw8!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1cee73e5-1dd4-4081-a559-6f40592a5154_1456x816.png 848w, https://substackcdn.com/image/fetch/$s_!MJw8!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1cee73e5-1dd4-4081-a559-6f40592a5154_1456x816.png 1272w, https://substackcdn.com/image/fetch/$s_!MJw8!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1cee73e5-1dd4-4081-a559-6f40592a5154_1456x816.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!MJw8!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1cee73e5-1dd4-4081-a559-6f40592a5154_1456x816.png" width="1456" height="816" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/1cee73e5-1dd4-4081-a559-6f40592a5154_1456x816.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:816,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:true,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!MJw8!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1cee73e5-1dd4-4081-a559-6f40592a5154_1456x816.png 424w, https://substackcdn.com/image/fetch/$s_!MJw8!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1cee73e5-1dd4-4081-a559-6f40592a5154_1456x816.png 848w, https://substackcdn.com/image/fetch/$s_!MJw8!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1cee73e5-1dd4-4081-a559-6f40592a5154_1456x816.png 1272w, https://substackcdn.com/image/fetch/$s_!MJw8!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1cee73e5-1dd4-4081-a559-6f40592a5154_1456x816.png 1456w" sizes="100vw" fetchpriority="high"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg aria-hidden="true" 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><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><h4><strong>Merged PR&#8217;s</strong></h4><h5><strong>Every week, several changes are officially added to Bitcoin Core. This week, </strong>multiple <strong>changes were merged. Here are some I found interesting this week.</strong></h5><ul><li><p><strong><a href="https://github.com/bitcoin/bitcoin/pull/35267">rpc: make getprivatebroadcastinfo and abortprivatebroadcast fail if privatebroadcast is not enabled</a></strong> by <strong><a href="https://github.com/polespinasa">polespinasa</a><br></strong>This change is conceptually pretty straightforward. There was a new feature added to Bitcoin Core v31.0 called private broadcast, in which two RPC calls were added for getprivatebroadcast and abortprivatebroadcast.<br><br>Now it makes sense to have them enabled when we also have private broadcast enabled. The issue is that before this PR that was not the case. So, what Pol Espinasa made a condition was that if -privatebroadcast=0 then we would disable those RPC methods.</p></li><li><p><strong><a href="https://github.com/bitcoin/bitcoin/pull/34028">p2p: Prevent integer overflow in LocalServiceInfo::nScore</a></strong> by <strong><a href="https://github.com/codeabysss">codeabysss</a><br></strong>This change by codeabysss also their first change, which closes an issue from 2022. </p><blockquote><p>The overflow for signed arithmetic yields undefined behavior.<br>This changes prevents undefined behavior in local address scoring by saturating <code>nScore</code> updates at <code>INT_MAX</code> in both <code>SeenLocal()</code> and <code>AddLocal()</code> update paths.</p></blockquote></li></ul><h5><strong>There are always changes being updated and reviewed in real-time. Here are some notable PR&#8217;s that are still up and looking for reviews.</strong></h5><ul><li><p><strong><a href="https://github.com/bitcoin/bitcoin/pull/25665">refactor: Add util::Result failure types and ability to merge result values</a></strong> by <strong><a href="https://github.com/ryanofsky">ryanofsky</a></strong></p><blockquote><pre><code>Add `util::Result` support for returning more error information and make use of it in [LoadChainstate method](https://github.com/bitcoin/bitcoin/pull/25665/commits/d0d2535cac193a448395fbb1d32df072b2e491a3) as an initial application. Followup PRs [#25722](https://github.com/bitcoin/bitcoin/pull/25722) and [#29700](https://github.com/bitcoin/bitcoin/pull/29700) use it more broadly to return errors and warnings from wallet and kernel functions as well.</code></pre></blockquote></li></ul><div><hr></div><h4><strong>IRC meeting notes</strong></h4><h5><strong>Every week on Thursday, there is an IRC meeting. Here are some short notes from that meeting.</strong></h5><pre><code><strong>stickies-v</strong>: <strong>#topic Kernel WG Update (sedited)</strong>
<strong>sedited</strong>: nothing to share this week</code></pre><pre><code><strong>stickies-v</strong>: <strong>#topic Benchmarking WG Update (l0rinc, andrewtoth)</strong>
<strong>sliv3r__</strong>: hi
<strong>andrewtoth</strong>: l0rinc opened <a href="https://github.com/bitcoin/bitcoin/issues/35465">#35465</a> to address the compaction.
<strong>andrewtoth</strong>: willcl-ark discovered a speed regression <a href="https://github.com/bitcoin/bitcoin/issues/35457.">https://github.com/bitcoin/bitcoin/issues/35457.</a> l0rinc is looking into ways to resolve that.
<strong>andrewtoth</strong>: Got some good review on <a href="https://github.com/bitcoin/bitcoin/issues/35295">#35295</a>. We are also now continuously fuzzing leveldb along with concurrent reads, which is used for chainstate reads in that PR. More review welcome.
<strong>andrewtoth</strong>: that&#8217;s it</code></pre><pre><code><strong>stickies-v</strong>: <strong>#topic Fuzzing WG Update (dergoegge)</strong>
<strong>dergoegge</strong>: no update
<strong>stickies-v</strong>: I don&#8217;t see any other WG leaders here, so that concludes the WG section unless anyone pops in last-minute
<strong>stickies-v</strong>: Anything else to discuss?
<strong>andrewtoth</strong>: Can we consider merging <a href="https://github.com/bitcoin-core/bitcoincore.org/pull/1255">https://github.com/bitcoin-core/bitcoincore.org/pull/1255</a> and making a mailing list post?
<strong>sedited</strong>: not sure if that makes sense without a release.
<strong>andrewtoth</strong>: Do we want to let users know about workarounds before a release?
<strong>stickies-v</strong>: alerting earlier seems useful to me too, especially since the vulnerability is public already anyway
<strong>sliv3r__</strong>: I think it makes sense anouncing before a release
<strong>andrewtoth</strong>: I don&#8217;t think that blog post would make sense as is with a release, since the best workaround would be to upgrade
<strong>sliv3r__</strong>: agree, didn&#8217;t read in detail the post but it basically gives workarounds until a fix is released, makes sense to publish it as soon as it is ready
<strong>stickies-v</strong>: i think it would be useful if more contributors at least concept ack&#8217;d blog posts, not that this one seems controversial
<strong>sedited</strong>: ok
<strong>eugenesiegel</strong>: should this not have been public? afaict the security mailing list isn&#8217;t for privacy issues. anybody have an idea on the preferred way to handle this?
<strong>andrewtoth</strong>: all things considered it would be better IMO if this were not yet public
<strong>andrewtoth</strong>: but, not sure how we would have made a fix without revealing it
<strong>instagibbs</strong>: there are ways of doign so, but horse is out of the barn long ago
<strong>andrewtoth</strong>: since it is public, it would be good to get info about it out
<strong>stickies-v</strong>: alright, looks like we&#8217;re done here. thanks for bringing it up andrewtoth
<strong>andrewtoth</strong>: what is holding up a 31.1 release?
<strong>Murch[m]</strong>: 31.1 should be out soon, right?
<strong>stickies-v</strong>: (okay not done)
<strong>Murch[m]</strong>: I just took a look at the milestone, all the todos seem to be checked off
<strong>dergoegge</strong>: eugenesiegel: This was fine to be public imo
<strong>sedited</strong>: I think we were waiting on <a href="https://github.com/bitcoin/bitcoin/issues/35465">#35465</a>
<strong>Murch[m]</strong>: Ah sorry, the list of backports refers to merged PRs, but the PR is still draft
<strong>Murch[m]</strong>: <a href="https://github.com/bitcoin/bitcoin/pull/35331">https://github.com/bitcoin/bitcoin/pull/35331</a>
<strong>andrewtoth</strong>: <a href="https://github.com/bitcoin/bitcoin/issues/35331">#35331</a>
<strong>andrewtoth</strong>: Please review 35465 then
<strong>stickies-v</strong>: anything else here? otherwise i&#8217;m wrapping up
<strong>Murch[m]</strong>: I though <a href="https://github.com/bitcoin-core/meta/issues/46">https://github.com/bitcoin-core/meta/issues/46</a> was an interesting question.
<strong>Murch[m]</strong>: While it seems reasonable to judge code contributions on their own merit, it also seems reasonable that extremely uncharitable behavior in other avenues should at some point be addressed.
<strong>Murch[m]</strong>: Anyway, if people haven&#8217;t seen that conversation yet, maybe take a look
<strong>Murch[m]</strong>: :s/though/thought/
<strong>instagibbs</strong>: thanks for bringing it up
<strong>Murch[m]</strong>: Like, more concretely, if someone has been accusing us (without evidence) of crimes and shitting on our project in public for years, why should we continue to platform them in our repository?
<strong>Murch[m]</strong>: I can&#8217;t think of any other situation in life where this sort of behavior would be acceptable
<strong>stickies-v</strong>: so if someone is an asshole in real life, but contributes a good patch, we should not merge it because they&#8217;re an asshole?
<strong>stickies-v</strong>: that seems unworkable to me
<strong>Murch[m]</strong>: I don&#8217;t think your description of the situation matches what&#8217;s going on
<strong>Murch[m]</strong>: Anyway, I think that a ban would be in order. I don&#8217;t understand why we continue to subject ourselves to this person.
<strong>stickies-v</strong>: maybe i missed a recent conversation or incident but i&#8217;m not getting it
<strong>stickies-v</strong>: happy to review an issue or PR if there is one, i just subscribed to the meta repo
<strong>stickies-v</strong>: it looks like we&#8217;re done here, so i&#8217;ll wrap up</code></pre><p>Read here for the <a href="https://achow101.com/ircmeetings/2026/bitcoin-core-dev.2026-06-11_16_00.log.html">full meeting</a></p><div><hr></div><h4><strong>Releases</strong></h4><ul><li><p>No releases this week</p></li></ul><div><hr></div><blockquote><p>Thank you for reading. Be sure to tune in again next week for your updates on Bitcoin Core!</p></blockquote><p><em>If there are any comments, suggestions, or errors, do not hesitate to reach out or comment</em></p><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://insider.btcpp.dev/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe&quot;,&quot;language&quot;:&quot;en&quot;}" data-component-name="SubscribeWidgetToDOM"><div class="subscription-widget show-subscribe"><div class="preamble"><p class="cta-caption">bitcoin++'s Insider Edition is a reader-supported publication. To receive new posts and support my work, consider becoming a free or paid subscriber.</p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div>]]></content:encoded></item><item><title><![CDATA[P2P UTXO Set Sharing — Last Week in Bitcoin (Jun 01 - 07)]]></title><description><![CDATA[Hi Insiders.]]></description><link>https://insider.btcpp.dev/p/p2p-utxo-set-sharing-last-week-in</link><guid isPermaLink="false">https://insider.btcpp.dev/p/p2p-utxo-set-sharing-last-week-in</guid><dc:creator><![CDATA[Tuma (I WILL NEVER DM YOU)]]></dc:creator><pubDate>Mon, 08 Jun 2026 14:02:45 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!juk5!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5410d0a3-e1a5-4861-a9f8-718b46d1a8da_1600x900.jpeg" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p><em>Hi Insiders. This is Tuma, open-source reporter from the Insider Edition.</em></p><p><em>In this week update we feature the latest release of Stratum V2 protocol and applications, which focuses on share accounting improvements, channel-management API refinements, and protocol/specification alignment.</em></p><p><em>We also cover the latest release of Core-lightning. v26.06 starts deprecation for the </em><code>pay</code><em> command in favor of </em><code>xpay</code><em>, brings the implementation up-to-date with the latest specs changes, and fixes some bugs.</em></p><p><em>We finally present a new BIP for sharing the UTXO set between peers and other interesting news from the Bitcoin ecosystem. Notably, Olaoluwa Osuntokun discussing post-quantum updates to BIP324, researcher Conduition becoming the first Brink grantee to work to make Bitcoin quantum secure, and some thoughts from the Lightning Dev Summit in Vienna.</em></p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!juk5!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5410d0a3-e1a5-4861-a9f8-718b46d1a8da_1600x900.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!juk5!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5410d0a3-e1a5-4861-a9f8-718b46d1a8da_1600x900.jpeg 424w, https://substackcdn.com/image/fetch/$s_!juk5!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5410d0a3-e1a5-4861-a9f8-718b46d1a8da_1600x900.jpeg 848w, https://substackcdn.com/image/fetch/$s_!juk5!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5410d0a3-e1a5-4861-a9f8-718b46d1a8da_1600x900.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!juk5!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5410d0a3-e1a5-4861-a9f8-718b46d1a8da_1600x900.jpeg 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!juk5!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5410d0a3-e1a5-4861-a9f8-718b46d1a8da_1600x900.jpeg" width="1456" height="819" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/5410d0a3-e1a5-4861-a9f8-718b46d1a8da_1600x900.jpeg&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:819,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:347184,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/jpeg&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:true,&quot;internalRedirect&quot;:&quot;https://insider.btcpp.dev/i/201123781?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5410d0a3-e1a5-4861-a9f8-718b46d1a8da_1600x900.jpeg&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!juk5!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5410d0a3-e1a5-4861-a9f8-718b46d1a8da_1600x900.jpeg 424w, https://substackcdn.com/image/fetch/$s_!juk5!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5410d0a3-e1a5-4861-a9f8-718b46d1a8da_1600x900.jpeg 848w, https://substackcdn.com/image/fetch/$s_!juk5!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5410d0a3-e1a5-4861-a9f8-718b46d1a8da_1600x900.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!juk5!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5410d0a3-e1a5-4861-a9f8-718b46d1a8da_1600x900.jpeg 1456w" sizes="100vw" fetchpriority="high"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg aria-hidden="true" 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><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p></p><div><hr></div><h2><strong>Highlights from the bitcoin developer ecosystem</strong></h2><p><em>I spent 10+ hours in open-source developer calls in the Bitcoin ecosystem last week. Here is what caught my eye</em>:</p><ul><li><p><a href="https://github.com/stratum-mining/stratum/releases/tag/v1.10.0">v1.10.0</a> of Stratum V2 protocol libraries and <a href="https://github.com/stratum-mining/sv2-apps/releases/tag/v0.5.0">v0.5.0</a> of Stratum V2 applications have been released.</p><ul><li><p>During the weekly call, on Tuesday 2nd, Stratum V2 contributors announced that the new releases for both the protocol libraries and the applications were ready to be published. The new versions were later released on Wednesday 3rd.</p></li><li><p>v1.10.0 of the core libraries improves share accounting, adding possibility to track rejected mining shares, refines APIs for channel-management, simplifying the public API and improving encapsulation, and fixes some misalignment between the protocol and the specifications.</p></li><li><p>v0.5.0 of the application libraries integrates the changes from the core protocol crate. Moreover, it introduces improvements to the Translator Proxy and the Job Declaration Client.</p></li></ul></li><li><p><a href="https://github.com/ElementsProject/lightning/releases/tag/v26.06">v26.06</a> of Core-lightning, called &#8220;Quantum-Resistant Lightning Channel&#8221; is now available.</p><ul><li><p>During the latest update calls, Core-lightning contributors discussed the features to be included in the new version of the Lightning implementation. The release was finally published on Tuesday 2nd.</p></li><li><p>v26.06 starts deprecation for the <code>pay</code> command in favor of <code>xpay</code> , defaulting to the latter for managing payments, it increases the channel closure wait time to 72 blocks, updating to the latest specs, and introduces an experimental BOLT12 payment proof implementation updated to <a href="https://github.com/lightning/bolts/pull/1295">latest spec draft</a>.</p></li><li><p>The release also fixes some issues. Notably, it fixes a problem with high fees that caused that caused <code>splicein</code> and <code>spliceout</code> to abort, a wallet change output bug for P2TR/P2WPKH, and some issues related to <code>xpay</code> command.</p></li></ul></li></ul><div><hr></div><h2>A BIPs Update</h2><p><em>In the last week there was some movement in the <a href="https://github.com/bitcoin/bips">BIP repository</a>. Specifically, one new BIP has been assigned a number by BIP maintainer <a href="https://github.com/murchandamus">Murchandamus</a>.</em></p><h3>Numbered BIPs</h3><p><em>A list of BIPs that recently got assigned a number</em></p><h4>BIP452: P2P UTXO Set Sharing</h4><p><strong>Authors</strong>: <a href="https://github.com/fjahr">Fabian Jahr</a></p><p><strong>Assigned On</strong>: Jun 4th, 2026</p><p><strong>Layer</strong>: Peer Services</p><p><a href="https://github.com/bitcoin/bips/pull/2137">PR2137</a> introduces BIP452, which introduces the possibility to share the UTXO set over the P2P layer. The proposal defines a way to improve the <a href="https://bitcoinops.org/en/topics/assumeutxo/">assumeUTXO</a> feature by providing a way for new nodes to receive the UTXO set directly from peers, instead of from external sources. In particular, it introduces a new service bit, four new P2P messages, and a UTXO set merkle root known to the requesting node, to verify the correctness of the provided UTXO set.</p><div><hr></div><h2>Other News from the Bitcoin World</h2><ul><li><p><strong>Post-quantum BIP324</strong>: Olaoluwa Osuntokun <a href="https://groups.google.com/g/bitcoindev/c/n_5WuKVYqwI/m/lBooLis3AQAJ">posted</a> to the Bitcoin-Dev mailing list his thoughts on possible upgrades needed to make <a href="https://github.com/bitcoin/bips/blob/master/bip-0324.mediawiki">BIP324</a> quantum secure. BIP324 introduced <a href="https://bitcoinops.org/en/topics/v2-p2p-transport/">transport encryption</a> for the P2P protocol, enabling peers to exchange messages on the network with improved privacy and security. This could be an easier first step to make Bitcoin quantum secure than pushing changes at the consensus level.</p></li><li><p><strong>Quantum researcher</strong>: Bitcoin researcher Conduition <a href="https://x.com/conduition_io/status/2061500773851189412">announced</a> that he had received a grant from Brink, making him the first grantee to be funded for R&amp;D work to bring post-qauntum cryptography to Bitcoin. He will work full-time in collaboration with <a href="https://x.com/blksresearch">Blockstream Research</a> to draft a balanced, efficient, and secure signature upgrade.x</p></li><li><p><strong>What&#8217;s next for Lightning?</strong>: Lightning contributor Vincenzo Palazzo <a href="https://x.com/btcinsider__/status/2061662093502455951?s=20">posted</a> some takeaways on what was discussed during the Lightning Dev Summit in Vienna. Moreover, Nifty <a href="https://github.com/lightning/bolts/issues/1329#issuecomment-4582562440">posted</a> the summit resolutions on GitHub, highlighting the next steps for the Lightning Network.</p></li></ul><div><hr></div><p><em>Looking for an opportunity to join up with some bitcoin devs in person? Join us in <a href="https://btcplusplus.dev/nairobi">Nairobi</a> this June 17- 19 to talk about working in public in open-source!</em></p>]]></content:encoded></item><item><title><![CDATA[Libevent removal next release and BnB rewrite? - This Week in Bitcoin Core #46]]></title><description><![CDATA[Delete Libevent and make coin selection faster...]]></description><link>https://insider.btcpp.dev/p/libevent-removal-next-release-and</link><guid isPermaLink="false">https://insider.btcpp.dev/p/libevent-removal-next-release-and</guid><dc:creator><![CDATA[kevkevin]]></dc:creator><pubDate>Fri, 05 Jun 2026 14:02:39 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!MJw8!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1cee73e5-1dd4-4081-a559-6f40592a5154_1456x816.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>Hello &#128075; folks, I&#8217;m kevkevin. I&#8217;m an open-source developer and reporter for Insider Edition. Last week, I reviewed several pull requests from the <a href="https://github.com/bitcoin/bitcoin/pulls">Bitcoin Core</a> repo.<br><br>This week in Bitcoin Core, there was a discussion in the IRC weekly meeting of attempting to remove the Libevent dependency in favor of our own HTTP and socket-handling implementation in Bitcoin Core. Also, this week, Murch had his PR merged, which rewrote the BnB coin selection algorithm.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!MJw8!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1cee73e5-1dd4-4081-a559-6f40592a5154_1456x816.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!MJw8!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1cee73e5-1dd4-4081-a559-6f40592a5154_1456x816.png 424w, https://substackcdn.com/image/fetch/$s_!MJw8!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1cee73e5-1dd4-4081-a559-6f40592a5154_1456x816.png 848w, https://substackcdn.com/image/fetch/$s_!MJw8!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1cee73e5-1dd4-4081-a559-6f40592a5154_1456x816.png 1272w, https://substackcdn.com/image/fetch/$s_!MJw8!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1cee73e5-1dd4-4081-a559-6f40592a5154_1456x816.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!MJw8!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1cee73e5-1dd4-4081-a559-6f40592a5154_1456x816.png" width="1456" height="816" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/1cee73e5-1dd4-4081-a559-6f40592a5154_1456x816.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:816,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:true,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!MJw8!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1cee73e5-1dd4-4081-a559-6f40592a5154_1456x816.png 424w, https://substackcdn.com/image/fetch/$s_!MJw8!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1cee73e5-1dd4-4081-a559-6f40592a5154_1456x816.png 848w, https://substackcdn.com/image/fetch/$s_!MJw8!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1cee73e5-1dd4-4081-a559-6f40592a5154_1456x816.png 1272w, https://substackcdn.com/image/fetch/$s_!MJw8!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1cee73e5-1dd4-4081-a559-6f40592a5154_1456x816.png 1456w" sizes="100vw" fetchpriority="high"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg aria-hidden="true" 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><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><h4><strong>Merged PR&#8217;s</strong></h4><h5><strong>Every week, several changes are officially added to Bitcoin Core. This week, </strong>multiple <strong>changes were merged. Here are some I found interesting this week.</strong></h5><ul><li><p><strong><a href="https://github.com/bitcoin/bitcoin/pull/33661">test: Add test on skip heights in CBlockIndex</a></strong> by <strong><a href="https://github.com/optout21">optout21</a><br></strong>Optout21 authored and had his PR merged which added additional test coverage for the internal functions GetSkipHeight() and CBlockIndex::BuildSkip(). <br><br>He found that the skip logics and these functions were not well documented, so adding test coverage would firstly add coverage, but also document how they are intended to function. As always, additional test coverage is always welcomed to the coverage as it helps reduce issues in the future.</p></li><li><p><strong><a href="https://github.com/bitcoin/bitcoin/pull/32150">coinselection: Optimize BnB exploration</a></strong> by <strong><a href="https://github.com/murchandamus">murchandamus</a><br></strong>This week, Murch had his PR merged, which rewrote the BnB coin selection algorithm. He created this to skip the duplicate evaluation of previously visited input selections.<br><br>This update is a pure optimization of the algorithm to reduce visiting inputs more than we needed to, and also, as fewer nodes are visited, this approach would enumerate more possible combinations than the original implementation, given the same limit for iterations.</p></li></ul><h5><strong>There are always changes being updated and reviewed in real-time. Here are some notable PR&#8217;s that are still up and looking for reviews.</strong></h5><ul><li><p><strong><a href="https://github.com/bitcoin/bitcoin/pull/25665">refactor: Add util::Result failure types and ability to merge result values</a></strong> by <strong><a href="https://github.com/ryanofsky">ryanofsky</a></strong></p><blockquote><pre><code>Add `util::Result` support for returning more error information and make use of it in [LoadChainstate method](https://github.com/bitcoin/bitcoin/pull/25665/commits/d0d2535cac193a448395fbb1d32df072b2e491a3) as an initial application. Followup PRs [#25722](https://github.com/bitcoin/bitcoin/pull/25722) and [#29700](https://github.com/bitcoin/bitcoin/pull/29700) use it more broadly to return errors and warnings from wallet and kernel functions as well.</code></pre></blockquote></li></ul><div><hr></div><h4><strong>IRC meeting notes</strong></h4><h5><strong>Every week on Thursday, there is an IRC meeting. Here are some short notes from that meeting.</strong></h5><pre><code>stickies-v: #topic Fuzzing WG Update (dergoegge)
dergoegge: no update</code></pre><pre><code><strong>stickies-v</strong>: <strong>#topic Kernel WG Update (sedited)</strong>
<strong>sedited</strong>: <a href="https://github.com/bitcoin/bitcoin/issues/32427">#32427</a> has been getting a bunch of review over the past week and has accrued a few ACKs
<strong>sedited</strong>: For a change that will break backwards compatibility and completely changes one of our persistence layers, I think it requires still more buy-in.
<strong>willcl-ark</strong>: yes would be nice to see more Concept ACK-ers (and others!) review that one
<strong>sedited</strong>: So I&#8217;d like to invite more people to come review it.
<strong>stickies-v</strong>: anything else?
<strong>sedited</strong>: that&#8217;s all</code></pre><pre><code><strong>stickies-v</strong>: <strong>#topic Benchmarking WG Update (l0rinc, andrewtoth)</strong>
<strong>l0rinc_</strong>: I pushed a tiny optimization to <a href="https://github.com/bitcoin-core/secp256k1/pull/1859">https://github.com/bitcoin-core/secp256k1/pull/1859</a> resulting in up to ~12% signature validation speedup by force-inlining int128 mul/sqr helpers.
<strong>l0rinc_</strong>: Reproducers and Windows/MSVC experts are very welcome.
<strong>l0rinc_</strong>: adndrewtoth&#8217;s <a href="https://github.com/bitcoin-core/leveldb-subtree/pull/61">https://github.com/bitcoin-core/leveldb-subtree/pull/61</a> was also merged and cherry-picked to previous releases.
<strong>l0rinc_</strong>: A followup was just pushed to <a href="https://github.com/bitcoin/bitcoin/issues/35465">#35465</a> - it does the compaction at the assumevalid boundary to guarantee uniqueness. It&#8217;s similar to darosior&#8217;s suggestion last week, just easier to implement and explain.
<strong>l0rinc_</strong>: that&#8217;s it from me</code></pre><pre><code><strong>stickies-v</strong>: <strong>#topic QML GUI WG Update (johnny9dev)</strong>
<strong>johnny9dev</strong>: Nothing major to report. Making a lot of progress with 4 actively contributing now
<strong>johnny9dev</strong>: only a few more items to get merged before we want to start getting feedback
<strong>johnny9dev</strong>: <a href="https://github.com/orgs/bitcoin-core/projects/1/views/2">https://github.com/orgs/bitcoin-core/projects/1/views/2</a>
<strong>johnny9dev</strong>: still on track to have unsigned builds before the end of June
<strong>johnny9dev</strong>: that is all for now</code></pre><pre><code><strong>stickies-v</strong>: <strong>#topic Libevent removal (pinheadmz, fjahr)</strong>
<strong>fjahr</strong>: pinheadmz isn&#8217;t here today but full focus is on review of <a href="https://github.com/bitcoin/bitcoin/issues/35182">#35182</a>. IMO it&#8217;s getting very close and it would be great if we can get it in early in the release cycle.
<strong>fjahr</strong>: That&#8217;s it.
<strong>stickies-v</strong>: Anything else to discuss?
<strong>sedited</strong>: Might talk about <a href="https://github.com/bitcoin/bitcoin/issues/35465">#35465</a>?
<strong>darosior</strong>: I don&#8217;t think compacting is particularly important in the first place, so take my nit with a grain of salt, but using assumevalid instead of minchainwork means that people actually validating the historical chain won&#8217;t benefit from the compaction?
<strong>instagibbs</strong>: that was my concern too
<strong>darosior</strong>: From a quick skim through the commits, it seems that this check would never be true for people running with -assumevalid=0 <a href="https://github.com/bitcoin/bitcoin/pull/35465/changes/dbf076273476d121a6d04c8a05dfcc5492e68b98#diff-97c3a52bc5fad452d82670a7fd291800bae20c7bc35bb82686c2c0a4ea7b5b98R3418">https://github.com/bitcoin/bitcoin/pull/35465/changes/dbf076273476d121a6d04c8a05dfcc5492e68b98#diff-97c3a52bc5fad452d82670a7fd291800bae20c7bc35bb82686c2c0a4ea7b5b98R3418</a>
<strong>l0rinc_</strong>: the compaction doesn&#8217;t necessarily result in a measurable speedup - except maybe smaller files, so a few more can fit into the OS memory. But without compaction (especially on HDD) we were about ~15% faster
<strong>sipa</strong>: hi
<strong>l0rinc_</strong>: &#8220;it seems that this check would never be true for people running with -assumevalid=0&#8221; - good point, it&#8217;s why originally this was triggered by getting out of IBD mode. I&#8217;ll find something, thanks for the hint.
<strong>stickies-v</strong>: looks like we&#8217;re done here? thanks for the conversation, folks
<strong>l0rinc_</strong>: I want to avoid on events that can happen multiple times, e.g. when someone starts their node weekly - we don&#8217;t want every one of these resulting in a compaction</code></pre><p>Read here for the <a href="https://achow101.com/ircmeetings/2026/bitcoin-core-dev.2026-06-04_16_00.log.html">full meeting</a></p><div><hr></div><h4><strong>Releases</strong></h4><ul><li><p>No releases this week</p></li></ul><div><hr></div><blockquote><p>Thank you for reading. Be sure to tune in again next week for your updates on Bitcoin Core!</p></blockquote><p><em>If there are any comments, suggestions, or errors, do not hesitate to reach out or comment</em></p><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://insider.btcpp.dev/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe&quot;,&quot;language&quot;:&quot;en&quot;}" data-component-name="SubscribeWidgetToDOM"><div class="subscription-widget show-subscribe"><div class="preamble"><p class="cta-caption">bitcoin++'s Insider Edition is a reader-supported publication. To receive new posts and support my work, consider becoming a free or paid subscriber.</p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div>]]></content:encoded></item><item><title><![CDATA[Economics Edition — Last Week in Bitcoin (May 25 - 31)]]></title><description><![CDATA[Hi Insiders.]]></description><link>https://insider.btcpp.dev/p/economics-edition-last-week-in-bitcoin</link><guid isPermaLink="false">https://insider.btcpp.dev/p/economics-edition-last-week-in-bitcoin</guid><dc:creator><![CDATA[Tuma (I WILL NEVER DM YOU)]]></dc:creator><pubDate>Mon, 01 Jun 2026 14:03:30 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!W0Zk!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc60f852b-bb48-4a7f-aa06-8460ab4aa3e5_1600x900.jpeg" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p><em>Hi Insiders. This is Tuma, open-source reporter from the Insider Edition.</em></p><p><em>In this week update we feature the most interesting things happened during Bitcoin++ Economic Edition in Vienna, where devs met to discuss how economic incentives can shape the future of Bitcoin.</em></p><p><em>We also cover some other interesting news from the Bitcoin ecosystem. Notably, Cashu going on-chain, two vulnerabilities found in Joinmarket-ng, and a new proposal for a novel L2 on top of Bitcoin are discussed.</em></p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!W0Zk!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc60f852b-bb48-4a7f-aa06-8460ab4aa3e5_1600x900.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!W0Zk!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc60f852b-bb48-4a7f-aa06-8460ab4aa3e5_1600x900.jpeg 424w, https://substackcdn.com/image/fetch/$s_!W0Zk!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc60f852b-bb48-4a7f-aa06-8460ab4aa3e5_1600x900.jpeg 848w, https://substackcdn.com/image/fetch/$s_!W0Zk!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc60f852b-bb48-4a7f-aa06-8460ab4aa3e5_1600x900.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!W0Zk!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc60f852b-bb48-4a7f-aa06-8460ab4aa3e5_1600x900.jpeg 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!W0Zk!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc60f852b-bb48-4a7f-aa06-8460ab4aa3e5_1600x900.jpeg" width="1456" height="819" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/c60f852b-bb48-4a7f-aa06-8460ab4aa3e5_1600x900.jpeg&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:819,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:347184,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/jpeg&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:true,&quot;internalRedirect&quot;:&quot;https://insider.btcpp.dev/i/200115328?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc60f852b-bb48-4a7f-aa06-8460ab4aa3e5_1600x900.jpeg&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!W0Zk!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc60f852b-bb48-4a7f-aa06-8460ab4aa3e5_1600x900.jpeg 424w, https://substackcdn.com/image/fetch/$s_!W0Zk!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc60f852b-bb48-4a7f-aa06-8460ab4aa3e5_1600x900.jpeg 848w, https://substackcdn.com/image/fetch/$s_!W0Zk!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc60f852b-bb48-4a7f-aa06-8460ab4aa3e5_1600x900.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!W0Zk!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc60f852b-bb48-4a7f-aa06-8460ab4aa3e5_1600x900.jpeg 1456w" sizes="100vw" fetchpriority="high"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg aria-hidden="true" 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><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><div><hr></div><h2><strong>Highlights from Bitcoin++ &#8212; Economic Edition</strong></h2><p><em>I spent last week at Bitcoin++ Economic Edition in Vienna. Here is what caught my eye</em>:</p><ul><li><p><a href="https://x.com/knutsvanholm">Knut Svanholm</a> invited developers to ask themselves a simple question when proposing a change to Bitcoin: &#8220;Does this make Bitcoin better money?&#8221;</p></li><li><p><a href="https://x.com/matthewvuk2">Matthew Vuk</a> from Second leveraged the Austrian Economics framework to support the thesis that covenants do make Bitcoin better money.</p></li><li><p><a href="https://x.com/renepickhardt">Rene Pickhardt</a> discussed how Ark and Lightning Network are not competing protocols, but are actually highly complementary. Ark could be the protocol to address some of the limitations of Lightning.</p></li><li><p><a href="https://x.com/HubertusVIE">Hubertus</a> from Bitcredit Protocol made the case for creating a credit system based on bills of exchange on top of Bitcoin, to push it from a volatile asset to a stable monetary system. He also briefly discussed their new ecash implementation, which is said to be non-custodial, which will be open-sourced in the next months.</p></li><li><p><a href="https://x.com/TheBlueMatt">Matt Corallo</a> explained which could be the economic incentives in Bitcoin once a Cryptographically Relevant Quantum Computer (CRQC) becomes a reality and the market response to the different proposals on the table.</p></li><li><p><a href="https://x.com/rusty_twit">Rusty Russell</a> discussed his new venture, called <a href="https://github.com/rustyrussell/centurymetadata">Century Metadata</a>, which aims to provide a simple solution to store and serve a small amount of encrypted data for 100 years or more. No, those data will not be stored on the Bitcoin chain.</p></li><li><p><a href="https://jumble.social/users/npub1klkk3vrzme455yh9rl2jshq7rc8dpegj3ndf82c3ks2sk40dxt7qulx3vt">Max Hillebrand</a> gave a talk about &#8220;The Praxeology of Privacy&#8221;, based on his recent effort to bridge the Austrian economics theory and the cypherpunk world.</p></li><li><p><a href="https://x.com/lukedewolf">Luke de Wolf</a> presented an approach to understand Bitcoin as critical infrastructure and outlines a cybersecurity-based framework to defend it.</p></li></ul><p><em>The recorded event will be broadcast starting Thursday, June 4th, at 5pm UTC on <a href="https://www.youtube.com/live/-u4Xk7omoTA">YouTube</a>! Don&#8217;t miss it!</em></p><div><hr></div><h2>A BIPs Update</h2><p><em>There was no newsworthy update in the last days in the <a href="https://github.com/bitcoin/bips">BIP repository</a>. We&#8217;ll provide new updates as soon as a new BIP gets published or gets assigned a number.</em></p><div><hr></div><h2>Other News from the Bitcoin World</h2><ul><li><p><strong>Cashu goes on-chain</strong>: Last week, Cashu contributors merged a new NUT specification, <a href="https://github.com/cashubtc/nuts/blob/main/30.md">NUT-30</a>, which defines how to mint and melt ecash tokens through an on-chain payment. The new spec has been already implemented both in <a href="https://github.com/cashubtc/cdk/pull/1870">CDK</a> and <a href="https://github.com/cashubtc/cashu-ts/pull/633">cashu-ts</a>.</p></li><li><p><strong>New vulnerabilities</strong>: Developer <a href="http://floppy.md">floppy.md</a> <a href="https://x.com/1440000bytes/status/2061068407047675991?s=20">published</a> a new audit report on <a href="https://github.com/joinmarket-ng/joinmarket-ng">Joinmarket-ng</a>, a novel implementation of the JoinMarket CoinJoin protocol. Notably, he reported two vulnerabilities, one linked to failure to verify identity of a bondholder and a potential DOS vector around networking slots for !hp2 messages, which would prevent other nodes from hearing about invalid PoDLEs. Both vulnerabilities were fixed.</p></li><li><p><strong>A new L2?</strong>: Burak <a href="https://medium.com/cube-bitcoin/introducing-cube-8b3702e470a5">presented</a> a new design for an L2 protocol on top of Bitcoin, called Cube. By combining Ark-style unilateral exit and BitVM, Cube aims to provide trustless smart contract execution, ensuring users always keep total control over their funds.</p></li></ul><div><hr></div><p><em>Looking for an opportunity to join up with some bitcoin devs in person? Join us in <a href="https://btcplusplus.dev/nairobi">Nairobi</a> this June 17- 19 to talk about working in public in open-source!</em></p>]]></content:encoded></item></channel></rss>