SYSTEM, METHOD, AND DECENTRALIZED APPLICATION FOR BLOCKCHAIN-BASED GAMBLING
20200027315 ยท 2020-01-23
Inventors
Cpc classification
G06Q20/389
PHYSICS
G06Q20/3678
PHYSICS
International classification
Abstract
A system, method, and decentralized computer application may provide an efficient, distributed, immutable, and disintermediated infrastructure for offering and accepting wagers on sports, gambling, and public events using smart contracts, digital currency, digital currency wallets, and blockchains. One example method may comprise one or more of deploying a smart contract to a blockchain; displaying the smart contract's offered gambling odds related to real-world events in a front-end environment of a decentralized application; using the decentralized application to call functions of the smart contract to accept the offered gambling odds and to authorize transmissions of digital currency representing wagers; calculating commissions payable to the smart contract; retrieving data related to the subject matter of the wager using APIs and external oracle services; the smart contract determining which wagers were successful; and the smart contract transmitting digital currency to the digital wallets of users with winning wagers.
Claims
1. A method, comprising: one or more initial users deploying one or more smart contract computer protocols to one or more blockchains, the one or more smart contract computer protocols being adapted to digitally facilitate, verify, and enforce the negotiation and performance of a contractual relationship, and serve as back-end environments for one or more decentralized applications; displaying one or more offered terms of the one or more smart contract computer protocols in a front-end environment of the one or more decentralized applications; one or more secondary users using the front-end environment of the one or more decentralized applications to execute one or more functions of the one or more smart contract computer protocols to accept one or more of the offered terms of the one or more smart contract computer protocols; the one or more secondary users using the front-end environment of the one or more decentralized applications to authorize one or more transmissions of digital currency to one or more digital currency wallets associated with the one or more smart contract computer protocols according to the accepted terms; the one or more smart contract computer protocols terminating the ability of additional secondary users to accept offered terms after a predetermined time; the one or more smart contract computer protocols calculating a commission payable by the one or more secondary users to one or more digital currency wallets associated with the one or more smart contract computer protocols; the one or more smart contract computer protocols retrieving data related to the offered and accepted terms of the one or more smart contract computer protocols; the one or more smart contract computer protocols determining values of digital currency owed to initial and secondary users based on the offered and accepted terms, retrieved data, and amounts of the previously authorized transmissions of digital currency; and the one or more smart contract computer protocols transmitting values of digital currency to digital currency wallets associated with initial and secondary users to which the values are owed.
2. The method of claim 1, wherein the offered terms are one of fixed odds, dynamic odds, live odds, in-event odds, odds that an event will happen, odds that an event will not happen, prices to buy odds that an event statistic will be true, prices to sell odds that an event statistic will be false, odds related to the finishing order of contestants in a contest, points related to the real-world performance of persons or groups of persons, odds related to the identity of a party to mine a particular block in a blockchain, and odds related to characteristics of a particular block in a blockchain.
3. The method of claim 1, wherein the acceptance of the one or more of the offered terms, and authorization of the one or more transmissions of digital currency, comprise a wager on the subject matter of the one or more smart contract computer protocols.
4. The method of claim 2, wherein the event is one or more of a sports event, a gambling event, a public contest, and a divisible micro-event thereof.
5. The method of claim 1, further comprising the data being retrieved, verified as accurate real-world data, and transmitted to the one or more smart contract computer protocols by one or more of one or more application programming interfaces, one or more data carriers, one or more proof-of-stake blockchain models, one or more proof-of-work blockchain models, one or more data aggregators, and one or more external oracle services.
6. The method of claim 1, wherein the data is one or more of fixed odds, dynamic odds, micro-event data, scores, statistics, point spreads, news, event outcome data, blockchain data, gambling data, and records.
7. A system, comprising: one or more smart contract computer protocols adapted to be deployed to one or more blockchains; digitally facilitate, verify, and enforce the negotiation and performance of a contractual relationship; and serve as back-end environments for one or more decentralized applications; one or more decentralized applications adapted to enable one or more users to interact with the one or more smart contract computer protocols; one or more digital currency wallets adapted to store, transmit, and receive digital currency; one or more blockchains; one or more computing devices adapted to display the one or more decentralized applications; one or more external oracle services adapted to request, verify, and submit data related to real-world occurrences; one or more application programming interfaces adapted to retrieve and transmit data; one or more data carriers adapted to store and transmit non-transitory machine-readable data; one or more data aggregators adapted to collect, store, and transmit data; one or more means of digitally accepting terms offered by the one or more smart contract computer protocols, and authorizing the transmission of digital currency to digital currency wallets and smart contract computer protocols; and one or more pluralities of data, wherein the pluralities of data are related to one or more of sports events, gambling events, blockchain mining events, public events, and divisible micro-events thereof.
8. The system of claim 7, wherein the contractual relationship is a wager between one or more of one or more individual humans, organizations of humans, organizations of organizations, smart contracts, artificial intelligences, distributed autonomous agents, and decentralized autonomous organizations.
9. A non-transitory computer-readable storage medium configured to store instructions that when executed causes a processor to perform: deploying one or more smart contract computer protocols, provided by one or more users, to one or more blockchains, the one or more smart contract computer protocols being adapted to digitally facilitate, verify, and enforce the negotiation and performance of a contractual relationship, and serve as back-end environments for one or more decentralized applications; displaying one or more offered terms of the one or more smart contract computer protocols in a front-end environment of the one or more decentralized applications; executing one or more functions of the one or more smart contract computer protocols to accept one or more of the offered terms of the one or more smart contract computer protocols; authorizing one or more transmissions of digital currency to one or more digital currency wallets associated with the one or more smart contract computer protocols according to the accepted terms; terminating the ability of additional users to accept offered terms after a predetermined time; calculating a commission payable to one or more digital currency wallets associated with the one or more smart contract computer protocols; retrieving data related to the offered and accepted terms of the one or more smart contract computer protocols; determining values of digital currency owed to users based on the offered and accepted terms, retrieved data, and amounts of the previously authorized transmissions of digital currency; and transmitting values of digital currency to digital currency wallets associated with users to which the values are owed.
10. The method of claim 9, wherein the offered terms are one of fixed odds, dynamic odds, live odds, in-event odds, odds that an event will happen, odds that an event will not happen, prices to buy odds that an event statistic will be true, prices to sell odds that an event statistic will be false, odds related to the finishing order of contestants in a contest, points related to the real-world performance of persons or groups of persons, odds related to the identity of the party to mine a particular block in a blockchain, and odds related to characteristics of a particular block in a blockchain.
11. The method of claim 9, wherein the acceptance of the one or more of the offered terms, and authorization of the one or more transmissions of digital currency, comprise a wager on the subject matter of the one or more smart contract computer protocols.
12. The method of claim 10, wherein the event is one or more of a sports event, a gambling event, a public contest, and a divisible micro-event thereof.
13. The method of claim 9, further comprising the data being retrieved, verified as accurate real-world data, and transmitted to the one or more smart contract computer protocols by one or more of one or more application programming interfaces, one or more data carriers, one or more proof-of-stake blockchain models, one or more proof-of-work blockchain models, one or more data aggregators, and one or more external oracle services.
14. The method of claim 9, wherein the data is one or more of fixed odds, dynamic odds, micro-event data, scores, statistics, point spreads, news, event outcome data, blockchain data, gambling data, and records.
Description
BRIEF DESCRIPTION OF THE DRAWINGS
[0018] Various exemplary embodiments of this disclosure will be described in detail, wherein like reference numerals refer to identical or similar components or steps, with reference to the following figures, wherein:
[0019]
[0020]
[0021]
[0022]
[0023]
[0024]
[0025]
[0026]
DETAILED DESCRIPTION
[0027] It will be readily understood that the instant components, as generally described and illustrated in the figures herein, may be arranged and designed in a wide variety of different configurations. Thus, the following detailed description of the embodiments of at least one of a system, method, non-transitory computer readable medium, and decentralized computer application as represented in the attached figures, is not intended to limit the scope of the application as claimed, but is merely representative of selected embodiments.
[0028] The instant features, structures, or characteristics as described throughout this specification may be combined in any suitable manner in one or more embodiments. For example, the usage of the phrases example embodiments, some embodiments, or other similar language, throughout this specification refers to the fact that a particular feature, structure, or characteristic described in connection with the embodiment may be included in at least one embodiment. Thus, appearances of the phrases example embodiments, in some embodiments, in other embodiments, or other similar language, throughout this specification do not necessarily all refer to the same group of embodiments, and the described features, structures, or characteristics may be combined in any suitable manner in one or more embodiments.
[0029]
[0030] In step S106, the one or more smart contracts 803 may cease accepting transfers of digital currency after a predetermined wagering period. In one embodiment, the wagering period may close before the beginning of sports or gambling events, such as, e.g., a gridiron football game, a horse race, a data block mining event, or a round of play of a casino gambling event, that may be the subject of the one or more smart contracts 803. In step S107, the one or more smart contracts 803 may calculate a commission, percentage, or vigorish payable to the one or more smart contracts 803, which may act as the bookmaker or broker of the wagering, based on the amount of wagers placed, and this value may be transferred from initial users' digital currency wallets 802 and secondary users' digital currency wallets 811 to digital currency wallets or addresses associated with the one or more smart contracts 803.
[0031] In step S108, the one or more smart contracts 803 may retrieve event result data. In one embodiment, the event result data may be one or more pluralities of sports and gambling data 815, such as, e.g., scores, results, statistics, odds, betting records, injury reports, weather data, voting records, and blockchain transaction data. In another embodiment, events specified in the one or more smart contracts 803 may be monitored by one or more external oracle services 813, which may request the data associated with the events from one or more application programming interfaces 814, which may in turn retrieve the plurality of sports and gambling data 815, such as, e.g., real-world sports and gambling statistics and event data, from sources of this data, such as, e.g., Javascript Object Notation (JSON) files available from sports, gambling, and event aggregators. The one or more application programming interfaces (APIs) 814 may then transmit the plurality of sports and gambling data 815 as responses to requests made by the one or more external oracle services 813.
[0032] In step S109, the event result data, such as, e.g., a plurality of sports and gambling data 815, may be verified as accurate real-world data. In one embodiment, the event result data may be verified by trustless, distributed consensus based on one or more of proof-of-work or proof-of-stake blockchain models. In another embodiment, the event result data may be verified by one or more external oracle services 813. Once the event result data are verified as reflecting real-world occurrences, the plurality of sports and gambling data 815 may be transmitted to the one or more smart contracts 803, which may trigger state changes on one or more blockchains 804 and update information displayed on the front-end of decentralized application (dApp) 805.
[0033] In step S110, the one or more smart contracts 803 may calculate winnings based on wager amounts, fixed odds, and the previously calculated commission, percentage, or vigorish payable to digital currency wallets or addresses associated with the one or more smart contracts 803 acting as the bookmaker or broker of the wager transactions. In step S111, the one or more smart contracts 803 may transfer winnings, such as, e.g. in values of digital currency or cryptocurrency, such as, e.g., Ether, to secondary users' digital currency wallets 811 associated with secondary users 810, or initial users' digital currency wallets 802 associated with initial users 801, that made winning wagers.
[0034]
[0035] In step S204, the one or more smart contracts 803 may display micro-event conditions and dynamic, live, or variable odds offers on a front-end web interface of a decentralized application (dApp) 805 in an Internet web browser. In one embodiment, a micro-event may be any suitable portion or division of a full sports or gambling event, such as, e.g., the next play in a gridiron football drive; the next at-bat in a baseball game; the next hand in a poker tournament; a single round of an electronic or esports fighting game tournament; score; foul; play; drive; pitch; shot; save; inning; period; quarter; map; round; or esports quest.
[0036] In step S205, one or more secondary users 810 may use the front-end web interface of a decentralized application (dApp) 805 to call functions of the one or more smart contracts 803 to select micro-events and dynamic, live, or variable odds to wager upon and micro-amounts to wager, and to transfer micro-wager amounts from one or more secondary users' digital currency wallets 811 to digital currency wallets associated with the one or more smart contracts 803. In one embodiment, the transfer of digital currency may be authorized using a digital currency wallet available as an Internet browser plugin, such as, e.g., MetaMask. In another embodiment, the one or more secondary users' 810 selection of offered odds and payment for wagers may create a digital acceptance or handshake 812 of the initial user's 801 offer and of the one or more smart contract's 803 terms and conditions. In yet another embodiment, the transactions related to the offer of odds, wagers, and acceptance of terms may be recorded on one or more blockchains 804.
[0037] In step S206, the one or more smart contracts 803 may track event result data. In one embodiment, the event result data may be one or more pluralities of sports and gambling data 815, such as, e.g., scores, results, statistics, odds, betting records, injury reports, weather data, voting records, and blockchain transaction data. In another embodiment, events specified in the one or more smart contracts 803 may be monitored by one or more external oracle services 813, which may request the data associated with the events from one or more application programming interfaces 814, which may in turn retrieve the plurality of sports and gambling data 815, such as, e.g., real-world sports and gambling statistics and event data, from sources of this data, such as, e.g. Javascript Object Notation (JSON) files available from sports, gambling, and event aggregators. The one or more application programming interfaces (APIs) 814 may then transmit the plurality of sports and gambling data 815 as responses to requests made by the one or more external oracle services 813.
[0038] In step S207, the one or more smart contracts 803 may cease accepting transfers of digital currency after a predetermined wagering period. In one embodiment, the wagering period may close at the fulfillment of respective micro-event conditions, such as, e.g., the round, score, foul, play, pitch, shot, inning, period, quarter, map, round, or esports quest, that may be the subject of the one or more smart contracts 803. In step S208, the event result data, such as, e.g., a plurality of sports and gambling data 815, may be verified as accurate real-world data. In one embodiment, the event result data may be verified by trustless, distributed consensus based on one or more of proof-of-work or proof-of-stake blockchain models. In another embodiment, the event result data may be verified by one or more external oracle services 813. Once the event result data are verified as reflecting real-world occurrences, the plurality of sports and gambling data 815 may be transmitted to the one or more smart contracts 803, which may trigger state changes on one or more blockchains 804 and update information displayed on the front-end of decentralized application (dApp) 805.
[0039] In step S209, the one or more smart contracts 803 may calculate a commission, percentage, or vigorish payable to the one or more smart contracts 803, which may act as a bookmaker or broker of the wagering, based on the amount of wagers placed, and this value may be transferred from initial users' digital currency wallets 802 and secondary users' digital currency wallets 811 to digital currency wallets or addresses associated with the one or more smart contracts 803. In step S210, the one or more smart contracts 803 may calculate winnings based on wager amounts; micro-event condition data; dynamic, live, or variable odds; and the previously calculated commission, percentage, or vigorish payable to digital currency wallets or addresses associated with the one or more smart contracts 803 acting as bookmaker or broker of the wager transactions. In step S211, the one or more smart contracts 803 may transfer winnings, such as, e.g. in values of digital currency or cryptocurrency, such as, e.g., Ether, to secondary users' digital currency wallets 811 associated with secondary users 810, or initial users' digital currency wallets 802 associated with initial users 801, that made winning wagers.
[0040]
[0041] In step S304, the one or more smart contracts 803 may display laid or backed odds on a front-end web interface of a decentralized application (dApp) 805 in an Internet web browser. In step S305, one or more secondary users 810 may use the front-end web interface of a decentralized application (dApp) 805 to call functions of the one or more smart contracts 803 to select odds to wager upon, such as, e.g., odds to lay or back, and amounts to wager, such as, e.g., a potential payout or stake, and to transfer wager amounts from one or more secondary users' digital currency wallets 811 to digital currency wallets associated with the one or more smart contracts 803. In one embodiment, the transfer of digital currency may be authorized using a digital currency wallet available as an Internet browser plugin, such as, e.g., MetaMask. In yet another embodiment, the one or more secondary users' 810 selection of offered odds and payment for wagers may create a digital acceptance or handshake 812 of the initial user's 801 offer and of the one or more smart contract's 803 terms and conditions. In another embodiment, the transactions related to the offer of odds, wagers, and acceptance of terms may be recorded on one or more blockchains 804.
[0042] In step S306, the one or more smart contracts 803 may cease accepting transfers of digital currency after a predetermined wagering period. In one embodiment, the wagering period may close before the beginning of sports or gambling events, such as, e.g., a gridiron football game, a horse race, a data block mining event, or a round of play of a casino gambling event, that are the subject of the one or more smart contracts 803. In step S307, the one or more smart contracts 803 may calculate a commission, percentage, or vigorish payable to the one or more smart contracts 803, which may act as a bookmaker or broker of the wagering, based on the amount of wagers placed, and this value may be transferred from initial users' digital currency wallets 802 and secondary users' digital currency wallets 811 to digital currency wallets or addresses associated with the one or more smart contracts 803.
[0043] In step S308, the one or more smart contracts 803 may retrieve event result data. In one embodiment, the event result data may be one or more pluralities of sports and gambling data 815, such as, e.g., scores, results, statistics, odds, betting records, injury reports, weather data, voting records, and blockchain transaction data. In another embodiment, events specified in the one or more smart contracts 803 may be monitored by one or more external oracle services 813, which may request the data associated with the events from one or more application programming interfaces 814, which may in turn retrieve the plurality of sports and gambling data 815, such as, e.g., real-world sports and gambling statistics and event data, from sources of this data, such as, e.g. Javascript Object Notation (JSON) files available from sports, gambling, and event aggregators. The one or more application programming interfaces (APIs) 814 may then transmit the plurality of sports and gambling data 815 as responses to requests made by the one or more external oracle services 813.
[0044] In step S309, the event result data, such as, e.g., a plurality of sports and gambling data 815, may be verified as accurate real-world data. In one embodiment, the event result data may be verified by trustless, distributed consensus based on one or more of proof-of-work or proof-of-stake blockchain models. In another embodiment, the event result data may be verified by one or more external oracle services 813. Once the event result data are verified as reflecting real-world occurrences, the plurality of sports and gambling data 815 may be transmitted to the one or more smart contracts 803, which may trigger state changes on one or more blockchains 804 and update information displayed on the front-end of decentralized application (dApp) 805.
[0045] In step S310, the one or more smart contracts 803 may calculate winnings based on wager amounts, laid odds, backed odds, and the previously calculated commission, percentage, or vigorish payable to digital currency wallets or addresses associated with the one or more smart contracts 803 acting as a bookmaker or broker of the wager transactions. In step S311, the one or more smart contracts 803 may transfer winnings, such as, e.g. in values of digital currency or cryptocurrency, such as, e.g., Ether, to secondary users' digital currency wallets 811 associated with secondary users 810, or initial users' digital currency wallets 802 associated with initial users 801, that made winning wagers. In one embodiment, the one or more smart contracts 308 may transfer payouts to the one or more secondary users' digital currency wallets 811 associated with secondary users 810 that backed odds for an outcome that ultimately occurred. In another embodiment, the one or more smart contracts 308 may transfer staked amounts to the one or more initial users' digital currency wallets 802 associated with initial users 801 that laid odds for an outcome that ultimately did not occur.
[0046]
[0047] In step S404, the one or more smart contracts 803 may display spread data, and buy and sell price offers, on a front-end web interface of a decentralized application (dApp) 805 in an Internet web browser. In step S405, one or more secondary users 810 may use the front-end web interface of a decentralized application (dApp) 805 to call functions of the one or more smart contracts 803 to select spreads to buy or sell, and amounts to wager, and to transfer wager amounts from one or more secondary users' digital currency wallets 811 to digital currency wallets associated with the one or more smart contracts 803. In one embodiment, the transfer of digital currency may be authorized using a digital currency wallet available as an Internet browser plugin, such as, e.g., MetaMask. In another embodiment, the one or more secondary users' 810 selection of offered spreads, prices to buy or sell spreads, and payment for wagers may create a digital acceptance or handshake 812 of the initial user's 801 offer and of the one or more smart contract's 803 terms and conditions. In another embodiment, the transactions related to the offer of odds, wagers, and acceptance of terms may be recorded on one or more blockchains 804.
[0048] In step S406, the one or more smart contracts 803 may cease accepting transfers of digital currency after a predetermined wagering period. In one embodiment, the wagering period may close before the beginning of sports or gambling events, such as, e.g., a gridiron football game, a horse race, a data block mining event, or a round of play of a casino gambling event, that are the subject of the one or more smart contracts 803. In step S407, the one or more smart contracts 803 may calculate a commission, percentage, or vigorish payable to the one or more smart contracts 803, which may act as a bookmaker or broker of the wagering, based on the amount of wagers placed, and this value may be transferred from initial users' digital currency wallets 802 and secondary users' digital currency wallets 811 to digital currency wallets or addresses associated with the one or more smart contracts 803.
[0049] In step S408, the one or more smart contracts 803 may retrieve event result data, such as, e.g., the correct number of a statistic, such as, e.g., the actual difference in points scored by two teams in a game. In one embodiment, the event result data may be one or more pluralities of sports and gambling data 815, such as, e.g., scores, results, statistics, odds, betting records, injury reports, weather data, voting records, and blockchain transaction data. In another embodiment, events specified in the one or more smart contracts 803 may be monitored by one or more external oracle services 813, which may request the data associated with the events from one or more application programming interfaces 814, which may in turn retrieve the plurality of sports and gambling data 815, such as, e.g., real-world sports and gambling statistics and event data, from sources of this data, such as, e.g. Javascript Object Notation (JSON) files available from sports, gambling, and event aggregators. The one or more application programming interfaces (APIs) 814 may then transmit the plurality of sports and gambling data 815 as responses to requests made by the one or more external oracle services 813.
[0050] In step S409, the event result data, such as, e.g., a plurality of sports and gambling data 815, such as, e.g. the correct number of a statistic, such as, e.g., the actual difference in points scored by two teams in a game, may be verified as accurate real-world data. In one embodiment, the event result data may be verified by trustless, distributed consensus based on one or more of proof-of-work or proof-of-stake blockchain models. In another embodiment, the event result data may be verified by one or more external oracle services 813. Once the event result data are verified as reflecting real-world occurrences, the plurality of sports and gambling data 815 may be transmitted to the one or more smart contracts 803, which may trigger state changes on one or more blockchains 804 and update information displayed on the front-end of decentralized application (dApp) 805.
[0051] In step S410, the one or more smart contracts 803 may calculate winnings based on wager amounts; types of wagers; spread data; the correct number of a statistic, such as, e.g., the actual difference in points scored by two teams in a game; the proximity of the correct number to buy and sell prices, and the previously calculated commission, percentage, or vigorish payable to digital currency wallets or addresses associated with the one or more smart contracts 803 acting as a bookmaker or broker of the wager transactions. In step S411, the one or more smart contracts 803 may transfer winnings, such as, e.g. in values of digital currency or cryptocurrency, such as, e.g., Ether, to secondary users' digital currency wallets 811 associated with secondary users 810, or initial users' digital currency wallets 802 associated with initial users 801, that made winning wagers. In one embodiment, the one or more smart contracts 308 may transfer value in cryptocurrency to the one or more secondary users' digital currency wallets 811 associated with secondary users 810 that bought a spread that was covered, or sold a spread that was not covered.
[0052]
[0053] In step S504, the one or more smart contracts 803 may display event and contestant data, and wager types, on a front-end web interface of a decentralized application (dApp) 805 in an Internet web browser. In step S505, one or more secondary users 810 may use the front-end web interface of a decentralized application (dApp) 805 to call functions of the one or more smart contracts 803 to select events, contestants, wager types, and amounts to wager, and to transfer wager amounts from one or more secondary users' digital currency wallets 811 to digital currency wallets associated with the one or more smart contracts 803.
[0054] In one embodiment, the wager types may be based on traditional pari-mutuel betting that varies by local custom, such as, e.g., a place wager, which wagers on a contestant finishing the contest in the top two or three places; a show wager, which wagers on the contestant finishing first, second, or third; an across the board wager, which is a combination of a normal wager, a place wager, and a show wager; an each way wager, which is a combination of a normal wager and a place wager; an exacta wager, which wagers on two selections finishing first and second in the correct order; an any2 or duet wager, which wagers on two selections finishing anywhere in the top three places; and a trifecta wager, which wagers on three contestants finishing first, second, and third in the correct order.
[0055] In another embodiment, the transfer of digital currency may be authorized using a digital currency wallet available as an Internet browser plugin, such as, e.g., MetaMask. In yet another embodiment, the one or more secondary users' 810 selection of contestants to wager upon, wager types, and payment for wagers may create a digital acceptance or handshake 812 of the initial user's 801 offer and of the one or more smart contract's 803 terms and conditions. In another embodiment, the transactions related to the offer of odds, wagers, and acceptance of terms may be recorded on one or more blockchains 804.
[0056] In step S506, the one or more smart contracts 803 may cease accepting transfers of digital currency after a predetermined wagering period. In one embodiment, the wagering period may close before the beginning of sports or gambling events, such as, e.g., the beginning of a sports league season or postseason, a horse race, or a public election, that may be the subject of the one or more smart contracts 803. In step S507, the one or more smart contracts 803 may calculate a commission, percentage, or vigorish payable to the one or more smart contracts 803, which may act as a bookmaker or broker of the wagering, based on the amount of wagers placed, and this value may be transferred from initial users' digital currency wallets 802 and secondary users' digital currency wallets 811 to digital currency wallets or addresses associated with the one or more smart contracts 803. In step S508, the one or more smart contracts 803 may calculate odds based on amounts wagered on each contestant; size of the wager pool; and the previously calculated commission, percentage, or vigorish payable to digital currency wallets or addresses associated with the one or more smart contracts 803 acting as a bookmaker or broker of the wager transactions.
[0057] In step S509, the one or more smart contracts 803 may retrieve event result data, such as, e.g., the finishing order of horses in a race, the final standings of teams in a sports league, or the finishing order of candidates in a public election. In one embodiment, the event result data may be one or more pluralities of sports and gambling data 815, such as, e.g., scores, results, statistics, odds, betting records, injury reports, weather data, voting records, and blockchain transaction data. In another embodiment, events specified in the one or more smart contracts 803 may be monitored by one or more external oracle services 813, which may request the data associated with the events from one or more application programming interfaces 814, which may in turn retrieve the plurality of sports and gambling data 815, such as, e.g., real-world sports and gambling statistics and event data, from sources of this data, such as, e.g. Javascript Object Notation (JSON) files available from sports, gambling, and event aggregators. The one or more application programming interfaces (APIs) 814 may then transmit the plurality of sports and gambling data 815 as responses to requests made by the one or more external oracle services 813.
[0058] In step S510, the event result data, such as, e.g., a plurality of sports and gambling data 815, such as, e.g. the finishing order of horses in a race, the final standings of teams in a sports league, or the finishing order of candidates in a public election, may be verified as accurate real-world data. In one embodiment, the event result data may be verified by trustless, distributed consensus based on one or more of proof-of-work or proof-of-stake blockchain models. In another embodiment, the event result data may be verified by one or more external oracle services 813. Once the event result data are verified as reflecting real-world occurrences, the plurality of sports and gambling data 815 may be transmitted to the one or more smart contracts 803, which may trigger state changes on one or more blockchains 804 and update information displayed on the front-end of decentralized application (dApp) 805.
[0059] In step S511, the one or more smart contracts 803 may calculate winnings based on wager amounts; types of wagers; the performance of the contestants in the event, such as, e.g., the finishing order of horses in a race, the final standings of teams in a sports league, or the finishing order of candidates in a public election; and the previously calculated commission, percentage, or vigorish payable to digital currency wallets or addresses associated with the one or more smart contracts 803 acting as a bookmaker or broker of the wager transactions. The one or more smart contracts 803 may then transfer winnings, such as, e.g. in values of digital currency or cryptocurrency, such as, e.g., Ether, to secondary users' digital currency wallets 811 associated with secondary users 810 that made winning wagers. In one embodiment, the total betting pool, minus the commission, percentage, or vigorish payable to digital currency wallets or addresses associated with the one or more smart contracts 803 acting as a bookmaker or broker of the wager transactions, may be distributed by the one or more smart contracts 308 between the one or more secondary users' digital currency wallets 811 associated with secondary users 810 that made successful wagers.
[0060]
[0061] In step S604, the one or more smart contracts 803 may display event, player, and fantasy league data on a front-end web interface of a decentralized application (dApp) 805 in an Internet web browser. In step S605, one or more secondary users 810 may use the front-end web interface of a decentralized application (dApp) 805 to call functions of the one or more smart contracts 803 to select an existing fantasy team, or players for a new fantasy team, to place a wager on, and amounts to wager, and to transfer wager amounts from one or more secondary users' digital currency wallets 811 to digital currency wallets associated with the one or more smart contracts 803.
[0062] In one embodiment, the transfer of digital currency may be authorized using a digital currency wallet available as an Internet browser plugin, such as, e.g., MetaMask. In another embodiment, the one or more secondary users' 810 selection of an existing fantasy team or players for a new fantasy team, and payment for wagers may create a digital acceptance or handshake 812 of the initial user's 801 offer and of the one or more smart contract's 803 terms and conditions. In another embodiment, the transactions related to the offer of odds, wagers, and acceptance of terms may be recorded on one or more blockchains 804.
[0063] In step S606, the one or more smart contracts 803 may cease accepting transfers of digital currency after a predetermined wagering period. In one embodiment, the wagering period may close before the beginning of sports or gambling events, such as, e.g., a gridiron football game, that are the subject of the one or more smart contracts 803. In step S607, the one or more smart contracts 803 may calculate a commission, percentage, or vigorish payable to the one or more smart contracts 803, which may act as the broker of the wagering, based on the amount of wagers placed, and this value may be transferred from initial users' digital currency wallets 802 and secondary users' digital currency wallets 811 to digital currency wallets or addresses associated with the one or more smart contracts 803.
[0064] In step S608, the one or more smart contracts 803 may retrieve event result data, such as, e.g., sports statistics representing the real-world performance of players and teams in a sports league. In one embodiment, the event result data may be one or more pluralities of sports and gambling data 815, such as, e.g., scores, results, statistics, player news, team news, league news, and injury reports. In another embodiment, events specified in the one or more smart contracts 803 may be monitored by one or more external oracle services 813, which may request the data associated with the events from one or more application programming interfaces 814, which may in turn retrieve the plurality of sports and gambling data 815, such as, e.g., real world sports and gambling statistics and event data, from sources of this data, such as, e.g. Javascript Object Notation (JSON) files available from sports, gambling, and event aggregators. The one or more application programming interfaces (APIs) 814 may then transmit the plurality of sports and gambling data 815 as responses to requests made by the one or more external oracle services 813.
[0065] In step S609, the event result data, such as, e.g., a plurality of sports and gambling data 815, such as, e.g. sports statistics representing the real-world performance of players and teams in a sports league, may be verified as accurate real-world data. In one embodiment, the event result data may be verified by trustless, distributed consensus based on one or more of proof-of-work or proof-of-stake blockchain models. In another embodiment, the event result data may be verified by one or more external oracle services 813. Once the event result data are verified as reflecting real-world occurrences, the plurality of sports and gambling data 815 may be transmitted to the one or more smart contracts 803, which may trigger state changes on one or more blockchains 804 and update information displayed on the front-end of decentralized application (dApp) 805.
[0066] In step S610, the one or more smart contracts 803 may calculate fantasy team points based on event and player performance data, such as, e.g., sports statistics representing the real-world performance of players and teams in a sports league, and calculate winnings based on wager amounts; types of wagers; and the previously calculated commission, percentage, or vigorish payable to digital currency wallets or addresses associated with the one or more smart contracts 803 acting as the broker of the wager transactions. In step S611, the one or more smart contracts 803 may transfer winnings, such as, e.g. in values of digital currency or cryptocurrency, such as, e.g., Ether, to secondary users' digital currency wallets 811 associated with secondary users 810 whose teams earned the most fantasy points, relative to one or more other fantasy teams, during a predetermined period of time.
[0067]
[0068] In step S705, one or more secondary users 810 may use the front-end web interface of a decentralized application (dApp) 805 to call functions of the one or more smart contracts 803 to select a miner, or a last digit of the next block hash, to place a wager on, and amounts to wager, and to transfer wager amounts from one or more secondary users' digital currency wallets 811 to digital currency wallets associated with the one or more smart contracts 803.
[0069] In one embodiment, the transfer of digital currency may be authorized using a digital currency wallet available as an Internet browser plugin, such as, e.g., MetaMask. In another embodiment, the one or more secondary users' 810 selection of a miner or a last digit of the next block's hash, and payment for wagers, may create a digital acceptance or handshake 812 of the initial user's 801 offer and of the one or more smart contract's 803 terms and conditions. In another embodiment, the transactions related to the offer of odds, wagers, and acceptance of terms may be recorded on one or more blockchains 804.
[0070] In step S706, the one or more smart contracts 803 may cease accepting transfers of digital currency after a predetermined wagering period. In one embodiment, the wagering period may close before the mining of the block that is the subject of the one or more smart contracts 803. In step S707, the one or more smart contracts 803 may calculate a commission, percentage, or vigorish payable to the one or more smart contracts 803, which may act as a bookmaker or broker of the wagering, based on the amount of wagers placed, and this value may be transferred from initial users' digital currency wallets 802 and secondary users' digital currency wallets 811 to digital currency wallets or addresses associated with the one or more smart contracts 803.
[0071] In step S708, the one or more smart contracts 803 may retrieve block data, such as, e.g., data related to the next mined block, such as, e.g., the address of the miner that mined the block, and the hash of the block. In step S709, the block data, such as, e.g., the address of the miner than mined the block and the block hash of the block, may be verified. In one embodiment, the event result data may be verified by trustless, distributed consensus based on one or more of proof-of-work or proof-of-stake blockchain models, and the block data may be displayed on the front-end of decentralized application (dApp) 805.
[0072] In step S710, the one or more smart contracts 803 may calculate winnings based on wager amounts; types of wagers; and the previously calculated commission, percentage, or vigorish payable to digital currency wallets or addresses associated with the one or more smart contracts 803 acting as a bookmaker or broker of the wager transactions. In step S611, the one or more smart contracts 803 may transfer winnings, such as, e.g. in values of digital currency or cryptocurrency, such as, e.g., Ether, to secondary users' digital currency wallets 811 associated with secondary users 810 that made successful wagers.
[0073]
[0074] Initial user 801 and secondary user 810 may be any suitable entity known in the art, such as, e.g., one or more individual humans, organizations of humans, organizations of organizations, smart contracts, artificial intelligences, autonomous agents, distributed autonomous agents, or decentralized autonomous organizations. Initial users' digital currency wallets 802 and secondary users' digital currency wallets 811 may be any suitable digital wallet known in the art, such as, e.g., an electronic device or online service that facilitates the storage, transmission, and reception of currency, including digital or cryptocurrency. Smart contract 803 may be any suitable computer protocol known in the art adapted to digitally facilitate, verify, enforce, or disintermediate the negotiation or performance of a contract, such as, e.g., computer code written in the Javascript or Solidity object-oriented computer programming languages to define and monitor terms, conditions, and events related to legal or financial transactions in connection with a blockchain.
[0075] Blockchain 804 may be any suitable distributed ledger adapted to store transaction data on an open, decentralized, disintermediated, and trustless network of computer nodes, such as, e.g., the Ethereum blockchain. Decentralized application (dApp) 805 may be any suitable computer application known in the art, such as, e.g., an application deployed to a blockchain, with a front-end accessible using an Internet browser and its back-end computer code, such as, e.g., a smart contract, running on a decentralized peer-to-peer computer network, and with an unbounded number of participants. Mobile computer 806 and tablet computer 807 may be any suitable portable computer devices known in the art, such as, e.g. smartphones or tablets, respectively. Wearable computer 808 may be any suitable device known in the art, such as, e.g., a smart watch or wearable optical computing apparatus.
[0076] Digital agreement event or handshake 812 may be any suitable means of accepting the terms of a smart contract known in the art, such as, e.g., using an Internet browser-enabled utility, such as, e.g., MetaMask, to authorize a digital currency transaction to, for example, place a wager or transfer cryptocurrency to another digital currency address in response to an offered wager, odds, price, or other value proposition. External oracle service 813 may be any suitable external computer, or network of external computers or oracles, configured to request, send, and verify real-world occurrences and submit the data provided as a response to smart contracts 803, which may trigger state changes on blockchain 804. Application programming interface (API) 814 may be any suitable definitions, protocols, tools, or computer code configured to facilitate the creation of software, such as, e.g., software adapted to retrieve data from databases, applications, or other APIs. Plurality of sports and gambling data 815 may be any suitable form of data related to sports or gambling, such as, e.g., scores, results, statistics, odds, betting records, injury reports, weather data, voting records, and blockchain transaction data.
[0077] In section of I of
[0078] In section III, smart contract 803, now deployed to blockchain 804, may serve as the backend of a decentralized application (dApp) 805 whose front-end may be accessible in a web browser. One or more secondary users 810 may interact with decentralized application (dApp) 805 to view the offered terms of smart contract 803 on one or more of a mobile computer or smartphone 806, tablet computer 807, wearable computer 808, or desktop computer 809. In section V, one or more secondary users 810 may interact with decentralized application (dApp) 805 to perform digital agreement events or handshakes 812 accepting the offered terms of smart contract 803. In one embodiment, one or more secondary users 810 may authorize a transfer of digital currency from associated secondary users' digital currency wallets 811 to smart contract 803, using, for example, an Internet browser-enabled utility such as, e.g., MetaMask to place a wager, and there may be associated transaction costs, such as, e.g., in values of Ether or gas. After a predetermined period of time, smart contract 803 may no longer accept digital agreement events or handshakes 812 on certain offered terms.
[0079] In section VI, events specified in smart contract 803 may be monitored by one or more external oracle services 813, and in section VII, one or more external oracle services 813 may request the data associated with the events from one or more application programming interfaces 814. In section VIII, one or more application programming interfaces 814 may retrieve a plurality of sports and gambling data 815, such as, e.g., real-world sports and gambling statistics and event data, from sources of this data, such as, e.g. Javascript Object Notation (JSON) files available from sports, gambling, and event aggregators, and in section IX, plurality of sports and gambling data 815 may be transmitted back to the one or more application programming interfaces 814. In section X, plurality of sports and gambling data 815 may then be transmitted to one or more external oracle services 813 in response to requests sent by one or more external oracle services 813, and in section XI, one or more external oracle services 813 may verify and send plurality of sports and gambling data 815 related to real-world occurrences to smart contract 803, which may trigger state changes on blockchain 804 and update information displayed on the front-end of decentralized application (dApp) 805. In section XII, smart contract 803 may transfer digital currency to one or more secondary users' digital currency wallets 811 associated with one or more secondary users 810 whose wagers were successful, based on plurality of sports and gambling data 815. In section XIII, smart contract 803 may transfer digital currency to one or more initial users' digital currency wallets 802 associated with one or more initial users 801 whose wagers were successful, based on plurality of sports and gambling data 815.
[0080] Although an exemplary embodiment of at least one of a system, method, non-transitory computer readable medium, and decentralized computer application has been illustrated in the accompanied drawings and described in the foregoing detailed description, it will be understood that the subject of the patent application is not limited to the embodiments disclosed, but is capable of numerous rearrangements, modifications, and substitutions as set forth and defined by the following claims. For example, the capabilities of the system of the various figures can be performed by one or more of the modules or components described herein or in a distributed architecture and may include a transmitter, receiver or pair of both.
[0081] For example, all or part of the functionality performed by the individual modules, may be performed by one or more of these modules. Further, the functionality described herein may be performed at various times and in relation to various events, internal or external to the modules or components. Also, the information sent between various modules can be sent between the modules via at least one of: a data network, the Internet, a voice network, an Internet Protocol network, a wireless device, a wired device and/or via plurality of protocols. Also, the messages sent or received by any of the modules may be sent or received directly and/or via one or more of the other modules.
[0082] One skilled in the art will appreciate that a system could be embodied as a personal computer, a server, a console, a personal digital assistant (PDA), a mobile phone, a tablet computing device, a smartphone, or any other suitable computing device, or combination of devices. Presenting the above-described functions as being performed by a system is not intended to limit the scope of the present application in any way but instead is intended to provide one example of many embodiments. Indeed, methods, systems and apparati disclosed herein may be implemented in localized and distributed forms consistent with computing technology.
[0083] It should be noted that some of the system features described in this specification have been presented as modules, in order to more particularly emphasize their implementation independence. For example, a module may be implemented as a hardware circuit comprising custom, very large-scale integration (VLSI) circuits or gate arrays, off-the-shelf semiconductors such as, e.g., logic chips, transistors, or other discrete components. A module may also be implemented in programmable hardware devices such as, e.g., field programmable gate arrays, programmable array logic, programmable logic devices, graphics processing units, or the like.
[0084] A module may also be at least partially implemented in software for execution by various types of processors. An identified unit of executable code may, for instance, comprise one or more physical or logical blocks of computer instructions that may, for instance, be organized as an object, procedure, or function. Nevertheless, the executables of an identified module need not be physically located together but may also comprise disparate instructions stored in different locations which, when joined logically together, comprise the module and achieve the stated purpose for the module. Further, modules may be stored on a computer-readable medium, which may be, for instance, a hard disk drive, flash device, random access memory (RAM), tape, or any other such medium used to store data.
[0085] Indeed, a module of executable code could be a single instruction, or many instructions, and may even be distributed over several different code segments, among different programs, and across several memory devices. Similarly, operational data may be identified and illustrated herein within modules and may be embodied in any suitable form and organized within any suitable type of data structure. The operational data may be collected as a single data set or may be distributed over different locations including over different storage devices, and may exist, at least partially, merely as electronic signals on a system or network.
[0086] It will be readily understood that the components of the application, as generally described and illustrated in the figures herein, may be arranged and designed in a wide variety of different configurations. Thus, the detailed description of the embodiments is not intended to limit the scope of the application as claimed but is merely representative of selected embodiments of the application.
[0087] One having ordinary skill in the art will readily understand that the above may be practiced with steps in a different order, and/or with hardware elements in configurations that are different than those which are disclosed. Therefore, although the application has been described based upon these preferred embodiments, it would be apparent to those of skill in the art that certain modifications, variations, and alternative constructions would be apparent.
[0088] While preferred embodiments of the present application have been described, it is to be understood that the embodiments described are illustrative only and the scope of the application is to be defined solely by the appended claims when considered with a full range of equivalents and modifications (e.g., protocols, hardware devices, software platforms etc.) thereto.