Joy Token - Spielen auf der Blockchain

Zusammenfassung

Die Technologie von Joy Gaming bietet eine neue Lösung, um kleine Entwickler, Softwarehäuser, große Casinos und Spieler zu verbinden. Sie schafft ein Spielumfeld, welches sowohl die Spieler befähigt als auch den Entwicklern und Casinos hilft, Risiken zu reduzieren.

Der Mangel an Vertrauen und Transparenz stellt eine Besorgnis der Online-Glücksspielindustrie dar. Spieler neigen dazu, seriöse Casinos statt kleinere Casino Websiten zu besuchen, selbst wenn sie "interessantere Spiele" anbieten, da die Spieler natürlich zu Casino-Marken tendieren, denen sie vertrauen. Die Technologie von Joy Gaming ist ein transparentes Blockchain-basiertes System, das dazu beitragen wird, das Vertrauen in die Spieleindustrie zu stärken. Die Technologie von Joy Gaming ermöglicht Benutzern in einer transparenten und code-gesteuerten Umgebung zu spielen. Dies ermöglicht Spielern und Entwicklern, auf die Fairness der Spiele zu vertrauen. Durch einen innovativen RNG-Generator werden die Spieler beruhigt sein, dass die Spiele, die sie spielen, fair und sicher sind. Entwickler, Casinos und Unternehmen profitieren von einem Spielumfeld, das eine Liquiditätsteilung und faire Vergütung bietet. Wir streben eine optimale Lösung an, bei der alle Joy Gaming-Teilnehmer profitieren, indem wir die Entwickler und Casinos verbinden.

Einleitung

Der bestehende Gaming-Marktplatz

Das bestehende Spielumfeld ist weitgehend auf Reputation ausgerichtet - ein Ruf, der durch vermehrte Werbung aufgebaut wird. Um Spieler zu gewinnen und zu halten, müssen Casinos große Summen ausgeben, um durch Markenbewusstsein Vertrauen und Anerkennung aufzubauen. Darüber hinaus kontrollieren große Casinos die Spielentwicklung. Die Spieler sind gezwungen, diesen Casinos zu vertrauen, da mangelnde Transparenz bedeutet, dass Spieler ihre Einsätze nicht verfolgen können und somit die Legitimität jeder Wette nicht einschätzen können.

Kleinere Entwickler leiden auch darunter, da sie nur einen kleinen Prozentsatz des Spielumsatzes erhalten und oftmals auf Schwierigkeiten bei der Veröffentlichung eines neuen Spiels treffen, wie zum Beispiel: Mangel an sofortigem Einkommen und Zugang zu den großen Spieleplattformen.

Die Joy Gaming Lösung

Die Lösung von Joy Gaming ist blockchain-basiert und ermöglicht es Entwicklern, Spiele zu entwickeln, die auf ihrem Back-End über einen Smart-Kontrakt statt direkt auf der Blockchain laufen. Da alle Ergebnisse innerhalb der Blockchain aufgezeichnet werden, ist der Betrug deutlich geringer. So können Spieler verifizieren, dass Entwickler die Spiele genau wie in der Blockchain beschrieben ausführen. Darüber hinaus können Spieleentwickler und Softwarehäuser Verbindungen zu Liquiditätsanbietern wie Casinos herstellen und integrieren, um den Zugang direkt zu ihren Spielen zu ermöglichen. Sowohl die Casinos als auch die Entwickler profitieren von den zusätzlichen Einnahmen und der erhöhten Spielinnovation. Die mangelnde Anerkennung einer bestimmten Website kann durch die Tatsache kompensiert werden, dass Regeln und die zugrunde liegende Infrastruktur der Spiele in der Blockchain aufgezeichnet werden (zusätzlich zum Genehmigungssystem, bevor Spiele im Joy Gaming-Netzwerk live geschaltet werden dürfen).

Technologie

Smart-Kontrakte

Das Joy Gaming Netzwerk vertraut auf dezentrale Smart-Kontrakte, um alles auf der Blockchain zu garantieren und aufzuzeichnen. Durch die Blockchain werden wir in der Lage sein, alles zu prüfen, was bei Joy Gaming passiert. Benutzer, welche die Spiele spielen, können die Ergebnisse und die Vorteile des Netzwerks in Echtzeit sehen. Im Gegensatz zu herkömmlichen Casinos, bei denen Einzahlungen auf das Casino-Konto vorgenommen werden, haben Nutzer immer die Kontrolle über ihr JoyToken-Wallet (und Auszahlungen sind einfacher und schneller durchzuführen).

Unsere Plattform wird das Ethereum-Netzwerk als Blockchain-basiertes Umfeld nutzen. Das Ethereum-Netzwerk ist gut etabliert, akzeptiert und wird von der Community mit einer vollen Turing-Sprachfähigkeit verwendet. Da es einige Latenzprobleme gibt, wird eine dezentrale Lösung im mittleren Bereich entwickelt, die diese Latenz erheblich reduzieren kann.

Die Verwendung eines autonomen Agenten (d. H. eines Smart-Kontraktes) schafft Vertrauen in das System, da jeder Interessenkonflikt zwischen dem Spieler und der Plattform dezentral verwaltet und geprüft wird. Kein Dritter muss involviert werden, da alle Transaktionen über einen Smart-Kontrakt abgewickelt werden, der garantiert, dass jeder jederzeit Zugang hat und die Fairness des Spiels überprüfen kann.

Der Joy Gaming Stack

Unser Technologie-Stack besteht hauptsächlich aus drei Hauptkomponenten: der Blockchain-Schicht, Spielanwendungen (Back / Front End) und dem Random Number Generator (RNG). Das Back/Front End der Spiele wird auf Datenbanken laufen, jedoch werden alle Teile, die zu irgendeiner Form von Streit zwischen dem Spieler und der Plattform führen könnten, über die Blockchain mittels Smart Contracts dezentralisiert und geprüft werden.

Die obige Abbildung zeigt die Kommunikation zwischen genehmigten Spielanwendungen und dem Zufallszahlengenerator von Joy Gaming.

Die Blockchain-Ebene

Die Blockchain-Ebene hat drei Funktionen: Token-Verwaltung, Spielergebnis-Management und Bereitstellung der Überprüfbarkeit des Zufallszahlengenerators.

Die Token-Verwaltung

In einem traditionellen Online Casino senden Kunden Geld an das Casino, um ihre Spiele zu spielen. Dies schafft die Möglichkeit für potenziellen Betrug. Joy Gaming löst dieses Problem mit der Blockchain-Technologie. Alle Spielergelder werden in das JoyToken-Wallet jedes Spielers gespeichert. Wenn ein Spieler eine Wette macht, wird das Geld an einen Smart-Kontrakt geschickt, der das Ergebnis der Wette dezentral verwaltet. Die Verwendung von Blockchain bedeutet, dass das Casino (d. H. Die Joy Gaming Platform) zu keiner Zeit Kontrolle über das Geld des Spielers hat.

Zusammenfassend:

Das Spielergebnis-Management

Für jeden Einsatz eines Spielers wird ein Smart-Kontrakt verwendet. Der Smart-Kontrakt verwaltet die Informationen, die von allen Teilen des Systems bereitgestellt werden (Spielcode, RNG, Spielereingabe). Der Smart-Kontrakt wird dann das Ergebnis des Spiels überprüfen und automatisch der richtigen Person Geldmittel gemäß den festgelegten Vertragsregeln zuweisen.

Zum Beispiel beginnt Spieler A eine Wette auf das Roulette.

  1. Der Fonds wird automatisch an den Roulette-Kontrakt gesendet
  2. Die für diese Runde des Roulettes generierte Zufallszahl wird kopiert und in einem Smart-Kontrakt gespeichert. (Anmerkung: alles kritische (RNG und Spielverlauf) zu dem Spiel, das auftritt, wird auf einem Smart-Kontrakt aufgezeichnet).
  3. Unter Verwendung der erzeugten Zufallszahl wird der Spielcode das Ergebnis an den Smart-Kontrakt senden
  4. Der Gewinn wird dann automatisch an den Gewinner gutgeschrieben. Wenn der Spieler verliert, wird das Geld zwischen dem Entwickler und der Plattformverwaltung aufgeteilt. Diese Aufteilung wird während der Entwicklungsphase ausgehandelt und automatisch angewendet, wenn ein Spieler verliert.
  5. Der Spieler kann am Ende einer Runde entscheiden, ob er den Prozess neu starten und seine Spielsitzung fortsetzen oder das Spiel beenden möchte

Demo Code zum Registrieren eines Spiels im Netzwerk

Der folgende Code zeigt die Registrierung eines Spiels im Joy Gaming-Netzwerk. Die Registrierung erfolgt vollständig über das Ethereum-Netzwerk, sodass die Teilnehmer leicht überprüfen können, ob der Vertrag offiziell vom Netzwerk genehmigt wurde. Durch diese Demo sehen wir, dass die Registrierung über die Funktion GameRegistry () aufgerufen werden kann, wodurch das Spiel im Joy Gaming-Netzwerk registriert wird. (Hinweis: Der Betrag, der dem Entwickler gutgeschrieben wird, kann auch über setPlatformShare (uint256 newShare) angegeben werden).

    contract GameRegistry is Ownable {
        using SafeMath for uint256;
        address public tokenAddress;
        address[] public gameList;
        uint256 public decimals = 5;
        uint256 public platformShare = 5 * 10**(decimals.sub(2));
        address public controller;
        mapping(address => bool) public gameRegistered;
        event ControllerTransfer(address originalController, address currentController);
        event PlatformShareUpdate(uint256 originalShare, uint256 newShare);
        event GameRegistered(address game);
        event GameDelisted(address game);


        function GameRegistry(address _tokenAddress) {
            owner = msg.sender;
            controller = owner;
            tokenAddress = _tokenAddress;
        }

        function setController(address newController) public onlyOwner {
            require(newController != address(0) && newController != controller);
            ControllerTransfer(controller, newController);
            controller = newController;
        }

        function setPlatformShare(uint256 newShare) public onlyOwner {
            require(newShare < 10**decimals);
            PlatformShareUpdate(platformShare, newShare);
            platformShare = newShare;
        }

        function createGame(string _name, uint256 _payoutRate) public {
            address newGame = new Game(_name, msg.sender, this, tokenAddress, payoutRate);
            require(!gameRegistered[newGame]);
            gameList.push(newGame);
            gameRegistered[newGame] = true;
            GameRegistered(newGame);
        }

        function delistGame(address game) public onlyOwner {
            require(gameRegistered[game]);
            gameRegistered[game] = false;
            GameDelisted(game);
        }

        function registerGame(address game) public onlyOwner {
            Game g = Game(game);
            require(!gameRegistered[game]);
            gameRegistered[game] = true;
            gameList.push(game);
            GameRegistered(game);
        }

        function getGameRegistered(address game) public constant returns (bool registered) {
            return gameRegistered[game];
        }
    }
    

Die RNG (Random Number Generator) Prüfbarkeit

Ein wichtiger Bestandteil der Spieleindustrie ist die Überprüfbarkeit eines RNG. Im herkömmlichen Sinne werden RNG-Generatoren üblicherweise von der Firma verwaltet, welche die Spiele hostet. In unserem Fall ist diese Verwaltung jedoch dezentral und nachweislich fair, da jedes Spiel auf einem speziell entwickelten Algorithmus läuft, der auf dem RNG-Generator basiert, welcher mit dem Ethereum-Network und Smart-Kontrakt verbunden ist. Dies wird in der Wrapping-Phase und dem Auszahlungsprozess ausführlicher beschrieben.

Spielanwendung (Back- & Front-End-Management)

Spieleanwendungscodes werden auf unseren Servern gehostet oder über das IPFS / Sia / Storj-Netzwerk gehostet. Das Spielergebnis wird dann dem Smart-Kontrakt mitgeteilt. Danach stellen die Spielserver Blockchain den Status des Spiels zur Verfügung, indem sie JSON RPC über IPC verwenden. Die Benutzererfahrung wird durch die Nutzung / Verfügbarkeit der Blockchain nicht beeinflusst, da alle Spielergebnisse sofort verfügbar sein werden. Diese Funktion stellt sicher, dass die Benutzererfahrung dem traditionellen Gameplay nahe kommt und dass der Prozess außerdem vollständig transparent und dezentral ist. Jeder Spielcode wird auf der Blockchain zusammen mit der vollen Überprüfbarkeit auf der erzeugten Zufallszahl zugänglich sein.

Zufälligkeit basierend auf Blockchain-Informationen

Die Schlüssel liegt darin, eine dezentrale RNG-Generierungstechnik zu finden, die unsere Spiele basierend auf der Blockchain nutzen können. Die aktuelle Lösung verwendet Blockerzeugungsinformationen (wie Zeitstempel, Nonce, Hash des aktuellen Blocks usw.) um Zufallszahlen zu generieren. Obwohl diese Zahlen von Miner generiert werden, ist es sehr unwahrscheinlich, dass ein Miner das Ergebnis des Spiels im öffentlichen Ethereum-Netzwerk erfolgreich ändern könnte, da der Miner genug Mining-Kraft besitzen müsste, um den Block mehrmals innerhalb des öffentlichen Wettbewerbsumfeld abzubauen (ungefähr 14 Sekunden), wie folgt:

  1. Der Miner konkurriert im Mining-Prozess des öffentlichen Ethereum Netzwerks
  2. Der Miner findet die Nonce und kann nun die Belohnung erhalten
  3. Der Miner prüft die Nonce, sowie die Blockinformationen, welche gegen die Gewinnanforderung des Spiels generiert werden
  4. Wenn sie übereinstimmen, lädt der Miner das Ergebnis
  5. Ansonsten startet der Miner den Mining-Prozess neu, um eine andere passende Nonce zu finden und vergisst dabei die vorherige Mining-Belohnung

Obwohl diese Methode sehr zuverlässig wäre, lehnten wir sie ab, weil wir ein Modell suchten, das keinen Spielraum für mögliche Manipulationen ließ.

RANDAO (eine dezentralisierte autonome Organisation, welche das Ziel verfolgt, vollständig dezentralisierte Zufallszahlen zu generieren) bietet sich als sehr interessante Möglichkeit, dezentralisierte Zufallszahlen zu generieren, an. Leider ist die Technik noch nicht reif genug, um erfolgreich umgesetzt zu werden. Wir von Joy Gaming unterstützen die Entwicklung von vollständig dezentralen Zufallszahlen und werden viel Zeit investieren um RANDAO zu studieren, denn wenn es komplett ausgereift und zuverlässig ist, wird es vollständig in unseren Entwicklungsplan miteinbezogen.

Generierung dezentraler RNG-Nummern - Agiles Vorgehen

Der Zufallsgenerator muss folgende Herausforderungen lösen:

Die vorgeschlagene Lösung:

Die Zufälligkeit der Zahlen wird durch einen kongruenten Generatoralgorithmus eingeführt, der pseudozufällige Zahlenfolgen erzeugt, welche sich durch Hinzufügen von Daten von der Außenwelt (z. B. Spielerbewegungen über die Plattform, Devisen- und Kryptowährungsaustauschdaten usw.) ändern. Diese Datensets werden verwendet, da sie sowohl unerwartetes Verhalten aufweisen als auch immer verfügbar sind. Diese Lösung erfüllt die Lizenzanforderungen, da sie alle benötigten Zufallszahlen in kurzer Zeit bereitstellen kann, ohne die Benutzerfreundlichkeit zu beeinträchtigen. Um unser RNG-Modell zu stärken, werden wir eine doppelte Verifizierung mit der Blockchain-Technologie einleiten, indem wir jede Zahl über eine Transaktion minen. Es wird dann unmöglich für Joy Gaming sein, die Nummern in irgendeiner Weise zu manipulieren.

Joytoken Technologie:

Spielbetrieb

Vorteile und Struktur des Umfelds

Durch die Verwendung der Blockchain können Benutzer leicht erkennen, wohin ihr Geld fließt und ob die Ergebnisse fair generiert werden. Das Nutzererlebnis ist unsere oberste Priorität. Aus diesem Grund werden wir eine große Auswahl an Spielen, sowie starke Sicherheit und Zuverlässigkeit bieten.

Entwickler profitieren von dem großen Liquiditätspool und der zusätzlichen Anerkennung, die durch den Betrieb im Joy Gaming-Netzwerk entsteht. Entwickler werden in der Lage sein, die Spiele, die der Benutzer spielt, einfach zu "beweisen", weil es transparent und auf der Blockchain ist. Der Entwickler wird sich mit den Casinos in Verbindung setzten und Provisionen von den gespielten Spielen sammeln, während er weiß, dass sie eine robusten Buchungskontrolle haben. Entwickler sind in der Spielindustrie von entscheidender Bedeutung. Wir bei Joy Gaming verstehen sie und arbeiten daran, ihnen die beste Erfahrung in Bezug auf faire Belohnung, volle Unterstützung im Marketingprozess und größere Kapazität von Spielern zu bieten.

Um den Erfolg von Spielen zu gewährleisten, unterstützt Joy Gaming die Entwickler im Joy Gaming-Umfeld.

Unterstützung für Entwickler wird bereitgestellt durch:
Entwickler müssen sich nur um die Spielentwicklung kümmern, Joytokens erledigt den Rest.

Das Gleichgewicht in der Blockchain finden

Die Nutzererfahrung ist entscheidend, wenn es darum geht, an einer Online-Glücksspiel-Initiative zu arbeiten. Joy Gaming hat hart daran gearbeitet, das Gleichgewicht zwischen der Geschwindigkeit des Spielerlebnisses und der Dezentralisierung, welche mit der Verwendung einer Blockchain für die Online-Glücksspielindustrie einhergeht, zu finden.

Mögliche Probleme, denen Ethereum im aktuellen Zustand gegenübersteht

Die Ethereum Blockchain ist kein optimales System, um Daten schnell zu verarbeiten, da der Proof of Work Mining-Prozess alle 14 Sekunden stattfindet. Darüber hinaus ist das Ethereum nicht dafür ausgelegt, große Datenmengen zu speichern, da die Blockchain auf jeden teilnehmenden Knoten des Netzwerks kopiert wird. Daher wäre ein vollständig dezentralisiertes System an jedem Punkt - vom RNG bis zum Spiel selbst - nicht die beste Option, da es eine erhebliche Zeitverzögerung geben würde und die Spieler nicht warten wollen, um die Spielresultate zu erhalten. Darüber hinaus sind Smart-Kontrakte, welche große Datenmengen verwalten und nicht-lineare Logik verarbeiten, teuer.

Gaspreis

Das Ethereum hat den Gaspreis eingeführt, um hauptsächlich "DDoS ähnliche Angriffe", bei denen Schurken eine große Anzahl von Verträgen erstellen können, um die Effizienz des öffentlichen Netzes zu beeinflussen, zu verhindern. Auf diese Weise ändert GAS häufig seine Kosten mit dem Ziel eine genaue Nutzung der Smart-Kontrakt Nachfragen zu gewährleisten.

Zusammenfassung:

Die Joy Gaming Plattform ist ein realistisches Gleichgewicht zwischen Geschwindigkeit und Dezentralisierung, um die optimale Spielerfahrung zu bieten. Jedes Spiel, das auf die Plattform geladen wird, erfüllt die folgenden Anforderungen der Dezentralisierung:

Obwohl jedes Spiel von verschiedenen Entwicklern angeboten wird, wird es einen Spielakzeptanzprozess (siehe Abschnitt 6.5) geben, bei dem das Joy Gaming-Team sicherstellt, dass die Entwickler unsere Anforderungen an Geschwindigkeit und Dezentralisierung erfüllen. Die Spiele, welche die Anforderungen nicht erfüllen. werden auf der Plattform nicht veröffentlicht. Wir werden eventuell einen zusätzlichen Spieler-KYC-Prozess hinzufügen, bei dem nur verifizierte Joy Gaming Spieler die Plattform nutzen dürfen, um ein höheres Maß an Fairplay und die Einhaltung gesetzlicher Vorschriften zu gewährleisten.

Architektur der Blockchain-Integration und -Szenarien

Wie bereits erwähnt, müssen die technischen Eigenschaften aller Spiele zwei Anforderungen erfüllen: Die Verzögerungen, die durch den Einsatz von Blockchain verursacht werden, müssen minimiert und die Dezentralisierung der Blockchain muss genutzt werden.

Die folgende Spielarchitektur entspricht den Joy Gaming Plattform Anforderungen in Bezug auf Sicherheit, Dezentralisierung und Geschwindigkeit. Es gibt vier Hauptkomponenten:

Der Prozess ist in mehrere Phasen unterteilt:

Die Ladephase

Wir versuchen bei jeder Wette die Verifizierungstransaktionszeit während der Ladephase zu vermeiden, weil das die Verzögerungen minimiert, die durch die Blockchain verursacht werden und die Geschwindigkeit des Benutzererlebnisses erheblich beeinflussen.

Um diese Anforderung zu erfüllen, wird der Benutzer aufgefordert, Geld an den ausgewählten Spiel-Smart-Kontrakt zu schicken, während das Spiel geladen und konfiguriert wird.

Dieser Prozess benötigt fünfzehn Sekunden, um das Spiel zu laden und den Blockchain-Smart-Kontrakt einzurichten. Dieser Prozess ist nur dann zulässig, wenn der Benutzer über den KYC-Prozess überprüft und verifiziert wurde. Es wird für nicht verifizierte Spieler unmöglich sein, Geld an den Smart-Kontrakt zu senden und eine automatische Fehlermeldung wird jeden Spieler darauf hinweisen, dass sie durch den KYC-Prozess gehen müssen (mehr Details in Abschnitt 15).

Spieleinleitungsprozess

Der Coin-Betrag, der in den Smart-Kontrakt verschoben wurde, wird auf dem WS (Wallet-Server) als ursprünglicher Wallet-Wert des Kunden eingetragen. Der GS (Spieleserver/Game-Server) kann als ein Cache-ähnliches System betrachtet werden, bei dem der Wert des Geldes des Plattformagierenden (Entwickler, Plattform, Client) je nach Spielergebnis steigt oder fällt.

Jede Wette des Clients wird dem GS (Spielserver/Game-Server) mitgeteilt, um die Ergebnisse zu bestimmen.

  1. Der WS (Wallet-Server) richtet die temporären Wallets ein - der Betrag des Wallets des Clients wird während der Ladephase angelegt. Der Smart-Kontrakt wird einer doppelten Prüfung unterzogen, um sicherzustellen, dass der dem Wallet des Clients zugewiesene Anfangsbetrag derjenige ist, der während der Ladephase den Client zur Verfügung gestellt wird.
  2. Der Nutzer platziert einen Einsatz (zum Beispiel werden 5 JoyTokens bei einem Roulette-Spiel auf ROT gesetzt).
  3. Die Wette wird dem GS mitgeteilt und mit dem RNG (der innerhalb der Blockchain geprüft wird) verarbeitet. Abhängig vom Ergebnis des Spiels werden die Wallets des WS (Client, Plattform und Entwickler) entsprechend aktualisiert.
  4. Solange der Benutzer Geld hat und nicht aufhören möchte zu spielen, wird sein Prozess wiederholt.

Demo-Smart-Kontrakt zum Ausführen eines Spiels im Netzwerk

    function Game(string _name, address _owner, address _registryAddress, address _ tokenAddress, uint256 _payoutRate) {
            name = _name;
            owner = _owner;
            registryAddress = _registryAddress;
            registry = GameRegistry(registryAddress);
            tokenAddress = _tokenAddress;
            token = ERC20(tokenAddress);
            payoutRate = _payoutRate;
            isActive = true;
            decimals = registry.decimals();
        }
        function activate() public onlyOwner {
            isActive = true;
            GameActivated();
        }

        function deactivate() public onlyOwner {
            isActive = false;
            GameDeactivated();
        }

        function ownerDeposit(uint256 amount) public onlyOwner {
            require(amount > 0);
            require(token.transferFrom(owner, this, amount));
            ownerAvailableDeposit.add(amount);
        }

        function ownerWithdraw(uint256 amount) public onlyOwner {
            require(amount > 0 && amount <= ownerAvailableDeposit);
            ownerAvailableDeposit.sub(amount);
            require(token.transfer(owner, amount));
        }

        function playerJoin(uint256 initialDeposit) public whenActive {
            require(!playerInGame[msg.sender]);
            uint256 potentialPayout = getPayout(initialDeposit);
            require(potentialPayout.sub(initialDeposit) <= ownerAvailableDeposit);
            ownerAvailableDeposit = ownerAvailableDeposit.sub(potentialPayou sub(initialDeposit ));
            playerInGame[msg.sender] = true;

            if (initialDeposit > 0){
                playerCurrentGameDeposits[msg.sender] = initialDeposit;
                require(token.transferFrom(msg.sender, this, initialDeposit));
            }
            PlayerJoined(msg.sender);
        }

        function announceResult(address player, uint result) public onlyController {
            require(playerInGame[player]);
            require(result <= uint(GameResult.draw));
            playerInGame[player] = false;
            GameResult gameResult = GameResult(result);
            if (gameResult == GameResult.win) {
                require(resolvePlayerWin(player));
            } else if (gameResult == GameResult.loss) {
                require(resolvePlayerLoss(player));
            } else {
                require(resolveDraw(player));
            }
            GameResultAnnounced(player, result);
        }

        function resolvePlayerWin(address player) private returns (bool success) {
            uint256 payout = getPayout(playerCurrentGameDeposits[player]);
            playerCurrentGameDeposits[player] = 0;
            if (payout > 0)
                playerDeposits[player] = playerDeposits[player].add(payout);
            return true;
        }

        function resolvePlayerLoss(address player) private returns (bool success) {
            uint256 playerDeposit = playerCurrentGameDeposits[player];
            playerCurrentGameDeposits[player] = 0;
            uint256 payout = getPayout(playerDeposit);
            uint256 platformShare = playerDeposit.mul(registry.platformShare()).div(10**registry.decimals());
            require(platformShare < playerDeposit);
            if (platformShare > 0)
                platformDeposit = platformDeposit.add(platformShare);
            uint256 profit = playerDeposit.sub(platformShare);
            ownerAvailableDeposit = ownerAvailableDeposit.add(payout.sub(playerDeposit)).add(profit);
            return true;
        }

        function resolveDraw(address player) private returns (bool success) {
            uint256 playerDeposit = playerCurrentGameDeposits[player];
            playerCurrentGameDeposits[player] = 0;
            uint256 payout = getPayout(playerDeposit);
            if (playerDeposit > 0)
                playerDeposits[player] = playerDeposits[player].add(playerDeposit);
            ownerAvailableDeposit = ownerAvailableDeposit.add(payout.sub(playerDeposit));
            return true;
        }

        function playerWithdraw(uint256 amount) public {
            require(amount > 0 && amount <= playerDeposits[msg.sender]);
            playerDeposits[msg.sender] = playerDeposits[msg.sender].sub(amount);
            require(token.transfer(msg.sender, amount));
        }

        function platformWithdraw(uint256 amount) public {
            require(msg.sender == registry.owner());
            require(amount > 0 && amount <= platformDeposit);
            platformDeposit = platformDeposit.sub(amount);
            require(token.transfer(msg.sender, amount));
        }

        function getPayout(uint256 deposit) private constant returns (uint256 payout) {
            return deposit.mul(payoutRate).div(10**decimals);
        }
    }
    

Wrapping-Phase und Auszahlungsprozess

Der Benutzer kann die Spielsitzung jederzeit beenden und die Wrapping-Phase durch einen einfachen Prozess starten, der durch das benutzerfreundliche Front-End des Spiels ermöglicht wird. Der Wrapping-Prozess besteht aus:

  1. Der Stopp-Anfrage des Benutzers, welche auf den GS und WS geladen wird.
  2. Der GS erstellt eine Verlaufsdatei der Sitzung und die Datei wird dann gehashed.
  3. Der letzte aktualisierte Betrag der WS-Wallets wird zusammen mit dem Hash an den Smart-Kontrakt gesendet.
  4. Gemäß den gesendeten Informationen wird sich der Zustand des Smart-Kontraktes ändern und die Auszahlung auf die Blockchain verarbeitet.

Spiel-Akzeptanzprozess

Wir glauben, dass unsere Vorgehensweise eine Menge Entwickler anziehen und zu vielen Spielangeboten führen wird.

Um den Spiel-Akzeptanzprozess effizient und relevant für unsere Plattform zu machen, werden alle neuen Spielvorschläge wie folgt verarbeitet:

  1. Der Code wird geprüft - unsere Experten stellen sicher, dass alles unseren Sicherheits- und gesetzlichen Anforderungen entspricht.
  2. Das Spiel wird anhand verschiedener Messtechnicken wie Zeit, Sicherheit, Kosten, Blockchain-Integration, Benutzererfahrung usw. getestet. Wenn die Ergebnisse des ersten und zweiten Schritts erfolgreich sind, wird das vorgeschlagene Spiel den Integrationsprozess durchlaufen.
  3. Smart-Kontrakt-Entwicklung.
  4. Test und Sicherheitsprüfung des entwickelten Smart-Kontraktes.
  5. Spiel Start über die Plattform.

Sobald das Spiel auf das Joy Gaming-Netzwerk geladen wird, wird alles aus dem System integriert. Wenn der Entwickler zusätzliche Liquidität benötigt, kann er/sie leicht auf den Pool der Casinos zugreifen, die bereit sind, am Anbieten der Spiele teilzunehmen. Wenn es andere technische Probleme gibt, wird unser Team den Entwickler bei der Suche nach einer schnellen Lösung unterstützen.

Beispiel einer Smart-Kontrakt Auszahlung

    uint256 playerDeposit = playerDeposits[player];
        playerDeposits[player] = 0;
        uint256 payout = getPayout(playerDeposit);
        uint256 platformShare = playerDeposit.mul(registry.platformShare()).div(10**registry.decimals());
        require(platformShare < playerDeposit);
        if (platformShare > 0)
            require(token.transfer(registry.owner(), platformShare));
        uint256 profit = playerDeposit.sub(platformShare);
        ownerAvailableDeposit = ownerAvailableDeposit.add(payout.sub(playerDeposit )).add(profit );
        return true;
    

In seinem Vertrag kann der Entwickler wählen, einen Anteil an den Gewinnen zu erhalten, die durch das Ausführen des Spiels erzielt werden. Dies wird in der platformShare-Variable angegeben. Nach jedem vom Casino durchgeführten Spiel, erhält der Entwickler einen kleinen Teil der Einnahmen. All dies ist direkt im Smart-Kontrakt verschlüsselt, so dass es zwischen dem Spiel und der Auszahlung keine Wartezeiten gibt.

Blockchain-Integrationsprozessbeispiel - Icy Cash Splash

Während der Beispielcode im Whitepaper enthalten ist, um die Funktionalität und Implementierung von Joytoken zu demonstrieren, ist unsere offizielle Token-Ablage über unseren folgenden github-Link erreichbar:https://github.com/JoyPlatform/joy-contracts. Der Code wird kommentiert, um unsere Vorgehensweise, aus Sicht der Entwicklung, so überschaubar wie möglich darzustellen. Wenn Sie Fragen haben, kontaktieren Sie bitte unser Team jederzeit über den Kommunikationskanal.

Blockchain-Technologie jenseits von Ethereum

Ethereum ist nicht marktreif für die Spieltechnologie, da es immer noch Probleme mit der Geschwindigkeit und Skalierbarkeit gibt, welche gelöst werden müssen. In diesem Abschnitt werden wir zwei weitere Technologien vorstellen, welche für unsere Initiative sehr wertvoll sein könnten und in unseren Entwicklungsplan integriert werden könnten.

IOTA: Dezentralisierung mit DAGs (Directed acyclic graphs/Gerichtete azyklische Graphen)

IOTA ist eine neue innovative dezentrale Vorgehensweise. Es ist kein Blockchain-Umfeld, sondern führt das Konzept des Tangles ein. Ein Tangle ist buchstäblich eine Blockchain ohne Blöcke und macht den Konsensusprozess zu einem wesentlichen Teil des Systems.


Diese Innovation bringt der Glücksspielindustrie neue Spielfunktionen:

Die Transaktionsvalidierungszeit hätte negative Auswirkungen für das Glücksspielgeschäft. Die Transaktionszeit wird jedoch direkt von der Anzahl der aktiven Teilnehmer beeinflusst (da Sie an zwei anderen Validierungen teilnehmen müssen, um Ihre eigene Transaktion validieren zu lassen). Somit verringert eine größere Anzahl von Benutzern die Transaktionszeit (die derzeit zwischen 2 und 3 Minuten liegt). Bemerkenswerterweise befindet sich das IOTA-Netzwerk immer noch in einer Betaversion und die kostenlose Transaktionsfunktion wird wahrscheinlich große Mengen von Benutzern anziehen und dadurch die Transaktionsvalidierungszeit lösen. Das Potenzial dieses Umfelds ist unbegrenzt und wir verfolgen seine Entwicklung und hoffen, die Spielintegration in naher Zukunft zu testen. [1]

Dezentralisierung von Speicher und Hosting

Dezentraler Speicher ist ein offener Markt, da die Blockchain-Technologie nicht zum Speichern von Daten entwickelt wurde. Sia [2], IPFS [2] und Storj [3] sind die Hauptkonkurrenten für diesen Markt. Die allgemeine Idee besteht darin, Benutzern zu ermöglichen, Daten zu speichern oder verfügbare Speicherfunktionen zu mieten, die über ein dezentrales Umfeld verwaltet werden.

Zum Beispiel besitzen viele Menschen auf der Welt ungenutzte Speicherfähigkeiten. Die oben genannten Konkurrenten schlagen vor, Daten mit einem hohen Sicherheitsniveau in einem Netzwerk von Teilnehmern zu speichern, die für ihre Festplatten-Miete belohnt werden wollen. Wenn eine Person ein 1-Gigabit-Dokument speichern möchte, wird das Dokument in viele Teile aufgeteilt und jedes Stück wird verschlüsselt. Dann werden diese verschlüsselten Teile kopiert und auf die Festplatte jedes Teilnehmers verteilt.

Die Stärke dieses Modells besteht darin, dass die einzige Möglichkeit, auf die Datei zuzugreifen, darin besteht, den privaten Schlüssel des Dokumenthalters zu besitzen, was unmöglich ist, da die verschlüsselten Teile aller Teilnehmer im Netzwerk gefunden werden müssten. Es bietet starke Sicherheit zu einem sehr attraktiven Preis und ist nur ein wenig teurer als herkömmliche zentralisierte Systeme. Diese Technologie ermöglicht die Speicherung sehr sensibler Daten über den Computer eines beliebigen Benutzers, da alles, was zwischen dem Mieter und Benutzer verwaltet wird, über eine Kryptowährungszahlung erfolgt.

Wie in Abschnitt 11.3 beschrieben, haben wir einen Hash der Spielsitzung eines Clients über die Blockchain-Umgebung gespeichert, um eine vollständige Rückverfolgbarkeit des Benutzerpfades zu ermöglichen. Die Verwendung des dezentralen Speichers in unserem Modell würde die Sicherheit des Verlaufs und eine hohe Zuverlässigkeit gewährleisten, da das System keinen zentralen Fehlerpunkt mehr aufweist.

Joy Gaming versucht, diese Lösung für eine mögliche Integration in seine weitere Entwicklung einzubinden.

Partnerschaftsengagement

Neue Casinobetreiber haben oft Probleme mit der Liquidität ihrer Spieler. Außerdem möchten große Affiliates (Partner) sich nicht mit kleinen Start-up-Spielen von Entwicklern beschäftigen, da sie oft schlechte Konvertierungs- und geringe Beibehaltungsraten bei den Spielern haben. Daher zögern große Affiliates, mit kleinen Entwicklern zu verhandeln, bis sie eine Handelsgeschichte haben. Da diese kleinen Entwickler regelmäßig und nicht in Echtzeit bezahlt werden, leiden sie oft unter Cash-Flow-Problemen. Joy Gaming löst dies leicht durch unser Bezahlen-pro-Spiel Modell. Jedes Mal, wenn Kunden am Spiel teilnehmen, werden die Zahlungen an die jeweiligen Teilnehmer im Spiel getätigt. Dies gewährleistet ein agiles Umfeld mit einer kleinen Rückkopplungsschleife, die neue und innovative Operationen von Entwicklern noch weiter fördern wird.

Das ICO, KYC Management und Anforderungen

Um unsere gesetzlichen Anforderungen zu erfüllen, müssen wir jede Investition mit ihrem Investor verbinden. Alle Teilnehmer mit einem Kaufbetrag von mindestens 10.000 USD durchlaufen einen grundlegenden Verifikationsprozess, zu dem eine Kopie des Ausweisdokumentes (behördlich ausgestellter Ausweis, Reisepass oder Führerschein) gehört. Dieser Prozess wird von JUMIO, einem vertrauenswürdigen KYC-Management-Unternehmen, verwaltet.

Der Spielzugriff, KYC-Management und Anforderungen

KYC kann implementiert werden, um den Regulierungsbehörden zu entsprechen. In diesem Fall muss jeder Client den KYC-Prozess erfolgreich durchlaufen, um auf das Spiel zugreifen zu können. Nach jeder erfolgreichen KYC-Prüfung wird der Public-Key des Wallet-Kontos des Kunden zu unserem System hinzugefügt. Sobald der Public-Key des Clients hinzugefügt wurde, kann der Client unser Umfeld nutzen. Die Spieler werden dann in der Lage sein, ihren Status zu sehen und ihren Spielverlauf in der öffentlichen Blockchain zu überprüfen.

Fallstudien

Das Softwareentwicklungsunternehmen

Avent ist ein Softwareentwicklungsunternehmen, das ein Online-Glücksspiel erstellen möchte. Sie haben eine brillante Idee, welche die Branche verändern würde. Die Casinos sind jedoch nicht bereit, Avent zu engagieren, da der Markt noch nicht getestet wurde. Avent könnte sein eigenes privates Spiel online betreiben, was jedoch zu mehreren Problemen führen würde. Erstens hat Avent nicht die Möglichkeit, seine eigenen Spiele mit hohem Einsatz anzubieten. Zweitens zögern die Benutzer, einer unbekannten Firma zu vertrauen. Darüber hinaus sind die Benutzer nicht damit einverstanden, ihre Kreditkarteninformationen an eine dritte Partei zu übergeben, die Zugriff auf alle Geldmittel haben wird. Dies bedeutet, dass es für Avent sehr schwierig wäre, mit innovativen Glücksspielen einen Gewinn zu erzielen.

Joy Gaming löst das Problem auf zwei Arten. Erstens, wenn Avent im Joy Gaming-Netzwerk laufen würde, würden sie sich einer großen Anzahl von Liquiditätsanbietern (d. h. Casinos) gegenübersehen und dies würde jedes Liquiditätsproblem lösen. Zweitens würde die transparente und unveränderliche Natur der Smart-Kontrakte und eines vertrauenswürdigen RNG-Generierungsalgorithmus potenziellen Nutzern versichern, dass die Spiele, die sie auf Avent spielen, fair sind. Schließlich, weil alle Transaktionen direkt vom Wallet des Benutzers durchgeführt werden, haben sie jederzeit Zugang zu allen Geldern und wären eher bereit, Avent auszuprobieren. Avent ist jetzt in der Lage, mehr Kunden als zuvor zu erreichen und kann sich mehr auf die Entwicklung zusätzlicher innovativer Spiele konzentrieren.

Der Benutzer

Benutzer sind es leid, ständig zwischen vielen verschiedenen Casinos und Spielräumen zu surfen, was sie dazu zwingt, einer wachsenden Anzahl von Drittenanbietern zu vertrauen. Joy Gaming stellt sicher, dass alle Transaktionen sichtbar sind, Regeln sind innerhalb der Blockchain unveränderlich sind und seine Entwickler überprüft werden. Daher können Benutzer im Joy Gaming-Netzwerk spielen und sicher sein, dass die Spiele vollständig verifiziert und sicher sind. Da kein Geld das Wallet des Benutzers verlässt, bis ein Spiel initiiert wird, wird dem Benutzer versichert, dass sein Geld sicher ist.

Die Kasinos

Casinos suchen immer nach neuen Wegen, um Benutzer anzuziehen und die Qualität ihrer Spiele zu verbessern. Casinos verfügen auch über die Expertise, sowie das Kapital und die Liquidität, um Spiele unabhängig zu betreiben. Leider können Casinos nicht einfach irgendwelche Spiele hinzufügen, da neu entwickelte Spiele vom Massenmarkt oft nicht akzeptiert werden. Das Joy Gaming Netzwerk hat eine Lösung. Entwickler, die neue, aufregende und experimentelle Spiele entwickeln, können Verträge direkt mit Casinos abschließen. In diesem Fall sind Casinos die Liquiditätsanbieter im Smart-Kontrakt und jedes Mal, wenn ein Benutzer das Spiel spielt, zahlt das Casino eine Provision an den Entwickler. Es ist ein Win-Win-Szenario

Token-Verkauf

Der Token

JoyTokens werden im Ethereum-Netzwerk als ERC20-Token erhältlich sein. Es gibt eine aktuelle Herausforderung mit dem ERC20-Token: Wenn Sie Ihr Token an einen Smart-Kontrakt senden, müssen Sie die Funktion “approve + transfer form” verwenden, um die Übertragung durchzuführen. Wenn Sie Ihr Token jedoch an eine externe Adresse senden, müssen Sie die Funktion "Transfer" verwenden. Wenn Sie mit diesen Funktionen einen Fehler machen, ist das Geld leider verloren.


Beispielcode für die ERC20-Token-Schnittstelle
    contract ERC20 is ERC20Basic {
      function allowance(address owner, address spender) public constant returns (uint256);
      function transferFrom(address from, address to, uint256 value) public returns (bool);
      function approve(address spender, uint256 value) public returns (bool);
      event Approval(address indexed owner, address indexed spender, uint256 value);
    }
    

Wir sind uns dieser Herausforderung bewusst und arbeiten daran, dass dies unseren Kunden nicht passiert. Wir planen, auf den neuen und noch in der Entwicklung stehenden ERC223-Standard zu aktualisieren (nachdem er vollständig entwickelt wurde). Der ERC223 verfügt über eine neue Funktion, die im Fall eines oben beschriebenen Szenarios ausgelöst wird und das Geld automatisch an den Client zurücksendet.

Nützlichkeit

JoyTokens haben viele verschiedene Anwendungen. Im einfachsten Sinne können JoyToken von Spielern dazu verwendet werden, die Spiele im Joy Gaming-Netzwerk zu spielen. Das Netzwerk bietet ein reibungsloses Belohnungssystem an, garantiert Auszahlungen, zieht Affiliates an, welche normalerweise nicht erreichbar wären, eliminiert potenziellen Betrug und reduziert die Gebühren für die Zahlungsverarbeitung.

Für Casinos und Spieleentwickler können die Token verwendet werden, um die Zahlung für die laufenden Spiele, sowie die der Spieler zu erhalten. Casinos können allen Entwicklern in Echtzeit Affiliate-Zahlungen garantieren, wodurch neue Casino-Betreiber dieselben hoch lukrativen Affiliate-Angebote erhalten, welche derzeit nur für die größten Marken verfügbar sind.

Für die kleineren Spieleentwickler, die sich darauf verlassen, dass größere Casinos ihre Spiele “unterstützen,” können Token verwendet werden, um Provisionen von den Casinos zu erhalten, die den Ruf und das Betriebskapital bereitstellen, um das Spiel anzubieten.

Allen legitimen Parteien wird die Sicherheit gegeben, zu wissen, dass die unveränderlichen Smart- Kontrakte, gekoppelt mit den Tokens, Betrug im Netzwerk verhindern.

Insgesamt haben Token einen Wert, der darauf basiert, welche Nutzer bereit sind zu zahlen, um die Dienste im Joy Gaming-Netzwerk zu nutzen.

Token-Verkaufsstruktur

Cryptocurrency akzeptiert: ETH, BTC, Überweisung

Hard-Cap: JoyToken-Verkauf hat eine Hard-Cap von 46 340 000 USD.

Soft-Cap: Der JoyToken-Verkauf hat eine Soft-Cap von 1 000 000 USD. Wenn der Gesamtbetrag unter der Soft-Cap liegt, gilt das Angebot als fehlgeschlagen.

Zeitskala: Startet ungefähr am 20. März 2018 und dauert bis zu 31 Tage oder kürzer, falls alle Token verteilt wurden.

Überzeichnung: Wenn das JoyToken-Angebot mehr als 46 340 000 USD erreicht, wird der Token-Verkauf sofort beendet. Es besteht die Möglichkeit einer Überzeichnung. In diesem Fall wird der überschüssige Betrag des Fonds innerhalb von 15 Tagen nach dem Ende des Token-Verkaufs zurückerstattet. Bitte beachten Sie, dass in diesem Fall keine Zinsen gezahlt werden.

Misserfolg: Wenn der Token-Verkauf nicht die Soft-Cap erreicht, wird dies als fehlgeschlagener Token-Verkauf betrachtet. Das Angebot wird beendet und alle Geldmittel werden innerhalb von 15 Tagen nach dem Ende des Token-Verkaufs zurückgegeben. Bitte beachten Sie, dass in diesem Fall keine Zinsen gezahlt werden.

Sonstige Risiken: Der Verkauf der Token beinhaltet eine Reihe weiterer Risiken, die im Private Placement Memorandum (PPM) erläutert werden, das den Token-Verkaufsdokumenten beiliegt. Zu diesen Risiken zählen unter anderem die derzeitige Position der SEC, dass ähnliche Tokens als Wertpapiere betrachtet wurden und eine Registrierung oder eine Ausnahme benötigten, potenzieller Wertverlust der Token, Unfähigkeit zum Weiterverkauf der Token, fehlender Aufbau des Joy Gaming-Netzwerks und Rentabilität der Technologie erforderten Risiken. Der Leser/die Leserin wird dringend gebeten, die PPM für eine ausführlichere Erklärung der Risiken zu lesen und einen angemessenen Rat zu erhalten, bevor er/sie mit einer Investition fortfährt.

Tokenverteilung

Vorverkauf 20% 140.000.000
Verkauft während ICO* 30% 210.000.000
Prämienpool (VIP usw.) 10% 70.000.000
Verkauft auf der Plattform 23% 161.000.000
Gründungsteam, bevollmächtigt für 24 Monate 12% 84.000.000
Botschafter, Fund Raising Gebühren 3% 21.000.000
ICO bounties 2% 14.000.000
Gesamt 100% 700.000.000

*Nicht verkaufte Token werden für ein Jahr gesperrt.

Das team

Geschäftsführer

Andrew MacDonald

20 Jahre Erfahrung im Einzelhandel und Online-Gaming bei großen Blue-Chip-Unternehmen. Erfolgreiche Anwendung von Marketing-Rückhaltetechniken, die sich auf den einzelnen Spieler konzentrieren, sowie die Sicherstellung von qualitativ hochwertigen Spielangeboten zur Förderung des Geschäftswachstums. Ein eifriger Problemlöser mit starkem Datenfokus.

Marketingleiter

Mike Leys

Über 34 Jahre Berufserfahrung, davon 30 Jahre in der Marketingbranche. Leitender Manager und leitender Marketingspezialist mit fundiertem Wissen und nachgewiesenem Engagement in allen Bereichen des On- und Offline-Marketing und E-Commerce weltweit. Seine Branchenerfahrung umfasst iGaming, Unterhaltung, Mobile Geräte, Einzenhandel und Finanzdienstleistungen. Seit 2005 in der iGaming-Branche - erfolgreiche Einführung einer Reihe von Online-Gaming-Seiten mit Schwerpunkt auf der Gewinnung von Qualitätsspielern.

Technischer Direktor

Steve Giordano Imbroll

Volle 10 Jahre Erfahrung in der Softwareentwicklung, 7 Jahre Geschäftsanalytik, Bankwesen und Finanzen. Hochqualifizierter Produktentwickler u. a. für Sony, Uber & PKR Technologies. Professioneller Fachmann vielfältiger Anforderungen aus verschiedenen Abteilungen. Visionär über die Feinheiten der Unternehmensleistung. In letzter Zeit fasziniert von Glücksspielen und Wertpapieren.

Strategieplan

JUNI 2017
OP: 500.000 Seed-Finanzierung
OKTOBER 2017
OP: Teamberater aus der Branche und Blockchain
NOVEMBER 2017
OP: Joy Gaming Foundation Gegründet
OUT: Vortrag auf der Blockchain-Messe
DEZEMBER 2017
TECH: Demo-Spielautomat mit Verwendung von Smart-Verträgen
OP: Antrag auf Entwicklerlizenz für Glücksspiele
TECH: Einführung der Joy Gaming Plattform für Entwickler
TECH:Code-Audit
MARCH 2018
OP: Token-Verkauf
APRIL 2018
OP: Token-Verkaufs-Audit
JUNI 2018
TECH: Spiele live auf Playcosmo
AUGUST 2018
TECH: Erweiterung auf Tischspiele mit Festen Gewinnquoten
OP: Integration zu mehr Plattformen & Direktoperatoren

Quellenangaben

[1] https://iota.org/IOTA_Whitepaper.pdf

[2] https://www.sia.tech/whitepaper.pdf

[3] https://ipfs.io/ipfs/QmR7GSQM93Cx5eAg6a6yRzNde1FQv7uL6X1o4k7zrJa3LX/ipfs.draft3.pdf

[4] https://storj.io/storj.pdf

[5] https://bitcoin.org/bitcoin.pdf

[6] https://github.com/ethereum/wiki/wiki/White-Paper

Inhaltsverzeichnis