The original title: "Interpreting the Web3 Identity Stack: Towards Digital Sovereignty"
The original author: Nichanan Kesonpat, 1kxnetwork
Source: The Way of DeFi
Image source: Generated by Wujiebantu AI tool
This article covers the core concepts of decentralized identity, the evolution of identity on the internet, a layered overview of the Web3 identity infrastructure stack, and the development of privacy primitives. Proof-of-Personhood, compliance, and application layers will be covered in future articles.
Web3 Identity Infrastructure Ecosystem - December 2022
Identity is a newly emerging attribute composed of data related to individuals, entities, or objects. In the physical world, we store this data in our brains in the form of abstract reputations and psychological associations. In the digital world, identity is formalized into two components:
Identifier: A unique set of characters or numbers used to identify an entity (such as a passport number, Twitter ID, student ID).
Related data of the subject (such as travel history, Twitter and followers, academic achievements).
Creating an identity layer for the internet is difficult because there is a lack of consensus on what it should be and how it should operate. Digital identity is contextual, and we experience the internet through various content in at least many different contexts. Today, our digital identities are mostly fragmented and under the control of a few stakeholders whose interests are to prevent us from spilling out of their environment into any other place.
Enterprises consider customer relationships as a key asset and are unwilling to give up control over these relationships. So far, there has been no method that can serve as a motivation to do so. Even a one-time temporary identity is better than a framework that they cannot control.
When it comes to maintaining digital relationships with customers and suppliers, specific industries like finance have unique requirements, such as compliance.
The government has unique requirements that distinguish it from other types of organizations. For example, jurisdiction over driver's licenses and passports.
This mode creates a power imbalance between individuals and the parties that manage our identities and data. It limits our autonomy, preventing us from agreeing to disclose our information selectively, and from porting our identities across different environments to achieve a consistent online and offline experience.
Before the rise of Crypto and web3, decentralized identity was already a collective effort. The overall goal is to empower individuals to regain control of their identity without relying on centralized, single gatekeepers. The misuse of customer data and the erosion of trust in large companies have made decentralization the core of the next era of internet identity.
Decentralized Identifiers (DIDs) and verifiable credentials are the main building blocks of decentralized identities. DIDs are issued and stored in a Verifiable Data Registry (VDR), which serves as a self-governing "namespace" that is not subject to central management. In addition to blockchain, decentralized storage infrastructure and P2P networks can also serve as VDRs.
Here, entities (individuals, communities, organizations) can use decentralized Public Key Infrastructure (PKI) to authenticate, prove ownership, and manage their DID. Unlike traditional network PKI, it does not rely on centralized Certificate Authorities (CA) as the trust root.
The data about identity is written into a proof, which is a "declaration" of one identity to another (or to themselves). The verification of the declaration is achieved through encrypted signatures implemented by PKI.
Decentralized identifiers have four main attributes:
Decentralized: Created without relying on centralized institutions. Entities can be created at will, maintaining the separation of their expected identities, roles, and interactions in different environments.
Persistence: Once created, it is permanently assigned to the entity. (Although some DID designs are intended for temporary identities).
可解析:可以用来揭示有关该实体的额外信息。
"可解析" can be used to reveal additional information about the entity.Verifiable: Entities can prove ownership of a DID or claims about it (verifiable credentials) without relying on third parties, thanks to cryptographic signatures and proofs.
These attributes distinguish DID from other identifiers, such as usernames (unverifiable), passports (non-decentralized), and blockchain addresses (non-persistent, limited resolvability).
The World Wide Web Consortium (W3C) is an international community made up of organizations, staff, and the public, all dedicated to developing web standards. The W3C's DID Spec defines four main parts:
方案:The prefix "did" tells other systems that it is interacting with a DID, not other types of identifiers such as URLs, email addresses, or product barcodes.
DID Method: Specifies how the identifier is interpreted by other systems. Over 100 DID methods are listed on the W3C website, typically associated with their own VDR and having different mechanisms for creating, resolving, updating, and deactivating identifiers.
唯一标识符:A unique identifier specific to the DID method. For example, an address on a specific blockchain.
DID Document: The above three parts can be parsed as a DID document, which contains a way for entities to self-authenticate, any properties/claims about the entity, and pointers to additional data about the entity ("service endpoints").
Decentralized Identifiers and Analysis of DID Documents
Although public key infrastructure (PKI) has been around for a long time, Crypto has accelerated its adoption through the incentive mechanism of token networks. Once something mainly used by privacy-conscious tech experts, it has now become a prerequisite for participating in the new economy. Users need to create wallets to self-custody assets and interact with web3 applications. With the hype of ICOs, the summer of DeFi, the frenzy of NFTs, and the drive towards tokenized communities, users have more keys in their hands than ever before. This has led to a vibrant ecosystem of products and services that make key management easier and more secure. Crypto has always been the perfect Trojan horse for decentralized identity infrastructure and adoption.
Let's start with wallets. Although wallets are still primarily thought of in the context of financial asset management, tokenization and on-chain history have enabled us to represent our interests (NFT collections), work (Kudos, 101), and opinions (governance voting). Losing a private key is becoming less like losing money and more like losing a passport or social media account. Crypto blurs the line between what we own and who we are.
How do we identify and authenticate ourselves in the network and ecosystem?
How do we prove our own things (reputation, uniqueness, compliance) while maintaining privacy?
How do we grant, manage, and revoke access to our data?
In a world where we control our own identity and data, how do we interact with applications?
These solutions to these problems have a profound impact on the future of the Internet for generations to come.
The following sections will introduce the Web3 identity stack layer by layer. This includes verifiable data registry, decentralized storage, data mutability and composability, wallets, authentication, authorization, and proof.
Centralized identity infrastructure stack
The distributed and immutable nature of blockchain makes it suitable as a verifiable data registry and a basis for issuing DIDs. In fact, various public blockchains have W3C DID methods, such as:
Ethereum, did:ethr:public key represents the identity of an Ethereum account.
Cosmos,did:cosmos:chainspace:namespace:unique-id represents Cosmos cross-chain compatible assets
Bitcoin, where did:btcr: btcr-identifier represents a transaction ID encoded with TxRef, referring to the transaction position in the UTXO-based Bitcoin blockchain.
It is worth noting that did:pkh:address is a ledger-independent generative DID method aimed at achieving interoperability of blockchain networks. According to the CAIP-10 standard, it is an account ID used to express cross-chain key pairs.
Fractal is an identity supply and verification protocol designed for applications that require unique and varying levels of KYC users. After completing validity and/or KYC checks, the Fractal DID will be published to the corresponding Ethereum address and added to the appropriate list. The DID registry of Fractal is a smart contract on Ethereum, and transaction parties can query Fractal DID and its verification level based on the contract.
Kilt, Dock, and Sovrin are specific blockchain applications for self-sovereign identity. At the time of writing this article, they are primarily used by enterprises to issue identities and credentials to end-users. In order to participate in the network, nodes need to stake native tokens to process transactions such as issuing DIDs/credentials, defining credential schemas, and executing revocation updates.
Although general-purpose blockchains can also serve as a data source for immutable user data, such as asset ownership and transaction history (such as portfolio trackers and "DeFi score" applications), they may not be suitable for storing most user data because the cost of writing and regularly updating large amounts of information is high and can compromise privacy as the data is visible by default.
That is to say, there are certain blockchain applications, such as Arweave*, that are designed for permanent storage. Arweave pays block rewards and transaction fees to miners in exchange for copies of the information stored on the network. Miners need to provide "access proofs" in order to add new blocks. A portion of the fees is also paid to a permanent endowment fund, which will pay miners in the future when storage costs cannot be covered by inflation and fees.
Ethereum and Arweave are examples of blockchain-based methods for data persistence. On Ethereum, each full node must store the entire chain. On Arweave, all data required to process new blocks and transactions is recorded in the state of each individual block, allowing new participants to join the network by downloading the current block from their trusted peers.
Based on contract-based persistence, it means that data cannot be permanently replicated and stored by each node. Instead, the data persists through contracts signed with multiple nodes, which agree to hold a piece of data for a period of time and must renew the contract whenever they use it to maintain the persistence of the data.
IPFS allows users to store and transmit verifiable, content-addressed data in a peer-to-peer network. Users can store the data they want on their own IPFS nodes, use dedicated node groups, or use third-party "pinning" services such as Pinata, Infura, or web3.storage. As long as one node is storing the data, it exists on the network and is provided to other nodes when requested. At the top of IPFS is an encrypted economic layer, such as Filecoin and Crust Network, which aim to incentivize data storage for the network by creating a distributed market for long-term data persistence.
For personal identifiable information (PII), licensed IPFS can be used to comply with the right to be forgotten under GDPR/CCPA as it allows users to delete their data stored on the network. The identity wallet Nuggets adopts this approach and further decentralizes by enabling merchants and partners to run dedicated nodes.
Other contract-based decentralized storage solutions include Sia and Storj, which encrypt and split individual files across multiple nodes on the network. Both use erasure coding (requiring only a subset of storage nodes to provide the file) to ensure data availability even if some nodes go offline. They also have built-in incentive structures, using native tokens for storage.
Universal blockchain, Arweave, and IPFS all guarantee immutability, which is a useful property for static NFT art and permanent records. However, our interactions with most applications today constantly update our data. The Web3 protocols designed for mutable data utilize the following decentralized storage layers.
Ceramic is a protocol for decentralized data change and composability, which works by transforming immutable files stored in persistent data storage networks such as IPFS or Arweave into dynamic data structures. On Ceramic, these "data streams" are similar to their own mutable ledgers. Private data can be stored off-chain, with its schema indexed on Ceramic and attached to a DID data store leading to external private storage.
When a user updates their profile in a Ceramic-powered application, this protocol verifies these updates as a stream, transforms it into a new state, while keeping track of previous state changes. Each update on Ceramic is verified by a DID that can be mapped to multiple addresses, paving the way for users to update their data without a server.
Today, Web2 entities have UI and backend where they store and control user data. Google and Facebook utilize this data to personalize our experience on their platforms through algorithms, further monetizing the data they collect. New applications must start from scratch and cannot provide a personalized experience from the beginning, which reduces market competitiveness.
Web3 democratizes data, providing a fair competitive environment for new products and services, and creating an open environment for experimentation and competition in the application market. In a world where users can take data from one platform to another, application developers don't need to start from scratch, they can immediately provide personalized experiences to users. Users can log in with their wallets and authorize applications to read/write their fully controlled "databases".
Ceramic's ComposeDB is a decentralized graph database that enables application developers to discover, create, and reuse composable data models using GraphQL. The nodes in the graph represent accounts (DID) or files (data streams), while the edges represent the relationships between the nodes.
DID represents any entity that can write data to the graph, such as end users, organizations, applications, or any type of authentication service.
The model is Ceramic Stream, which stores metadata about documents, including data structures, validation rules, relationships, and discovery information. Developers can create, combine, and remix models to form data compositions that serve as the database for their applications. This replaces traditional user tables with centralized UID and related data. Applications can be built on publicly controlled datasets rather than managing their own independent tables.
Due to the fact that applications can define the models they will use for specific environments, the curation market becomes very important as it provides a signal for the most useful data models (patterns defined for social graphs, blog posts, etc.). With this market for data models, applications can signal to these models, making them easier to consume. This will encourage public datasets to produce better analytics and infographics, allowing for further innovation on top of this foundation.
Tableland is an infrastructure for variable and structured relational data, where each table is minted as an NFT on an EVM-compatible chain. The owner of the NFT can set access control logic for the table, allowing third parties to perform updates on the database if they have appropriate write permissions. Tableland runs an off-chain validator network to manage the creation and subsequent changes of the tables.
The updates on-chain and off-chain are processed by smart contracts, which use baseURI and tokenURI to point to the Tableland network. Through Tableland, NFT metadata can be modified (using access control), queried (using SQL), and combined (with other tables on Tableland).
Smart contract standards like ERC-20 and ERC-721 provide dapps with a shared language on how to create and transfer tokens, while data model standards provide a shared understanding between applications on data, reputation, DAO proposals, and social graphs. Through open registration that anyone can submit, this data can be reused by multiple applications.
Decoupling the application from the data layer allows users to port their content, social graph, and reputation across platforms. Applications can enter the same database and operate in its background, enabling users to obtain a composable reputation across different contexts.
Broadly speaking, a wallet includes interfaces and underlying infrastructure for key management, communication (data exchange between holders, issuers, and validators), as well as debt presentation and verification.
It is worth distinguishing between cryptocurrency wallets (such as MetaMask, Ledger, Coinbase Wallet, etc.) and identity wallets. Cryptocurrency wallets store the unique encryption keys specific to blockchain networks, intended for sending/receiving tokens and signing transactions. Identity wallets store identities and allow users to create and provide claims, so that they can provide identity data across applications and services.
Examples of identity wallets include ONTO, Nuggets, and Polygon ID Wallet. Some identity wallets, such as Fractal, incorporate validity checks and KYC as part of their onboarding process, allowing users to have a claim to submit to applications that require such requirements. This is much less common in traditional crypto wallets. Additionally, identity wallets are more likely to support W3C-approved DIDs, verifiable credentials, DIDComm implementations, and use cases beyond web3.
WalletConnect is a communication protocol that connects wallets and dapps. As a simple and unbiased protocol, WalletConnect has served millions of cryptocurrency users and may prove to be a strong alternative to DIDComm in accelerating the adoption of self-sovereign identity infrastructure. Unlike DIDComm, which requires service providers to provide hosted mediator infrastructure, WalletConnect stores information in the "cloud mailbox" of a relay network and pushes this information to the wallet when it comes back online.
Authentication is the process of confirming a user's identity based on one or more authentication factors. Authentication factors can be something the user possesses (digital signature, ID card, security token), something they know (password, PIN, secret answer), or something biometric (fingerprint, voice, retina scan).
In the decentralized identity paradigm, users can authenticate themselves using their wallets. In the background, the wallet uses its stored keys to generate digital signatures as a "proof" that the holder possesses the private key associated with the account. Since encrypted wallets can generate signatures, applications that provide web3 login can allow users to authenticate themselves using their Metamask or WalletConnect.
For years, cryptocurrency users have interacted with dapps by connecting their wallets. Dapps have no memory of the connected users and treat them as a blank slate every time they visit the website.
Today, users have a deeper interaction mode with dapps. Decentralized identity information becomes useful here because it allows applications to obtain more background information about users, providing a personalized experience while allowing individuals to retain control over their own data.
For richer background interactions, such as loading user preferences, configuration files, or private chat information, applications need to first ensure that they are in conversation with the actual key holder behind the account. While "connect wallet" does not provide this guarantee, authentication standards can. Authentication establishes a session with the user and allows the application to securely read and write their data.
Sign-In with Ethereum(SIWE) is an authentication standard proposed by Spruce, ENS, and the Ethereum Foundation. The SIWE standardizes a message format (similar to jwt) for users to log in to blockchain-based account services. Sign-In with X (CAIP-122) builds on this to make SIWE an implementation of SIWx centered around Ethereum, generalizing the standard for cross-blockchain operation.
For individuals, this means being able to register or log in with their web3 wallet without having to create a username and password. The user experience of "just a few clicks" can mimic social login while maintaining sovereignty over their online identity. Applications can use this as a market strategy targeting the web3 native audience to meet user needs.
Looking at the mid-term, the ability to log in to dapps and other web2 services using encrypted wallets will become a native user experience improvement for web3. However, this will expose users to relevant and tracking issues that have become very harmful in web2. Authentication through Peer DIDs or self-certifying identifiers can serve as an alternative solution.
Unlike the "ordinary" DIDs described above, Peer DIDs are designed to be used between two or more known parties. They can be used as unique identifiers for each service and/or interaction. The cryptographic wallet address in this digital identity can be stored with VCs as proof of verification for each merchant or service interaction.
Authentication confirms the identity of a user, while authorization determines what resources an entity should be able to access and what they are allowed to do with those resources. These two processes are independent, but often work together in the user experience flow. When logging in to a third-party service using social login, users may be prompted with authorization requests, as shown in the following figure:
In the federated identity model, you authorize third-party applications to view or update the data you have stored with identity providers (such as Google). They maintain a list of the applications you have authorized and the associated permissions. The Web3 authorization infrastructure and standards also help achieve this goal, except that you have self-sovereign data and can grant each third party the right to decrypt/read/update data without the need for a centralized intermediary.
With the rise of tokenized communities, web3 token-gated products such as Collab.Land, Guild, and Tokenproof have emerged. One of the main purposes of these tools is to control access to member-only Discord channels and provide more granular access based on roles and reputation. Communities can programmatically grant access based on token holdings, on-chain activity, or social verification, rather than manually assigning access.
Lit is a decentralized key management and access control protocol that utilizes MPC technology to distribute "shares" of private keys between Lit network nodes. Public/private key pairs are represented by PKP (Programmable Key Pairs) NFTs, with the owner being the sole controller of the key pair. When certain defined conditions are met, the owner of a PKP can trigger the aggregation of key shares on the network, allowing them to decrypt files or sign messages.
In the context of access control, Lit allows users to define on-chain conditions and grant off-chain resource access. For example, a DAO can upload a file to Arweave or AWS, encrypt it with Lit, and define a set of conditions (such as NFT ownership). Qualified wallets sign and broadcast a message to protocol nodes, which check the blockchain to ensure the signer meets the conditions. If the conditions are met, the signer's key shares are aggregated to decrypt the file. This same infrastructure can also be used to unlock web2 experiences such as Shopify discounts, locked Zoom rooms and Gathertown spaces, live streaming, and Google Drive access.
Kepler organizes data around user-controlled databases ("Orbits"), which represent a designated list of hosts for the data and are controlled only by their keys as a smart contract. These databases can be managed by trusted parties, cross-host consensus mechanisms, resource owners, and permission validity. Anyone using SIWE can immediately leverage private databases to store their preferences, digital certificates, and private files. With support for "built-in storage" across multiple storage backends, users can self-host or use a hosted version.
Some examples illustrate how applications use the combination of building modules mentioned earlier:
Orbis is a social networking application ("web3 Twitter/Discord") that uses Ceramic for data storage and updates. Private messages are encrypted using Lit before being stored.
Using Lit as a decentralized cryptographic system, who can be entrusted to decrypt your Tableland data?
Kepler can use Ceramic documents as a beacon to route to private storage areas.
Create Lit PKPs to "own" a Ceramic stream for your application and grant Lit Actions (code on IPFS) the ability to sign and update the database under any conditions.
CACAO is a standard that represents Object Capabilities (OCAP) for chain-agnostic objects, created using Sign-in-With X. It defines a method for recording the results of SIWx signature operations as IPLD-based object capabilities (OCAP), creating not only authenticated event reception but also composable and replayable authorization reception for verifiable authorization.
The authorization method allows users to grant applications fine-grained, well-scoped, and verifiable abilities to view/update their data. Additionally, it can be session-based so that they don't have to sign messages on every update but instead have rich interactions on the application and sign once at the end of the session.
Here, we have reached the top of the decentralized identity infrastructure stack, as shown in the figure.
Some terms:
Proof refers to the need to independently verify that a statement and signature are valid and arise from the verification of an event record.
A voucher is a document that provides detailed information about an entity, written and signed by another entity or themselves. Vouchers are tamper-proof and can be cryptographically verified, and can be stored in a wallet.
Verifiable Credentials (VCs) are the standard data model and representation format for encrypted digital credentials defined by the W3C Verifiable Credentials specification:
- The issuer is the party that issues the certificate (such as a university).
- The holder possesses a credential (e.g. student).
- Validators verify certificates (such as potential employers).
- Verifiable presentation refers to users sharing their data with third parties, and the third parties being able to verify that the credential was indeed signed by the issuer.
Please note that "issuer", "holder", and "verifier" here are relative terms. Everyone has their own DID and the credentials they collect.
Credentials are the cornerstone of reputation, and reputation is a social phenomenon that changes with the environment. One or more credentials can be used as a representation of an entity's qualifications, abilities, or authority. Anyone can claim to have graduated from a prestigious university with excellent grades, but it means nothing to others. Only certificates held by universities are considered legitimate or reputable.
Although the native badges of Web3 and the X proof project do not all comply with the W3C VC standard, we can find similarities in the system described above.
The most direct example is the non-transferable NFT badge, which can only be minted by wallets that have completed some on-chain activities. Because all transaction histories are on the chain, they can be verified and tamper-proof from the beginning. DegenScore quantifies your ape attributes by aggregating your interactions with DeFi protocols and outputs a score using rules on smart contracts. You can mint it and save it as a "DeFi credential" in your crypto wallet. If there is a Degen DAO limited to those with a certain score, you can present this NFT to the DAO, and then the token gatekeeper protocol can verify that you hold it, and you can enter the DAO - Degen proof.
POAPs * Proofs of Attendance and Proofs of Participation are used to demonstrate that you have attended an event or met someone in real life.
Otterspace allows DAOs to decide what constitutes meaningful work and issue ntNFT badges to their members. Proved requires DAOs to "sign" a manifesto before having their members mint DAO-specific NFT badges - proof of contribution.
101 Upon completion of its online courses, ntNFT learning certificates will be awarded to students who pass the test.
Kleoverse issues Typescript, Rust, or Solidity proficiency badges to users based on GitHub data - skill proof. In addition to the access control use cases outlined above, Lit PKPs can also act as a cryptographic notary, and Lit Actions can be checked before signing certificates. For example, a decentralized education platform can allow course creators to define what constitutes passing a test and deploy these conditions as Lit Actions, using their PKP to programmatically issue VCs based on these conditions.
Here are two issues: which of these authentication data points are meaningful, and how do we summarize them to gain reputation?
Orange protocol provides a solution for this: integrating these data points into well-defined models through model providers. On Orange, MPs generally refer to platforms with reputation evaluation measures within their system. "Data providers" allow their data to be used as input for the models designed by model providers. MPs then add calculation methods, assign reputation marks to different entities, and provide these models to others for use. Dapps can plan and insert these reputation models for their use cases.
So far, Aave, Gitcoin, Snapshot, DAOHaus, and others have provided their data to Orange. This data, modeled by them and other projects such as Dework, talentDAO, and Crypto Sapiens, provides members with ntNFTs, unlocking a wide range of opportunities from using CollabLand and Guild to improve Discord permissions to the reputation-weighted governance of Snapshot.
If we don't consider privacy issues and the technical building blocks for implementing privacy, the discussion about identity infrastructure is incomplete. Privacy is a factor in all levels of the stack. In the past decade, the adoption of blockchain has accelerated the development of powerful cryptographic primitives, such as zk-proofs, which, in addition to their applications in scaling technologies like rollups, allow identities to make subtle, privacy-preserving claims about publicly verifiable information.
Privacy guarantees help us avoid the negative externalities of making trustworthy claims with completely transparent data. Without these guarantees, third parties can initiate interactions outside the scope of the original transaction (such as advertising or harassment). By leveraging cryptography and zk technology, we can build identity systems where interactions and data sharing are "sandboxed" within a clearly defined, contextually relevant scope.
"Ordinary" verifiable credentials usually appear in JSON-JWT or JSON-LD format, and each credential has proof (digital signature) that is external or embedded, giving it anti-tampering and verifiable properties, written by the issuer.
Zk-proofs and the new signature scheme enhance the privacy protection features of W3C VC, such as:
- Anti-correlation: Every time a holder shares a credential, this identifier is shared, so every time a credential is presented, it means that verifiers may collude to see where the holder is presenting their credential and triangulate it to an identified person. With signature blindings, you can share the unique proof of the signature every time without sharing the signature itself.
- Selective disclosure: only share the necessary attributes of the VC and hide the rest. Both JSON-JWT credentials and JSON-LD LD signature credentials require the holder to share the entire credential with the verifier -- there is no "partial" sharing.
- Composite proof: Merge the properties of multiple VCs into one proof without the need to find the issuer or generate a new VC.
-Prediction: Allows the use of hidden values in operations, and a value is provided by the validator. For example, the account balance of the credential holder exceeds a certain threshold without revealing the balance, or the frequently cited case is to prove that you are of legal drinking age without revealing your date of birth.
One promising method is the BBS signature scheme, originally proposed by MATTR in 2020. This proposal allows BBS signatures to be used together with the JSON-LD format commonly used in VCs. Holders can selectively disclose the claims in the originally signed credential. The proofs generated by this scheme are zero-knowledge proofs of signature, which means that verifiers cannot determine which signature was used to generate the proof, thus eliminating a common source of correlation.
Iden3 is a zk-native identity protocol that provides a programmable zk framework and open-source libraries for zk identity primitives, authentication, and proof generation. The protocol uses the Baby Jubjub elliptic curve to generate key pairs for each identity, which is designed to work effectively with zk-SNARKs used to prove ownership and declaration of identity in a privacy-preserving manner. PolygonID currently uses this protocol for its identity wallet.
The content in the programming zk framework and open-source libraries can be declared for zk identity primitives, authentication, and proof generation.The application of zkp is an active research and experimental field, which has created many exciting points in the past few years from the encryption community. In web3, we have seen it used in the following applications:
Private Airdrop: Stealthdrop
Protecting privacy but trustworthy proof: Sismo (ownership), Semaphore (membership).
Anonymous Information Transmission: heyanon
Anonymous Voting/Voting: Melo
Some general insights from this study:
Just as Crypto has catalyzed the development and adoption of DPKI, composable reputation granting for online/IRL access will be the catalyst for decentralized identity infrastructure. Currently, credential issuance (e.g. x proofs) protocols are fragmented across use cases and blockchain networks. By 2023, we will see these aggregation layers (such as profiles) mature and gain adoption as a unified interface, especially if it can be used to unlock experiences beyond crypto, such as access to events or e-commerce discounts. Key management remains a friction point and a single point of failure. For most crypto-native users, this is a cumbersome experience, and for most consumers, it is a completely inaccessible experience. Federated identity authentication is an improvement on the web1.0 model of user experience, allowing for single sign-on with usernames and passwords for each application. While the user experience for web3 authentication is improving, it still provides a poor user experience, requiring seed phrases and providing limited recourse in case of key loss. With the maturity and promotion of MPC technology in individuals and institutions, we will see improvements in this area. Cryptographic infrastructure is meeting the needs of users in web2.
Web3 starts to integrate with web2 applications and services, bringing decentralized identity to the public, such as the integration of Collab.Land and Nuggets, allowing Reddit users to unlock access by using their reputation as VC. Auth0 authentication and authorization middleware has integrated SIWE as an identity provider, allowing their enterprise customers to provide wallet login outside of SSO. With the democratization of data, validation mechanisms need to be verified. Just like the indexing protocol The Graph uses curators and delegators' networks to signal the most useful subgraphs (APIs for on-chain data), the data models of users and reputations around protocols such as Ceramic and Orange need time and community participation to mature, surpassing DAOs and crypto use cases. Privacy considerations. Projects should carefully consider the impact of public or permanent storage when choosing their stack. Compared to VC, ephemeral, and P for privacy protection, the combination of DID and ZKP for on-chain/off-chain activities may be suitable for limited use cases (such as some abstract on-chain activities), which provide functions such as selective disclosure, key rotation, anti-correlation, and revocation. New encryption tools like zkSNARKs will be an important part of the next generation of identity infrastructure. Although zkp is currently applied to isolated use cases, it will require a bottom-up collective R&D effort to centralize application design patterns, ZK circuit implementations for cryptographic primitives, circuit security tools, and developer tools. This is something that needs to be closely watched.
Decentralized identity is a major project that requires the efforts of the entire ecosystem to converge on standards, iterate on primitives, and mutually inspect the impact of design decisions.This article covers the infrastructure part of the decentralized identity stack. The next article will discuss configuration files, anti-witch attacks, compliance, and application layer, all of which are implemented by the building modules mentioned here.
If you are building in this field or have more thoughts on this topic, we hope to hear your opinions.
Original article link
Welcome to join the official BlockBeats community:
Telegram Subscription Group: https://t.me/theblockbeats
Telegram Discussion Group: https://t.me/BlockBeats_App
Official Twitter Account: https://twitter.com/BlockBeatsAsia