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 ...
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.
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.
Federico Caccia