White Paper FansUnite - The Protocol for Betting ERC-20 Tokens on Ethereum
←
→
Page content transcription
If your browser does not render page correctly, please read the page content below
White Paper
FansUnite - The Protocol for Betting
ERC-20 Tokens on Ethereum
Version 2.0
This document contains proprietary information. Written consent is required for distribution or duplication
of any portion contained herein. All rights reserved: 2018—FansUnite Limited.1.0 - Executive Summary
FansUnite is paving the way for a diverse ecosystem of DApps, enabled by the free and decentralized
provisioning of sports data. The FansUnite Protocol and the underlying market data offer many use
cases, which are only limited by the ingenuity of participating developers and businesses.
The FansUnite Ecosystem roadmap will primarily focus on the release of the FansUnite Protocol,
and the first decentralized application to be released on the Protocol, the FansUnite Sportsbook.
The FansUnite Protocol consists of a library of publicly available smart contracts, developer friendly
tools, and a token economy that incentivizes network participation of independent Oracles to
provide low-latency and accurate sports data. These three facets of the FansUnite Protocol address
shortcomings in the existing sports betting landscape and represent key developments in facilitating
a disintermediated betting infrastructure.
The first application to be built atop this protocol will be the FansUnite Sportsbook. The FansUnite
Sportsbook has been designed to incentivize widespread adoption by bettors by implementing a
historically low 1% margin and providing a social platform to facilitate collaboration amongst bettors.
FansUnite hopes to showcase the type of compelling applications that are possible in a distributed
and developer-driven ecosystem. The FansUnite team is excited to introduce a more profitable,
transparent and social betting ecosystem that delivers on FansUnite’s mandate to continue improving
conditions for bettors globally. For more information on the FansUnite Sportsbook DApp, please refer
to the DApp White Paper.
The FansUnite Protocol has been designed to fulfill the following:
Enable fully decentralized applications (DApps) that are not reliant on centralized entities
by sourcing event and player data from a network of independently operated and
incentivized Oracles;
Allow DApp developers to raise funds in and utilize their own Ethereum-based tokens on
their platform while still using the FansUnite Protocol for market creation, bet submission,
resolution and payout. Allowing for DApp developers to potentially conduct their own
tokensales encourages adoption by a wide array of DApps and increases the potential
volume of tokens bet on the protocol.
Provide transparent access to all market data on the Protocol, which is currently the
domain of major sportsbooks. This data is highly valuable and is currently a closed store of
betting transaction data. The current practice of siloing data creates a major discrepancy
in pricing power of a given market between major sportsbooks and small to midsize
sportsbooks. Full access to the transparent betting data available through the Protocol
changes this dynamic by providing equal access to all operators and bettors, fostering
innovation, price efficiency and new market entrants.
2
Copyright © 2018 FansUnite Limited. All Rights Reserved.Create infrastructure that reduces the dependence on, and redistributes value from, sports
data monopolies like SportRadar to a network of independent Oracles providing sports data.
Eliminate unnecessary duplication of work and restore network effects by releasing an efficient
and decentralized sports betting solution on Ethereum, providing a free application-agnostic
protocol that any DApp can utilize.
Encourage adoption by existing operators and reduce technical barriers to entering the
cryptocurrency and blockchain-based sports betting market by providing a library of smart
contracts, the FansUnite.js package, the provision of player and event data by a network of
Oracles, and KYC (Know Your Customer) compliant services. Immediate benefits to operators
and applications built upon the FansUnite Protocol includes a significant reduction in cost
by using smart contracts instead of payment processors and by leveraging a decentralized
network of Oracles instead of paying for costly data feeds.
Streamline redundant use of Ethereum network resources by:
Providing a standardized library of team and event information on IPFS with standardized
identifiers on-chain for any DApp to utilize; and
Utilizing an “off-chain relay on-chain settlement” system inspired by 0x (link). Messages
are passed from the bet backer to a bet relayer who, upon checking and accepting the
parameters of the bet, then posts the bet along with the original signed cryptographic
hash on-chain.
3
Copyright © 2018 FansUnite Limited. All Rights Reserved.Table of Contents
1.0 - Issues in Sports Betting 06
Unfair Value Capture 06
Requirement of Trust 07
High Fees 07
Movement of Money 07
Integrity 07
2.0 - Competitive Landscape 08
Centralized 08
Asymmetric Market Information 09
Fail to Facilitate Adoption 09
Isolated Token Economies 10
Non-Compliant 10
3.0 - FansUnite Protocol 11
Disintermediated 13
Application Agnostic 13
Trustless 13
Efficient 13
Community Governed 14
Regulatory Compliant 14
4.0 - Technical Architecture 15
Smart Contracts 15
InterPlanetary File System 15
JS Library 16
Event Listing and Oracle Network 16
5.0 - Technical Procedures 17
Market Creation 17
Minimizing Duplicate Events 17
Custom Markets 17
Bet Submission 18
Messaging System 19
Token Escrow Calculation 21
Partial Matching 21
KYC / AML Implementation 21
Event Resolution 22
Oracle Staking & Reward 22
Oracle Consensus 22
Oracle Reputation 24
Bet Grading 24
Bet Resolution Library 24
4
Copyright © 2018 FansUnite Limited. All Rights Reserved.5.0 - Technical Procedures (ctd.) 25
Incorrectly Graded Wagers 25
Dispute Process 25
Withdrawal Allowance 26
Contingency Reserve Fund 26
6.0 - FansUnite Token 27
Governance 27
Betting Exchange Fees 27
Resolution Dispute Staking 28
Contingency Reserve Fund 28
Oracle Staking 28
7.0 - FansUnite Roadmap 31
8.0 - Business Plan 31
Market Factors 31
Corporate Structure 32
Token Supply & Distribution 33
Use of Proceeds 33
9.0 - Team 34
10.0 - Summary 39
11.0 - Appendices 401.0 - Issues in Sports Betting
The sports betting industry is founded upon intermediaries charging fees
for facilitating liquidity amongst bettors. The FansUnite Protocol and its use
of the Ethereum blockchain holds the key to disrupting this long-standing
equilibrium. One of the primary concerns of bettors is the assurance that
their transactions are safely processed and honoured. As such, bettors favour
established operators with a good track record of paying out wagers and
governed by gaming authorities. This is a natural and necessary tendency
in a system where trust is required to conduct transactions between two
parties. Unfortunately, this pull towards established
sportsbooks has resulted in the gradual consolidation of
disproportionate amounts of market data amongst the These entities
dominant operators in the space. The resulting oligopolistic
sports betting landscape has allowed these entities to are able to more
sequester value away from other market participants.
Mergers between industry leaders like Ladbrokes and
efficiently price
Gala Coral (subsequently, in March 2018, Ladbrokes markets than small
Coral Group PLC was acquired by GVC Holdings PLC), or
Betfair Group PLC and Paddy Power PLC, only expedites competitors...
the consolidation of market data and further reinforces stifling competition
the need for a change to encourage competition and
innovation. This consolidation of market data causes and discouraging
several problems for the sports betting industry which we
outline below.
new market
entrants.
/1
Unfair Value Capture
The siloed data structure in the existing sports betting market results in
large data oligopolies (i.e. major sportsbooks) having the ability to out-price
competitors due to their volume of available market information. These
major sportsbooks are able to more efficiently price markets than smaller
competitors. This competitive advantage allows the major sportsbooks to
indirectly force smaller competitors to adjust to their lines or be arbitraged
into illiquidity, stifling competition and discouraging new market entrants.
The utilization of a public blockchain to transparently store betting transaction
data provides a solution to the data disparity by providing all network
participants, bettors and operators alike, with equal access to market data.
6
Copyright © 2018 FansUnite Limited. All Rights Reserved./2 /4
Requirement of trust Movement of Money
The existing betting market sees bettors The FansUnite Protocol can also solve another
entrusting operators with their personal contentious issue for bettors - lack of control
information and funds, with the hope that over funds and delays with transacting their
prior good behaviour implies that bets will own assets Bettors would prefer to have
be honoured, funds paid out and personal control of their assets at all times and be
information protected. The utilization of able to transact said assets quickly. Deposits
blockchain and smart contracts on Ethereum and withdrawals instead often take days,
allows for bettors to hold funds in their own with many bettors still relying on electronic
wallets, maintain control of their personal fund transfers (EFTs) and wire transfers. By
information, and place their trust in a code- leveraging a cryptocurrency, bettors are able
governed environment rather than a centralized to instantly deposit and withdraw assets.
entity who is a party to the betting transaction.
/5
/3 Integrity
High fees Another unfortunate byproduct of this
As stated above, the disparity in market system of siloed transactional data is that it
information results in few operators possessing is impossible to capture a holistic view of any
the necessary data to efficiently price markets. given betting market. Recent events such as
As these smaller operators do not have the the Wimbledon match fixing scandal1 have
data required to efficiently price markets, their highlighted that match fixing concerns are
only alternative is to offer higher margins so as valid at even the highest levels of competition.
to not have poorly set lines that will be taken The legalization of sports betting in the United
advantage of. By offering transparent and States has resulted in a standoff between
readily accessible market information on the sportsbook operators and professional
blockchain, and incorporating tools as part of leagues who feel entitled to compensation
the FansUnite.js developer library, the FansUnite for the increased pressure and cost to police
Protocol will make this information readily the integrity of the games played in their
accessible. Further, the FansUnite Protocol will respective sports. By providing a global and
level the playing field for operators and allow transparent liquidity pool, the FansUnite
more efficient price discovery, encouraging protocol provides a ready made solution
further competition on price. Clearly, such to all stakeholders in the integrity debate.
a result would benefit the existing betting Suspicious betting activity is markedly easier
market which has seen massive mergers create to spot in a system where global market data
insurmountable obstacles for new market is available to regulators, no longer able to
entrants, ultimately depriving bettors of choice be hidden amongst activity spread across
and price. numerous operators.
1 “Wimbledon first-round men’s doubles tennis clash reported over ... -
ABC.” 11 Jul. 2018, http://www.abc.net.au/news/2018-07-11/wimbledon-
tennis-match-reported-as-suspicious/9968896. Accessed 20 Jul. 2018.
7
Copyright © 2018 FansUnite Limited. All Rights Reserved.2.0 - Competitive Analysis
The sports betting industry is widely considered to be an industry ripe for disruption by blockchain
technology. Blockchain facilitates trust in financial transactions between arm’s length parties. The
advent of smart contracts on Ethereum made it simple to programmatically disburse funds based
on a given outcome, an obvious parallel to betting. As such, it is not surprising that we have seen an
abundance of decentralized applications attempt to create sports betting solutions on the Ethereum
blockchain.
Unfortunately, these projects seem to misunderstand why a decentralized and disintermediated
sports betting future is both beneficial and inevitable. Consequently, these proposed platforms miss
key value propositions that we feel are integral to a long-term solution for sports betting on the
blockchain. We outline some of these shortcomings and and summarize their approaches below.
Centralized
Numerous projects continue to purport that placed on-chain at the conclusion of an event,
they are facilitating decentralized betting which defeats the entire purpose of utilizing a
simply by utilizing smart contracts to resolve blockchain betting solution.
wagers. Smart contracts actually operate like
walled gardens - closed ecosystems in which Better Betting proposes that sportsbooks
all operations are controlled by the ecosystem either resolve their own bets or rely on
operator, with no easy access to external data. some form of consensus, but then provide
This represents a challenge to sports betting no implementation details and allude to
DApps who need to port event data from the outsourcing resolution and arbitration to a
real world on-chain. Outlined below are the third party.
various proposed solutions by competitors:
MeVu does outline a decentralized solution,
Bethereum and Decent.bet each propose though their proposed solution oversimplifies
systems that rely on “trusted Oracles” for the complicated issue of a network reaching
external sports data, centralized data feeds consensus on an outcome. They focus on
no different than those used by existing operating a purely peer to peer model and
sportsbooks. By still utilizing these data propose that bets initially be resolved by the
providers for event creation and bet resolution parties involved. In the case of a dispute, events
these platforms fail to eliminate central points are then queued to be resolved by a consensus
of failure and mitigate their own overarching of mvu token holders who manually vote on the
ability to dictate results. correct outcome over a period of 8 to 16 hours.
This solution is likely to prove slow, ineffective
Betrium propose that event organizers should and contrary to a bettor’s desire to see winning
create and resolve their own events. This funds returned quickly. Additionally, MeVu’s
approach exposes bettors to risks associated outlined proposal offers no contingency in the
with bad actors and negligence by these third case of a lack of respondents or an otherwise
parties. Betrium also states that bets are only unsatisfactory quorum being reached by the
dispute process.
8
Copyright © 2018 FansUnite Limited. All Rights Reserved.Wagerr proposes a decentralized Oracle be transparently available to operators to use
network on a fork of the PIVX blockchain. Their for the shaping of efficient market prices.
approach, while not fully detailed in terms
of technical implementation, is theoretically MeVu utilizes a slightly more efficient approach,
suitable for the provisioning of peer-to-peer placing all wagers into a wagers smart contract,
betting. Unfortunately, since conducting their though this is still difficult to aggregate any
token generation event in June 2017 they have meaningful segmented market information
failed to deliver on any milestones in their from.
roadmap, delivering only a forked copy of the
PIVX wallet. The team has since ceased giving Fail to Cater to Traditional
updates on development progress. Operators
Asymmetric Market The betting exchange or sportsbook approach
of the proposed platforms will not appeal to
Information traditional operators as a potential partner.
None of these platforms attempt to create The proposed approaches simply will not work
a sports betting solution for any DApp on without achieving sufficient liquidity across a
Ethereum to utilize. Without the participation wide array of markets. Without liquidity, bettors
of a significant number of DApps on Ethereum, are unable to see their bets matched and their
there will be no democratization of market wagers accepted. Ultimately, obtaining the
data for the shared benefit of the network. This required liquidity for users of the proposed
ultimately means that these platforms will fail platforms to have their desired bets accepted
to encourage new market entrants and foster under a pure betting exchange approach seems
innovation. In addition, the implementations unlikely as we struggle through the adoption
proposed do not allow for the easy aggregation phase of cryptocurrency.
of betting data.
These proposed platforms create a closed
Better Betting utilizes separate bet smart ecosystem of misaligned incentives, rather
contracts for every event between two parties. than the inclusive approach of the FansUnite
This is inefficient as an operator who wanted to Protocol. Potential partnership incentives are
aggregate market information on a particular misaligned between traditional operators and
league would have to obtain the individual bet the proposed platforms, as the majority of net
contract addresses for every wager on every benefit would be to the platforms who would
event within that league. likely require the use of their token. Any other
approach would simply devalue the tokens of
Bethereum states that every bet will be the proposed platforms significantly. Moreover,
recorded on its own smart contract, which these traditional operators would depreciate
is highly inefficient from both a network their brand through the use of another
perspective and an organizational perspective operator’s token. Importantly, the proposed
for future queries or aggregation. approaches do not allow traditional operators
to create or utilize their own native tokens. As
Betrium only places market information on- such, traditional operators will not be able to
chain after the conclusion of an event, which maintain or enhance their brand and reach.
means that this market information would not
9
Copyright © 2018 FansUnite Limited. All Rights Reserved.However, the FansUnite Protocol encourages separately and inefficiently stored on the
adoption by incentivizing traditional operators to Ethereum blockchain.
become partners free to utilize and/or conduct
a token sale for their own native token while Lack of Regard for
enhancing their brand, or adopt an existing Regulatory Compliance
token. FansUnite believes that these significant
These platforms universally disregard the
differences will dampen the appeal of the
importance of providing a regulatory compliant
proposed solutions to traditional operators,
offering, both with regards to financial
while encouraging mainstream adoption of the
regulatory bodies such as the requisite security
FansUnite Protocol.
commissions, gaming authorities and gaming
Isolated Token Economies legislation such as Know Your Customer (KYC),
Anti-Money Laundering (AML), or obtaining
These platforms claim to be building appropriate gaming licences. The likelihood of
infrastructure that will be used by partners and mainstream adoption is significantly reduced by
other operators who will port to or whitelabel the failing to comply with necessary legislation.
their platforms. Unfortunately, none of their Further, the failure of these proposed platforms
economies allow for an alternative token - to comply with applicable legislation renders
like that of a potential partner - to be used as it impossible for traditional sportsbooks to
currency. The lack of support for alternative condone or utilize these platforms to gain
tokens significantly undermines these platforms exposure to a new market of cryptocurrency-
appeal as a protocol for other DApps to build based bettors. Furthermore, KYC/AML
atop of, and consequently hurts their chances of regulations and gaming licensors exist to
establishing themselves as a universal solution. defend the public interest by ensuring bettors
The proposed platforms result in the creation are of age, the origin of funds are known and
of isolated but similarly functioning betting that operators are of necessary standard. These
ecosystems, all with similar data structures, are all principles that FansUnite supports.
event information and smart contracts being
Bethereum Better Decent.bet Betrium Wagerr MeVu FansUnite
Betting
Decentralized No No No No Yes Yes Yes
Accept any No No No No No No Yes
ERC20 Token
Facilitate No Yes No No No No Yes
Traditional
Operators
Solidity Proof of No No Yes No No Yes Yes
Concept
Regulatory No No No Yes No No Yes
Compliant
Approach
Further, it is one of our mandates to ensure that FansUnite meets or exceeds disclosure
10
Copyright © 2018 FansUnite Limited. All Rights Reserved.3.0 - FansUnite Protocol
FansUnite wants to address the concerns cited above and address the issues currently plaguing the
sports betting industry. The Protocol achieves this goal by creating a fully disintermediated system
for sports related DApps to build atop of. The FansUnite ecosystem will allow applications to raise
funds in and utilize their own application-specific tokens for betting, while leveraging the FansUnite
Protocol’s smart contracts, blockchain recording, and decentralized approach to sourcing sports
data.
The Protocol achieves the following:
Lowers the technical threshold of developing decentralized sports betting and sports data
applications by providing core smart contract infrastructure and developer tools;
Facilitates adoption by traditional operators by solving obstacles like Know Your Customer (KYC)
/ Anti-Money Laundering (AML) compliance that otherwise preclude them from taking bets in
cryptocurrency;
Make more efficient use of Ethereum network resources by:
Reducing duplicate information being stored on-chain by standardizing event, league
and team information;
Vastly reducing network traffic by utilizing an “off-chain relay on-chain settlement”
strategy similar to 0x’s approach for decentralized exchanges;
Remove central points of failure from the Protocol so it can function autonomously and be
community-governed;
Provides transparent market information to all network participants by architecting the Protocol
to allow for easy aggregation of all market data run through our Protocol; and
Produce a free and open protocol geared towards enabling an ecosystem of sports betting and
sports data DApps on the Ethereum blockchain.
11
Copyright © 2018
2017 FansUnite Limited. All Rights Reserved.Efficient Use of Network
12
Copyright © 2017 FansUnite Limited. All Rights Reserved.Core Aspects
Disintermediated. Trustless.
Long-term blockchain betting and data Smart contracts are uniquely suited to serving
solutions must embrace decentralization and as trusted arbiters for transactions, as the
embed it into all facets of their offering. The contracts can hold tokens in escrow and
result is a robust system that is able to function automatically transfer payouts based on a given
autonomously, independent of a controlling input. Unfortunately, the utilization of smart
entity or any centralized data providers. It is contracts to execute wagers does not equate
only by implementing a fully disintermediated to a fully trustless system as the parties are still
architecture that we are able to redistribute reliant on, and have to trust in, the source of the
value away from data monopolies and to data that is used to arbitrate the bet. In the case
network participants. FansUnite decentralizes that this data is sourced from a centralized data
the provisioning of sports data by building a feed paid for or provided by the controlling
protocol that distributes responsibility over data entity, this represents no real departure from
provision, bet resolution and dispute resolution the centralized system of sports betting
to a network of independently operated today. FansUnite solves this by incentivizing
Oracles. an independent network of Oracles to provide
the data that is used to resolve bets. As such,
Token Agnostic. the FansUnite Protocol will be able to provide
truly “trustless” betting by distributing the
The FansUnite Protocol is intended to serve
responsibility for arbitrating bets out to a
as an unbiased and agnostic building block
network rather than a source chosen by the
for sport-data reliant DApps. Developers are
controlling entity.
encouraged to not only build atop of but also
improve the underlying protocol itself. A portion
of the reserve pool will be allocated towards Efficient.
community developer incentives that will be
The FansUnite Protocol significantly reduces the
tied to contributions to the code base. History
recording of duplicate data on the blockchain
has proven that community-backed open-
and mitigates the need for individual operators
source projects triumph over enterprise-driven
to each upload their own event data for
counterparts because the capacity of any one
identical events. FansUnite achieves this by
central entity is finite. By allowing any Ethereum-
creating consistent shared processes for all
based token to be transacted on our protocol,
Protocol participants dictating the efficient and
we increase our appeal to both developers
organized storage of league, team, and event
and operators who are still able to fundraise
data. These unique structures’ identifiers will be
via a token sale and continue to leverage their
stored on-chain with tertiary details stored on
existing brands. Such an approach provides
IPFS. For implementation specifics surrounding
maximum flexibility and choice to potential
these standardized structures and the uniform
future users of the protocol.
13
Copyright © 2018 FansUnite Limited. All Rights Reserved.nomenclature that will be used to catalogue
and access this data, please refer to section
5. FansUnite will also implement an “off-chain
relayer on-chain settlement” model similar
to 0x to decrease the number of transactions
and eliminate the need for books to store and
update rapidly fluctuating information like line
movements on-chain.
Community Governed. Regulatory Compliant.
Regulation is an important foundational
Any long-term blockchain betting and data
requirement in the sports betting industry
solution should implement tools that encourage
and any successful protocol must respect
beneficial behaviours and which allow for
applicable legislation in order to obtain
self-governance. On-chain decentralized
widespread adoption. Although we feel
governance is still a heavily researched
strongly about facilitating decentralization,
subject and is an important component of
we also believe there is a social responsibility
the FansUnite Protocol. Governance will be
to prevent underage gambling, money
implemented using an existing solution l such
laundering, gambling addictions and adhere
as Aragon or Harbour. All necessary steps will
to gambling laws in each jurisdiction. With this
be taken to ensure the community is able to
in mind, Know Your Customer (KYC) and Anti-
determine the Protocol direction and roadmap.
Money Laundering (AML) solutions must be
Our token economy has been devised around
implemented into the protocol. There are many
the premise that Oracles must be properly
identity protocols that are under development,
incentivized to act in the best interests of
such as uPort or Civic, and depending on the
the Protocol. In spite of this, the network will
maturity of their technology at the time of
still need to be able to exercise discretion in
implementation, we will partner with a solution
defining acceptable Oracle standards, adapting
that makes sense. Properly validated addresses
to remove malicious actors on the network,
will have to be whitelisted with the applicable
and determining the future roadmap for the
betting contract in order for it to accept any
Protocol.
transactions from such address. We attempt
to find a middle ground between bettor
anonymity and compliance by utilizing a third
party product to perform KYC and AML checks.
Regulatory authorities would have the ability
audit samples of users from these third parties,
while operators would only be privy to whether
users were whitelisted in their jurisdictions or
not.
14
Copyright © 2018 FansUnite Limited. All Rights Reserved.4.0 - Technical Architecture
The FansUnite Protocol is comprised of the following:
Solidity Smart Contracts
InterPlanetary File System (IPFS)
Developer Tools - FansUnite.js Javascript Library
Event Listing and Oracle management DApp
4.1 - Smarts Contracts
The primary feature of the FansUnite Protocol is the use of the blockchain to facilitate decentralized
betting between two parties that is secure, transparent and fair. The Ethereum blockchain is used as
a distributed database to store the required information necessary to settle a bet. Smart contracts are
also used to escrow tokens to cover each party’s risk, guaranteeing sufficient tokens for all winning
parties can be paid out.
Further, if blockchain-based betting is to be fully decentralized, a single point of truth cannot be used
to provide the outcome of an event. The FansUnite Protocol will utilize a network of independently
operated oracles to provide the data that will ultimately grade a bet. These oracles will be incentivised
and rewarded for providing fast and accurate data, with the reward based on the betting volume of
that specific event. These oracles will, through smart contracts, stake FAN tokens, earning or losing
reputation dependent on whether their data is ultimately correct or not.
A dispute system will also be developed using smart contracts. This will allow bettors to challenge the
result provided by the oracle network if they believe an event was resolved incorrectly. FAN Tokens
are required to be staked to initiate a dispute. For more information see Section 5.5.1.
4.2 - InterPlanetary File System (IPFS)
InterPlanetary File System (IPFS) is a peer-to-peer distributed file system. Storage on IPFS is
significantly cheaper than storing on the the Ethereum blockchain and allows the Protocol to record
metadata about participants, events and leagues that are not critical to grading a bet. Data on IPFS
is referenced by a unique cryptographic hash that will be stored on the blockchain. The additional
metadata will be a resource for developers to create content rich DApps.
15
Copyright © 2018 FansUnite Limited. All Rights Reserved.4.3 - Developer Tools - FansUnite.js Javascript Library
A JavaScript library (FansUnite.js) is being created which is an abstraction layer to easily interact with
the underlying smart contracts. The JavaScript library will aid in fostering and accelerating adoption
of the protocol.
4.4 Event Listing and Oracle Network DApp
The large diverse oracle network will allow for a fully decentralized system. To facilitate initial adoption,
a DApp is being released that will let anyone easily create an oracle, manually stake, provide data and
earn a percentage of Ethereum-based tokens that is wagered through the Protocol. Additionally, this
DApp will list all the created events/markets and allow for operators to create new events/markets.
16
Copyright © 2018 FansUnite Limited. All Rights Reserved.5.0 - Technical Procedures
5.1 - Event and Custom Market Creation
Every bet must reference one or more events (or a custom market) as the outcome of events is used
for grading the bets. The event schema has been designed to accommodate all sporting events and
is defined in Table 1.
Critical parameters required to grade all the various bet types are recorded on the smart contract.
Additional parameters that help describe the event are stored using IPFS and cryptographically
linked to the event on the smart contract.
Events can be created by sending transactions directly to the smart contract. However, to drive initial
adoption and reduce friction for operators and non-technical users, a DApp will be released utilizing
our abstraction layer (FansUnite.js), that will allow for easy interaction with the smart contracts.
5.1.1 - Minimizing Duplicate Events
Operators are encouraged to use events that have already been created, thus reducing their cost
while simultaneously minimizing strain on the Ethereum network. The event listing DApp will display
all events already created, helping operators minimize the likelihood of creating duplicate events.
The long term goal is for all parties on the Protocol (bettors, operators & oracles) to always agree
on the exact same event. Additional functionality will be built into the event smart contracts to
reduce the likelihood of duplicate events. This additional functionality will be achieved by creating a
unique ID hashing specific parameters such as participant IDs and event start time and preventing
a duplication of that ID from being stored.
5.1.2 - Custom Markets
In order to satisfy all markets that a traditional bookmaker offers, the Protocol will allow for custom
markets to be created. Custom markets traditionally will fall into one of the following categories:
Binary outcome - Wether a given outcome does or does not occur; and
Multiple outcomes - Which outcome out of a list of outcomes occurs.
Custom markets can be associated with sporting events, but it is not necessary. The creator of the
custom market will also have to provide the possible outcomes.
17
Copyright © 2018 FansUnite Limited. All Rights Reserved.Table 1: Event Schema Definition
Parameter Data Type Constraint Description
participantIds bytes32 (array) required List of all participants IDs competing
in the event
minPeriods uint required The minimum number of periods of
an event
maxPeriods uint required The maximum number of periods of
an event
startTime uint required Time and date of when the event
begins
extraPeriodsBeginAt uint optional The period at which extra time /
overtime begins
shootout boolean required An indicator for whether the event
can potentially end in a shootout
if the score is equal after the
maxPeriods
draw boolean required An indicator for whether an event
can potentially end in a draw
homeParticipant bytes32 optional The participant id of the home team
leagueId bytes32 optional The ID of the league of which the
event is part of
sportId bytes32 optional The ID of the sport of which the
event is part of
5.2 - Bet Submission
Decentralized bookmaking shares many characteristics with decentralized trading. As such,
components of the FansUnite Protocol are inspired by the 0x project. Bookmakers offer betting odds
on a plethora of markets and events, with odds that constantly change depending on the amount
that is wagered on each side. With the current state of Ethereum, storing these changing odds on
the blockchain is costly and inefficient. Inspired by 0x, a messaging system using off-chain relaying
and on-chain submission/settlement will be implemented that will allow for bookmakers to offer
traditional markets and their associated dynamic odds and betting exchanges to display all offers
prior to submitting them to the blockchain. All bets are ultimately submitted to the betting smart
contract and tokens are automatically escrowed.
18
Copyright © 2018 FansUnite Limited. All Rights Reserved.5.2.1 - Messaging System
The messaging format outlined in Table 2 allows for any Ethereum-based token to be wagered and is
applicable for both traditional bookmaking (such as Bet365) and betting exchanges (such as BetFair).
For any bet to occur, it requires a Backer and a Layer. In traditional bookmaking the customer is the
Backer (bets that an outcome will occur) and the bookmaker is the Layer (bets that the outcome
will not occur). Betting exchanges allow for anyone to be the Layer or Backer. The ability to service
both use cases is important for the long term success and adoption of trustless decentralized sports
betting.
Traditional Bookmaking
The process for a bookmaker to accept a bet is outlined below:
Backer (bettor) and Layer (bookmaker) approves the betting contract to access their balance
of the token they want to wager;
Backer creates a message (message format shown in Table 2) and signs the order with their
private key;
Backer broadcasts the message to the Layer;
Layer receives the message and confirms that the parameters are consistent with their
offerings; and
If the parameters match, then the Layer submits the message to the betting contract.
This approach allows bookmakers to offer a traditional experience with each bet ultimately being
submitted and settled on the blockchain. Gas fees will be incurred by the bookmaker, thus not
requiring the customer to pay additional gas fees and hold Ether (ETH).
Betting Exchanges
The process for a betting exchange to facilitate a bet is outlined below:
The Betting Exchange cites a fee schedule and the address they will use to collect transaction
fees;
Backer creates a bet, sets the backerFee and layerFee to values that satisfy the Betting
Exchange’s fee schedule, sets the feeRecipient to the Betting Exchanges desired receiving
address and signs the bet with their private key;
Backer transmits the signed bet to the Betting Exchange;
The Betting Exchange receives the bet, checks that the bet is valid and that it provides the
required fees. If the bet is invalid and does not meet the Betting Exchange’s requirements,
the bet is rejected. If it is satisfactory, the Betting Exchange posts the bet for layers to accept;
If the parameters match, then the Layer submits the message to the betting contract;
Layers receive an updated version of all available bets; and
Layer matches the Backer’s bet by submitting it to the betting smart contract.
19
Copyright © 2018 FansUnite Limited. All Rights Reserved.Table 2: Bet Messaging Format
Parameter Data Type Constraint Description
backer address required Ethereum address of backer
layer address required Ethereum address of layer
backerToken address required Ethereum address of the ERC20 token
that the backer is staking
layerToken address required Ethereum address of the ERC20 token
that the layer is staking
feeRecipient address optional Ethereum address of Betting Exchange
that is charging the transaction fee
betContractAddress address required The betting smart contract address
backerFee uint optional How many FAN tokens the backer will
pay the feeRecipient (betting exchange)
layerFee uint optional How many FAN tokens the layer will pay
the feeRecipient (betting exchange)
backerTokenStake uint required How many ERC20 tokens the backer is
staking
layerTokenStake uint required How many ERC20 tokens the layer is
staking
period uint required The period at which the bet ends at,
such as 1st period, 1st half, or full game.
eventId bytes32 required Event ID hash
betType uint required Type of bet, such as moneyline, spread,
total points or team total points.
participantId uint optional Participant ID (required for moneyline,
spread and team total bet types)
points uint optional Required for total points and team total
point bet types
overUnder uint optional 1 = over, 0 = under
expiration uint required Time at which the offer expires
resultIfDraw uint required Identifies whether a draw results in a
win, loss, or push
V uint required Elliptic Curve Digital Signature Algorithm
R bytes32 (ECDSA) signature of the above
S bytes32 arguments
20
Copyright © 2018 FansUnite Limited. All Rights Reserved.5.2.2 - Token Escrow Calculation
The number of tokens that is required to be escrowed into the smart contract when a bet is made is
equivalent to the exposure that that address is subject to. For a sports book operator who often lays
both sides of a bet, it is not necessary to escrow tokens to match every wager. As long as they have
escrowed enough tokens to cover their exposure, all parties are guaranteed to be paid out.
A running total of each party’s exposure will be calculated and recorded on the smart contracts. If
a party is attempting to lay a bet and the total tokens escrowed into the betting contract is below
their total exposure, the additional tokens needed will automatically be escrowed from their wallet.
If their wallet does not have the required tokens or allowance, then the bet will not be accepted and
any actions associated with that account is halted.
Please see Appendix 1 for Token Exposure calculation.
5.2.3 - Partial Matching
With betting exchanges, bettors may not always want to lay/back the entire offer which would result
in offers being partially matched. The ability to allow for partial matching is a critical function for
betting exchanges. The FansUnite Protocol allows for partial matching by requiring the addition of
a parameter to the smart contract which indicates the desired amount that the layer is wanting to
match (layerTokenAmount). The betting smart contract will automatically update the amount of
tokens remaining and allow for multiple offers to be matched until the offer has been satisfied or
expired.
Additional functionality common with betting exchanges is the ability to cancel the remainder of
a partially matched bet and the ability to change the offering odds to attract layers to match the
remaining stake. Both these functionalities will be implemented in the betting smart contract. The
original backer will have to send a transaction to the smart contract indicating they want to cancel
or change the odds on the remaining offer and will be required to pay the appropriate gas.
5.2.4 - KYC / AML Implementation
Although idealistically we support personal freedom and betting anonymity, we also believe there
is a social responsibility to prevent underage gambling, money laundering, and gambling addiction
by adhering to gambling laws in each jurisdiction. Know Your Customer (KYC) and Anti-Money
Laundering (AML) will be implemented into the Protocol. There are many identity protocols that are
under development, such as uPort or Civic, and depending on the maturity of their technology at the
time of implementation, we will decide which solution makes sense. Properly validated addresses
will have to be whitelisted on the betting contract in order for it to accept any transactions.
21
Copyright © 2018 FansUnite Limited. All Rights Reserved.5.3 - Event Resolution
A network of incentivized oracles are employed to provide the requisite event data for market
resolution. To foster initial adoption, a DApp is being created which allows anyone with the required
stake of FAN to become an oracle and manually input event data for an event. Tech savvy developers
can send event data directly to the smart contract or use our abstraction layer to programmatically
send their results. The format of the event data depends on the parameters initially set for the
event.
5.3.1 - Oracle Staking and Reward
Oracles stake FAN tokens to be eligible to provide event data that is ultimately used to grade wagers.
If an Oracle provides data that is part of the consensus and the data is deemed as the correct result,
the FAN tokens staked by the oracle are returned and the Oracle earns a reward proportional to the
amount they staked, their reputation and the timeliness of the data provided. Oracles that provide
data that is not part of the consensus and ultimately deemed as incorrect, will lose their FAN token
stake and their reputability score will decrease. The tokens that were staked will be transferred to
the Contingency Reserve Fund which is used as a final failsafe to pay out wagers that were graded
incorrectly, for more see Section 5.5.3. The risk of losing tokens incentivises the Oracles to act
appropriately and provide accurate results. As betting volume increases, the total number of oracles
and the number of tokens staked will increase and the network will become more distributed.
It is not clear what level of incentivization grows the network efficiently. Too much incentivization
adds unnecessary tax to the Ethereum network, while too little incentive might result in a quorum
that is not resistant to false-positives. Our approach is to optimize the incentivization so to maximize
the average and minimize the variance of the reputabilities distribution of the whole pool of Oracles.
For this purpose, to each Oracle will be associated with a reputability score which reflects the
accuracy of the information provided by the Oracle with respect to the quorum in past resolutions.
For further details on the calculations relating to stake requirement, time incentivization and Oracle
quorum selection, please review Appendix 2.
5.3.2 - Oracle Consensus
Consensus is not determined solely via majority vote. The Oracles’ votes will be weighted by their
reputability score. This prevents a batch of bad actors with low reputation scores or a short history
of providing data from prevailing over a smaller but more reputable batch of good nodes. For more
details on the consensus weighting calculation, please review Appendix 3.
22
Copyright © 2018 FansUnite Limited. All Rights Reserved.Simplified Oracle System
23
Copyright © 2017 FansUnite Limited. All Rights Reserved.5.3.3 - Oracle Reputation
To each Oracle will be associated a reputability based on the proportion of correct and incorrect
data (as defined by agreement with consensus) is provided. To incentivize oracles to provide correct
information, incorrect information will be weighted more in the reputability calculation. Figure
2 shows how the oracles are incentivized to maintain high reputability scores: oracles with low
reputation will, in the long run, have lower, if not negative, ROIs. For oracles with high reputability the
variance around the mean ROI is minimized and a steady gain is realized in the long run. Please see
Appendix 4 for more information pertaining to the Oracle reputation calculation.
5.4 - Bet Grading
For each unique address, a Protocol betting smart contract will record the following:
Token Balance - The total number of tokens that the account has escrowed and/or won; and
Exposure - The total number of tokens that the account is potentially liable for (see Section
5.2.2);
Once consensus has been reached by the selection of Oracles, the outcome of the event is determined
and the event will be flagged as resolved. Parties will then be able to send a transaction to the smart
contract that would grade their bet and update the token balance and exposure for the parties
involved in that bet. The smart contract will contain all the logic to correctly determine the rightful
winner based on the bet type, event parameters and the data provided by the Oracle consensus.
5.4.1 - Bet Resolution Library
Bets, in their simplest form, fall into one of the following three types:
Boolean - The outcome occurs or does not occur;
Differential - The difference between two values and whether it was greater or less than; and
Totals - The summation of values and whether it was over or under.
Common smart contract libraries will be used to perform routine operations such as grading wagers.
The use of only one Bet Resolution smart contract library ensures that bets are graded identically
and transparently across the entire protocol. Library deployments will be structured in a way that
maintains the ability to upgrade them. This is important as Solidity is still a relatively immature
language and future solutions may be more efficient. Additionally, maintaining the ability to upgrade
will allow for more sophisticated bet types to be implemented as the platform matures and new bet
types arise. Deployment of new libraries will be governed by token holders as discussed in Section
6.1.1.
24
Copyright © 2018 FansUnite Limited. All Rights Reserved.5.5 - Incorrectly Graded Wagers
The FansUnite Protocol allows parties to grade bets and update token balances at the moment
Oracles reach consensus. This approach emphasizes speed of bet resolution, which is critical for
sports bettors. However, there may be scenarios when the results for an event are wrongfully reported
and bets are incorrectly graded. A dispute process will be used to handle incorrectly graded bets.
Parties will be subject to a withdrawal allowance that will reduce the severity of bad actors and a
Contingency Reserve Fund will be used as a last resort fail-safe to guarantee rightful winners are
made whole.
5.5.1 - Dispute Process
Betting parties have a window of 48 hours to initiate a dispute. After this 48 hour window, the event
will be deemed final and the oracles stakes will be returned. To initiate a dispute, the disputer or
disputers must suggest a result they believe to be correct and stake a total amount of FAN tokens
equal to the current oracle reward for that event. Any bets that have not yet been graded on that
event will be temporarily halted from being graded until the dispute has been resolved to prevent
others from wrongfully claiming bets. Once a dispute has been initiated, a new selection of oracles
will be notified to provide results for the event. The staked FAN tokens from the disputers is used as a
potential reward for the new selection of oracles. Consensus is reached using the same methodology
described in Section 5.3.2.
If the consensus from the new selection of oracles is equal to the suggested result from the disputers,
the dispute will be deemed successful and the following will occur:
Disputers stakes are returned;
Reward for the event is distributed to the new selection of oracles;
The initial Oracle selection will lose their stakes for providing incorrect results. These stakes
are transferred to the Contingency Reserve Fund;
The initial oracles will lose reputation; and
Parties that were involved with the incorrectly graded bets will be able to regrade their bets
which will update their token balances and exposure.
If the consensus from the new selection of Oracles equals the same results from the original
consensus, the dispute will be deemed as unsuccessful and the following will occur:
Disputers stakes are distributed to the new oracles as a reward;
Reward from the original oracle selection remains;
Original oracle selection does not lose any reputation; and
Disputers lose reputation.
Alternatively, if the consensus from the new selection of Oracles does not equal the results from the
original consensus and also does not match the result suggested by the disputers, the dispute will
also be deemed as unsuccessful. The result from the new selection of Oracles will be considered the
correct result and will be used to grade the wagers.
25
Copyright © 2018 FansUnite Limited. All Rights Reserved.5.5.2 - Withdrawal Allowance
Once the event has exceeded the 48 hour dispute time-frame, the entire winnings/initial stake can
be withdrawn from the betting smart contract. Prior to the 48 hour dispute time-frame, the number
of tokens that can be withdrawn from a winning bet will be calculated based on token withdrawal
allowance function, please see Appendix 5.
Although the bettor is unable to withdraw the entire amount of winning tokens prior to the 48-
hour dispute time-frame, they can still continue to bet their winnings. If at any time a dispute arises,
the party will be subject to additional exposure and will be required to have a token balance that
is greater than or equal to their exposure. The betting smart contract will automatically escrow
additional tokens if the the owner has provided the required allowance and that the owner also has
enough tokens in their wallet. A party must always have a token balance greater than their exposure
in order to participate in the network.
5.5.3 - Contingency Reserve Fund
There is the case that a party withdraws a portion of tokens from a bet that was disputed and
ultimately regraded and the party is unwilling or unable to escrow additional tokens to cover their
exposure. A Contingency Reserve Fund (CRF) will be used to make wrongful parties whole in this
scenario. The CRF will be initially seeded and further contributed to by loss stakes from oracles that
provide incorrect data.
26
Copyright © 2018 FansUnite Limited. All Rights Reserved.6.0 - FansUnite Token
The FAN token will serve the following purposes:
Decentralized governance on Protocol decisions;
Betting exchange transaction fees;
The required token for staking by Oracles;
Resolution dispute staking;
Contingency Reserve Fund; and
Incentivise Oracles to provide accurate and low latency sports data.
6.1 - Governance
Decentralized governance is an integral part of the longevity and success of the Protocol. Token
holders will have a proportional vote on development updates.
6.1.1 - Protocol Upgrades
Periodic upgrades and improvements to the smart contracts powering the underlying logic of the
Protocol are necessary. Ethereum smart contracts are immutable and once deployed, the code
cannot be changed. However, several smart contracts can be combined and structured in a way that
allows for the underlying logic to be upgraded. Upgrading must be done in a fair and transparent
way that doesn’t negatively impact stakeholders. As such, a voting system will be implemented to
decide how and when new code will be implemented and deployed.
On-chain decentralized governance is still a heavily researched subject. While governance is an
important component of the Protocol, it is also not part of our core business and we will lean on the
expertise of a partner organization such as Aragon or Harbour for proper implementation.
Community governance will be undertaken in phases with a gradual roll-out of functionality to the
Community. These phases will be announced at a later date.
6.2 - DApp Transaction Fees
The protocol allows for DApps to charge fees in FAN tokens. DApps can cite their own fee schedule
using any sort of method they choose, such as a flat rate or a rate dependent on the volume wagered.
Although the Protocol allows for fees, DApps aren’t required to charge transaction fees.
27
Copyright © 2018
2017 FansUnite Limited. All Rights Reserved.6.3 - Resolution Dispute Staking
FAN tokens are required to be staked to initiate a dispute if one of the wagering parties believe
that the Oracle network reached an incorrect consensus. Staking is used for a potential reward for
Oracles who provided the correct data and for the prevention of frivolous disputes.
6.4 - Contingency Reserve Fund
FAN tokens are accumulated in a Contingency Reserve Fund (CRF) to pay out successful disputes
where one party decides not to return wrongfully claimed tokens. The reputation system is used to
deter bad actors while the CRF is only used as a fail-safe.
6.5 - Oracle Staking
Oracles are required to stake FAN tokens to be eligible to provide event data that is ultimately used
to resolve wagers. Oracles earn a reward proportional to the amount of FAN tokens they staked, their
reputation and the timeliness of the data provided. See Section 5.3.1 for more details.
28
Copyright © 2018
2017 FansUnite Limited. All Rights Reserved.7.0 - Roadmap
April 2018
Announce FansUnite Protocol and publish original
version of White Paper and Business Case.
June 2018
Funds raised allowed rapid expansion of data
science and development teams.
July 2018
Launched World Cup proof of concept on Kovan
Testnet, see it here.
Q3 2018
Announce major partnerships with professional
sports franchise and international poker brand.
Q3 2018
Open-source Smart Contract Repository and JS
Library.
Q4 2018
Launch Token Sale.
29
Copyright © 2017 FansUnite Limited. All Rights Reserved.7.0 - Roadmap
Q4 2018
Launch Token Sale.
Q4 2018
Launch Betting Functionality for Protocol and
take first bets on the FansUnite Sportsbook with
centralized resolution.
Q1 2019
Release Oracle Resolution on Test Network in
conjunction with open-source Oracle solution for
nodes to deploy.
Q2 - Q3 2019
Release Oracle resolution on Main Network.
Budgeting several months of testing on Testnet
for the Oracle resolution as this is an integral
component for disintermediated betting.
Q3 2019
Release native mobile apps for iOS and Android.
30
Copyright © 2017 FansUnite Limited. All Rights Reserved.8.0 - Business Plan
8.1 - Market Factors
The market for this platform is massive. The European Gaming and Betting Association (EGBA)
published a report in 2014 estimating that the current total market size for sports betting globally
exceeds $1 trillion per annum. Furthermore, legal sports betting profits are estimated at just over
$70 billion in 2016, a 20% increase since 2012 1. Numerous other macroeconomic factors suggest
exponential growth for the industry in the near term, including:
US repeal of federal legislation prohibiting sports betting. The US market is estimated to be
worth anywhere up to $70 billion in revenue annually 2.
Improved penetration of smart phones and high-speed broadband connections is allowing
for previously unreachable populations, like those in developing countries such as Africa, to
bet on sports 3.
Improved WiFi and broadband networks increasingly allow for bettors to participate in
lucrative markets for sportsbooks including live in-play betting 4.
Increased accessibility to online gambling attracts younger demographics of sports bettor - a
demographic that is also more likely to adopt and hold cryptocurrency. The average age of a
land-based sports bettor is 45 years, while the average age group of an online sports bettor
is 38 years 4. A third of millennials say they plan to own cryptocurrency in the next 5 years 5.
eSports betting is growing at an unprecedented rate, with Pinnacle stating that they expect
to hit 10 million bets on eSports by the end of this year - it took them from 2010 through 2016
to hit their first million 6. eSports will represent an entirely new demographic of bettors who
may not have historically followed or bet on sports.
Sports betting in 1 “Sports betting report | EGBA.” http://www.egba.eu/
the United States is facts-and-figures/studies/6-sports-betting-report/.
2 “Market for illegal sports betting in US is not
really a $150 billion business.” 14 May. 2018, http://
estimated to be worth theconversation.com/market-for-illegal-sports-betting-
in-us-is-not-really-a-150-billion-business-96618.
70B
3 “Betting industry emerging as a major player in the
mobile money ....” 31 Jul. 2018, http://techtrendske.co.ke/
$
betting-industry-major-player-mobile-money-industry/.
4 “Top 4 Emerging Trends Impacting the Sports
Betting ... - Business Wire.” 19 Oct. 2016, https://www.
businesswire.com/news/home/20161019005427/en/
Top-4-Emerging-Trends-Impacting-Sports-Betting.
in annual
5 “Millennials more likely to invest in cryptocurrency,
study finds.” https://www.cointelligence.com/content/
millennials-more-likely-to-invest-in-cryptocurrency-
revenue
study-finds/.
6 “The Rise of eSports Betting & Gambling - Business
Insider.” 9 Jan. 2018, http://uk.businessinsider.com/the-
rise-of-esports-betting-and-gambling-2018-1.
31
Copyright © 2018 FansUnite Limited. All Rights Reserved.You can also read