[ANN] High-speed Bitcoin Relay Network



Summary:

The relay nodes in the Bitcoin network verify transactions by piping them through a bitcoind before relaying them. Additionally, bitcoinj does SPV-validation for blocks to reduce timing issues, although it is possible to create a block that passes SPV validation but causes a denial-of-service (DoS) score. However, miners are unlikely to do so because it would cost them an entire block's worth of profits. In case of a problem, addnode can be adapted to allow higher DoS scores for individual nodes.In a discussion between Matt Corallo and Tier Nolan, the former noted that relay nodes perform some data verification to prevent DoS attacks, but they do not fully verify the data they are relaying to maintain fast relay speeds. As a result, miners should never build a block on top of a relayed block without fully validating it with their own bitcoin validator. Nolan raised concerns about disconnects due to misbehavior, as standard nodes receiving invalid blocks/transactions from a relay node would disconnect. He suggested assigning another bit in the services field as "relay" to indicate that the node does not perform any checking. Connects to relay nodes could then be command line/config file only to prevent peers from connecting to them.


Updated on: 2023-05-19T17:43:31.915643+00:00