the blockchain joy tokens - gaming on · introduction the existing gaming marketplace the existing...

27
Joy Tokens - gaming on the blockchain Abstract Joy Gaming’s technology offers a novel solution to connect small developers, software houses, large casinos and players. It creates a gaming ecosystem that both empowers players and helps developers and casinos reduce risk. The lack of trust and transparency is a concern with the online gambling industry. Players tend to use reputable casinos instead of smaller sites, even if they offer more “interesting games”, because players naturally gravitate to casino brands that they trust. Joy Gaming’s technology is a transparent blockchain-based system, which will help improve trust in the gaming industry. Joy Gaming’s technology enables users to play in a transparent and code- governed environment. This allows players and developers to have confidence in the fairness of the games. Through an innovative RNG generator, players will have peace of mind that the games they play are fair and safe. Developers, casinos and businesses bene t from an ecosystem that provides liquidity sharing and fair compensation. By connecting developers and casinos, we aim for an optimal solution where all participants in Joy Gaming benefit. Introduction

Upload: others

Post on 25-Aug-2020

0 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: the blockchain Joy Tokens - gaming on · Introduction The existing gaming marketplace The existing Gaming ecosystem is largely reputation driven - a reputation built up by increased

JoyTokens-gamingontheblockchain

Abstract

JoyGaming’stechnologyoffersanovelsolutiontoconnectsmalldevelopers,softwarehouses,

largecasinosandplayers.Itcreatesagamingecosystemthatbothempowersplayersand

helpsdevelopersandcasinosreducerisk.

Thelackoftrustandtransparencyisaconcernwiththeonlinegamblingindustry.Playerstend

tousereputablecasinosinsteadofsmallersites,eveniftheyoffermore“interestinggames”,

becauseplayersnaturallygravitatetocasinobrandsthattheytrust.JoyGaming’stechnology

isatransparentblockchain-basedsystem,whichwillhelpimprovetrustinthegaming

industry.JoyGaming’stechnologyenablesuserstoplayinatransparentandcode-governed

environment.Thisallowsplayersanddeveloperstohaveconfidenceinthefairnessofthe

games.ThroughaninnovativeRNGgenerator,playerswillhavepeaceofmindthatthe

gamestheyplayarefairandsafe.Developers,casinosandbusinessesbenetfroman

ecosystemthatprovidesliquiditysharingandfaircompensation.Byconnectingdevelopers

andcasinos,weaimforanoptimalsolutionwhereallparticipantsinJoyGamingbenefit.

Introduction

Page 2: the blockchain Joy Tokens - gaming on · Introduction The existing gaming marketplace The existing Gaming ecosystem is largely reputation driven - a reputation built up by increased

Introduction

TheexistinggamingmarketplaceTheexistingGamingecosystemislargelyreputationdriven-areputationbuiltupby

increasedadvertising.Toacquireandretainplayers,casinosareforcedtospendlarge

amountsinordertobuildtrustandreputationthroughbrandawareness.Inaddition,large

casinoscontrolgamedevelopment.Playersareforcedtotrustthesecasinosbecausealack

oftransparencymeansthatplayerscan’ttracktheirwagersandthuscan’tassessthe

legitimacyofeachbet.

Smallerdevelopersalsosufferbecausetheyarepaidasmallpercentageofthegames

revenueandfacedifficultieswhenpublishinganewgame,suchas:lackofimmediateincome

andaccesstothelargegamingplatforms.

TheJoyGamingsolution

Page 3: the blockchain Joy Tokens - gaming on · Introduction The existing gaming marketplace The existing Gaming ecosystem is largely reputation driven - a reputation built up by increased

TheJoyGamingsolutionJoyGaming’ssolutionisblockchain-basedanditallowsdeveloperstocreategamesthatare

runonitsbackendthroughasmartcontract,ratherthandirectlyontheblockchain.Asallthe

resultsarerecordedwithintheblockchain,thereissignificantlylowerfraud.Thusplayerscan

verifythatdevelopersarerunninggamesexactlyasdescribedontheblockchain.Further,

gamedevelopersandsoftwarehousescanconnectandintegratewithliquidityproviders,

suchascasinos,toprovideaccessdirectlytotheirgames.Boththecasinosandthe

developersbenetfromtheadditionalrevenueandincreasedgameinnovation.Thelackof

reputationofanyspecificsitecanbeoffsetbythefactthatrulesandunderlying

infrastructureofthegamesarerecordedontheblockchain(inadditiontotheapproval

systembeforegamesareallowedtogoliveontheJoyGamingnetwork).

Technology

SmartcontractsTheJoyGamingnetworkreliesondecentralisedsmartcontractstoguaranteeandrecord

everythingontheblockchain.Throughtheblockchain,wewillbeabletoauditeverythingthat

happensonJoyGaming.Usersthatplaythegameswillbeabletoview,inrealtime,the

outcomesandtherewardsofthenetwork.Unliketraditionalcasinoswheredepositsaremade

tothecasinoaccount,userswillalwayshavecontrolovertheirJoyTokenwallet(and

withdrawalsaresimplerandconductedmorequickly).

OurPlatformwillusetheEthereumnetworkasaBlockchainbasedecosystem.TheEthereum

networkiswell-established,accepted,andusedbythecommunitywithafullTuringlanguage

capability.Whiletherearesomelatencyissues,amiddle-grounddecentralisedsolutionis

proposedbelowthatcansignificantlyreducethislatency.

TheusageofanAutonomousAgent(i.e.aSmartContract)buildstrustinthesystembecause

anyconflictofinterestbetweenthegamblerandthePlatformismanagedandauditedina

decentralisedmanner.Nothirdpartyneedstobeinvolvedsinceallthetransactionsaredone

viaaSmartContract,whichguaranteeseveryonehasaccessatalltimesandcanverifythe

game’sfairness.

TheJoyGamingstack

Page 4: the blockchain Joy Tokens - gaming on · Introduction The existing gaming marketplace The existing Gaming ecosystem is largely reputation driven - a reputation built up by increased

Ourtechnologystackisprimarilycomposedofthreemaincomponents:theBlockchainLayer,

GameApplications(back/frontend)andtheRandomNumberGenerator(RNG).The

back/frontendofthegameswillberunningondatabases,howeverallpartsthatcouldleadto

anyformofdisputebetweentheplayerandthePlatformwillbedecentralisedandaudited

overtheBlockchainusingSmartContracts.

Theabovefiguredemonstratesthecommunicationbetweenapprovedgameapplicationsand

theJoyGamingRandomNumberGenerator.

TheBlockchainLayerTheBlockchainlayerhasthreefunctions:tokenmanagement,gameoutcomemanagement,

andprovidingauditabilityoftheRandomNumberGenerator.

TheTokenManagement

Page 5: the blockchain Joy Tokens - gaming on · Introduction The existing gaming marketplace The existing Gaming ecosystem is largely reputation driven - a reputation built up by increased

Inatraditionalonlinecasino,Clientssendmoneytothecasinoinordertoplayitsgames.This

createstheopportunityforpotentialfraud.JoyGamingsolvesthisproblembyusing

Blockchaintechnology.Allplayerfundswillbestoredineachplayer’sJoyTokenwallet.Whena

playerplacesabet,themoneywillbesenttoaSmartContractwhichwillmanagethe

outcomeofthebetinadecentralisedmanner.UsingBlockchainmeansthatthecasino(i.e.

theJoyGamingPlatform)hasnocontrolovertheplayer’smoneyatanytime.

Tosummarise:

Theplayerownshis/hermoneyatalltimes.

Theplayeristheonlypersonwhohasmanagementrightsovertheirfunds.

WagerswillbemanagedinadecentralisedmannerusingSmartContracts.

TheGameOutcomeManagementForeachplayer’swager,aSmartContractwillbeused.TheSmartContractwillmanagethe

informationprovidedbyallpartsofthesystem(Gamecode,RNG,playerinput).TheSmart

Contractwillthenverifytheoutcomeoftheplayandautomaticallyallocatefundstotheright

personaccordingtotheestablishedcontractrules.

Forexample,PlayerAinitiatesabetontheroulette.

1. Thefundwillbeautomaticallysenttotheroulettecontract

2. Therandomnumbergeneratedforthisturnoftheroulettewillbecopiedandrecorded

withinaSmartContract.(Note:everythingcritical(RNGandgamehistory)tothegameplay

thatoccurswillberecordedonaSmartContract).

3. Utilisingtherandomnumbergenerated,theGamecodewillsendtheoutcometothe

SmartContract

4. Thewinnerwillthenbeautomaticallycredited.Iftheplayerloses,thenthemoneyis

dividedbetweentheDeveloperandthePlatformmanagement.Thissplitisnegotiated

duringthedevelopmentphaseandappliedautomaticallywhenaplayerloses.

5. Finally,theplayercandecidetorestarttheprocessandcontinueplayorendtheirgaming

session

Page 6: the blockchain Joy Tokens - gaming on · Introduction The existing gaming marketplace The existing Gaming ecosystem is largely reputation driven - a reputation built up by increased

DemoCodeforinitiallyregisteringagameonthenetworkThecodebelowdemonstratesregistrationofagameontheJoyGamingnetwork.The

registrationisdonefullythroughtheEthereumnetwork,soparticipantscaneasilyverifythat

thecontracthasbeenofficiallyapprovedbythenetwork.Throughthisdemo,weseethat

registrationcanbecalledthroughtheGameRegistry()functionwherebythegamewillbe

registeredontheJoyGamingnetwork.(Note:Theamounttobecreditedtothedevelopercan

alsobespecified,throughthesetPlatformShare(uint256newShare)).

contractGameRegistryisOwnable{

usingSafeMathforuint256;

addresspublictokenAddress;

address[]publicgameList;

uint256publicdecimals=5;

uint256publicplatformShare=5*10**(decimals.sub(2));

addresspubliccontroller;

mapping(address=>bool)publicgameRegistered;

eventControllerTransfer(addressoriginalController,addresscurrentController);

eventPlatformShareUpdate(uint256originalShare,uint256newShare);

eventGameRegistered(addressgame);

eventGameDelisted(addressgame);

functionGameRegistry(address_tokenAddress){

Page 7: the blockchain Joy Tokens - gaming on · Introduction The existing gaming marketplace The existing Gaming ecosystem is largely reputation driven - a reputation built up by increased

owner=msg.sender;

controller=owner;

tokenAddress=_tokenAddress;

}

functionsetController(addressnewController)publiconlyOwner{

require(newController!=address(0)&&newController!=controller);

ControllerTransfer(controller,newController);

controller=newController;

}

functionsetPlatformShare(uint256newShare)publiconlyOwner{

require(newShare<10**decimals);

PlatformShareUpdate(platformShare,newShare);

platformShare=newShare;

}

functioncreateGame(string_name,uint256_payoutRate)public{

addressnewGame=newGame(_name,msg.sender,this,tokenAddress,payo

utRate);

require(!gameRegistered[newGame]);

gameList.push(newGame);

gameRegistered[newGame]=true;

GameRegistered(newGame);

}

functiondelistGame(addressgame)publiconlyOwner{

require(gameRegistered[game]);

gameRegistered[game]=false;

GameDelisted(game);

}

functionregisterGame(addressgame)publiconlyOwner{

Gameg=Game(game);

require(!gameRegistered[game]);

gameRegistered[game]=true;

gameList.push(game);

GameRegistered(game);

}

functiongetGameRegistered(addressgame)publicconstantreturns(boolregiste

red){

Page 8: the blockchain Joy Tokens - gaming on · Introduction The existing gaming marketplace The existing Gaming ecosystem is largely reputation driven - a reputation built up by increased

returngameRegistered[game];

}

}

TheRandomNumberGenerator(RNG)AuditabilityAkeypartofthegamingindustryistheverifiabilityofaRNG.Inthetraditionalsense,RNG

generatorsareusuallyadministeredbythecompanyhostingthegames.However,inour

case,thiswillbedecentralisedanddemonstrablyfairbecauseeverygamewillrunona

custombuiltalgorithmthatreliesontheRNGgeneratorlinkedtotheEthereumnetworksmart

contract.ThisisdescribedinmoredetailintheWrappingPhaseandPay-outProcess.

GameApplication(Back&Front-EndManagement)GameapplicationcodeswillbehostedonourserversorhostedthroughtheIPFS/Sia/Storj

network.GameoutcomewillthenbecommunicatedtotheSmartContract.Thereafter,the

gameserverswillprovidethestateofthegametoBlockchainusingJSONRPCviaIPC.The

userexperiencewon’tbeimpactedbytheusage/availabilityoftheBlockchainbecauseall

gameoutcomeswillbeavailableimmediately.Thisfeatureensuresthatuserexperienceis

closetotraditionalgameplay,whileensuringthattheprocessisalsofullytransparentand

decentralised.EverygamecodewillbeaccessibleontheBlockchainalongwithfullauditability

ontherandomnumbergenerated.

RandomnessBasedonBlockchainInformationThekeyisfindingadecentralisedRNGgenerationtechniquethatourgamescanutilisebased

ontheblockchain.ThecurrentsolutionutilisestheusageofBlockgenerationinformation

(suchastimestamp,Nonce,Hashofthecurrentblock,andsoon)togeneraterandom

numbers.Althoughthosenumbersaregeneratedbyminers,itishighlyunlikelyaminercould

successfullychangetheoutcomeofthegameontheEthereumPublicNetwork,becausethe

minerwouldhavetopossessenoughminingpowertominetheBlockseveraltimeswithinthe

publicenvironmentcompetition(around14seconds),asfollows:

1. ThemineriscompetingintheminingprocessofthePublicEthereumBlockchain

environment

2. Theminerfindsthenounceandisnowabletogetthereward

3. TheminerchecksthenounceandBlockinformationgeneratedagainstthewinning

requirementofthegame

Page 9: the blockchain Joy Tokens - gaming on · Introduction The existing gaming marketplace The existing Gaming ecosystem is largely reputation driven - a reputation built up by increased

4. Ifitmatches,theminerpopulatestheresult

5. Otherwise,theminerrestartstheminingprocesstofindanothernouncethatfits,

forgettingaboutthepreviousminingreward

Eventhoughthismethodwouldbehighlyreliable,werejecteditbecausewewereseekinga

modelthatdidnotallowanyroomforpotentialmanipulation.

RANDAO(adecentralisedautonomousorganisationwhichaimstogeneratefully

decentralisedrandomnumbers)isaveryinterestingpossibility,butitisnotmatureenoughto

beimplementedatthistime.JoyGamingsupportsthedevelopmentoffullydecentralised

randomnumbersandwewillinvesttimestudyingRANDAObecause,iffullymatureand

reliable,itiswhollyalignedwithourdevelopmentplan.

GeneratingdecentralizedRNGnumbers-AgileApproachTherandomgeneratormustsolvethefollowingchallenges:

TimeanddelaysfromtheBlockchainecosystem,suchasminingblocktime

Decentralizationandfullyauditability

Licensingandlegallycompliant

Theproposedsolution:

Therandomnessofnumberswillbeintroducedthroughacongruentialgeneratoralgorithm

thatgeneratespseudorandomsequencesofnumbers,whichwillchangebyaddinginputof

datafromtheoutsideworld(e.g.playermovementsovertheplatform,Forexand

cryptocurrencyexchangedata,etc.).Thesedatasetsareusedbecausetheyhaveboth

unexpectedbehaviourandarealwaysavailable.Thissolutioniscompliantwithlicensing

requirementsbecauseitcanprovidealltheneededrandomnumbersinashortamountof

time,withoutimpactinguserexperience.InordertostrengthenourRNGmodel,wewill

initiateadoubleverificationusingtheBlockchaintechnologybyminingeachnumberovera

transaction.ItwillthenbeimpossibleforJoyGamingtomanipulatethenumbersinanyway.

Joytokentechnology:

Blockchain-basedback-endanddevelopmentstack.

Auditabilityandtransparencyovergamingcodes-allcontractsareaccessiblebyplayersat

alltimes.

SmartContractimplementedandconnectedtotheGameback-endthroughAPIs.

SecurityprovidedbytheEthereumPublicNetwork.

Agameregistrysystemconnectinggamedeveloperstoliquidityproviders(casinos).

Randomnumbergenerationsystemsthatallowgamestobepubliclyverifiableandeasily

Page 10: the blockchain Joy Tokens - gaming on · Introduction The existing gaming marketplace The existing Gaming ecosystem is largely reputation driven - a reputation built up by increased

accessedbygamedevelopers.

Gameoperations

EcosystembenefitsandstructureByoperatingontheblockchain,userscaneasilyidentifywheretheirmoneyisgoingand

whethertheresultsarefairlygenerated.Userexperienceisourtoppriorityandwewilloffera

widevarietyofgames,strongsecurity,andreliability.

Inadditiontouserbenefits,developersbenetfromthelargeliquiditypoolandadditional

reputationprovidedbyoperatingontheJoyGamingnetwork.Developerswillbeabletoeasily

“prove”thegamesthattheuserplaysbecauseitistransparentandontheblockchain.The

Page 11: the blockchain Joy Tokens - gaming on · Introduction The existing gaming marketplace The existing Gaming ecosystem is largely reputation driven - a reputation built up by increased

developerwillconnecttocasinosandcollectcommissionsfromthegamesbeingplayed,

whileknowingtheyhavearobustaudittrail.DevelopersarecrucialintheGamingindustry.

WeatJoyGamingunderstandthemandwillworktoprovidethebestexperienceintermsof

fairreward,fullsupportonthemarketingprocess,andgreatercapacityofplayers.

Toensurethesuccessofgames,JoyGamingprovidessupporttothedeveloperswithintheJoy

Gamingecosystem.

Supporttodevelopersisprovidedon:

ClientacquisitionbyprovidingMarketinganddirectaccessourclientbase

Compliancefromalegalandlicensingperspective

Blockchainintegration

Developersonlyneedtoworryaboutthegamedevelopment,Joytokenswilldotherest.

Findingthebalancewithintheblockchain

Userexperienceiscrucialwhenitcomestoworkingonanonlinegamblinginitiative.Joy

Gaminghasworkedhardtofindtherightbalancebetweenthespeedofthegaming

experienceandthedecentralisationthatcomeswithuseofablockchainfortheonline

gamblingindustry.

PossibleissuesthatEthereumfacesinit’scurrentstateTheEthereumBlockchainisnotanoptimalsystemtoprocessdataquicklybecausetheProof

ofWorkminingprocesshappensevery14seconds.Furthermore,theEthereumisnotmade

tostorehugeamountsofdata,giventhattheBlockchainiscopiedoneveryparticipatingnode

ofthenetwork.Therefore,afullydecentralisedsystemateverypoint-fromtheRNGtothe

gameitself-wouldnotbethebestoptionbecausetherewouldbeasignificanttimedelayand

playersdonotwanttowaitminutestogettheplayresults.Further,SmartContracts

managinglargeamountsofdataandprocessingnon-linearlogicareexpensive.

GASpriceTheEthereumintroducedGASpricemainlytoavoid“DDoSlikeattacks”,wherearogue

personcouldcreatealargenumberofcontractstoimpacttheefficiencyofthepublic

networkitself.Thisway,GASfrequentlychangesitscostwiththeaimofanaccurateusageof

Smartcontractdemand.

Summary:

Page 12: the blockchain Joy Tokens - gaming on · Introduction The existing gaming marketplace The existing Gaming ecosystem is largely reputation driven - a reputation built up by increased

TheJoyGamingplatformisarealisticbalancebetweenspeedanddecentralisationinto

providetheoptimalplayerexperience.Everygamepopulatedontheplatformwillcomply

withthefollowingrequirementsofdecentralisation:

Thespeedoftheuserexperiencewon’tbeimpacted-i.e.thegameoutcomeneedstobe

availablewithinafewseconds.

Nothirdparty,developers,orthePlatformhaverightsoverthetokensorthemoneyspent

inthegames.

Accordingtothegameresult,Pay-outwillthenbeautomaticallyprocessedtothewinners

ortheactorsinvolvedinitsdevelopment.

Althougheverygamewillbeofferedbydifferentdevelopers,therewillbeagameacceptance

process(seesection6.5)wheretheJoyGamingteamwillensuretheDeveloperscomplywith

ourspeedanddecentralisationrequirements.Nogamewillbepopulatedontheplatformifit

doesnotcomplywiththoserequirements.WemayincludeanadditionalplayerKYCprocess,

wherebyonlyJoyGamingverifiedplayersarepermittedtousetheplatformsothatweensure

ahigherleveloffairplayandlegalcompliance.

ArchitectureofBlockchainIntegrationandScenarios

Asexplainedearlier,thetechnicalfeaturesofallgamesneedtomatchtworequirements:

minimisethedelayscausedbytheuseofBlockchainandutiliseitsdecentralisation.

ThefollowingoverallGameArchitecturematchestheJoyGamingPlatformrequirementsin

termsofsecurity,decentralisationandspeed.Therearefourmaincomponents:

TheClient-theplayermanagestheirmoneyatalltimes.

TheBlockchain-thesmartcontractcontrolsthepay-outaccordingtothegameoutcome.

TheGS(Gameserver)-representsthedatabaseswherethegameruns.

TheWS(Walletserver)-thePlatformactor’swalletwillbeupdatedaccordingtofinalplay

outcome.

Page 13: the blockchain Joy Tokens - gaming on · Introduction The existing gaming marketplace The existing Gaming ecosystem is largely reputation driven - a reputation built up by increased

TheProcessisdividedintoseveralphases:

TheLoadingPhaseWeaimtoavoidtheverificationtransactiontimeoneverybetduringtheLoadingphase

becausethatwillminimisethedelayscausedbytheblockchainandwillconsiderablyimpact

thespeedoftheuserexperience.

Inordertomeetthisrequirement,theuserwillbeaskedtosendmoneytotheselectedGame

SmartContractwhilethegameisloadingandconfiguring.

Page 14: the blockchain Joy Tokens - gaming on · Introduction The existing gaming marketplace The existing Gaming ecosystem is largely reputation driven - a reputation built up by increased

ThisProcessrequiresfifteensecondstoloadthegameandsetuptheBlockchainsmart

contract.Thisprocessisallowedif,andonlyif,theuserhasbeencheckedandverified

throughtheKYCprocess.Itwillbeimpossiblefornon-verifiedplayerstosendmoneytothe

smartcontractandanautomaticerrormessagewillguidehimtogothroughtheKYCProcess

(moredetailsinsection15).

GameinitiationprocessThecoinamountmovedintothesmartcontractwillbepopulatedontotheWS(WalletServer)

astheinitialclient’swalletvalue.TheGS(GameServer)canbeseenasacache-likesystem,

wherethevalueofthePlatformactor’s(developer,platform,client)moneywillincreaseor

decreasedependingonthegameplayoutcome.

EachClient’sbetwillbecommunicatedtotheGS(Gameserver)todetermineoutcomes.

1. WSsetsupthetemporarywallets-theamountoftheclient’swalletwillbetheone

investedduringtheloadingphase.Adoublecheckisperformedontothesmartcontractto

makesuretheinitialamountassignedtotheclient’swalletistheoneinvestedtotheclient

duringtheloadingphase.

2. Theuserplacesabet(forexample,5JoyTokensareplacedonREDinaroulettegame).

3. ThebetwillbecommunicatedtotheGSandprocessedusingtheRNG(thatisaudited

withintheBlockchain).Dependingonthegame’soutcome,theWS’swallets(Client,

PlatformandDeveloper)willbeupdatedaccordingly.

4. hisprocesswillberepeatedaslongastheuserhasfundsanddoesnotwishtostop

playing.

Demosmartcontractforrunningagameonthenetwork

functionGame(string_name,address_owner,address_registryAddress,address_t

okenAddress,uint256_payoutRate){

name=_name;

owner=_owner;

registryAddress=_registryAddress;

registry=GameRegistry(registryAddress);

tokenAddress=_tokenAddress;

token=ERC20(tokenAddress);

payoutRate=_payoutRate;

isActive=true;

Page 15: the blockchain Joy Tokens - gaming on · Introduction The existing gaming marketplace The existing Gaming ecosystem is largely reputation driven - a reputation built up by increased

decimals=registry.decimals();

}

functionactivate()publiconlyOwner{

isActive=true;

GameActivated();

}

functiondeactivate()publiconlyOwner{

isActive=false;

GameDeactivated();

}

functionownerDeposit(uint256amount)publiconlyOwner{

require(amount>0);

require(token.transferFrom(owner,this,amount));

ownerAvailableDeposit.add(amount);

}

functionownerWithdraw(uint256amount)publiconlyOwner{

require(amount>0&&amount<=ownerAvailableDeposit);

ownerAvailableDeposit.sub(amount);

require(token.transfer(owner,amount));

}

functionplayerJoin(uint256initialDeposit)publicwhenActive{

require(!playerInGame[msg.sender]);

uint256potentialPayout=getPayout(initialDeposit);

require(potentialPayout.sub(initialDeposit)<=ownerAvailableDeposit);

ownerAvailableDeposit=ownerAvailableDeposit.sub(potentialPayousub(initialD

eposit));

playerInGame[msg.sender]=true;

if(initialDeposit>0){

playerCurrentGameDeposits[msg.sender]=initialDeposit;

require(token.transferFrom(msg.sender,this,initialDeposit));

}

PlayerJoined(msg.sender);

}

functionannounceResult(addressplayer,uintresult)publiconlyController{

require(playerInGame[player]);

require(result<=uint(GameResult.draw));

Page 16: the blockchain Joy Tokens - gaming on · Introduction The existing gaming marketplace The existing Gaming ecosystem is largely reputation driven - a reputation built up by increased

playerInGame[player]=false;

GameResultgameResult=GameResult(result);

if(gameResult==GameResult.win){

require(resolvePlayerWin(player));

}elseif(gameResult==GameResult.loss){

require(resolvePlayerLoss(player));

}else{

require(resolveDraw(player));

}

GameResultAnnounced(player,result);

}

functionresolvePlayerWin(addressplayer)privatereturns(boolsuccess){

uint256payout=getPayout(playerCurrentGameDeposits[player]);

playerCurrentGameDeposits[player]=0;

if(payout>0)

playerDeposits[player]=playerDeposits[player].add(payout);

returntrue;

}

functionresolvePlayerLoss(addressplayer)privatereturns(boolsuccess){

uint256playerDeposit=playerCurrentGameDeposits[player];

playerCurrentGameDeposits[player]=0;

uint256payout=getPayout(playerDeposit);

uint256platformShare=playerDeposit.mul(registry.platformShare()).div(10**r

egistry.decimals());

require(platformShare<playerDeposit);

if(platformShare>0)

platformDeposit=platformDeposit.add(platformShare);

uint256profit=playerDeposit.sub(platformShare);

ownerAvailableDeposit=ownerAvailableDeposit.add(payout.sub(playerDeposit

)).add(profit);

returntrue;

}

functionresolveDraw(addressplayer)privatereturns(boolsuccess){

uint256playerDeposit=playerCurrentGameDeposits[player];

playerCurrentGameDeposits[player]=0;

uint256payout=getPayout(playerDeposit);

if(playerDeposit>0)

playerDeposits[player]=playerDeposits[player].add(playerDeposit);

ownerAvailableDeposit=ownerAvailableDeposit.add(payout.sub(playerDeposit

Page 17: the blockchain Joy Tokens - gaming on · Introduction The existing gaming marketplace The existing Gaming ecosystem is largely reputation driven - a reputation built up by increased

));

returntrue;

}

functionplayerWithdraw(uint256amount)public{

require(amount>0&&amount<=playerDeposits[msg.sender]);

playerDeposits[msg.sender]=playerDeposits[msg.sender].sub(amount);

require(token.transfer(msg.sender,amount));

}

functionplatformWithdraw(uint256amount)public{

require(msg.sender==registry.owner());

require(amount>0&&amount<=platformDeposit);

platformDeposit=platformDeposit.sub(amount);

require(token.transfer(msg.sender,amount));

}

functiongetPayout(uint256deposit)privateconstantreturns(uint256payout){

returndeposit.mul(payoutRate).div(10**decimals);

}

}

WrappingPhaseandPay-outProcessTheuserisabletostopthegamesessionandstartthewrappingphaseatanytimeusinga

straightforwardprocessfacilitatedbythefriendlygamefront-end.Thewrappingprocess

consistsof:

1. Theuser’sstoprequestwillbepopulatedontotheGSandWS.

2. TheGSwillcreateahistoryfileofthesession,thefilewillthenbeHashed.

3. ThelastupdatedamountoftheWSwalletsalongwiththeHashwillbesenttothesmart

contract.

4. Accordingtotheinformationsent,thesmartcontractwillchangeitsstateandprocessthe

pay-outontheBlockchain.

GameAcceptanceProcessWebelievethatourapproachwillattractanumberofdevelopersandgamepropositions.

Inordertomakethegameacceptanceprocessefficientandrelevanttoourplatform,allnew

Page 18: the blockchain Joy Tokens - gaming on · Introduction The existing gaming marketplace The existing Gaming ecosystem is largely reputation driven - a reputation built up by increased

gamepropositionswillbeprocessedasfollows:

1. Auditingthecode-ourexpertswillmakesureeverythingmatchesoursecurityandlegal

requirements.

2. Testingthegamebasedonvariousmetrics-time,security,costs,blockchainintegration,

userexperience,etc.IftheresultsfromStepsIandIIaresuccessful,thentheproposed

gamewillgothroughtotheintegrationprocess.

3. SmartContractdevelopment.

4. TestandsecurityauditofthedevelopedSmartContract.

5. GameLaunchovertheplatform.

OncethegameispopulatedwithintheJoyGamingnetwork,everythingwillintegratefrom

withinthesystem.Ifthedeveloperrequiresadditionalliquidity,he/shewilleasilybeableto

accessthepoolofcasinosthatarewillingtoparticipateinofferingthegames.Ifthereare

othertechnicalissues,ourteamwillsupportthedevelopertofindapromptresolution.

Samplepayoutsmartcontract

uint256playerDeposit=playerDeposits[player];

playerDeposits[player]=0;

uint256payout=getPayout(playerDeposit);

uint256platformShare=playerDeposit.mul(registry.platformShare()).div(10**regi

stry.decimals());

require(platformShare<playerDeposit);

if(platformShare>0)

require(token.transfer(registry.owner(),platformShare));

uint256profit=playerDeposit.sub(platformShare);

ownerAvailableDeposit=ownerAvailableDeposit.add(payout.sub(playerDeposit)).

add(profit);

returntrue;

Withinhiscontract,thedevelopercanelecttoreceiveashareoftheprofitsmadebyrunning

thegame.ThisisspecifiedintheplatformSharevariable.Aftereachgamerunbythecasino,

thedeveloperwillreceiveasmallportionoftherevenues.Allofthisisdirectlyencodedwithin

thesmartcontractsothereisnowaitbetweenthegamebeingplayedandtheypayout.

Page 19: the blockchain Joy Tokens - gaming on · Introduction The existing gaming marketplace The existing Gaming ecosystem is largely reputation driven - a reputation built up by increased

BlockchainIntegrationprocessexample-IcyCashSplash

Whilesamplecodeisincludedinthewhitepapertodemonstratethefunctionalityand

implementationofJoytoken,ourocialrepositorycanbeaccessedthroughourgithublink

below:https://github.com/JoyPlatform/joy-contracts.Thecodewillbecommentedtogivefull

visibilityandunderstandingofourapproachfromadevelopmentperspective.Ifyouhaveany

questions,pleasecontactourteamoverthecommunicationchannelatanytime.

BlockchainTechnologybeyondEthereumEthereumisnotmarketreadyforgamingtechnologybecausetherearestillissueswithspeed

andscalabilitythatneedtobesolved.Inthissection,wewillpresenttwoadditional

technologiesthatcouldaddvaluetoourinitiativeandmaybeintegratedintoour

developmentplan.

IOTA:DecentralizationusingDAGs(Directedacyclicgraphs)

IOTAisanewinnovativedecentralisedapproach.Itisnotablockchainecosystem,ratherit

introducestheconceptoftangle.Atangleisliterallyablockchainwithoutblocksanditmakes

theconsensusprocessanintrinsicpartofthesystem.

ThisinnovationintroducesgamechangingfeaturesfortheGamblingindustry:

Inordertoperformatransaction,youhavetoparticipateinthesystemandbepartof2

othertransactionvalidationprocesses.Thisaspectmakestransactionsfreeofcharge,

whichcouldintroduceaconsiderablecutintheinfrastructurecostforanonlinecasino

whilestillprovidingthenecessaryvalidation.

ThesystemhasbeenbuiltfortheIOTecosystemandisextremelyscalable.Itisrealisticto

imaginethesamesystemworkingefficientlyonasmartphoneortablet-whicharedevices

oftenusedbythegamblers.Thisinitiativeiscurrentlyunderdevelopment(atthetimeof

theproductionofthiswhitepaper,thissoftwareisstillinBetaphase).

Thenegativeforthegamblingbusinesswouldbethetransactionvalidationtime.However,

thetransactiontimeisdirectlyimpactedbythenumberofactiveparticipants(sinceyoumust

participateintwoothervalidationsinordertomakeyourowntransactionvalidated).Thus,a

Page 20: the blockchain Joy Tokens - gaming on · Introduction The existing gaming marketplace The existing Gaming ecosystem is largely reputation driven - a reputation built up by increased

largernumberofuserswilldecreasethetransactiontime(whichiscurrentlybetween2-3

minutes).Notably,theIOTAnetworkisstillonabetaversionandthefreetransactionfeature

willlikelyattractlargeamountsofusersandtherebyresolvethetransactionvalidationtime.

Thepotentialofthisecosystemhasnolimit,andwearefollowingitsdevelopmentandhoping

totestgameintegrationinthenearfuture.[1]

Decentralizationofstorageandhosting

Decentralisedstorageisanopenmarketsincetheblockchaintechnologyisnotmadetostore

data.Sia[2],IPFS[2],andStorj[3]arethemaincompetitorsforthismarket.Thegeneralidea

istoallowuserstostoredataorrentavailablestoragecapabilitiesmanagedovera

decentralisedenvironment.

Forexample,manypeopleintheworldpossessunusedstoragecapabilities.Thecompetitors

mentionedaboveproposetostoredatawithahighlevelofsecurityacrossanetworkof

participantsthatarelookingtoberewardedfortheirharddriverental.Ifapersonwantsto

storea1gigabitdocument,thenthedocumentwillbesplitintomanypiecesandeachpiece

willbeencrypted.Then,thoseencryptedpiecesarecopiedandspreadovereach

participant’sharddrive.

Thepowerofthismodelisthattheonlywaytoaccessthefileistopossesstheprivatekeyof

thedocumentholder,sinceitisimpossibletofindalltheencryptedpiecesofallthe

participantsinthenetwork.Itprovidesstrongsecurityforaveryattractivepriceandisjusta

littlemoreexpensivethancommoncentralisedsystems.Thistechnologyallowsstorageof

verysensitivedataoveranyuser’scomputerbecauseeverythingmanagedbetweenthe

renteranduserisviaacryptocurrencypayment.

Aspresentedinsection11.3,wechosetostoreahashofaclient’sGamesessionoverthe

blockchainenvironmenttomakeavailableafulltraceabilityoftheuser’sjourney.Usingthe

decentralisedstorageinourmodelwouldprovidesecurityofthehistoryandastrong

reliabilitybecausethesystemnolongerhasacentralpointoffailure.

JoyGamingislookingintousingthissolutionforpotentialintegrationinitsfurther

development.

Affiliateengagement

Page 21: the blockchain Joy Tokens - gaming on · Introduction The existing gaming marketplace The existing Gaming ecosystem is largely reputation driven - a reputation built up by increased

Newcasinooperatorsoftenstrugglewithplayerliquidity.Also,largeaffiliatesdonotwantto

dealwithsmallstart-upgamesbydevelopersbecausetheyoftenhavepoorconversionand

lowretentionrateswithplayers.Therefore,largeaffiliatesarehesitanttodealwithsmall

developersuntiltheyhavesometradinghistory.Asthesesmalldevelopersarepaidona

periodicbasisandnotinrealtime,theyoftensuffercashowissues.JoyGamingeasilysolves

thisthroughourpay-per-gamemodel.Eachtimecustomersplayonthegame,thepayments

aremadetotherespectiveparticipantsinthegame.Thisensuresanagileecosystemwitha

smallfeedbackloopthatwillevenfurtherencouragenewandinnovativeoperationsby

developers.

TheICO,KYCManagementandRequirements

Inordertosatisfyourlegalcompliance,wehavetoassociateeachinvestmentwithits

investor.Allparticipants,whatevertheamounttheyhaveinvested,willgothroughthebasic

verificationprocedurethatincludesacopyoftheirPassport.Thisprocesswillbemanagedby

JUMIO,whichisatrustedKYCmanagementcompany.

TheGameAccess,KYCManagementandRequirementsKYCmaybeimplementedinordertocomplywithregulatorybodies.Inthiscase,inorderto

beabletoaccessthegame,everyClienthastosuccessfullygothroughtheKYCprocess.

FollowingeachsuccessfulKYCcheck,thePublicKeyoftheClient’sWalletwillbeaddedtoour

system.Oncetheclient’spublickeyisadded,thentheclientcanuseourecosystem.Players

willthenbeeasilyabletoseetheirstatusandreviewtheirplayhistoryonthepublic

blockchain.

Casestudies

ThesoftwaredevelopmentcompanyAventisasoftwaredevelopmentcompanythatwantstocreateanonlinegamblinggame.

Theyhaveanamazingideathatwouldchangetheindustry.However,casinosarenotwilling

tohireAventbecausethemarketisnottestedyet.Aventcouldruntheirownprivategame

online,butthiscomeswithmultipleissues.First,Aventdoesn’thavethecapitaltooffertheir

ownprivatehighstakesgames.Second,userswillhesitatetotrustanunknowncompany.In

Page 22: the blockchain Joy Tokens - gaming on · Introduction The existing gaming marketplace The existing Gaming ecosystem is largely reputation driven - a reputation built up by increased

addition,usersarealsonotcomfortablewiththeideaofhandingovertheircreditcard

informationtoa3rdpartywhowillhaveaccesstoallthefunds.ThismeansthatAventwould

finditverydifficulttomakeaprofitontheirinnovativegamblinggames.

JoyGamingsolvesthisintwoways.First,ifAventweretorunontheJoyGamingnetwork,they

wouldgetexposuretoalargenumberofliquidityproviders(i.e.casinos)andthatwould

resolveanyliquidityissue.Second,thetransparentandimmutablenatureofsmartcontracts

andatrustedRNGgenerationalgorithmwouldassurepotentialusersthatthegamestheyare

playingonAventarefair.Finally,becauseallthetransactionsareconducteddirectlyfromthe

user’swallet,theyhaveaccesstoallthefundsatalltimesandwouldbemorewillingtotry

outAvent.Aventisnowabletoreachmorecustomersthanbeforeandcanfocusmoretime

ondevelopingadditionalinnovativegames.

TheuserUsersaretiredofhavingtoconstantlybrowsebetweenmanydifferentcasinosandgames

room,whichrequiresthemtotrustanincreasingnumberofthirdparties.JoyGamingensures

allthetransactionsarevisible,rulesareimmutablewithintheblockchain,anditverifiesits

developers.Therefore,userscanplayonJoyGaming’snetworkandbeassuredthatthe

gamesarefullyverifiedandsecure.Becausenofundsleavetheuser’swalletuntilagameis

initiated,theuserisassuredthattheirfundsaresafeandsecure.

ThecasinosCasinosarealwayslookingfornewwaystoattractusersandimprovethequalityoftheir

games.Casinosalsohavetheexpertise,capitalandliquiditytorungamesindependently.

Unfortunately,casinoscannotsimplyaddrandomgamesbecausenewlydevelopedgames

areoftennotacceptedbythemassmarket.TheJoyGamingnetworkbringsasolution.

Developersthatcreatenew,excitingandexperimentalgamescanentercontractsdirectly

withcasinos.Inthiscase,casinosaretheliquidityproviderinthesmartcontract,andeach

timeauserplaysthegame,thecasinowouldpayacommissiontothedeveloper.It’sawin-

winscenario.

TokenSale

TheTokenJoyTokenswillbeavailableforpurchaseontheEthereumnetworkasanERC20token.Thereis

Page 23: the blockchain Joy Tokens - gaming on · Introduction The existing gaming marketplace The existing Gaming ecosystem is largely reputation driven - a reputation built up by increased

acurrentchallengewiththeERC20token:ifyousendyourtokentoaSmartContract,you

havetousethe“approve+transferform”functiontomakethetransfer.But,ifyousendyour

tokentoanexternallyownedaddress,youhavetousethe“transfer”function.Unfortunately,

ifyoumakeamistakeusingthosefunctions,thenthemoneyislost.

SamplecodefortheERC20tokeninterface

contractERC20isERC20Basic{

functionallowance(addressowner,addressspender)publicconstantreturns(uint2

56);

functiontransferFrom(addressfrom,addressto,uint256value)publicreturns(boo

l);

functionapprove(addressspender,uint256value)publicreturns(bool);

eventApproval(addressindexedowner,addressindexedspender,uint256value);

}

WeareawareofthischallengeandareworkingtoensureitwillnothappentoourClients.We

plantoupgradetothenewandunder-developmentERC223standard(afteritisfully

developed).TheERC223hasanewfeaturethattriggers,inthecaseofascenarioexplained

above,andthemoneyisautomaticallysentbacktotheclient.

UtilityJoyTokenshavemanydifferentuses.Inthemostbasicsense,JoyTokenscanbeusedtoby

playerstoplaythegamesontheJoyGamingnetwork.Thenetworkprovidesafrictionless

rewardssystem,guaranteedpay-outs,attractionofotherwiseunobtainableaffiliates,

eliminatespotentialfraudandreducespaymentprocessingfees.

Forcasinosandgamedevelopers,thetokenscanbeusedtosecurepaymentforrunning

gamesandforreceivingpaymentfromplayers.Casinoscanguaranteereal-timeaffiliate

paymentstoalldevelopers,therebyaffordingnewcasinooperatorsthesamehighlylucrative

affiliatedealsthatarecurrentlyavailableonlytothelargestbrands.

Forthesmallergamedevelopersthatrelyonbiggercasinosto“back”thegames,tokenscan

beusedtoreceivecommissionsfromthecasinosthatprovidethereputationandtheworking

capitaltoofferthegame.

Page 24: the blockchain Joy Tokens - gaming on · Introduction The existing gaming marketplace The existing Gaming ecosystem is largely reputation driven - a reputation built up by increased

Alllegitimatepartiesareaffordedthesecurityofknowingtheimmutablesmartcontracts,

coupledwiththetokens,eliminatesfraudonthenetwork.

Overall,tokenswillhaveavaluebasedonwhatusersarewillingtopayinordertousethe

servicesontheJoyGamingnetwork.

TokensalestructureCryptocurrencyaccepted:ETH,BTC,Wiretransfer

Hard-cap:JoyTokensalehasahard-capof46340000USD.

Soft-cap:JoyTokensalehasasoft-capof1000000USD.Ifthetotalamountraisedisbelow

thesoft-cap,theofferingisconsideredfailed.

Timescale:Startingapproximatelyon20thofMarch2018andlastingforupto31daysor

beforeallthetokensaredistributed.

Oversubscription:WhenJoyTokenofferingraisesmorethan46340000USD,thetokensale

willbeclosedimmediately.Thereisachanceofoversubscription.Insuchanevent,the

exceedingamountoffundwillbereturnedwithin15daysafterthecloseofthetokensale.

Pleasenotethatnointerestwillbepaidinsuchcase.

Failure:Ifthetokensaledoesnothitthesoft-cap,thenitwillbeconsideredafailedtokensale.Theofferingwillbeterminatedandanyfundssentwillbereturnedwithin15daysafterthe

closeofthetokensale.Pleasenotethatnointerestwillbepaidinsuchcase.

Otherrisks:Thesaleofthetokensinvolvesanumberofotherrisksthatareexplainedinthe

PrivatePlacementMemorandum(PPM)thataccompaniesthetokensaledocuments.Those

risksinclude,withoutlimitation,theSEC’scurrentpositionthatsimilartokenswereconsidered

securitiesandrequiredregistrationoranexemption,potentiallossofvalueinthetokens,

inabilitytoresellthetokens,failuretodeveloptheJoyGamingnetwork,andviabilityof

technologyrisks.ThereaderisurgedtoreadthePPMforafullerexplanationoftherisksand

toobtainpropercounselbeforeproceedingwithanyinvestment.

TokenDistribution

Page 25: the blockchain Joy Tokens - gaming on · Introduction The existing gaming marketplace The existing Gaming ecosystem is largely reputation driven - a reputation built up by increased

TokenDistribution

Presale 20% 140,000,000

SoldduringICO* 30% 210,000,000

Rewardspool(VIPetc) 10% 70,000,000

Soldontheplatform 23% 161,000,000

Foundingteam,vestedfor24months 12% 84,000,000

Ambassadors,FundRaisingFees 3% 21,000,000

ICObounties 2% 14,000,000

Total 100% 700,000,000

TheTeam

CEO

AndrewMacDonald20yearsofexperienceinRetailandOnlinegamingworkingformajorblue-chipcompanies.

Successfullyapplyingmarketingretentiontechniquesfocussingontheindividualplayeraswell

asensuringqualitygameofferingstopromotebusinessgrowth.Akeentroubleshooterwitha

strongdatafocus.

CMO

MikeLeysOver34yearsofprofessionalexperience,including30yearsinmarketingsector.Senior

Managerandseniormarketingspecialistwithknowledgeandproofedinvolvementinallareas

ofonandofflinemarketingandecommerceacrosstheworld.Hissectorexperienceincludes

iGaming,entertainment,mobile,retail,financialservices.Since2005intheiGamingsector-

successfullylaunchinganumberofonlinegamingsiteswithafocusonattractingquality

*Unsoldtokenswillbeburnt.

Page 26: the blockchain Joy Tokens - gaming on · Introduction The existing gaming marketplace The existing Gaming ecosystem is largely reputation driven - a reputation built up by increased

players.

CTO

SteveGiordanoImbrollFull10yearsofSoftwareDevelopmentexperience,7yearsofBusinessIntelligence,Banking

andFinances.Highskilledproductdeveloperfor,a.o.,Sony,Uber&PKRTechnologies.

Professionaljugglerofmultiplerequestsfromvariousdepartments.Visionerontheintricacies

ofthecompany’sperformance.RecentlyfascinatedwithGamingandSecurities.

Roadmap

JUNE2017OP:500,000SeedFunding

OCTOBER2017OP:Onboardadvisorsfromindustryandblockchain

NOVEMBER2017OP:JoyGamingFoundationEstablishedOUT:SpeakingAtBlockChainExpo

DECEMBER2017TECH:DemoSlotMachineusingSmartContractsOP:ApplicationforGamblingDeveloperLicenseTECH:LaunchofJoyGamingPlatformforDevelopersTECH:CodeAudit

MARCH2017OP:TokenSale

APRIL2018OP:TokenSaleAudit

JUNE2018TECH:GamesliveonPlaycosmo

AUGUST2018TECH:ExpansionintoFixedOddsTableGamesOP:IntegrationtoMorePlatforms&DirectOperators

References

[1]https://iota.org/IOTA_Whitepaper.pdf

Page 27: the blockchain Joy Tokens - gaming on · Introduction The existing gaming marketplace The existing Gaming ecosystem is largely reputation driven - a reputation built up by increased

[2]https://www.sia.tech/whitepaper.pdf

[3]https://ipfs.io/ipfs/QmR7GSQM93Cx5eAg6a6yRzNde1FQv7uL6X1o4k7zrJa3LX/ipfs.draft3.pdf

[4]https://storj.io/storj.pdf

[5]https://bitcoin.org/bitcoin.pdf

[6]https://github.com/ethereum/wiki/wiki/White-Paper