Dieser Artikel ist eine oberflĂ€chliche Ăbersicht ĂŒber die wichtigsten AnsĂ€tze zur Erzielung eines Konsenses in einem dezentralen Umfeld. Das Material ermöglicht es Ihnen, die Aufgaben zu verstehen, mit denen die betrachteten Protokolle gelöst werden, den Umfang ihrer Anwendung, die Entwurfs- und Verwendungsmerkmale und die Aussichten fĂŒr ihre Entwicklung und Implementierung in dezentralen Buchhaltungssystemen zu bewerten.
Beachten Sie, dass in einem dezentralen Netzwerk das Prinzip der Redundanz angewendet wird, das auf der Tatsache basiert, dass Knoten denselben Job ausfĂŒhren können. FĂŒr ein zentrales Netzwerk ist dies natĂŒrlich ineffizient, und fĂŒr ein dezentrales Netzwerk ist dies eine Voraussetzung. Kommen wir zu den grundlegenden Anforderungen.
Anforderungen des Konsensprotokolls
Protokolle sollten einen zuverlĂ€ssigen Betrieb der Benutzer unter relativ rauen Bedingungen gewĂ€hrleisten und gleichzeitig die Mindestanforderungen erfĂŒllen. Die wichtigsten sind unten aufgefĂŒhrt.
Fehlen einer zentralen vertrauenswĂŒrdigen Partei . Ein Netzwerk besteht aus Peers. Wenn ein Angreifer oder ein Dritter versucht, eine bestimmte Anzahl von Knoten zu deaktivieren, funktioniert das Netzwerk normal weiter, bis ehrliche Teilnehmer die ĂŒberwiegende Mehrheit der Netzwerkknoten kontrollieren.
Ehrliche Mitglieder wissen nicht, welche Websites von Cyberkriminellen kontrolliert werden . Es wird angenommen, dass andere Knoten zu beliebigen Zeitpunkten ausfallen oder willkĂŒrlich funktionieren können, einschlieĂlich der Koordination durch Angreifer, um einen Angriff auf das Netzwerk durchzufĂŒhren. Auch hier wissen ehrliche Teilnehmer nicht, welche der Knoten ehrlich und welche schlecht oder unzuverlĂ€ssig sind.
Es wird davon ausgegangen, dass das
Netzwerk wissentlich unzuverlĂ€ssig ist . Einige Nachrichten werden möglicherweise mit groĂer Verzögerung zugestellt, wĂ€hrend andere im Netzwerk verloren gehen und möglicherweise ĂŒberhaupt nicht zugestellt werden. Unter solchen UmstĂ€nden sollte der dezentrale Konsens weiterhin normal funktionieren: Alle ehrlichen Knoten sollten in den gleichen Zustand der Datenbank bestĂ€tigter Transaktionen gelangen.
Protokolle sollten vollstĂ€ndig formal sein . Es sollte keine zusĂ€tzliche Beteiligung des Menschen erfolgen, und es sind keine zusĂ€tzlichen Daten erforderlich. Alle ehrlichen Knoten mĂŒssen zu derselben Lösung kommen und vollstĂ€ndig dem Algorithmus folgen, den der Computer ausfĂŒhrt.
DarĂŒber hinaus
gibt es bestimmte Annahmen, unter denen das Protokoll einen korrekten Betrieb garantiert . Ehrliche Knoten sollten die Mehrheit aller Teilnehmer ausmachen: mehr als œ oder â
ihrer Gesamtzahl. Die Entscheidungszeit ist jedoch nicht begrenzt. Die EinschrÀnkung kann sich auf die Anzahl der Schritte beziehen, um eine Entscheidung zu treffen, jedoch nicht auf die Zeit.
Bereiche der Konsensprotokolle
Digitale WĂ€hrungen
Dies gilt zunĂ€chst fĂŒr KryptowĂ€hrungen: Bitcoin verwendet den Nakamoto-Algorithmus, Ethereum verwendet eine vereinfachte Version von GHOST, Bitshares implementiert delegierten PoS usw.
Es ist zu beachten, dass eine Community, die eine bestimmte digitale WĂ€hrung unterstĂŒtzt, nicht immer groĂ und dezentral ist. Es gibt eine Reihe anderer digitaler WĂ€hrungen, die zentralisiert sind. Dies bedeutet jedoch nicht, dass kein Konsensmechanismus erforderlich ist. Beispielsweise verwendet Ripple das BFT-Protokoll in einer zentralisierten Umgebung.
HochzuverlÀssige und kritische Systeme
Konsensprotokolle werden in hochzuverlĂ€ssigen Computersystemen verwendet. Sie können verwendet werden, um beim Aufbau von Clustern auf verteilte Datenbanken zuzugreifen, und sie werden notwendigerweise auch in kritischen technischen Systemen verwendet: Dies können Steuerungssysteme fĂŒr FlugzeugausrĂŒstung, Steuerungssysteme fĂŒr Kernreaktoren sowie Weltraumtechnologien sein.
Am 6. Februar 2018 fand der Start des Falcon Heavy statt. Es war interessant, ihn zu beobachten und technische Bewertungen zu lesen. Es war jedoch nicht weniger interessant zu lesen, welche Konsensalgorithmen das Team verwendet. Ingenieure waren gezwungen, einfache Elektronik zu verwenden, die in normalen GeschÀften verkauft wird und unter schwierigen Raumbedingungen nicht sehr zuverlÀssig funktioniert. Daher verwenden sie bei ihrer Arbeit mehrere Redundanzen, und in diesem Fall ist es notwendig, einen Konsens zu erzielen.
KryptowÀhrungen
KryptowĂ€hrungen funktionieren in Peer-to-Peer-Netzwerken. In diesem Fall werden Nachrichten oder Transaktionen zu beliebigen Zeitpunkten zwischen Netzwerkteilnehmern ĂŒbertragen. Angenommen, es gibt Mitglieder in den USA und Mitglieder in Australien im Netzwerk. Zahlungen aus den USA werden von Teilnehmern aus Amerika frĂŒher gesehen als Zahlungen aus Australien. Dies ist auf die nach Computerstandards schwerwiegende Verzögerung bei der Zustellung einer Nachricht von einem Kontinent auf einen anderen zurĂŒckzufĂŒhren. Bei den Australiern wird die Situation Ă€hnlich sein, da sie Zahlungen aus Australien frĂŒher als Zahlungen aus den USA sehen werden.
Die oben beschriebene Situation bedeutet, dass verschiedene Netzwerkteilnehmer zu einem bestimmten Zeitpunkt einen unterschiedlichen Endzustand der Datenbank mit Transaktionen sehen. Da Transaktionen zu unterschiedlichen Zeiten von Benutzern an PrĂŒfer gesendet werden, ist ein Protokoll erforderlich, mit dem jeder Knoten unabhĂ€ngig von seinem Standort alle Transaktionen in derselben Reihenfolge empfangen kann.
GrundsĂ€tzlich werden zwei AnsĂ€tze fĂŒr den Betrieb von KryptowĂ€hrungs-Abrechnungssystemen verwendet: PoW, das am hĂ€ufigsten verwendet wird, und PoS, das in letzter Zeit aktiv entwickelt wurde.
In PoW wird ein zusĂ€tzlicher Arbeitsaufwand geleistet, der nun darin besteht, den Prototyp der Hash-Funktion zu finden. TatsĂ€chlich kommt es zu einer kĂŒnstlichen Verlangsamung des Netzwerks, um die Sicherheit zu gewĂ€hrleisten. Um eine böswillige Aktion auszufĂŒhren, muss ein Angreifer die erforderliche Menge an Arbeit ausfĂŒhren. Dies erfordert eine enorme Menge an Energie und macht die Implementierung von Angriffen nicht sehr effektiv. Dieser Ansatz gewĂ€hrleistet die ZuverlĂ€ssigkeit des Netzwerks. Die Notwendigkeit, eine solche ressourcenintensive Aufgabe auszufĂŒhren, begrenzt jedoch die Bandbreite des Netzwerks, das auf diesem Protokoll ausgefĂŒhrt wird. Die Wissenschaftler arbeiten jedoch weiterhin am PoW-Ansatz und schlagen neben der Suche nach dem inversen Bild der Hash-Funktion alternative Schemata sowie andere ressourcenintensive Aufgaben vor. KĂŒrzlich wurde ein Algorithmus vorgeschlagen, der auf dem
Nachweis von Raum und Zeit basiert.
Mit PoS können Sie eine höhere Netzwerkbandbreite bereitstellen und benötigen keine ĂŒbermĂ€Ăigen Energiekosten wie PoW. PoS erfordert jedoch eine ernsthaftere Analyse bei der Entwicklung und Implementierung von KryptowĂ€hrungen.
In PoS-basierten Buchhaltungssystemen wird davon ausgegangen, dass Benutzer, die eine groĂe Anzahl von MĂŒnzen besitzen, nicht rentabel angreifen können. Wenn ein Unternehmer in Buchhaltungssystemen, die auf einem PoW-System basieren, Geld in AusrĂŒstung investiert und fĂŒr Strom bezahlt und dann das System erfolgreich angreift, verliert er seine Investition in den Bergbau. In PoS wird ein anderer Ansatz gewĂ€hlt: Wenn angenommen wird, dass der Angreifer in bestimmte MĂŒnzen investiert hat, an deren Werten er interessiert ist, verliert er bei einem erfolgreichen Angriff auf das System seine Investitionen, da die MĂŒnzen an Wert verlieren. Daher wird die profitabelste Strategie als ehrliche Einhaltung des Protokolls angesehen.
Kurzes Glossar
Sicherheit - die FĂ€higkeit des RechnungsfĂŒhrungssystems, die Grundprinzipien der Funktionsweise und die Interessen ehrlicher Teilnehmer im Falle böswilliger EinflĂŒsse aufrechtzuerhalten.
EndgĂŒltigkeit - eine Eigenschaft, die die Unwiderruflichkeit einer Entscheidung oder bestĂ€tigter Daten anzeigt.
Liveness ist eine Eigenschaft, die sicherstellt, dass alle ehrlichen Mitglieder, die einen Eintrag zu einer gemeinsamen Datenbank hinzufĂŒgen möchten, dort hinzugefĂŒgt werden.
Persistenz - die FÀhigkeit des Buchhaltungssystems, die UnverÀnderlichkeit des Endzustands seiner Datenbank auch dann aufrechtzuerhalten, wenn alle Validatoren fehlgeschlagen sind.
Berechtigt - Zeigt eine EinschrÀnkung an,
dh die Notwendigkeit, eine Genehmigung zur Teilnahme an einem bestimmten Prozess einzuholen.
Ohne Erlaubnis - bedeutet freien Zugang zur Teilnahme an einem bestimmten Prozess.
Konsensprotokoll von Ouroboros
Ouroboros ist ein PoS-basiertes Protokoll, das einen Konsens zwischen Cardano-Validatoren fĂŒr digitale WĂ€hrungstransaktionen bietet. DarĂŒber hinaus ist der Algorithmus selbst der erste nachweislich stabile unter allen PoS-Alternativen.
Betrachten Sie zunĂ€chst eine einfachere Option basierend auf dem statischen Einsatz, wenn davon ausgegangen wird, dass sich die vorhandene Verteilung der MĂŒnzen nicht Ă€ndert.

Es gibt einige Genesis-Blöcke, und Benutzer bilden neue Transaktionen, die jedoch die Verteilung nicht wesentlich beeinflussen.
Der Genesis-Block enthĂ€lt Daten mit einem zufĂ€lligen Wert, mit deren Hilfe die Auswahl der Validatoren erfolgt. Mit ihnen können Sie den Block zu einem bestimmten Zeitpunkt freigeben. Der Validator, der dieses Recht erhalten hat, sammelt Transaktionen, empfĂ€ngt sie von einem anderen Validator, ĂŒberprĂŒft die Richtigkeit und gibt den Block an das Netzwerk frei. Wenn er mehrere Ketten sieht, wĂ€hlt er die lĂ€ngste aus und befestigt den Block daran.
Im Zusammenhang mit der Situation im Zusammenhang mit statischen EinsĂ€tzen können wir diesen Ansatz fĂŒr einen bestimmten Zeitraum verwenden, aber dann kann sich die Verteilung des Einsatzes (Einsatzverteilung) zwischen verschiedenen Benutzern Ă€ndern. Mit anderen Worten, ein Teil des Geldes geht von einem Benutzer zum anderen, und Sie mĂŒssen die Wahrscheinlichkeit anpassen, mit der Sie das Recht erhalten, einen Block auszuwĂ€hlen.
Hinweis : Ein statischer Einsatz impliziert, dass ein bestimmter Zeitraum des Validator-Einsatzes als unverĂ€ndert betrachtet wird. Der PrĂŒfer kann zu diesem Zeitpunkt an der Entscheidung teilnehmen und Zahlungen leisten, aber die Anzahl der MĂŒnzen in seinem Einsatz und damit das Gewicht seiner Stimme bleiben bis zum nĂ€chsten Zeitraum unverĂ€ndert.
Im Falle eines dynamischen Einsatzes wird die Zeit in Slots und die Slots in Epochen unterteilt. Die Dauer einer Ăra entspricht ungefĂ€hr der Dauer eines Tages. Dieses VerhĂ€ltnis ergibt sich aus der Tatsache, dass sich die Verteilung der MĂŒnzen in diesem Zeitraum nicht wesentlich Ă€ndern kann.
Am Ende der Ăra wird die aktuelle Verteilung der MĂŒnzen fĂŒr jeden Benutzer aufgezeichnet. DarĂŒber hinaus wird ein neuer Zufallswert generiert, um sicherzustellen, dass Benutzer, die zur Generierung von Blöcken berechtigt sind, in der nĂ€chsten Ăra tatsĂ€chlich zufĂ€llig nach der Anzahl ihrer MĂŒnzen ausgewĂ€hlt werden.
Ebenso besteht ein Schutz gegen die sogenannten Schleifangriffe, wenn ein bestimmter Benutzer verschiedene Optionen fĂŒr Blöcke und verschiedene Optionen fĂŒr die ZufĂ€lligkeit sortieren kann, um die Kette zu bilden, in der er seinen Gewinn maximieren kann. KryptowĂ€hrungen, die auf PoS-Protokollen der ersten Generation wie Peercoin und NXT basieren, sind potenziell anfĂ€llig fĂŒr solche Angriffe.
Die Entwickler dieses Algorithmus haben die oben genannten Probleme gelöst. Validatoren starten untereinander ein spezielles Protokoll, das als MPC (Multi-Party-Berechnung) bezeichnet wird und es ermöglicht, gemeinsam ZufÀlligkeiten zu generieren. Dieses Protokoll ist auch nachweislich robust und basiert auf seit langem etablierten AnsÀtzen.
Das Ouroboros-Protokoll bietet Persistenz, vorausgesetzt, die Mehrheit der ehrlichen PrĂŒfer befindet sich im System. Wenn ehrliche Teilnehmer, die an der Frage der Blöcke arbeiten, mehr als 50% der MĂŒnzen im System kontrollieren, kann das Protokoll als geschĂŒtzt betrachtet werden.
Ein Mechanismus von Anreizen (Motivation) fĂŒr ehrliches Verhalten wurde entwickelt. Mit Hilfe der Spieltheorie wird bewiesen, dass der Validator den maximalen Nutzen erzielt, wenn er die Regeln des Protokolls befolgt. Eine Teilnahme an der Kommission von Angriffen erhöht nicht nur den Gewinn des Teilnehmers, sondern kann ihn in einigen FĂ€llen verringern. Daher besteht die rentabelste Strategie fĂŒr den Validator darin, die Regeln des Protokolls ehrlich zu befolgen.
Die KapazitĂ€t des Abrechnungssystems wird nur durch Verzögerungen wĂ€hrend der Netzwerksynchronisation begrenzt. Dieses Protokoll bietet im Vergleich zum Arbeitsnachweis eine hohe Energieeffizienz, da hier keine Bergbaubetriebe benötigt werden. FĂŒr die Erfassung von Transaktionen und die Freigabe von Blöcken reicht nun ein normaler Personal Computer aus. In Zukunft können diese Berechnungen sogar auf einem normalen Smartphone durchgefĂŒhrt werden.
Zu den EinschrĂ€nkungen des Ouroboros-Protokolls gehört die Tatsache, dass die erste Version des Protokolls synchron ist. Dies bedeutet, dass Nachrichten zwischen Teilnehmern in einem begrenzten Zeitraum zugestellt werden mĂŒssen. Wenn das Netzwerk lĂ€ngere Verzögerungen aufweist als in den Regeln festgelegt, kann dies die Sicherheit beeintrĂ€chtigen. Es ist jedoch bereits geplant, die nĂ€chste Version des Protokolls zu verwenden - Ouroboros Praos. Selbst bei zunehmenden Netzwerkverzögerungen ist die vollstĂ€ndige Sicherheit gewĂ€hrleistet.
Probleme mit PoW in Bitcoin
Betrachten Sie den Konsens, der Bitcoin zugrunde liegt. Ein Teil der Blöcke, die von ehrlichen Benutzern generiert werden, wird immer noch verworfen - dies sind die sogenannten Orphan-Blöcke. Diese Blöcke werden parallel zur Hauptkette generiert, aber der gröĂte Teil des Netzwerks hat entschieden, dass diese Kette nicht fortgesetzt werden soll, und die Blöcke werden verworfen.
Wenn es nur wenige solcher Blöcke gibt, gibt es keinen Grund zur Sorge. Wenn es jedoch viele davon gibt, hat das Netzwerk keine Zeit zum Synchronisieren, und es stellt sich heraus, dass ein Teil der Rechenleistung ehrlicher Netzwerkbenutzer verschwendet wird. Dies bedeutet, dass der Angreifer jetzt nicht um 51% der Rechenleistung des Netzwerks kĂ€mpfen muss, sondern um einen geringeren Prozentsatz. Wenn dieser Wert 20% betrĂ€gt, kann ein Angreifer mit 20% Rechenleistung und einer groĂen Verzögerung bei der Zustellung von Netzwerknachrichten einen Angriff mit doppelten Ausgaben implementieren.
Daher wird in Bitcoin ein Zeitintervall zwischen den abgebauten Blöcken von 10 Minuten festgelegt. Dank dessen kann das Netzwerk klar synchronisieren und die Wahrscheinlichkeit, dass solche Blöcke auftreten, wird verringert. Wenn Sie den Netzwerkdurchsatz durch Erhöhen der HĂ€ufigkeit der Blockbildung erhöhen mĂŒssen, benötigen Sie eine andere Lösung.
Geist
Die erste solche Lösung war das GWOST PoW-Protokoll. Die vereinfachte Version wird auf der Ethereum-Plattform verwendet.

In diesem Fall kann der Angreifer an seiner Kette (in der Abbildung rot markiert) ziehen und sie zur lÀngsten machen, aber sie wird nicht gewinnen. Ehrliche Benutzer werden der Kette folgen, die sie zuvor gebaut haben.
Ehrliche Benutzer können in diesem Fall zwei Ketten haben. Die lĂ€ngste (1B-2D-3F-4C-5B), aber sie ist kĂŒrzer als die Angreifer-Kette. Die Besonderheit von GHOST ist, dass sich der Algorithmus nicht auf die lĂ€ngste Kette konzentriert, sondern auf die Anzahl der Blöcke im Baum, die von der aktuellen Kette gebildet werden. Es berĂŒcksichtigt nicht nur die LĂ€nge der Kette selbst, sondern blockiert auch in unterschiedlichen Höhen. Das Ergebnis ist also keine lineare Kette, sondern ein Baum. Die Anzahl der darin enthaltenen Blöcke wird berĂŒcksichtigt.
Wenn Sie sich die Kette 1B-2C-3D-4B ansehen, sind die zugehörigen Blöcke 3E und 3C sichtbar. Aufgrund der Anzahl der Blöcke und des Arbeitsaufwands weist diese Kette die gröĂte KomplexitĂ€t auf und wird als Hauptkette angesehen. Ehrliche Benutzer werden es trotz der Versuche des Angreifers, das Netzwerk anzugreifen, weiterhin als das wichtigste betrachten. Im traditionellen Nakamoto-Konsens wĂ€re ein solcher Angriff erfolgreich gewesen, stellt jedoch keine Bedrohung fĂŒr GHOST dar.
Der Nachteil von GHOST ist jedoch die Tatsache, dass ein Teil der Blöcke immer noch verloren geht. In diesem Fall wird die 2D-3F-4C-5B-Kette weiterhin gelöscht. Folglich bleibt die Frage offen, Blöcke ehrlicher Benutzer fallen zu lassen.
SPECTRE und PHANTOM
Um die HÀufigkeit der Blockbildung zu erhöhen und das Problem des Löschens von Blöcken ehrlicher Benutzer zu lösen, wurden zwei weitere PoW-Protokolle vorgeschlagen: SPECTER und PHANTOM.

Sie verwenden nicht einmal mehr eine Baumstruktur, sondern den sogenannten gerichteten azyklischen Graphen (DAG). In diesem Fall enthÀlt der Validator Zeiger auf Blöcke, auf die noch nicht von anderen Validatoren verwiesen wurde, im Header seines Blocks, zumindest in dem Netzwerkstatus, den er zum aktuellen Zeitpunkt sieht, und sendet den Block weiter.
Daher wird eine Struktur erhalten, in der alle Blöcke enthalten sind, die die Validatoren zum aktuellen Zeitpunkt sehen. Hier geht die Bergbaukraft ehrlicher Benutzer ĂŒberhaupt nicht verloren. DarĂŒber hinaus bietet es eine hohe Netzwerkbandbreite und ein hohes MaĂ an Sicherheit. Der Vorteil dieses Ansatzes ist die Tatsache, dass das System wirklich dezentralisiert ist.
Vergleichen wir die Funktionen des Bitcoin-Netzwerks und des Netzwerks, das mit den Protokollen SPECTER und PHANTOM funktioniert. Wenn wir ĂŒber die aktuelle Situation im Bitcoin-Netzwerk sprechen, lohnt es sich, den Mining-Pools groĂe Bedeutung beizumessen. Im modernen Bitcoin werden pro Tag 144 Blöcke freigegeben. , 10. , , , , . . (/), .
SPECTRE PHANTOM . , , SPECTRE PHANTOM, . , .
, SPECTRE PHANTOM , .
BFT-
, â BFT- (Byzantine Fault Tolerance).

, 80- XX . , - . , . , . , , , , . - , . . , .
BFT- . , , . . , , . , . : .
, â
. BFT- , . BFT- , .
BFT-. , , , , , , Genesis . , . BFT- .
BFT-
Practical BFT
, , Practical BFT. 1999 . . , . . , . , â
.
â
, .

, , , , . , , , , . , , , . .
, , DoS- .
HoneyBadger BFT
HoneyBadger BFT . , , . . HoneyBadger : RBC (Reliable broadcast) BA (Byzantine Agreement).

RBC- . , , â
. BA- , .
. , , . . : - , . , , .
Algorand Hashgraph.
Algorand
Algorand 2017 . BFT-, , , . , .

, , , â
, â
. , « » (DoS-). , , adaptive corruption.
, , . , ( , â
). .
BFT-, safety persistence. .
, liveness, , . , , ( ) . . , .
Hashgraph
Hashgraph . , , , , .

, : «», , , .
Hashgraph , , , . . , Algorand, . Hashgraph safety liveness, . , .
, , , , . â
, .
BFT
BFT-. . . , â
. , Algorand Hashgraph, .
: permissioned . , . , . , .
permissionless , . . .
Distributed Lab , .HĂ€ufig gestellte Fragen
â ?, , . : Algorand Hashgraph BFT-, PoS- Ouroboros. 2018 PHANTOM. .
â Ouroboros , , , ?grinding-, . Ouroboros persistence liveness: , , . , , , .
persistence . , , MPC . , . , MPC , , , . . - , , . . «» ( ), .
â , ?, . . PHANTOM, SPECTRE Ouroboros.
, .
â PHANTOM SPECTRE, ? .PHANTOM SPECTRE . , . PHANTOM SPECTRE , . , . , . , , , .
â BFT -?. PBFT, -, . Algorand Hashgraph, .
â PBFT ?( ) . , , , .
â , Algorand â DPoS (Delegated Proof-of-stake), . Delegated Proof-of-stake , . . Algorand, , .
â , ?SPECTRE PHANTOM â . SPECTRE , .