Typ 2 ist die Verschlüsselungstechnologie.
Der dritte Typ ist verteilter Speicher. Die Vorteile der verschiedenen verteilten Speicher aus dem herkömmlichen zentralen Speicher spiegeln sich hauptsächlich in zwei Aspekten wider: Dateninformationen werden auf jedem Knoten kopiert und vermeidet den Verlust von Daten, die sich aus einem Daten zu jedem Knoten ergeben. Historische Daten. intelligente Verträge: Smart Contracts bieten zuverlässige dritte Teile. Es hat die Vorteile von Transparenz, Vertrauen, automatischer Implementierung und obligatorischer Einhaltung. Die Blockchain -Technologie verfügt über viele einzigartige Funktionen, die es zu einer einzigartigen Erfindung machen und ihm eine unbegrenzte Vision bieten. Was ist die Grundtechnologie für Blockchain?Einfach eine verteilte Datenbank liefert Toleranz mit einem byzantinischen Fehler und sorgt für die endgültige Konsistenz. Füreinander;
Das oh2e Konzept kann sehr abstrakt sein. Erlauben Sie mir, Ihnen ein Beispiel zu geben, und Sie werden es leicht verstehen.
Sie können sich vorstellen, dass auf der ganzen Welt 100 PCs verteilt sind und das Netzwerk zwischen diesen 100 Maschinen ein breites Netzwerk ist und dass die Eigentümer dieser 100 Maschinen sich nicht gegenseitig vertrauen.
, welche Art von Algorithmus (Konsensmechanismus), mit dem wir ihm eine zuverlässige Umgebung bereitstellen und den Datenaustausch zwischen dem Vertrag nicht voll von Individuum und den erstellten historischen Aufzeichnungen machen können manipuliert;
Jeder Knotendaten wird mit den neuesten Daten synchronisiert und die neuesten Daten werden validiert.
Ein Gebäude, das objektiv das Datum des Austauschaustauschs widerspiegelt.
Blockchain ist eine technische Lösung, um die oben genannten Probleme zu lösen.
2.
1. Zum Beispiel: Wenn Sie zum ersten Mal einen anderen Vertrag anrufen, werden Sie aufgefordert, die Situation gemäß dem Handshake -Protokoll zu bestätigen und die Adressdaten anzufordern und Peer -Knot -Daten nach dem Schütteln der Hände zu verbieten.
Das P2P -Interaktionsprotokoll enthält auch seine Sammlung von Anweisungen, da die Akquisition und Erfassung alle grundlegenden und grundlegenden Funktionen sind. Wenn Sie ein tieferes Verständnis erhalten möchten, können Sie sich auf das PeerDissovery -Kapitel beziehenIm Bitcoin Developer Guide.2. Mit den gefallenen Eigenschaften des byzantinischen Fehlers.
Wenn wir es aus der Perspektive der technologischen Entwicklung betrachten, können wir ein Diagramm zeichnen, in dem die Blockchain -Technologie verteilt ist, wird die Formel der Formel wirtschaftlich erweitert.
Abbildung können wir sehen, dass Computeranwendungen am Anfang meist eine Anwendungen waren und die Verfügbarkeit und der Komfort des kalten Gebrauchs zu einem späteren Zeitpunkt. Diese Mehrfachgeister können an anderer Stelle verwendet werden.
im Bereich der Blockchain, der POW -Eigenschaft des Arbeitsgrithmus, der POS -Eigenschaft des staatlichen Gensms und der Proxy -Prog der Sourdermen. Klassische Algorithmen werden unter Konsistenzalgorithmen verteilt, dass sie das Konzept des Wirtschaftsspiels integrieren.
POW: Normalerweise unter bestimmten Einschränkungen, ein mathematisches Problem auf einen bestimmten Schwierigkeitsgrad zu lösen. Dieser Lösungsprozess wird häufig in ein Computerproblem umgewandelt. Beim Vergleich der Geschwindigkeit ist die Berechnung der Berechnung besser und die Ausführung seiner Geräte besser.
pos: Dies ist ein Beweis für den Aktienmechanismus. Die Idee ist: Verwenden Sie die geschlossene Codewährung, und beweisen Sie eine kleine Arbeit, um den gezielten Wert zu berechnen.
DPOS: Um es einfach zu verstehen, müssen die Notizbücher im POS -Konsensusalgorithmus in einen kleinen Kreis umwandeln, der aus einem bestimmten Vertrag besteht, anstatt dass jeder an den Büchern der Bücher teilnehmen kann. Dieser Kreis kann 21 Verträge oder 101 Verträge enthalten. Dies wird die Systemproduktivität erheblich erhöhen, da ein weniger Vertrag bedeutet, dass das Netzwerk und die Knoten kontrolliert werden können.
3. Der Einzelhandelalgorithmus hat die Eigenschaften des Kollisionsbeständigkeit, die Unfähigkeit, das Originalbild zu beenden, und die einfache Probleme.
Serendipity ist die Grundlage für viele POW -Währungen.
In Litecoin werden wir auch einen Scrypt -Algorithmus sehen. In einigen anderen Währungen können wir auch Bergbaualgorithmen auf der Grundlage des SHA3 -Algorithmus sehen. Ethereum verwendet eine verbesserte Version des Dolch-Hashimoto-Algorithmus, der als Ethash bezeichnet wird und eine Lösung ist, die gelöst werden kann.
Natürlich verwenden wir zusätzlich zu Mining -Algorithmen den RIPEMD160 -Algorithmus, der hauptsächlich zum Erstellen von Adressen verwendet wird.
Zusätzlich zur Adresse werden wir auch die meisten Märkte verwenden, was auch der Eckpfeiler des charakteristischen Symbolsystems ist: den allgemeinen und privaten Schlüsselalgorithmus.
Im Haupt -Bitcoin -Kategoriecode wird ECDSA hauptsächlich verwendet. ECDSA ist eine Mischung aus ECC und DSA.
technisch gesehen erstellen wir den privaten Schlüssel, dann erstellen wir den öffentlichen Schlüssel aus dem privaten Schlüssel und erstellen schließlich die Adresse aus dem öffentlichen Schlüssel. Es ist unmöglich, aus der Adresse abzuschließen.4. Verwenden Sie die Datenbank?
Blockchain, Überbauung, bezogen sich auf eine Vielzahl von Datenbanken, einschließlichBerkelydb von NoSQL verwenden einige Währungen SQLite auf der Grundlage von SQL. Da die grundlegenden Speichereinrichtungen von ihnen aus leicht gebauten Datenbanken sind.
Die Merkmale des Buches des Professors in Blockchain werden normalerweise in die UTXO -Struktur und die Buchstruktur des Professors auf der Grundlage der Struktur des Gleichgewichts unterteilt, die wir auch die Buchform des Professors bezeichnen. UTXO ist die Abkürzung von "unlacpentransactationputInput/output", was sich in "Insertion und Entfernung der minderwertigen Transaktion" übersetzt.
Buchhaltungsform für die charakteristische Symbolübertragung in dieser Blockchain erscheint jede Übertragung in Form von Eingang und Ausgängen.
Was ist die Blockchain -Technologie? Der sogenannte Konsensmechanismus ist ein Sportalgorithmus im Blockchain -System, um Vertrauen zu schaffen und Rechte zwischen den verschiedenen Verträgen zu erhalten. Blockchain ist ein wichtiges Konzept für Bitcoin, das nicht zentral ist. Es wird als grundlegende Bitcoin -Technologie verwendet. Blockchain ist eine Reihe von Datenblöcken, die durch Verschlüsselungsmethoden erstellt wurden.Im engen Sinne ist es die Struktur der Daten der Serie, die Datenblöcke in der Sequenz in chronologischer Reihenfolge kombiniert, und eine Garantie im verschlüsselten Buch des Professors.
In großem Maßstab verwendet die Blockchain -Technologie Blockchain -Datenstrukturen, um Daten zu überprüfen und zu speichern. Dadurch werden intelligente Verträge aus dem automatischen Programmcode für Programmier- und Datenbetriebverwendet
Wie man die Vereinbarung auf Blockchains sortiert und in welcher Reihenfolge Blockchain Datenblöcke in Sequenz mithilfe von Blockchain des Pools und dem Nachweis der Genehmigung von Chi -Aktien verbindet.
Blockchain ist eine Kette, die aus einem Block nach dem anderen besteht. Einige Informationen werden in jedem Block gespeichert und mit einer Kette ihrer jeweiligen Zeit verbunden. Diese Kette wird auf allen Servern gespeichert. Diese Server werden in Blockchain -Systemen als Knoten bezeichnet und bieten Speicherplatz und Datenunterstützung für das gesamte Blockchain -System.
Blockchain --- Konsensalgorithmus
Pow-Algorithmus ist ein Mechanismus, um zu verhindern, dass verteilte Service-Ressourcen missbraucht werden und Dienstangriffe verweigert werden. Es erfordert, dass Knoten komplexe Vorgänge ausführen, die Zeit und Ressourcen ordnungsgemäß ausgeben, und ihre Berechnungsergebnisse können schnell von anderen Knoten bestätigt werden, um sicherzustellen, dass Dienste und Ressourcen nach realen Bedürfnissen verwendet werden.
Das grundlegendste technische Prinzip des POW -Algorithmus ist die Verwendung eines Hash -Algorithmus. Angenommen, Sie finden den Hash -Wert -Hash (s), und wenn die ursprünglichen Daten R (RAW) sind, ist das Berechnungsergebnis (Ergebnis).
r = Hash (s)
Das charakteristische Merkmal der Hash -Funktion Hash () ist, dass für jeden Eingangswert R das Ergebnis erhalten wird und nicht von R umgekehrt werden kann, wenn die Eingabeinformationsdaten r ändert sich mit 1 Bit, das Ergebnis wird vollständig geändert. Im POW -Algorithmus des Bitcoin werden die Schwierigkeiten der Algorithmen eingeführt und zufälliger Wert n, um die folgende Formel zu erreichen:
rd = Hash (r+n)
Diese Formel erfordert zufällig gefüllte Im Falle des Wertes N muss die erste Stadt des Berechnungsergebnisses RD 0 betragen. Aufgrund der unbekannten Natur der Hash -Funktionsergebnisse muss jeder Bergmann viel ausführen Vorgänge, bevor er das richtige Ergebnis erzielen kann. . Der POW -Algorithmus verwendet diese Methode, um die Berechnung von Ressourcen zu konsumieren, und die Überprüfung dauert nur eine Zeit.
?
POS -Algorithmus erfordert, dass Knoten bestimmte Mittel zur Berechtigung für Bergbau und Verpackung verpflichten müssen, und das regionale Kettensystem verwendet eine zufällige Methode bei der Auswahl von Verpackungsknotenfonds, desto größer ist die Wahrscheinlichkeit, dass sie ausgewählt werden, um verpackt zu werden.
Im POS -Modus erzeugt jede Währung 1 Währungsalter pro Tag. Wenn Sie zu diesem Zeitpunkt einen POS -Block überprüfen, wird das Währungsalter auf 0 entfernt und die entspre chenden digitalen Währungszinsen vom Block erhalten.
Der Prozess der Knoten in der Blockerzeugung durch den Posorithmus lautet wie folgt: Wenn Sie Blockgenerierungsknoten werden, müssen regelmäßige Knoten zunächst Vermögenswerte verspre chen. sie zum gesamten Netzwerk.
?
DPOS -Algorithmus ähnelt dem Possenhmus und verwendet auch Aktien und Eigenkapitalsysteme.
Aber der Unterschied besteht darin, dass der DPOS -Algorithmus eine vertrauenswürdige Hebemethode anführt, die der Auswahl von N -Supernoden für die Registrierung von Konten und Blöcken durch Auswahl von Vertretern ganzer Personen ähnelt.
Wähler wählen ihre Stimmen für einen Knoten.
n -Die Buchhaltungsknoten werden abwechselnd Blöcke abgeben, und die Knoten überwachen sich gegenseitig.
Wenn man sich auf eine kleine Anzahl ehrlicher Knoten verlassen, können unnötige Schritte im Blocksignaturprozess entfernt werden, was die Transaktionsgeschwindigkeit verbessert.
?
Byzantinisches Problem:
Byzantin war die Hauptstadt des alten Römischen Römerimperiums, und um eine von einem einzelnen General angeführte Armee zu verteidigen, war in jedem Lehen stationiert. Im Krieg müssen alle Generäle einen Konsens erreichen und entscheiden, ob sie gemeinsam einen Krieg beginnen sollen.
Es kann jedoch Verräter in der Armee geben, und diese Menschen werden die Generäle betreffen, um einen Konsens zu erreichen. Der ByzantinerDie allgemeine Frage bezieht sich auf die Frage, wie die verbleibenden Generäle eine vereinbarte Entscheidung treffen, wenn sie als Verräter bekannt sind.
BFT:
BFT ist eine byzantinische Fehlertoleranz. Die byzantinische Hypothese ist ein Modell der realen Welt aufgrund von Hardwarefehlern, Computer und Netzwerken können aufgrund von Networking oder Unterbrechungen und böswilligen Angriffen unvorhersehbares Verhalten erleben. Die byzantinische Fehlertoleranztechnologie ist für diese Abweichungen ausgelegt und die normativen Anforderungen für die Lösung der Probleme erfüllt.
byzantinisches Fehlertoleranzsystem:
Der defekte Knoten wird als byzantinischer Knoten bezeichnet und der normale Knoten ist ein Nicht-Byzantinerknoten.
vorausgesetzt, das verteilte System hat N-Nodes und vorausgesetzt, das gesamte System überschreitet M-Nodes (NEHR 3 m+1) nicht, das byzantinische fehlertolerante System muss die folgenden zwei Bedingungen erfüllen: P>
Zusätzlich muss das byzantinische Fehlertoleranzsystem die folgenden zwei Indikatoren erreichen:
PBFT ist ein praktischer städtischer Antine Fehlertoleranzalgorithmus, der das Problem der geringen Effizienz des ursprünglichen byzantinischen Fehlertoleranzalgorithmus löst. Replikations -Replikations -Algorithmus für Maschinenreplikationen, und alle Kopien werden in einer Ansicht (Ansicht) im Betrieb gedreht. Der Hauptknoten wird gemäß der Anzeigezahl und der Set von Knoten ermittelt, dh: Hauptknoten p = vmod | R |. V: Nummer anzeigen, | R | Anzahl der Knoten, P: Master -Knotennummer.
Der Konsensprozess des PBFT -Algorithmus lautet wie folgt: Der Kunde initiiert eine Nachrichtenanforderung und wird gesendet und an jede ReplicatNode (Replik) gesendet und weitergeleitet und einer der Master (Manager) eine Vorschlagsnachricht initiiert Pre -Pare und Sendung. Andere Knoten erhalten die ursprüngliche Nachricht und senden eine Vorbereitung nach Abschluss der Bestätigung. Jeder Knoten empfängt 2F+1 -vorbereitete Nachricht, was bedeutet, dass er vorbereitet wurde und eine Verpflichtungsnachricht sendet. Wenn der Knoten 2F+1 verpflichtet und der Client dieselben Antwortmeldungen erhält, bedeutet dies, dass die vom Client eingeleitete Anforderung im gesamten Netzwerk eine Vereinbarung getroffen hat.
Der spezifische Vorgang ist wie folgt:
Der Client C sendet die Anforderung O, T, C an den Hauptknoten p. Anfrage: Enthält den Nachrichteninhalt m und den Meldung Digest D (M). Der Client unterschreibt die Anfrage.
Der Master -Code erhält eine Anfrage vom Client und muss die folgende Bestätigung durchführen:
a. Für korrekte Anforderungen ordnen Sie eine Nummer n zu, die hauptsächlich zum Sortieren von Client -Anfragen verwendet wird. Senden Sie dann eine Pre-Proporte, V, N, D, M-Nachricht an andere Replikatknoten. V: Nummer anzeigen, d -Client -Nachrichtenübersicht, m -Message -Inhalt. Pre-Pare, V, N, D führt die Masterknotensignatur aus. N ist [h], das sich in einem bestimmten Bereich befinden muss.
Replikat-Knoten Ich empfange die Pre-Pre-Repair-Nachricht aus dem Master und muss die folgende Bestätigung durchführen:
a ist korrekt.
b.
illegale Anfrage wird geworfen. Für die korrekte Anfrage sende der Replikatknoten ich eine Vorbereitung, V, N, D, I-A-Nachricht an andere Knoten, einschließlich des Masters, V, N, D, M, der der gleiche Inhalt wie die oh2e voreingestellte Nachricht ist, ich bin es die aktuelle Replikatnummer. Vorbereiten, V, N, D, ich führe eine Signatur von Replicatnode in. Protokollvorbereitete Protokoll durch und bereite Nachrichten im Protokoll vor, um unvollendete angeforderte Operationen während der Ansichten wiederherzustellen.
Master- und Replicat -Knoten erhalten Sie die Vorbereitungsnachricht und müssen die folgende Bestätigung durchführen:
a.
d.d ist das gleichAnfrage wird geworfen. Wenn die Replika -Node I 2F+1 -Überprüfung die Nachricht erstellt, sendet sie eine Verpflichtung, V, N, D, i Nachricht an die anderen Knoten, einschließlich der Meister, und V, N, D, ich bin das gleiche wie oben wie oben Vorbereitung von Nachrichteninhalten. Commit, V, N, D, Ich führe die Unterschrift von ReplicatNode in. Protokoll verpflichtet die Protokolle im Protokoll, mit dem unvollendete Anforderungsvorgänge während der Ansichten wiederhergestellt werden. Registrieren Sie die Nachrichten, die von anderen Replikationsknoten im Protokoll gesendet werden.
Der Master- und der Replikatknoten erhalten Sie die folgende Bestätigung:
d.n ist innerhalb des Intervalls [H, H].illegale Anfrage wird geworfen. Wenn der Replikatknoten I 2F+1 -Bestätigungsschutzmeldung erhält, bedeutet dies, dass die meisten Knoten im aktuellen Netzwerk einen Konsens erreicht haben, die Anforderungsoperation des Clients O und zurücksenden Antworten, v, t, c, i, r an den Client. R: Ist das Ergebnis des Anforderungsvorgangs. die Anfrage an den Hauptknoten. Notieren Sie die von anderen Replikationsknoten gesendeten Verpflichtungsmeldungen im Protokoll.
?
Wenn die Meisterschaft das böse macht, kann sie verschiedenen Anforderungen dieselbe Sequenznummer zuweisen oder die Sequenznummer verteilen oder die benachbarte Sequenznummer abgeschlossen machen. Der Sicherungsknoten sollte dafür verantwortlich sein, die Legalität dieser Seriennummern aktiv zu überprüfen.
Wenn der Hauptknoten die Anfrage des Clients nicht angeschlossen oder nicht ausstrahlt, legt der Client einen Zeitüberschreitungsmechanismus fest. Der Replikatknoten entdeckt, dass die Meisterschaft böse macht oder offline geht und das ViewChange -Protokoll startet.
ViewChange-Protokoll:
Replikatknoten senden View-Change, V+1, N, C, P in Nachrichten an andere Knoten. N ist die neueste StableCheckpoint-Nummer, C ist 2F+1-validiertes Checkpoint Message Kit, und P ist der Vorbereitende und bereitet die Meldung für unvollendete Anfragen aus der aktuellen Replikat vor.
Wenn die Master -Kiefer P = V+1MOD | R | Wenn 2F gültige Meldungen zur Änderungsänderung empfängt, wird die neue Ansicht V+1, V, O -Nachrichten an andere Knoten gesendet. V ist eine gültige Sammlung von Anzeigenänderungen. O ist die unvollendete Meldungssammlung vor der Vorbereitung des Meisters erneut. Wahlregeln zum Sammeln von Vorbereitungsnachrichten:
Die Replikation empfängt die neue Anzeigenachricht vom Master, bestätigen Sie die Gültigkeit, wenn sie gültig ist, v+1. Verfahren.
?
Im oh2en Algorithmus -Prozess, um sicherzustellen, dass die vorherige Anforderung unter ViewChange wiederhergestellt werden kann, zeichnet sich jeder ReplicatNode einige Nachrichten zum lokalen Protokoll auf. Der Replikatknoten muss die vorherige Mail -Nachricht an die Anfrage leeren.
Die einfachste Möglichkeit ist, die Konsenssynchronisation des aktuellen Zustands nach der Antwortmeldung durchzuführen. Diese Status -Synchronisationsmeldung ist die Checkpoint -Nachricht.
Replicate -Knoten im Sender -Checkpoint N, D zu anderen Knoten. Zum Protokoll mittel. Wenn Replica -Node I 2F+1 -validierte Checkpoint -Nachricht empfange, wird die Nachricht im vorherigen Protokoll entfernt und n als aktuelles Stablecheckpoint verwendet.
Dies ist eine ideale Situation. Es wird sich selbst folgen.
Um zu verhindern, dass die Behandlungsanforderung von I zu schnell ist, können Sie ein Intervall der oben genannten hohen und niedrigen Wasserspiegel [H, H] festlegen, um dieses Problem zu lösen. Der niedrige Wasserspiegel H entspricht der Anzahl der vorherigen Stablecheckpoint und der hohe Wasserstand H = H+L, wobei L der von uns angegebene Wert ist, der einem ganzzahligen Multiple der Anzahl der Anforderungen k im Kontrollpunkt entspricht Periodenverarbeitungszeitraum, die auf L = 2K eingestellt werden kann. Wenn der Replikatknoten in der Anforderung über den Hochwasserspiegel H überschreitet, wird zu diesem Zeitpunkt gestoppt. Warten Sie, bis sich Stablecheckpoint ändert, bevor er weiter fortgesetzt wird.
?
in Blockchain-Senarios eignen sich im Allgemeinen für private Ketten- und Allianzkettenszenarien, die eine starke Textur erfordern. Zum Beispiel ist PBFT im IBM-geführten Blockchain-Hyperledger-Projekt ein optionales Konsensprotokoll. In Hyperledgers Arzneimittelprojekt werden Konsensmodule als steckbare Module ausgelegt, die Konsensalgorithmen wie PBFT und Floß unterstützt.
?
?
Die Flotte basiert auf einem von Führungskräften abgesteuerten Konsensmodell, bei dem ein prominenter Leiter ausgewählt wird und der Manager vollständig für die Verwaltung des Clusters verantwortlich ist und der Manager für die Verwaltung der Replikationsprotokolle zwischen allen Knoten in verantwortlich ist die Flotte.
?
In der folgenden Abbildung wird der Cluster (S1) während der Start -up ausgewählt und bietet Dienste für alle Befehle/Anfragen des Kunden an. Alle Knoten in einem Flottencluster verwalten ein verteiltes Protokoll (Replika -Log), um den vom Client ausgegebenen Befehl (Protokolleintrag) zu speichern. Der Manager akzeptiert Protokolleinträge vom Kunden und kopiert ihn zwischen allen Followern (S2, S3, S4, S5) in der Flotte.
In einem Flottencluster ist eine minimale Anzahl von Knoten erforderlich, um die erwartete Konsensgarantie, auch als Quorum bezeichnet, bereitzustellen. Die Mindestanzahl von Stimmen, die für die Durchführung einer Operation in einer Flottenkluster erforderlich sind seltsam. Daher benötigen wir im oh2en Beispiel mindestens 3 Knoten, um eine Einigung zu haben.
Wenn der gesetzliche Schiedsgerichtsknoten aus irgendeinem Grund nicht verfügbar ist, dh die Abstimmung nicht die Hälfte überschreitet, gibt es keine Einigung in dieser Verhandlung und ein neues Protokoll kann nicht eingereicht werden.
?
Datenspeicher: TIDB/TIKV
log: alibabas dedger
Service Erkennung: conulletcd
Clusterplanung: Hashicorpnomad
kann nur falsche Knoten (CFTs) aufnehmen, nicht böse Knoten
sequentielle Stimme, können nur für serielle, schlechte Leistung in hohen zeitgenössischen Szenarien
gelten?
Raft setzt einen Konsens frei, indem drei Hauptsubstrate gelöst werden, die die Auswahl der Verwaltung umgeben und die Sicherheitsfunktionen von verteilten Protokollen und Algorithmen verwalten.
Wenn wir eine neue Flotte oder ein Führer beginnen, ist ein neuer Führer durch Verhandlungen zwischen allen Mitgliedsknoten im Cluster ausgewählt. In einem bestimmten Fall können die Knoten zur Flotte der Cluster in einer der folgenden Bedingungen stehen: ein Nachfolger, ein Kandidat oder ein Führer.
Wenn das System beginnt, sind alle Knoten Follower. Ein Kandidatenknoten erhält die Tickets für die meisten Knoten, dann kann der Kandidat in einen Leiter umgewandelt werden, und die anderen Kandidatenknoten kehren zum Follow -up -Status zurück.
Wenn ein Manager feststellt, dass es einen Managementknoten im System gibt, als er besitzt.
RAFT verwendet einen herzschlagbasierten RPC-Mechanismus, um festzustellen, wann eine neue Auswahl beginnt. Während der normalen Zeiträume sendet der Manager regelmäßig an alle verfügbaren Follower Herzbeatnachrichten (in der Praxisprotokoll und des Herzschlags können zusammen gesendet werden). Daher beginnen andere Knoten im Anhängerstatus und bleiben im Folgungsstatus, solange er einen periodischen Herzschlag vom aktuellen Leiter erhält.
Wenn der Nachfolger seine Auszeit erreicht, startet er den Wahlvorgang mit:
Die drei Auswahlmöglichkeiten können basierend auf den Antworten abgeleitet werden, die vom Kandidaten anderer Knoten im Cluster empfangen werden.
Die Implementierung von Konsensusalgorithmen basiert normalerweise auf replizierten Zustandsmaschinen. Unterschiedliche Knoten sollten Eingaben mit denselben und deterministischen Funktionen behandeln, anstatt unsichere Werte wie die lokale Zeit einzuführen. Die Verwendung von ReplyedLog ist eine sehr gute Note.
Mit dem Manager können alle zeitgenössischen Anfragen des Kunden auf der Führungsseite eine geordnete Protokoll (Status) -Sequenz bilden, um die Behandlungsreihenfolge dieser Anfragen darzustellen. Der Manager sendet dann seine eigene Protokollsequenz an den NachfolgerBehalten Sie die globale Konsistenz des gesamten Systems bei. Beachten Sie, dass es keine starke Textur ist, sondern die endgültige Textur.
Protokolle bestehen aus Protokolleinträgen mit geordneter Nummerierung (Logindex). Jeder Protokolleintrag enthält beim Erstellen des Körpers (Term), und die Daten im Protokoll können von einem einfachen Typ bis zu einem Blockchain -Block von jedem Typ sein. Jeder Protokolleintrag kann mit einem [Term, Index, Daten] -Sequenzpaare dargestellt werden, wobei der Term Begriffe darstellt. Index repräsentiert Index und Daten repräsentieren Protokolldaten.
Anführer versucht, Replikationsbefehle an den meisten Knoten im Cluster auszuführen. Wenn die Replikation erfolgreich ist, wird der Befehl an den Cluster gesendet und die Antwort an den Client zurückgesendet. Wie bei der zweistufigen Einreichung (2PC) besteht der Unterschied von 2PC darin, dass der Führer nur mehr als die Hälfte der Knoten benötigt, um sich zuzustimmen (im Arbeitszustand).
Anführer und Trailer können abstürzen. Das von WER verwaltete einzige Protokoll kann die folgenden Situationen im Vergleich zum Manager
haben, wenn der Manager und der Anhänger inkonsistent sind, zu dem Manager zwingt der Anhänger den Follower Kopieren Sie sein eigenes Protokoll, und der Anführer wird es hinter und weiter versuchen. Nach jedem Mal und dann die folgenden Einträge nach dem Platz nacheinander abdecken. Fehlende oder zusätzliche Einträge können also in mehreren Begriffen dauern.
?
Bitten Sie die Protokolle der Kandidaten, mindestens so aktualisiert zu werden wie andere Knoten. Wenn nicht, stimmt das Follow -up nicht für den Kandidaten.
bedeutet, dass jeder Eingabeeintrag in mindestens einem dieser Server vorhanden sein muss. Wenn das Protokoll des Kandidaten mindestens so zuletzt wie die anderen im Mehrheitsprotokoll ist, speichert es alle Festschreibungseinträge und vermeiden Protokoll -Backing -Ereignisse.
Es ist höchstens ein Führer, der während jeder Amtszeit ausgewählt wird. Dies ist sehr wichtig, es kann jederzeit jederzeit in einem Replikationssatz ein Anführer sein. Gleichzeitig gibt es einen zusätzlichen Anbieter im System, das als Brain Spliting (Brain Split) bezeichnet wird und ein sehr ernstes Problem darstellt und zum Verlust von Datenüberschreibungen führt. In Floß garantieren zwei Punkte dieses Attribut:
Daher darf es während eines bestimmten Laufzeit nur ein Leiter geben.
?
Wenn sich der Zustand der Knoten in der Cluster ändert (Clusterkonfiguration wird geändert), ist das System für den Systemausfall empfänglich. Um dies zu verhindern, verwendet RAFT eine Methode, die als zweistufige Cluster-Mitgliedschaft bezeichnet wird. In diesem Ansatz ändert sich der Cluster daher zunächst in einem Medium (als Bundeskonsens bezeichnet), bevor eine neue Mitgliedschaftskonfiguration implementiert wird. Der gemeinsame Konsens ermöglicht es dem System, auf Client -Anfragen zu reagieren, auch wenn sie zwischen Konfigurationen konvertieren, und der Hauptzweck besteht darin, die Verfügbarkeit verteilter Systeme zu verbessern.
Was ist Blockchain -consens?Der sogenannte "Konsensmechanismus" besteht darin, die Überprüfung und Bestätigung der Transaktion in einer sehr kurzen Zeit durch die Abstimmung von Sonderknoten abzuschließen. Es wird angenommen, dass das gesamte Netzwerk auch einen Konsens darüber erzielen kann. Um es auf eine Weise auszudrücken, wenn ein chinesischer Weibo Big V, ein amerikanischer virtueller Währungsspieler, ein afrikanischer Student und ein europäischer Reisender sich nicht kennen, sich nicht einig, dass Sie ein guter Mensch sind, können Sie im Grunde schließen, dass es sich Nicht schlecht.
Blockchain als Datenstruktur, die Daten in chronologischer Reihenfolge speichert, kann unterschiedliche Konsensmechanismen unterstützen. Der Konsensmechanismus ist ein wichtiger Bestandteil der Blockchain -Technologie. Das Ziel des Blockchain -Konsensmechanismus ist es, allen ehrlichen Knoten eine glatte Blockchain -Ansicht zu erhalten und zwei Eigenschaften zu erfüllen:
1) Konsistenz. Der Präfixabschnitt der von allen ehrlichen Knoten gespeicherten Blockchain ist genau gleich.
2) Gültigkeit. Die von einem ehrlichen Knoten veröffentlichten Informationen werden schließlich von allen anderen ehrlichen Knoten in seiner eigenen Blockchain aufgezeichnet.