Search projects, hackathons, sponsors and tech

    ← All projects

    Demo

    About

    The problem it solves 📜 **The Problem**: Critical knowledge—family histories, cultural traditions, legal documents—is stored in fragile systems (paper, cloud storage, wills) vulnerable to loss, hacking, or mismanagement. Families struggle to preserve and transfer legacies securely across generations. 🔒 **The Solution**: LifeChain leverages blockchain technology to create **encrypted, decentralized capsules** for storing wills, memories, and assets. Users can: - 🛡️ **Preserve irreplaceable content** (recipes, voice notes, land deeds) in tamper-proof capsules. - 👨👩👧👦 **Grant multi-signature access** (e.g., 3/5 family members must approve unlocks). - ⏳ **Automate inheritance** via smart contracts (e.g., release documents *only* after verification of death). - 🌍 **Safeguard cultural/scientific heritage** (indigenous practices, research) from extinction. **Why It Matters**: - 🚫 **No third-party control**: Families retain ownership, unlike cloud services or legal intermediaries. - 🔑 **Zero single-point failure**: Data is split and stored globally on Edu Chain’s decentralized network. - 🌱 **Future-proof access**: Grandchildren can unlock capsules *only* if they meet predefined, ethical conditions. **Use Cases**: - 💼 **Wills & Assets**: Distribute property without lawyers or delays. - 🧬 **Cultural Preservation**: Save endangered traditions with community-governed access. - 🔬 **Research Legacy**: Ensure scientific breakthroughs survive lab closures or data loss. LifeChain turns fragile memories into eternal, family-controlled legacies.

    How it's made

    Challenges we ran into ### **1. IPFS Integration Hurdles** **Issue**: - **Type Errors**: When uploading files to IPFS, TypeScript threw type mismatches (e.g., `Buffer` vs. `Uint8Array`). - **CORS Errors**: IPFS nodes blocked requests due to misconfigured CORS policies. - **Large File Handling**: Streaming large files (e.g., videos) caused memory leaks. **Solution**: - Fixed type errors by explicitly converting files to `Uint8Array` using `Buffer.from()`. - Configured a dedicated IPFS node with proper CORS headers: ```bash ipfs config --json API.HTTPHeaders.Access-Control-Allow-Origin '["*"]' ``` - Switched to chunked file uploads using `ipfs.addAll()` with `wrapWithDirectory: false`. --- ### **2. Smart Contract Storage Limitations** **Issue**: Storing IPFS hashes (CIDs) on-chain as `string` exceeded gas limits and caused type mismatches. **Solution**: - Compressed CIDs to `bytes32` using **base32 encoding**: ```solidity function storeCID(bytes32 compressedCID) public { cidMapping[msg.sender] = compressedCID; } ``` - Created helper functions to encode/decode CIDs between `string` and `bytes32`. --- ### **3. Threshold Cryptography Complexity** **Issue**: Implementing Shamir’s Secret Sharing for multi-sig access led to edge cases (e.g., 2/3 approvals failing if one trustee lost keys). **Solution**: - Switched to **smart contract-based multi-sig**: ```solidity function unlockCapsule(uint256 capsuleId) public { require(approvals[capsuleId][msg.sender], "Not an approver"); approvalsCount[capsuleId]++; if (approvalsCount[capsuleId] >= threshold) { emit CapsuleUnlocked(capsuleId); } } ``` - Added a **recovery mechanism** using time-locked backups. ---