4. Arbeitsnachweis

Um einen verteilten Zeitstempelserver auf Peer-to-Peer-Basis zu implementieren, müssen wir ein Proof-of-Work-System verwenden, das Adam Backs Hashcash[6] ähnelt, und nicht Zeitungs- oder Usenet-Beiträge.

Beim Proof-of-Work wird nach einem Wert gesucht, dessen Hash beim Hashing, beispielsweise mit SHA-256, mit einer Anzahl von Nullbits beginnt. Die durchschnittliche erforderliche Arbeit ist exponentiell in der Anzahl der erforderlichen Nullbits und kann durch die Ausführung eines einzelnen Hashs überprüft werden.

Für unser Zeitstempelnetzwerk implementieren wir den Proof-of-Work, indem wir eine Nonce im Block erhöhen, bis ein Wert gefunden wird, der dem Hash des Blocks die erforderlichen Nullbits gibt.

Sobald der CPU-Aufwand aufgewendet wurde, um den Arbeitsnachweis zu erfüllen, kann der Block nicht mehr geändert werden, ohne die Arbeit zu wiederholen. Da spätere Blöcke danach verkettet werden, würde die Arbeit zum Ändern des Blocks das Wiederherstellen aller nachfolgenden Blöcke umfassen.

Der Proof-of-Work löst auch das Problem der Bestimmung der Repräsentation bei Mehrheitsentscheidungen. Wenn die Mehrheit auf „Eine IP-Adresse, eine Stimme“ basieren würde, könnte sie von jedem untergraben werden, der viele IPs zuweisen kann.

Beim Proof-of-Work handelt es sich im Wesentlichen um eine CPU und eine Stimme. Die Mehrheitsentscheidung wird durch die längste Kette repräsentiert, in die der größte Proof-of-Work-Aufwand investiert wurde.

Wenn ein Großteil der CPU-Leistung von ehrlichen Knoten gesteuert wird, wächst die ehrliche Kette am schnellsten und übertrifft alle konkurrierenden Ketten

Um einen früheren Block zu ändern, müsste ein Angreifer den Proof-of-Work des Blocks und aller darauf folgenden Blöcke wiederholen und dann die Arbeit der ehrlichen Knoten einholen und übertreffen.

Wir werden später zeigen, dass die Wahrscheinlichkeit, dass ein langsamerer Angreifer aufholt, exponentiell abnimmt, wenn weitere Blöcke hinzugefügt werden.

Um die zunehmende Hardwaregeschwindigkeit und das im Laufe der Zeit variierende Interesse am Betrieb von Knoten auszugleichen, wird die Proof-of-Work-Schwierigkeit durch einen gleitenden Durchschnitt bestimmt, der auf eine durchschnittliche Anzahl von Blöcken pro Stunde abzielt. Wenn sie zu schnell generiert werden, erhöht sich der Schwierigkeitsgrad.

#BinanceSquare

#BTC

#BitcoinWorld

#uniswap

#ftx