Replies: 13 comments 12 replies
-
Who is developing identity solutions for the Polkadot ecosystem? What are the areas of strength/focus of the teams building these solutions? How can Parity & Web3 Foundation support these teams, reduce duplicated work, and increase collaboration? How can we elevate the profile of the Polkadot ecosystem within groups like the W3C DID working group and the Decentralized Identity Foundation? |
Beta Was this translation helpful? Give feedback.
-
Identity systems become unethical when they link users activities online in ways the user does not expect, which includes pressuring users to give unnecessarily information or unnecessarily link their activities. As such, each identity system should fit exclusively into one of two categories: Single/special purpose identities should only really function for one domain of activity, like a login for some website, like a bank account or online discussion forum. As these only serve one purpose, these should avoid federating with identity systems that serve other purposes. Examples:
Multi/general purpose identities should provide only Sibel protections but remain unlinkability across different domain/purposes, usually meaning they require a ring or group VRF inside the OAuth-like component. Proof-of-personhood parties provide a classical example. As a related notion, ZCash or Monero UTXOs operate with a linkable ring signature, which one obtains by taking a ring VRF and fixing the VRF input. There do exist unethical services like Google single sign-on and Facebook connect that breach this boundary, by foisting a multi-purpose identity upon users. We can hope some GDPR++ shuts them down one day, but our goal is mostly just not to be like them. I'd consider github's single login less problematic, since folks use it almost purely professionally. Abuse remains a danger of course, especially with all the discord integrations, but whatever. I've never thought about stackexchange using one identity across their sites, again not perfect for privacy but good for building community, which matters too. Yes, it's safer if one chooses fancy crypto like ring VRFs over OAuth, but OAuth can be used narrowly, and passwords suck. In this case, we're discussing a single/special purpose identity exclusively for use in the governance, staking, and development of polkadot and its parachains. We maybe call this social or whatever but it seemingly exists purely to facilitate governance, staking, and development. We somewhat fall into the github "professional" exemption of course. In fact, our dots weighted voting mean dot holders exercise power, which changes the rules even more. We conversely face more pressure from attacks like spear phishing, attacks on devs' machines by compromising minor upstream packages (well NPM has grown famous for this, but cargo is not immune). In short, we should design identities to be as useful as possible for governance, staking, etc. of polkadot and its parachains, but not much use for anything unrelated. So what information do we actually need in governance? |
Beta Was this translation helpful? Give feedback.
-
just wanna share this and create awareness of the current Grant application for a domain specific DID from Parami: w3f/Grants-Program#160 |
Beta Was this translation helpful? Give feedback.
-
I had a conversation with @miseenplace about this topic, which led to the creation of an Issue on the Substrate repo that relates to enhancing/abstracting FRAME's capabilities for the management of account data. |
Beta Was this translation helpful? Give feedback.
-
What are the needs related to identity in the Polkadot ecosystem? The Parami team think that a rich preference profile(domain-specific attribute, might be off-chain data) can be binded to identity, thus allowing rich-feature apps. In most cases, an anonymous identiy system is needed for the application, like online advertising or coupon distribution. Who is developing identity solutions for the Polkadot ecosystem? We the Parami team is developing a decentralized id solution focusing online advertising. It will be a domain-specific identity solution. What are the areas of strength/focus of the teams building these solutions?
How can Parity & Web3 Foundation support these teams, reduce duplicated work, and increase collaboration?
|
Beta Was this translation helpful? Give feedback.
-
I'd like to address this point and follow up on some of the concerns that @burdges mentioned. I've worked with the W3C DID/VC specs for uPort and Evernym along with some other chains. From my perspective, a DID compliant pallet would be incredibly valuable but I think it should first be built as a simple resolver with very little integrated into other on-chain functionality. The main purpose of a blockchain in the W3C design is to act as a verifiable data registry for DIDs and potentially VC's that are issued. However, the metadata around these DIDs and VCs do not need to be made public on a blockchain. The issuance and verification of credentials can happen entirely off-chain. The only transactions that need to be recorded on-chain are the creation of a DID and sometimes revocations of VCs. Overall, nearly all transactional activity between W3C identities does not need to be on a blockchain as most of the time the blockchain is just being read during verifications such as checking the DID that issued a VC. For example, the existing Evernym product suite built on the Sovrin blockchain handles most interactions between identities in a directly peer-to-peer manner off-chain. Every interaction can be done with a different identifier. In their demos, a student would receive a diploma VC through DID 1#. They could then apply for a job with that proof of diploma through DID 2# that results in a proof of employment VC. They could then apply for a bank loan with their proof of employment VC using DID 3#. All three DIDs are controlled by the user through different key pairs. They can then selectively disclose information to different parties with techniques to avoid linking their separate identities. Naturally, there are technical challenges to consider but I think @burdges already did a good job of discussing anti-linking techniques in more detail. Coming back to what a DID-Pallet on Substrate could be, I think it should first be built as a way to build permissioned blockchains or dedicated parachains as stand-alone identity networks similar to Sovrin or ION which act primarily as verifiable data registries. The advantage that Polkadot/Substrate offers over others is a way to build stand-alone identity ecosystems that don't run the risk of becoming siloed long-term; i.e. verifiable data registries on different networks could co-exist and trustlessly communicate with one another. The DID pallet could also be paired with a module or maybe off-chain workers that provide additional functionality for peer-to-peer communication that happens between identities off-chain just as an implementation guide for developers starting out. Down the road, these identities can eventually be paired with other on-chain use-cases as they become more apparent. I'm personally interested in building identity systems on Polkadot in the future. However, I'm currently focused on a different project and I've only recently begun to learn and build on Substrate/Polkadot so take everything I say here with a grain of salt. That being said, I do think following the W3C specification is valuable because of the potential interoperability it provides for identities on Polkadot down the road. Large governments, corporations, and several public chains are all gravitating towards W3C as a common standard that is required for new identity systems and I wouldn't want this ecosystem to miss out. Once Polkadot has some basic DID/VC compliant components, it opens up room to participate in the standards discussion and put Substrate down as a framework for more projects to consider; this is most relevant for both permssioned and public blockchain projects that know they need DID identities in their solution but also need flexibility for future upgrades and features that aren't yet defined. |
Beta Was this translation helpful? Give feedback.
-
We at Edgeware (and Webb) are definitely interested in extending the existing identity system. I myself am looking more into zero-knowledge tools for handling identities, reputations, and voting. Once the tooling comes around for recursive proofs systems + WASM it seems unlikely there will be computational challenges to building complex identity systems. One goal I have is to build composable primitives for applications that are interested in privacy/identity, allowing them to leverage various pallets or smart contracts that define reusable primitives. Does anyone know if the PICOPs work is planned to be open sourced as well? Interested to investigate what the process around that was. |
Beta Was this translation helpful? Give feedback.
-
In the following, I would like to answer @danforbes’s original questions, but also reflect on the discussion so far how we see this topic at KILT Protocol. What are the needs related to identity in the Polkadot ecosystem? Differentiating between the needs and limits of single-purpose vs multi-purpose identity systems helps a lot to put things into perspective. The Polkadot ecosystem will obviously need to accommodate both. Currently, the single purpose on-chain identities set up with the registrars for the governance works well for its purpose, but (as already proposed) the step forward here could be self signed attributes attested by the registrars stored off-chain (basically we call these credentials) to provide the “opportunity to be forgotten”. Sure, projects can replicate these approaches for their own needs as it is happening now but this leads to fragmentation (good for privacy, bad for the ecosystem). Moreover, one must already be very aware where they reuse their Substrate address if they linked it with on-chain attributes for governance. This can/must be supported by UI/UX, communication and knowledge sharing. As for a multi-purpose system, it would be ideal if a project could pop in some common identity module, be it rooted in DIDs (first) or some advanced proof-of-personhood based identity (later), and I think achieving this would be a nice goal for us as a community. Who is developing identity solutions for the Polkadot ecosystem? We at KILT are developing tools for managing revocable credentials which, amongst many other use cases, can be used for building attribute based digital personal identities (i.e. a set of characteristics describing certain properties about an individual). What are the areas of strength/focus of the teams building these solutions? Main features of KILT: SDK for creating, attesting, verifying revocable credentials, messaging protocol around credential flows, on-chain credential revocation registries, on-chain hierarchies/delegations for attesters of credentials, token curated attester (TCA, similar to how the Polkadot governance curates the registrars in the network, but anyone could set up a TCA around a use case), incentivized service providers (who shall run the off-chain messaging, credential storage, etc. services for token rewards). How can Parity & Web3 Foundation support these teams, reduce duplicated work, and increase collaboration? I think the biggest challenge is to communicate what is possible now, what will be possible next year, and how this landscape could potentially look like in 5 years. Some coordination like this github discussion page is highly useful. The Web3 Foundation could also foster / kick-off a gathering of requirements for projects from a feature set point of view. We could start collecting all Polkaverse projects, and the columns could be identity related feature requirements such as use case summary, privacy requirements, jurisdiction/regulatory requirements, need for GDPR compliance, possible technologies in mind to use (wallet address/js extension, zkCircuits, DIDs, VCs, ringVRF/PoP). How can we elevate the profile of the Polkadot ecosystem within groups like the W3C DID working group and the Decentralized Identity Foundation (DIF)? The decentralized identity community (DIF and the associated W3C working groups) is a very diffuse group with many projects involved which might have very different expectations and agendas. Regarding @burdges’s criticism I agree with @everhusk that many members of the community understand that there are issues with DIDs, and there are proposals to address some of these issues (peer DIDs, KERI), also Mattr proposes a new blinded selective disclosure credential and signature scheme format called BBS+. The idea is that in some circumstances this approach might be a good fit, while also acknowledging viable alternatives such as just-in-time attestations and more complex zero knowledge based solutions. Also someone from DIF posted the recent critique by Harry Halpin (Nym) (press coverage) So as a pragmatic approach we could start working on 1) a common DID pallet and an accompanying resolver service (which would probably require some on-chain and some off-chain parts) which could be used in the nearest term but would need to come with strong disclaimers and warnings and information on how not to inadvertently misuse it. As a potentially better but longer term solution, 2) we could start coordinating around a ring VRF / proof-of-personhood concept proposed by @burdges. Specifically, I would be interested in a viable concept how we could build verifiable credentials on a such proper personhood foundation for identity (BTW, this is a nice short write-up of this proof-of-personhood topic). Using ZK based credentials instead of simple selective disclosure attribute credentials would be the next step. If we have a viable concept that is better than the current proposals at the DIF, we can always arrange a slot in one of their workgroups and get some feedback from their community. |
Beta Was this translation helpful? Give feedback.
-
Identity is a much needed infrastructure for the Polkadot ecosystem and I have learned a lot from the insightful discussions above. Here are my two cents on the topic. What are the needs related to identity in the Polkadot ecosystem? In the latest Polkadot lightpaper, it says Polkadot will help people to regain control of their identity and their data. As such, I think the concept of identity should reach beyond the need of governance/staking for the Polkadot network. We'd love to see that the vision in the lightpaper is supported at the application level and real-world users can actually benefit from it. Who is developing identity solutions for the Polkadot ecosystem? We at Starks Network are working on the concept of Self-Sovereign Data and Self-Proving Computation. Although they are not immediate identity solution, I think they are quite relevant to this workgroup. What are the areas of strength/focus of the teams building these solutions? We currently rely on the KILT Protocol (hi @csmarc) to achieve the concept of Self-Sovereign Data—store user data as off-chain credential and have them attested by a trust-worthy 3rd party (parties). As such, no human readable data is permanently stored on-chain and people will have full control over their own data. Despite you can save your data in your safe place, your privacy can still be misused/leaked when you send your data to 3rd parties for e.g. analysis/computation. The real strength of the Starks Network comes from the concept of Self-Proving Computation. Instead of sending your data to a 3rd party (maybe a centralized server) for computation/analysis, you do the computation in your own device such as in your mobile phone or in your PC. You generate a proof during the computation to prove the integrity of your computation (thus the name Self-Proving Computation) We use a zk-STARK virtual machine to do STARK proof generation and verification for regular computations. The Starks Network aims to be a common-good infrastructure and to provide zero knowledge proof as a service to parachains in the Polkadot ecosystem. So we don't have a plan to issue our own tokens—we will take e.g. dot/ksm as service fee. How can Parity & Web3 Foundation support these teams, reduce duplicated work, and increase collaboration? I think this work group can be a good starting point for Parity and Web3 Foundation to collect the requirements related to identity, to set goals/specifications for design work, and to coordinate collaborations between teams. They can also fund certain milestones which will directly benefit the identity subject. It would be also interesting if we can gather all the identity related applications/services into one common-good parachain and get a free parachain slot from Polkadot. How can we elevate the profile of the Polkadot ecosystem within groups like the W3C DID working group and the Decentralized Identity Foundation? Glacier Blockchain Ltd is the open source contributor of the Starks Network project. The company is a member of DIF too. As mentioned above, the work in the DIF is led by different companies in several fields—pretty diffuse indeed. I suggest we focus on the needs of identity in Polkadot at this moment and when we have some concrete work, we can always propose it to the DIF community. |
Beta Was this translation helpful? Give feedback.
-
What are the needs for identity in the Polkadot ecosystem? In addition, approvals from a registrar result in a green Who is developing identity solutions for the Polkadot ecosystem? For purposes like on-chain governance, the linked addresses from different networks could be public and transparent. For other purposes like DeFi services, the linked address should be stored in a privacy-preserving way without revealing any unnecessary information or its relationship with other identities. This should be the case for identity registration as well as identity usage scenarios as @burdges indicated. I am very interested in how the ring VRF crate could help hide identity relationships, but I also concern that it is hard for the recipient application to keep the provided data private. We are also building a governance-focused app integrated with identity. We want to experiment how a user's on-chain governance history could turn into a credit/reputation and affect his voting rights and proposals. Such credit should be taken into account when calculating voting power. What are the areas of strength/focus of the teams building these solutions? How can Parity & Web3 Foundation support these teams, reduce duplicated work, and increase collaboration? As we collected more and more ideas and directions, on a strategic level I totally agree with @csmarc
We are submitting our registrar on Kusama and Polkadot at the moment (without legal name support), and we are highly motivated to attend the discussion on further improvement of How can we elevate the profile of the Polkadot ecosystem within groups like the W3C DID working group and the Decentralized Identity Foundation? As a DIF member, we do think that the connection with different DID working groups will inspire new thoughts and probably reduce duplicated work. But I think an efficient and concrete way is that we first set up a working group in the Polkadot ecosystem first and then share the information or make proposals to W3C DID WG or DIF. |
Beta Was this translation helpful? Give feedback.
-
A bit off topic, but I thought this group would be interested: Those interested in DIDs (the spec and the concept in general), and the web of trust may enjoy this event: https://www.eventbrite.com/e/decentralized-identity-privacy-tickets-138645736129 Early bird tickets are $99 - purchased by Feb 10, the $199 after. |
Beta Was this translation helpful? Give feedback.
-
At Encointer we're working on one specific aspect of identity, being digital personhood. I'll answer @danforbes questions mainly regarding this aspect What are the needs related to identity in the Polkadot ecosystem?Identity is a fundamental component in most real-world applications. Sometimes it is desirable to navigate online with complete anonymity (i.e. for gathering publicly available information), sometimes you want to be personally identifiable (to enjoy some service the provider only provides to known an/or identified users). This should involve a selective disclosure of just the information which is really needed by the other party to provide their service. The third case - which Encointer aims to solve - is when you need to prove personhood only, free of any attributes beyond the fact that you are human (like currently attempted by CAPTCHAs). In many practical cases this also involves proving uniqueness to prevent sybil attacks. Prominent use cases:
Who is developing identity solutions for the Polkadot ecosystem?Encointer develops a digital personhood system and provides APIs for sybil-defense What are the areas of strength/focus of the teams building these solutions?The Encointer Protocol claims to be one of the most secure decentralized personhood protocols. Other players like Idena or BrightId aim for UX and they are more accessible. But this comes at the price of weaker security guarantees. Encointer provides an unlinkable proof of personhood. You can attend meetups with changing pubkeys which later only need to be exposed to our trusted execution environments (SubstraTEE) when using the proof-of-personhood (PoP) This PoP can be used for sybil-defense by third party apps or parachains (demo) How can Parity & Web3 Foundation support these teams, reduce duplicated work, and increase collaboration?Encointer's challenge is not mainly technical. The protocol is very involved for participants because you need to attend physical meetups with random people in your neighborhood at regular intervals. Our biggest challenge is adoption. As a social attestation protocol our concept only works with many lively local communities around the world. So, any help with PR and education would probably be most impactful. How can we elevate the profile of the Polkadot ecosystem within groups like the W3C DID working group and the Decentralized Identity Foundation?Encointer is not really related to W3C DID as our digital personhood is not a verifiable credential which could be issued by the issuer. Uniqueness could (to my knowledge) not be proven unlinkably with a document which some *issuer" signs, which the subject holds and presents to the verifier. Mainly, because there is no entity for issuer. Its the Encointer blockchain which acts as the trusted registry - and as such it is not able to sign something. On a side note: I think more important than focusing on W3C DID is the very generic trust over ip architecture. |
Beta Was this translation helpful? Give feedback.
-
There is nothing wrong with parachain governance reusing information collected for relay chain governance of course. It's unlikely however that information collected for governance really fits other parachain use cases besides governance. I'd expect KYC must be done through off-chain companies for many legal reasons. Also KYC covers "nominators" while other identity uses only care about node operators. We're making some progress on the ring VRF code and write ups now, so hopefully within a couple months something useful to show people. This plays really nicely with "personhood only" stuff, so you can do things like every person has the right to run exactly one collator.
We should actively avoid directly or implicitly supporting the W3C DID and Verifiable Credentials working groups, including at a technical level, i.e. favor incompatible data models and data types. Those guys want really dystopian shit like private users proving they have a degree or proving they have a job. It's clearly classist and even racist to one-click prove that stuff from a browser. Also, the W3C models favor signatures by authorities, not Merkle trees or zkSNARKs of Merkle trees or other accumulators. As a result, their solutions lean heavily towards "blockchain washing" like what hyperledger does or what DFinity pivoted towards, or even private blockchains, which do not fit with polkadot. It's best if our parachain developers think first about data minimization and when necessary about the split between what data they need on-chain and what data they'd handle better via some off-chain resource. |
Beta Was this translation helpful? Give feedback.
-
I am starting this discussion to help organize efforts around the management of identity on Substrate-based chains and in the Polkadot ecosystem in general.
@BenWhiteJam - Parity Builders Program
@gautamdhameja - Parity Delivery Partners
@dvdplm - Parity Developer
@SuragSheth - Parity Ecosystem Growth
@Noc2 - Web3 Foundation Grants
@burdges - Web3 Foundation Research
@tjwelde - KILT Procotol
@NickLambert - Dock
Beta Was this translation helpful? Give feedback.
All reactions