OpenSats Report 8

AI Summary10 min read

TL;DR

This report details work from November 2025 to January 2026 on Bitcoin network monitoring tools, primarily peer-observer development, with contributions to Bitcoin Core, mainnet-observer, and other libraries. Activities included adding metrics, fixing bugs, improving CI, and participating in research events.

Key Takeaways

  • Extensive development on peer-observer tooling, adding metrics for connections, inv/feefilter messages, and NATS authentication, while improving CI and documentation.
  • Contributions to Bitcoin Core including bug fixes, test additions, and review of tracepoint changes, alongside GUIX signature work for releases.
  • Enhancements to mainnet-observer with new charts for Schnorr/ECDSA signatures, BIP-54 locktimes, and ephemeral dust, plus CI improvements.
  • Work on rust-bitcoin libraries (bip324, corepc) fixing bugs, adding tests, and updating dependencies for monitoring tool compatibility.
  • Participation in Bitcoin community events like Chaincode Labs Research Week and BNOC discussions, sharing insights on network monitoring.

This is a slighly edited copy of the 8th report I sent to OpenSats for my LTS grant. Note that I may have redacted some information that is not or not yet meant to be published.


What did you work on?

In November and December 2025, and January of 2026, I primarily focused on building out peer-observer tooling and infrastructure, but also worked on mainnet-observer, posted to the Bitcoin Network Operations Collective, contributed to Bitcoin Core, helped in the rust-bitcoin corepc and bip324 libraries, and more.

Publications / Podcasts / Talks

BNOC

In the Bitcoin Network Operations Collective discourse forum I posted about:

peer-observer

tooling (peer-observer/peer-observer)

infrastructure library (peer-observer/infra-library)

Bitcoin Core

bitcoin/bitcoin

  • Reviewed the tracepoint changes in bitcoin/bitcoin#33680
  • Posted a bit of data for the cpu_load PR: bitcoin/bitcoin#31672
  • Opened an issue for (too) frequent PCP warnings: bitcoin/bitcoin#34114
  • Fixed a minor log rate-limiting bug of a log message in bitcoin/bitcoin#34008
  • Added a functional test for the IP address self-announcement feature of Bitcoin Core, which previously didn’t have any test coverage, while playing an essential part in nodes on the network being able find others: bitcoin/bitcoin#34039. The test had a bug which caused it to intermittently fail, which only appeared on the CI runners. I fixed this in bitcoin/bitcoin#34204.
  • Made sure that IP address self-announcements are sent in a separate message first: bitcoin/bitcoin#34146

bitcoin-core/guix.sigs

Build and uploaded signed GUIX signatures for the following releases and release candidates:

0xb10c/mainnet-observer

misc

rust-bitcoin/bip324

I plan to use this library in an upcoming project. Playing around with it to test it, fixing some low-hanging bugs, and getting more familiar with it made sense.

  • I noticed a bug where reading on a closed bip324 connection (e.g. the other side went offline), didn’t produce an error. This was a bug in the implementation and I fixed it in: rust-bitcoin/bip324#160. I also added a integration test for coverage of this bug in the async code.
  • I ported that test to the sync code (from async) and added it in rust-bitcoin/bip324#163.
  • I went ahead and picked up an issue to update the bip324 test vectors from the BIP in the bip324 library in rust-bitcoin/bip324#162.

nixos/nixpkgs

  • I updated Bitcoin Core from v30.1 to v30.2 shortly after release NixOS/nixpkgs#478769. Bitcoin Core v30.0 and v30.1 had a wallet bug, so getting the update in quickly was a priority.

0xb10c/nix

Next to keeping my packages up-to-date and maintaining existing packages and modules, I also:

  • added a new package and module for @jamesob’s discourse-archive in 0xB10C/nix#283 to be able to automatically backup delvingbitcoin.org and bnoc.xyz discourse instances.

rust-bitcoin/corepc

I use rust-bitcoin/corepc in some of my monitoring tools, so it makes sense to spent some of my time adding features & tests, reporting bugs, and implementing fixes.

0xb10c/github-metadata-backup

  • #11: Reviewed and tested a contribution that added support for saving incremental progress on failure.
  • #13: Reviewed and tested a contribution that mitigated some backup failures when an issue or PR has not-yet-handled events.
  • #14: Upgraded the octocrab dependency to support not-yet-handled events.

bitcoin-data/block-arrival-times

bitcoin-data/stale-blocks

Visit Website