Introduction
Tools and Inspiration
Privacy Scaling and Explorations PSE x DIF: Zero Knowledge Proofs in Self-Sovereign Identity
Hack Ideas & Challenges
-
Solidity verifier for BBS+.
-
Build a GPC builder + visualizer.
-
MPC for recovery (privacy-preserving social recovery system).
-
MPC for credentials that need to be issued by multiple parties.
-
Decentralized PKI infra.
Link to a list of identity projects in PSE that could be valuable additions to your hackathon projects. These projects primarily offer SDKs for developers to integrate privacy-preserving user authentication or port verifiable data into their apps.
Future of Education & Workforce Challenge Set
JFF Plugfest standards and resources include:
-
Credential Format: Open Badges 3.0
-
This uses the Verifiable Credential format
-
If your project issues credentials (use one of):
-
VC API, with CHAPI - Credential Handler API if needed, or
-
If your project exchange (“presents”) credentials (use one of):
-
You may reuse and build on top of the tools provided by the Plugfest, including:
Additional resources are available here at the JFF Plugfest 3 site
Pinata File-Based Identity Solutions
Tooling:
-
Website: https://pinata.cloud
-
App/Signup: https://app.pinata.cloud
ArcBlock
Tooling
Q&A, and Tech Support
All participants will receive:
-
A DID/VC based digital badge of “Proof of Participation”
All winning projects will receive:
-
A DID/VC based digital certificate of winning
-
Showcase in ArcBlock’s official blog, twitter and other social media accounts.
-
Projects that can actually be useful will be accepted into ArcBlock’s official
Blocklet Store
Truvity
Challenge Description
Challenge 1: Miko’s Journey to Amsterdam: Reusable Digital Identity for Expats
Miko, a talented backend developer from outside of Europe, is relocating to Amsterdam to join a small yet ambitious startup to develop a cutting-edge Self-Sovereign Identity solution. Amsterdam, the new Verifiable Credentials capital, has a relatively new requirement: all documents in legally-binding processes should be exchanged in the form of Verifiable Credentials between Digital Identity Wallets (both for businesses and retail users). Her Digital Identity Wallet with an embedded to-do list is the key to navigating the complex process of settling as an expat. The wallet's to-do list guides Miko through each step, ensuring that she gathers and submits all required verifiable credentials (VCs) from the right issuers.
The to-do list is pre-configured to:
-
Know all necessary issuers and where to send collected credentials for verification and further actions.
-
Ensure that some issuers, particularly for more complex processes, only accept interlinked VCs, meaning Miko can’t submit non-linked credentials, ensuring that the integrity of her data is maintained across all processes.
Note: The Municipality of Amsterdam fully controls the document issuance in Amsterdam, therefore all businesses and municipal workers must use the municipality's platform and issue VCs on its behalf.
Miko's To-Do List:
-
Obtain an Employment Contract
-
VC: Employment Offer Letter
-
The to-do list prompts Miko to receive and store this VC from her new employer.
-
Apply for and Receive a Visa
-
VCs:
-
Proof of Identity
-
Employment Contract
-
Proof of Financial Stability
-
Drafts: Allow Miko to begin the process while gathering necessary documents. The visa application can’t be submitted until all relevant VCs are linked.
-
Register with the Municipality
-
VCs:
-
Employment Contract
-
Proof of Identity
-
Birth Certificate
-
The to-do list automatically guides Miko through the residency registration process.
-
Open a Bank Account
-
VCs:
-
Proof of Registration issued by the municipality
-
Employment Contract
-
Proof of Identity
-
Bank institutions that are integrated with the wallet’s interlinked VCs require a full set of linked documents to open her account.
-
Secure Housing and Sign a Rental Agreement
-
VCs:
-
Employment Contract
-
Proof of Identity
-
Bank Account Details
-
The final task, completing her journey with signing a rental agreement, depends on all the previous linked VCs in her wallet.
Building on the journey in Challenge 1, this second challenge focuses on the role of a Compliance Officer in the process of verifying and approving the credentials Miko submits. You may model just a part of the whole process (as well as Miko's wallet, it shouldn't even have the UI).
In Step 4, Miko submits her documents to open a bank account. These documents include:
-
Proof of Registration from the Municipality
-
Employment Contract
-
Proof of Identity
-
Proof of Address
The task is to build a simple Compliance Officer Panel (webpage) where:
-
Miko's submitted VCs are received by the bank's compliance officer.
-
The compliance officer reviews the documents, approves or rejects them, and logs the decision.
-
On approval, the officer issues a new VC (e.g., “Bank Account Information") and sends it back to Miko’s Digital Wallet.
Key Features:
-
The panel allows the compliance officer to view and review interlinked VCs.
-
The panel allows the compliance officer to search through received VCs and their content.
-
The panel provides clear options for approval or rejection of each document.
-
The VCs are interconnected, and documents can’t be reviewed or approved unless all linked VCs are present.
Note: You can build your solution on top of the out-of-the-box Truvity widget or build one from scratch.
Tooling
https://www.truvity.com/blog/dif-hackathon-2024
TBD
Resources
- Alice’s DID: did:dht:rr1w5z9hdjtt76e6zmqmyyxc5cfnwjype6prz45m6z1qsbm8yjao
- web5/credentials SDK
- web5/api SDK
- How to create a DID and DWN with Web5.connect()
- Obtain Bearer DID - required to sign VCs
- Known Customer Credential Schema
- How to issue a VC with Web5
- Example of issuing a KCC with Web5
- Example of issued KCC
- How to install a DWN Protocol
- How to store a VC in a DWN
Contact Us
If you have any questions or need any help, please reach out to us in our #kcc-hackthon channel on Discord
VIDOS
Challenge 1: Employer Portal Using DIDs and VCs (Education track)
Develop a proof-of-concept ‘employer portal’ that enables recruiters to identify, verify, and onboard candidates through a seamless, decentralized identity system. The portal should integrate DID-based identity management and support the issuance and verification of VCs to streamline the hiring process.
Key features include:
-
Candidate Identification: Use credentials such as education and skills-based certifications to match candidates to suitable roles.
-
Qualification Verification: Implement secure methods to verify candidate qualifications and identity using VCs.
-
Onboarding Automation: Create a user-friendly onboarding interface that leverages VCs for streamlined processes.
-
Innovative Training Paths: Design training programs tailored to the skills of new hires, incorporating credential issuance.
Example use cases:
-
Matching candidates to job openings based on verified skills and qualifications.
-
Automating the verification of educational and professional credentials.
-
Creating a marketplace for qualification issuers and recruitment agencies.
Challenge 2: VC Interoperability (Reusable ID track)
Develop a proof-of-concept solution that demonstrates the flexibility and interoperability of Verifiable Credentials (VCs) across multiple scenarios. Your solution should showcase how a single VC can be reused in different contexts, such as using a passport for both travel access and age-gated entry. Additionally, the solution should be capable of verifying similar credentials VCs from different issuers, e.g. passport credentials issued by different national authorities - highlighting the versatility of VCs in various real-world applications.
Key features:
-
Interaction with Issuer: Integrate with a VC issuer (e.g., TBD) and leverage the Vidos tech stack to retrieve and verify the VC, ensuring seamless interaction between the issuer and the verifier.
-
Multiple Issuers: Implement functionality to work with multiple VC issuers, creating and verifying credentials from different sources using the Vidos tech stack. This should demonstrate the interoperability of VCs across various issuers.
-
VC Verification: Ensure that the solution accurately verifies the correct VC for the given scenario, maintaining high security and reliability standards.
-
User Design: Design an intuitive interface that allows users to easily select which VC they wish to use in a given situation, enhancing the user experience and demonstrating the practical application of reusable VCs.
Tooling
https://vidos.id/digital-identity-hack-pack
Ontology
Tooling and Further Info
-
Official website: https://login.ont.id/,
-
Documentation: https://docs.ont.io/decentralized-identity-and-data/ontid/ont-login
-
Back-end SDK: https://github.com/ont-id/ontlogin-sdk-go
-
Front-end SDK: https://github.com/ont-id/ontlogin-sdk-js
Crossmint
Examples for this challenge:
-
KYC/KYB Processes: Build a platform that allows individuals and businesses to create
a reusable digital identity for KYC/KYB purposes, making it easy to verify identity across
different financial institutions or platforms without repeatedly submitting documents.
-
Age Verification: Create a digital identity solution that provides age verification
capabilities for online platforms, such as gaming or content services, ensuring
compliance with age-related regulations without revealing unnecessary personal
information.
-
Anti-Money Laundering (AML) Compliance: Design a system that uses reusable
credentials to streamline AML checks for financial transactions, reducing friction and
ensuring compliance without compromising user privacy.
Tooling
https://docs.crossmint.com/verifiable-credentials/introduction
Anonyome Labs
Background Reading
“Personhood credentials: Artificial intelligence and the value of privacy-preserving tools to distinguish who is real online” https://arxiv.org/pdf/2408.07892
Tooling LinksThe intent of this challenge is to kickstart PHC development within the identity industry by creating standalone Open Source Software (OSS) that can later be used within other platforms and services. To align with that goal, the core source code submissions should be in the form of standalone Rust, Python, or TypeScript libraries accompanied by a demo application. Optionally, submissions that also demonstrate integrating the core library into other identity platforms (e.g., ACA-Py) are highly encouraged.
Submission recommendations
- Participants are encouraged to explore the integration of foundational standards such as Decentralized Identifiers (DIDs) and DIDComm.
- Participants are encouraged to use the provided PHC Schema in their solutions.
cheqd
Potential Examples for cheqd’s challenge:
Our blog post on the potential of decentralized identity in Verifiable AI offers ideas on sample use cases and applications where we think decentralised identity can restore trust in the age of AI:
- Content credentials (“How much of this content was AI or human generated?”): Content Credentials are an emerging standard using Verifiable Credentials that can capture a “chain-of-custody” of how much of an image (or video/audio) was human-generated or AI-generated, which can help people understand whether to trust a particular content or not.
- Proof of Personhood: Use Verifiable Credentials to capture whether a person is real, to varying levels of “personhood”: a “basic” level could be a credential that states someone is a human (like CAPTCHA), a more “advanced” level would be “it’s this specific person with legal identity”.
- Proof of “Authorised AI Agent”: Just like “Know Your Customer” (KYC), we believe people will authorise generative AI agents to not just come up with text, but plan actions on their behalf. For example, describing to an AI agent your holiday budget and preferences, and it makes bookings on your behalf. A “Proof of AI Agent” will help sites understand if this is a “good” AI bot that’s been authorised by a human, vs a “bad” AI bot.
HOSPITALITY AND TRAVEL TRACK
NetSys| H&T SIG Challenge
Autoura provides three DID enabled services:
-
Consumer hospitality & travel preferences (food, drinks, accessibility, transport, general travel requirements)
-
Traveler current location
-
Two-way DIDComm messaging
Use these preferences to personalise your perfect frictionless connected trip! These services should work when called from all publicly resolvable DIDs. Example code using the TBD platform is available via GitHub to help you get up and running quickly. Autoura’s Alex Bainbridge will be available via DIF discord or email Autoura DevHelp at (devhelp@autoura.com) to help answer your questions.
-
Autoura Developer documentation https://www.autoura.com/docs/api/profiles
-
TBD Example code https://github.com/Autoura/TBDdemo
Extrimian
References and Documentation:
-
How to use ID Connect: YouTube Playlist (Check meetings 3 - Issuer and 4 - Verifier for key functionalities)
-
ID Connect Demo: Extrimian Demo
-
Documentation: Extrimian SSI Service API Documentation
-
Extrimian Academy: https://extrimian.io/academy/
