PoW, PoS und Lösung von Transaktionskonflikten. Wie funktioniert es? Ist PoS hier nicht gefährdet?

Also versuche ich, mich um POS zu kümmern. Und ich habe eine Frage zur Auflösung von Transaktionskonflikten und ob hier ein Angriffsrisiko besteht.

Wenn ich richtig verstehe, wie POS funktioniert, wenn es zwei Transaktionen gibt, die um Legitimität kämpfen, dann werden die Leute, die abstimmen, von derjenigen belohnt, die in die Blockchain aufgenommen wird, und von denen, die für die unterlegene Transaktion gestimmt haben.

Hier ist also das Szenario und ich würde gerne wissen, ob ich etwas verpasst habe oder nicht. Hier ist die Idee: Nehmen wir an, ich sende an verschiedene Maschinen, aber gleichzeitig eine Transaktion, um alle meine ETH von einem Konto zum anderen zu senden. Da es auf der ganzen Welt verbreitet ist, nehmen einige Wähler die Transaktion x, einige die Transaktion y und einige eine andere Transaktion. Wenn Sie noch keine Informationen zu den anderen Transaktionen haben, validieren Sie diese und setzen darauf. Was also passieren wird, ist, dass ein kleiner Teil der Wähler mit der richtigen Transaktion belohnt wird und die anderen ihre Wette verlieren. Dies könnte als Angriff verwendet werden, um die ETH zu gewinnen, indem sie den anderen verlieren lässt. Als Wähler-Angreifer kann ich meine Transaktion leicht erkennen (z. B. indem ich sie signiere) und sicherstellen, dass ich nicht an der Abstimmung des Blocks teilnehme, der eine meiner Transaktionen enthält.

Was würde in diesem Fall passieren? Wie kann das System diese Konflikte lösen, ohne die Wähler zu sehr zu benachteiligen?

Meine Beobachtung ist, dass im Fall von PoW die Konfliktlösung nichts kostet, schließlich gewinnt ein Block und das ist das Ende. Aber im Fall von PoS führt jede Konfliktlösung zu Kosten für Menschen, die für den falschen Block stimmen, ohne überhaupt zu wissen, dass sie dies tun.

Antworten (1)

Es gibt drei Gründe, warum ein solcher Angriff nicht funktionieren würde (gemäß dem aktuellen CASPER-System).

Erstens gibt es keine "widersprüchlichen" Transaktionen mehr. Alles, was eine Transaktion gültig sein muss, ist, dass sie richtig formatiert ist. Alles andere, von der Nonce-Prüfung bis zur Validierung, dass das Konto über genügend ETH zum Senden verfügt, wird von der EVM erledigt. Transaktion X und Transaktion Y könnten also beide „passieren“. Es ist nur so, dass einer die gesamte ETH des Kontos sendet und der andere nichts tun würde.

Zweitens ist das Recht, einen Block zu erstellen, durch das aktuelle System deterministisch. Es ist bekannt, welcher Validator den Block bei jeder Höhe produziert. Um also zwei widersprüchliche Blöcke zu erstellen, müsste ein Validator dies persönlich tun. Dies würde dazu führen, dass der Validator mit dem Verlust seiner Kaution bestraft wird.

Drittens ist Wetten nicht alles oder nichts. Ein Validierer gibt Quoten an, z. B. „Ich glaube, dass dieser Block eine 60-prozentige Chance hat, richtig zu sein.“ Validatoren erhöhen standardmäßig die Quoten, wenn sie sehen, dass andere Validatoren auf die gleiche Weise wetten. Wenn es zwei widersprüchliche Blöcke gäbe, würden kluge Prüfer aufhören, auf den Block zu setzen, der zu verlieren scheint, und anfangen, auf den Block zu setzen, der zu gewinnen scheint. Diejenigen, die angefangen hatten, auf den verlierenden Block zu wetten, würden einige ihrer Wetten verlieren, aber nicht annähernd so viel wie der Validator, der überhaupt zwei Blöcke produziert hatte.