This specification describes the social network graph and how it is represented in the protocol.

In this context a social graph means a graph that represents social relations between entities.

The DSNP graph represents nodes as DSNP User Ids.

Public Graph

The public graph is anchored in state transitions recorded in Graph Change Announcements. Playing all state transitions in order will generate the current state of the public graph.


Private Graph

Implementation coming in the future. See the DSNP Whitepaper for foundational ideas.


A "follow" is the act of publicly following a DSNP User Identity, which results in adding this DSNP User Id to a user's social graph.

An "unfollow" is the act of publicly unfollowing a DSNP User Identity which results in the removal of this DSNP User Id from a user's social graph.


There is currently no concept of "friendship" within the DSNP network. Friendship requires a mutual acknowledgment between two different DSNP User Identities. Friendship could be thought of as "mutual following" - where two DSNP User Identities are following each other.