Spiral Work-Log Q3 2023

Monday, October 16, 2023

This is a copy of the Q3 2023 work-log I sent to Spiral for my grant.

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

In Q3, I finished my GitHub repository backup and mirroring project, helped with the fork-observer integration in Warnet, continued my work on the MIT DCI peer-observer setup, attended CoreDev and the BTC Azores unconference, implemented a hidden getrawaddrman RPC in Bitcoin Core, started working addrman-observer, wrote about the invalid Marathon block at height 809478, and worked on a NixOS modules workshop for bitcoin++ in Berlin.

In chronological order:

GitHub Metadata Backup and Mirror

This year, the Bitcoin Core project will have its 13th anniversary being hosted on GitHub. 13 years of issues and pull requests with critical design decisions and nuanced discussions hosted with a US-based company known for shutting down open-source software repositories when needing to follow DMCA and OFAC requests. While the medium-to-long term plan is to move off of GitHub, I’ve written a tool for incremental GitHub metadata backups as a short-to-medium-term alternative. To use and test the backups, I’ve set up a read-only metadata mirror generated from the backups (with github.com/0xb10c/github-metadata-mirror): e.g. https://mirror.b10c.me/bitcoin-bitcoin/.

Warnet + fork-observer

While I consider my fork-observer project to be work-in-progress, I helped the warnet Bitcoin network simulation project in setting up a local fork-observer instance and made sure attaching more than a 100 Bitcoin Core nodes works as intended.

MIT DCI machines for peer-observer

The MIT DCI generously provided me with access to six machines to run my work-in-progress Bitcoin P2P anomaly and attack detection tooling, peer-observer, on. I deployed Bitcoin Core nodes and related software on these machines.

CoreDev and BTC Azores

I flew to Terceira to attend the Bitcoin Core CoreDev meeting and the BTC Azores unconference. At CoreDev, I led a discussion session on (undisclosed) Bitcoin P2P network problems we’ve observed earlier this year. At the unconference, I enjoyed the discourse with the wider Bitcoin developer community.

getrawaddrman RPC + addrman-observer

During Bitcoin Core PR review and discussions at CoreDev, the idea for a getrawaddrman RPC call came up. I added this RPC in PR #28523, which was merged recently.This RPC enables introspection into the Bitcoin Core IP address manager. To visualize the output, I created a work-in-progress tool called addrman-observer. Bitcoin Core developers interested in the addrman provided me with good feedback, the warnet project would like to use it, and I want it for my peer-observer setup.

Marathon Pool invalid block

I wrote down my notes on the Marathon pool invalid block at height 809478 in Invalid MARAPool block 809478. In turn, I received good feedback from people in the mining industry on my fork-observer project.

bitcoin++23 Workshop: Writing a NixOS Module for your_app

For the nix+bitcoin focused edition of bitcoin++, I’ve prepared a 90 minute workshop enabling Bitcoin developers to write NixOS modules for their projects. The workshop can be found here.



My open-source work is currently funded by an OpenSats LTS grant. You can learn more about my funding and how to support my work on my funding page.

Creative Commons License Text and images on this page are licensed under the Creative Commons Attribution-ShareAlike 4.0 International License

Next

Image for Spiral Work-Log Q4 2023

January 31, 2024

Spiral Work-Log Q4 2023

This is a copy of the Q4 2023 work-log I sent to Spiral for my grant.

Previous

Image for Support from MIT DCI for peer-observer

September 1, 2023

Support from MIT DCI for peer-observer

The MIT DCI supported my peer-observer project with six monitoring Bitcoin nodes for 1.5 years.