New Ethereum talks, every Monday. The week's conference uploads by event, in your inbox.

Loading player…

EthCC 2: Jez San

Ethereum ParisWed, Oct 9, 2019, 12:00 AM

EthCC 2 The Ethereum Community Conference is created by the community, for the community. It brings together great minds and forethinkers, and allows the community to grow. follow us : @AssethFR https://ethcc.io

Transcript

hello everyone I am jazz san one of the founders hey Tom one of the founders of funfair and my colleague Jeremy is also one of the founders hey and we are going to give you an update on fun fair and tell you what we've been up to so Oh mice didn't so fun fair is a gaming platform that runs on the blockchain on on aetherium and it powers adult games gaming for adults which is casino games we support a wide variety of platform a wide variety of titles the games run in real time at commercial quality performance the game sessions are started unchain and then run completely off chain using our own version of state channels that we call fake channels so to give you a little clue as to what we do this is one of our marketing so reels don't worry it's very brief but it'll give you an idea [Music] there we go so that's a to summarize the kind of games that we do they look and feel and play like all online casino games it's set that we're using the blockchain so our goal is to maintain the high standards that commercial gaming provides but do it in a way that is more fair for the player so for instance it is fully trust less and non-custodial that means that the player actually plays the games from their own wallet and if they if they win something it comes back to their own wallet in a traditional online casino game the player normally has to make a deposit into the custody of the casino before they can play any games and then if they make any wins they actually have to request a withdrawal from the casino and that's where the problems start because the casino might have any number of reasons to to not allow that withdrawal they might have you know kyc requirements or they might actually be trying to upsell the player onto other products before they can get their money back or there might be or it might be a scam a casino and they might be trying to actually exit scam the player so being able to play in a trustless and noncustodial way is actually a big deal the games are provably fair and guaranteed cheat proof and we'll be able to explain a little bit more about how that happens we use state channels not only to solve the scaling issues and allow the games to run fast but also to guarantee that they obey the rules of the game and make sure that no one can cheat the the ecosystem has been designed to support all of the existing community that is required in the casino industry so we support casinos themselves who are a brand and they do marketing to recruit players we also support independent game developers who will produce games that can be put on the platform and we support affiliates who are the lifeblood of them Marketing in the casino gaming industry and all of this is designed to cooperate in the ecosystem and all of it is settled in real-time on the blockchain so it it's trustless and transparent we also have a universal kyc system that we call fun paths that allows players to do the KYC once and effectively receive approval to play on any casino that supports the the system and it could be extended one day to support a vulnerable player database which is where a player might have decided that they don't want to play anymore and they want to be restricted from playing and they actually voluntarily say please exclude me and we need to help them make sure that if they hop from casino to casino that they can't find an outlet and be able to play if they didn't want to so the same system would help us with both so that the games are complete applications in their own right the the the game is in two parts it's in the the UI that is presented to the user you saw in the video that what games might look like and that is the the graphics the audio the actual look and feel of the game is done in browser and then there's also a back-end to the game which is built with smart contracts written in solidity and those contain the game rules and for every game whether it's rule 8 or blackjack or Becker odd that the game rules will be different and so these are all separate smart contracts and in some cases some games have multiple smart contracts because the game is more sophisticated than can fit in one so winner when a player starts a game session they click to play the game it's all very user friendly at that time the fate channel is actually opened and deposits from the player and the casino are brought onto the chain together with the sealing of the random numbers which is done by both the player and the casino it also specifies at the time which game smart contract is going to be executed at the time of opening the channel this allows the accounting to be done correctly on chain before what game developers are owed when the game is done because the game developers get a share of the revenue and so it's important that the actual revenues tracked correctly on chain for full transparency and to make sure that there's no collusion when they get when the players finish the game and that they've quit or or they're done the session ends but it also would end if a dispute was raised and if the if either the player or the casino decided that something had gone amiss which could have been cheating or it could have been a bug or some kind of error then there's an unchanging speed resolution phase and that's when the channel closes our state channels are somewhat generalized in that they aren't just payment channels payment channels have been done before with the Lightning Network and with Rhydon and even spank cheney's using payment channels on with their Kinect system the difference with general state channels is that they actually execute code that they actually run the smart contracts off chain and so there's a very good scaling benefit in doing that and a massive reduction in in gasps cost and so it's what enables us to do responsive interactive games at a speed and a playability that people are used to and the people demand but it's also very good for protecting the security of the games to ensure that they're fair and so my colleague Jeremy is going to talk you through a bit more detail about the state channels work okay so it's concept of state channels one of those and we were very much hoping that there's gonna start to be a lot more collaboration between those guys working on state channels so that we can get some some sorts of standards in but until until that happens just talk you through a little bit about the specific implementation that we've done so we have a two-party bi-directional channel and it has fully generic state machine support so fundamentally you can execute any code that you can as long as it's able to be executed on the chain if it needs to be in addition to that we've integrated a random number generation into the state channel it's a generalized form of a commit reveal scheme it provides one 256 bits seed per state transition and it's deterministic but unpredictable which is why I call this thing a fate channel as in it's optimized right in this reduced case which is casino games you as just as mentioned you open one channel for one game session the state advances with an action from both players at the same time which is a bit unconventional so it's not like chess where one player moves and then the other player moves we both the player in the casino acts in coordination to generate both the random number and the outcome of the game it's a bit more like rock-paper-scissors and this makes the coding of the actual games themselves pretty straightforward but it makes dispute resolution slightly harder I'm just going to chat a little bit about dispute it's a fundamental part of a stage now when everything's going swimmingly it's very easy and very straightforward approximately 80% of the code involved in writing a state Challen is to do with what happens when it goes wrong so we we can talk about this in detail but broadly speaking dispute essentially what happens when one party doesn't follow the protocol so it's important to understand that a state channel is a protocol it's a series of rules that each party needs to follow off chain to over to advance the state and to continue the execution of the game in a fair and a pre agreed manner so if you reduce everything that can go wrong from the network timeouts laptop blowing up to someone this you're trying to be malicious to a single statement that one of the parties is not the protocol then you can you can you can condense all of these cases into a single state where you make a claim well the initiator the dispute makes the claim on chain saying the other party is not doing what they should be doing and so the dispute of advant advances if they need to from the previous state to the current state on chain using this smart contract and that place is theirs the channeling into dispute and then if it's valid and then the other party has got to do something and they've got a few options they can do they can provide the next state transition as in they can work out what it is off chain and send that to the smart contracts that's governing the state channel this is validated on chain and if it's correct and they provided their signature it signature to it it has a magic property that means that this channel can continue off chain so you've had a dispute you've agreed something's wrong you've used the chain to interact with the smart contracts and you resolve that dispute and now you can carry on with the state challenge and that's a really clean way of making these things actually work especially in cases of network timeout and unleashes activity there were a couple of other things you can do you can claim though dispute the channel you can just end it there and then if you do nothing at home in one way or the other so this channel can timeout and the person that raised the dispute can claim a time out to win the channel and you can do actually two of these but you can challenge with a later state so if I if I'm losing and I say well there's a dispute and I post state four but I've actually signed state eight where I was losing then if then if the counterparty can present state eight to the channel to the channel contract then we know that someone's trying to cheat so that I was penalized very very quick just to give you some stats we've got here I didn't put these numbers in the spreadsheet so we've had you know a few thousand state channels correctly opened and closed we've had nearly a million off state state transitions actually happen in our system because these are short live channels we're averaging about 200 50 state transitions per channel that said we have a few spins of a slot machine we'll play games of blackjack or that also other we actually had a game recently that ran for nearly 10,000 state transitions those numbers out but from October we have one that did 5000 we worked out with a cost when the half-billion gas to run on the chain about two and a half thousand dollars to run this on the chain but using state channels allure to solution with all of the security features of the of the etherium there one block chain cost 60 cents so we're pretty happy that we've proved that the state channels as a concept actually works yeah we're pretty happy with it it's stable and it works and we've had a few cases of dispute resolution we've had some that we've resolved and come back off chain which is great we've had some that have been triggered by bugs in our software and we were penalized which is you know is unfortunate but is exactly the way that it works if the casinos got a problem and so that they knew that their money was safe the whole time building state channels make it harder still we have a whole load of automated systems interact directly with the blockchain and but we're live and we've thanks Jamie so the first casino that went live is called casino fair and is actually a pilot casino that we launched ourselves in you know we really wanted to gather data and we wanted to learn from real customers and we have actually learned a lot the the casino is currently live in 22 jurisdictions that we're quite conservative and we've launched in the places that the lawyers have told us are the safest places to launch there will be more countries in the future and there will be more gaming licenses that allow us to do that and more currently we have thirteen games that we built ourselves actually 12 that we bill our selves and one that a third party built that are all live and you can play them today on the showcase at funfetti oh if if you're not in one of the countries where you're allowed to play for real money so we discovered after we launched in September that onboarding is a big issue is something that everyone's talking about and the real problem is that new users have a lot of difficulty creating accounts getting getting on the blockchain buying crypto converting crypto from one token to another and so on so they're there turns out those are quite a lot of friction in onboarding users and we learn this firsthand and then we put instrumentation in our site so that we could gather the analytics to figure out where people are getting stuck and we can see a few pain points where there's a lot of friction and so we've dedicated the project and the team to resolving this onboarding friction and the last few months and the next few months are certainly going to be very busy improving the onboarding and reducing friction so it really is actually quite painful for a new user to to create an account and to give an example of the kind of pain points there's if they arrive on the wrong device or they have the wrong browser or they have the wrong wallet then all we can do is tell them go download this wallet or go download that browser and that isn't a good user experience when a customer or potential customer arrives on the site and the first thing they see is oh you're using the wrong browser go download this one or whatever it's just it's just not what we want to tell potential customers so we vowed that we would fix that and it was an area that we never intended to have to address we thought we would build a great DAP and solve a problem for the casino industry and that the users would use it but it turns there's friction outside of our control in the wallets and the browsers and devices for so we've actually spend a lot of effort on doing stuff that we never intended to do so the first one is wallets wallets are actually the present wallets although they're good they're only really good if you know what you're doing and and if you happen to have the device that they run on so for instance I love metal mask but metal mask only really runs on Chrome and chrome alikes doesn't run on Safari doesn't run on mobile yet even if it does it's going to be another app and getting users to go download a new app when they're not using the one the works isn't a good user experience in fact I think if you tell people you need this Apple that app they're not going to get it there people have a resistance to downloading new apps that you tell them to download so users also have trouble creating accounts or backing up seed phrases or even worse if they if they lose their seed phrase or they have some kind of they lost their device that their wallets on so all of these problems are what stopped new users from being on-boarded into adapts and so we thought that we should actually address that and build our own wallet I know there's a million other wallets in development but many of them haven't solved the write problem yet or are working on it but it's just not live yet and we didn't want to let our fate be in other people's hands so we thought that we needed a wallet that would be easy to use for a new user that wouldn't make them write down a 24 word seed phrase there would be easy to recover if they lost their account and so on this is actually a visualization of what it's going to look like it is actually in development and it does kind of work but it doesn't look as good as this yet and obviously we've got a few months to go on the development of it another area that was a big problem is mobile support it turns out that 60 or 70% of the potential customers use mobiles and not desktops and yet mobile support for aetherium DAB's is very poor and even the wallets that do exist on mobile don't interact with DAPs correctly and so you might be able to transfer tokens around or you might be able to buy a crypto but you can't actually interact with apps directly from the wallet so we've also spent a lot of time now optimizing our games to look good on mobile because even though they might have run before they were desktop apps their buttons were a certain size the text and their graphics was a certain size so we had to actually rebuild everything again to look good on mobile so with with the with the wallet and the mobile optimizations we think we can actually reach the customers that we've had problem with before so in the past we've built our own games the first 12 games were built directly in house and although that's more than any other blockchain cuz you know is not enough in the real world casinos have tens or even hundreds sometimes even thousands of games so we needed to enable our platform to be able to support third-party game development to allow anyone that has existing games or anyone that wants to build new games to be able to put them on our platform and run on the blockchain and usually if it's an existing game the game has been built to in a client-server way so it's been built to access a remote gaming server or RGS as as the industry calls it and that needs to be rebuilt into a smart contract to be the backend of the game we have a bunch of games that we're working on and I'll give you a preview in it in shortly in a minute this is something we are working on it's quite early early days but it's a virtual horse race game and now I'm going to show you a video preview of something that we haven't shown before this is some of the games we have coming very soon oops that did not work we've got sound again now so the Alice Cooper game was actually built by a third party called Spike games [Music] so most most of those games are in quite late development and they'll be coming very soon just to summarize where we are we launched the the showcase the the early prototype of our games and our state channels in June 2017 we launched the first commercial state channels on main net in middle of 2018 approximately the first casino was launched in September 2018 and that's casino fare as I mentioned we've got 13 games mostly first party games and just the third party games are starting to come online and you saw we've got several games in development to come out shortly and that we're now focusing on onboarding and reducing friction and making sure that anyone that wants to play these games can actually access and play them and that does mean that doesn't mean making easy to use and running on every device and every browser so in the short term future we've been working on a new version of the fate channels and we plan to open-source that in the near future we also will be launching new casinos that the technology and the platform has been built to support multiple casinos and there will be multiple this year and our goal is to keep trying to innovate and show the casino gaming industry that the player could have a better deal and that fairness and safety could be put first and the technology that we built provides that and it's also actually less expensive for casinos to operate than the server based systems they operate today so thank you very much and do please let me know if you have any questions [Applause] so I think I remember you said that you have one-on-one channels so there's two participants so obviously one guy always watches the other one right yeah are you guys planning to extend this to a multi participant set up and if so do you have a design for a watch tower that can kind of be trusted or delegated to so I think when it's oh the most kind of two questions they're actually only on the second one in terms of watch towers I mean it's watch towers in terms of state channels are very much they're not separate there are parallel research project right I mean I think there's a lot of work going on with that I know Patrick who's supposed to be around who's doing a lot of work on it with Pisa but many other people are working on it as well I think it's a it's a parallel thing I don't think we're gonna spend a lot of time on it right now if if it needs to be a solution I think we could run a thread on that as well but I'm just watching what other people are doing certainly in terms of the way that we're doing our state transitions everything is everything is continually cosines and you certainly could delegate that responsibility to a third party at any point you just need to come up with a good sensible economic model for watchtowers to to decentralize that process and it would be trivial to build a centralized watch tower to just help the user out and they might commit to that but I think we're all looking for a solution that involves decentralization when it comes to to watch tower solutions yeah I mean we do we do have short this channel so to some extent it's less of a problem but it's still potentially a problem as to your first question on multiple Testament channels it's for us it's a big step up from what we've currently done and so if you do in the context of this it would be something like I know Hold'em poker poker I think what we've really tried to do is to focus on one thing and get it right one of the big drivers of his business was get something out there launched live commercial-grade working not just a proof-of-concept not just a white paper this is an actual product and we know we can do this now we're very interested in into looking to internet in the future so maybe it's like a follow up to that exact sort of answer I know that the games you guys have shown now and and see no fear of developed is sort of like the random numbers based gaming are you guys looking in the future to sort of move that out a little bit out of just like spinning a dice basically and having that insured dice winning so I mean I think again it's the same almost the same answer right it is we've got to focus on one thing and get one thing and do it right and that's really what we've chosen to do having said that the the state challenge solution the version one that's live right now he's very focused on exactly that and it's the project that I'm working on right now is chopping chopping that up into nice bits so that we can use we can use large components of what we built that don't rely on RNG get particularly the RNG implementation or this the way in which we do a turn-based system and so I mean that works he says nearly done fingers crossed and then that would give us as a as a company the opportunity to explore explore intermediate new areas but from a marketing and setup point of view we're very much leaning at casino gaming right now I just add the many games involve rendered numbers there's not just casino games you know probably almost every game that has launched on aetherium today has some randomness and even crypto kitties so this is you know randomness is still very important but obviously skill games are another kind of game great thank you so much [Applause]

Automatic transcript — names and jargon may be misspelled.