Over the past few years, I’ve been working on monitoring tools for the Bitcoin network. One of these projects is peer-observer: A tool and infrastructure for monitoring the Bitcoin P2P network for attacks and anomalies. This post describes the motivation for starting yet another Bitcoin network observer. It details how the tool works, what my honeypot infrastructure looks like, and finishes with an idea for a decentralized Bitcoin Network Operations Collective and incident response team.| b10c's blog
To help improve partition resistance, a medium-term goal is to increase the number block relay connections a Bitcoin Core node has (see #28462). However, how much resources do block-relay connections use? Surely they are cheaper than full-relay connections? This blog-post focuses on the CPU usage of Bitcoin Core peers.| b10c.me
Instructions for my Writing a NixOS Module for your_app workshop. Slides can be found here.| b10c.me
This is a placeholder for the Summer of Bitcoin mentoring I did. I plan to fill this in, once I get the time to do so.| b10c.me
My experimental bitcoind-observer tool is a Bitcoin Core Prometheus metrics exporter utilizing and demonstrating the newly added tracepoints in Bitcoin Core.| b10c.me
The website transactionfee.info shows Bitcoin protocol layer statistics. This includes statistics about Bitcoin transactions, their in- and outputs, about blocks and Bitcoin scripts. The project is a joint effort with Bitrefill CEO @ziggamon.| b10c.me
Bitcoin Optech created a workshop explaining the Schnorr and Taproot upgrade to engineers. However, users needed to compile a patched version of Bitcoin Core with Taproot support and download and set up the Jupyter notebooks.| b10c.me
The rawtx Golang module helps you (and me) to answer questions about raw Bitcoin transactions, their inputs, outputs, and scripts. I use the rawtx package for example in my Bitcoin Transaction Monitor and transactionfee.info projects.| b10c.me
To fully understand the rationale behind the current state of Bitcoin development, knowledge about historical events is essential. I created an open-source project containing the data for a timeline of historical developments in Bitcoin. Most data points are adopted from a talk John Newbery gave on the History and Philosophy of Bitcoin Development. I’ve used this timeline in my blog post The Incomplete History of Bitcoin Development.| b10c.me
The mempool.observer website displays visualizations about my Bitcoin mempool. For example, a visualization of my current mempool and the historical mempool of my node is shown. The idea is to provide information about the current mempool state to a Bitcoin user with a seemingly stuck and longtime-unconfirmed transaction. Additionally, the site can be used for double-checking feerate estimates before sending a transaction.| b10c.me
A Golang package that can deserialize Bitcoin Core’s mempool.dat files. This is a toy project. I developed this to learn more about Golang and the mempool.dat file format by Bitcoin Core.| b10c.me
A toy plugin for c-lightning to export all payments made with a c-lightning node to a .csv file. I build this a few days after Blockstream released the plugin support in c-lightning v0.7 to showcase how simple it is to build plugins.| b10c.me
Konstantin Nick (@sputn1ck) and I build lnplays.com for the Lighting Hackday in June 2018. You could play Pokémon via the Lightning Network build. Pressing the buttons of the GameBoy to move the player and to interact with the world would generate a lightning invoice. Paying that invoice would send the pressed button to the game-backend and the user could see the action over the live stream. The site not longer up, but parts of it can still be seen on archive.org.| b10c.me
We build transactionfee.info in 2018 to raise awareness about the inefficient use of block space by exchanges, services, and wallets. The project is a joint effort with Bitrefill CEO @ziggamon.| b10c.me
The mempool.observer website displays statistics about my Bitcoin mempool. This covers the 2017 version which I iterated on in 2019.| b10c.me
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-longterm plan is to move off of GitHub, I’ve written a tool for incremental GitHub metadata backups as a short-to-medium-term alternative.| b10c.me
These are the tasks of my “Tracing Bitcoin Core v23.0” workshop for bitcoin++ 2022. They might not make much sense on their own as participants used a pre-setup VPS. The workshop slides can be found here. This branch was used during the workshop.| b10c.me
In November 2021, the Taproot soft-fork activated on the Bitcoin network. I streamed my activation monitoring and helped pools not mining P2TR spends to fix their issues.| b10c.me
I list my contributions to the Bitcoin Core project and detail their context and background. Of course, not all contributions are worth mentioning here.| b10c.me
My miningpool-observer project aims to bring transparency to mining pool transaction selection. The tool can detect missing and extra transactions in blocks. One goal is to detect censorship by mining pools.| b10c.me
Whenever you, an exchange or somebody else sends a Bitcoin transaction, it gets broadcast to all nodes in the Bitcoin network. Each broadcast transaction is represented by a dot on the Bitcoin Transaction Monitor scatterplot. The transactions are arranged by the time of arrival at my Bitcoin node and its feerate (fee per size). The plot reveals activity patterns of wallets, exchanges, and users transacting on the Bitcoin network.| b10c.me