Inspiration

The Sanctum Link Protocol is a groundbreaking web3 KYC (Know Your Customer) product designed to streamline user experiences across supported ecosystems. Traditionally, users face the tedious task of authenticating their identities multiple times across various platforms. The Sanctum Link Protocol aims to eliminate this hassle by allowing users to share their information once with our protocol, which then handles all authentication, verification, and more on their behalf. Crucially, the protocol only knows what the users allow it to know, ensuring privacy and control over personal information.

What It Does ⚙️

The Sanctum Link Protocol revolutionizes web3 identity verification by streamlining the process and enhancing security. Here's how it works:

  • Identity Creation: Users create their identity using email and Wallet Connect, providing basic information like name, facial recognition, fingerprints, and national identity card.

  • Decentralized Identifier (DID) Generation: Creates a unique DID stored on the blockchain from verified information, with detailed data securely stored off-chain.

  • Wallet Address Verification: Links users' wallet addresses to their emails via smart contracts, ensuring ownership proof.

  • Single Sign-On: Users log in with their email or wallet address on different platforms, eliminating repetitive identity verification.

  • Secure Data Management: Stores all user information securely in an off-chain database, ensuring privacy and data integrity. Will allow to keep sensitive data on device.

  • Document verification: Can plug into different online ID scanning and verification providers.

How We Built It 🛠️

Technical Stack and Tools:

  • Smart Contracts: We used Solidity for writing our contracts and deployed them using the Foundry toolkit (forge) and Remix IDE for quick prototyping and testing and the contracts are deployed on avalanche testnet.

  • Frontend : The Backend and frontend were built using Typescript. We are using Ionic with React to be able to run in web browsers and as a mobile app. We use web3js to connect to the users' wallets and the blockchain.

  • Backend : The Backend is built as a Cloudflare worker for easy deployment without managing our stack. This stack allowed the incorporation of serverless key-value stores and databases and made providing services for the Chainlink Functions integration easy.

  • Blockchain Integration : We utilized web3.js for efficient blockchain interactions, enabling secure and smooth transactions.

  • APIs and Data Feeds : Chainlink Functions were used to fetch and verify real-time data, providing dynamic and up-to-date information for our protocol. Also, the eComerce DApp usecase utilized Chainlink AggregatorV3Interface to retrieve real-time price data and Chainlink VRF to generate random, unique, and verifiable payment IDs.

Challenges we ran into 🧗‍♂️

Smart contract challenges

  • Chainlink Functions Data Limitations: The 256-byte limit in Chainlink Functions posed a significant challenge, especially for retrieving off-chain data via API calls. Initially, we tried to optimize our data requests and responses to fit within this constraint, but in the prototyping phase of this project, we deemed it okay to make use of mock contracts that excluded the Chainlink Functions functionality whilst retaining the other functionalities of the original contracts.

  • Chainlink VRF Delays: Encountered delays in the callback function fullRandomWords(), impacting the responsiveness of our protocol. 

Frontend challenges

  • Blockchain Integration : Debugging the smart contract interactions.

  • Serverless Backend : Adapting to a serverless architecture with Cloudflare Workers.

  • Cross Platform Capability : Ensuring compatibility across web and mobile platforms.

Accomplishments that we're proud of 💪

  • Built a functional prototype.

  • Deployed a serverless backend using Cloudflare Workers.

  • Ensured seamless blockchain interactions with Web3.js.

What we learned 🎓

  • Developed expertise in solutions using protocols like Chainlink Data Feeds, VRF, Automation, Chainlink Functions and CCIP.

  • We learned the importance of creating a user-friendly web3 ecosystem that can seamlessly integrate with traditional web2 features, ensuring a smooth transition for users.

What's Next for SanctumLink 🔮

  • Support more L2s and EVM-based Alt L1s; expand to non-EVM chains.
  • Simplify onboarding; develop a unified dashboard.
  • Implement advanced cryptographic techniques and multi-factor authentication (MFA).
  • Form strategic collaborations and engage with the community for feedback and development.
  • Awards reputation tokens based on verified identity and behavior, which can be used for premium features, governance participation, and incentives.
  • Support for keeping sensitive data on the user's device with added encryption
  • Allow third parties to verify documents they have issued by easy interface e.g. for university diplomas
Share this project:

Updates