The Internet is a global data communications system that serves billions of users and billions of online businesses worldwide. The Internet provides users access to a vast array of online resources and services, including those provided by the World Wide Web. For example, the Internet provides users with the ability to shop for and make online purchases of a limitless array of virtual goods and services, and real goods and services. The online shopping market has seen phenomenal growth in recent years, thanks to the ubiquity of the Internet and the World Wide Web, the ubiquity of personal computers and laptop computers, the fast growing popularity of Internet-enabled video game consoles, and the fast growing popularity of Internet-enabled handheld computing devices such as smartphones and tablet computers. Both virtual currency and real currency form the basis of the online shopping economy.
This Summary is provided to introduce a selection of concepts, in a simplified form, that are further described hereafter in the Detailed Description. This Summary is not intended to identify key features or essential features of the claimed subject matter, nor is it intended to be used as an aid in determining the scope of the claimed subject matter.
Transparent virtual currency technique embodiments described herein generally allow users to make online purchases using a virtual currency. In one exemplary embodiment a series of secret encryption keys is generated, where each key in the series is associated with a different epoch in an ongoing sequence of epochs. A token tracking table is initialized which tracks the status of all the tokens which are issued to the users. Whenever an amount of real currency is received from a user wanting to purchase tokens, a semantically secure encryption method is used in conjunction with the secret encryption key in the series that is associated with the current epoch to generate a set of encrypted tokens which includes one or more encrypted paid tokens whose combined real currency value equals the amount of real currency received from the user wanting to purchase tokens. The set of encrypted tokens is sent to the user wanting to purchase tokens, and each encrypted paid token in the set is entered into the token tracking table, where the entry for each encrypted paid token includes information specifying that the token has not yet been spent and has not yet been encashed.
In another exemplary embodiment a public commitment key having been generated and subsequently published by a trusted third party is received. The trusted third party generated this key by running a setup function of a secure additively homomorphic commitment method. A token tracking table is initialized which tracks the status of all the tokens which are issued to the users. Whenever an amount of real currency is received from a user wanting to purchase tokens, a commit function of the commitment method is run in conjunction with the public commitment key to generate a set of committed tokens which includes one or more committed paid tokens whose combined real currency value equals the amount of real currency received from the user wanting to purchase tokens. The set of committed tokens is sent to the user wanting to purchase tokens, and each committed paid token in the set is entered into the token tracking table, where the entry for each committed paid token includes information specifying that the token has not yet been spent and has not yet been encashed.
The specific features, aspects, and advantages of the transparent virtual currency (TVC) technique embodiments described herein will become better understood with regard to the following description, appended claims, and accompanying drawings where:
In the following description of transparent virtual currency (TVC) technique embodiments reference is made to the accompanying drawings which form a part hereof, and in which are shown, by way of illustration, specific embodiments in which the TVC technique can be practiced. It is understood that other embodiments can be utilized and structural changes can be made without departing from the scope of the TVC technique embodiments.
The term “real currency” is used herein to refer to money which can be exchanged as legal tender between parties, where the money can be in either a physical form (such as coins, banknotes, and the like) or a non-physical form (such as electronic money, also known as electronic cash/currency, digital money, and digital cash/currency). The term “gaming platform” is used herein to refer to an online service which offers online games (hereafter simply referred to as “games”) and related virtual goods to its users. It will be appreciated that gaming platforms include, but are not limited to, dedicated gaming platforms (such as Windows Live® (a registered trademark of Microsoft Corporation) and Xbox LIVE® (a registered trademark of Microsoft Corporation), among others) and social networking platforms (such as Facebook, among others). The term “real goods” is used herein to refer to physical objects and services. The term “virtual goods” is used herein to refer to non-physical objects and services which exist purely in digital form and are purchased for use in online communities or games. Virtual goods are commonly sold by gaming platforms, third-party online game developers (hereafter simply referred to as “game developers”), community websites, and the like. Exemplary virtual goods include, but are not limited to, virtual gifts, games, in-game purchases, and customizations for avatars (such as clothing, pets, accessories, and the like).
As described heretofore, the Internet provides users with the ability to shop for and make online purchases of a limitless array of virtual goods and real goods. The aforementioned phenomenal growth in the online shopping market is additionally fueled by the recent growth in the popularity of online gaming. The sale of virtual goods on gaming platforms is fast becoming a leading source of revenue for both the game developers and the gaming platforms. As is appreciated in the art of online shopping, the online purchase of virtual goods can generally be made using a combination of virtual currency and real currency. Virtual currency generally takes the form of tokens (also known as “credits”). Tokens can be purchased from a given gaming platform by the users. Some gaming platforms also issue tokens to certain users free of charge. More particularly, a given gaming platform can issue tokens to certain users free of charge on a promotional basis to encourage user participation. A given gaming platform can also periodically issue tokens to certain users free of charge as a reward for customer loyalty, or as a reward for performing prescribed tasks for the platform (such as testing a new game, or testing a new game feature, or the like), or as a reward for achieving prescribed goals within a prescribed game. A vast majority of the gaming platforms in existence now support both tokens which are purchased by users and tokens which are issued to users free of charge.
After a user either purchases tokens from a given gaming platform or receives them from the gaming platform free of charge as a reward, the user can spend the tokens in various ways such as purchasing virtual goods or real goods from the gaming platform, or purchasing virtual goods or real goods from a game developer, among others. This unified view of tokens holds a lot of promise since it provides users with a seamless way of paying for all sorts of commodities available on the gaming platform. It also encourages regular user participation on the gaming platform. However, since not all tokens entail a “real currency” trail, the gaming platform has to be careful when it redeems tokens. More particularly, the gaming platform has to distinguish between the tokens which users have purchased using real currency, and the tokens which are issued to users free of charge.
The TVC technique embodiments described herein are generally applicable to allowing users of a gaming platform to make online purchases from both game developers and the gaming platform using a virtual currency. Such purchases generally result in various transactions taking place between the users, game developers and gaming platform. These transactions can be thought of as a virtual economy.
The TVC technique embodiments described herein are advantageous for various reasons including, but not limited to, the following. As will be appreciated from the more detailed description that follows, the TVC technique embodiments are scalable to support a large number of different users and game developers. The TVC technique embodiments are also computationally efficient. The TVC technique embodiments also provide for transparent accounting of the transactions in the virtual economy. The TVC technique embodiments also impose minimal trust requirements on the gaming platform. The TVC technique embodiments also allow the users and game developers to implicitly trust the gaming platform to correctly account for and share revenues fairly with the game developers. In other words the users and game developers can rest assured that the gaming platform pays the game developers their fair share of the real currency value of tokens which the game developers collect from the users and subsequently send back to the gaming platform for encashment.
As will be also appreciated from the more detailed description that follows, the TVC technique embodiments described herein are further advantageous in that they ensure that all real currency in the virtual economy is accounted for. More particularly, the TVC technique embodiments ensure that the real currency disbursed by the gaming platform equals the real currency taken in by the gaming platform after adjusting for the gaming platform's profit margin. The TVC technique embodiments also ensure that even in the presence of the aforementioned two different types of tokens in the virtual economy (i.e., tokens which are purchased from the gaming platform by users, and tokens which are issued by the gaming platform to users free of charge), the game developers cannot distinguish between these types of tokens, thus ensuring that the promise of seamless payments through tokens is not violated.
As will also be appreciated from the more detailed description that follows, in the TVC technique embodiments described herein the virtual economy is controlled by the gaming platform. However, despite this fact, the TVC technique embodiments also ensure that the users and game developers do not lose real currency even in the situation where the gaming platform experiences a failure or malfunction. Additional advantages of the TVC technique embodiments are described hereafter.
Referring again to
Referring again to
Referring again to
Referring again to
Referring again to
Referring again to
It will be appreciated that the TOKENS can be implemented in various ways. In an exemplary embodiment of the TVC technique described herein each token is represented by a bit string, and it is the bit string which is explicitly exchanged between the actors during the various transactions described heretofore.
The TVC technique embodiments described herein generally provide for three different security properties, namely conservation, indistinguishability and non-repudiation. Each of these properties will now be described in more detail.
Referring again to
Referring again to
MONEYIN=MONEYOUT+Value(VALIDT)+PROFIT* Value(ENCASHEDT), (1)
where MONEYOUT can be given by the following equation:
MONEYOUT=(1−PROFIT)*Value(ENCASHEDT). (2)
The conservation security property can in-turn be satisfied if the material implication TOKENS←PURCHASE(U,MONEY) satisfies the following equation:
Value(TOKENS)=MONEY, (3)
and the material implication MONEY←ENCASH(GD,TOKENS) satisfies the following equation:
MONEY=(1−PROFIT)*Value(TOKENS). (4)
In other words, the conservation security property makes it possible for the actors to validate that the value of the tokens encashed by the game developers is exactly equal to the real currency spent by the users of their games, after adjusting for the gaming platform's published profit margin, and after accounting for any unspent tokens that the users still have in their accounts.
It is noted that both the game developers and the gaming platform are naturally incentivized to detect any fraud by the users involving their attempted use of invalid (e.g., already spent) tokens. Thus, the TVC technique embodiments described herein are able enforce the conservation property assuming that the gaming platform truthfully (and in a timely manner) helps the game developers indentify any invalid tokens that the users might attempt to spend in a game they are playing. The conservation security property is advantageous for various reasons including, but not limited to, the fact that neither the game developers nor the users have to trust the gaming platform implicitly in order to verify that they are being treated fairly with regard to transaction accounting.
Referring again to
Generally speaking and referring again to
This section describes various embodiments of a process for allowing users to make online purchases using a virtual currency. In one embodiment the process is implemented using an eventual verification scheme; this particular embodiment is hereafter referred to as the “eventual verification scheme embodiment” of the TVC technique described herein. In another embodiment the process is implemented using a timely verification scheme; this particular embodiment is hereafter referred to as the “timely verification scheme embodiment” of the TVC technique. In yet another embodiment the process is implemented using a timely verification scheme that includes non-repudiation; this particular embodiment is hereafter referred to as the “non-repudiation scheme embodiment” of the TVC technique. Each of these embodiments will now be described in more detail.
This section presents a description of the eventual verification scheme embodiment of the TVC technique described herein. As will be appreciated from the more detailed description that follows, the eventual verification scheme embodiment achieves the conservation security property at all times, and achieves the indistinguishability security property during a fixed time period T which is hereafter sometimes referred to as an “epoch”. However, it is noted that the conservation and indistinguishability security properties can be verified by the users and game developers just at the end of a given epoch T. Once one or more tokens are verified, indistinguishability is lost for transactions in the past. The eventual verification scheme embodiment is advantageous in that it is easy to implement and very computationally efficient.
The eventual verification scheme embodiment of the TVC technique described herein utilizes a semantically secure encryption method which is hereafter sometimes referred to as “EK(•)”, where K denotes a secret encryption key. In the eventual verification scheme embodiment a token is either an encryption of a zero (which represents a free token) or an encryption of a one (which represents a paid token). In other words, TOKENSε{EK(0), EK(1)}. In an exemplary implementation of the eventual verification scheme embodiment the conventional ElGamal public key cryptosystem method is used for EK(•). However, it is noted that the eventual verification scheme embodiment can also be implemented using other semantically secure encryption methods for EK(•) such as the conventional Goldwasser-Micali probabilistic encryption method or the conventional Paillier public key cryptosystem method, among others.
As is appreciated in the art of encryption, the semantically secure encryption method is probabilistic. As a result, if the semantically secure encryption method is used to perform a plurality of independent encryptions of a common data object, each independent encryption will yield a different result. Thus, each independent encryption of a zero will look different and each independent encryption of a one will look different. As a result, if a person were to inspect a given set of tokens he would not be able to discern which tokens in the set are paid tokens and which tokens in the set are free tokens. The secret encryption key K is changed every epoch T by the gaming platform. The secret encryption key K that is used in the epoch (iT, i=1, 2, 3, . . . ) is hereafter sometimes referred to as “Ki”. At the beginning of each new epoch iT, the gaming platform publishes, to both the users and game developers, the secret encryption key K(i−1) that was used during the immediately preceding epoch (i−1)T. Generally speaking and as will be described in more detail hereafter, this routine publication of previously used secret encryption keys allows both the users and game developers to perform token audits.
The token tracking table can be implemented in various ways. By way of example but not limitation, in an exemplary embodiment of the TVC technique described herein the token tracking table is implemented as follows. Each row in the token tracking table tracks the status of a different token that has been issued to a given user. A first column in the token tracking table includes information that uniquely identifies each token. A second column in the token tracking table includes information that specifies whether or not the token has been spent. A third column in the token tracking table includes information that specifies whether or not the token has been encashed. Thus, the token tracking table can be given by the following equation:
TOKEN_TABLE={TOKEN,Spent?,Encashed?}. (5)
In an exemplary embodiment of the TVC technique a zero in the second column of the token tracking table indicates that the token has not yet been spent, and a zero in the third column of the token tracking table indicates that the token has not yet been encashed. A one in the second column of the token tracking table indicates that the token has already been spent, and a one in the third column of the token tracking table indicates that the token has already been encashed. Alternate embodiments of the TVC technique are also possible which employ other values for these indicators.
Referring again to
TOKEN_TABLE=TOKEN_TABLE∪{TOKEN,0,0}. (6)
Referring again to
Referring again to
Referring again to
Referring again to
As exemplified in
Referring again to
Referring again to
Referring again to
With regard to the game developers' verification of the conservation and indistinguishability security properties, the secret encryption key publication allows the game developer who sent the fourth set of encrypted tokens to the gaming platform for encashment, and in exchange received the real currency having the revised summed value from the gaming platform, to verify that the revised summed value is proper. More particularly, assuming that the game developer knows the gaming platform's published profit margin (which can be published by the gaming platform as described heretofore), the game developer can decrypt each of the encrypted tokens in the fourth set using the semantically secure encryption method in conjunction with the published secret encryption key in order to verify that the real currency he received from the gaming platform is accurate. Additionally, given that nij<Ni denotes the amount of real currency spent during a given epoch iT by each of the users inside a given game of a given game developer j, the game developer j expects to receive encrypted tokens from the users having a real currency value of Σi(nij). Each of the encrypted tokens sent by the users to the game developer j comes with an assurance that it was not already spent because of the token tracking table the gaming platform maintains and the related various encrypted token validations that are performed by the gaming platform. As long as no encrypted tokens are lost between the users and the game developer j, the game developer j can store the encrypted tokens spent by all the users, and can use the published encryption key Ki to verify that these encrypted tokens have a real currency value equal to Σi(nij).
With further regard to the indistinguishability security property, it will be appreciated that this property is a natural consequence of the semantically secure encryption method used by the gaming platform to encrypt both the free tokens and paid tokens which are sent to the users by the gaming platform during a given epoch iT. In other words, since the users and game developers do not have the particular secret encryption key Ki during the epoch iT, neither the users nor the game developers can distinguish one encrypted token from another during the epoch iT. After the epoch iT has ended and secret encryption key Ki has been published by the gaming platform, the gaming platform can do various things including, but not limited to, the following. In one implementation of the eventual verification scheme embodiment of the TVC technique described herein, encrypted tokens which have been sent to but not yet been spent by each user can simply expire. In another implementation of the eventual verification scheme embodiment of the TVC technique the gaming platform can renew such encrypted tokens using a new secret encryption key K(i+1).
This section presents a description of the timely verification scheme embodiment of the TVC technique described herein. As will be appreciated from the more detailed description that follows, the timely verification scheme embodiment achieves both the conservation and indistinguishability security properties at all times since both the users and the game developers can verify these properties immediately upon the completion of any of the aforementioned types of transactions that can take place between the actors. As such, neither the users nor the game developers have to implicitly trust the gaming platform. As will be described in more detail hereafter, the game developers' verification of these properties is conditioned by a privacy policy that prevents the game developers from determining the real currency value of individual tokens (i.e., discriminating between paid tokens and free tokens) until after they are encashed. The privacy policy can also prevent the game developers from encashing individual tokens, or repeatedly querying the value of the same token or the same set of tokens. The privacy policy can also allow the gaming platform to refuse to encash a given set of tokens if the total number of tokens in the set is smaller than a prescribed value. Even though the timely verification scheme embodiment is computationally more expensive than the eventual verification scheme embodiment, the timely verification scheme embodiment is advantageous in that it requires a lesser degree of trust in the gaming platform.
The timely verification scheme embodiment of the TVC technique described herein utilizes a secure additively homomorphic commitment method which is hereafter simply referred to as a “commitment method”. Generally speaking and as is appreciated in the arts of cryptology and information security, a commitment method is a protocol that is executed between two or more parties, where a first party commits to a value and keeps the value hidden by computing a function of the value which results in a commitment. The first party then sends the commitment to one or more other parties. Knowledge of the commitment by itself does not allow the other parties to learn anything about the value. At a later time, the first party can reveal the value along with some auxiliary information to the other parties, after which the other parties can use the auxiliary information to check the validity of the revealed value.
More particularly, the commitment method includes three different functions, namely a setup function which is hereafter sometimes referred to as “Setup(•)”, a commit function which is hereafter sometimes referred to as “Commit(•)”, and an open function which is hereafter sometimes referred to as “Open(•)”. The setup function generates a public commitment key which can be used by the first party to commit to a message to the one or more other parties, where this message can be denoted by m. The first party can then run the commit function to commit to the message m, where the commit function outputs a commitment which can be denoted by c. The first party can then send the commitment c to the other parties. At some future time, the first party can allow the other parties to “open” the commitment c by sending the message m along with some auxiliary information (which can be denoted by aux) to the other parties. The other parties can then check the correctness of the commitment c by running the open function.
As is also appreciated in the arts of cryptology and information security, a secure commitment method generally has two security properties, namely a hiding property and a binding property. The hiding property ensures that the other parties cannot learn anything about the message m that was committed to by the first party even after receiving the commitment c from the first party. The binding property ensures that the first party cannot open a different commitment once the commit function has been run. In addition to the hiding and binding properties, the commitment method has another property where a commitment on two different messages m1 and m2 can be computed directly from the individual commitments on each of the messages. This other property can be given by the following equation:
Commit(m1+m2)=Commit(m1){circle around (•)}Commit(m2). (7)
The Pedersen commitment scheme generally operates as follows. The setup function takes a security parameter k as input and generates a (k+1) bit safe-prime number p which can be given by the equation p=(2q+1), where q is a k-bit prime number. In an exemplary implementation of the timely verification scheme embodiment of the TVC technique described herein a value of 1024 was used for k. The setup function then chooses generators g and h randomly from a group of order q. The chosen generators g and h then become a public commitment key which can be denoted by (g, h). The commit function chooses an element r randomly from a set of integers given by q and outputs a commitment c which can be given by the equation c=grhm mod p. As will be described in more detail hereafter, in the timely verification scheme embodiment of the TVC technique described herein, a paid token is represented by m=1 (i.e., a paid token is a commitment on a one) and a free token is represented by m=0 (i.e., a free token is a commitment on a zero) so that TOKENSε{Commit(0),Commit(1)}. Based on the chosen generators g and h having been published as described heretofore, and the chosen element r having been revealed as will be described in more detail hereafter (i.e., aux=(g,h,r)), the open function will output a one if grhm=c, and the open function will output a zero if grhm≠c.
Referring again to
Referring again to q in order to produce a set of committed tokens which can be given by the following equation:
TOKENS={(hgr
Referring again to
Referring again to q in order to produce a set of committed tokens which can be given by the following equation:
TOKENS={(gr
Referring again to
Referring again to
TOKENS={gr
It will be appreciated that the third set of committed tokens can be made up of any combination of committed paid tokens and committed free tokens. However, since the third set of committed tokens set does not include the elements (ri's) of the committed tokens therein, the game developer is unable to open the committed tokens therein and thus is unable to identify whether they are paid tokens or free tokens.
As exemplified in
Referring again to
As exemplified in
Referring again to
Whenever the total number of committed tokens in the fourth set exceeds a parameter specified by the aforementioned privacy policy, the gaming platform can send information to the game developer which allows the game developer to open the committed tokens in the fourth set in order to verify that the real currency he received from the gaming platform is accurate. In one embodiment of the TVC technique described herein the opening of the committed tokens in the fourth set can be performed by the game developer individually by running the open function of the commitment method. More particularly, the gaming platform can reveal the element ri which the gaming platform used to generate each committed token in the fourth set (refer to equations (8) and (9) above) by sending a fifth set of the elements to the game developer, where the total number of elements in the fifth set equals the total number of committed tokens in the fourth set.
In an alternate embodiment of the TVC technique described herein where the Pedersen commitment scheme is used for the commitment method, the opening of the committed tokens in the fourth set can be performed by the game developer in aggregate by exploiting the homomorphic property of the commitment method. More particularly, the gaming platform can send an aggregate open key to the game developer where this key allows the game developer to open the aggregate of all the committed tokens in the fourth set. The aggregate open key can be denoted by R and can be given by the equation R=Σiri. It will be appreciated that having the aggregate open key R allows the game developer to open the aggregate of the committed tokens in the fourth set by running the open function of the Pedersen commitment scheme in conjunction with both the public commitment key and R in order to verify that the real currency he received from the gaming platform is accurate.
2.3.3 Timely Verification Scheme with Non-Repudiation
This section presents a description of the non-repudiation scheme embodiment of the TVC technique described herein. Generally speaking and as will be described in more detailed hereafter, the non-repudiation scheme embodiment of the TVC technique is an extension of the timely verification scheme embodiment of the TVC technique which utilizes conventional digital signatures in each transaction between the actors in order to achieve the non-repudiation security property (in addition to achieving both the conservation and indistinguishability properties at all times). More particularly, in the non-repudiation scheme embodiment each of the actors involved in a given transaction utilizes a conventional digital signature method to append a digital signature onto each individual message they are sending, where a given digital signature on a given message m is hereafter sometimes referred to as “σ(m)”. In an exemplary implementation of the non-repudiation scheme embodiment the conventional ElGamal digital signature method is used for the digital signature method. However, it is noted that the non-repudiation scheme embodiment can also be implemented using other digital signature methods. As is appreciated in the art of digital signatures, the party who receives a digitally signed message can use the digital signature to validate that the message was sent by a known party and was not altered in transit.
The following is a description of how the PURCHASE(U,MONEY) transaction between the gaming platform and a given user is extended to achieve the non-repudiation security property for this transaction. After the gaming platform runs the commit function of the commitment method in conjunction with the public commitment key to generate the first set of committed tokens (which as described heretofore includes one or more committed paid tokens whose combined real currency value equals the second amount of real currency received from the user wanting to purchase tokens), the gaming platform appends a digital signature onto each committed paid token. In other words, in the exemplary implementation of the timely verification scheme embodiment of the TVC technique described herein where the Pedersen commitment scheme is used for the commitment method, the first set of committed tokens which is produced by the gaming platform can be given by the following equation:
After the gaming platform sends the first set of committed tokens to the user wanting to purchase tokens, this user sends a digitally signed message back to the gaming platform acknowledging that he received the first set of committed tokens, and the gaming platform receives this digitally signed message from this user.
The following is a description of how the GRANT(U) transaction between the gaming platform and a given user is extended to achieve the non-repudiation security property for this transaction. After the gaming platform runs the commit function of the commitment method in conjunction with the public commitment key to generate the second set of committed tokens (which as described heretofore includes one or more committed free tokens), the gaming platform appends a digital signature onto each committed free token. In other words, in the exemplary implementation of the timely verification scheme embodiment of the TVC technique described herein where the Pedersen commitment scheme is used for the commitment method, the second set of committed tokens which is produced by the gaming platform can be given by the following equation:
After the gaming platform sends the second set of committed tokens to the given user, the given user sends a digitally signed message back to the gaming platform acknowledging that he received the second set of committed tokens, and the gaming platform receives this digitally signed message from the given user.
The following is a description of how the SPEND(U,GD,TOKENS) transaction between a given game developer and a given user is extended to achieve the non-repudiation security property for this transaction. After the game developer receives the approval message from the gaming platform (i.e., after all the committed tokens in the third set are determined to be valid by the gaming platform), the game developer sends a digitally signed message to the given user acknowledging that the game developer received the third set of committed tokens from the given user. After the game developer has completed the virtual goods purchase transaction and the given user has received the virtual goods, the given user sends a digitally signed message back to the game developer acknowledging that the given user received the virtual goods.
The following is a description of how the ENCASH(GD,TOKENS) transaction between a given game developer and the gaming platform is extended to achieve the non-repudiation security property for this transaction. After the gaming platform receives the fourth set of committed tokens from the game developer who wants to encash all the committed tokens in the fourth set, the gaming platform sends a digitally signed message back to the game developer acknowledging that the fourth set of committed tokens was received. After the game developer verifies that the real currency having the revised summed value he received from the gaming platform is accurate, the game developer can send a digitally signed message back to the gaming platform acknowledging that the game developer received this real currency and it is accurate. The gaming platform will then receive this digitally signed message from the game developer.
While the TVC technique has been described by specific reference to embodiments thereof, it is understood that variations and modifications thereof can be made without departing from the true spirit and scope of the TVC technique. By way of example but not limitation, rather than the conventional Pedersen commitment scheme being used for the commitment method in the timely verification scheme and non-repudiation scheme embodiments of the TVC technique described herein, alternate implementations of these embodiment are possible where other secure additively homomorphic commitment methods are be used for the commitment method such as the conventional Abe-Cramer-Fehr non-interactive distributed-verifier proofs method or the conventional Chaum-Evertse-VanDeGraaf protocol for demonstrating possession of discrete logarithms, among others.
Furthermore, in addition to the gaming platform maintaining the aforementioned token tracking table which tracks the status of all the tokens which are issued to the users, the users and game developers can also maintain their own tables (or like mechanisms) which track the status of tokens from their own independent perspectives. Yet furthermore, in addition to the gaming platform being able to issue tokens to certain users free of charge based on the circumstances described heretofore, a given gaming platform can also issue tokens to certain users free of charge based on its own prescribed circumstances. In this case, the gaming platform would track the free tokens it issues and remove such free tokens from any set of tokens it sends to the gaming platform for validation or encashment.
It is also noted that any or all of the aforementioned embodiments can be used in any combination desired to form additional hybrid embodiments. Although the TVC technique embodiments have been described in language specific to structural features and/or methodological acts, it is to be understood that the subject matter defined in the appended claims is not necessarily limited to the specific features or acts described heretofore. Rather, the specific features and acts described heretofore are disclosed as example forms of implementing the claims.
The TVC technique embodiments described herein are operational within numerous types of general purpose or special purpose computing system environments or configurations.
For example,
To allow a device to implement the TVC technique embodiments described herein, the device should have a sufficient computational capability and system memory to enable basic computational operations. In particular, as illustrated by
In addition, the simplified computing device of
The simplified computing device of
Storage of information such as computer-readable or computer-executable instructions, data structures, program modules, and the like, can also be accomplished by using any of a variety of the aforementioned communication media to encode one or more modulated data signals or carrier waves, or other transport mechanisms or communications protocols, and includes any wired or wireless information delivery mechanism. Note that the terms “modulated data signal” or “carrier wave” generally refer a signal that has one or more of its characteristics set or changed in such a manner as to encode information in the signal. For example, communication media includes wired media such as a wired network or direct-wired connection carrying one or more modulated data signals, and wireless media such as acoustic, radio frequency (RF), infrared, laser, and other wireless media for transmitting and/or receiving one or more modulated data signals or carrier waves. Combinations of the any of the above should also be included within the scope of communication media.
Furthermore, software, programs, and/or computer program products embodying the some or all of the various embodiments of the TVC technique described herein, or portions thereof, may be stored, received, transmitted, or read from any desired combination of computer or machine readable media or storage devices and communication media in the form of computer executable instructions or other data structures.
Finally, the TVC technique embodiments described herein may be further described in the general context of computer-executable instructions, such as program modules, being executed by a computing device. Generally, program modules include routines, programs, objects, components, data structures, and the like, that perform particular tasks or implement particular abstract data types. The TVC technique embodiments may also be practiced in distributed computing environments where tasks are performed by one or more remote processing devices, or within a cloud of one or more devices, that are linked through one or more communications networks. In a distributed computing environment, program modules may be located in both local and remote computer storage media including media storage devices. Additionally, the aforementioned instructions may be implemented, in part or in whole, as hardware logic circuits, which may or may not include a processor.