1 free read left. Create a free account for unlimited reading + AI research.
Create free account[Music] thank you [Music] we've got our next speaker about your game will suck without zero knowledge proofs do we have Frank from alio hey hello welcome to the stage Round of Applause for Frank it's coming up coming up uh there's your clicker thank you very much and yeah we'll all right uh can you guys hear me through this thingy I got in my ear all right awesome um so my talk today is uh your game will suck without zero knowledge proofs my name is Frank I'm a product lead at Elio which is um a decentralized zero knowledge layer
one um so obviously we're going to be implicitly talking about blockchain games today where some state of the game is stored on a public distributed Ledger the first thing that comes to mind when I use blockchain and gaming is going to be why decentralized gaming and to answer that question I generally like to back out even more and ask why decentralize anything um the answer that you usually get is that it's to remove the need for trusted third parties and we can sort of go through this with an example with how Bitcoin solved the double spend problem through putting money on a distributed immutable append only Ledger which removes the need eventually for third-party Financial providers and analogously we can do the same with decentralized gaming if if we get it right and we remove the need for
centralized gaming Services platforms and marketplaces um now it's interesting because it's not catastrophic to society if we don't get that right and arguably if we look at the other side of the argument the centralized Services marketplaces and platforms that we use for gaming have made our games better they actually help coordinate these games and also ensure fairness so um the problem is trusted third parties can and eventually will steal surveil and limit your use so if we look at money as an example they may steal your money and appropriate it they may steal by devaluation and inflation they may sell your data without consent for profit or they might limit you lock you in censor you and deny you services same thing with the gaming industry in the gaming world that can steal your assets and basically rug pull you stop the game from uh stop the game and basically disallow you to to play it
they can steal by printing or minting so the assets that you already own in your game are going to be worth a lot less they can also surveil you so the game is a product but I think with many products you are also the product your data is the product um and then you can like I said before lose access at any point so um the way that I like to answer that question at the very end is decentralized gaming is a better investment of time for everyone so if we can make stealing surveilling rug pulls much harder we don't Outsource trust to these entities and that boils down to protecting your investment as a Time protecting your investment of time as a gamer because you protect the value of the assets you own and you get greater value when you're playing peer-to-peer um on the other side of the market you can also experience a lot more transparency for those who are making games and then these are all things that
just help prevent a catastrophic exit stage left for for the entire gaming industry um so we didn't really talk about like how we're going to do this and so like the whole point of my talk is why do these decentralized games suck so we can go through like a a simple chess example that's on the blockchain so Alice and Bob commit to playing this chess game um they're essentially going to have a Stakes of one Bitcoin so whoever decides whoever wins the game will earn a Bitcoin whoever loses the game will lose a Bitcoin and they're essentially broadcasting their moves on the blockchain these are all moves in plain text and everyone in the network can validate their execution and these moves are being broadcasted to the blockchain any node in the blockchain is then able to validate those that those moves execute correctly um and this is the good thing about blockchain games is that everything is
public distributed and so anyone can check everyone else's work and it's also good because we can see that if Alice decides to try and do an illegal move any node in the blockchain network enable is able to check that execution and it's Alice's execution and computation that will not align with anyone else's and therefore she won't have consensus and therefore the blockchain can see this and basically programmatically pay out the bomb um this is the same thing if Alex Alice tries to do a take back move the blockchain is eventually able to see this and programmatically pay out the bottom so why does this suck um I think chess is a relatively simple example but if we start looking at very very large multi-massive multiplayer games it just simply doesn't scale there's like way too much computation going on um there's no privacy and we'll come back
to this point because it's very very important there's no privacy because chess is a perfect information game so all of the players are aware of the game State at any at any given time um and those changes when we start talking about imperfect information games the only good thing remaining here is that there's trust execution so anybody can compute the moves that were made by Alison Bob in this game and confirmed that they were indeed following the game state so going back to the Privacy Point uh perfect information games are games in which all the information about the game state is available to every player that includes chess that includes Chuckers that includes go problem is these aren't the only games that I want to play on the blockchain um and so in these cases privacy is not really needed so imperfect information games is kind of like all the other fun stuff that I kind of want to play and so these are card
games these are real-time strategy games first person shooters massive online battle arena games and this is games in which all the information about the game state may not be available to every player because if the game state is public something like these moves that you'll make in a real-time strategy game are going to be shown to basically all of your opponents so like Texas Hold'em wouldn't be much fun if I could see all of my players all of them my opponent's cards it wouldn't really be much of a card game and then me sending like a flanking team in a real-time strategy game or a first person shooter game wouldn't be much of a surprise to the enemy either because they know what I'm doing just by looking on the public Ledger um and so this is why we need trusted third parties to coordinate the game State and to keep it private kind of like a God's eye um and so like I said player privacy is the problem that we have to solve and that's the reason why we need trusted third parties for online gaming how are we
going to do that um there are a variety of solutions out there today there are trusted execution environments fully homomorphic encryption commit and reveal schemes and then there are zero knowledge proofs I'll go through each of these pretty quickly and just like give an overview of like where the pros and the cons are so a trusted execution environment is essentially a physical computational device that is impossible for someone with access to the hardware itself to know what it is Computing um why does this suck as a solution it doesn't scale um not everyone can execute it it requires the right type of environments there's deployment complexity there's special Hardware that's needed in the news as of late there have been a lot of side Channel attacks so your privacy can be compromised so it's not fully private and then lastly it's not exactly trustless execution because if you trace back um the hardware device that you're using uh you're trusting The Entity who made
the hardware device to not have tampered with it and so it's not exactly trustless in fully homomorphic encryption this is an encryption scheme that allows for encrypted code to be computed on as if it wasn't encrypted so as an example is if you're encrypting critical game data such as player inputs and game States and then you're performing computations on the encrypted data it becomes much more difficult for cheaters to manipulate or exploit the game um this is obviously to help maintain a fair and secure gaming environment um why does this suck it really doesn't scale um it's essentially a trusted execution environment that's built out of math and so you have cryptographic guarantees of its security but you're essentially running computations on encrypted data which is a lot of computation um the good things about it is that it's private and it's trustless execution so anyone who has the computational power can
run those computations um commit and reveal schemes are essentially we'll go through an example of this but it's similar to like with chess game and but instead you're hashing your movements on a board and you're committing those to the blockchain and then at the very end you will reveal uh all of the moves that you have made at the very end um and so execution verification is performed optimistically at the very end of the game so we'll go through an example of this um so instead of Chess we're playing Starcraft now um as an example Alice in her fifth move decides to purchase two brood Lords we're going to put that into a hash function so that when we do put that movement on to a public Ledger Bob is not going to know what that Bob or anyone else in the network is not going to know what that move actually is and so the blockchain and the participants in the network don't know what that move is um similarly Bob can do the same thing
like he'll uh hash the movements that he does within the game and push that to the blockchain but no one actually knows what Bob did until the very end where um we do essentially the reveal of all the secrets and the witnesses that they pushed on the blockchain um and once this happens the game state is revealed so all of the participants in the network can agree that yes uh Alice did indeed buy two brood Lords and Bob somehow still managed to destroy their opponent's base um so what's what's the problem with this it still doesn't scale well there's more Computing hashing going on there's more blocks block space for storage and then there's also more communication overhead um there's no incremental verification and what do I mean by that it's kind of like you're trusting a bunch of moves until like you're trusting a block of moves until the very end of the game and
so at no point during the game can I actually know that Alice or Bob is cheating during the game um and then it's not private after the reveal which is a big thing so let's say like Alice had a game-winning strategy against Bob and Alice is a Pro Gamer and she wants to use that strategy on Charlie next week but the problem is if she plays this blockchain game and you have to reveal all of your moves at the very end her game-winning strategies revealed to Bob and everyone else in the world and anyone else participating in the network and therefore her strategy is basically revealed and she can't use it against Charlie anymore so there's a limited privacy after the reveal and then again there's trustless execution anyone with that kind of computing power can um perform all of the X all the computational executions necessary to find out that the game state is did play out the way that it did play out
so the last solution is zero knowledge proofs um zero knowledge proofs are essentially that I can prove to you that I know a secret without revealing what that secret is that's my very simple definition of zero knowledge proofs um yeah and so usually there's going to be two parties uh when we're using zero knowledge proofs there's going to be approver and a verifier and so the prover can take inputs and create an arbitrary amount of computation on that input and basically create a cryptographic short proof that's quick to verify and they can choose the conceal or reveal anything about that computation and then they give that proof to a verifier who can prove the execution and basically um know that the prover knows a secret without actually being told anything about that secret so if we go back to our example with Starcraft
um we can play out the same scenario using a ZK snark which is a type of ZK proof so an Alice Alice has move 5 she purchases two Brew Lords this time she hashes it and hashes that like change in the game State along with a zero knowledge proof that um states that it's a valid game State transition so now Bob can run this proof and know that cryptographically Alice is playing the game within rules and that for example she has purchased items but he will know nothing about those items he just knows that Alice is playing within the game rules and similarly Bob can do the same thing Bob can generate a cryptographic proof with private inputs about a new game state which is destroying Alice's last base Alice can run this proof and know that cryptographically Bob is playing the game within rules and that he has manipulated game state in a way that he has won without actually revealing anything about his strategy
so why does it suck or why does this not suck um it's scalable because the computations can be run off chain um there's incremental verification so we're not waiting until the very end of the game to actually figure out like whether or not those moves were valid and within rules and it's also private because that's the nature of a zero knowledge proof I'm constructing cryptographic math stating that I know a secret and I don't need to reveal that secret but I can still prove to you that I am within bounds on a game and then there's trustless execution um anyone can run these proofs given that they have the computational power so this is really the only way to do decentralized gaming if you want to if you don't want like third-party actors who used to coordinate privacy and game States for us and I also argue that this is the only way to really decentralize anything with privacy as a default
so then the question becomes what combines the Privacy necessary for these kind of imperfect information games with the programmability of something like ethereum and then the scalability for a good experience on the client side um and that's ilio ilio stands for autonomous Ledger execution offline um and essentially it's a decentralized or it's a platform to build decentralized and private applications you can think of it as kind of like the privacy of zcash the programmability of ethereum and also the scalability compressibility and privacy of zero knowledge proofs all rolled up into one um in order to do that we basically had to build everything from the ground up so just to give a quick overview we have a new ZK execution model called zexi we have a new ZK snark proof system which is a combination of marlin and um uh
combination of marlin and um Planck a new consensus mechanism which is a proof of work proof of stake hybrid and then a new ZK domain specific language so it's like a a language extrap abstracted enough that can formally compile to a ZK circuit um we paired up with a Dev shop called crya and they're helping us to build an open source ZK gaming toolkits so to make developer lives easier when they want to come and build decentralized private games with us this tool is open source and we definitely want the community to come and help us build it as well we've used this toolkit to build our own ZK game called baloney it's essentially like a version of liar's dice so if you have time you can visit that and and sort of take a look and play um we did release the first version of it uh just about a month ago and so we're sort of going through our second
iteration for improvements both on the game and also the open source gaming toolkit um you can also check us out uh we we have all the poker tables hosted in the other room um so you can come and learn more about Elio there and before I I think I have a couple minutes I just want to have a quick summary about some of the points I talked about just like some takeaways that I want you guys to to know before I leave um so why decentralized gaming decentralized gaming is a better investment of time for everyone um if we make stealing surveilling and rug pulls harder that means the people who decide to do gaming we get to protect the assets that they own we get greater value when we're playing peer-to-peer and then we experience things like transparency and stuff censorship um the problem in decentralized gaming right now is player privacy and this is why when you trusted third parties to online gaming so if we can solve player
privacy then we can have a better decentralized gaming experience zero knowledge proofs is one of the ways that we can do that and to me it makes the most sense in these categories so it's scalable it has incremental verification it's private and has trusted trustless execution um and that's Elio um you can come to our platform and build your decentralized private applications and this is where you can find us elio.org HQ on Twitter aliosystems on YouTube I am product lead for Consumer products so happy to talk about how ZK can also be applied elsewhere and not just gaming special thanks to Sam Parker he was our gaming lead and unfortunately he couldn't be there here today but I learned a lot from him in terms of ZK gaming and then crya is the dev shop that's that we've been working with for the ZK gaming toolkit
that's it thank you great really interesting and I know Frank you're going to join us for the panel as well aren't you yes but we've got we've got a couple of minutes so if anyone has any questions uh directly for a Frank before we go in the panel please do ready already sorry um yes I believe you can start playing with it yeah okay yeah so if you go up and go to the booth at Elio um and provide like sign your sign your email address or whatever we'll be sending out an email with all the resources and stuff to get people started yeah uh that's that's good because one of the questions I was going to say is is it hard for developers who are just getting into web 3 to implement I think that's that's the whole point of the zero knowledge domain specific language that we've written it's like very similar to rust and the whole point is to it's almost like an onboarding platform it's like we don't want people to be focused on their inability or it's just very hard to make ZK circuits out of
um it's really hard to just understand cryptography in general and we want to make that easier so go through the language and you write a program and we were able to compile those into ZK circuits for you that's great um and the explanation you gave early on with the the chess games and the various uh exploration otherwise was was great and if anyone came in after that and missed that I should say we're recording this so um any other questions for uh for Frank before we move on uh right here in the front okay great yeah sorry um I don't know if this is really a question but it just seems like um uh using uh blockchain technology seems it's like it's uh able to eliminate like a lot of issues of like traditional gaming in terms of like um in online like cheating it seems like this is like a solution to a problem that has kind of always existed yeah I think like it does eliminate cheating but again like you if you don't do it in a privacy preserving way like you can eliminate cheating but then if everything about the players and all
their assets and inputs are basically exposed it's just like a very limited set of games that you can actually build and successfully play on blockchain there's a whole host of other problems with decentralized gaming and we might get into that into the panel but um yeah totally agree with you well that's great but you know that's perfect time so another round of applause for Frank there and we'll move on to our panel [Applause] [Music]
Decentralized gaming aims to eliminate the need for trusted third parties, protecting players from asset theft, data surveillance, and arbitrary service termination. While current blockchain implementations provide transparency and prevent cheating by making game states public, they struggle with scalability and privacy. Because most engaging genres—such as real-time strategy games, first-person shooters, and card games—rely on imperfect information, public ledgers inadvertently expose player strategies and inputs, rendering these games unplayable in a decentralized environment.
To address these limitations, various privacy-preserving technologies have been explored, though each faces significant trade-offs. Trusted execution environments are hindered by hardware dependency and security vulnerabilities, while fully homomorphic encryption suffers from extreme computational overhead. Commit-and-reveal schemes, while functional, lack incremental verification and fail to protect player strategies after the game concludes. Zero-knowledge proofs emerge as the most viable solution, enabling players to prove the validity of their moves and game state transitions without revealing the underlying private data. This approach ensures scalability through off-chain computation, maintains privacy, and provides trustless execution.
Aleo serves as a platform designed to integrate these capabilities, combining the programmability of Ethereum with the privacy of ZK-proofs. By utilizing a specialized domain-specific language that compiles into ZK circuits, the platform aims to lower the barrier to entry for developers. The ecosystem includes an open-source ZK gaming toolkit and demonstration projects like Liar’s Dice to showcase how developers can build private, decentralized applications. Ultimately, the integration of zero-knowledge proofs is presented as a necessary evolution for the gaming industry to achieve a truly decentralized, private, and secure user experience.
PocketGamer.biz · 2019