On identity and blockchains

Identity is a hairy problem in engineering information systems. I this article we will discuss our approach towards identity.

There is a large body of work on identity in both academia and industry. With the introduction of blockchains for use cases other than cryptocurrencies the interest in the concept of identity has seen a healthy revival. Latest installment in that revival are articles like The promise of managing identity on the blockchain on TechCrunch and a blogpost by Jaap-Henk Hoepman and its resulting discussion.

In engineering smart ecosystems we at Contracts11 have first hand experience in the difficulty of establishing identities in vastly different settings. But we also realize that a clear definition of, and agreement upon, identity is crucial for an ecosystem to operate. In this article we will discuss our approach towards the identity problem and the methodologies and tools that might help. Since recent interest in identity spawned from the blockchain realm we will explain how we think they may or may not be of any use.

Context gives meaning

Inspired by Immanuel Kant one of our mantras is that an object without context is unknowable. It is the context that provides meaning. The same goes for identity, which is defined by the context in which it resides. This is neatly reflected by database theory where entitytypes are identified by ‘a list of properties’. Which properties identify an entitytype depends on the context. For example, in the context of a shop a customer may be identified by a number while at work the same person may be identified by name and address.

In engineering smart ecosystem Contracts11 takes ecosystems as context. Within an ecosystem users decide which entities they are interested in (‘entity types’ in database terminology), and the properties that differentiate between them.

The identity processes

As usual Contracts11 takes the process-approach towards information-system issues, and the same goes for identification. One process is for establishing the identifying properties of a certain entity. In other words, determining which unique entity it is. Another process is often of more practical use, figuring out whether an identified identity has the properties it claims to have. This approach unveils a number of insights:

  • In most ecosystems individuals are seen as entities.
  • Ecosystems differ in the identifying properties of humans (passport, private key, name, address, social network account, biological properties, etcetera).
  • Ecosystems also differ in the way they affirm claimed properties of identified humans.

For practical reasons affirmation of identity is almost never done based on properties physically and inseparably tied to a person. This means that they can be lost, stolen or forgotten (token, password, passport, etcetera). Remote identification therefore always bears the risk of fraud. Systems relying on remote identification will always have to make the tradeoff between reliability of identification and ease of use of the identification process.

Once the process of identification has been agreed upon by all stakeholders it has to be designed and implemented. There is a plethora of options for implementing systems that try to confirm claims made by identified parties, and we won’t go into technicals details here, but each of them has to make the well-known tradeoff between security/reliability and usability.

Identity and blockchains

It is rather naive to assume there is a generally applicable tool for confirming identities and claims for every processes in every ecosystems that is reliable, safe and practically usable. Despite the undoubtedly many merits of blockchains, assuming they are generally applicable to this problem, without any indication or substantiation, is even more naive.

Relevance for Web11

Identity is one of the core concepts of Web11. Although identity is defined per ecosystem, see above, without an agreement on identity an ecosystem wouldn’t be able to operate. Stakeholders in an ecosystem have to be able to identify others so they can interact with them, e.g. come to an agreement (contract) with them.