Tezos and walt.id
Open source decentralized identity, NFT and wallet infrastructure for developers and businesses on Tezos.
TLDR
In collaboration with the Tezos Foundation, we built open source decentralized identity and wallet infrastructure for the Tezos ecosystem. As a result, developers now have holistic “on-chain identity” tools that enable four capabilities around Non-Fungible and Soulbound Tokens (NFTs, SBTs):
Mint NFTs/SBTs
Manage and display NFTs/SBTs (in an app or wallet)
Verify NFTs/SBTs (auth, token-gating)
Unlock NFTs/SBTs for web2 apps
These capabilities can be used to build a great variety of use cases ranging from memberships or public profiles to utility or access management and beyond.
Let’s dive in!
Why did we partner with Tezos?
Decentralized identity relies on so-called "identity ecosystems" to create trust between people and organizations, typically through "Trust Registries" , which are the single source of truth - and act like a shared database - for information that is required to reliably verify identity data. Blockchains are the preferred technology for implementing Trust Registries due to their decentralization, transparency and immutability, which allow for easy auditing and prevent manipulation by intermediaries.
Tezos is particularly interesting because its protocol incorporates a self-amending governance system (which allows continuous improvements while preserving the integrity of the consensus) and is fundamentally designed to provide code safety through formal verification. Those two characteristics: self-amending governance (avoiding hard forks) and smart contract coles that can be written with “Michelson” language (facilitating Formal Verification); on top of the its LPoS consensus mechanism (that allows to consume far less energy) makes Tezos stand out from other blockchains.
You can read more about identity ecosystems, Trust Registries and the role of blockchain for decentralized identity here and here.
What our collaboration is about: Building Decentralized Identity infrastructure for Tezos
In collaboration with the Tezos Foundation we set out to bring decentralized identity to the Tezos ecosystem by providing powerful open source libraries for developers and businesses.
Today, there are different decentralized identity technologies like
Self-Sovereign Identity (SSI) which has been specifically designed for identity use cases, and is, therefore, suitable for sharing data-rich identity credentials privately and off-chain. SSI can be implemented with or without blockchains. If blockchains are used, their main purpose is typically to establish Trust Registries which are required for data verification.
Non-Fungible and Soulbound Tokens (NFTs, SBTs) which have initially been designed for the tokenization of assets, not for identity use cases. As a result, this approach is suitable for data that is not protected by regulations (like public data, organizational data) or for use cases that require only minimal or anonymized data proofs (aligned with privacy considerations) or for use cases in which access to a service is not necessarily linked to one’s identity (like tickets). While certain data associated with NFTs/SBTs can be stored off-chain, this approach can only be implemented with blockchains.
Mobile drivers license (MDL): This approach is the most traditional one and has been developed without considering blockchains as a native component.
Considering that NFTs and SBTs (“on-chain identity”) are much closer aligned with today’s existing blockchain and web3 infrastructure and use cases, we decided to start out by building open source infrastructure with a focus on NFTs and SBTs. But more on this below.
Why Decentralized Identity based on Non-fungible and Soulbound Tokens?
Firstly, the tokenization of assets is a hot topic across industries and a growing number of people realize that NFTs are the way to go. As a result, there is a clear need for enabling the tokenization of assets for different use cases like collectibles, tickets or public profiles.
Let’s call this the “NFT supply side”.
Secondly (as the “NFT supply side” is ramping up), there is a growing need to realize utility functions of NFTs such as in the context of access management. Tokenizing assets is one thing, but building utility and new types of user experiences around these assets is a different thing altogether. Projects by global brands like Starbucks and others reveal that the market is hungry for applications of NFTs that go beyond simple tokenization.
Let’s call this the “NFT demand side” (together with the next point).
Thirdly, we see more and more businesses incorporating NFTs into their applications - including dapps and wallets but also traditional web2 applications. They are, for example, using NFTs as avatars, usernames or public profiles.
The open source developer tools built by walt.id and Tezos enable you to do all of these things and more!
Holistic open source developer tooling for decentralized identity
Our NFT infrastructure makes it easy for developers to mint NFTs/SBTs on Tezos based on the Financial Application 2 (FA2) standard, either using the Single or Multiple implementation. See a full list of token types supported at the end of this section. The functionality can also be integrated into applications based on a permissive open source license (Apache 2).
More concretely, these open source tools enable developers to easily create, deploy and manage smart contracts as well as to configure its features (such as metadata storage, supply size, dynamic NFTs and metadata updates). This component also includes the transactional capabilities (minting).
Supported Token Types through the FA2 standard:
fungible (equals ERC-20 on Ethereum)
non-fungible (equals ERC-721 on Ethereum)
non-transferable (equals ERC-1238 on Ethereum)
multi-asset contracts (equals ERC-1155 on Ethereum)
Apart from minting NFTs, developers can use the provided open source tools to figure out which NFTs are associated with a certain wallet and to fetch all data associated with these NFTs. This capability enables dapps or wallets as well as traditional web2 applications to manage and display NFTs and metadata to their users.
At the end of the day, this functionality can be used to provide users with more information about NFTs as well as to build interesting features like using NFTs for avatars or profiles.
Apart from minting NFTs, our open source infrastructure enables developers to verify NFTs/SBTs of users (aka wallet holders) as well as NFTs’ metadata against customizable policies. On top of that, developers can also verify users' ownership of a wallet with an implementation of “Sign in with Tezos”. Based on these capabilities developers can build token-gating into their applications in order to manage their stakeholders’ access to different products, services or communities.
In other words, dapps and DAOS can build their own token-gated solutions which leverage NFTs as “access tokens” for different services, websites and virtual spaces based on e.g. NFTs representing membership cards, avatars, tickets, etc. NFTs can either be minted by a dapp or DAO itself - using our open source tools - or by anyone else. Access rights can simply be configured with customizable verification policies (based REGO and the Open Policy Agent).
Finally, given that more and more traditional businesses are using NFTs utility functions, we also built an “identity provider” (leveraging OpenID Connect) that integrates with traditional identity and access management tools like “KeyCloak”. As a result, developers and businesses benefit from backwards compatibility as they can now easily implement token-gating with these traditional access management tools.
How to get started
Depending on your preferences, start hands on with a tutorial or dive into the functionalities and the overall architecture.
Tutorials
NFTs on Tezos - 5 modules explaining how to build an end to end NFT use-cases (mint, display, verify)
Login with NFTs - Learn how to build login with NFTs into your web2 app
Building On Tezos (webinar) - Learn how to mint, view and verify NFTs
Deep dive
Architecture - See how Tezos was integrated into the NFT-Kit
Mint NFTs - How to deploy Smart Contracts and mint NFTs
Verify NFTs- How to verify NFT ownership within a collection and other metadata
Display NFTs- View NFTs via a web-app or wallet
About walt.id
walt.id offers open source identity, NFT, and wallet infrastructure for developers and enterprises.
The company’s products are used by thousands of developers, governments, public authorities, enterprises, and decentralized autonomous organizations to build applications and use cases across industries fast and without much complexity.
For more information, visit walt.id or join them on Discord.