metadata: {"signature": "0xc8d79f4692542e791bbc30d8bd729414ed4a0e6ae84f6e74b7bfb0fb9eae5df26ab61c415951797e49d7cbb01d0b954ce95e29074daefb240d5a06eaa56cca201b", "application": {"round": "0x274554eb289004e15a7679123901b7f070dda0fa", "answers": [{"type": "email", "hidden": true, "question": "Email Address", "questionId": 0, "encryptedAnswer": {"ciphertext": "C/OdTS3HPrE6gPCfiumx4tpq4vHYFIqOSa2hxaiboIlA+lop5pk2NEnR9FNgQt6O", "encryptedSymmetricKey": "7ced68546d88cfbca18913defead5415a5c53b99c54db44e8df7d622815a41fe4fe78606aee276647e3d331d13522107cc3457a89c843c877babc10ecad6e9be2cc23b6e76654169b353ce2eec65896410a6f1a9e82cd84d2d9691b799e83999293f293add96c9f6c2c98b452a6346c494b83d78703884989ee75eac90a16d970000000000000020ed55422656fadb79b8182ebd79a2ae32b548f90c23b9c7ac1abf722b06e2760df792c13756e7b7a2976a528065d952b7"}}, {"type": "short-answer", "answer": "The team has historically received a modest investment of \u00a380k from an incubator. ", "hidden": false, "question": "Previous project funding sources (VC, grants, token sales, etc)", "questionId": 1}, {"type": "number", "answer": "99000", "hidden": false, "question": "Total prior funding for project in USD", "questionId": 2}, {"type": "number", "answer": "2", "hidden": false, "question": "Total team size", "questionId": 3}, {"type": "number", "answer": "1", "hidden": false, "question": "How old is the project? (Months)", "questionId": 4}, {"type": "address", "hidden": true, "question": "If you participated in past grant rounds using a different project payout wallet address, please share it here:", "questionId": 5, "encryptedAnswer": {"ciphertext": "ReqylXQRp44XGnWRDSbMvLHFyPzuxBJjq8qL55TBJmA=", "encryptedSymmetricKey": "161d4641c9e73f1dba14265403e6808b3ae1d7deb70e0e5f558ee4678abae6a6f5340f5db622139f44dfcfb7d909070621a563489641069144b9c8546263d5f7971606306bfc9799f19774eac89e9581a870e7bb70c957157c7c856c4c4376b799a0cebebed3cd5c0cdab61d54313f448ac013004d0a0b813dddee296f306f6f0000000000000020e8ef1164465f6757d3d9bcc5890cedc56fdd52b62abe50920fccc4e8b906141446da43fdcd1b5f3bbef3e3434128db91"}}, {"type": "paragraph", "answer": "@harrykingdon\n@goblinoats", "hidden": false, "question": "Profiles or socials of other main team members publicly associated with project", "questionId": 6}, {"type": "multiple-choice", "answer": "Yes", "hidden": true, "question": "Have you read and confirmed your grant abides by the Program General Eligibility Policy? https://gitcoin.notion.site/Gitcoin-Grants-Beta-Round-Eligibility-b7fca9fd3c26450b89ded11caaa6497f", "questionId": 7}, {"type": "paragraph", "answer": "We are creating both apps and open source tooling that showcase the power of ZK cryptography and provide primitives for developers across game development, privacy, ZKML and proof generation, all to enrich the Ethereum ecosystem. Our game includes ZK elements independent of the underlying rollup. We launched the first component of this as open-source ElGamal encryption at the ZK Hack in Lisbon, Spring 2023. Please refer to our project description for a light technical roadmap and overview of cryptographic primitives.", "hidden": true, "question": "How does your project fit into the ZK Tech round eligibility criteria? ", "questionId": 8}, {"type": "paragraph", "hidden": false, "question": "If you've participated in past grant rounds, please share any new updates or milestones from the prior months", "questionId": 9}, {"type": "paragraph", "hidden": false, "question": "Anything else you'd like to share about your project, previous work, or other project affiliations? Anything you'd like to add that has not been covered?", "questionId": 10}, {"type": "multiple-choice", "hidden": true, "question": "Does 50% of your team reflect the diversity of the community your project serves with a particular emphasis on including women, Black, Indigenous, and People of Color (BIPoC), individuals with disabilities, and members of the LGBTQ+ community?", "questionId": 11, "encryptedAnswer": {"ciphertext": "7ljYcjiTaH3Qjg6kjaZRVvfnmlNKIiUAKxkejDyTx0s=", "encryptedSymmetricKey": "0ccdf1f7f54ca81a4ad880515748047fe27042387c8284967394f2d98d93072aa4d17f35bda2800c70b37d257c364e0300a7092fb5c27b4a30fcd4e8fbe6856283a6253b105d42e5fc707173541a18b3ff1391d8ce270baf4784551179d6aaa1a76b40721f435ed9f553b5505280b96607408b62e0a85494b404f16f82325f70000000000000002065ea73d5c8286a72cc13fa29a83376f976d29d775c7646660c6a5d66fd216b1366fbe11aea7ba94e2469e4fb6f2234b5"}}], "project": {"id": "1:0x03506eD3f57892C85DB20C36846e9c808aFe9ef4:580", "title": "Trustless zkMafia", "logoImg": "bafkreic2asu6vhqejetjw5pkyettemyixqrytjgycwr466hq5dnv4z46ha", "metaPtr": {"pointer": "bafkreigz3gejkhapvindjl5dw34gufjqnngfuxz342cwvyw4tcnbxb7yvm", "protocol": "1"}, "website": "https://www.accessorlabs.org/", "bannerImg": "bafkreif4jovoyotkkwt3d7p5zjs5mjvuzrdc2viynea2wiwo7qfpegdsva", "createdAt": 1681945897050, "userGithub": "harrykingdon", "credentials": {"github": {"type": ["VerifiableCredential"], "proof": {"jws": "eyJhbGciOiJFZERTQSIsImNyaXQiOlsiYjY0Il0sImI2NCI6ZmFsc2V9..H3vbf0dKKaWj1B2pxyNwnDg0hpyLMCPaDN1fMwecBQzAG6EUe8OJo41xyd2W58syIGNcVSIvKIj1U5ngbulGDQ", "type": "Ed25519Signature2018", "created": "2023-04-19T23:18:47.801Z", "proofPurpose": "assertionMethod", "verificationMethod": "did:key:z6MkghvGHLobLEdj1bgRLhS4LPGJAvbMA1tn2zcRyqmYU5LC#z6MkghvGHLobLEdj1bgRLhS4LPGJAvbMA1tn2zcRyqmYU5LC"}, "issuer": "did:key:z6MkghvGHLobLEdj1bgRLhS4LPGJAvbMA1tn2zcRyqmYU5LC", "@context": ["https://www.w3.org/2018/credentials/v1"], "issuanceDate": "2023-04-19T23:18:47.800Z", "expirationDate": "2023-07-18T23:18:47.800Z", "credentialSubject": {"id": "did:pkh:eip155:1:0x52277e5CF8dF8eF51d9bD37D8D7553A72D378BEf", "hash": "v0.0.0:l5aZmuAEuwrY/2qD74sWGWpMtGzjHJGFOZyQwrwuE/w=", "@context": [{"hash": "https://schema.org/Text", "provider": "https://schema.org/Text"}], "provider": "ClearTextGithubOrg#accessorlabs#40477877"}}, "twitter": {"type": ["VerifiableCredential"], "proof": {"jws": "eyJhbGciOiJFZERTQSIsImNyaXQiOlsiYjY0Il0sImI2NCI6ZmFsc2V9..PAyAjsRW1RVQSAANXqvocN7PsO1p48oE9N_LPZUpyYRp0pZSM6MTObDThaVj-yARiMvBx96a-PyYclwKo_omBg", "type": "Ed25519Signature2018", "created": "2023-04-19T22:55:25.014Z", "proofPurpose": "assertionMethod", "verificationMethod": "did:key:z6MkghvGHLobLEdj1bgRLhS4LPGJAvbMA1tn2zcRyqmYU5LC#z6MkghvGHLobLEdj1bgRLhS4LPGJAvbMA1tn2zcRyqmYU5LC"}, "issuer": "did:key:z6MkghvGHLobLEdj1bgRLhS4LPGJAvbMA1tn2zcRyqmYU5LC", "@context": ["https://www.w3.org/2018/credentials/v1"], "issuanceDate": "2023-04-19T22:55:25.014Z", "expirationDate": "2023-07-18T22:55:25.014Z", "credentialSubject": {"id": "did:pkh:eip155:1:0x52277e5CF8dF8eF51d9bD37D8D7553A72D378BEf", "hash": "v0.0.0:rDOzIDwIyOKK1yZW1qAbcs8KguI/ik+qNp/gLuflp28=", "@context": [{"hash": "https://schema.org/Text", "provider": "https://schema.org/Text"}], "provider": "ClearTextTwitter#accessorlabs"}}}, "description": "# Grant Proposal: Trustless zkMafia\n\n## Introduction\n\nWe (Baz & Goblin Oats) at Accessor Labs are thrilled to submit our grant proposal to develop a **trustless version of the game Mafia** (a.k.a. \"Werewolf\"). By pushing the limits of what's possible onchain, this novel application will showcase the potential of **zero knowledge proofs**, and furthermore, will include the creation of several ambitious **open-source ZK primitives** that will be of use to other developers in the Ethereum ecosystem, both within and beyond gaming. \n\nWithout getting *too* buzzwordy, the fullest extension of this project will include:\n\n- A **fun, open-source game** to onboard people into the Ethereum ecosystem.\n- An open-source library to implement a **general-purpose hidden information mechanic** into games. This could potentially be applied to other contexts, such as the urgent matter of privacy in decentralised finance.\n- [Potential extension] A demonstration of the power of **client-side proof generation**, using **GPU hardware acceleration**, so that players can generate proofs locally and quickly instead of relying on centralised proof generators. \n- [Potential extension] An **open-source library** to implement client-side proof generation, for wider application both within and beyond gaming.\n- [Potential extension] A demonstration of the power of **ZK-enabled machine learning**, in the context of intelligent in-game **NPCs**, against which players can trustlessly compete.\n- [Potential extension] An **open-source library** to implement ZK-ML into your own games, especially to enable the creation of NPCs.\n\n\n## Project Overview\n\nWe plan to build a proof of concept game of Mafia with the following features.\n\nThe game itself will consist of several players all guessing who the killer is. They deliberate and vote together, and one-by-one, players are eliminated until either the killer wins or is eliminated. Using ZK, players can verify whether or not their vote correctly identified the killer, **without revealing anything else** (such as the killer's identity if they voted incorrectly). *No central omnipotent third party is required.*\n\n**Hidden information mechanics** (such as these) are a core part of game design - from ancient poker to modern RPGs. However, hidden information is - by its very nature - hard to generate and interact with, in the context of a public, immutable, transparent ledger. [Recent work](https://geometry.xyz/notebook/mental-poker-in-the-age-of-snarks-part-1) by Geometry in conjunction with MatchboxDAO showcases how cryptographic innovation makes hidden information game mechanics possible, and we'd like to implement their research. \n\nAs a team we have **prior traction and experience** building out this system. We wanted to build this at the latest ZK Hack in Lisbon, but realised that the task was way too big for one hackathon. Instead, Goblin Oats, together with the team at Geometry, built a necessary component of the game's infrastructure to work on the Polygon Miden ZKVM, namely, [ElGamal encryption](https://github.com/goblinoats/miden-vm/tree/gob-elgamal-zkhack), for which we were fortunate to be **prizewinners**.\n\nThe team also has professional experience building out privacy tooling in the context of gaming, at Epic Games, for some of the biggest games in the world, including Fortnite, Fall Guys, Rocket League, Pok\u00e9mon Go and Among Us.\n\nBy also building an **open-source library** for generating a structurally similar hidden information mechanic in any game, this will create value to onchain game developers of all stripes. Furthermore, this will act as critical research into the relatively under-funded benefit of ZK compared to scaling - namely, privacy, which will have wider application to the future of **decentralised finance**.\n\n## Extension to hardware acceleration for proof generation\n\nTo achieve maximal trustlessness and remove the dependence on a centralised prover, we would **ideally like to generate proofs locally, client-side.** In today's world this is impossible given the **enormous computational cost** of proof generation, but in conjunction with the GPU hardware acceleration work being done by our friends at **Ingonyama**, we believe we can implement a proof-of-concept for client-side proof generation. This would represent a step forward for the industry and open up an incredibly exciting design space for fully decentralised, locally-generated proofs.\n\nPotentially this could be extended into a general purpose **open-source library** for dynamic client-side proof generation in the context of trustless hidden information video games.\n\n## Extension to ZKML\n\nThe hot topic on everyone's lips! ZKML is very exciting because the possibility of verifying model execution has enormous benefits for verifying that a given model was **run correctly**, without revealing the **sensitive private inputs** to that model, or the **proprietary internal tuning** of the model itself.\n\nFurthermore, bringing intelligent non-player agents into onchain games is important for **enriching onchain games with NPCs** that can have hidden internal psychology and biology, but can still behave verifiably and trustlessly. *Trustless NPC infrastructure is a key component of Ethereum's future gaming ecosystem.*\n\n**Ideally** we'd like to create a version of Mafia where players can play using a live video stream, against an NPC detective who can guess who is lying and who is telling the truth, based on facial pattern recognition. Not only would this add an extra layer of fun gameplay, it would also act as critical research into an emerging, exciting technology.\n\nPotentially this could be extended into a general purpose **open-source library** for ZKML in the context of NPC creation for onchain video games.\n\n## Final word\n\nThank you for getting this far! We are beyond excited about the potential of this project and would be grateful for your support in bringing it to life. Send us a message on [Twitter](https://twitter.com/accessorlabs) / our [Discord](https://t.co/kODfOruo0o), we love to chat!\n\nAll best,\n\nBaz and Goblin Oats,\n\n_Accessor Labs_\n", "lastUpdated": 0, "projectGithub": "accessorlabs", "projectTwitter": "accessorlabs"}, "recipient": "0x52277e5CF8dF8eF51d9bD37D8D7553A72D378BEf"}}