OpenSats Work-Log 6

AI Summary4 min read

TL;DR

The author completed and launched mainnet-observer, presented peer-observer at Prague dev/hack/day 2025, and documented a Bitcoin Core DoS discovery. They also took time off and worked on various Bitcoin network monitoring projects and maintenance tasks.

Key Takeaways

  • Launched mainnet-observer, an open-source tool for blockchain statistics, with new charts and updates.
  • Presented peer-observer at a conference and published a blog post to monitor Bitcoin P2P network for attacks.
  • Documented a 2023 Bitcoin Core DoS issue and explored ideas like a Bitcoin Network Operations Collective.
  • Added Electrum backend support to fork-observer for better stale block monitoring and network data collection.
  • Engaged in maintenance and community activities, including meetup organization and project contributions.

This is a copy of the 6th work-log I sent to OpenSats for my LTS grant.

Disclaimer: Some information that is not (or not yet) meant to be published may have been redacted.

How did you spend your time?

In May, June, and July of 2025 I finished mainnet-observer up and launched it, gave a talk on my peer-observer project at the Prague dev/hack/day 2025 and published a blog post about it, and more. I also took some time off to touch some grass, recharge, and enjoy summer a bit.

Publications:

mainnet-observer

The mainnet-observer project is an Open-Source rewrite of my 2017 transactionfee.info project (semi-closed source). It shows blockchain statistics interesting for developers and power users and is useful to make data-based decisions for protocol development. Over the course of April and in early May, I finalized an initial version ready for publishing.

In May, this included:

peer-observer

Next to speaking about peer-observer and announcing the project in my blog post (see publications at the top), I also worked on a few things that had been on my list for a while.

  • #173 adds documentation and usage instructions on how to use the peer-observer tools - this helps with new contributors (coming from the talk and blog post) trying the tools
  • Initially, peer-observer was only using the eBPF/USDT interface of Bitcoin Core. The RPC interface can provide useful information too, especially stateful information. To use this data, I implemented an RPC-extractor with initially data from getpeerinfo in #191. More RPCs to implement are tracked in #199. This also caused of followup issues with other ideas to implement linked from the PR. As part of the RPC-exporter I also fixed the getpeerinfo RPC implementation of rust-bitcoin/corepc https://github.com/rust-bitcoin/corepc/pull/310
  • Some general maintenance in #171 and #172
  • Clube Bitcoin Universidade de Brasília has been starting to setup their own peer-observer infrastructure with my help. So I made some small contributions on their infra structure: https://github.com/ClubeBitcoinUnB/peer-observer-docker/pull/2

fork-observer

With “1sat/vbyte summer”, monitoring for stale blocks has become more important again as stale-blocks are an indication for poor network block propagation. By connecting to public electrum servers, we have a much better view into the network by having much more data sources. So I implemented Electrum backend support for fork-observer and set my instance up to connect to a bunch of public electrum servers on mainnet, testnet, testnet4, and signet.

misc

Visit Website