web3’s Biggest Challenge is Identity
If it is all about better governance, web3 is going to have to come up with a way of knowing who’s there
The “standard” definition of web3 is something like:
At the most basic level, Web3 refers to a decentralized online ecosystem based on the blockchain. Platforms and apps built on Web3 won’t be owned by a central gatekeeper, but rather by users, who will earn their ownership stake by helping to develop and maintain those services.
It is sometimes a little easier to digest if you look at what came earlier:
Web 1.0, the story goes, was the era of decentralized, open protocols, in which most online activity involved navigating to individual static webpages. Web 2.0, which we’re living through now, is the era of centralization, in which a huge share of communication and commerce takes place on closed platforms owned by a handful of super-powerful corporations — think Google, Facebook, Amazon — subject to the nominal control of centralized government regulators. Web3 is supposed to break the world free of that monopolistic control.
This isn’t a new aspiration. It is basically a “power to the people” play. It is the kind of thing that is hard to object to but makes you wonder whether it can really be achieved.
The blockchain is seen as a new hope in this regard because it can record things securely and can encode rules. These are two basic requirements of any non-dictatorial governance structure — make sure what is being decided is clear and make sure the process by which a decision can be made is accountable. We usually have people take care of these processes but the blockchain makes it possible to (a) have a computer take care of it and (b) ensure that anyone who wants to look under the hood can see if things are working as they should.
This is a nice idea but with anything that involves automation — especially, automation for decisions — key components have to come from people. For web3 that is, of course, the point. You want to specify which people — sometimes by name and sometimes by characteristic — who you want to provide inputs into decision-making and to exclude others. You also don’t want the people you do specify playing games by, say, duplicating themselves or potentially colluding with others. That means that you have to have a way of verifying identity. The problem is that is hard to do on-chain (i.e., as part of the automated process).
The Identification Challenge
The problem of identity is often (always?) a problem of causation. Causation is a term used by scientists who are interested in whether a change in X caused a change in Y. As it is often hard to create an environment where you can clearly see the impact of X on Y free of other factors, scientists have devised lots of ways of statistically teasing this out. These include randomised control trials (where you apply, say, a treatment to one group and leave another as a control and then see what happens) or natural experiments (where you look for something that, at least theoretically, impacts on different factors in distinct ways to use that to give yourself more confidence that an observed relationship is a causal one). The process of achieving causal inference often requires grappling with the identification challenge: finding some additional information that helps you identify the effect you are interested in from other effects.
When it comes to identifying individual people, the challenge is exactly the same. If I set up a governance structure and I see a vote in that structure, I want to be able to assess whether an individual (X) caused the vote (Y). With that information, I can work out whether to accept the vote as input into the decision or not.
Sometimes the evidence on identification that we require is hard (as in ‘not soft’). For instance, when you board a plane you need to show government-issued ID with your name and picture. The ID is a record that someone official has decided that you are you. Of course, there are security issues associated with that ID (it can potentially be duplicated) and so, in other circumstances, two forms of ID are required and so on. The point is that the governance system for the decision — can you board an airplane — has decided that the ID is sufficient evidence for them to treat you as you.
Identification for individual identity seems to presume that the system is actually interested in you personally. But when you drill down you see that is rarely the case. For instance, in boarding a plane, they want to know you are you because they want to check that you are the same person as the person that is cleared to fly (that is, you are not on a ‘no fly’ list). Otherwise, they could care less and, instead, would just grant boarding rights to a ticket holder. By the way, that ticket suggests that someone has paid for the ticket which is what the airline really cares about. But in this case, identity does not matter for conferring requisite rights.
More generally, you might be interested in identity, not tied to a specific person, but you want to know that the person you dealt with previously is the same as the person you are dealing with today. If an airline wants to reward you for past choices (of that airline), they care not about your name so much as that you are the person that did those past things and should receive a reward now. In other words, you could be completely anonymous to the airline in terms of your life, so long as the airline has a means of identifying you every time you interact with them.
Identity for Participation
This brings us to web3. The vision is that many people might participate in a decision. That’s not new. It happens all over the place from board rooms to choosing government officials to YouTube likes (the latter used to inform decisions over whether content should be promoted as interesting to others). What is new is that it might be easier to set up and run a governance system — specifically, to have the process from the inputs (from people) to the decision and its implementation automated.
The question is: if you set up one of these automated governance systems how much do you have to worry about identity? You might be worried about two things:
- Is the person participating, the person you think is participating?
- Does the person participating, qualify to participate?
In each case, the input they give may be unreliable in some way. For instance, someone may be representing themselves as more than one person in order to influence a decision outcome. Or someone may be representing themselves as qualified to provide input but they are not qualified.
Interestingly, these things are a worry if you think there are people out there who want to influence the decision being made. That isn’t necessarily the case. Many decisions would not impact many people or their impact is inconsequential so it is not worth trying to represent yourself with a different identity to influence such decisions. Sometimes you are actually interested in the decision reflecting group preferences rather than your own. In these situations, you don’t have to worry much about identification as you can expect those who participate to actually just want to follow the rules. But in this case, do you really need to bells and whistles of a blockchain to make this all happen?
The problem arises when decisions are more consequential and people are likely to have strong feelings about them — both within the group and also in terms of impacts on those outside of the group. Then you have to worry about identifying participants. If web3 is really going to be a thing, therefore, it is going to be for more consequential decisions defined precisely as those decisions where identity is a fundamental concern.
A recent paper by Puja Ohlhaver, Vitalik Buterin and a Microsoft employee describes the myriad of opportunities that could be provided — encapsulated in a new phrase “DeSoc” (aka Decentralised Society) — if the identification problem could be solved. They envisage “soulbound tokens” (or SBTs) that would be held in wallets. These tokens would be issued by others. For instance, one could be issued to the holder of a birth certificate. Another could be issued to the holder of a university degree. Then these tokens could be used as the substrate for web3 participation.
The broad notion is that the components that might verify identity would come from the ‘real world,’ that is, trusted authorities that issue such tokens. This is not something that is specific to the blockchain space. We use the same thing all of the time. For instance, for Covid-19 vaccine passports in Ontario, people who held an Ontario health card could use that information to log on to a government website and download a pdf with their vaccine status. That had a QR code that anyone could scan and verify if the person was vaccinated or not. Of course, to gain entry to certain places, the name on that pdf then had to be compared with government-issued photo ID that a person had to carry. (It wasn’t clear why that step could not appear on the pdf but I guess there was concern that the pdf could be manipulated and that having the QR code link to a picture would be too much.) In the blockchain world, you would be issued a token by the government that you would hold in your wallet along with another token with your picture. Then you would provide access to the relevant tokens to someone else in order to facilitate entry or whathaveyou.
The problem is that people do worry about SBTs and their role if they are not government-issued or they are required to be shown outside of government. (Actually, many people are not thrilled about the government stuff either). But that leads to an issue. If you are setting up a web3 service/organisation, how do you identify people without having to do so in the real world which is something that might be difficult to scale.
The obvious way might be to require a payment — which is a transfer of another sort of token for the one relevant for participation in the web3 thing. But the problem here is that you might be subject to what computer scientists call a Sybil attack and what ordinary people refer to as buying votes. How to resolve that is a difficult problem and so I will just leave it here to return to another day. The point is that it is a problem.
Is there a way to solve the identification problem without referencing trusted identifiers in the real world? If you want to know that who you are dealing with is some specific person in the real world, then no. But if you care instead that you are dealing with one person with a persistent identity or who qualifies in some other respect then, maybe.
To achieve on-chain identification — that is, where no one in the real world has to vet a participant — you would need to have some form of ‘proof of work.’ This is, of course, similar to the proof of work that underlies many cryptocurrency consensus mechanisms — that is, you require some ‘work’ (in that case costly computation) in order to be considered a participant. Proof of work makes it costly to simply replicate identities in order to influence a decision. The same logic would apply for web3 in general.
The issue would be what the ‘work’ was. For some web3 organisations where you might earn voting rights, the work may be conducting some work for the organisation. That work would generate SBTs assigned to you and your account of these would have to reach some threshold to qualify.
Another way might be to do things across the net associated with your SBT wallet and collect SBTs from a variety of sources. Those SBTs could then be used to statistically determine that you are qualified and also that you are you — that is, you have not been collecting tokens as someone else or that no one else has been collecting them for you. That is easier said than done but I don’t rule out a clever mechanism to generate such predictions.
The web3 conundrum
In the end, any web3 service/organisation requires a solution to the identification problem. This could be done using external verification sources but then you have to wonder what the blockchain is really adding. This could be ignored from certain services where there are no vested interests in particular outcomes but information that can inform them but then you have to wonder if the blockchain is really consequential. What is more important is whether identification can be conducted on-chain. This would make automation of collective decisions valuable which is ultimately what web3 is about. That, however, is a difficult challenge and will take time to resolve.