Introducing Fonduels, our new project built on Enigma

@chainofinsight
Chain of Insight
Published in
4 min readFeb 4, 2020

So what’s this Enigma all about?

Enigma is a decentralized, open-source protocol that lets anyone perform computations on encrypted data, bringing privacy to smart contracts and public blockchains. Our mission: improve the adoption and usability of decentralized technologies, for the benefit of all. (Source)

Enigma is a secure computation network that acts as a layer 2 solution for Ethereum. Enigma introduces the concept of secret contracts, which are identical to Ethereum contracts but can compute on sensitive data. (Source)

That’s cool, what’s it got to do with blockchain games?

Imagine a turn based game processed on a public blockchain (like Ethereum) where two players battle each other. The game works by each player submitting choices to a smart contract. The game contract takes those moves, processes them according to the game’s logic, and declares one of the players victorious. Since the game is processed on Ethereum, each player’s game choices would be public to anyone who wants to see them, including your opponent who might be watching and waiting for your moves to cheat the outcome. 😱

To prevent snooping on our tactics, we’ll have our game encrypt the moves it uploads to the blockchain and wait for both players to submit moves before revealing them publicly. This reveal is a second transaction and some extra logic might be required to automatically process a game result in case only one player decides to reveal. This could happen if the second player sees they already lost (because of what player 1 revealed) and is being a bit of a sore loser 🥊

While the above definitely works, it’s adding an extra step of transactions for each player, and comes at a cost of some timeout logic to pad against the bruised egos of bad sportsmanship. Since the logic we described applies to a wide variety of games, it would be boon to the community if we could somehow rid ourselves of this second stage of (reveal) transactions entirely…

And really, that’s what Fonduels is all about.

Let the Fonduels begin!

Resources are cool:

How it all started

Working on Cheeze of Insight we noticed the reveal stage in the Cheeze Wizards game from Dapper Labs wasn’t as optimized as it could be. If a player refused to reveal their moves, the two NFTs in question would be locked in battle for 90 minutes until the automatic timed out duel function kicks in to process the game result. Because fight windows lasted only three hours, with 4 hours in between windows, NFTs in timed out duels would get blocked from battling again until the next fight window. Contrast this with a smoothly coordinated duel — both players punctually revealing — which might typically settle in as fast as 15 to 20 minutes.

With all of this in mind our team travelled to ETH Waterloo II and created the Fonduels project!

By processing reveals in an Enigma secret contract, we modified the Cheeze Wizards game contract to eliminate processing reveal transactions and any need for resolving timed out duels. This provided game play with at least 50% faster duel resolution at zero risk of timing out. But wait there’s more, without sacrificing our security or decentralization we ensured the game remained provably fair.

Programming Enigma secret contracts was a sweet experience for us. We found it so valuable for blockchain gaming that we’re continuing to work on it so we can bring its features to the Ethereum game community at large.

COI team huddled around the deployment of our first Enigma secret contract

What’s next for Fonduels?

With our puzzle game Satoshis’s Lost Faucet gearing up for launch next week, Fonduels has moved up to top priority. We’re hoping to have a beta version of the platform, with public documentation, available by summer.

Stay tuned for more updates! 😊

--

--