Networking as a defense mechanism

A high-perlormance networking laver acts as a good delense against some attacks by making itmuch more diffucult expensive to execute for an attacker.

Selfish mining

Attack description. A selfsh miner as described by Eyal et all5l does not broadcast a blockit has mined and continues building on top of it privately until it finds a competing block beingpropagated by honest miners. The scenario is parameterized by two variables - a, the percentageof hash power controlled by the selfish miner and the , the percentage of honest miners that mineon top of the block released by the selfish miner after observing that an honest miner has releaseda block that competes with its withheld block.

Eval et al deduce that for a well connected selfish miner with possibly several sybil non-miningnodes across the world y would nearly equal 1 as it could propagate its withheld block to the otherhonest miners as soon as a node in its sybil-network received a block produced by a honest minerin such a scenario the blockchain system is not incentive compatible even when a is just greaterthan 0. On the other hand, if y is 0, a selfish mining pool requires control over atleast 1/3 of thetotal hashing power in order to carry out an attack where it receives a revenue greater than itsrelative size.

Countermeasure. Currently when there are two branches of the same height, the block that anhonest miner builds on top of is the one it received first. As a result latency and topology playa decisive factor which can be exploited by a well-connected miner with sybils spread across theglobe. While the sybil nodes slow down the already slow gossip propagation of the block producedby honest miners, caching of the block produced by the selfish miner ensures that it can be swiftlydelivered to honest miners across geographies. PerfBloc's low-latency relay helps bring y close to0 by not relying on gossip to broadcast blocks through the network. A low-latency global relayensures that the honest miner's block reaches diflerent geographies belore a sybil node aiding theselfish miner can signal its private network to release the withheld block.

Race attack and Finney attack

Attack description. An attacker can send a transaction to only the merchant while create aconflicting transaction that sends the amount to his own account and send it to the networkIt is more likely that the latter transaction gets included in the next block thus reversing themerchants transaction, This attack only makes sense when the merchant accepts (-conlirmationtransactions. In a Finney attack, the attacker himself constructs a block having the conflictingransaction and propagates it quickly across the network as soon as the merchant accepts itsoriginal transaction.

Vector76 attack. A Vector76 attack is like the Finney attack described above except that themerchant waits for at least one-confirmation. In order to satisfy this requirement, the attacker sendshis privately mined block containing the transaction paying the merchant only to the merchant assoon as he observes a block being propagated that contains it's conflicting transaction (to preventthe merchant from propagating the block containing the legitimate transaction) and quickly triesto retrieve goods of equal value from the merchant based on the 1-confirmation.ike belore. this attack is especially easy when the merchant is not very wel connected, CuotingGavin Andreesen - "If mybitcoin was running bitcoin behind Tor, and had just one connectionthrough a Tor exit node) to the rest of the bitcoin network, then they'd be particularly susceptibleto this 1-confirmation attack."

Countermeasure. The usual precaution to deter such attacks is for the miner to avoid accepting-confirmation transactions or to disable incoming connections, choose specific outgoing connections’ and only connect to well connected nodes. A relay network like PerfBloc is a collection ola large set of well-connected nodes. Civen that most miners use it to receive and send transactions and blocks, a transaction that wishes to make its way to block would be broadcast via the PerfBloc network ensuring that merchants have a high chance of seeing the conflicting transaction Moreover, merchants could forbid direct communication and only accept blocks and transactions coming through the PerfBloc network ensuring that they do not have a different view as compared to the mining community.

Last updated