Der richtige Weg, um ein dezentralisiertes Spiel zu entwerfen

Nehmen wir an, ich entwerfe ein Multiplayer-Spiel, in dem die Spieler in verschiedenen Schlachten gegeneinander antreten können. Als Ergebnis jedes Kampfes erhalten die Spieler eine Interpunktion. Angenommen, ich verwende eine Sidechain. Was sollte die beste Möglichkeit sein, das Spiel zu dezentralisieren?

a) Schlachten werden auf Servern berechnet und nur die endgültige Interpunktion für jeden Spieler wird im Smart Contract der Sidechain gespeichert

b) Schlachten werden in Smart Contracts berechnet, und alle anderen Änderungen der Parameter des Spiels werden auch in Smart Contracts (in Sidechain) berechnet.

Schließlich befolge ich nach dem Plasmaprotokoll komprimierte Daten mit einiger Regelmäßigkeit im Ethereum-Mainnet ...

Antworten (2)

Ich gehe mit a) Schlachten werden auf Servern berechnet und nur die Endergebnisse werden im Smart Contract gespeichert. ;-)

Verwenden Sie den Smart Contract, um die Fakten aufzuzeichnen, die unanfechtbar sein müssen. Dies wird sich auf etwas wie Folgendes reduzieren:

Der maßgebliche Server (Oracle) erklärte, dass Alice Bob in Match Nummer n mit einer Punktzahl von x bis y geschlagen hat, was dazu führte, dass Alice etwas gewann (z. B. Punkte oder treuhänderisch hinterlegte Gelder).

Möglicherweise möchten Sie die Reichweite des Vertrags auf das Gameplay selbst ausdehnen, um beispielsweise ein nachweislich faires Wettspiel zu erstellen. „Battles“ klingt rechenintensiv, was für eine Bestätigung im Stil einer Blockchain nicht gut geeignet ist. Es klingt auch etwas subjektiv. Aus diesen Gründen würde ich dazu neigen, das Gameplay einem Server-Cluster zu überlassen.

Um diese Idee ein wenig weiter auszudehnen, gehören zu den Tatsachen, die unanfechtbar sein müssen, auszugebende Token, die Spieler möglicherweise mitnehmen können, dh das Spiel verlassen und woanders ausgeben können. Dies ist mit einer privaten Kette nicht möglich, funktioniert aber im Mainnet. Wenn das Tokenisieren von Gewinnen nicht das Ziel ist, werden Sie möglicherweise feststellen, dass das Hinzufügen von Blockchain zu Ihrem Scorekeeping-Prozess die Dinge ohne lohnenden Zweck erheblich verkompliziert.

Ich hoffe es hilft.

Danke für deine Antwort Rob. Ich verstehe, was Sie sagen, Schlachten könnten zu teuer sein, um sie auf Blockchain zu berechnen, aber die Lösung, bei der der Server als Autorität fungiert, die entscheidet, wer gewinnt und wer verliert, ist so etwas wie eine Mischung aus Zentralisierung und Dezentralisierung. Tatsache ist, dass, wie Sie im letzten Teil Ihres Kommentars sagen, diese Kämpfe die Interpunktion der Spieler beeinflussen und sie so mehr oder weniger Token verdienen können (die in die Hauptblockkette zurückgezogen werden können). Ich nehme also an, dass ich die Dezentralisierung kompromittieren muss, um rechenintensives Spielen zu ermöglichen.

Ich versuche, eine allgemeine Überlegung hinzuzufügen: Wann ist es sinnvoll, in Blockchain zu schreiben und wann ist es sinnvoll, lokal auf dem Off-Chain-Server zu lösen?

Die Antwort ist einfach: Jedes Mal, wenn die Ergebnisse Ihrer Ausarbeitung einen erheblichen wirtschaftlichen Wert haben, der möglicherweise in der Zukunft durch jemandes Handeln rückgängig gemacht und/oder zunichte gemacht oder beschädigt werden könnte, sollten Sie unbedingt Blockchain verwenden.

Ebenso, wenn sie in Zukunft Ausgangspunkt für weitere hochwertige Ausarbeitungen sein sollen.

Im Gegenteil, wenn Ihre Transaktion hier und jetzt geschlossen ist, nicht rückgängig gemacht oder annulliert oder von Natur aus beschädigt werden kann, können Sie immer noch die Verwendung von Blockchain in Betracht ziehen, falls Sie den Prozess verfolgen müssen, um ihn in Zukunft zu überprüfen irgendein wahrer Grund.

Wenn nicht, gehen Sie sofort von der Kette.

Wenn Sie im Fall Ihres Spiels die Auswirkungen aller Spielaktionen im Endergebnis zusammenfassen und der wahre wirtschaftliche Wert der einzelnen Aktion vernachlässigbar ist, können Sie die Kette verlassen.

Auf der anderen Seite, wenn der Wert der Spielergebnisse enorm sein könnte , kann es nützlich sein, ihnen alle Einzelaktionen zeigen zu können, die das Spiel zum Ergebnis bringen, um eventuelle Ansprüche zu entkräften.

Es ist also etwas, das im Einzelfall bewertet werden muss, es gibt keine Ja/Nein-Automatik!

Dies gilt natürlich für die Daten, die Sie komprimieren und an die Blockchain senden möchten.

Danke für deine Antwort Rick. Wie Sie sagten, könnte in diesem Fall der Wert der Spielergebnisse enorm sein, da Spieler Token verdienen können, wenn sie Schlachten gewinnen. Wenn Sie sie also außerhalb der Kette berechnen, könnten böswillige Kombinationen zwischen Spielern und Servern entstehen. Ich weiß nicht, ob wir diese Art von Lösung dezentral nennen können.