Der Zweck dieses Beitrags ist nicht zu sagen, dass Ethereum Slasher anstelle von Dolch als Hauptabbaufunktion verwenden wird. Slasher ist vielmehr ein nützliches Konstrukt in unserer Kriegskasse, falls der Beweis für den Einsatz von Stake -Mining wesentlich beliebter wird, oder ein zwingender Grund für den Wechseln wird bereitgestellt. Slasher kann auch anderen Kryptowährungen zugute kommen, die unabhängig von Ethereum existieren möchten. Besonderer Dank geht an Tacotime für Inspiration und Jack Walker für Verbesserungsvorschläge.
Der Beweis für den Steckabbau ist seit langem ein großes Interesse für die Kryptowährungsgemeinschaft. Die erste Proof-of-Stake-Basis-Münze, PPCoin, wurde 2012 von Sunny King veröffentlicht und wurde durchweg zu den fünf wichtigsten alternativen Währungen geblieben durch Geldbasis seitdem. Und aus gutem Grund; Der Nachweis des Anteils hat eine Reihe von Vorteilen gegenüber dem Nachweis der Arbeit als Bergbaumethode. Erstens ist der Beweis für den Einsatz viel umweltfreundlicher. Während der Nachweis der Arbeit die Bergleute erfordert, dass die Berechnungsleistung effektiv auf nutzlose Berechnungen verbrennt, um das Netzwerk zu sichern, simuliert der Nachweis des Einsatzes das Verbrennen effektiv, sodass jemals keine reale Energie oder Ressourcen tatsächlich verschwendet werden. Zweitens gibt es Zentralisierungsbedenken. Mit dem Nachweis der Arbeit wurde das Mining im Wesentlichen von speziellen Hardware („anwendungsspezifische integrierte Schaltkreise“ / ASICs) dominiert, und es besteht ein großes Risiko, dass ein einziger großer Akteur wie Intel oder eine große Bank den Markt übernehmen und de-fakto monopolisieren wird. Speicherharte Miningalgorithmen wie Scrypt und jetzt Dolch Mindern Sie dies in hohem Maße, aber auch immer noch nicht perfekt. Noch einmal ist der Nachweis des Pfahls, wenn es zur Arbeit gemacht werden kann, im Wesentlichen eine perfekte Lösung.
Der in fast jeder Währung bisher umgesetzte Einsatznachweis hat jedoch einen grundlegenden Fehler: Ein prominenter Bitcoin -Entwickler sagte es jedoch: “Es steht nichts auf dem Spiel”. Die Bedeutung der Aussage wird deutlich, wenn wir versuchen zu analysieren, was genau im Falle eines Angriffs von 51% vor sich geht, die Situation, in der jede Art von Arbeiten wie Mechanismus verhindern soll. Bei einem Angriff von 51% sendet ein Angreifer A eine Transaktion von A nach B, wartet darauf, dass die Transaktion in Block K1 (mit übergeordnetem K) bestätigt wird, und sammelt ein Produkt von B und erzeugt dann sofort einen weiteren Block K2 auf K – mit einer Transaktion, die dieselbe Bitcoins sendet, aber diese Zeit von A bis A. An diesem Punkt gibt es zwei Blockchains, eine aus Block K1, eine aus Block K1, eine aus Block K1, eine aus Block K1, eine aus Block K1, eine aus Block K1, eine aus Block K1, von Block K1, von Block, von Block. Wenn B schneller Blöcke auf K2 hinzufügen kann, als das gesamte legitime Netzwerk auf K1 Blöcke erstellen kann, wird die K2 -Blockchain gewinnen – und es wird so sein, als wäre die Zahlung von A bis B noch nie passiert. Der Beweis für Arbeiten besteht darin, eine gewisse Rechenleistung zu ermöglichen, um einen Block zu erstellen, so dass K2 K1 B mehr Rechenleistung haben müsste als das gesamte legitime Netzwerk zusammen.
Im Falle eines Anteils ist es keine Berechnungskraft, um eine Arbeit zu erstellen – stattdessen braucht es Geld. In PPCoin hat jede „Münze“ eine Chance pro Sekunde, die glückliche Münze zu werden, die das Recht hat, einen neuen gültigen Block zu erstellen. Je mehr Münzen Sie haben, je schneller Sie auf lange Sicht neue Blöcke erstellen können. Ein erfolgreicher Angriff von 51% erfordert theoretisch nicht mehr Rechenleistung als das legitime Netzwerk, sondern mehr Geld als das legitime Netzwerk. Aber hier sehen wir den Unterschied zwischen Arbeitsnachweis und Beweis für den Einsatz: Im Nachweis der Arbeit kann ein Bergmann jeweils nur eine Gabel auf einer Gabel abbauen, sodass das legitime Netzwerk die legitime Blockchain und nicht die Blockchain eines Angreifers unterstützen wird. Im Beweis des Einsatzes werden jedoch Bergarbeiter gleichzeitig Geld in beiden Gabeln haben, sobald Bergarbeiter Geld in beiden Gabeln haben, und so können die Bergleute in beiden Gabeln abbauen. Wenn es sogar die geringste Chance gibt, dass der Angriff erfolgreich ist, haben die Bergleute den Anreiz, bei beiden zu meinen. Wenn ein Bergmann eine große Anzahl von Münzen hat, möchte der Bergmann den Angriffen absetzen, um den Wert seiner eigenen Münzen zu erhalten. In einem Ökosystem mit kleinen Bergleuten fällt die Netzwerksicherheit jedoch möglicherweise in einem klassischen Problem der öffentlichen Güter auseinander, da kein einzelner Bergmann erhebliche Auswirkungen auf das Ergebnis hat, und so wird jeder Bergmann rein „egoistisch“ handeln.
Die Lösung
Einige haben theoretisiert, dass das obige Argument ein Deathblow für alle Beweise des Anteils ist, zumindest ohne einen Nachweis der Arbeitskomponente, die es unterstützt. Und in einem Kontext, in dem sich jede Kette nur selbst bewusst ist, ist dies in der Tat nachweislich wahr. Es gibt jedoch tatsächlich einen cleveren Weg, um das Problem zu umgehen, und eine, die bisher unterbelastet wurde: Machen Sie die Kette auf andere Ketten aufmerksam. Wenn dann ein Bergmann gleichzeitig mit zwei Ketten abgebaut wird, kann dieser Bergmann bestraft werden. Es ist jedoch überhaupt nicht offensichtlich, wie dies mit einem PPCoin-ähnlichen Design zu tun ist. Der Grund ist Folgendes: Mining ist ein zufälliger Prozess. Das heißt, ein Bergmann mit 0,1% des Anteils hat eine Wahrscheinlichkeit von 0,1%, einen gültigen Block für Block K1 abzubauen, und eine Wahrscheinlichkeit von 0,1%, einen gültigen Block für Block K2 abzubauen, jedoch nur eine 0,0001% ige Wahrscheinlichkeit, einen gültigen Block für beide abzubauen. Und in diesem Fall kann der Bergmann den zweiten Block einfach zurückhalten – da der Bergbau wahrscheinlich ist, kann der Bergmann immer noch 99,9% des Vorteils des Bergbaus in der zweiten Kette erzielen.
Der folgende Vorschlag beschreibt jedoch einen Algorithmus, den wir Slasher bezeichnen, um seine harte Strafe auszudrücken, um diesen Vorschlag zu vermeiden. Die hier angegebene Entwurfsbeschreibung verwendet Adressbilanzen für Klarheit, kann jedoch leicht mit „nicht ausgegebenen Transaktionsausgängen“ oder einer anderen ähnlichen Abstraktion verwendet werden, die andere Währungen verwenden können.
- Blöcke werden mit Arbeitsnachweis abgebaut. Wir stellen jedoch eine Änderung vor. Beim Erstellen eines Blocks K muss ein Bergmann den Wert H (n) für einige vom Bergmann generierte zufällige n einbeziehen. Der Bergmann muss die Belohnung beanspruchen, indem er eine Transaktion aus der Aufdeckung von N zwischen Block K+100 und K+900 freigibt. Der Beweis für die Arbeit ist sehr niedrig und fördert idealerweise den Energieverbrauch von etwa 1% der von Bitcoin. Die Zielblockzeit beträgt 30 Sekunden.
- Angenommen, die gesamte Geldmenge beträgt m und n[i] ist der N -Wert am Block i. Bei Block K+1000 erhält eine Adresse A mit Balance B ein „Unterzeichnungsberechtigte“, wenn SHA256 (n)[K] + n[K+1] + … + n[K+99] + A) <2^256 * 64 * b / M. Im Wesentlichen hat eine Adresse die Chance, ein Unterzeichnungsberechtigte proportional zum Geldbetrag zu erhalten, und im Durchschnitt werden jeweils 64 Signierberechtigungen zugewiesen.
- Bei Block K+2000 haben Bergleute mit Signierberechtigungen aus Block K die Möglichkeit, den Block zu unterschreiben. Die Anzahl der Signaturen bestimmt die Gesamtlänge einer Blockchain im Vergleich zu einer anderen. A Signature verleiht dem Unterzeichner eine Belohnung, die wesentlich größer ist als die Belohnung der Arbeit, und diese Belohnung wird durch Block K+3000 freigeschaltet.
- Angenommen, ein Benutzer erkennt zwei Signaturen, die mit der Adresse A auf zwei unterschiedlichen Blöcken mit Höhe K+2000 erstellt wurden. Dieser Knoten kann dann eine Transaktion mit diesen beiden Signaturen veröffentlichen, und wenn diese Transaktion vor Block K+3000 enthalten ist, zerstört sie die Belohnung für diese Signatur und sendet 33% an den Benutzer, der den Betrüger ausgetauscht hat.
Der Schlüssel zu diesem Design ist, wie die Signierberechtigungen verteilt werden: Anstatt dass das Signaturrechter zufällig auf dem vorherigen Block basiert, basiert das Signierrecher auf dem Block vor zweitausend Blöcken. Im Falle einer Gabel wird ein Bergmann, der in einer Kette Glück hat, in der anderen auch Glück hat und den probabilistischen Dual-Mining-Angriff vollständig beseitigt, der mit PPCoin möglich ist. Eine andere Möglichkeit, es zu betrachten, ist, dass Slasher, weil Slasher jetzt Proof-of-Stake-2000-Blocks verwendet, anstelle von Proof-of-Stake-jetzt und Gabeln mit ziemlicher Sicherheit nicht 2000 Blöcke dauern wird. Die Strafe des Block -Belohnungsverlusts stellt sicher, dass jeder Knoten darauf achtet, bei jeder Blocknummer nur einen Block zu unterzeichnen.
Die Verwendung von 100 vorkommenden Zufallszahlen ist eine Idee, die nach nachweislich fairen Glücksspielprotokollen entnommen wurde. Die Idee ist, dass leistungsstarke Bergleute keine Möglichkeit haben, viele Blöcke zu erstellen und nur diejenigen zu veröffentlichen, die ihren eigenen Anteil ein Unterzeichnungsberechtigte zuweisen, da sie nicht wissen, was andere zufällige Daten zur Bestimmung des Stakeholders verwendet werden, wenn sie ihre Blöcke erstellen.
Das System ist kein reiner Beweis. Für die Aufrechterhaltung eines Zeitintervalls zwischen den Blöcken sind einige minimale Arbeiten erforderlich. Ein Angriff von 51% auf den Arbeitsnachweis wäre jedoch im Wesentlichen belanglos, da der Beweis für die Signierung von Beteiligungen der einzige entscheidende Faktor ist, bei dem Blockchain gewinnt. Darüber hinaus kann der Energieverbrauch aus dem Arbeitsnachweis 95-99% niedriger sein, was die Umweltbelastung mit dem Nachweis der Arbeit löst.

