CIPs icon indicating copy to clipboard operation
CIPs copied to clipboard

Follows List

Open michaelsena opened this issue 4 years ago • 3 comments

cip: 
title: Follows List
author: Michael Sena (@michaelsena), Joel Thorstensson (@oed)
discussions-to:
status: Idea
category: Standards
type: RFC
created: 2020-05-22
requires: Tile Doctype (CIP-8)
replaces: 

🚨 This is a placeholder for an idea, and we will work to draft the CIP at a later time. Feel free to leave comments and ideas on this issue.

Simple Summary

Follows List contains a list of DIDs that a DID is following.

Abstract

The follows list aims to provide permissionless, platform-agnostic storage for a list of DIDs followed by this DID.

Motivation

Follows are often a critical aspect of identity on many digital platforms. The follows list provides a unified social graph that can be shared across platforms, eliminating the need for users to redundantly replicate the same information on each new platform.

Specification

The Follows List specification consists of a doctype, schema, and tags.

Doctype

Follows List is a Tile Doctype (CIP-8).

Schema

The Follows List utilizes the DID Array schema, which simply stores an array of DIDs. A reference to this schema should be included in your Follows List document when it is created.

Tags

When creating a Follows List document, add FollowsList to the tags field.

Example

An example Follows List document.

"doctype": "tile"
"schema": "<insert canonical schema for DID Array>"
"tags": ["FollowsList", "DIDArray"],
"content": {
  ["DID1","DID2","DID3",...]
}

michaelsena avatar May 23 '20 01:05 michaelsena

@oed the schema for the follows list would likely just be an array of DIDs, but I could imagine that being useful for other documents as well. Should we create a new CIP for a DID Array Schema, similar to what we did for DocId Map and String Map?

michaelsena avatar Jul 21 '20 18:07 michaelsena

Well this is an interesting find. My team and I actually discussed this a while ago. We came to the conclusion that, in addition to the follows list, there should be a following list. This would allow both the follower and the DID being followed to confirm if a relationship exists or not.

Geo25rey avatar Oct 08 '21 11:10 Geo25rey

The problem with a "who is following me" list is that it's hard to update that list in a trustless way. When Alice decides to follow Bob, it's easy for Alice to update her own IDX to include a record that she is following Bob. She cannot, however, write to Bob's IDX to add herself as a follower as she won't have write access to the necessary streams that Bob owns.

stbrody avatar Oct 12 '21 20:10 stbrody