#opg $OPG Ich habe da was, das ich nie ganz verstanden habe. Wenn eine AI-Anfrage reinkommt und zig Knoten sie sehen, wer greift sie auf?

Wenn der Schnellste die Anfrage aufnimmt, haben die mit schneller Internetverbindung immer die Chance, während die langsamen Knoten leer ausgehen. Am Ende bleiben nur zwei oder drei große Spieler übrig, während alle anderen verhungern. Wo bleibt da die Dezentralisierung?

OpenGradient hat in ihrem Whitepaper eine Lösung angeboten: Lotterie.

Es ist keine willkürliche Lotterie. Das System nimmt den Hash des aktuellen Blocks zusammen mit der ID dieser Anfrage und wirft beides in ein Ding namens VRF, um eine Zufallszahl zu berechnen. Dann wird diese Zufallszahl verwendet, um alle online Knoten zu sortieren. Der Knoten, der zuerst kommt, bekommt die Anfrage. Er muss innerhalb einer festgelegten Zeit das Ergebnis und den Nachweis einreichen. Wenn er die Zeit überschreitet oder betrügt, wird die Anfrage an den Zweitplatzierten weitergegeben, und so weiter.

Das Entscheidende ist, dass diese Zufallszahl verifizierbar ist. Knoten können nicht betrügen, weil die Sortierlogik öffentlich ist und jeder die Berechnung erneut durchführen kann. Im Whitepaper steht, dass Zero-Knowledge-Proofs verwendet werden, um sicherzustellen, dass die Zufallszahl tatsächlich nach den Regeln erzeugt wurde. Wenn du wissen willst, wer die nächste Anfrage erhält, hast du keine Chance.

Ich habe zuvor ein anderes Projekt gesehen, das auch VRF verwendet hat, aber die Sortierung wurde trotzdem überrannt. Später stellte sich heraus, dass der Zufallsseed von den Knoten im Voraus erraten wurde. Bei OpenGradient wird der Seed fest an den Block-Hash gebunden, was bedeutet, dass der Block-Hash nicht vorhergesagt werden kann und so dieses Loch gestopft wird.

Aber dieses Design hat einen nervigen Nachteil. Wenn ein Knoten absichtlich die Zeit überschreitet, wird er nicht sofort bestraft, sondern vorübergehend aus der Warteschlange entfernt. Erst nach mehreren aufeinanderfolgenden Zeitüberschreitungen wird eine Strafe ausgelöst. Im Whitepaper wird dies als "weiche Strafe" bezeichnet. Ich kann das nachvollziehen, jeder hat mal Netzwerkprobleme, eine sofortige Geldstrafe bei einer Zeitüberschreitung wäre wirklich zu hart. Aber das gibt auch Raum für Betrug – jemand kann absichtlich wiederholt die Zeit überschreiten und die gesamte Effizienz verlangsamen. Du kannst ihm nichts entgegen setzen, weil er die Strafgrenze noch nicht erreicht hat.

Im Whitepaper steht nicht, wie viele Zeitüberschreitungen und wie hoch die Strafgrenze ist; wahrscheinlich wird das nach dem Start des Mainnets basierend auf den tatsächlichen Gegebenheiten angepasst.

Wie auch immer, ich denke, dieser Lotteriemechanismus ist in die richtige Richtung, aber er schützt vor ehrlichen Problemen und nicht vor bösen Absichten. Wenn jemand absichtlich Bugs ausnutzt, muss die Community möglicherweise eingreifen.

Wie siehst du das? Hältst du diese Sortiermethode für fair? Ich freue mich auf dein Feedback. @OpenGradient