The ideal state of the system. Identity proof system based on six degrees of separation.

Imagining how the data is organized and analyzed.

Peter Porobov
Upala Digital Identity
6 min readFeb 13, 2019

--

If you missed the previous posts. I’m developing an identity proof system. It is based on six degrees of separation idea. The idea assumes that the whole world knows each other in just six handshakes. I want to put these connections on blockchain. It is a huge goal. To get there I decided to start a series of posts, showing my thought process. Read about my mission which is “to move the world towards peace” and about six degrees of separation.

Why do we need another identity system?

I haven’t still mentioned anywhere what my identity system is exactly for. The main reason for this is that I wasn’t quite sure myself. It is while writing this post that I gained enough confidence to tell it.

The main use case of 6handshakes is to tell humans apart from bots and clones. Bots are accounts generated by programs and clones are humans with multiple accounts. In other words the purpose of the system is to exclude sibyl attacks or to make them impractically expensive.

This is a key difference from other identity systems. We are not building an identity storage solution, but rather a decentralized and anonymous alternative to state passport system.

A proof of human uniqueness may be needed when voting online, doiing CAPTCHA, airdrops, proof-of-stake systems, reputation systems and other services where bots and clones are not desirable.

Posts on use cases and existing alternatives are about to come.

Support

Below is a tiding up of my brainstorming. If you don’t feel like a contributor, just skip it. If you would like to contribute please share your thought and have a look at some open questions. To help fund the project please visit my advertising page. You can benefit too!

The ideal state of the system

In order to understand what the system may be used for I tried to imagine an ideal system. What the project might look like in the case of it’s success? The whole world is in the system. All social connections are replicated. What useful information can now be extracted? Who and how may benefit from it?

I came up with a mind map with three main branches: Data, Analyzing Data and Use cases.

There are still a lot of raw unstructured thoughts. It’s cuz I want to sync with you cuz this is brainstorming! Please say anything that comes to your mind. The crazier — the better. It would help me a lot!

Questions are stylized as quotes like this one.

Data

Data branch shows what pieces of data may be stored in the system.

Useful data

I separated the useful data. The only pieces of data which will definitely be in the system are: Users (or Nodes) and Connections between them.

If we have the whole world “copied” to the system, if all the nodes are unique human beings, if all the connections represent real-world physical handshakes, then we have already solved the problem!

But the world isn’t perfect. Something must guarantee accuracy. We need to punish malicious actors, incentivize users to build the network and finally let the platform itself earn money (if needed).

All of it means more data.

Data needed for accuracy, incentive and monetization

And here are some examples of additional data (the rest is in the Mind Map).

Users and connections attributes. Users and connections may have weights (number of friends, stake) and timing (when created, updated). Connections may have directions (I know Vitalik Buterin, he doesn’t know me).

Creating groups (clubs, organizations, interests) may require “fields” like reputation, status, type.

Providing anonymous identity to web apps (”I guarantee this person has a real government ID and a credit card, but I won’t tell you anything above this”) requires storing user’s credentials (nickname, ID, links to SN-profiles, biometry).

Providing accuracy… How can we be sure the person is still alive?!

Nodes / Actors / Entities. There probably other entities besides simple users be needed to ensure network’s stability, accuracy, incentives, etc.

Making analogy to GPS system. What if we have a beacon system. A famous person like Kevin Bacon may become a beacon (as simple as adding an e). Investors, funds, charities, organizations all may become beacons. Then we will be able to tell the distance to each of them. This may help privacy in the long run, by the way.

What are network nodes? May a node be an organization? Or organization is just a cluster of nodes (users)? Do we need notaries to input Government IDs and other data? Or is it just enough to show it a couple of your friends? Is there an investor entity?

Analyzing the data

What the data above can tell.

If you are an insider of the system

You can tell the minimum number of handshakes between me and you. However this is a possible threat to privacy. A malicious actor may recruit accomplices around the world. They can try to calculate their own “distances” to a victim and try to deanonymize them.

A solution may be to use some mutual friends index or an index of distances to beacons. With this approach you could have a probability of a unique human in some integer scale (say, percents 1..100). By reducing the accuracy of information we add privacy.

If you are an outsider

You can analyze:

  • Clusters, probability of dealing with a member of a group
  • Network activity. Growth rate or updates rate (ripples of updates)

Will connections data be available for anybody? Or do we need to hide this data in a centralized way or behind some Zk-SNARKs?

Use cases

What the “distance” between me and you and can be useful for? What a proof of a real-world physical handshake can guarantee?

No sibyls. As I already mentioned in the beginning, this is the main value preposition of the network.

Decentralized id. This is an outcome of the previous. If one can tell humans apart from bots and clones it is trivial to assign IDs to everybody.

Anonymous id. A service that tells “I guarantee this person has a real government ID and a credit card, but I won’t tell you his or her name”.

If we want an anonymous id system how will the data be accessible from the outside? There are Zk-SNARKs, but I can’t quite build it in my mind. If I add snarks will I centralize the system? What pieces of information should be encrypted? I’m not even sure what to ask. Please, give me a vector!

Other use cases and by-products:

  • CAPTCHA
  • dAppp authentication
  • decentralized universal basic income
  • restore password through friends
  • advertising campaigns (air drops, free stuff, basic attention token)

Next steps

A way to start building this system is to think in terms of a probability of a human. In other words do not try to provide accuracy, but turn accuracy into probability. The system may respond: “this ID is 87% human”.

And of course incentives. Incentives may be an answer both to accuracy and to user acquisition (if we can use this term). I already have a thought-storm on “how to build it”. Now I realized that incentives will be the structuring agent for these thoughts. I can’t help but admire how writing own thoughts works! It feels like everything comes into order by itself! Thank you very much for reading!

Clap and support

Thank you for reading! I can see the stats! The bare fact you are here is very motivating. Leave your comments here, on reddit or hackernews. If you would like to help more, please visit my advertising project. This is how I make my own funding. You can benefit there too.

--

--