"Fog of war" in on-chain games is not easily achevable in public chains like Ethereum. ZK provides a solution to achieve privacy on-chain. However, since proof is generated off-chain, in a multiplayer game - we might need to store data off-chain. This is not a developer friendly experience, and moreover, in some cases storing the data in a centralized location defeats the purpose of on-chain data.
Fully Homomorphic Encryotion (FHE) provides a viable option to store encrypted data on-chain and do computation on encrypted data, removing the need of off-chain storage. It also can eliminate the need of deploying verifiers on-chain and doing costly verifiation transactions.
For detailed information on how FHE was an improvement to the ZK solution, please check the Readme/Documentation.
One of the biggest challenges I ran into while hacking solo is that I ran out of time before I could implement a frontend for my game. I could have probably done a lot more if I worked with a bigger team.
Also, the randomness generation in Inco Protocol did not quite work. I am guessing it has to do with solidity version I am using. But TFHE.rem function was not available. I did not have the time to debug.
Also, for Fhenix Protocol, the documentations were updated far too late, an updated documentation a few days earlier would have been appreciated. However, it all worked out in the end.
Tracks Applied (2)
Inco Network
Fhenix
Technologies used
Cheering for a project means supporting a project you like with as little as 0.0025 ETH. Right now, you can Cheer using ETH on Arbitrum, Optimism and Base.
Discussion