Paper - Westfälische Wilhelms-Universität Münster

wi.uni.muenster.de
  • Keine Tags gefunden...

Paper - Westfälische Wilhelms-Universität Münster

Anreize in Mining-PoolsUlrich SchmidtWestfälische Wilhelms-Universität MünsterInstitut für WirtschaftsinformatikLeonardo-Campus 348149 Münsteruli.schmidt@uni-muenster.deABSTRACTMining in der dezentralen digitalen P2P-Währung Bitcoin hat dieFunktion des Bestätigens von Transaktionen, um Betrugsversucheaufzudecken. Mit dem Mining ist ein hoher Rechenaufwandverbunden, um einmal bestätigte Transaktionen nicht wieder alsungültig erklären zu können. Um diesem System einen Anreiz zugeben, gibt es für jeden gefundenen Block, der einzelneTransaktionen bündelt, einen Reward von momentan 25 Bitcoins.Damit werden durch das Mining zeitgleich neue Bitcoinserschaffen. Da es sich für Teilnehmer des Netzwerks kaum nochlohnt, alleine zu minen, haben sich sogenannte Mining-Poolsentwickelt, in denen gemeinsam nach einem gültigen Blockgesucht wird. Wenn dieser Block gefunden ist, muss der Rewardunter den Beteiligten gerecht verteilt werden, je nachdem wie sehrsie an der Findung des passenden Hashes beteiligt waren. DieserProzess ist keineswegs trivial und es gibt zahlreicheVerteilungsmechanismen, die zum Teil anfällig für Missbrauchsind. Das gibt manchen Teilnehmern einen Anreiz, sichopportunistisch zu verhalten, um einen höheren Gewinn zuerzielen. In diesem Paper werden die gängigen Varianten derVerteilung auf die gerechte Verteilung untersucht und es kanngezeigt werden, dass insbesondere eine intuitive Methode nichtsehr sicher gegen solche Angriffe ist. Mit diesen Erkenntnissenkönnen Mining-Pool Betreiber Methoden einsetzen, die für dieTeilnehmer fair sind.KeywordsBitcoin, Mining-Pools, Verteilungsmechanismen, Anreize.Münster Bitcoin Conference (MBC), 17-18 July ‘13, Münster, Germany1. EINLEITUNGDie dezentrale digitale P2P-Währung Bitcoin wurde ins Lebengerufen, um eine neue Alternative zum momentanenBankensystem aufzubauen. Als Motivation lässt sich einerseits dieKostenreduktion durch den Wegfall einer zentralen Einheitausmachen. Zum anderen müssen die Teilnehmer durch eindezentrales System nicht mehr nur einer Institution vertrauen,sondern die Macht wird gleichmäßig über alle Teilnehmer verteilt.Der allgemeine Anreiz, sich bei Bitcoin zu beteiligen, ist demnachsowohl monetär als auch nicht-monetär, da einerseits Kostendurch den Wegfall der zentralen Instanz reduziert werden könntenund andererseits ein alternatives System für das derzeitigeBankensystem geschaffen werden kann.Jeder Bitcoin-Teilnehmer kann seine Bitcoins (BTC) an andereverschicken, dieser Vorgang wird in einer Transaktionfestgehalten. Um Betrug zu vermeiden, müssen dieseTransaktionen auf ihre Richtigkeit überprüft werden. Dadurch,dass sich im Netzwerk keiner gegenseitig vertraut und es keinezentrale Kontrolle gibt, muss jede Überprüfung der Transaktionendezentral geschehen. Dabei wird eine Anzahl an neuenTransaktionen in sogenannten Blocks zusammengefasst, dieanschließend veröffentlicht werden. Um diesen als Miningbekannten Vorgang zu erschweren, muss ein mathematischesProblem in Form einer Suche nach einem passenden Hash gelöstwerden, damit Blöcke nicht leicht wieder manipuliert werdenkönnen. Diese Suche kann je nach verfügbarer Rechenleistung imgesamten Netzwerk variabel angepasst werden. Anreize beimBitcoin-Mining mitzumachen sind hauptsächlich monetär, da esfür die erfolgreiche Suche eines Blocks ein Bonus (auch Reward)von momentan 25 Bitcoins gibt und außerdem dieTransaktionsgebühren einbehalten werden dürfen.In den Anfangszeiten des Bitcoin-Netzwerkes waren noch relativwenige Computer im Netzwerk, sodass die gesamteRechenleistung auch vergleichsweise gering war. Dadurch hatteneinzelne Teilnehmer eine realistische Chance, durch das Mineneinen Block zu finden und damit den Bonus zu verdienen. ImLaufe der Zeit wuchs das Bitcoin-Netzwerk stark an, sodass dieKonkurrenz der Bitcoin-Miner schnell anstieg. Das hat zurKonsequenz, dass das alleinige Minen nur noch dann attraktiv ist,wenn entsprechend rechenintensive Hardware vorhanden ist, daansonsten nur selten ein Block gefunden wird. Als Folge habensich sogenannte Mining-Pools entwickelt, in denen gemeinsamnach einem passenden Hash für einen gültigen Block gesuchtwird. Findet ein Teilnehmer schließlich einen Block, so wird derBonus auf alle Teilnehmer aufgeteilt. Diese Aufteilung kann einAnreiz für sich opportunistisch verhaltende Teilnehmer sein, das


System auszutricksen, um sich gegenüber den anderen ehrlichenTeilnehmern einen Vorteil zu verschaffen.In dieser Arbeit werden zunächst in Kapitel 2 die Grundlagen desBitcoin-Minings erläutert, um anschließend zu klären, ob einopportunistisches Verhalten in Mining-Pools ein Anreiz darstellenkann. Dazu werden in Kapitel 3 die gängigenVerteilungsmechanismen vorgestellt und auf ihre gerechteVerteilung überprüft. Des Weiteren werden der Erfolg von denMining-Pools im Zeitverlauf sowie die Popularität von denverschiedenen Verteilungsmechanismen dargestellt.2. GRUNDLAGEN MININGBevor untersucht werden kann, wie gerecht die verschiedenenMining-Pools ihren Reward für einen gefundenen Block an ihrebeteiligten Nutzer verteilen, werden im Folgenden die Grundlagendes Minings und der Mining-Pools näher erläutert.2.1 Bitcoin-MiningZiel des Bitcoin-Minings ist es, die Transaktionen zwischen denBenutzern auf ihre Richtigkeit zu überprüfen und Betrug zuerkennen. Dabei soll das sogenannte Double-Spending verhindertwerden, indem geprüft wird, ob derselbe Bitcoin nur einmalausgegeben wurde (Bitcoin Wiki 2013c). Als Faustregel hat sichetabliert, dass eine Transaktion erst dann als gültig angesehenwird, wenn sie von mindestens sechs weiteren Blöcken bestätigtwird (Bitcoin Wiki 2013b).Die überprüften Transaktionen werden gebündelt in einen Blockgeschrieben und anschließend in der sogenannten Block-Chainmiteinander so verbunden, sodass die Transaktionshistorie darausabgelesen werden kann. Dazu verweist ein neuer Block immer aufgenau einen vorherigen Block (Bitcoin Wiki 2012a).Um den Nutzern des Bitcoin-Netzwerkes einen Anreiz zu geben,Blöcke zu generieren und damit Transaktionen zu verifizieren,sind zwei Möglichkeiten vorgesehen, die zeitgleich stattfinden. Inder Anfangsphase, in der sich Bitcoin zurzeit noch befindet, gibtes für jeden gefundenen Block einen Reward von ursprünglich 50BTC (momentan 25 BTC), dieser wird alle 210000 Blöckehalbiert. Das erfolgt in etwa alle 4 Jahre, da im Protokollfestgelegt ist, dass im Mittel alle 10 Minuten ein Block gefundenwerden soll. Diese Phase dauert so lange, bis sich durch dieHalbierung der Bonus praktisch null annähert. Die andereMöglichkeit, Bitcoins durch das Mining zu erhalten, besteht darin,an eine Transaktion eine Gebühr anzuhängen, die derjenigeeinbehalten darf, der den Block gefunden hat (Bitcoin Wiki2013c; Nakamoto 2009, S. 4).Um zu erreichen, dass im Mittel nur alle 10 Minuten ein Blockgefunden wird, muss von den Minern ein kryptografischesProblem gelöst werden, das sich in seiner Schwierigkeit (sog.Difficulty) anpassen lässt. Wenn beispielsweise vielRechenleistung im Netz verfügbar ist, wird ein Block schnellergefunden, sodass die Difficulty nach oben gesetzt wird(Nakamoto 2009, S. 3).Als mathematisches Problem wird eine Hashberechnungdurchgeführt, die die Eigenschaft besitzt, dass sie schwierig zuberechnen, aber leicht zu überprüfen ist. Dadurch kann eingefundener Block sehr schnell von den anderen Teilnehmernverifiziert werden. Konkret besteht das Problem darin, einenSHA-256 Hash zu finden, der das sogenannte Target nichtüberschreitet. Das Target ist eine Zahl, die abhängig von dermomentanen Difficulty bestimmt wird (Nakamoto 2009, S.3).Mit steigender Difficulty kann das Mining und damit dieerfolgreiche Suche nach dem passenden Hash mit einemherkömmlichen PC mehrere Jahre in Anspruch nehmen. Diedurchschnittliche Anzahl an gefundenen Blocks in einer gewissenZeitspanne kann mit Hilfe folgender Formel berechnet werden(Rosenfeld 2011a, S. 1):ht Anzahl Blocks 322 DDabei ist h die Hashrate, t die Zeit und D die aktuelle Difficulty.322 stellt die Anzahl der Veränderungsmöglichkeiten der Noncedar, da sie aus einem 32Bit Integer besteht. Die Nonce ist eineinmalig generierter zufälliger Wert, der im Header jeden Blockszu finden ist(Bitcoin Wiki 2012c).Bei der momentanen Difficulty von 12.153.411,71 (Stand:29.05.2013) und einer mittleren Hashrate von 100 MillionenHashes pro Sekunde (Bitcoin Wiki 2013d) wird beim alleinigenMinen ca. alle 16,55 Jahre ein Block gefunden:100 [ ] t1 [Block] t 16,55 [Jahre]MHashs322 12153411,71Da durch das alleinige Minen viel Zeit bis zur ersten Auszahlungvergehen wird, gibt es die Möglichkeit, sich mit anderen Minernin sogenannten Mining-Pools zusammenzuschließen, worauf imFolgenden näher eingegangen wird.2.2 Mining-PoolsMining-Pools finden im Unterschied zum alleinigen Mining durchdie größere Rechenkapazität aller Teilnehmer zusammenwesentlich häufiger einen Block und bekommen deshalb auchöfter den Bonus von momentan 25 BTC als alleinige Miner. Fürden einzelnen Teilnehmer am Mining-Pool bedeutet das einestetigere Ausschüttung von Bitcoins (Bitcoin Wiki 2013e). Imlangfristigen Mittel ist allerdings die erwartete Auszahlung beiTeilnahme eines Mining-Pools genau gleich groß wie beimalleinigen Mining (Gebühren ausgenommen). Ein Vorteil für denPool-Teilnehmer besteht darin, dass sich die Streuung derAuszahlungen deutlich reduziert, sodass die Gewinne bessergeplant werden können (Rosenfeld 2011a, S. 2). Nachteiligwirken sich die erhobenen Gebühren zur Teilnahme an einemMining-Pool aus.Ein Mining-Pool wird auf einem Server betrieben, jeder derteilnehmen möchte, muss sich gegebenenfalls einmaligregistrieren und kann sich dann am Server mit seinen Login-Datenanmelden. Es gibt auch komplett anonyme Zugänge, die lediglichdie Bitcoin-Adresse als Login verlangen, z. B. der Mining-Pool50BTC (https://50btc.com).Jeder Teilnehmer bekommt vom Server das aktuelle Problemmitgeteilt und es wird versucht, einen passenden Hash zu finden.Das aktuelle Problem ist schematisch in Abbildung 1 dargestellt.Es besteht darin, für den Block einen passenden Hash zu finden,der eine bestimmte Grenze (sogenanntes Target) nichtüberschreitet. Das Target ergibt sich aus der aktuellen Difficulty.(1)(2)


Anteil an der gesamten HashrateDer Block an sich besteht aus dem Hash des vorherigen Blocksund den Transaktionen, die in diesem Block überprüft wurden (Xund Y in Abbildung 1). Lediglich die Nonce ist noch nicht vomPool-Betreiber vorgegeben, sondern dieser wird von denTeilnehmern gesucht. Bei jeder Änderung der Nonce ändert sichauch der Hashwert, bis irgendwann ein passender Hash gefundenwurde. Dadurch dass der Pool-Betreiber das Problem bis auf dieNonce vorgibt, ist es für einen potenziellen Angreifer nichtmöglich, sich den Reward selbst zuzuschreiben, da dieser bereitsin den eingebauten Transaktionen vorhanden ist. Der Mining-PoolBetreiber würde einen solchen Betrugsversuch deshalb entdecken,da sich das Problem geändert hat.00..00ABC..HashBlockNonceHash des vorherigenBlocksX: A BY: B CAbbildung 1. Schematische Darstellung der HashsucheDer Miner löst allerdings nicht direkt das Problem, sondern reichtals Lösung dem Server sogenannte Shares ein. Dieser beinhalteteinen Hash, der einen Block gefunden hätte, wenn die Difficultydeutlich kleiner als die momentan festgelegte gewesen wäre. DieDifficulty wird also künstlich nach unten gesetzt.Die durchschnittliche Anzahl an gefundenen Shares in einergewissen Zeitspanne kann der bereits bekannten Formel berechnetwerden. Ein Share ist üblicherweise so definiert, als wäre es einBlock mit der Difficulty Eins (Rosenfeld 2011a, S. 1):ht Anzahl Shares 322 DBei einer Hashrate von 100 Millionen Hashes pro wird somit ca.alle 43 Sekunden ein Share gefunden:[ ][ ]⇔ [ ]Der Server wertet alle eingehenden Shares aus, bis einer zu demwirklichen Problem mit der aktuellen Difficulty passt. Dann giltder Block als gefunden und unter den mitwirkenden Teilnehmerwird anteilig der eingereichten Shares der aktuelle Rewardabzüglich eventueller Gebühren verteilt. Diese Aufteilung istkeineswegs trivial, da sie möglichst fair ablaufen soll (Rosenfeld2011a, S. 3). Dazu dienen verschiedene Ansätze, die im Kapitel 3detailliert besprochen und auf eine gerechte Verteilung untersuchtwerden.2.3 Bekannte Mining-PoolsIn diesem Kapitel sollen die momentan bedeutendsten Mining-Pools dargestellt werden, um einen Überblick darüber zubekommen, welche Auswahl an Pools es gibt und wie sich dieseim Laufe der Zeit entwickelt haben.Dabei wird die Bedeutung eines Mining-Pools anhand derHashrate bestimmt, das heißt wie viele Hashes der Pool proSekunde berechnen kann. Die Hashrate wird in Bezug mit derHashrate des gesamten Bitcoin-Netzwerkes gesetzt, um dierelative Bedeutung der einzelnen Mining-Pools herauszufinden.(3)60%50%40%30%20%10%0%16.01.2013 16.02.2013 16.03.2013 16.04.2013 16.05.2013 16.06.2013DatumBTC Guild50BTCslushBitminterozcoinDeepbitEclipseAbbildung 2. Übersicht über den Anteil der beliebtesten Mining-Pools am Gesamtnetzwerk


Die Daten der Hashrate stammen von der Internetseitebitcoinchain.com, die den Verlauf der sieben erfolgreichstenMining-Pools seit Anfang 2013 auf Tagesbasis zusammenstellt.Da diese Seite nur die absoluten Hashraten angibt, werden diesemit den Daten über die Gesamthashrate der Internetseiteblockchain.info zusammengesetzt und in relative Werteumgewandelt, um die Aussagekraft der Daten zu erhöhen. Füreinige Tage lagen die Daten in einzelnen Pools nicht vor, sodassin diesem Fall die Hashraten aus der vorherigen undnachfolgenden Hashrate linear interpoliert wurden. Des Weiterenfehlen die Werte der Tage vom 07. und 08. Juni, die nichtveröffentlicht wurden. Die grafisch aufbereiteten Werte derrelativen Hashrate der einzelnen Pools sind in Abbildung 2dargestellt.Auffällig ist, dass Anfang 2013 die Größe der Mining-Poolsgemessen an der anteiligen Rechenkapazität relativ ausgeglichenwar, wohingegen eine deutliche Steigerung des Mining-PoolsBTC Guild zu erkennen ist. Am Ende des Zeitraumes (Juni 2013)gleicht sich die Anteile wieder langsam an. Im betrachtetenZeitraum hat der Mining-Pool BTC Guild mehrmals die Markevon 50 % erreicht hat. Diese absolute Mehrheit kann für dasNetzwerk eine Bedrohung darstellen, welche im Folgenden näherbetrachtet wird.Da das gesamte Bitcoin-Netzwerk auf Dezentralität aufbaut undsomit einzelne Teilnehmer mit viel Rechenleistung dieses Prinzipzunichtemachen könnten, stellt ein Mining-Pool mit über 50 %der gesamten Rechenleistung nach Bitcoin Wiki (Bitcoin Wiki2013f) potenziell eine Gefahr dar. Der Pool kann theoretischeinzelne Transaktionen vor dem Einbau in die Blockchainverhindern. Das geschieht dadurch, dass der Angreifer mit mehrals 50% der Rechenleistung steuern kann, welche Transaktionenin einen Block aufgenommen werden, da er selbst dieTransaktionen in den Block einbaut. Andere Miner, die andereTransaktionen in den Block eingebaut haben, werden durch diegrößere Rechenleistung verdrängt, da der Angreifer immer dielängere Hauptkette in der Blockchain erzeugen kann. Als Folgekönnen Transaktionen nicht bestätigt werden und andere Minerkönnen davon abgehalten werden, gültige Blöcke zu finden, daalle Blöcke vom Angreifer gefunden werden.Mit einer Rechenleistung von über 50 % kann der Angreifer nachBitcoin Wiki (Bitcoin Wiki 2013f) allerdings nicht das Netzwerkfür seine eigene Bereicherung nutzen, indem er zum Beispiel allevergangenen Transaktionen zu sich umschreibt oder den Rewardfür einen neu gefundenen Block erhöht. Für die Manipulation derTransaktionen müsste der Angreifer zusätzlich alle privatenSchlüssel der Nutzer kennen, um die Transaktion signieren zukönnen. Darüber hinaus bedeutet eine Erhöhung des Rewards eineProtokolländerung, was nur durch absolute Mehrheit desgesamten Netzwerkes beschlossen werden kann. AbsoluteMehrheit bedeutet in diesem Fall, dass mindestens die Hälfte allerBitcoin-Teilnehmer und nicht nur die Hälfte der Rechenleistungdiesem Vorschlag zustimmen muss. Diese eingeschränkte Machtsoll potenzielle Angreifer abschrecken, dass sie den Versuchunternehmen, einen solchen Angriff überhaupt zu starten.Die Pools 50BTC und slush haben ihren Anteil im Wesentlichenhalten können, auch wenn es an einigen Tagen eine Schwankungvon mehreren Prozentpunkte gab. An diesen Tagen sind aberhaben sich die anderen Pools im gleichen Maße verändert, sodassvon einer allgemeinen Fluktuation ausgegangen werden kann.Bitminter und ozcoin konnte im Mai 2013 seinen Anteil in etwaverdoppeln, haben allerdings seit Juni wieder nachgelassen undsind nun noch unter dem Niveau von Anfang des Jahres. DieKurse schwankten zum Teil stark. Die Pools Deepbit und eclipsehaben sich in dem Zeitraum nahezu nicht verändert, sondern sindein paar Prozentpunkte zurückgegangen auf jeweils unter 5 %.Um die Mining-Pools noch aus einer anderen Perspektivevergleichen zu können, werden die Gebühren für die Teilnahme ineinem Mining-Pool miteinander verglichen. Typischerweise wirdeine Gebühr verlangt, die einem bestimmten Prozentsatz vommomentanen Reward entspricht. Die folgende Tabelle 1 zeigt fürdie momentan (Stand: 11.05.2013) beliebtesten Mining-Pools dieaktuellen Gebühren, die anhand der angegebenen Internetseitenbestimmt wurden.Tabelle 1. Teilnahmegebühren bei ausgewählten Mining-PoolsPoolname Internetadresse Gebühr50BTC https://50btc.com/ 3 % (PPS)Bitminter http://bitminter.com/ 1 % (PPLNS)BTCGuildDeepbitEclipseozcoinhttps://www.btcguild.com/https://deepbit.net/https://eclipsemc.comhttps://www.ozcoin.net/3 % (PPLNS),7,5 % (PPS)3 % (Prop.),10 % (PPS)0 % (DGM),5 % (PPS)1 % (DGM),3 % (PPS)slush http://mining.bitcoin.cz/ 2 % (Score)Neben den Gebühren ist jeweils die Art der Verteilungsart desRewards angegeben. Bei denjenigen Pools, die mehrereVerteilungsmechanismen anbieten, stehen alle Gebührenuntereinander mit der dazugehörigen Verteilmethode.Die unterschiedlichen Gebühren von 0% bis 10% lassen sich zumTeil durch die unterschiedliche Verteilungsmechanismen erklären,die sich auf das Risiko des Pools auswirken. Dazu werden imfolgenden Kapitel die verschiedenen Methoden miteinanderverglichen und jeweils auf ihre gerechte Verteilung untersucht.3. VERTEILUNGSMECHANISMENEs gibt zahlreiche Verteilungsmechanismen, nach denen einMining-Pool den erhaltenen Bonus unter seinen Teilnehmernverteilen kann. Neben einfachen Verfahren, die zum Teil anfälligfür Betrug sind, wurden Verfahren entwickelt, die möglichstgerecht den Beitrag zur Findung des Blocks von jedem einzelnenTeilnehmer widerspiegeln sollen. Im Folgenden werden dieseVerteilungsverfahren vorgestellt und jeweils darauf geprüft, ob esfür einzelne Teilnehmer einen Anreiz geben kann, sich unfair zuverhalten, um einen höheren Gewinn zu erzielen. Zuvor wird nochgeklärt, was unter einer fairen Verteilung für Miner und Betreiberzu verstehen ist.


3.1 Faire VerteilungEine faire Verteilung zeichnet sich dadurch aus, dass sowohl dieMiner als auch der Betreiber des Pools einen Vorteil durch dasgemeinsame Minen erzielen. Auf der Seite der Betreiber heißtdas, dass die erhobenen Gebühren nur so hoch sein sollten, dasssie die laufenden Kosten des Poolbetriebs (Server, Wartung,Kontaktmöglichkeiten) decken und nicht ausschließlich den Profitdes Betreibers maximieren.Für die Miner bedeutet eine faire Verteilung, dass sich niemanddurch opportunistisches Verhalten einen Vorteil gegenüberanderen ehrlichen Minern verschaffen kann. Des Weiteren sindder Zeitpunkt des Minens und die Dauer der Teilnahme im Mittelnicht ausschlaggebend für die Auszahlung des Rewards. DerErwartungswert der Auszahlung ist somit immer gleich.3.2 Einfache Mechanismen3.2.1 Proportionale VerteilungEine einfache und intuitive Variante der Verteilung ist nachRosenfeld (Rosenfeld 2011a, S. 4) die sogenannte ProportionaleVerteilung. Dabei wird nach jedem gefundenen Block vomMining-Pool ausgezählt, wie viele Shares insgesamt eingereichtwurden. Der Reward wird dann gemessen an den eingereichtenShares an die Teilnehmer verteilt. Wenn beispielsweise ein Nutzerin einer Runde (Zeit zwischen zwei gefundenen Blöcken einesMining-Pools)Shares eingereicht hat und alleeingereichten Shares sich aufbelaufen, erhält derNutzer des momentanen Rewards abzüglichder vom Mining-Pool einbehaltenen Gebühr.Für eine feste Anzahl an Minern und eine feste Hashrate dereinzelnen Teilnehmer ist bei dieser Verteilungsart die Auszahlungeines Miners proportional zu seiner Hashrate. Sobald Miner nichtdie ganze Runde lang nach passenden Hashes suchen, sondernnach einer gewissen Zeit aufhören und alleine oder für einenanderen Pool weitersuchen, ist diese Proportionalität nicht mehrgegeben. Das Phänomen des Aufhörens oder Wechselns währendeiner Runde wird als Poolhopping bezeichnet, womit sicheinzelne Teilnehmer einen Vorteil verschaffen können. Daskommt dadurch zustande, dass sie eine überproportionaleAuszahlung auf Kosten der anderen Teilnehmer bekommen, diedie ganze Runde lang für denselben Pool minen (Rosenfeld2011a, S. 4). Dies wird im Folgenden näher erläutert.Das Poolhopping ist nur deshalb für einen Teilnehmer attraktiv,da sich im Mittel durch das Wechseln eines Pools sein erwarteterGewinn nicht schmälert, sondern exakt gleich bleibt (Raulo 2011,S. 2). Das Grundprinzip besteht darin, dass ein beigesteuerterShare in einer kurzen Runde mehr wert ist als in einer langenRunde, da der relative Anteil eines Shares größer ist und damitauch die Auszahlung. Das Ziel eines Poolhoppers besteht alsodarin, in einer kurzen Runde Shares beizutragen, in einer langenRunde sich einen anderen Pool zu suchen oder alleine zu minen(Rosenfeld 2011a, S. 4-5).Um zu bestimmen, wann die beste Ausstiegszeit in Abhängigkeitder bereits beigesteuerten Shares ist, wird die erwarteteAuszahlung für einen Share ausgewertet. Die nachfolgendenRechnungen sind aus dem Paper von Rosenfeld (2011)entnommen und wurden mit eigenen Anmerkungen nähererläutert.Die Wahrscheinlichkeit für die Gesamtanzahl N an Shares in einerRunde folgt einer geometrischen Verteilung mit Parameter p, dasie als Wiederholung eines unabhängigen Bernoulli-Experiments(Hash wird gefunden vs. Hash wird nicht gefunden) mitgleichbleibender Wahrscheinlichkeit interpretiert werden kann. Esgilt:P( N) p(1 p) N 1 (4)Wenn bereits I Shares eingereicht wurden, ist sicher, dasssodass die Anzahl an Wiederholungen des Bernoulli-Experimentsum I reduziert werden kann. Mathematisch ausgedrückt bedeutetdas für die Wahrscheinlichkeit: 0 für N 0P( N | N I)NI1 p(1 p) für N 0Der Reward für einen Share ist der Anteil der selbst eingereichtenShares im Vergleich zu allen eingereichten Shares, er beträgt. Demnach ist die erwartete Auszahlung für den Share dieSumme aller Rewards jeweils multipliziert mit derWahrscheinlichkeit diesen Reward mit diesem Share zu erhalten:NI1NI1p(1 p)B(5)E( w | N I) (6)NDiese Formel kann mit Hilfe der Integralexponentialfunktion E 1angenähert werden: exp( xt)E1( x) dt(7) 1tUm die Summenformel mit Hilfe von E 1 annähern zu können,werden die Variablen , definiert, die die Anzahlder beigesteuerten Shares und die Gesamtanzahl der Sharesbezogen auf die Difficulty ausdrücken:yxp p(1 p)BE( w | y x) dy exp( x) E1( x) pB (8)xyDie Teilfunktion ( ) ( ) ( ) kann als ein Faktor zurGewichtung von der erwarteten Auszahlung interpretiertwerden, der monoton fällt. Das bedeutet, dass je früher in einerRunde ein Share beigesteuert wird, desto höher ist seine erwarteteAuszahlung.Beim Wert von ca. 43,5 % liegt der Gewichtungsfaktor bei 1, wasbedeutet, dass ein beigesteuerter Share zu diesem Zeitpunkt exaktso viel wert ist wie er auch beisteuert, der Verdienst ist in diesemFall fair.Für einen Miner, der abwägt, ob sich die weitere Teilnahme nochlohnt, bedeuten die 43,5 %, dass er bis zu diesem Zeitpunkt ineinem Pool minen kann, um überproportional viel Anteil an denShares zu erhalten. Danach kann er entweder zu einem Poolwechseln, dessen Anzahl an Shares diese Grenze noch nichtüberschritten hat oder er wechselt auf das alleinige Minen.Als Gegenmaßnahme kann es der Mining-Pool Betreiber demPoolhopper schwerer machen, festzustellen, wann die Grenze von43,5 % erreicht ist. Dazu können die Statistiken, die angeben,wann der letzte Block gefunden wurde und damit wie lange dieaktuelle Runde bereits dauert, sowie die aktuelle Hashrate um einpaar Stunden verzögert aktualisiert werden, um den Angreiferkeine Echtzeitdaten zu liefern. Dieser Ansatz behebt allerdingsnicht das zugrundeliegende Problem, weswegen die proportionale


Verteilung in heutigen Mining-Pools fast nicht mehr zurAnwendung kommt (vgl. Kapitel 3.4 Beliebtheit der Methoden).Diese Verteilungsmethode kann nicht als fair angesehen werden,da sie opportunistisches Verhalten zulässt und somit ehrlicheMiner benachteiligen kann. Der Mining-Pool-Betreiber hatdagegen keine Einschränkung, da dieses Verhalten sich nicht aufdie Gesamtauszahlung und die einbehaltenen Gebühren auswirkt.3.2.2 Pay-Per-Share (PPS)Ein anderer relativ einfacher Verteilungsmechanismus ist dassogenannte Pay-Per-Share-Verfahren. Dabei erhält jederTeilnehmer unabhängig ob und wann ein Block gefunden wird,für jeden eingereichten Share eine bestimmte Auszahlung. Diesesetzt sich aus dem erwarteten Gewinn abzüglich einer vomMining-Pool einbehaltenen Gebühr zusammen (Rosenfeld 2011a,S. 6).Dieses Verfahren hat für den Miner einige Vorteile, die für denMining-Pool Betreiber ein höheres Risiko bedeuten, weswegen esals Nachteil für die Miner bei Mining-Pools mit PPS einezusätzliche Gebühr gibt.Teilnehmer des Pools können ihre erwartete Auszahlung rechtgenau bestimmen, da sie anhand ihrer Hashrate abschätzenkönnen, wie viele Shares sie finden werden. Da diesdeterministisch ist, ist die Streuung der Auszahlung für denTeilnehmer nahezu null, sodass Miner gut planen können. DesWeiteren ist die Gefahr der Unterbezahlung aufgrund von anderenMining-Pool Teilnehmern durch Poolhopping nicht gegeben, daes bei diesem Verfahren nicht möglich ist. Das liegt daran, dassein frühes Wechseln des Pools bevor ein Block gefunden wird,keine Auswirkungen auf den erwarteten Gewinn hat, da nur proeingereichten Share bezahlt wird (Rosenfeld 2011a, S. 6).Für den Betreiber des Mining-Pools besteht ein Risiko, in langenRunden mehr Geld an die Teilnehmer auszuzahlen, als es demmomentanen Reward für einen gefundenen Block entspricht. Indiesem Fall macht der Betreiber einen Verlust, den er in kurzenRunden wieder ausgleichen kann, wenn die Auszahlungen an dieTeilnehmer geringer als der erhaltene Reward sind (Rosenfeld2011a, S. 6).Um den Betrieb eines Mining-Pools mit dem Pay-Per-Share-Verfahren lukrativ und mit möglichst wenig Risiko auf beidenSeiten zu gewährleisten, behält der Betreiber üblicherweise einezusätzliche Pay-Per-Share-Gebühr ein, die das Risiko abfedernsoll. Diese ist bereits neben der normalen Mining-Pool Gebühr inder Auszahlung pro eingereichten Share beinhaltet (Rosenfeld2011a, S. 6).Der nachfolgende Boxplot in Abbildung 3 zeigt die Gebühren fürdas PPS-Verfahren für einige Mining-Pools. Dafür wurden dieDaten von insgesamt elf Mining-Pools ausgewertet, die dasMining nach dem PPS-Verfahren anbieten. Daraus ist zuerkennen, dass im Mittel (als Mittelwert dient der Median) eineGebühr von 5 % erhoben wird und nur ein geringer Teil nachoben und unten abweicht.Abbildung 3. Boxplot der PPS-Gebühren in Mining-PoolsFür einen Miner bietet ein Mining-Pool, der nach PPS auszahlt,keinen Anreiz, sich opportunistisch zu verhalten, da es keineMöglichkeit gibt, sich einen Vorteil durch das Poolhopping zuverschaffen. Die erwarteten Auszahlungen sind ebenfalls gleich,allerdings sind die Gebühren zum Teil hoch. Das kommt daher,dass der Mining-Pool-Betreiber allein das Risiko trägt, wenn mehrausgezahlt werden muss als durch den Reward und dieTransaktionsgebühren eingenommen wurde. Die Methode istdemnach hauptsächlich für den Miner fair.3.3 Fortgeschrittene MethodenAus den bereits vorgestellten Varianten der Verteilung wurden imLaufe der Zeit neue, fortgeschrittene Methoden entwickelt. Zumeinen um das Problem des unfairen Minings mittels Poolhoppingzu unterbinden, zum anderen entstandenVerteilungsmechanismen, mit denen es möglich ist, die Streuungder Auszahlungen für die Miner und den Mining-Pool Betreibervariabel anzupassen.Im Folgenden werden die wichtigsten dieser neuen Methodenvorgestellt. Dabei wurden die am häufigsten verwendetenMethoden (vgl. 3.4 Beliebtheit der Methoden) näher betrachtet.Daneben gibt es noch spezielle Methoden, die eine der erläutertenVarianten leicht abwandeln, meistens mit dem Ziel, eineSchwäche einer vorherigen Methode zu verbessern. Diese werdenallerdings kaum noch eingesetzt, sodass sie nicht näherbesprochen werden, da sie kaum praktische Relevanz haben.3.3.1 Slushs Score MethodeUm das Poolhopping zu verhindern und damit die Verteilunggerechter zu gestalten, hat der Mining-Pool slush eine Methodeentwickelt, die das Poolhopping nicht mehr attraktiv machen soll.In dieser Methode wird für jeden eingereichten Share nicht wiebei der proportionalen Verteilung die Anzahl der eingereichtenShares um eins erhöht, sondern es wird für jeden Share einsogenannter Score errechnet. Beim Fund des passenden Hashes,womit der Block gefunden wird, bestimmt die Summe allerScores von einem Miner dessen Anteil der Auszahlung (Rosenfeld2011a, S. 7).Die Scores werden so bestimmt, dass am Anfang der Rundeeingereichte Shares weniger wert sind als neuere Shares, wasPoolhopper davon abhalten soll, zwischen Pools zu wechseln, daihre eingereichten Shares beim Verlassen des Pools an Wertverlieren. Das hat zur Folge, dass das Poolhopping nicht mehrsehr attraktiv ist (slush 2011). Theoretisch wäre es für einenMiner attraktiver, sich nur am Ende einer Runde zu beteiligen, daer dann eine erhöhte Auszahlung erhält, allerdings ist imVorhinein nicht bekannt, wann die Runde endet, da jeder


eigesteuerte Share die gleiche Wahrscheinlichkeit hat, diepassende Lösung für das Problem zu sein.Um den Score mathematisch zu berechnen, wird dieExponentialfunktion eingesetzt. Sie wächst monoton, sodass siefür diesen Einsatz gut genutzt werden kann. Der gesamte Scorefür einen Miner wird durch diese Formel bestimmt (slush 2011):RundenzeitScore exp C Dabei gibt die Rundenzeit die Anzahl der Sekunden seit dem Startder aktuellen Runde an, die Konstante C legt fest, wie schnell derScore wachsen soll. Wenn C klein ist, haben die früheingereichten Shares eine sehr geringe bis vernachlässigbareAuswirkung auf die Auszahlung, da die Funktion bei steigenderRundenzeit schnell wächst und die spät eingereichten Sharessomit ein deutlich größeres Gewicht besitzen (Rosenfeld 2011a, S.7). Aktuell ist der Mining-Pool von slush auf eingestellt(slush 2011).Für Miner, die nur eine geringe Hashrate haben oder sich nurgelegentlich am Mining beteiligen, verändert sich die erwarteteAuszahlung durch das scorebasierte Verfahren nicht (slush 2011).Wenn nur relativ wenig Shares von einem Miner eingereichtwerden, dann kann es passieren, dass diese am Anfang der Rundeeingereicht werden, was zu einer geringeren Auszahlung führt. Esist allerdings unwahrscheinlich, dass dies immer passiert, dennlangfristig wird sich der Zeitpunkt, in dem ein Share eingereichtwurde, gleichmäßig zwischen Start und Ende der Runde verteilen,sodass die Auszahlung im Mittel gleich ist. Gleiches gilt auch fürMiner, die sich nicht den ganzen Tag lang beteiligen, sondern nurgewisse Zeitabschnitte. Es kann passieren, dass der Miner mittenin einer Runde aufhört, sodass die zuletzt eingereichten Sharesverhältnismäßig wenig Ertrag bringen. Da auch das Stoppen desMinens sich langfristig auf eine Runde gleichmäßig verteilenwird, können diese Nachteile ausgeglichen werden, sodass diemittlere Auszahlung gleich bleibt (slush 2011).In der praktischen Implementierung kann die Formel zurBerechnung des Scores nicht direkt übernommen werden, dadurch das exponentielle Wachstum der Score schnell an dieGrenzen von üblichen Datentypen stößt, weil die Werte sehr großwerden können. Um dieses Problem zu beseitigen, werden imMining-Pool slush jede Stunde die Scorewerte normalisiert, indemalle momentanen Scores durch einen bestimmten Wert dividiertwerden. Das hat keinen Einfluss auf die Auszahlung, da alleScores durch den gleichen Wert geteilt werden und somit allewieder relativ gesehen auf demselben Stand sind (slush 2011).Die vorgestellte Methode hat nach Rosenfeld (Rosenfeld 2011a,S. 7-8) einen Nachteil. Am Anfang einer Runde gibt es nurwenige Shares, die eingereicht werden. Wenn in dieser Zeit einerichtige Lösung gefunden wird, wird der Gewinn in Höhe desmomentanen Rewards abzüglich der fixen Gebühr auf relativwenige Nutzer aufgeteilt. Der erwartete Gewinn ist demnachhöher als in langen Runden, sodass es für Miner attraktiver ist, nurin dieser Zeit zu minen. Dieser Effekt kann zwar nicht sehreffektiv vom Miner ausgenutzt werden, da er vor jeder Rundewissen müsste, wie lange sie dauert, sodass das Problem in derPraxis eine untergeordnete Rolle spielt. Um dieses ehertheoretische Problem zu beseitigen, wurde u. a. die geometrischeMethode entwickelt.Für die Beurteilung der fairen Verteilung kann deshalb gesagtwerden, dass diese Methode insgesamt für den Miner und den(9)Betreiber fair ist, da die Möglichkeit, sich opportunistisch zuverhalten, begrenzt sind und es unwahrscheinlich ist, dass dieLänge der Runden richtig geschätzt wird.3.3.2 Geometrische MethodeDie geometrische Verteilung knüpft an der Idee von slushsscorebasierter Methode an und verbessert dessen Schwäche, dasses attraktiver ist, sich nur am Anfang jeder kurzen Runde zubeteiligen. Dazu gibt es neben der üblichen fixen Gebühr einezusätzliche variable Gebühr, die einen Score für den Mining-Pool-Betreiber darstellt, der genauso schnell abfällt, wie der Score derPool-Teilnehmer ansteigt. In kürzeren Runden ist diese variableGebühr demnach hoch, da die Anzahl an eingereichten Sharesklein ist. In langen Runden sinkt die Gebühr nahezu auf null ab.Mit diesem Prinzip ist der erwartete Gewinn eines Shares immergleich, unabhängig davon, ob der Share am Anfang oder Endeeiner Runde eingereicht wurde (Rosenfeld 2011a, S. 8). Auch beidieser Methode ist es prinzipiell gewinnbringender für einenMiner, sich ausschließlich in kurzen Runden zu beteiligen,allerdings ist hier ebenfalls nicht bekannt, wann eine Runde endet,sodass dieses Problem vernachlässigt werden kann.Um die geometrische Methode durchzuführen, werden folgendefünf Schritte durchgeführt (Rosenfeld 2011a, S. 8-9, 2011c):1. Festlegung von Parametern f für die fixe Gebühr undParameter c für die durchschnittliche variable Gebühr.2. Zu Rundenbeginn wird der momentane Scorewert fürden nächsten eingereichten Share initialisiert: .Für jeden Pool-Teilnehmer k wird der Scoreinitialisiert: .3. Der Steigungsfaktor r für den Score gibt an, wie schnellder Score bei jedem eingereichtem Share wachsen soll.Er berechnet sich aus, wobei p dieWahrscheinlichkeit angibt, dass ein Share die Lösungfür einen Block darstellt, deshalb gilt: , wobei Ddie aktuelle Difficulty ist. Wenn sich die Difficultywährend einer Runde ändert, wird entsprechend r neuberechnet.4. Wenn ein Pool-Teilnehmer einen Share einreicht, wirdsein Score um den momentanen Scorewert smultipliziert mit der erwarteten Auszahlung ( , vgl.3.2.1 Proportionale Verteilung) erhöht:S S s p B(10)kAnschließend wird der Scorewert s angepasst und umden Faktor r multipliziert: .5. Wenn ein Share den Block löst, ist die Runde zu Ende.Anschließend wird jedem Teilnehmer folgender Gewinnausgezahlt:(1 f )( r 1) S kspk(11)Der ausgezahlte Gewinn kann etwas umgeschrieben werden,damit deutlich wird, wie er sich zusammensetzt. Dafür wirdangenommen, dass die Difficulty fest ist, was keine großeEinschränkung ist, da sie nur alle 2016 Blocks neu festgelegt wird(Bitcoin Wiki 2012b). Der Reward B wird ebenfalls als konstantangenommen. Wenn N die Anzahl an insgesamt eingereichtenShares in einer Runde ist lässt sich der momentane Scorewert als


schreiben. Dann kann die Auszahlung der Mining-Pool-Teilnehmer umgeschrieben werden:(1 f )( r 1)SkSspNiSrki1kNr pBr1(1 f ) Bp B(1 f)B(12)Anhand der letzten Umformung kann man sehen, dass der Rewardabzüglich der einbehaltenen fixen Gebühr auf die Teilnehmerverteilt wird, abhängig davon, wie groß der jeweilige Score ist.Dabei kann die Summe so aufgespalten werden, dass sie zumeinen die variable Gebühr des Mining-Pool Betreibers darstelltund zum anderen den Anteil der Teilnehmer. Der Anteil vomBetreiber beträgt (∑ ) , der Anteil der Teilnehmerbeträgt entsprechend (∑ ) . Das bedeutet, dass beiRundenstart dem Mining-Pool Betreiber unendlich viele Shareszugeschrieben werden, die im Laufe der Zeit an Bedeutungverlieren. Bei jeder Auszahlung für einen Teilnehmer wird derAnteil des Betreibers mit einberechnet, sodass je nachRundenlänge mehr oder weniger von der variablen Gebühr zuzahlen ist. Wenn die Runde kurz dauert, ist der Score nochrelativ klein, sodass der Anteil des Mining-Pool Betreibers nochstark ins Gewicht fällt. Bei längeren Runden wird durch dasexponentielle Wachstum des Scores dafür gesorgt, dass dievariable Gebühr sehr gering wird, da der Anteil des Betreiberskaum noch eine Rolle spielt (Rosenfeld 2011a, S. 9).In der praktischen Umsetzung dieses Verfahrens muss ebenfallswie bei der Methode von slush darauf geachtet werden, dass dieScores beim Speichern nicht den Wertebereich des Datentypsüberschreiten. Dazu schlägt Rosenfeld (Rosenfeld 2011a, S. 10)vor, entweder wie bei slush in gewissen Zeitabständen die Scoreszu normalisieren oder alternativ eine logarithmische Skala zuverwenden. Dabei wird jeweils der logarithmierte Wert desmomentanen Scorewertes sowie den Score für jeden Teilnehmergespeichert, sodass die Wertebereiche nicht mehr überschrittenwerden sollten. Zusätzlich müssen noch die Berechnungen dereinzelnen Werte auf die logarithmische Skala angepasst werden.Dieses Verfahren ist ohne Einschränkung fair, da einerseits derBetreiber gegenüber zu hohen Auszahlungen durch die variableGebühr gesichert ist. Andererseits gibt es für den Miner keinenAnreiz, sich opportunistisch zu verhalten.3.3.3 Pay-per-last-N-Shares (PPLNS)Beim Verteilungsmechanismus Pay-per-last-N-Shares (PPLNS)wird der Reward nicht wie bei den vorherigen Verfahren unterden Teilnehmern des Mining-Pools aus der aktuellen Rundeverteilt, sondern der Gewinn wird unabhängig von den Runden andie Miner der zuletzt beigesteuerten Shares verteilt. Dadurch wirdes für unfaire Miner nicht mehr lukrativ, nur am Anfang derRunde zu minen, da die Verteilung des Rewards unabhängig vonbegonnenen Runden funktioniert. Die Methode PPLNS kann trotzEinschränkungen nach Rosenfeld (Rosenfeld 2011a, S. 10) alsfairer Verteilungsmechanismus angesehen werden.Die Schwierigkeit bei diesem Verfahren ist es, eine passendeAnzahl an Shares zu bestimmen, die in der Auszahlungberücksichtigt werden. Eine verbreitete Methode ist es, eine festeAnzahl an Shares festzulegen und bei einem gefundenen Blockden Reward abzüglich einer fixen Gebühr gleichmäßig unter allenShares aufzuteilen.Bei dieser einfachen Variante von PPLNS kann ein Angreifer sichzunutze machen, dass es profitabler ist, wenn ein Abfall derDifficulty bevorsteht und nachteilig, wenn die Difficulty steigenwird. Das kommt daher, dass die erwartete Auszahlung beiPPLNS von der zukünftigen Difficulty abhängt, wohingegen dieBeteiligung und der Einsatz des Miners von der momentanenDifficulty bestimmt werden. Ein Angreifer kann somit theoretischeinen gewissen Vorteil erlangen (Rosenfeld 2011d).Eine naheliegende Verbesserung kann die Anzahl an relevantenShares sein, die das Vielfache der momentanen Difficulty ist.Hierbei kommt es nach Rosenfeld (Rosenfeld 2011d) allerdingszu ähnlichen Problemen. Wenn beispielsweise die Anzahl derShares gleich der Difficulty gesetzt wird, ist es lukrativer,unmittelbar vor einem Anstieg der Difficulty zu minen und Sharesbeizutragen. Der Grund liegt darin, dass sich durch die Erhöhungdie Anzahl an für die Auszahlung relevanten Shares erhöht unddamit der kurz vor Erhöhung der Difficulty eingereichte Sharedoppelt ausgezahlt wird. Der erwartete Gewinn für einen Share,der kurz vor einem Anstieg eingereicht wurde, ist somit höher alsein Share, der später eingereicht wurde. Das gleiche gilt für einenShare, der eingereicht wurde, bevor die Difficulty gesenkt wird,nur dass dann die erwartete Auszahlung kleiner ist.Um die PPLNS-Methode sicher gegen Hopping-Angriffe zumachen, ist es nötig, zu jedem eingereichten Share die aktuelleDifficulty zu speichern, um diesen Angriff auszuschließen(Rosenfeld 2011a, S. 11-12). In der konkreten Umsetzung diesesVerfahrens sind allerdings noch weitere Schritte notwendig, diean dieser Stelle nicht weiter erläutert werden, da sie für dasgrundlegende Verständnis nicht weiter relevant sind.Eine etwas abgewandelte Alternative zu PPLNS ist dassogenannte Pay-per-last-N-Shifts-Verfahren, was in der Praxishäufig Anwendung findet, da es für den Mining-Pool Betreiberressourcenärmer ist, da nicht so viel gespeichert und verarbeitetwerden muss wie beim klassischen Auszahlen per Share. Beidieser Variante der Shifts wird anders als bei der Auszahlung nachShares eine bestimmte Anzahl an Shares zu sogenannten Shiftszusammengefasst, wobei jeweils eine bestimmte Anzahl anvergangenen Shifts ausbezahlt wird. Der Mining-Pool BTC Guilddefiniert ein Shift beispielsweise als 25 Millionen Shares undzahlt die letzten 10 Shifts aus.Für einen potenziellen Angreifer bietet weder das klassischePPLNS noch die abgewandelte Variante mit Shifts einen Anreiz,sich opportunistisch zu verhalten, um sich einen Vorteilgegenüber den ehrlichen Minern zu verschaffen, weil es keineeffektive Strategie gibt, die erwartete Auszahlung für einen Sharezu erhöhen. Für den Pool-Betreiber wird das Risiko, dass mehrausgezahlt werden muss, als eingenommen wurde, durch diebegrenzte Anzahl an auszahlungsrelevanten Shares bzw. Shiftsminimiert, sodass dieses Verfahren als fair angesehen werdenkann.3.3.4 Double Geometric MethodRosenfeld (2011b) schlägt im Bitcoin-Forum eine Kombinationaus den beiden Methoden Pay-per-last-N-Shares undgeometrischer Methode vor, die er Double Geometric Methodnennt. Dabei sollen die Vorteile von beiden Verfahren kombiniert


werden, sodass im Ergebnis eine scorebasierte PPLNS-Varianteentsteht.Jedes gegen Poolhopping sichere Verfahren braucht eine gewisseHistorie an eingereichten Shares bis der erwartete Gewinn gleichdem anteiligen Gewinn entspricht und das Verfahren somit fairist. Sollte die Anzahl am Anfang einer Runde noch nichtausreichen, können wie bei der geometrischen Methode diesenotwendigen Shares mit einer variablen Gebühr simuliert werden.Beim Pay-per-last-N-Shares wird dieses Ziel dadurch erreicht,dass die Historie sich aus zuletzt eingereichten Shareszusammensetzt, da bei diesem Verfahren die Rundengrenzenkeine Rolle spielen.Der Vorteil der Kombination beider Verfahren ist es, dass sichsowohl die poolbasierten Streuungen (Abweichungen in derAnzahl und Häufigkeit der eingereichten Shares) wie auch diesharebasierten Streuungen (Abweichungen von Zahlungen proeingereichten Share) anpassen lassen. Bei den vorherigenVerfahren ließ sich jeweils nur eins davon anpassen.Die genaue Vorgehensweise lautet:1. Festlegung der Parameter f für die fixe Gebühr desBetreibers, der durchschnittlichen variablen Gebühr csowie den Rundenüberschreitungsabfall o (sog. crossroundleakage), der angibt wie stark der Score nachjedem gefundenen Block abgesenkt werden soll.2. Wenn der Pool zum ersten Mal gestartet wird, wird dermomentane Scorewert initialisiert: . Für jedenPool-Teilnehmer k wird der Score initialisiert:.3. Der Steigungsfaktor r wird bestimmt. Dabei ist p dieWahrscheinlichkeit, dass ein Share die Lösung für einenBlock darstellt (vgl. 3.3.2 Geometrische Methode). DesWeiteren fließen die variable Gebühr c sowie derRundenüberschreitungsabfall o mit ein:(1 )(1 )1 p rp o(13)cSollte sich während der Laufzeit des Pools einParameter ändern, sollte r neu berechnet werden.4. Wenn ein Teilnehmer einen Share beiträgt, wird seinScore entsprechend um den momentanen Scorewertabzüglich der Gebühren multipliziert mit der erwartetenAuszahlung ( , vgl. 3.2.1 Proportionale Verteilung)erhöht:S S (1 f )(1 c)s p B (14)kkAnschließend wird der momentane Scorewert um denFaktor r erhöht: .5. Falls der eingereichte Share ein gültiger Block seinsollte, wird nach dem 4. Schritt den Teilnehmernfolgender Betrag ausgezahlt:(1 oS ) kcs(15)Anschließend wird der Score der Nutzer um den Faktoro reduziert: .Der Grundgedanke bei der Double Geometric Method ist es, dassein Teil des Scores und damit auch ein Teil des Rewards nachjeder gefundenen Runde beibehalten bleibt. Bei PPLNS bleibtdieser Score unverändert, bei der geometrischen Methode werdennach jeder Runde die Scores zurück auf null gesetzt und damitdem Pool-Betreiber übertragen. Dadurch dass ein Teil der Scoresbestehen bleiben, bleibt in langen Runden der Score nahezuunverändert, ähnlich wie bei PPLNS. In einigenaufeinanderfolgenden kurzen Runden wird dagegen der Scorestark reduziert, sodass der Pool-Betreiber einen relativ hohenAnteil erhält. Die variable Gebühr ist in diesem Fall hoch. DieserAnteil wird indirekt gespart und in den langen Runden wieder andie Nutzer ausgezahlt, wodurch sich die durchschnittliche variableGebühr reduziert.Wie auch bei den vorherigen scorebasierten Methoden schlägtRosenfeld (2011a, S. 19) vor, bei der konkreten Implementierungdieser Methode mit einer logarithmischen Skala zu rechnen, daansonsten die Werte vom Score schnell über den Wertebereichhinausgehen können.Einem sich egoistisch verhaltenen Teilnehmer des Mining-Poolsbietet diese Methode aus meiner Sicht und den zuvor dargelegtenGründen kein zuverlässiges Angriffsszenario, sodass hierbei keinAnreiz entsteht, sich unfair zu verhalten. Da der Pool-Betreiberdie Streuung mittels den Parametern f, c und o regulieren kann,gilt dieses Verfahren als fair.3.4 Beliebtheit der MethodenNachdem die wichtigsten Verteilungsmechanismen der Mining-Pools besprochen und ihre Stärken und Schwächen analysiertwurden, wird nun dargestellt, wie populär einzelneVerteilungsmethoden momentan sind.Es wurden die aktuell aktiven Mining-Pools, die im Bitcoin-Wiki(Bitcoin Wiki 2013a) aufgelistet sind, ausgewertet. Dazu wurdedie jeweilige Anzahl der eingesetzten Verteilungsmechanismender Mining-Pools gezählt und anschließend in Relation mit derGesamtanzahl gesetzt. Das Ergebnis ist Abbildung 4 dargestellt.Prop.;6,7%Score;10,0%Andere;13,3%PPLNS;16,7%DGM;16,7%PPS;36,7%Abbildung 4. Beliebtheit der VerteilungsmechanismenAuffällig ist, dass sich die einzelnen Methoden momentan in einerArt Wettbewerb stehen, da nicht erkennbar ist, dass sich eineMethode klar durchsetzen wird. Das Pay-per-Share-Verfahren istin dieser Momentaufnahme am populärsten, es wird in 36,7 % derMining-Pools eingesetzt. Das kann dadurch erklärt werden, dasses einerseits relativ einfach und intuitiv ist, andererseits sind fürdie Teilnehmer bei diesem Verfahren die Auszahlungen sehr gutplanbar. Es ist ebenfalls denkbar, dass durch die faire Verteilung


auf der Teilnehmerseite dieses Verfahren gut dasteht. Die andereneingesetzten Methoden werden alle in etwa gleich häufigeingesetzt, es ist kein klarer zweiter Favorit erkennbar.Auffällig ist, dass das proportionale Verfahren noch eingesetztwird. Es bietet einen Anreiz für opportunistisch verhaltendeTeilnehmer, mehr Geld zu verdienen (vgl. Kapitel 3.2.1). DerGrund, dass diese Methode eingesetzt wird, kann einerseits sein,dass den Mining-Pool Betreibern die Möglichkeit des Betrugs beider proportionalen Methode unbekannt ist. Andererseits kann essein, dass das Risiko zwar bekannt ist, aber unterschätzt wird unddie Methode deshalb trotzdem eingesetzt wird.Im Mining-Pool BitcoinPool.com wird beispielsweise noch dieproportionale Verteilung angewandt. Diesem Pool ist das Risikodes Poolhoppings offenbar bewusst. Es wird versuchtabzuwenden, indem nach jeder langen Runde ein potenziellerBetrüger eine verringerte Auszahlung erhält (Geebus 2011).Hierbei kann es allerdings passieren, dass ehrliche Miner, die nurzufällig am Anfang der Runde ausgestiegen sind, dafür zuUnrecht bestraft werden. Diese Methode kann zwar den Anreizfür unfaire Teilnehmer einschränken, geht aber zulasten derehrlichen Miner.4. FAZIT / AUSBLICKIn dieser Arbeit wurde das Mining in das Bitcoin-Umfeldeingeordnet und als das Bestätigen von Transaktionen vorgestelltmit dem Anreiz, Geld zu verdienen. Der Bedarf an Mining-Poolswurde erläutert, da dadurch eine stetigere Auszahlung möglich ist.Als Folge sind faire Verteilungsmechanismen erforderlich, umden Bonus im Pool gerecht aufteilen zu können. Einzelne Mineroder der Betreiber sollen dadurch nicht benachteiligt werden. Eshat sich herausgestellt, dass insbesondere das proportionaleVerfahren dieses Ziel nicht erfüllt. Es bietet einen Anreiz, sichopportunistisch zu verhalten und sich somit einen Vorteilgegenüber den ehrlichen Minern zu verschaffen. Weiterevorgestellte Verfahren sind weitestgehend sicher gegen einsolches Verhalten.Die vorgestellten Verfahren stehen zurzeit im Wettbewerbmiteinander, es kann nicht vorhergesagt werden, ob sich inZukunft weitere Verfahren entwickelt werden oder ob sich einVerteilungsmechanismus klar durchsetzt.Die Popularität der wichtigsten Mining-Pools hat gezeigt, dass derMining-Pool BTC Guild im Jahr 2013 mehrmals für kurze Zeit50 % der Rechenleistung des gesamten Netzwerks besitzt, waseine potenzielle Bedrohung für das Netzwerk darstellt. Fürfolgende Arbeiten ist die weitere Entwicklung besonders zubeobachten, da eventuell ein Missbrauch dieser Rechenleistungmöglich wäre.Die Verteilung der beliebtesten Methoden der Verteilung desRewards in Mining-Pools stellt nur eine Momentaufnahme dar,hier wäre es für weitergehende Analysen sinnvoll, den Zeitverlaufder Popularität zu untersuchen. Ein besonderes Augenmerk kanndabei auf die proportionale Verteilung gelegt werden, da diesesaufgrund der Betrugsanfälligkeit im Zeitverlauf abnehmen sollte.5. REFERENCESBitcoin Wiki 2012a. “Block chain.”https://en.bitcoin.it/wiki/Block_chain. Abrufdatum: 10.05.2013.Bitcoin Wiki 2013a. “Comparison of mining pools.”https://en.bitcoin.it/wiki/Comparison_of_mining_pools.Abrufdatum: 31.05.2013.Bitcoin Wiki 2013b. “Confirmation.”https://en.bitcoin.it/wiki/Confirmation. Abrufdatum: 10.05.2013.Bitcoin Wiki 2012b. “Difficulty.”https://en.bitcoin.it/wiki/Difficulty. Abrufdatum: 27.05.2013.Bitcoin Wiki 2013c. “Mining.” https://en.bitcoin.it/wiki/Mining.Abrufdatum: 12.05.2013.Bitcoin Wiki 2013d. “Mining hardware comparison.”https://en.bitcoin.it/wiki/Mining_hardware_comparison.Abrufdatum: 12.05.2013.Bitcoin Wiki 2012c. “Nonce.” https://en.bitcoin.it/wiki/Nonce.Abrufdatum: 20.06.2013.Bitcoin Wiki 2013e. “Pooled mining.”https://en.bitcoin.it/wiki/Pooled_mining. Abrufdatum: 10.05.2013.Bitcoin Wiki 2013f. “Weaknesses.”https://en.bitcoin.it/wiki/Weaknesses. Abrufdatum: 12.05.2013.Geebus 2011. “Anti-Pool Hopping Added.”http://bitcoinpool.com/forum/viewtopic.php?f=1&t=103.Abrufdatum: 31.05.2013.Nakamoto, S. 2009. “Bitcoin : A Peer-to-Peer Electronic CashSystem.”Raulo 2011. “Optimal pool abuse strategy.”http://bitcoin.atspace.com/poolcheating.pdf.Rosenfeld, M. 2011a. “Analysis of Bitcoin Pooled MiningReward Systems.” https://bitcoil.co.il/pool_analysis.pdf.Rosenfeld, M. 2011b. “Double geometric method: Hopping-proof,low-variance reward system.”https://bitcointalk.org/index.php?topic=39497.msg481864#msg481864. Abrufdatum: 28.05.2013.Rosenfeld, M. 2011c. “Geometric method.”https://bitcointalk.org/index.php?topic=4787.msg69890#msg69890. Abrufdatum: 27.05.2013.Rosenfeld, M. 2011d. “PPLNS.”https://bitcointalk.org/index.php?topic=39832.msg486012#msg486012. Abrufdatum: 27.05.2013.slush 2011. “Slush’s Pool (mining.bitcoin.cz).”https://bitcointalk.org/index.php?topic=1976.msg50002#msg50002. Abrufdatum: 27.05.2013.

Weitere Magazine dieses Users
Ähnliche Magazine