# US 11,027,197 B2 · Serverless gaming through zero-knowledge proofs

> Agents: this data is available as JSON from the patentgrep API and MCP server — see https://patentgrep.com/llms.txt

- Number: US 11,027,197 B2
- Document ID: US11027197B2
- Status: Granted
- Kind: B2
- Application number: 16/588,939
- Filed: 2019-09-30
- Published: 2021-04-01
- Granted: 2021-06-08
- Earliest claimed: 2019-09-30
- Assignees: Sony Interactive Entertainment Inc.
- Applicants: Sony Interactive Entertainment Inc.
- Inventors: Dylan Butler
- Web page: https://patentgrep.com/patent/US11027197B2

## CPC

- A63F 13/35: Details of game servers
- A63F 13/75: Enforcing rules, e.g. detecting foul play or generating lists of cheating players
- A63F 13/32: using local area network [LAN] connections
- A63F 13/335: using Internet
- A63F 13/34: using peer-to-peer connections
- A63F 13/497: Partially or entirely replaying previous game actions
- A63F 13/71: using secure communication between game devices and game servers, e.g. by encrypting game data or authenticating players
- A63F 13/77: involving data related to game devices or game servers, e.g. configuration data, software version or amount of memory
- A63F 13/79: involving player-related data, e.g. identities, accounts, preferences or play histories
- H04L 9/3218: {using proof of knowledge, e.g. Fiat-Shamir, GQ, Schnorr, ornon-interactive zero-knowledge proofs}
- H04L 9/3239: {involving non-keyed hash functions, e.g. modification detection codes [MDCs], MD5, SHA or RIPEMD}
- H04L 9/50: {using hash chains, e.g. blockchains or hash trees}
- H04L 63/00: {Network architectures or network communication protocols for network security (cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00; network architectures or network communication protocols for wireless network security H04W12/00; security arrangements for protecting computers or computer systems against unauthorised activity G06F21/00)}
- A63F 2300/407: Data transfer via internet
- H04L 2209/56: Financial cryptography, e.g. electronic payment or e-cash
- A63F: CARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
- H04L: TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION (arrangements common to telegraphic and telephonic communication H04M)

## Abstract

A method for processing a serverless video game includes generating, at a first node, a notification to a second node to join play of the serverless video game, and confirming, by the first node, that the second node has joined to play. The joining by the second node creates a peer-to-peer communication process for executing an application layer for the serverless video game. The method also includes executing, at each of the first node and the second node a consensus algorithm for verifying moves processed by the application layer that runs game rules for the serverless video game. The consensus algorithm is configured to independently process at each of the first and second nodes the verifying of the moves. In one example, the consensus algorithm of each of the nodes is configured to process one or more zero-knowledge proofs for verifying moves made during play of the serverless video game.

## Claims

### Claim 1

A method for processing a serverless video game, comprising:
generating, at a first node, a notification to a second node to join play of the serverless video game;
confirming, by the first node, that the second node has joined to play the serverless video game, the joining by the second node creating a peer-to-peer communication process for executing an application layer for the serverless video game;
executing, at each of the first node and the second node a consensus algorithm for verifying moves processed by the application layer that runs game rules for the serverless video game, wherein said consensus algorithm at each of the first node and the second node respectively maintains a database for storing a history of said moves by each one of the first and second nodes, and said consensus algorithm is configured to independently process at each of the first and second nodes said verifying of each of the moves;
generating, at the first node, a first move, and responsive to the first move sending to the second node a message regarding the first move, such that the second node is configured to receive the message regarding the first move by the first node, wherein the consensus algorithm at the second node is configured to validate or invalidate the first move, and wherein an anonymized function of said consensus algorithm at the second node independently processes the first move against said game rules for said validating or invalidating of the first move; and
receiving, by the first node from the second node, a confirmation message regarding validity or invalidity of the first move by the first node.

### Claim 2 (depends on 1)

The method of claim 1, further comprising:
enabling joining of additional nodes for playing the serverless video game, wherein each of the joining nodes is configured to execute a respective consensus algorithm for verifying moves of other nodes.

### Claim 3 (depends on 2)

The method of claim 2, wherein the history is transferred to each joining node.

### Claim 4 (depends on 3)

The method of claim 3, wherein the history is stored locally on the database of each of the nodes.

### Claim 5 (depends on 1)

The method of claim 1, wherein the serverless video game executes for a session, and the method further comprises:
storing the history to a block chain storage at a stop of play to enable later retrieval and resumption of the play.

### Claim 6 (depends on 1)

The method of claim 1, wherein the serverless video game is executed during one or more sessions, and the method further comprises:
storing the history from the databases of the nodes to a block chain storage to enable a later resumption of play during another session.

### Claim 7 (depends on 1)

The method of claim 1, further comprising:
joining, by either the first node or the second node, a third node to play the serverless video game;
transferring, by either the first node or the second node, the history to the third node to enable a consensus algorithm to be executed on the third node in coordination with the consensus algorithm of each of the first and second nodes;
wherein each move of the third node is configured to be verified by each of the first and second nodes.

### Claim 8 (depends on 1)

The method of claim 1, wherein the consensus algorithm of each of the nodes is configured to process one or more zero-knowledge proofs for verifying moves made during play of the serverless video game.

### Claim 9 (depends on 8)

The method of claim 8, wherein the zero-knowledge proofs use information from the history and information received from other nodes to verify said moves against the game rules processed by the application layer of each of the nodes.

### Claim 10 (depends on 1)

The method of claim 1, wherein the consensus algorithm of each of the first node and the second node is configured to process one or more zero-knowledge proofs to determine a winner of the serverless video game, and wherein the consensus algorithm of each of the first node and the second node returns a true or false result as to whether the node won the serverless video game.

### Claim 11 (depends on 1)

The method of claim 1, wherein the consensus algorithm of each of the first node and the second node is configured to process one or more zero-knowledge proofs to determine a winner of an auction in the serverless video game, and wherein the consensus algorithm of each of the first node and the second node returns a true or false result as to whether the node won the auction.

### Claim 12 (depends on 1)

The method of claim 1, further comprising:
accessing, by one of the first or second nodes, a server to request discovery of nodes for playing the serverless video game.

### Claim 13 (depends on 12)

The method of claim 12, wherein said server is configured to process message data to enable the first or second nodes to message one or more of the nodes that were discovered for playing the serverless video game.

### Claim 14

A method for processing a serverless video game, comprising:
generating, at a first node, a notification to a second node to join play of the serverless video game during a session;
confirming, by the first node, that the second node has joined to play the serverless video game for the session, the joining by the second node creating a peer-to-peer communication process for executing an application layer for the serverless video game;
executing, at each of the first node and the second node a consensus algorithm for verifying actions processed by the application layer that runs game rules for the serverless video game, wherein said consensus algorithm of each of the first node and the second node respectively maintains a database for storing a history of said actions by each one of the first and second nodes, and said consensus algorithm is configured to independently process at each of the first and second nodes said verifying of each of the actions;
generating, at the first node, a first action, and responsive to the first action sending to the second node a message regarding the first action, such that the second node is configured to receive the message regarding the first action by the first node, wherein the consensus algorithm at the second node is configured to validate or invalidate the first action, and wherein an anonymized function of said consensus algorithm at the second node independently processes the first action against said game rules for said validating or invalidating of the first action; and
receiving, by the first node from the second node, a confirmation message regarding validity or invalidity of the first action by the first node;
wherein said history is stored to a server database upon termination of the session by the first and second nodes.

### Claim 15 (depends on 14)

The method of claim 14, wherein the server database is a block chain storage.

### Claim 16 (depends on 14)

The method of claim 14, wherein the consensus algorithm of each of the first node and the second node is configured to process one or more zero-knowledge proofs for verifying actions made during play of the serverless video game.

### Claim 17 (depends on 14)

The method of claim 14, wherein the consensus algorithm of each of the first node and the second node is configured to process one or more zero-knowledge proofs to determine a winner of the serverless video game, and wherein the consensus algorithm of each of the first node and the second node returns a true or false result as to whether the node won the serverless video game.

### Claim 18 (depends on 14)

The method of claim 14, wherein the consensus algorithm of each of the first node and the second node is configured to process one or more zero-knowledge proofs to determine a winner of an auction in the serverless video game, and wherein the consensus algorithm of each of the first node and the second node returns a true or false result as to whether the node won the auction.

### Claim 19

A computer readable medium containing non-transitory program instructions for processing a serverless video game, wherein execution of the program instructions by one or more processors of a computer system causes the one or more processors to carry out the operations of:
generating, at a first node, a notification to a second node to join play of the serverless video game;
confirming, by the first node, that the second node has joined to play the serverless video game, the joining by the second node creating a peer-to-peer communication process for executing an application layer for the serverless video game;
executing, at each of the first node and the second node a consensus algorithm for verifying moves processed by the application layer that runs game rules for the serverless video game, wherein said consensus algorithm at each of the first node and the second node respectively maintains a database for storing a history of said moves by each one of the first and second nodes, and said consensus algorithm is configured to independently process at each of the first and second nodes said verifying of each of the moves;
generating, at the first node, a first move, and responsive to the first move sending to the second node a message regarding the first move, such that the second node is configured to receive the message regarding the first move by the first node, wherein the consensus algorithm at the second node is configured to validate or invalidate the first move, and wherein an anonymized function of said consensus algorithm at the second node independently processes the first move against said game rules for said validating or invalidating of the first move; and
receiving, by the first node from the second node, a confirmation message regarding validity or invalidity of the first move by the first node.
