In diesem Kapitel wird die Spieltheorie und die modellierende wirtschaftliche Sicherheit im Herbst 2014 beschrieben. Es erzählt, wie das “Bestechungs -Angreifer -Modell” unsere Forschung direkt zu einer radikalen Lösung für das Problem der Langstreckenangriff führte.
Kapitel 2: Der Bestechungsangriff, die wirtschaftliche Sicherheit und das Problem des Langstreckenangriffs
Vitalik und ich hatten jeweils im Rahmen unserer Forschung vor dem Treffen von Anreizen über Anreize geprägt. Die Aussage, dass “die Anreize richtig machen”, war bei Proof-of-Stake nie eine Frage der Debatte. Wir waren nie bereit, “die Hälfte der Münzen ist ehrlich” als Sicherheitsannahme ehrlich. (Es ist mutig, weil es wichtig ist.) Wir wussten, dass wir eine Art “Incentive -Kompatibilität” zwischen den Anreizen der gebundenen Knoten und der Protokollsicherheitsgarantien brauchten.
Es war immer unsere Ansicht, dass das Protokoll als ein Spiel angesehen werden konnte, das leicht zu “schlechten Ergebnissen” führen könnte, wenn die Anreize des Protokolls dieses Verhalten ermutigten. Wir haben dies als potenzielles Sicherheitsproblem angesehen. Sicherheitseinlagen gaben uns einen klaren Weg, um schlechtes Verhalten zu bestrafen. Schrägbedingungen, bei denen es sich im Grunde genommen um Programme handelt, die entscheiden, ob die Kaution zerstört werden soll.
Wir hatten lange beobachtet, dass Bitcoin sicherer war, als der Preis für Bitcoin höher war, und weniger sicher, wenn es niedriger war. Wir wussten jetzt auch, dass Sicherheitseinlagen Slasher mehr wirtschaftliche Effizienz als nur bei Belohnungen ermöglichten. Es war uns klar, dass wirtschaftliche Sicherheit bestand und wir es zu einer hohen Priorität machten.
Der Bestechungsangriff
Ich bin mir nicht sicher, wie viel Hintergrund Vitalik in der Spieltheorie hatte (obwohl klar war, dass er mehr hatte als ich). Mein eigenes Wissenstheoriewissen zu Beginn der Geschichte war noch minimaler als am Ende. Aber ich wusste, wie man das Nash -Gleichgewicht erkennt und berechnet. Wenn Sie Nash -Gleichgewicht noch nicht erfahren haben, ist dieser nächste Absatz genau das Richtige für Sie.
Ein Nash -Gleichgewicht ist ein Strategieprofil (die Strategieauswahl der Spieler) mit einer entsprechenden Auszahlung (Spenden ETH weg), wenn keine Spieler einzeln einen Anreiz haben, abweichen zu können. “Anreiz, abweichen” bedeutet “sie bekommen mehr $ eth, wenn sie irgendwie ändern, was sie tun”. Wenn Sie sich daran erinnern und jedes Mal, wenn Sie “Nash Equilbrium” hören, dachten Sie “keine Punkte für individuelle Strategieänderungen”, werden Sie es haben.
Einige Zeit im Spätsommer 2014 stieß ich zum ersten Mal auf “The Bribing Angreifermodell”, als ich eine reaktionsfreie Antwort auf eine wirtschaftliche Sicherheitsfrage stellte, die Vitalik mich bei einem Skype -Anruf stellte (“Ich kann sie einfach bestechen, um es zu tun”). Ich weiß nicht, wo ich die Idee habe. Vitalik fragte mich dann noch einmal darüber ein oder zwei Wochen später und setzte mich vor Ort, um es weiter zu entwickeln.
Durch Bestechung von Spielteilnehmern können Sie die Auszahlungen eines Spiels ändern und durch diesen Operation das Nash -Gleichgewicht ändern. So könnte das aussehen:
Der Bestechungsangriff verändert das Nash -Gleichgewicht des Dilemmasspiels des Gefangenen von (nach oben) nach (unten, rechts). Der Bestechungsangriff in diesem Beispiel hat 6 von 6, wenn (unten, rechts) gespielt wird.
Der Bestechungsangriff war unser erstes nützliches Modell der wirtschaftlichen Sicherheit.
Vor dem Bestechungsangriff haben wir normalerweise über wirtschaftliche Angriffe als feindliche Übernahmen durch ausländische, extra Protokollkäufer von Token oder Bergbau-Macht nachgedacht. Ein Stapel externer Hauptstadt müsste in das System kommen, um die Blockchain anzugreifen. Mit dem Bestechungsangriff stand die Frage: “Was ist der Preis für Bestechung der derzeit vorhandenen Knoten, um das gewünschte Ergebnis zu erzielen?”.
Wir hofften, dass die Bestechungsangriffe unseres noch zu definierten Proof-of-Stake-Protokolls viel Geld ausgeben müssten, um verlorene Einlagen auszugleichen.
Abgesehen von der Debatte über “Angemessenheit” war dies unser erster Schritt, um zu lernen, um die wirtschaftliche Sicherheit zu begründen. Es war lustig und einfach, einen Bestechungsangriff zu verwenden. Sie sehen nur, wie viel Sie den Spielern bezahlen müssen, um das zu tun, was der Angreifer will. Und wir waren bereits zuversichtlich, dass wir in der Lage sein würden, sicherzustellen, dass ein Angreifer mehr Sicherheitslager zahlen muss, um die Kette in einem doppelten Versuch zurückzudrehen. Wir wussten, dass wir “Doppelsignierungen” erkennen konnten. Wir waren uns also ziemlich sicher, dass dies einen quantifizierbaren wirtschaftlichen Sicherheitsvorteil gegenüber einem Proof-of-Work-Protokoll für einen Bestechungsangriff verleihen würde.
Die Bestechungswirtschaft des Langstreckenangriffs
Vitalik und ich haben den Bestechungsangriff in unsere Nachweis des Störungen angewendet. Wir fanden heraus, dass POS -Protokolle ohne Sicherheitsvorkommen trivial mit kleinen Bestechungsgeldern besiegt werden könnten. Sie zahlen einfach Münzinhaber, um ihre Münzen in neue Adressen zu verschieben und Ihnen den Schlüssel zu ihren jetzt leeren Adressen zu geben. (Ich bin mir nicht sicher, wer ursprünglich an diese Idee gedacht hat.) Unser Beharren auf der Verwendung des Bestechsmodells hat alle Proof-of-Stake-Protokolle, von denen wir wussten, leicht ausgeschlossen. Das hat mir gefallen. (Zu der Zeit hatten wir noch nicht von Jae Kwons Tendern, von Dominic Williams inzwischen aufgelöster Kiesel oder von Nick Williamsons Credits gehört.)
Dieser Bestechungsangriff stellte auch eine Herausforderung für den nach Sicherheitsgrad basierenden Nachweis vor: Der Moment nach der Rückgabe einer Kaution an seinen ursprünglichen Eigentümer konnte der Bestechungsgegner die Schlüssel zu minimalen Kosten für ihre gebundene Stakeholder-Adresse kaufen.
Dieser Angriff ist identisch mit dem Langstreckenangriff. Es erfasst alte Schlüssel, um die Kontrolle über die Blockchain zu übernehmen. Dies bedeutete, dass der Angreifer nach Belieben “falsche Geschichten” erzeugen kann. Aber nur wenn sie in einer Höhe beginnen, aus der alle Einlagen abgelaufen sind.
Bevor wir daran arbeiten, die Anreize für unser Proof-of-Stake-Protokoll festzulegen, mussten wir das Langstreckenangriffsproblem angehen. Wenn wir das Problem der Langstreckenangriff nicht angesprochen haben, wäre es für Kunden unmöglich, zuverlässig zu erfahren, wer wirklich die Sicherheitseinlagen hatte.
Wir wussten, dass Entwicklerkontrollpunkte verwendet werden könnten, um das Problem der Langstreckenangriffe zu bewältigen. Wir dachten, dies sei eindeutig viel zu zentralisiert.
In den Wochen nach meiner Umwandlung in den Proof-of-Stake, als ich in Stephan Tuals Haus außerhalb von London wohnte, stellte ich fest, dass es eine natürliche Regel für Kundenbekenntnisse über Sicherheitseinlagen gab. Unterzeichnete Verpflichtungen sind nur sinnvoll, wenn der Absender momentan hat eine Kaution. Das heißt, nachdem die Anzahlung zurückgezogen wurde, sind die Unterschriften dieser Knoten nicht mehr sinnvoll. Warum sollte ich Ihnen vertrauen, nachdem Sie Ihre Einzahlung abgeholt haben?
Das Bestechungsangriffsmodell forderte es. Es würde den Bestechungsangriff fast nichts kosten, um die Verpflichtungen nach dem Rückzug der Einzahlung zu brechen.
Dies bedeutete, dass ein Kunde eine Liste von gebundenen Knoten inne und an der Tür anhielt, wenn er nicht von einem dieser Knoten signiert würde. Konsensnachrichten von Knoten ignorieren, die dies nicht tun momentan Sicherheitsvorkommen haben löst Umgeht das Langstreckenangriffsproblem. Anstatt den aktuellen Zustand zu authentifizieren, basierend auf der Geschichte, die aus dem Genesis -Block ausgeht, authentifizieren wir ihn auf der Grundlage einer Liste der, die derzeit Einzahlungen haben.
Dies unterscheidet sich radikal von Work-Arbeiten.
In der POW ist ein Block gültig, wenn er an den Genesis -Block gekettet ist und wenn der Block -Hash den Schwierigkeitsgrad für seine Kette erfüllt. In diesem Modell basiert ein Block, der von einem Stakeholder mit einer derzeit vorhandenen Anzahlung erstellt wurde. Dies bedeutete, dass Sie aktuelle Informationen benötigen, um die Blockchain zu authentifizieren. Diese Subjektivität hat vielen Menschen sehr besorgt geführt, aber es ist erforderlich, dass der nach Sicherheitsgrad basierende Nachweis gegen den Bestechungsangriff sicher ist.
Diese Erkenntnis machte mir sehr deutlich, dass das Sicherheitsmodell und das Sicherheitsmodell von Proof-of-Work-Arbeiten grundsätzlich nicht kompatibel sind. Ich habe daher den ernsthaften Einsatz von “hybriden” POW/POS -Lösungen aufgegeben. Der Versuch, eine Blockchain von Genesis von Genesis zu authentifizieren, schien jetzt sehr offensichtlich falsch zu sein.
Abgesehen von der Änderung des Authentifizierungsmodells mussten wir jedoch eine Möglichkeit zur Verwaltung dieser Listen von Sicherheitseinlagen zur Verfügung stellen. Wir mussten Signaturen von gebundenen Knoten verwenden, um Änderungen an der Liste der gebundenen Knoten zu verwalten, und wir mussten dies tun, nachdem die gebundenen Knoten zu diesen Änderungen zu Konsens gekommen waren. Andernfalls hätten die Kunden unterschiedliche Listen von gebundenen Validatoren, und sie könnten sich daher nicht auf den Zustand von Ethereum einigen.
Die Anleihezeit musste lange angelegt werden, damit Kunden Zeit haben, um etwas über die neuen, eingehenden Satz von gebundenen Stakeholdern zu erfahren. Solange Kunden online genug waren, konnten sie auf dem Laufenden bleiben. Ich dachte, wir würden Twitter verwenden, um die Liste der gebundenen Knoten oder zumindest einen Hash zu teilen, damit neue und Winterschlafkunden synchronisiert werden können, nachdem ihr Benutzer einen Hash in die Benutzeroberfläche eingelassen hat.
Wenn Sie die falsche Validator -Liste haben, können Sie erhalten Man-in-the-Middled. Aber es ist wirklich nicht so schlimm. Das Argument war (und ist es immer noch!) Das Sie müssen nur einmal einer externen Quelle für diese Informationen vertrauen können. Danach können Sie Ihre Liste selbst aktualisieren – zumindest, wenn Sie in der Lage sind, regelmäßig online zu sein, um die “Langstrecke” von zurückgezogenen Einlagen zu vermeiden.
Ich weiß, dass es einige gewöhnen könnte. Aber wir können uns nur auf neue Sicherheitsvorkommen verlassen. Vitalik fühlte sich zunächst mit diesem Argument etwas unwohl und versuchte, sich an der Fähigkeit zu halten, sich von Genesis zu authentifizieren, war jedoch schließlich von der Notwendigkeit dieser Art von Subjektivität in den Beweis für Stake -Protokolle überzeugt. Vitalik kam unabhängig von seinen Schwache Subjektivitätsbewertungsregelwas mir wie eine absolut vernünftige Alternative zu meiner Idee zu dieser Zeit schien, was im Grunde genommen “alle Einlagen jeden n -ten Block signiert hat, um die Liste der gebundenen Knoten zu aktualisieren”.
Mit den Nägeln im Nichts und Langstreckenangriffs-Särge, die vollständig eingeschlichen waren, waren wir bereit, uns für unsere Slashing-Bedingungen zu entscheiden.
Das nächste Kapitel wird dokumentieren, was wir aus unseren ersten Kämpfen gelernt haben, ein Konsensprotokoll zu definieren, indem wir die Schadenbedingungen angeben. Ich werde Ihnen auch erzählen, was wir gelernt haben, wenn wir mit guten Menschen aus unserem Raum über unsere Forschung gesprochen haben. Die hier vorgestellte Spieltheorie und wirtschaftliche Modellierungsgeschichte werden sich in Kapitel 4 weiterentwickeln.
Hinweis: Die hier ausgedrückten Ansichten sind ausschließlich meine persönlichen Ansichten und repräsentieren nicht die der Ethereum Foundation. Ich bin allein verantwortlich für das, was ich geschrieben habe und bin nicht als Sprecher der Stiftung.

