Hat sich PoS unter vergleichbaren Annahmen wie Bitcoin wirklich als sicher erwiesen?

Ich lese gerade dieses Papier , das behauptet, ein formeller Beweis dafür zu sein, dass das neueste Ouroboros PoS-Protokoll ("Genesis") von Cardano ähnliche Sicherheitsgarantien bietet wie das PoW-Protokoll von Bitcoin. Leider ist es 64 Seiten lang und setzt eine Menge früherer Arbeiten voraus, mit denen ich mich auch anfreunden muss. Obwohl ich relativ sicher bin, diese Dinge zu verstehen, wird mich eine gründliche Bewertung einige Zeit in Anspruch nehmen.

Also habe ich mich gefragt, ob jemand (sagen wir Andrew Poelstra, Pieter Wuille?) dies bereits überprüft hat und seine Meinung äußern könnte. Denn einerseits ist dies eine sehr kühne Behauptung, die die Folklore-Ansicht zu diesem Thema entkräften würde (PoS hat grundlegende Sicherheitsprobleme, die nicht überwunden werden können), und andererseits scheinen die Autoren in ihrer Herangehensweise recht legitim und ernsthaft zu sein.

Mir ist klar, dass, selbst wenn es wahr wäre, dies nicht bedeutet, dass PoS für das Bootstrapping eines Systems wie Cardano nützlich ist. Aber könnte es nicht eine Alternative für Bitcoin sein, sagen wir, nach ein oder zwei weiteren Halbierungen?

Antworten (3)

Die Ouroboros-Arbeitslinie beweist Sicherheit, die mit der Sicherheit von Bitcoin vergleichbar ist. Die Sicherheitsnachweise in Ouroboros ähneln im Stil den Backbone-Sicherheitsnachweisen, die zeigen, dass Bitcoin sicher ist. Meines Wissens gibt es keine formalen alternativen Sicherheitsnachweise für Bitcoin – dies sind die besten uns bekannten Ergebnisse, die zeigen, dass Bitcoin sicher ist, abgesehen von informellen, handgewellten, nicht-mathematischen Argumenten (wie „aber Sie können nicht einen Sicherheitsfehler finden, also muss es sicher sein").

Bei diesen beiden Einstellungen werden bestimmte Annahmen getroffen, die wie folgt lauten:

Zum Proof-of-Work wurde in der ersten Version von Backbone aus dem Jahr 2014 Bitcoin in einem synchronen Modell als sicher ausgewiesen. Dieses Modell teilt die Zeit in diskrete Abschnitte auf („Runden“ in Backbone, „Slots“ in Ouroboros), in denen die Spieler alle während einer Runde gefundenen Blöcke abbauen und dann übertragen können. Nachrichten, die während einer Runde gesendet werden, sind anonym (dh nicht authentifiziert) und können vom Gegner neu geordnet werden (daher die Notwendigkeit eines Konsensprotokolls). Der Gegner "eilt" auch dahingehend, dass er seine eigene Mining-Macht nutzen kann, nachdem er beobachtet hat, was die ehrlichen Parteien in derselben Runde getan haben, und bevor er Nachrichten über das Netzwerk reisen lässt. Es wird davon ausgegangen, dass keine Nachrichten verloren gehen. Dies ist eine notwendige Annahme, um zu beweisen, dass Bitcoin sicher ist - wenn das Netzwerk aufgeteilt ist, dann können Sie'

Die Anforderungen an die Synchronität wurden in der aktuellen Version von Backbone , die 2017 überarbeitet wurde, gelockert, in der das Modell halbsynchron ist. Die erste Version von Backbone zeigte auch, dass Bitcoin sicher ist, wenn die Schwierigkeit konstant gehalten wird. Eine Folgearbeit an Backbone aus dem Jahr 2016 zeigte, dass es in einer variablen Schwierigkeitseinstellung sicher bleibt. Diese Beweise beruhen auf einer ehrlichen Mehrheitsannahme, die in den Papieren präzisiert wird. Genauer gesagt ist es erforderlich, dass der Gegner eine Mining-Power hat, die um eine feste Konstante niedriger ist als die ehrliche Mining-Macht, die nicht eindeutig erfolgreiche Runden ausgleicht (d. h. Runden, in denen mehrere ehrliche Parteien eine Blockierung finden und daher eine kurzer versehentlicher Fork auf der Blockchain).

Die Annahmen im Proof-of-Stake-Setting von Ouroboros sind netzwerktechnisch ähnlich wie bei Backbone. Das Modell ist größtenteils von Canettis Universal Composability Framework entlehnt , in dem Sinne, dass es eine Umgebung gibt, die die Ausführung beeinflussen kann. Beweise im „umweltumfassenden“ Modell sind insofern mächtig, als sie von jeder Hinrichtung sprechen können, bei der der Gegner in der Lage ist, den Menschen genau zu sagen, was sie tun sollen, abgesehen von der Anforderung, dass die ehrlichen Parteien das ehrliche Protokoll ausführen. Beispielsweise kann der Gegner Spieler seiner Wahl korrumpieren.

Bei Ouroboros ist die Annahme, die Backbones „ehrlicher Mining-Mehrheit“ gegenübersteht, die „ehrliche Anteilsmehrheit“, dh, dass die Mehrheit des Anteils zu jedem Zeitpunkt den ehrlichen Parteien gehört. Dies ist eine starke Annahme, die zutreffen kann oder nicht, also hängt es davon ab, was Sie bereit sind zu akzeptieren. Eine weitere Annahme, die in Ouroboros gemacht wird, ist, dass die Verschiebung des Einsatzes begrenzt ist. Dies scheint eine vernünftige Annahme zu sein: Es bedeutet, dass nicht alles Geld sofort den Besitzer wechseln kann. Die Konstruktion hängt jedoch von dieser Grenze ab, um die Sicherheitsparameter wie die Epochenlänge anzugeben. Im praktischen System nehmen diese Parameter konkrete Werte an, die es ermöglichen, bestimmte Grenzen zu erreichen.

Ouroboros Praos erreicht bessere Sicherheitsgarantien als Ouroboros: Es ermöglicht dem Gegner, jede ehrliche Partei sofort zu korrumpieren, wann immer sie das für nötig hält. Dies ist ein starker Gegner (daher ist das System sicherer) und ist auch eine ähnliche Annahme wie Backbone. Für den Proof-of-Stake ist dies eine wichtige Errungenschaft, da der Gegner Parteien, die erfolgreich einen Block abgesteckt haben, rückwirkend korrumpieren könnte, damit er mehrere konkurrierende Blöcke erstellen kann. Praktisch eingesetzte Proof-of-Stake-Ketten wie Blackcoin genießen meines Wissens keine solchen Garantien (und können wirklich keine Ansprüche erheben, da sie keine Sicherheitsnachweise haben).

Ouroboros Genesis verstärkt die obigen Ergebnisse dadurch, dass die Parteien dynamisch sind (und zB offline gehen können) und die Sicherheit in einem stärkeren Modell bewiesen wird.

Alle diese Arbeiten (die Beweise sowohl für Bitcoin als auch für Ouroboros) verwenden auch die Random Oracle-Annahme, die einige Kryptographen nicht mögen.

All diese Ansätze sind mit anderen Arbeitsrichtungen wie Schneewittchen und ALGORAND vergleichbar . Meiner Meinung nach erreicht Ouroboros bessere Garantien, hat gute Designentscheidungen, hat formale Sicherheitsnachweise und funktioniert in einem Modell, das Proof-of-Work-basierten Systemen (insbesondere Praos) ziemlich ähnlich ist. Es würde einer umfassenden Analyse bedürfen, sie alle nebeneinander zu vergleichen.

Ob Sie letztendlich mit den Sicherheitsannahmen und dem Bedrohungsmodell in diesen Arbeiten zufrieden sind, hängt von Ihren Anforderungen ab. Insgesamt erzielen diese Arbeiten einige gute Garantien, aber einige Ergebnisse lassen zu wünschen übrig. Beispielsweise kann die ehrliche Mehrheit die meiste Zeit gelten, nicht immer, aber es wurde nicht untersucht, ob die Sicherheit in diesen Umgebungen gewährleistet ist (weder bei Bitcoin noch bei Ouroboros). Ich vermute, dass Bitcoin widerstandsfähiger gegenüber extremen Bedingungen ist, aber solche Garantien wurden nicht bewiesen.

Im Allgemeinen ist anzumerken, dass diese Einschränkungen/Annahmen auch für Bitcoin gelten: Die besten formalen Beweise, die wir für Bitcoin haben, funktionieren in einem begrenzten Modell, das der realen Konstruktion nahe kommt, aber nicht genau dasselbe ist. Zusammenfassend ist Backbone die beste Analyse, die wir für Bitcoin haben, und sie erstellt eine Analyse, die mit Ouroboros vergleichbar ist. Daher entsprechen seine Sicherheitsgarantien den Sicherheitsgarantien, die wir für Bitcoin haben, wenn man ehrliche Mehrheit abstecken mit ehrlicher Mehrheit schürfen, zumindest solange Beweisbarkeit erforderlich ist.

Wenn Sie diese Papiere selbst verstehen und selbst beurteilen möchten, ob sie Ihre gewünschten Ergebnisse erzielen, empfehle ich Ihnen, zuerst das GKL Backbone-Papier zu lesen. Sie können den ersten Teil lesen, in dem es um Common Prefix, Chain Quality und Chain Growth sowie Liveness und Persistence geht. Dann empfehle ich Ihnen, Ouroboros zu lesen, vielleicht gefolgt von Ouroboros Praos. Diese sollten Ihnen eine gute Vorstellung davon vermitteln, worum es in diesem Arbeitsbereich geht. Sie haben Recht, dass das Verständnis von Ouroboros Genesis viele Voraussetzungen erfordert. Sie können sich jedoch ein gutes Verständnis der Ergebnisse in Bezug auf die Sicherheit des Proof-of-Stakes verschaffen, ohne dieses spezielle Papier zu lesen.

Haftungsausschluss: Ich bin ein Doktorand von Aggelos (Aggelos hat Backbone, Variable Backbone, Ouroboros, Ouroboros Praos, Ouroboros Genesis geschrieben – ich habe zu diesen Arbeiten nichts beigetragen); meine aktuelle wissenschaftliche Arbeit wird in Cardano verwendet, das eine Implementierung von Ouroboros ist. Meine Ansicht mag voreingenommen sein.

Danke für den Einblick in die relevante wissenschaftliche Arbeit dazu. Eine Sache, mit der ich zu kämpfen habe, ist, mit der Annahme zu beginnen, dass ein Großteil der Hashrate in PoW ehrlich ist. Das mag die einzige Möglichkeit sein, Sicherheit zu formalisieren, aber es scheint eine bedeutungslose Annahme zu sein; Wenn der Mehrheit der Hashrate ehrlich gesagt wirklich vertraut würde, könnten wir die Miner einfach durch Signierer ersetzen und sie Blöcke signieren lassen. In Wirklichkeit denke ich, dass die wahre Annahme eher so etwas wie "die Mehrheit handelt rational" ist - was schwer zu formalisieren ist, sich aber stark von den Annahmen in PoS unterscheidet.
@PieterWuille Ich stimme Ihrem Standpunkt zu - es ist mehr Arbeit erforderlich, um die Anreize des Bitcoin-Protokolls zu formalisieren, und dies ist ein schwieriges Problem. Anreize wurden im Backbone-Spiel nicht analysiert, aber es gibt eine Anreizanalyse zu einem einfacheren Spiel (was ich ziemlich einschränkend finde, aber es ist ein erster Versuch). Zu beachten ist, dass in Backbone die ehrliche Strategie aufgrund von Selfish Mining nicht anreizkompatibel sein kann. Ouroboros hat jedoch eine Anreizanalyse, die beweist, dass die ehrliche Strategie ein Nash-Gleichgewicht ist (Abschnitt 7 der Originalarbeit).
@PieterWuille Ein weiterer Punkt in Bezug auf Ihren Kommentar ist, dass wir Bergleute nicht wirklich durch Unterzeichner ersetzen können, selbst wenn wir von einer ehrlichen Mehrheit der PoW-Hashrate ausgehen - denn eine ehrliche Mehrheit ergibt sich nicht aus der Schlüsselzahl, sondern aus Berechnungszyklen (oder Abfragen an das Zufallsorakel). Wie stellen Sie sich eine solche Konstruktion vor? Könnten Sie etwas (ungefähr) im Backbone-Modell basierend auf Signaturen vorbringen?

Soweit ich mich erinnere, gehen die Sicherheitsansprüche dieses Systems davon aus, dass die Benutzer ein synchrones Netzwerk haben – jede Nachricht wird zuverlässig an alle Benutzer übermittelt. Dies ist eine eher nicht-physikalische Annahme, der einzige Weg, wie wir so etwas konstruieren können, ist die Verwendung einer Art Konsenssystem. Was den Namen "Ouroboros" ziemlich passend machen würde. :P

Wenn Sie tatsächlich ein synchrones Netzwerk hätten, bräuchten Sie keinerlei POW/POS, Sie würden nur die Leute ihre Transaktionen senden lassen und die erste gesendete gewinnt. Infolgedessen könnten Sie unter dieser Annahme praktisch jede Art von System als sicher erweisen, sogar solche mit absolut keiner Sicherheit in der realen Welt.

Aufgrund der langen Geschichte unklarer, irreführender, verschleierter oder völlig unehrlicher Behauptungen über die Sicherheit von Personen, die POS und andere alternative Konsenssysteme fördern, denke ich, dass die meisten Experten vorerst die Geduld bei der Überprüfung dieser Dinge verloren haben. Ich möchte vorschlagen, dass jeder, der glaubt, ein wirklich gutes Framework zu haben, es gut täte, es zu verwenden, um zu beweisen, dass ähnliche Alternativen wie Stellar, Ripple oder die Forschung und Entwicklung von Ethereum unsicher sind. Ich sage das aus zwei Gründen: Erstens, wenn jemandes Framework nicht beweisen kann, dass andere Systeme unsicher sind, warum sollten wir dann erwarten, dass es uns mitteilt, ob ihr neues System unsicher ist? Der andere Grund besteht darin, einem unskalierbaren Verhalten zu entkommen, bei dem schlecht durchdachte Schemata über den Zaun geworfen werden und eine begrenzte Anzahl von Personen sättigen, die sie überprüfen können. Ich denke auch, dass der beste informelle Beweis dafür, dass jemand zum Erstellen eines Systems qualifiziert ist, darin besteht, dass er in der Lage ist, Fehler in anderen Systemen zu finden, und ohne so etwas ist es einfach zu schwierig, die Überprüfung gegenüber anderer Arbeit zu priorisieren. Diese Art von Aktivität kann helfen zu klären, welche Eigenschaften ein Angebot tatsächlich bietet.

Ich halte Ihre Kritik an den Synchronizitätsannahmen von Ouroboros für unfair. Die Synchronitätsannahme in den Ouroboros-Papieren, die aus dem früheren Backbone-Papier (GKL) übernommen wird, ist nicht, dass Nachrichten zuverlässig der Reihe nach zugestellt werden , sondern buchstäblich, dass sie zuverlässig außerhalb der Reihenfolge zugestellt werden . Dies wird in beiden Papieren explizit gemacht: Der Gegner muss Nachrichten weiterleiten, kann sie aber umordnen und neue Nachrichten einschleusen. Daher würde Ihr vorgeschlagenes Protokoll, bei dem "die erste Transaktion gewinnt", nicht zu einem Protokoll führen, das einen Konsens erzielt.
Entspricht „Der Gegner muss Nachrichten weiterleiten, kann sie aber neu ordnen“ einem existierenden dezentralen Kommunikationsmedium, das irgendwo auf der Welt verwendet wird?
Ja - siehe meine andere Antwort. Die Annahme entspricht der Tatsache, dass das Netzwerk verbunden ist und Sie andere ehrliche Knoten erreichen können. Abgesehen davon, gibt es Ihres Wissens nach einen formalen Sicherheitsnachweis für Bitcoin, der andere schwächere Annahmen macht, jenseits der synchronen und halbsynchronen Formalismen von Backbone und Pass/Shi? Wenn nicht, warum verlangen Sie dies von Pfahlsystemen?
@dionyziz Ich denke, die Realität ist, dass es für Bitcoin überhaupt keinen Sicherheitsnachweis gibt, der die tatsächlichen Annahmen genau widerspiegelt. Es klingt richtig, dass ein Sicherheitsbeweis mit ähnlichen Annahmen existiert wie der beste existierende Beweis für Bitcoin-ähnliche Systeme – aber ich halte letzteres für bedeutungslos. „Dieses System ist nachweislich so sicher wie Bitcoin“ klingt also nach einer unaufrichtigen Zusammenfassung. Es ist eher „dieses System ist nachweislich so sicher wie eine abgeschwächte Form von Bitcoin, für die zufällig ein Beweis existiert“.
@PieterWuille Sie haben Recht - es gibt keinen Beweis für das vollständige BTC-System, wir vermuten nur, dass es aufgrund empirischer Beweise und Intuition funktioniert. In diesem Sinne wissen wir nicht einmal, ob Bitcoin funktioniert (gegen willkürliche Gegner). Können Sie uns angesichts Ihrer Erfahrung und Ihres Einblicks helfen, die Forschung in die richtige Richtung zu lenken, indem Sie aufzeigen, welche Annahmen im Modell Sie über die Erforschung von Anreizen hinaus geschwächt sehen möchten? Haben Sie Anmerkungen zum gegnerischen Bedrohungsmodell und den Netzwerkannahmen? Wir können nicht hoffen, dass das mathematische Modell die Realität vollständig widerspiegelt, aber wir können uns verbessern ...

Sie müssten definieren, was Sie in diesem Sinne unter „Sicherheit“ verstehen.

Das Lecken von Signaturen ist immer möglich und implementierungsspezifisch, aber das Überschreiben (und das effektive Annullieren der Transaktionen) des Blocks mit reiner Hash-Power, die Sie bei Bedarf abrufen können, ist nicht zu verhindern.

Sie können nicht erzwingen oder vorhersagen, wann ein Einsatz stattfinden wird, daher das Problem.

Können Sie erläutern, was Sie mit "daher das Problem" meinen? Welches Problem meinst du? Danke dir :)
Bezieht sich offensichtlich darauf, warum man sich auf Proof of Stake nicht verlassen kann; da Sie jederzeit mehr Hashpower (für PoW) beschwören können, jedoch nicht mit PoS.
Ich bin mir nicht sicher, warum dies ein Problem ist. Ich gehe davon aus, dass Sie mit "es kann vertraut werden" meinen, dass die Ausfallwahrscheinlichkeit in ausreichenden Grenzen liegt. Der Grund, mehr PoW zu "beschwören", ist, wenn ein gegnerisches PoW erhöht wird und daher die Gefahr besteht, dass die ehrliche Mehrheit verletzt wird. In PoS müssen Sie keinen weiteren Einsatz beschwören, da der Gegner nicht mehr Einsatz beschwören kann. Ist das sinnvoll?
Richtig, aber mein grundlegender Punkt war, dass ein PoS-Block leicht von einem PoW-Block oder mehreren "überschrieben" werden kann.
Ich bin mir nicht sicher, ob ich verstehe, was Sie mit "überschreiben" meinen. Stellen Sie sich ein System vor, bei dem Pfähle und Arbeit verwendet werden, um Blöcke zu erstellen, und einer schwerer als der andere ist? Willst du es erklären?