Search projects, hackathons, sponsors and tech

    ← All projects

    Demo

    About

    The problem it solves # 🧩 The Problem It Solves: Trustless Cross-Chain Assurance ## 🚨 The Cross-Chain Problem Today, most cross-chain apps, oracles, and bridges rely on one of these: * Centralized relayers * Multi-sig or committee-based trust * Full light clients (heavyweight, expensive) This introduces massive risks: * **Single Point of Failure**: If a relayer is compromised, so is the system. * **High Gas Costs**: Verifying multiple Merkle proofs or block headers on-chain costs a lot. * **Limited Transparency**: Users must *trust* that the data from another chain is real. --- ## ✅ What LightLink Makes Easier/Safer LightLink introduces a **ZK Proof Aggregation Layer** powered by Chainlink Functions, Automation, and VRF. Here's what it enables: ### 🔐 Trustless Verification * Verify *remote chain data* (e.g. balances, blocks, events) without needing a centralized party. * On-chain contracts check one succinct zk-SNARK proof. ### ⚡ High Performance, Low Cost * Aggregate 100s of state proofs into one. * Slash gas costs by **80–90%** vs naive verification. ### 🔄 Decentralized Oracles (ZK-powered) * Replace traditional oracle logic with verifiable proof checks. * Chainlink Functions nodes generate proofs independently, increasing decentralization. ### ⛓ Cross-Chain Data Interop * Build *multi-chain apps* that require verified state from another chain. * Bridges, cross-chain DeFi, rollup validators, or even interchain NFTs. ### 🎲 Randomized Auditing (via VRF) * Use Chainlink VRF to sample and verify chain state at random. * Deters fraud while reducing verification load. --- ## 💡 Real Use Cases ### 1. **Cross-Chain Bridge with No Relayer** > User deposits tokens on Chain A → zk-proof generated off-chain → verified on Chain B with 1 contract call. ### 2. **Decentralized Rollup Checkpointing** > Submit a proof of rollup batch execution to Ethereum → verify succinctly via recursive ZK. ### 3. **Verifiable Tokenized RWAs** > Fetch asset proof (e.g. gold reserves on Solana) and verify on Ethereum with zk-SNARK + Functions. ### 4. **Trustless Multi-Chain NFT Game** > A game verifies scores and item ownership from different chains without needing APIs or off-chain DBs. --- ## 🧠 Summary LightLink transforms cross-chain data verification from *trust-based* to *math-based*. It's: * More secure 🔐 * More efficient ⚡ * More flexible 🛠 * More transparent 🌐 Any app that needs **secure multi-chain data**—whether it’s DeFi, NFTs, or infra—can plug into LightLink’s assurance layer. **Build smarter. Verify everything. No trust required.**

    How it's made

    Challenges we ran into ### 🛠️ Key Challenges & How We Overcame Them | # | Hurdle | What Went Wrong | How We Fixed It | | ----- | --------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | **1** | **Chainlink Functions “Ghost Proofs”** | Proofs returned valid data from the off-chain ZK server but were marked as *failed* in the dApp. This happened because:<br>• The frontend used **0-based request IDs**, while the Solidity contract used **1-based indexing**.<br>• The oracle response was a **compact array**, but the smart contract expected a **verbose JSON object**. | ✅ Synced indexing logic across frontend hooks and Solidity events.<br>✅ Updated the `ZKProofAggregator` to handle both response shapes using a defensive parser.<br>✅ Redeployed the updated contract and synced `.env` config — proofs now register instantly and correctly. | | **2** | **Missing Nova Contract → Reverting Folding Calls** | Our zk-folding transactions failed on Avalanche Fuji because the `NovaProofAggregator` contract was never deployed — but its address was still hardcoded into the frontend. | ✅ Verified contract absence with `hardhat verify`.<br>✅ Deployed `NovaProofAggregator` and properly injected its address into `CrossChainVerifier` as the 3rd constructor argument.<br>✅ Refreshed frontend constants and `.env` vars — calls now resolve cleanly and folding executes as intended. | | **3** | **Proof Aggregation Hitting Gas Ceiling** | Chainlink returned *“gas required exceeds allowance of 15,000,000”* when trying to aggregate a large batch of proofs. | ✅ Audited aggregation loops — logic was sound, just heavy.<br>✅ Increased gas limit to **20,000,000** in contract deployment and Hardhat config.<br>✅ Added fail-safe guards to catch and emit clearer revert reasons on future overflows. | --- ### 🚧 Summary These bugs taught us a lot about **cross-layer integration** between off-chain ZK compute, Chainlink infrastructure, and on-chain Solidity verification. By debugging across the frontend, smart contracts, and Chainlink Functions, we delivered a **fully working prover + aggregator pipeline** with real-time, trustless proof verification.