There are hundreds of blockchain projects proposing to “disrupt” real-world industries, from insurance to sports betting. It seems like a great way to remove intermediaries and fight fraud. Unfortunately, crypto enthusiasts often forget one thing: as soon as external data is involved, blockchain is in trouble.
As most of you know by now, blockchain projects use smart contracts to carry out transactions automatically. A smart contract is a piece of code that self-executes when certain conditions are met. Parties don't have to trust each other – they don't even have to check or do anything. For example, if you win a wager, you automatically get your winnings. If you sell some tokenized gold, you get the amount of money you're due based on the current price. And if your house is connected to a smart grid on blockchain, you’re charged for electricity in tokens at the end of the month. Convenient, right?
The oracle problem
Now ask yourself this: How does the smart contract know that you did indeed win your bet? Or what the price of gold is? Or how much electricity you've consumed? Well, the answer is simple: It doesn't. There is no feasible way for a smart contract to look up external data on its own. (There are some infeasible ways that would break the whole network, but we won't worry about them here.)
That’s where oracles come in. An oracle is any mechanism that connects real-world data to a blockchain. It can be an API provided by a stock exchange, for example, or, in the case of a smart energy grid, it can be a metering device. It can even be a camera inside your IoT fridge that sees that you've run out of eggs and feeds that info into your blockchain grocery shopping app… well, we might be getting a bit too futuristic here, but who knows?
Oracles are indispensable when we implement blockchain in the real world. But they present a huge security risk, too. While a blockchain network on its own has no single point of failure (because the data is stored on so many computers), any oracle automatically becomes one. The provider of external data can choose to falsify it, or someone can interfere to tamper it. This would lead to all the transaction amounts on the blockchain being wrong!
The oracle problem in betting and gambling
All betting and gambling depend on oracles. From football matches to dice rolls, anything you can wager on is an event, and you need to know the true result of that event. Moreover, there are no universally respected oracles in this field, like Bloomberg for stock exchanges. Thus, blockchain gambling projects have to make absolutely sure that the event results they feed into the contract are reliable.
Here are a few recent promising solutions that illustrate different approaches to solving the problem:
Allbebet – This sports-betting and gambling platform focuses on the types of events for which official sources of oracle data exist. The project is also building its own AI network that will process all oracle data in house to reveal any inconsistencies.
Moreover, its neural network will analyze past game data to predict the outcome of future events with 70% accuracy. This is the first time that artificial intelligence has been used by a betting platform to help its users maximize their chances of winning.
Wagerr.com – This project proposes a second-tier network of oracle master-nodes that come to a consensus about the outcome of each event. The oracle nodes collect half of all block rewards.
Any node that is found to behave dishonestly will be excluded, and its rewards will be lost.
BX – This social betting platform allows users to bet against each other instead of against a bookie or the platform itself. A decentralized voting system is used to determine the outcome of events.
This approach is based on the idea that human oracles are safer than automatic ones, as long as there are many people participating.
Which model will eventually win? Will it be a neural network verifying oracle data (and predicting the outcome of future games), as proposed by Allbebet, or a consensus among a few chosen nodes, as proposed by Wagerr, or a vote held by all users, as proposed by BX?
It’s hard to know for sure, but if a solution to the oracle problem is to be found, it will probably happen in the gambling market, because that’s the hottest thing in crypto right now. Out of the 20 most popular Ethereum dApps, 10 have to do with gambling and betting, and there are hundreds more.
Resolving the oracle problem is perhaps the biggest contribution that gambling projects are making to the crypto industry. All the other markets will follow – renewable energy, tokenized commodities, insurance, transportation, etc. It's only once we reach that point that a true blockchain revolution can begin.