• © Goverland Inc. 2026
  • v1.0.8
  • Privacy Policy
  • Terms of Use
MMG CommitteeMMG Committeeby0xa34FbC6bB017cd320833d74547fC639ECf39C12bthisisthetruth.lens

Committee Grant #008 - SSI and Decentralized Identity Support for MetaMask and Ethereum (SSI Snap) - REVOTE 2

Voting ended almost 3 years agoFailed

Project Name SSI and Decentralized Identity Support for MetaMask and Ethereum (SSI Snap)

Category Developer experience and tooling

Project Description / Executive Summary

The already existing SSI Snap, that we have designed and developed, is an extension for the web3 wallet MetaMask, adding support for building blocks for Decentralized Identity (or Self-Sovereign Identity).

Decentralized Identity, based on two core building blocks - Decentralized Identifiers (DIDs) and Verifiable Credentials (VCs) - is becoming one of the most advanced techniques for next-generation digital identity. SSI Snap main advantages are:

Single wallet (i.e., Metamask) for Decentralized Identity/Self-Sovereign Identity and web3, as well as other crypto-related tokens

Identity wallet configurable by the user

Supporting multiple DID methods and VC storage providers

Easier integration for dApp developers, which can focus on business logic instead on boilerplate SSI-specific code (custom MetaMask RPC methods)

Decentralized identity is currently one of the most active fields in the decentralized ecosystem, with the level of maturity becoming high enough this or next year for mass adoption. Developing a wallet that will enable simple integration of SSI in web3 applications/dApps on Ethereum will help the network become the most critical blockchain for the identity layer. Because DIDs and VCs, issued offchain, do not have any costs, it will help showcase Ethereum for other applications than financial.

The unique contribution of our solution is the integration of SSI into the existing wallet (currently the most popular on the market), thus consolidating one wallet approach with MetaMask as the one (instead of using one wallet for SSI and another one for web3). This comes with several advantages:

Single wallet for web3 and SSI.

Integration of SSI into dApps is more straightforward due to calls to the SSI wallet being made in the same way as blockchain interactions.

Enable Metamask to jointly support management of tokens/NFTs/coins as well as DIDs and VCs

Our project is also essential because of its structure: SSI Snap servers as a hub supporting several DID methods and data storage solutions, thus moving SSI-related logic from dApps (frontend) into the MetaMask extension, making the job of dApps developers easier. This division also brings several advantages to the end users, allowing them to configure SSI Snap to use their favorite DID method and VC storage provider, e.g., some credentials/data can be stored on the public storage network, while some should be exclusively stored locally.

Project Goals

Within the scope of the grant, we will address several important problems for SSI/Decentralized Identity, as well as some additional ones. The project lifecycle will include research, prototyping, implementation, and documentation.

We will comprehensively focus on the following research questions:

How can the user handle cryptographic material/keys to sign data/VCs digitally, and is the cryptography used in web3 compatible with SSI proposed standards? The critical area is to research the compatibility of cryptographic keys and algorithms of Ethereum/MetaMask and SSI/VCs and compare different MetaMask signing methods (such as eth_sign, personal_sign, sign typed data - multiple versions). The solution can also propose in the form of SIP, another digital signing method. Other tasks include researching BIP32 extended secp256k1 keys for VC signing and creating signatures for VC JWT (JSON Web Token) using MetaMask signing methods.

Where to store off-chain VCs and enable the user to decide where she wants her data to be Held? Storage providers should be controllable by the user, and it's their decision based on the privacy/importance of the data where it's stored. The solution is to support multiple storage providers, such as Ceramic Network, Spruce ID's Kepler, and W3C'Confidential Storage, and make the storage configurable.

How to achieve a true Decentralized Identity through easy support of multiple DID methods and enable switching between them according to the dApp needs? Several DID methods were introduced by different projects, each serving specific needs, applications, or levels of decentralization. They all follow DID core standards, making common operations like resolving and core DID document structure interoperable. Still, they differentiate in the storage of DID documents (known as Verifiable Data Registry), their additional attributes, and how the operations for augmenting/updating DID documents are performed. DID methods: did:pkh, did:ethr, did:key, did:cheqd ... It is safe to assume that different dApps will evolve around different DID methods, thus supporting DID method operations such as resolving, updating DID documents, and digitally signing VC/VPs with DID identifiers is necessary, with an easy way to switch between DID methods when visiting several dApps.

How to transfer data between different wallet implementations, from issuers to wallets, and wallets to issuers (achieving true interoperability)? Wallets should implement and support well-defined and agreed-upon standards for transferring VCs and VPs between different actors: issuer, holder, and verifiers. Interactions follow specifications and standards for interoperability reasons between independent implementations, such as OpenID Connect, DIDComm, and DIF Presentation Exchange (PEW).

The problems described above results in the following work packages: cryptography, DID methods, Storage providers, and SSI/Decentralized Identity protocols.

Other topics/problems that we will address are:

How to perform the issuance of VCs by issuers and verification by verifiers? Implement server-side and client-side using MetaMask issuance/verification, supporting protocols such as OIDC4VC and OIDC4VP.

How to transfer VCs to holder when he is offline? Implement temporary storage for VCs (in decentralized way).

How to fetch VCs from SSI Snap? Support standardized way of retrieving VCs, such as CHAPI and PEX.

Signing VC/VPs with HSM (hardware security module).

Target Milestones

The original SSI Snap was developed in August 2022 and now the team would like to continue their work with a focus on the following five components:

Veramo library extensions Issuer and verifier components Extending crypto/web3 wallets to support SSI Integrating SSI in dApps and web3 Configurability and being agnostic Timeline / Path to Production

9 months

Blockchain Lab - Roadmap-Timeline.png

About Team

Blockchain Lab:UM is an R&D laboratory at the University of Maribor. We are a multidisciplinary team of researchers, developers, designers, and consultants who research, design, prototype, and develop solutions and services based on blockchain technology (as well as other P2P and decentralized/distributed technologies).

Website: https://blockchain-lab.um.si/?lang=en

Twitter: https://twitter.com/blockchainlabum

Core team/project members:

Vid Keršič (https://twitter.com/vidkersic ): CTO of Blockchain Lab:UM, project manager, researcher (blockchain, cryptography, AI), prev. EBSI Technical Architect

Muhamed Turkanović, Ph.D. (https://www.linkedin.com/in/muhamedturkanovic/ ): CEO of Blockchain Lab:UM, Associate Professor, President of the Slovene Blockchain Standardization group, Head of European Digital Innovation Hub, Deputy Head of Institute of Informatics

Andraž Vrečko (https://www.linkedin.com/in/andrazvrecko/ ): lead developer, full-stack and blockchain developer

Martin Domajnko (https://www.linkedin.com/in/martin-domajnko-94b23617a/ ): full-stack and blockchain developer, system administration, EBSI developer

Urban Vidovič (https://www.linkedin.com/in/urbanvidovic ): full-stack and blockchain developer, researcher

Extended team of the laboratory:

Patrik Rek (researcher, system administration), Špela Čučko (researcher), Miha Strehar (system administration), Saša Brdnik (UX designer), Marko Hölbl (researcher), Aida Kamišalić Latifić (researcher, State Secretary in the Government Office for Digital Transformation - Slovenia), Marjan Heričko (researcher, Head of Institute of Informatics), Boštjan Kežmah (researcher).

Funding Request

For the MMG portion of the grant, MMG would be responsible for $73,000 USD - this would cover milestones/items 3, 4 and 5.

What specific software license does the grantee intend to publish under?

Common dual open-source license, Apache 2.0 and MIT

Other Information / Relevant Links / Supporting Documents

Project Repo https://github.com/blockchain-lab-um/ssi-snap/

It’s time to prove your worth in DAO — SSI using MetaMask Snaps, Part 1/3 - 13 min read https://medium.com/@blockchainlabum/its-time-to-prove-your-worth-in-dao-ssi-using-metamask-snaps-part-1-3-cfed7c10e6f7

It’s time to prove your worth in DAO — SSI using MetaMask Snaps, Part 2/3 - 7 min read https://medium.com/@blockchainlabum/its-time-to-prove-your-worth-in-dao-ssi-using-metamask-snaps-part-2-3-17eb98678054

Open Sourcing SSI Snap for MetaMask - 3 min read https://medium.com/@blockchainlabum/open-sourcing-ssi-snap-for-metamask-aaa176775be2

Off-Chain Vote

Yes, fund SSI Snap
0 ETH0%
No, do not fund SSI Snap
0 ETH0%
Download mobile app to vote

Timeline

Jun 01, 2023Proposal created
Jun 01, 2023Proposal vote started
Jun 11, 2023Proposal vote ended
Oct 11, 2024Proposal updated