nibnalin
Joined 8 years ago
Joined 8 years ago
(I assume consumption per customer has probably gone up)
I recently learnt about Halo 2 and PLONK zero-knowledge circuit design and built a Wordle clone that creates ZK proofs of the grid you share afterwards. This was mostly a fun intro project for me and I wrote up my notes introducing Halo 2 and my circuit design in specific in the README that would be interesting to folks here!
Creator here, thank you for sharing this here - it seems there’s a decent bit of misunderstandings in the comments (particularly around the security model/monetary cost) so I’ll clarify some things:
- Your main wallet is never exposed to the game tiles, only a burner proxy wallet created for in-game interactions. This limits any attack surface area significantly.
- Frontend plug-ins are decently sandboxed and cannot learn things like “what’s your private key?” or make transactions on your behalf unless you explicitly approve it.
- This runs on a testnet L2 (Optimism Kovan) so it’s free to play - this is just meant to be a proof of concept exploration. Anyway, transaction costs are on the order of 1/100th of a cent on such L2s, so it’s really not prohibitively expensive to play the game even if it was with real money!
I’m a bit disappointed that most of the comments here pose rather shallow understanding of what’s interesting about exgrasia/blockchain as a data layer for games - I’d think nothing would excite fellow programmers more than the ability to build their own systems and mod it into a “world” without any limits/permissions on it :(
I know some teams in the 0xPARC community[1] are interested in it and have been looking into using it, but nothing publicly shareable on that yet.
[1]: https://0xparc.org/
Those papers are some of the densest ones, so maybe as a starter I would recommend Vitalik’s blog posts on ZK[1].
If folks are interested in a complexity theoretic introduction to ZK proofs, incidentally, in the interest of being self recommending, I authored one myself I’d be curious to hear thoughts on :)[2]
[1]: https://vitalik.ca/general/2021/01/26/snarks.html
[2]: https://nibnalin.me/dust-nib/a-succinct-story-of-zero-knowle...
Yeah, it definitely needs to be at least as large as the gas fee (otherwise front runners will just run the transaction locally and notice that it’s not worth rebroadcasting). Our mechanism doesn’t take a cut of the token, mostly because it is hard to put a value to the token as we mention in the post.
> It seems like there would still be a basic gas problem any time the receiving account wants to use the (ERC-20) token, eg to send the token somewhere else via a wallet or some other standard UI?
That’s certainly true, but if, for instance, your primary use case was as a governance token, most governance happens off-chain(on Snapshot Labs[1], for instance), so that wouldn’t require any funds.
I've also recently written up a long-form post on the theory behind ZK proofs that might be interesting to folks here: https://nibnalin.me/dust-nib/a-succinct-story-of-zero-knowle...