Introducing the Graphchain

The Internet of People uses a new type of cryptographically secured data structure called the graphchain. The main difference between a graphchain and a blockchain is that the first acts as a cryptographically secured data structure, in which no blocks or transactions have to be stored.

At the graphchain the information to be stored concerns either nodes or edges of a graph. The difference with a regular graph is that nodes are identified by a public key and its information is controlled by the corresponding private key holder. Edges represent relationships between the entities controlling nodes and some of these relationships can only be added to the graphchain if they are signed by the private keys of both connected nodes.

At a graphchain nodes are fully owned by their private key holders and the information stored can only be changed by signing with the respective private key. Edges are co-owned by the entities holding the private keys of the connected nodes. The possible actions they can individually perform on information at the edges is constrained by the relationship type and conditions agreed upon when the relationship was established. In some cases either of the parties might be able to cancel the relationship or change some of its properties. In most relationship types the control resides on the predecessor node.

The Internet of People’s implementation of a graphchain distributes the data structure across two different sets of computers or hardware devices in general. All nodes and public edges belong to the first group: a set of devices running on top of an open and public p2p network. All private edges are stored at the devices of the entities holding the private keys of the predecessor node. This means that one part of the graph is publicly accessible by anyone and the other part is not. The private part of the graph is fragmented into different devices owned by different entities and external parties can learn about it only with the consent of the owner of that private part of the graph or when the owner privately exposes these relationships to a third party with the purpose of declaring a relationship.

These two sets of edges, the private and public ones are linked together because the Internet of People allows end user devices to keep an open connection to the public network. Anyone with access to the public network can locate a device associated with a graph node and use that open connection to learn more about that piece of the private part of the graph, if granted permission by its owner.

The Internet of People’s usage of a graphchain is with the purpose of creating a secure, open and publicly accessible social graph that is user owned and controlled. The end result would be like combining Facebook, Twitter, LinkedIn, Google, and all user databases of all tech giant companies together and expose them publicly on a blockchain-like p2p-network that anyone can use to consume information and create software in a permissionless way. The most important difference with such a combined user database is that end users own and control both their information and their relationships with others across all type of applications.

Different apps running at end user devices control different sets of private and public edges and nodes on behalf of end users. This means that a single end user can have multiple nodes on the graph and any amount of private and public edges. All of this is enabled just by using IoP apps for different types of social or business interactions.

Thanks to Amadeo Charlé for the editing.