Jul 27, 2023

Quarterly Update Q3 2023

Quarterly Update Q2 2022.

This quarter’s newsletter was delayed by a number of factors, one of which was last seen wandering the streets of New York between July 14–17. Even if you don’t know what we’re talking about, for once, we do. And you will.

🌀 Intro

Last week we welcomed Greg Sanders, the first of three Bitcoin Wizard hires, to Spiral. Greg will work on a variety of problems affecting the bitcoin ecosystem, including package relay/v3 transactions and PTLC design specifications. If you would also like to become a Bitcoin Wizard, head over to this post and apply. If you want to be an actual wizard and can figure out how, we’ll pay good money for your story.

In June, the team met up at Chaincode Labs in New York, where we spent two days planning our quarter before spending three days at Wolf during the Lightning Protocol Developer Summit. See this summary for more on the summit.

In late April, we released a video promoting our grant program that featured current and former Spiral grantees. To date, we’ve issued 70+ grants worth $7,000,000+ to 40 grantees and 10 projects across 20+ countries, making us the number one issuer of FOSS bitcoin grants in the world. And while we like being #1, for the good of bitcoin, we’d love it if someone knocked us off our pedestal.

Finally (as far as this intro is concerned), we got a Nostr account, which we haven’t exactly been active on. You also can blame the thing we mentioned in the first sentence of this post for that.

🌀 LDK

In June, the Lightning Development Kit community formally announced LDK Node, a ready-to-go Lightning node library. This is a win for projects that need little customization and are looking to quickly get started with Lightning. Check out @_tnull’s blog post and spattering of workshop appearances about LDK Node, like this one from Bitcoin++ in April. Then see @ConorOkus and Elias’ appearance on the Bitcoin Developers Channel where they discussed the whats and whys of it.

Mutiny, a self-custodial Lightning wallet that runs on the web, recently launched a beta built with LDK. Theirs is just one of the dozens of applications and services being built with the kit. Learn more about these and other use cases on the project’s official case studies page.

What else? Well, there have been two LDK releases since the last newsletter, 0.0.115 in April and 0.0.116 in July. The latest release includes full (beta) support for Lightning anchor channels. This is a significant milestone, since it appeared on the LDK Roadmap and has been requested repeatedly.

🌀 BDK

The Bitcoin Development Kit formed a foundation to promote the development of and public access to BDK. Spiral grantee alumni @notmandatory ground through countless and monotonous administrative tasks to make this happen. Noted public speaking savant, tall person, and Spiral lead @moneyball is on the board along with @afilini, @RCasatta, @LLFOURN, and @notmandatory.

flips through notepad

The 1.0 alpha is nearly ready. It introduces ChainOracle and related refactoring, making it possible for BDK 1.0-based wallets to directly access blockchain data from sources such as Compact Block Filter clients and the Bitcoin Core RPC interface (coming soon).

In other BDK news, the 0.29.0 BDK language bindings release includes support for Windows on Kotlin/JVM, new Python targets, exposed Wallet.is_mine(), and Script.to_bytes() methods. Bdk-flutter and bdk-rn also recently released new versions.

In much-needed, less-technical news, the team started doing review club meetings on Discord, and @evanlinjin led a two-part series about linked-list data structure improvements to ChainOracle. A new blog post is out on the BDK website that describes the project’s scope and approach to Rust bindings. Additionally, several BDK team members have begun the inevitable and grueling process of transforming themselves into public speakers. @danielabrozzoni spoke at MIT Bitcoin Expo and was featured in an Italian bitcoin developers publication. @afilini spoke at a Coino meetup and taught a workshop at Cubo Plus Bitcoin in El Salvador. Evan Linjin spoke on the Transformation of Value podcast. And @Vlad_kwasi gave an interview with Qala.

🌀 Bitcoin Design Community

The Bitcoin Design Community has had an eventful summer. On May 18, which is technically spring, but whatever, they hosted an event for Global Accessibility Awareness Day. Accessibility is an aspect of inclusive design, ensuring that people of all backgrounds and abilities can use products effectively. @GBKS provided an intro to digital accessibility, tips on how to test it, examples of what to look for, and how to fix accessibility shortcomings.

In June, the BDC stationed themselves at BTC Prague, marking the first time that they were formally involved with a bitcoin conference. During hack day, they dedicated an entire room to design, featuring various presentations, comfy sofas, mood lighting, design duels, and a BDC-exclusive UX card game. There was also a BDC booth at the conference expo. Applause to @GBKS, @MogashniNaidoo, @haasemike, @StephenDeLorme, and @HBerkoe for hosting four days worth of conversations about design within the bitcoin space.

You can tell how busy the BDC team has been by the length of this section. Even after making cuts, we’re still only on the third paragraph. Anyway, the BDC has been busy collaborating on several projects. One group is helping Fedimint work on designs for the Lightning gateway’s UI and information architecture. Another is regularly meeting with the Bitcoin Core App. For more info (yes, there’s more), check out the BDC’s projects page, which was recently refreshed to better illustrate how the community impacts the FOSS bitcoin ecosystem.

Earlier this month, the Wallet Scrutiny redesign went live. This was a huge, cross-disciplinary effort between our team, the Bitcoin Design Community, the Wallet Scrutiny team, and others. We continue to believe that it’s one of the best and most important projects in the space, especially for newcomers and the technically challenged, who represent most people in the bitcoin space, including the person writing this latest, gratuitously long blog post.

We said they were busy! Wallet selector was added to the Bitcoin Design Guide. The wallet selector step in UI flow is often needed when users transfer bitcoin between apps and websites.

FINALLY, the Bolt.Fun AI 4 All hackathon started earlier this month and runs until the end of July. The event isn’t new, but this year’s projects are among the first to merge bitcoin and AI at such a high level and with an eye towards the future.

🌀 New Grants and Renewals

Our grant program is still growing. Know someone with the know-how and ambition to improve bitcoin but without the time and resources to go full-time? Send them our way: grants@spiral.xyz

Here’s who received a grant or had one renewed last quarter.

New grantees:

Renewed grantees:

🌀 Grant Spotlight

The “Libbitcoinkernel” Project

If you think Bitcoin Core is complicated (it is), the consensus rules are even worse (ask anyone). It’s not always clear to developers what belongs to the consensus code, how to handle Bitcoin Core-specific “blessed” behavior, and if things like the mempool are a critical part of the consensus. Spiral grantee @the_charlatan_ is working to simplify this with libbitcoinkernel, a project which isolates Bitcoin Core consensus logic into a separate library.

As a “kernel” library, libbitcoinkernel retains degrees of IO, thread spawning, and internal states. The benefits of this are many, providing developers with less scrutiny-demanding core logic, and making it easier to experiment with changes to the consensus logic since fewer components of the Bitcoin Core code need to be touched. Eventually, alternative bitcoin node implementations might link to libbitcoinkernel to avoid consensus bugs, and language bindings for the libbitcoinkernel could open many use cases for any project requiring access to Bitcoin’s consensus state.

The project just completed its “Step 2” phase. Throughout development, work will shift from pure functionality pruning to interface and API design. Follow the project’s process here.

CoinSwap

The CoinSwap project will improve user privacy by making transaction links undetectable. If a person wanted to send a transaction with privacy, they could use the CoinSwap protocol to match with a market maker to facilitate a transaction that ultimately is received by the intended recipient. This is similar to CoinJoin, which combines multiple bitcoin payments into a single transaction. However applications based on CoinSwap are cheaper to use and provide more privacy than existing equal-output CoinJoin apps. CoinSwaps are not detectable on the blockchain whereas CoinJoins are, which allows CoinSwaps to avoid being tainted.

An array of building blocks are required to create a truly private system using CoinSwap. The software could stand alone as a bitcoin mixing app but also serve as a library for existing wallets to implement.

Spiral grantee @chris_belcher_ spent years working on CoinSwap, but due to unfortunate health complications resulting from long COVID, work on this project has been paused. If CoinSwap sounds like something you’d like to contribute to, contributors are needed. Read more about Chris and what he’s gone through here.

🌀 Conference and Media Appearances

BITCOIN DEVELOPERS YOUTUBE CHANNEL

Flutter Development: Make Your First App with BDK Flutter
Conor Okus and @BitcoinZavior joined forces to create a basic bitcoin wallet on IOS and Android using BDK Flutter.

Getting Started with LDK Node
Elias showed how LDK Node can be used to set up a simple Lightning node with a BDK-based on-chain wallet and blockchain access via Esplora.

PODCASTS

Bitcoin Review Podcast: Lightning Privacy & Splice Panel
@jkczyz joined @realtbast, @dusty_daemon, and @Seardsalmon to talk about lightning privacy and splicing

Bitcoin Review Podcast: Mempool.space, COLDCARD, Ledger Recover, Cashu + More
Steve Lee joined @futurepaul and @stephanlivera to talk about a range of topics.

What Bitcoin Did: The Limitations of Lightning with Matt Corallo
@TheBlueMatt discussed the nexus of ordinals, mining rewards, and decentralization risks.

What Bitcoin Did: From Footballer to Bitcoiner
Conor Okus discussed his journey from footballer to bitcoiner, Real Bedford, his role at Spiral, and the benefits of bitcoin open-source development.

Bitcoin Builders: How Everyone Can Contribute to Bitcoin
In this episode, Steve Lee discusses Spiral’s mission, grant program, work on the Lightning Development Kit, and explains how non-technical people can contribute to bitcoin.

RECENT APPEARANCES

Bitcoin 2023
Matt Corallo debated Ordinals with @pete_rizzo_, @udiWertheimer, @ercwl, and Shinobi Monkey, then spoke about Lightning in a Bottleneck alongside P, Shinobi Monkey, and Junseth. Together they critiqued the Lightning Network and talked about its future.

Conor Okus joined Joe Hall, @alexbosworth, and @hmichellerose to discuss building Lightning apps.

BTC Prague
Conor Okus was a keynote speaker and discussed the Spiral Framework for Sustainable Open-Source Bitcoin Development.

@vallywal spoke on a panel about open-source technology alongside @PavolRusnak, @NicolasDorier and @TheVladCostea.

Thanks for making it through another one of these. See you in three months.

Get our blog delivered to your inbox.