title: Simulation of different selfish mining strategies in bitcoin : simulation respecting network topology and reference implementation
Creators: name: Mulser, Simon
Publisher: name: TU Wien
Year: 2018
Subjects: subject: Selfish-Mining
subject: Selfish-Mining-Angriff
subject: Bitcoin
subject: Blockchain
subject: Simulation
subject: Simulationsframework
subject: Netzwerklatenz
subject: Referenzimplementierung
subject: Docker
subject: selfish mining
subject: selfish mining attack
subject: Bitcoin
subject: Blockchain
subject: simulation
subject: simulation framework
subject: netzwork latency
subject: reference implementation
subject: Docker

description: Die Cryptocurrency Bitcoin wurde im Jahre 2008 mit dem Erstellen des ersten Blocks, dem Genesis Block, gestartet. Seitdem hat sich die Rechenleistung des Netzwerkes, welches die Blockchain der digitalen Währung absichert, erheblich vervielfacht. Heute erweitern um die zwanzig professionelle Miner laufend die Blockchain, indem sie immer auf den jeweils neuesten, ihnen bekannten Block aufbauen. Die Miner belohnen sich dabei selbst, da sie mit jedem erstellten Block für sich neue Bitcoins schürfen. Im Jahre 2014 zeigte Eyal und Gün Sirer erstmals, dass es neben diesem gewünschtem, ehrlichen Verhalten abweichende Miningmethoden gibt, welche den relativen Ertrag eines Miners gegenüber seiner Kontrahenten erhöht. Dieser sogenannte Selfish-Mining-Angriff und all seine Modifikationen werden in der vorliegenden Diplomarbeit in einem definierten Szenario mit zwanzig Miner untersucht und mit bisherigen Forschungsergebnissen verglichen. Im Gegensatz zu vorangegangen Untersuchungen, wurde hierfür eine neuartiges, deterministisches Simulationsframework basierend auf Docker entwickelt. Dieses Simulationsframework ermöglicht es einerseits die Netzwerklatenz auf natürliche Art und Weise zu berücksichtigen und andererseits die Referenzimplementierung von Bitcoin direkt wiederzuverwenden. Letzteres hat den Vorteil, dass keine zeitaufwendige und fehleranfällige Adaptierung oder Abstraktion der Referenzimplementierung notwendig ist und alle Eigenschaften des implementierten Bitcoinprotokolles automatisch in die Simulation miteinfließen. Um das Simulieren der verschiedenen Selfish-Mining-Strategien zu ermöglichen, wurde weiters ein Proxy implementiert, welcher einen Node im Netzwerk eclipsed und mithilfe dessen verschiedenste Selfish-Mining-Angriff ausführt. Die Simulationen der verschiedenen Selfish-Mining-Strategien zeigen, dass ein dishonest Miner seinen relativen Ertrag gegenüber den Rest des Netzwerkes steigern kann und untermauern somit den momentanen Forschungsstand sowie die Relevanz des Selfish-Mining-Angriffs. Als effizienteste Selfish-Mining-Strategien unter dem verwendeten Simulationsszenario mit zwanzig Miner konnte Selfish-Mining und Equal-Fork-Stubbornness identifiziert werden.
description: The Cryptocurrency Bitcoin was started in 2008 with the creation of the first block, the Genesis Block. Since then, the computing power of the network, which secures the blockchain of the digital currency, has multiplied considerably. Today, around twenty professional mining pools share over 95% of the hash rate, and are constantly extending the blockchain, always building on the latest block known to them. The miners are incentivised to do so, as they create with each found block new Bitcoins for themselves. In 2014, Eyal and Gün Sirer showed for the first time that apart from this desired, honest behaviour, there are deviating mining methods that increase the relative gain of a miner compared to the rest of the network. This so-called selfish mining attack and all its modifications are examined in this thesis in a defined scenario with twenty miners and are compared with previous research results. In contrast to previous investigations, a novel, near-deterministic simulation framework based on Docker was developed for this purpose. This simulation framework makes it possible to naturally include the network latency and to directly reuse the reference implementation of Bitcoin. The latter has the advantage that no time-consuming and error-prone adaptation or abstraction of the reference implementation is necessary and all properties of the implemented Bitcoin protocol are automatically included in the simulation. To simulate the various selfish mining strategies, additionally, a proxy was implemented that eclipsed a node in the network and misuses the node to perform the various selfish mining attacks. The simulations of the various selfish mining strategies show that a dishonest miner can increase its relative gain over the rest of the network, thus reinforcing the current state of research and the relevance of the selfish mining attack. In accordance with previous results, the most efficient selfish mining strategies under the simulation scenario with twenty miners, selfish mining and equal-fork-stubbornness were identified.