Bitcoin Developer on 0xB10C's Blog cover image
B
Bitcoin Developer on 0xB10C's Blog
B10c
RSSenAvailable

Recent content in 0xB10C's Blog: Bitcoin Developer on 0xB10C's Blog

Website
B10c
Followers
0
Following
0
Update interval
2h

Latest posts

Monitoring Bitcoin’s P2P network: Insights from the peer-observer Project

0xB10C's Blog: Bitcoin Developer on b10c's blog

I presented about “Monitoring Bitcoin’s P2P network: Insights from the peer-observer Project” at the Chaincode Labs Bitcoin Research Day 2025. Slides (Google Docs)

peer-observer: A tool and infrastructure for monitoring the Bitcoin P2P network for attacks and anomalies

0xB10C's Blog: Bitcoin Developer on b10c's blog

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 obse

Notes on 'DoS due to inv-to-send sets growing too large' from May 2023

0xB10C's Blog: Bitcoin Developer on b10c's blog

In October 2024, the Bitcoin Core project disclosed a Denial-of-Service due to inv-to-send sets growing too large, which I authored, for Bitcoin Core versions before v25.0. I have a few notes and screenshots from my investigation back then that I want to persist here. In early May 2023, my monitorin

peer-observer: A tool and infrastructure for monitoring the Bitcoin P2P network for attacks and anomalies

0xB10C's Blog: Bitcoin Developer on b10c's blog

I presented about my peer-observer project during the BTC Prague dev/hack/day 2025. Slides (Google Docs)

Bitcoin Mining Centralization in 2025

0xB10C's Blog: Bitcoin Developer on b10c's blog

This post explores Bitcoin Mining Centralization in 2025 by looking at the hashrate share of the current five biggest mining pools. It presents a Mining Centralization Index and updates it with the assumed proxy pooling by AntPool & friends. It shows that Bitcoin mining is highly centralized today,

Invalid mining jobs by AntPool & friends during forks

0xB10C's Blog: Bitcoin Developer on b10c's blog

Looking deeper into @boerst’s recent observation about invalid mining jobs by AntPool & friends to discuss his hypothesis about “selfish mining” and “glitchy template code”. I conclude that it’s probably a bug in AntPool’s coinbase creation code and agree with @boerst’s conclusion that this is anoth

Fifteen OFAC-sanctioned transactions missing from blocks

0xB10C's Blog: Bitcoin Developer on b10c's blog

My miningpool-observer project aims to detect when Bitcoin mining pools are not mining transactions they could have been mining. Over the past few weeks, it detected fifteen missing transactions spending from OFAC-sanctioned addresses. This post examines whether these transactions were filtered inte

Episode 6: Discussing Pre-25.0 Bitcoin Core Vulnerability Disclosures

0xB10C's Blog: Bitcoin Developer on b10c's blog

I joined Gloria and Niklas on the brink.dev podcast to talk about the recently disclosed Bitcoin Core pre-25.0 vulnerabilities. Episode 6: Discussing Pre-25.0 Bitcoin Core Vulnerability Disclosures

Block Template Similarities between Mining Pools

0xB10C's Blog: Bitcoin Developer on b10c's blog

Different mining pools sending out the same or a similar block template to miners is an indicator for proxy pooling. Knowing about proxy pools is important when discussing mining pool centralization. To find similarities between mining pool block templates, I compare the Merkle branches pools sent i

Monitoring Bitcoin P2P network attacks and anomalies with eBPF and USDT tracepoints

0xB10C's Blog: Bitcoin Developer on b10c's blog

I spoke at the eBPF Summit 2024 about how I’m using eBPF and the USDT tracepoints in Bitcoin Core to extract P2P network events to use them for, for example, anomaly detection. Recording (YouTube)

Bitcoin Core Development

0xB10C's Blog: Bitcoin Developer on b10c's blog

At the “Bitcoin Burg Academy” I talked about Bitcoin Core development to an non-technical audience. Often when I talk to non-technical Bitcoiners, they don’t really know much about the Bitcoin Core open-source software project but are very interested to learn more about it. In this talk, I covered t

Mining Pool Game Theory during Forks

0xB10C's Blog: Bitcoin Developer on 0xB10C's Blog

I have recently been looking at mining pool behavior during forks. Which block does a pool choose to mine on during a fork? Do they behave rationally and mine on their own block? In this post, I’ll detail the mining pool game theory during forks and give some recent examples of pool behavior. I’ve a

Mining Pool Behavior during Forks

0xB10C's Blog: Bitcoin Developer on b10c's blog

I have recently been looking at mining pool behavior during forks. Which block does a pool choose to mine on during a fork? Do they behave rationally and mine on their own block? In this post, I’ll detail the mining pool behavior during forks and give some recent examples of pool behavior. I’ve also

Invalid F2Pool blocks 783426 and 784121 (April 2023)

0xB10C's Blog: Bitcoin Developer on b10c's blog

My notes on the two bad-blk-sigops: too many sigops invalid blocks, 783426 and 784121, mined by F2Pool in April 2023. On April 1st, 2023, F2Pool mined an invalid block at height 783426. Bitcoin Core nodes rejected the block with the reason bad-blk-sigops and the note too many sigops. On April 6th, 2

Update on LinkingLion: Reduced activity and a statement by LionLink Networks

0xB10C's Blog: Bitcoin Developer on b10c's blog

This is an update on the LinkingLion entity, presumably linking Bitcoin transactions to IP addresses, I published about a year ago. Yesterday, LionLink Networks AS issued a statement on their non-affiliation with the LinkingLion entity and on the same day, LinkingLion activity significantly dropped.

Vulnerability Disclosure: Wasting ViaBTC's 60 EH/s hashrate by sending a P2P message

0xB10C's Blog: Bitcoin Developer on b10c's blog

In January, while investigating a misbehaving client on the Bitcoin P2P network, I found a vulnerability in ViaBTC’s, the fourth largest Bitcoin mining pool, SPV mining code that allowed a remote attacker to waste ViaBTC’s 60 EH/s hashrate by sending a single, crafted Bitcoin P2P message. I responsi

ViaBTC's mutated blocks without witness data

0xB10C's Blog: Bitcoin Developer on b10c's blog

I noticed multiple ERROR: AcceptBlock: bad-witness-nonce-size errors in the debug log of my Bitcoin Core node. These indicate that a block my node received is invalid and not accepted. It turned out that these are ViaBTC’s blocks, broadcast by their mining pool software, where transaction witness da

An overview of recent non-standard Bitcoin transactions

0xB10C's Blog: Bitcoin Developer on b10c's blog

This blog post provides an overview of non-standard transactions that mining pools included in the last 117000 Bitcoin blocks. Usually, before a Bitcoin transaction is included in the blockchain, it is relayed between nodes on the Bitcoin P2P network and cached in their mempools. To mitigate some tr

CPU usage of Bitcoin Core peers

0xB10C's Blog: Bitcoin Developer on 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

Six OFAC-sanctioned transactions missing

0xB10C's Blog: Bitcoin Developer on b10c's blog

My project, miningpool-observer, aims to detect when Bitcoin mining pools are not mining transactions they could have been mining. Over the past few weeks, it detected six missing transactions spending from OFAC-sanctioned addresses. This post examines whether these transactions were intentionally f

FFM BTC Meetup: New features in Bitcoin Core v26.0

0xB10C's Blog: Bitcoin Developer on b10c's blog

The upcoming Bitcoin Core v26.0 release will include new experimental features like AssumeUTXO and P2P transport v2. At the Frankfurt Bitcoin Meetup (German), I explained the Bitcoin Core development process, that for this release cycle contributors focused their review on specific projects, and whe

Workshop: Writing a NixOS module for YOUR_APP

0xB10C's Blog: Bitcoin Developer on b10c's blog

I held a workshop about “Writing a NixOS module for YOUR_APP”. Workshop Slides (reveal-js) Stream (360p)

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

0xB10C's Blog: Bitcoin Developer on b10c's blog

Instructions for my Writing a NixOS Module for your_app workshop. Slides can be found here. The workshop tries to convey the basics of writing a NixOS module. In the end, participants should be able to write a basic NixOS module including a systemd service for their project, be able to define and de

Invalid MARAPool block 809478

0xB10C's Blog: Bitcoin Developer on b10c's blog

Notes on the invalid Bitcoin mainnet block at height 809478 mined by experimental, in-house MARAPool mining pool software on September 27, 2023. On September 26, 2023, I noticed that a testnet node attached to a fork-observer instance reported frequent invalid blocks. The nodes debug.log showed mu

GitHub Metadata Backup and Mirror

0xB10C's Blog: Bitcoin Developer on 0xB10C's Blog

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