LambdaZk Week

A four-day hacking week from July 15th to 18th, aimed at pushing the boundaries of ZK technology.

  • 81 Participants
  • 125,000 Invested
  • 0 Uninvested

Organization

Industries

  • Blockchain
  • Infrastructure
  • Web3
  • Cryptography
  • ZK

Ideas

In this section you can find some ideas to hack during LambdaZK Week. These ideas are proposals brought by the sponsors of the event.

It's not mandatory to hack on any of these ideas, you can hack on whatever you want (ZK related). Think of them as a free brainstorming or inspiration

Thanks again to all the sponsors that submitted proposals. At next they will appear  alphabetically ordered by each sponsor


Aztec 


NameTypeDescriptionDifficultyChallenges
zkMNISTExperimentalzkMachine Learning -- Image processing of handwritten digits.

Inspired by -- zk-mnist
HardMight require pre-existing ML knowledge and building primitives in Noir.
Chemistry SimulatorExperimentalAtomic elements minted as NFTs, with a molecular simulator encoded as a Noir circuit. Combine elements to create new compounds. Inspired by tweets from our CEO, Zac WilliamsonHard
zkRedditNoir ProjectsCreate a simple message board that utilizes ZK for privacy/authentication/reputation. 

Inspired by -- zk-message-board and Six Moonshot ZK Applications - gubsheep.eth 
Medium
Code Visualization for NoirNoir ProjectsVisualizing Noir source code and ACIR compiled.

Inspired by -- Scaffold-eth, Speed Run Ethereum, surya
MediumMapping Noir's syntax and structure to an intuitive visualization for zk development
zkPhotoNoir ProjectsUse Noir to prove that a low resolution image is downsized from an actual high resolution image.

Inspired by -- https://github.com/socathie/zkPhoto 
EasyNoir doesn't support 2D arrays yet. Might require array flattening works.
Ethereum History APINoir ProjectsTrustlessly and optionally privately prove any piece of information that exists on Ethereum (e.g. token ownership, historical prices, protocol interactions, etc.) using Ethereum storage proofs in Noir.

Inspired by -- noir-trie-proofs, Axiom, Herodotus
Medum
zkAttestation StationExperimentalUse Noir to create a version of Optimism's Attestation Station / Ethereum Attestation Service that utilizes zk to improve the value proposition of the service

Inspired by -- https://duckduckgo.com/?q=zkattestations; and https://docs.attest.sh/docs/welcome 
Medium
zkWorth Noir ProjectsUse Noir to prove that your wallet balance is above a certain threshold or contains a certain value of a specific token without exposing your public key.

A perhaps tweaked version of noir-trie-proofs can be used to trustlessly + privately prove the criteria.

Inspired by -- zk-worth 
MediumTo make it more fun, we can add e.g. ECDSA verification to prove the user does own the wallet he/she is balance-proving.
Proof of SolvencyExperimentalCreate a proof of solvency protocol for CEXs using Noir to write the circuits.

Inspired by -- summa-dev
Hard
BLS Verification in NoirNoir LibraryA library for Boneh-Lynn-Shacham signature verification in Noir.

Useful for building e.g. Ethereum Light Client in Noir, ZK Bridges in Noir, etc.
Medium
zkAMLNoir ProjectsProve that the source of funds is non-illicit funds without revealing the actual source.

Inspired by -- proof-of-innocence, privacy-pools
Medium



For more inspirations and ideas, check out the Noir grant RFPs: https://www.notion.so/aztecnetwork/Grants-RFPs-Aztec-18528973654d4085b8626f37fabe1421

Dojo

NameTypeDescriptionDifficultyChallenges
dojo-zk-huntGameBuild zk-hunt with dojo https://github.com/FlynnSC/zk-huntDifficult
Onchain checkersGameBuild an onchain version of checkers, possibly allowing people to compose different rules and piecesMedium
On-chain chessGameBuild a game of chess using dojo. Showcase composability by introducing new rules or conditions of victory, like what https://immortal.game/ doesHard
on-chain tamagotchiGameDojo-powered tamagotchis that can interact with each other, do stuff, breed, etc.Hard
dojo game tutorialGamehttps://mud.dev/tutorials/emojimon but for dojoMedium
Game channel POCGameImplement a proof of concept of game channels using dojo: https://xaya.medium.com/xayaships-premieres-breakthrough-game-channels-technology-d53c4aadc124Medium
Dogfighter-type gameGamehttps://medium.com/alliancedao/unblocking-on-chain-games-part-three-the-dogfighter-genre-8ef7c109eb88Difficult
food-chain magnate gameGamehttps://medium.com/alliancedao/unblocking-on-chain-games-part-four-food-chain-magnate-617896839199Difficult
Any game on this listGamehttps://boardgamegeek.com/search/boardgame?sort=rank&advsearch=1&q=&include%5Bdesignerid%5D=&include%5Bpublisherid%5D=&geekitemname=&range%5Byearpublished%5D%5Bmin%5D=&range%5Byearpublished%5D%5Bmax%5D=&range%5Bminage%5D%5Bmax%5D=&range%5Bnumvoters%5D%5Bmin%5D=&range%5Bnumweights%5D%5Bmin%5D=&range%5Bminplayers%5D%5Bmax%5D=&range%5Bmaxplayers%5D%5Bmin%5D=&range%5Bleastplaytime%5D%5Bmin%5D=&range%5Bplaytime%5D%5Bmax%5D=&floatrange%5Bavgrating%5D%5Bmin%5D=&floatrange%5Bavgrating%5D%5Bmax%5D=&floatrange%5Bavgweight%5D%5Bmin%5D=4&floatrange%5Bavgweight%5D%5Bmax%5D=&colfiltertype=&searchuser=awall1990&playerrangetype=normal&B1=SubmitDifficult
18xx gameGamehttps://medium.com/alliancedao/unblocking-on-chain-games-part-two-the-18xx-genre-61b2f4e8837dDifficult
Dungeon crawlerGamePlayers get dropped on a map and need to navigate it to find a treasureMedium
Lunar landerGamePlayers need to land a lunar module on the moon using only thrust and directions, inspired by terminal-based gameMedium
Client side DojoGameClient side execution of dojo systemsMediumCompile blockifier to wasm, load system dependencies ontop client, execute system, produce state diff, apply to client state
Just storage prove itGameAdd support for storage proofs to KatanaMedium
Bevy / Unity / Unreal / Phaser dojo bindingsToolsCreate dojo bindings for external clientsMediumUnderstand the destination client
Client side provingToolsProve some game logic client side and pass into a dojo world for incorporation into the shared stateHardCompile prover to wasm, verify proof on starknet / katana, continue execute some public logic and incoporate client proof into the game state
Ticking chainToolsModify katana to support ticking and some native executionEasy
Explore other state representations i.e. quadtrees for chain stateTools
Medium
zkml on DojoToolsSee how to include Giza within the dojo toolchainHard
Merkle Search Tree stateToolsRepresent sequencer state as Merkle Search Tree for efficient indexing and lookup of onchain stateMedium
Verifiable stateToolsEfficient client side validation of world stateMediumRequries a lot of storage proofs to verify onchain state. Explore caching / memoization techniques + other approaches to improve efficiency of client side verification of world state
Dojo world shardingToolsCross-katana and cross L3 communication & messagingMedium
Dojo appchainInfracreate a dojo app chain: use katana + blockifier and implement some custom syscalls related to dojo world etc..Medium

Era & ZKSync

NameTypeDescriptionDifficultyChallenges
Paymasters for DAOsPaymastersCreate paymasters that can be used by DAOs to sponsor transactions for all members. The paymaster will check if the account sending a transaction has balance of the DAO token or if it has the DAO NFT.Low- All paymaster contracts must implement the IPaymaster interface from zksync-contracts package
- Paymasters must be deployed to the zkSync Era testnet or locally using the zkSync local-setup
Customizable walletWalletsA wallet offering customizable features, such as spending limit adjustments, paymasters, changing transaction time-lock periods, etc. The customization options could be tailored to the user's needs, creating a more user-friendly experience.Medium- All smart contract accounts must implement the IAccount interface from zksync-contracts package
- Accounts must be deployed to zkSync Era testnet or locally using the zkSync local-setup
Governance via L1-L2L1-L2Leveraging L1-L2 messaging from zkSync Era, allow users to participate in governance decissions voting in L2 and send the final results to L1.Medium- Applications should use the L1-L2 communication protocol provided by zkSync.
- Smart contracts must be deployed to zkSync Era testnet or locally using the zkSync local-setup
Social media incentive paymasterPaymastersDevelop a Paymaster contract that interacts with social media APIs to track user engagement. For instance, when a user likes or retweets a specific post, a corresponding call could be made to the contract. This could be achieved by creating an off-chain service that listens to social media events and interacts with the Paymaster contract.Medium- All paymaster contracts must implement the IPaymaster interface from zksync-contracts package
- Paymasters must be deployed to the zkSync Era testnet or locally using the zkSync local-setup
Proof of attendance paymasterPaymastersIn the context of an event, you could create a Paymaster contract that covers gas fees for attendees. This could work by having attendees scan a QR code or enter a code into an application, which then triggers an event that the Paymaster listens for. This event could be tied to a specific wallet address for verification.Medium- All paymaster contracts must implement the IPaymaster interface from zksync-contracts
- Paymasters must be deployed to the zkSync Era testnet or locally using the zkSync local-setup
Private AccountsWalletsPrivate Accounts / 
@nocturne_xyz.

The focus is on masking transfer amounts rather than concealing sender/receiver identities.
Low
Private NFTs
Private #NFTs.

- Hide ownership, perhaps using Stealth Addresses
- Hide the metadata: Currently unavailable, yet desired by web3 gamers wishing to keep attributes (e.g. rarity) secret until certain events occur
Medium
Private DeFiPaymastersIn an ideal scenario, we would have a fully private DeFi ecosystem. This may be achieved in pieces or all at onceMedium
Private Strategy GamesGamingA limitation of blockchain games is the transparency of strategies, making it easy for players to decipher the optimal game plan.

When an algorithm is open to the public, it becomes effortlessly replicable.
Medium
Private SocialWalletsStealth Addresses facilitating Social Recovery.

One might question, 'Does social recovery of my address compromise privacy?' Likely not, given you can rely on trustworthy friends who are probably less concerned about privacy matters.
Medium
Private Identity
WalletsThe passport scenario presents a challenge - how can one selectively disclose information to third parties? As more data migrates on-chain and digital credentials become prevalentLow
Private ReputationWalletsCreating a reputation in a wholly private space presents a conundrum.

It seems counterintuitive as reputation is traditionally public, contrasting with the secrecy of privacy.

As such, harmonizing these two elements remains an elusive challenge
High
Network Layer PrivacyPaymastersConsider the possibilities of obscuring transactions via network layer privacy. One can relay transactions through an intermediary, thus blurring the traceMedium
Private Block Proposing/Building
L1-L2Keeping the decision process of the next block's creator private fosters decentralization. This could provide a significant solution to #MEV issues.

Only once the block confirms on-chain, will it reveal all transactions.
High
zkTrees
Bulk Semaphore https://twitter.com/0xomaryehia/status/1676585785024233472?s=20Medium


Risc0

NameTypeDescriptionDifficultyChallenges
zk Credit scoreZK CoprocessorPing infura to get data on a certain address. Calculate how frequently their balances were liquidates in lending protocols such as aave. Create a proof of these calculations which act as a reputation/credit score for their onchain loans.  Bonsai can be used to post the proofs on chain Easy to MediumShould be relatively straight forward, Query data, do a basic credit score algo, post proof onchain
Reputation System for ETH StakersZK CoprocessorSimilar to zk Credit score, in this case query a staker's history and see how often they have been slashed and how long they've been staking. Generate a proof attesting to this slashing frequency. This enables on chain Dapps to check the reliability of a staker. MediumQuering the frequency of slashing for a specific node is potentially difficult
zkML Rust CrateszkVMLook into porting existing ml inferencing creates on top of the RISC Zero zkVM. This enables our zkVM to generate a proof attesting that the output of a model is correlated with the input. This will require usage of Bonsai, our proving infrastructure, as that enables programs that far exceed billions of cyclesMediumRequires a solid understanding of Rust crates 
Improving Serialization & Crate SupportzkVMWrite code that utilizes data serialization or deserialization crates in the guest. There’s a wide range of data serialization frameworks such as Bincode, Ethereum ABI, ASN.1, CBOR, MessagePack, XML, YAML, BSON Examples:
https://crates.io/crates/bincode
https://crates.io/crates/prost
https://crates.io/crates/capnp
https://crates.io/crates/ethabi

Alternatively, you can do HTML/CSS generation or get a popular crate to work on the zkVM.
Medium HardRequires a strong understanding of Rust crates 
Universal ZK ProvingzkVMBy utlizing the existing REVM demo found here: https://github.com/risc0/risc0/tree/main/examples/zkevm-demo. Run the ETH verifier of another proof system (axiom, succinct, starkware etc.) within our zkVM. Generating a proof of verification in the RISC Zero proof systemMediumRequires an understanding of other proof system ETH verifiers and debugging zkVM logic
Enhanced AMM balancing / ZK OracleZK CoprocessorQuery pool values via infura, run novel and complex balancing/blackscholes/etc equations within the zkvm, return these results and a proof attesting to the math behind these results  Potentially you can utilize zkML as well for the parameter adjustment of a defi protocolMediumPotentially requires an understanding of AMMs and other long tail defi primitives
Improving VM/Execution SupportzkVMPort an existing Rust crate of a VM interpreter, or directly port a VM/execution layer onto the zkVM. Example: MIP, MoveVM etc.Medium HardRequires a strong understanding of Rust crates 
Consensus ProofszkVMGenerate a proof of a chain's consensus and or block construction. Very useful for zk bridging. We believe this to be realistic for Ethereum and Cosmos amongst others.HardRequires a strong understanding of consensus architecture and light clients.
ZK IdentityzkVM Take in any personal information from centralized KYC providers, on chain data etc. and generate a proof that shields certain values. Easy to MediumShould be relatively straight forward, Query data, do a proof attesting to the value of the data without revelaing the data it self
Ethereum Zk bridgingzkVM Generate a proof of a user locking up their assets via the Altair sync comittee. Similar in design to succinct's work.Medium HardRequires a strong understanding of the Altair light client comittee

Others!

dsa