IP Library Patent Application 17779997
Patent Application
App. No. 17/779,997

PROVABLY FAIR GAMES USING A BLOCKCHAIN

Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US None
App. No.
17/779,997
Abstract

A computer-implemented method of pseudo-randomly generating winning game elements for use in playing a game. An oracle obtains: a set of seed data items, the set of seed data items comprising one or more user seed data items; and a sequence of first public keys, each first public key representing a respective one of the set of first game elements. The oracle generates an output of a game transaction that comprises an output script. The script comprises the sequence of at least some of the first public keys, and wherein the output script is configured to, when executed, generate at least one pseudorandom number, the pseudorandom number being based on the set of seed data items, and to select a winning key, the winning public key being the public key at a position in the sequence of first public keys corresponding to the pseudorandom number.

Claims (47)

1 . A computer-implemented method of pseudo-randomly generating winning game elements for use in playing a game, wherein the game comprises a set of first game elements used to determine an outcome of the game, wherein the game is played by one or more respective users, and wherein the method is performed by an oracle and comprises:

obtaining a set of seed data items, wherein the set of seed data items comprises one or more user seed data items generated by a respective user;

obtaining a sequence of first public keys, each first public key representing a respective one of the set of first game elements;

generating a first output of a game transaction, wherein the game transaction is a blockchain transaction, wherein the first output comprises an output script comprising the sequence of at least some of the first public keys, and wherein the output script is configured to, when executed, generate at least one first pseudorandom number, the at least one first pseudorandom number being based on the set of seed data items, and to select at least one first winning key, the at least one first winning public key being the public key at a position in the sequence of first public keys corresponding to the at least one first pseudorandom number.

2 . The method of claim 1 , comprising transmitting the game transaction to one or more of the respective users and/or the blockchain.

3 . The method of claim 1 , wherein the set of seed data items comprises an oracle seed data item generated by the oracle.

4 . The method of claim 1 , comprising:

generating a commitment transaction, wherein the commitment transaction is a blockchain transaction comprising the oracle seed data item; and

transmitting the commitment transaction to a current user of the respective users.

5 . The method of claim 1 , comprising:

obtaining a commitment transaction, wherein the commitment transaction comprises the user seed data item generated by a current user; and

transmitting the commitment transaction to a blockchain network for inclusion in a blockchain.

6 . The method of claim 4 , wherein the game transaction comprises a first input configured to unlock a first output of the commitment transaction.

7 . The method of claim 1 , wherein the first pseudorandom number is generated by:

applying a first hash function to a combination of the set of seed data items to generate a first hash result; and

mapping the first hash result to a number based on a first total number of first game elements in the set of first game elements.

8 . (canceled)

9 . The method of claim 1 , comprising:

generating a mapping hash by applying a hash function to a mapping on the sequence of public keys and the respective first game elements represented by those public keys; and

making available the mapping hash to at least a current user.

10 . The method of claim 9 , wherein said making available of the mapping hash comprises including the mapping hash in a transaction for inclusion in the blockchain.

11 . (canceled)

12 . The method of claim 1 , wherein said obtaining of the sequence of first public keys comprises obtaining one or more of said first public keys from a current user.

13 . The method of claim 1 , wherein the first output script is configured to, when executed, lock the first output to the first winning public key.

14 . The method of claim 13 , comprising, transmitting, to a current user, a private key corresponding to the first winning public key.

15 . The method of claim 1 , wherein the first output script is configured to, when executed, lock the first output to a) one or more user public keys associated with a current user, or b) an oracle public key associated with the oracle, wherein the first output is locked to either a) the one or more user public keys, or b) the oracle public key, based on the first winning public key.

16 . The method of claim 1 , wherein the game comprises a set of second game elements used to determine the outcome of the game, and wherein the method comprises:

obtaining a sequence of second public keys, each second public key representing a respective one of the set of second game elements; and

wherein the output script is configured to, when executed, generate a second pseudorandom number, the second pseudorandom number being based on the set of seed data items, and to select, as a second winning public key, a public key at a position in the sequence of second public keys corresponding to the second pseudorandom number.

17 . The method of claim 16 , wherein the second pseudorandom number is generated by:

applying a second hash function to a combination of the set of seed data items to generate a second hash result; and

mapping the second hash result to a number based on a second total number of second game elements in the set of second game elements.

18 . (canceled)

19 . The method of claim 16 , wherein the first output script is configured to, when executed, lock the first output to a) one or more user public keys associated with a current user, or b) an oracle public key, wherein the first output is locked to either a) the one or more user public keys, or b) the oracle public key, based on the first winning public key corresponding to at least the second winning public key.

20 . The method of claim 19 , wherein the first output script comprises a multi-signature script for locking the first output to a) one or more user public keys.

21 . The method of claim 1 , wherein one or more first public keys represent the same first game element, and/or wherein one or more second public keys represent the same second game element.

22 - 23 . (canceled)

24 . Computer equipment comprising:

memory comprising one or more memory units; and

processing apparatus comprising one or more processing units, wherein the memory stores code arranged to run on the processing apparatus, the code being configured so as when run on the processing apparatus, the processing apparatus performs the method of pseudo-randomly generating winning game elements for use in playing a game, wherein the game comprises a set of first game elements used to determine an outcome of the game, wherein the game is played by one or more respective users, and wherein the method is performed by an oracle and comprises:

obtaining a set of seed data items, wherein the set of seed data items comprises one or more user seed data items generated by a respective user;

obtaining a sequence of first public keys, each first public key representing a respective one of the set of first game elements;

generating a first output of a game transaction, wherein the game transaction is a blockchain transaction, wherein the first output comprises an output script comprising the sequence of at least some of the first public keys, and wherein the output script is configured to, when executed, generate at least one first pseudorandom number, the at least one first pseudorandom number being based on the set of seed data items, and to select at least one first winning key, the at least one first winning public key being the public key at a position in the sequence of first public keys corresponding to the at least one first pseudorandom number.

25 . A computer program product comprising a non-transitory computer-readable storage medium storing a computer program configured so as, when run on computer equipment, the computer equipment performs the method of any of pseudo-randomly generating winning game elements for use in playing a game, wherein the game comprises a set of first game elements used to determine an outcome of the game, wherein the game is played by one or more respective users, and wherein the method is performed by an oracle and comprises:

obtaining a set of seed data items, wherein the set of seed data items comprises one or more user seed data items generated by a respective user;

obtaining a sequence of first public keys, each first public key representing a respective one of the set of first game elements;

generating a first output of a game transaction, wherein the game transaction is a blockchain transaction, wherein the first output comprises an output script comprising the sequence of at least some of the first public keys, and wherein the output script is configured to, when executed, generate at least one first pseudorandom number, the at least one first pseudorandom number being based on the set of seed data items, and to select at least one first winning key, the at least one first winning public key being the public key at a position in the sequence of first public keys corresponding to the at least one first pseudorandom number.

Assignments (2)
CHANGE OF NAME Recorded Aug 8, 2022
From: NCHAIN HOLDINGS LIMITED
To: NCHAIN LICENSING AG
Reel/Frame 061118/0671 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 25, 2022
From: DAVIES, JACK OWEN; WRIGHT, CRAIG STEVEN; TARTAN, CHLOE
To: NCHAIN HOLDINGS LIMITED
Reel/Frame 060019/0360 →