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

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

Solution

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

### Problem

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

### Solution

We add a ThreadPool to CoinsViewOverlay to fetch block inputs in parallel. The block is passed to the `CoinsViewOverlay` view before entering `ConnectBlock`, which kicks off the worker threads to begin fetching the inputs. The cache returns fetched coins as they become available via the overridden `FetchCoinFromBase` method. If not available yet, the main thread also fetches coins as it waits.</strong></code></pre></blockquote></li></ul><div><hr></div><h4><strong>IRC meeting notes</strong></h4><h5><strong>Every week on Thursday, there is an IRC meeting. Here are some short notes from that meeting.</strong></h5><pre><code>abubakarsadiq: #topic Fuzzing WG Update (dergoegge)
dergoegge: no updates</code></pre><pre><code><strong>abubakarsadiq</strong>: <strong>#topic Kernel WG Update (sedited)</strong>
<strong>dergoegge</strong>: will have some stuff to show at coredev
<strong>sedited</strong>: We&#8217;re migrating rust-bitcoinkernel from a bindings generator to hand rolled bindings. That&#8217;s cutting down on some required dependencies.
<strong>sedited</strong>: Otherwise looking for review for the open PRs on the board <a href="https://github.com/orgs/bitcoin/projects/3/views/1">https://github.com/orgs/bitcoin/projects/3/views/1</a>
<strong>abubakarsadiq</strong>: dergoegge: &#128077; looking forward to it.
<strong>sedited</strong>: That&#8217;s all from me.</code></pre><pre><code><strong>abubakarsadiq</strong>: <strong>#topic Benchmarking WG Update (l0rinc, andrewtoth)</strong>
none</code></pre><pre><code><strong>abubakarsadiq</strong>: <strong>#topic Benchmarking WG Update (l0rinc, andrewtoth_)</strong>
<strong>andrewtoth_</strong>: hi
<strong>sedited</strong>: ^^
<strong>andrewtoth_</strong>: Got some good review from l0rinc on <a href="https://github.com/bitcoin/bitcoin/pull/31132.">https://github.com/bitcoin/bitcoin/pull/31132.</a> More review welcome. That&#8217;s it from me.
<strong>abubakarsadiq</strong>: nice</code></pre><pre><code><strong>abubakarsadiq</strong>: <strong>#topic QML GUI WG Update (johnny9dev)</strong>
<strong>johnny9dev</strong>: We have first PRs by our new contributor pseudoramdom <a href="https://github.com/bitcoin-core/gui-qml/issues/561">bitcoin-core/gui-qml#561</a>, <a href="https://github.com/bitcoin-core/gui-qml/issues/556">bitcoin-core/gui-qml#556</a>, <a href="https://github.com/bitcoin-core/gui-qml/issues/554">bitcoin-core/gui-qml#554</a>
<strong>johnny9dev</strong>: I have PR&#8217;d some improvements to our activity page, the block clock, and PSBT support <a href="https://github.com/bitcoin-core/gui-qml/issues/559">bitcoin-core/gui-qml#559</a>, <a href="https://github.com/bitcoin-core/gui-qml/issues/558">bitcoin-core/gui-qml#558</a>, <a href="https://github.com/bitcoin-core/gui-qml/issues/557">bitcoin-core/gui-qml#557</a>
<strong>johnny9dev</strong>: epicleafies has a PR up now for feature parity receive features <a href="https://github.com/bitcoin-core/gui-qml/issues/553">bitcoin-core/gui-qml#553</a> and is working on other remaining parity features.
<strong>johnny9dev</strong>: I am currently focused on some planning and docs to share at coredev
<strong>abubakarsadiq</strong>: johnny9dev: would it be easier to track this on a board?
<strong>abubakarsadiq</strong>: Something similar to <a href="https://github.com/orgs/bitcoin/projects/3/views/1">https://github.com/orgs/bitcoin/projects/3/views/1</a>
<strong>johnny9dev</strong>: thats an interesting idea. I will consider it.
<strong>johnny9dev</strong>: but that is the kind of thing I am trying to work out right now
<strong>johnny9dev</strong>: as I&#8217;d like to share where we are and where we plan to be at the meeting
<strong>abubakarsadiq</strong>: yeah they are quite a lots of PR&#8217;s so you can just reference the board with the summary of the update, some also use tracking issue for that
<strong>johnny9dev</strong>: ok, thank you
<strong>johnny9dev</strong>: epicleafies: anything to add?</code></pre><pre><code><strong>abubakarsadiq</strong>: <strong>#topic Libevent removal (pinheadmz, fjahr)</strong>
<strong>epicleafies</strong>: Not too much else, but I also created a PR for fixing some issues with Gmock
<strong>pinheadmz</strong>: Lots of progress on <a href="https://github.com/bitcoin/bitcoin/issues/32061">#32061</a> this week. Rebased on master after pre-factor commits were merged. Addressed feedback from vasild, janb84, hodlinator, and b-l-u-e. Claude found some crash bugs and HTTP violations and those have been patched. I also had Claude add functional tests to cover the most common and well-known HTTP vulnerabilities and malformed requests. Libevent actually failed one of those tests but not in a dangerous way. That PR
<strong>pinheadmz</strong>: just passed (windows) ci this morning so I closed it with 400+ comments and opened a fresh one: <a href="https://github.com/bitcoin/bitcoin/issues/35182">#35182</a> The PR is dead! Long live the PR!
<strong>pinheadmz</strong>: Fuzz testing and integration testing are next... especially now that lnd has fixed their ci incompatabilities with v31
<strong>vasild</strong>: hi
<strong>pinheadmz</strong>: nothigng new from fjahr
<strong>pinheadmz</strong>: that it</code></pre><pre><code><strong>abubakarsadiq</strong>: <strong>#topic Net Split WG Update (cfields)</strong>
<strong>yancy</strong>: hi
<strong>abubakarsadiq</strong>: As usual, next week there won&#8217;t be an IRC meeting because of the coredev meeting.
<strong>abubakarsadiq</strong>: Anything else to discuss?</code></pre><div><hr></div><h4><strong>Releases</strong></h4><ul><li><p>No releases this week</p></li></ul><div><hr></div><blockquote><p>Thank you for reading. Be sure to tune in again next week for your updates on Bitcoin Core!</p></blockquote><p><em>If there are any comments, suggestions, or errors, do not hesitate to reach out or comment</em></p><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://insider.btcpp.dev/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe&quot;,&quot;language&quot;:&quot;en&quot;}" data-component-name="SubscribeWidgetToDOM"><div class="subscription-widget show-subscribe"><div class="preamble"><p class="cta-caption">bitcoin++'s Insider Edition is a reader-supported publication. To receive new posts and support my work, consider becoming a free or paid subscriber.</p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div>]]></content:encoded></item><item><title><![CDATA[More Space for Miners — Last Week in Bitcoin (Apr 20 - 26)]]></title><description><![CDATA[Hi Insiders.]]></description><link>https://insider.btcpp.dev/p/more-space-for-miners-last-week-in</link><guid isPermaLink="false">https://insider.btcpp.dev/p/more-space-for-miners-last-week-in</guid><dc:creator><![CDATA[Tuma (I WILL NEVER DM YOU)]]></dc:creator><pubDate>Mon, 27 Apr 2026 14:01:29 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!aUox!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa193521d-e07b-45f0-8f10-439ab9fc7298_1600x900.jpeg" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p><em>Hi Insiders. This is Tuma, open-source reporter from the Insider Edition.</em></p><p><em>This week&#8217;s update features the latest major release, v0.11.1, of Fedimint. This version brings a better UI for gateway management, lower memory usage, and some new experimental features</em></p><p><em>We also cover the latest movements in the BIP repository. Notably, BIP391 has been published, while a new BIP by Matt Corallo, has been assigned number 323.</em></p><p><em>We finally propose some more interesting news, such Jonas Schnelli debunking quantum FUD, an article on hashrate renting, and Numo&#8217;s battle testing at Bitcoin++ Villain Edition.</em></p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!aUox!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa193521d-e07b-45f0-8f10-439ab9fc7298_1600x900.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!aUox!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa193521d-e07b-45f0-8f10-439ab9fc7298_1600x900.jpeg 424w, https://substackcdn.com/image/fetch/$s_!aUox!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa193521d-e07b-45f0-8f10-439ab9fc7298_1600x900.jpeg 848w, https://substackcdn.com/image/fetch/$s_!aUox!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa193521d-e07b-45f0-8f10-439ab9fc7298_1600x900.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!aUox!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa193521d-e07b-45f0-8f10-439ab9fc7298_1600x900.jpeg 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!aUox!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa193521d-e07b-45f0-8f10-439ab9fc7298_1600x900.jpeg" width="1456" height="819" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/a193521d-e07b-45f0-8f10-439ab9fc7298_1600x900.jpeg&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:819,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:347184,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/jpeg&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:true,&quot;internalRedirect&quot;:&quot;https://insider.btcpp.dev/i/195628043?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa193521d-e07b-45f0-8f10-439ab9fc7298_1600x900.jpeg&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!aUox!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa193521d-e07b-45f0-8f10-439ab9fc7298_1600x900.jpeg 424w, https://substackcdn.com/image/fetch/$s_!aUox!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa193521d-e07b-45f0-8f10-439ab9fc7298_1600x900.jpeg 848w, https://substackcdn.com/image/fetch/$s_!aUox!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa193521d-e07b-45f0-8f10-439ab9fc7298_1600x900.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!aUox!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa193521d-e07b-45f0-8f10-439ab9fc7298_1600x900.jpeg 1456w" sizes="100vw" fetchpriority="high"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><div><hr></div><h2><strong>Highlights from the bitcoin developer ecosystem</strong></h2><p><em>I spent 10+ hours in open-source developer calls in the Bitcoin ecosystem last week. Here is what caught my eye</em>:</p><ul><li><p><a href="https://github.com/fedimint/fedimint/releases/tag/v0.11.1">v0.11.1</a> of Fedimint, called &#8220;Mint Condition&#8221; is out, bringing a better UI for gateway management, lower memory usage, and some new experimental features.</p><ul><li><p>During the weekly call, on Monday 20th, Fedimint developers discussed the recent release of v0.11.0 and the need for a patch version due to a panic happening during database migration. The patch version was later released on Tuesday 21st.</p></li><li><p>The new version comes with a better UI for gateway operators, including BOLT12 send and receive, channel management, and payment filtering, it adds better observability through <a href="https://prometheus.io/">Prometheus</a>, it reduces memory usage, and allows users to discover guardians through the decentralized <a href="https://pubky.github.io/pkarr/">Pkarr DNS sysyem</a>.</p></li><li><p>v0.11.x also adds new experimental APIs for the new v2 version of the <a href="https://github.com/fedimint/fedimint/pull/6429">wallet</a> and the <a href="https://github.com/fedimint/fedimint/pull/6734">mint</a>. These modules are disabled by default, and must be explicitly activated during the federation setup. Devs specify that these features are not yet production-ready and their use is still not recommended.</p></li></ul></li></ul><div><hr></div><h2>A BIPs Update</h2><p><em>In the last days there was some movement in the <a href="https://github.com/bitcoin/bips">BIP repository</a>. Specifically, one new BIP has been published and one BIP has been assigned a number by BIP maintainer <a href="https://github.com/murchandamus">Murchandamus</a>.</em></p><h3>Published BIPs</h3><p><em>A list of recently published BIPs</em></p><h4>BIP391: Binary Output Descriptors</h4><p><strong>Authors</strong>: <a href="https://github.com/seedhammer">SeedHammer</a></p><p><strong>Published On</strong>: Apr 23rd 2026</p><p><strong>Layer</strong>: Applications</p><p><a href="https://github.com/bitcoin/bips/blob/master/bip-0391.mediawiki">BIP391</a> proposes a new, efficient container format to encode an output descriptor, with support for key metadata, based on key-value maps as defined by <a href="https://github.com/bitcoin/bips/blob/master/bip-0174.mediawiki">BIP174</a>. The aim is to provide a standard to address the issues of descriptor strings, such as the lack of machine-recognizable header, inability to represent metadata, and inefficient keys encoding. The specified Binary Output Descriptor (BOD) format consists of a fixed header, a key-value map describing the output descriptor, and a key-value map for each key.</p><h2>Numbered BIPs</h2><p><em>A list of BIPs that recently got assigned a number</em></p><h4>BIP323: 24 <code>nVersion</code> bits for general purpose use</h4><p><strong>Authors</strong>: <a href="https://github.com/TheBlueMatt">Matt Corallo</a></p><p><strong>Assigned On</strong>: Apr 22nd, 2026</p><p><strong>Layer</strong>: Applications</p><p><a href="https://github.com/bitcoin/bips/pull/2116">PR2116</a> introduces BIP323, which aims to increase the number of bits reserved for nonce space in the <code>nVersion</code> field of the block header from 16 to 24. This avoids the <code>nTime</code> field to be used as extra nonce space by header-only miners.</p><div><hr></div><h2>Other News from the Bitcoin World</h2><ul><li><p><strong>Breaking Quantum FUD</strong>: Former Bitcoin Core maintainer Jonas Schnelli <a href="https://x.com/_jonasschnelli_/status/2047765986443706547?s=20">debunked</a> the recent news about 15-bit ECC key being broken by a quantum computer.</p></li><li><p><strong>Renting hashrate</strong>: An interesting <a href="https://pablohere.contrapeso.xyz/writings/my-first-petahash.html">article</a> about renting hashrate and pointing it towards <a href="https://ocean.xyz/">Ocean mining pool</a> using their <a href="https://ocean.xyz/docs/datum-setup">Datum gateway</a>.</p></li><li><p><strong>Battle tested</strong>: <a href="https://x.com/NumoPayApp">Numo</a>, the open-source, Cashu-based Point-of-Sale (POS) application, has been battle tested during Bitcoin++ Villain Edition. Open-source designer Erik <a href="https://x.com/uxerik_/status/2048175095026176402?s=20">provides</a> a precise analysis of his findings on how to improve the user experience for merchants.</p></li></ul>]]></content:encoded></item><item><title><![CDATA[Optout21 merges two PRs - This Week in Bitcoin Core #40]]></title><description><![CDATA[This week there was a PR review club after a long time...]]></description><link>https://insider.btcpp.dev/p/optout21-merges-two-prs-this-week</link><guid isPermaLink="false">https://insider.btcpp.dev/p/optout21-merges-two-prs-this-week</guid><dc:creator><![CDATA[kevkevin]]></dc:creator><pubDate>Fri, 24 Apr 2026 14:03:43 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!MJw8!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1cee73e5-1dd4-4081-a559-6f40592a5154_1456x816.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>Hello &#128075; folks, I&#8217;m kevkevin. I&#8217;m an open-source developer and reporter for Insider Edition. Last week, I reviewed several pull requests from the <a href="https://github.com/bitcoin/bitcoin/pulls">Bitcoin Core</a> repo.<br><br>This week, a user named Optout21 had two PR&#8217;s that they authored and merged. Check out the merged PR&#8217;s section to read more!</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!MJw8!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1cee73e5-1dd4-4081-a559-6f40592a5154_1456x816.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!MJw8!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1cee73e5-1dd4-4081-a559-6f40592a5154_1456x816.png 424w, https://substackcdn.com/image/fetch/$s_!MJw8!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1cee73e5-1dd4-4081-a559-6f40592a5154_1456x816.png 848w, https://substackcdn.com/image/fetch/$s_!MJw8!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1cee73e5-1dd4-4081-a559-6f40592a5154_1456x816.png 1272w, https://substackcdn.com/image/fetch/$s_!MJw8!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1cee73e5-1dd4-4081-a559-6f40592a5154_1456x816.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!MJw8!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1cee73e5-1dd4-4081-a559-6f40592a5154_1456x816.png" width="1456" height="816" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/1cee73e5-1dd4-4081-a559-6f40592a5154_1456x816.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:816,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:true,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!MJw8!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1cee73e5-1dd4-4081-a559-6f40592a5154_1456x816.png 424w, https://substackcdn.com/image/fetch/$s_!MJw8!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1cee73e5-1dd4-4081-a559-6f40592a5154_1456x816.png 848w, https://substackcdn.com/image/fetch/$s_!MJw8!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1cee73e5-1dd4-4081-a559-6f40592a5154_1456x816.png 1272w, https://substackcdn.com/image/fetch/$s_!MJw8!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1cee73e5-1dd4-4081-a559-6f40592a5154_1456x816.png 1456w" sizes="100vw" fetchpriority="high"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><h4><strong>Merged PR&#8217;s</strong></h4><h5><strong>Every week, several changes are officially added to Bitcoin Core. This week, </strong>10 <strong>changes were merged. Here are some I thought were interesting from this week.</strong></h5><ul><li><p><a href="https://github.com/bitcoin/bitcoin/pull/34440">refactor: Change CChain methods to use references, add tests</a> by <a href="https://github.com/optout21">optout21</a><br>optout21 refactored the CChain methods, no longer use pointers because of the risk of accidental nullptr dereference. The methods being updated in CChain are Contains(), Next(), and FindFork(). <br><br>This improves the safety of the CChain methods because there will be a lower likelihood of falling into this nullptr dereference error.<br><br>Optout21 concludes that there might be future improvements that make sense.</p><blockquote><p>Further ideas, not considered in this PR:</p><ul><li><p>Change <code>InvalidateBlock()</code> and <code>PreciousBlock()</code> to take references.</p></li><li><p>Change <code>CChain</code> internals to store references instead of pointers</p></li><li><p>Change CChain to always have at least one element (genesis), that way there is always genesis and tip.</p></li><li><p>Check related methods to return reference (guaranteed non-null) -- <code>FindFork</code>, <code>FindEarliestAtLeast</code>, <code>FindForkInGlobalIndex</code>, <code>blockman.AddToBlockIndex</code>, etc.</p></li></ul></blockquote></li><li><p><a href="https://github.com/bitcoin/bitcoin/pull/34863">test: Clean shutdown in Socks5Server</a> by <a href="https://github.com/optout21">optout21</a></p><blockquote><p>The <code>Socks5Server</code> utility handles multiple incoming connections, which are handled in separate background threads. Its <code>stop()</code> method unblocks and waits for the main background thread cleanly, but it doesn't attempt to wait for the completion of handler threads. There is no guarantee that the handler threads are finished after <code>stop()</code> returns, which can lead to IO errors.</p></blockquote><p>This pull request by optout21 adds a clean shutdown to Socks5Server to avoid intermittent CI failures. </p></li><li><p><a href="https://github.com/bitcoin/bitcoin/pull/33477">Rollback for dumptxoutset without invalidating blocks</a> by <a href="https://github.com/fjahr">fjahr</a><br>Fabian Jahr opened this change because of a need to implement dumptxoutset with a rollback. It was also wanted a way to roll back that did not use <code>invalidateblock</code> and <code>reconsiderblock </code>and instead created a temp copy of the coins DB. <br></p><p>There are a few upsides to this approach.</p><ul><li><p>Network activity does not have to be suspended</p></li><li><p>Forks can not interfere with the rollback</p></li></ul></li></ul><p>       But also a few downsides like requiring more disk space, and performance is slower.</p><h5><strong>There are always changes being updated and reviewed in real-time. Here are some notable PR&#8217;s that are still up and looking for reviews.</strong></h5><ul><li><p><a href="https://github.com/bitcoin/bitcoin/pull/31132">validation: fetch block inputs on parallel threads</a> by <a href="https://github.com/andrewtoth">andrewtoth</a></p><blockquote><h5>Problem</h5><p>Currently, when fetching inputs in <code>ConnectBlock</code>, each input is fetched from the cache sequentially. A cache miss requires a round trip to the disk database to fetch the outpoint and insert it into the cache. Since the database is read-only during <code>ConnectBlock</code>, we can fetch all inputs of a block in parallel on multiple threads while connecting.</p><h5>Solution</h5><p>We add a ThreadPool to CoinsViewOverlay to fetch block inputs in parallel. The block is passed to the <code>CoinsViewOverlay</code> view before entering <code>ConnectBlock</code>, which kicks off the worker threads to begin fetching the inputs. The cache returns fetched coins as they become available via the overridden <code>FetchCoinFromBase</code> method. If not available yet, the main thread also fetches coins as it waits.</p></blockquote></li></ul><div><hr></div><h4><strong>IRC meeting notes</strong></h4><h5><strong>Every week on Thursday, there is an IRC meeting. Here are some short notes from that meeting.</strong></h5><pre><code><strong>abubakarsadiq</strong>: <strong>#topic Net Split WG Update (cfields)</strong>
<strong>abubakarsadiq</strong>: I guess no update from cfields, if there is we can come back to the topic
<strong>cfields</strong>: No update this week, been working on my multi_index replacement.</code></pre><pre><code><strong>abubakarsadiq</strong>: <strong>#topic Benchmarking WG Update (l0rinc, andrewtoth)</strong>
<strong>l0rinc</strong>: <a href="https://github.com/bitcoin/bitcoin/issues/35025">#35025</a> was merged, the deserialization benchmarks are more realistic now.
<strong>l0rinc</strong>: The untimed setup of nanobench needed a follow-up to make it more intuitive to use, see <a href="https://github.com/bitcoin/bitcoin/issues/35124">#35124</a>.
<strong>l0rinc</strong>: <a href="https://github.com/bitcoin/bitcoin/issues/34641">#34641</a> was split into tiny, focused commits based on the feedback.
<strong>l0rinc</strong>: Pushed <a href="https://github.com/bitcoin/bitcoin/issues/35128">#35128</a> to speed up `gettxoutsetinfo` - a follow-up is already brewing based on the feedback.
<strong>l0rinc</strong>: That&#8217;s it from me, thanks for the reviews.</code></pre><pre><code><strong>abubakarsadiq</strong>: <strong>#topic QML GUI WG Update (johnny9dev)</strong>
<strong>johnny9dev</strong>: Opened up a PR for new settings pages (<a href="https://github.com/bitcoin-core/gui-qml/issues/551">bitcoin-core/gui-qml#551</a>) This includes Wallet settings that has details, create backup, password add/update, and wallet deletion. Sign message will likely end up here as well. The PR also includes a Mempool settings page that shows transaction amount and memory usage as well as an input field for updating mempool memory amount. I am currently working on a flow for importing PSBT.
<strong>johnny9dev</strong>: We have a new contributor as well, pseudoramdom, who will be starting by implementing our RBF design as his first feature.
<strong>johnny9dev</strong>: With pseudoramdom on RBF, epicleafies working on Receiving and Sign message, and me doing PSBT import I think that just leaves the &#8220;Address Book&#8221; page as the last feature-parity issue needing a first implementation
<strong>johnny9dev</strong>: that is all</code></pre><pre><code><strong>abubakarsadiq</strong>: <strong>#topic Libevent removal (pinheadmz, fjahr)</strong>
<strong>fjahr</strong>: I keep getting good review comments on <a href="https://github.com/bitcoin/bitcoin/issues/34342">#34342</a>, trying to address them as fast as possible but didn&#8217;t get to the comments from yesterday yet :) Waiting for the rebase/re-open to start review on the http server again. That&#8217;s it from me.
<strong>pinheadmz</strong>: Nothing new from me this week
<strong>abubakarsadiq</strong>: I skipped some working groups because the leads aren&#8217;t here. If you have an update please propose the topic
<strong>abubakarsadiq</strong>: Anything else to discuss?</code></pre><div><hr></div><h4><strong>Releases</strong></h4><ul><li><p><a href="https://github.com/bitcoin-core/bitcoin-devwiki/wiki/31.0-Release-Notes-Draft">31.0 Release</a></p></li></ul><div><hr></div><blockquote><p>Thank you for reading. Be sure to tune in again next week for your updates on Bitcoin Core!</p></blockquote><p><em>If there are any comments, suggestions, or errors, do not hesitate to reach out or comment</em></p><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://insider.btcpp.dev/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe&quot;,&quot;language&quot;:&quot;en&quot;}" data-component-name="SubscribeWidgetToDOM"><div class="subscription-widget show-subscribe"><div class="preamble"><p class="cta-caption">bitcoin++'s Insider Edition is a reader-supported publication. To receive new posts and support my work, consider becoming a free or paid subscriber.</p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div>]]></content:encoded></item><item><title><![CDATA[Does bitcoin need more devs?]]></title><description><![CDATA[Stacie (@satsie) of Bitcoin Dev Project weighs in]]></description><link>https://insider.btcpp.dev/p/does-bitcoin-need-more-devs</link><guid isPermaLink="false">https://insider.btcpp.dev/p/does-bitcoin-need-more-devs</guid><dc:creator><![CDATA[~nifty~]]></dc:creator><pubDate>Wed, 22 Apr 2026 19:23:48 GMT</pubDate><enclosure url="https://api.substack.com/feed/podcast/194647963/1d086f096218349a2b7828b71c0e1352.mp3" length="0" type="audio/mpeg"/><content:encoded><![CDATA[<p>Does bitcoin need more devs? @btcinsider__ reporter @niftynei  chats with @satsie, a @Bitcoin_Devs, about getting into bitcoin development at the @MITBitcoinClub Expo this past Sunday, April 12th.</p><p>Stacie tells us about her journey into bitcoin, and what she&#8217;s working on now</p>]]></content:encoded></item><item><title><![CDATA[Time For Releases — Last Week in Bitcoin (Apr 13 - 19)]]></title><description><![CDATA[Hi Insiders.]]></description><link>https://insider.btcpp.dev/p/time-for-releases-last-week-in-bitcoin</link><guid isPermaLink="false">https://insider.btcpp.dev/p/time-for-releases-last-week-in-bitcoin</guid><dc:creator><![CDATA[Tuma (I WILL NEVER DM YOU)]]></dc:creator><pubDate>Mon, 20 Apr 2026 14:01:39 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!3sG1!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fabafb0bc-5a75-4427-a78c-e58fcbe2283e_1600x900.jpeg" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p><em>Hi Insiders. This is Tuma, open-source reporter from the Insider Edition.</em></p><p><em>This week&#8217;s update features the latest major release, v3.0.0, of BDK wallet. This version brings major API changes to the Rust wallet library.</em></p><p><em>We also cover the new release for Core-lightning, v26.04. This version activates splicing by default, improves privacy through message padding, and increases payment reliability.</em></p><p><em>We also discuss PR630 in ldk-node, which adds support for configuring a node as a BIP353 resolver for human-readable names.</em></p><p><em>We finally feature the recent pubilication of BIP361 and some interesting interviews from the MIT Bitcoin Expo.</em></p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!3sG1!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fabafb0bc-5a75-4427-a78c-e58fcbe2283e_1600x900.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!3sG1!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fabafb0bc-5a75-4427-a78c-e58fcbe2283e_1600x900.jpeg 424w, https://substackcdn.com/image/fetch/$s_!3sG1!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fabafb0bc-5a75-4427-a78c-e58fcbe2283e_1600x900.jpeg 848w, https://substackcdn.com/image/fetch/$s_!3sG1!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fabafb0bc-5a75-4427-a78c-e58fcbe2283e_1600x900.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!3sG1!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fabafb0bc-5a75-4427-a78c-e58fcbe2283e_1600x900.jpeg 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!3sG1!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fabafb0bc-5a75-4427-a78c-e58fcbe2283e_1600x900.jpeg" width="1456" height="819" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/abafb0bc-5a75-4427-a78c-e58fcbe2283e_1600x900.jpeg&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:819,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:347184,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/jpeg&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:true,&quot;internalRedirect&quot;:&quot;https://insider.btcpp.dev/i/194777573?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fabafb0bc-5a75-4427-a78c-e58fcbe2283e_1600x900.jpeg&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!3sG1!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fabafb0bc-5a75-4427-a78c-e58fcbe2283e_1600x900.jpeg 424w, https://substackcdn.com/image/fetch/$s_!3sG1!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fabafb0bc-5a75-4427-a78c-e58fcbe2283e_1600x900.jpeg 848w, https://substackcdn.com/image/fetch/$s_!3sG1!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fabafb0bc-5a75-4427-a78c-e58fcbe2283e_1600x900.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!3sG1!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fabafb0bc-5a75-4427-a78c-e58fcbe2283e_1600x900.jpeg 1456w" sizes="100vw" fetchpriority="high"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><div><hr></div><h2><strong>Highlights from the bitcoin developer ecosystem</strong></h2><p><em>I spent 10+ hours in open-source developer calls in the Bitcoin ecosystem last week. Here is what caught my eye</em>:</p><ul><li><p><a href="https://github.com/bitcoindevkit/bdk_wallet/releases/tag/v3.0.0">v3.0.0</a> is the latest major release for BDK Wallet, the descriptor-based wallet library written in Rust.</p><ul><li><p>During the weekly call, on Tuesday 14th, BDK contoributors discussed the latest major release v3.0.0. Developers are now discussing which fof the new features will be included in the UniFFI bindings.</p></li><li><p>Major updates includes persistent UTXO locking, to keep track of those UTXOs that should not be chosen automatically for a transaction, it adds support for importing/exporting the <a href="https://github.com/caravan-bitcoin/caravan">Caravan</a> wallet JSON format, and improves network handling by using the latest features from <a href="https://github.com/rust-bitcoin/rust-bitcoin">rust-bitcoin</a>.</p></li><li><p>Moreover, due to some changes in the SQLite database, developers provided <a href="https://github.com/bitcoindevkit/bdk_wallet/pull/364">utilities</a> to allow projects to upgrade from BDK versions older than v1.0.</p></li></ul></li><li><p><a href="https://github.com/ElementsProject/lightning/releases/tag/v26.04">v26.04</a> of Core-lightning, named &#8220;Negative Routing Fees&#8221; is out.</p><ul><li><p>During the biweekly call, on Monday 13th, CLN developers reviewed the final release requirements for v26.04. The new version was officially published today, Monday 20th.</p></li><li><p>Splicing is now enabled by default, after the recent merge of its specifications, offering simple commands, such as <code>splicein</code> and <code>spliceout</code>, to manage channels without closing them. Moreover, messages are now padded to a uniform length, making it harder for attackers to infer node activity from message sizes.</p></li><li><p>This release also offers improved payment reliability through parallel path-finding, allows users to include fees in the requested amount, effectively making receiver paying them, adds support for payment notes in <code>xpay</code> , and allows to configure specific peer nodes to direct payments through.</p></li></ul></li><li><p><a href="https://github.com/lightningdevkit/ldk-node/pull/630">PR630</a> in ldk-node is adding support for resolving BIP353 human-readable names.</p><ul><li><p>During the biweekly call, on Monday 13th, LDK contributors discussed PR630 which aims to introduce the possibility to configure a node as an <a href="https://github.com/bitcoin/bips/blob/master/bip-0353.mediawiki">BIP353</a> human-readable names resolver.</p></li><li><p>BIP353 proposes a standard format to encode URI schemes in Domain Name Service (DNS) records. Basically, it allows to store Bitcoin payment information into human-readable strings which can be easily verified on hardware wallets.</p></li><li><p>PR630 allows to configure an LDK node to act as a human-readable address resolver for other nodes. The goal of the resolver is to translate the human-readable string into an actual payment instruction.</p></li></ul></li></ul><div><hr></div><h2>A BIPs Update</h2><p><em>In the last days there was some movement in the <a href="https://github.com/bitcoin/bips">BIP repository</a>. Specifically, one new BIP has been published by BIP maintainer <a href="https://github.com/murchandamus">Murchandamus</a>.</em></p><h3>Published BIPs</h3><p><em>A list of recently published BIPs</em></p><h4>BIP361: Post Quantum Migration and Legacy Signature Sunset</h4><p><strong>Authors</strong>: <a href="https://github.com/jlopp">Jameson Lopp</a>, Christian Papathanasiou, Ian Smith, Joe Ross, Steve Vaile, <a href="https://github.com/pldallairedemers">Pierre-Luc Dallaire-Demers</a></p><p><strong>Published On</strong>: Apr 14th, 2026</p><p><strong>Layer</strong>: Consensus (soft fork)</p><p><a href="https://github.com/bitcoin/bips/blob/master/bip-0361.mediawiki">BIP361</a> is a proposed soft fork to implement a post-quantum output type and to provide a multi-phase plan to sunset legacy ECDSA/Schnorr signatures. According to the authors, the goal is to make upgrading to post-quantum outputs a matter of incentives, providing a clear timeline to align the entire ecosystem.</p><div><hr></div><h2>Other News from the Bitcoin World</h2><ul><li><p><strong>Does Bitcoin scale?</strong>: BTC++ Insider reporter Niftynei <a href="https://x.com/btcinsider__/status/2044513592276390095?s=20">chatted</a> with <a href="https://x.com/jonhbit">Jonathan Harvey-Buschel</a>, MIT graduate and <a href="https://x.com/ChaincodeLabs">Chaincode Labs</a> researcher, about his work on the Lightning gossip protocol at the <a href="https://x.com/MITBitcoinClub">MIT Bitcoin Expo</a>. See what he had to say about networking clusters, minisketch considerations, and how he&#8217;s repurposing insights from the Erlay paper to make the Lightning Network scale to the next 100k nodes.</p></li><li><p><strong>Quantum FUD vs Quantum Compute</strong>: Bitcoin++ <a href="https://x.com/btcplusplus/status/2045520486235279737?s=20">announced</a> a one hour formal Oxford debate on the topic &#8220;Quantum FUD is a greater risk to bitcoin than quantum computers&#8221;. The <a href="https://btcpp.dev/conf/vegas">Villain Edition</a> conference will take place at the Hoover Dam this week, Thurs + Fri (Apr 23+24). Alex Pruden from Project Eleven will argue the negative; <a href="https://x.com/reardencode">Brandon Black</a>, the affirmative. David Zell, Director of the Bitcoin Policy Institute to moderate.</p></li></ul>]]></content:encoded></item></channel></rss>