Lange Zeit dachte ich, der schwierigste Teil dabei, eine Entscheidung mit anderen Menschen zu treffen, sei die Einigung zu erreichen.
In letzter Zeit beginne ich zu glauben, dass der schwierigere Teil eine Stufe früher kommt.
Nämlich darin, sich darauf zu einigen, was tatsächlich passiert ist.
Dieser Gedanke kam mir wieder, als ich das Streaming-Consensus-Protokoll von Newton Protocol las.
Eine Implementierungsdetaillierung hat mich überrascht.
Zunächst nahm ich an, dass die Arbeit jedes Operators gleich stark zur endgültigen Entscheidung beiträgt.
So ist es nicht.
Die Operatoren sammeln zuerst die externen Informationen, von denen eine Richtlinie abhängt. Da diese Anfragen unabhängig voneinander stattfinden, können zwei ehrliche Operatoren unterschiedliche Antworten erhalten.
Newton erwartet diese Uneinigkeit.
Bevor irgendeine Richtlinie ausgewertet wird, normalisiert das Protokoll diese Beobachtungen zu einem einzigen Datensatz. Erst dann führt jeder Operator dieselbe deterministische Rego-Richtlinie aus und erzeugt denselben Konsens-Digest für die BLS-Aggregation.
Diese Unterscheidung hat vollständig verändert, wie ich das Protokoll betrachtet habe.
Sie trennt zwei Aufgaben, die man leicht miteinander verwechselt.
Erstens: Eine gemeinsame Sicht der Realität herstellen.
Nur danach lässt sich entscheiden, was erlaubt sein sollte.
Das sind nicht dieselben Probleme.
Es hat auch verändert, wie ich über die Operator-Ökonomie denke.
Jeder Operator verwendet weiterhin Ressourcen, um unabhängige Beobachtungen zu sammeln.
Aber sobald das erforderliche stake-gewichtete Quorum erreicht ist, aggregiert das Gateway die Signaturen und die verbleibenden Antworten werden verworfen.
Das Protokoll zahlt nicht dafür, dass jede Beobachtung die endgültige Entscheidung beeinflusst.
Es zahlt dafür, genügend unabhängige Beobachtungen zu sammeln, um eine gemeinsame Realität zu etablieren, bevor der Konsens entsteht.
Ich bin mir immer noch nicht sicher, wo sich das Gleichgewicht einpendelt.
Das Verwerfen später Antworten macht den Konsens zwar schneller, aber es bedeutet auch, dass einige ehrliche Arbeit nie zum endgültigen Ergebnis beiträgt.
Vielleicht ist das einfach der Preis dafür, viele unabhängige Ansichten in eine einzige Entscheidung zu verwandeln.
Oder vielleicht ging es bei Konsens nie wirklich darum, dass alle sich einig werden.
Es geht darum, zu entscheiden, wann genügend unabhängige Beobachtungen es verdienen, zu einer gemeinsamen Realität zu werden.
@NewtonProtocol $NEWT #Newt