Internal Chain Fork Detector #1925
This inspects the network to detect a chain fork in which different nodes are following different forks for more than a few [*] blocks. If it detects such a chain fork, it alerts the user.
Ideally, I think, it should rely on the Block Observatory and should be inspecting the "catalog of all blocks" produced by that.
[*] 6, because #952
referenced this issue
Dec 5, 2016
Status update: I decided against using the DNS seeder as a starting point, because it didn't implement any block-parsing logic at all, and therefore could not collect the types of information necessary to detect chain forks. Instead, I have forked https://github.com/jgarzik/pynode which implements a basic Bitcoin node and collects blocks from a chosen peer.
I have updated it to work with the latest
Tomorrow, I will finish chasing down the parsing bugs, and work on hacking multi-peer connectivity into
moved this from In Progress
to Nominated for Release
in Monitoring, Metrics, and Analysis
Jul 3, 2017
I propose closing this ticket with a worse-is-better solution (thus unblocking it from the Block Observatory):
I believe we already have all 4 of these implemented. If so we could close the ticket. I'd like a review of all four pieces, first, though. In particular, I believe the alerting system and metrics aggregation are buggy and need improvement (which should be specified in separate tickets).
Ah, I just realized when @zookozcash says "the user" in the description I thought "ZcashCo operations team" but maybe he meant "any user of Zcash". That totally changes things. I propose we bite off the first goal (internal alerting system) as the first milestone, then followup with a public-facing interface (and cloneable open code others can deploy).
So I just renamed this, and will file a new ticket for the public facing service: #2536