(as the social network owned he-who-shall-not-be-named, but with “Z” for private )
Basic concept: Twitter, but decentralized and privacy-preserving, with full algorithmic transparency (and no ads necessary).
(name TBD and can be changed)
- “Follower” relationships (tracked in the DAG)
- Encryption of messages to your followers
- Flexible delegation of storage and compute
- With some personal servers, can basically act like Twitter
- For those who connect less frequently to the net, acts a bit more like SSB
- Locally controlled and shareable algorithms for ranking and sorting
- Full local interface control
cc @apriori for your context - does this make sense?
Are you thinking about this application as grassroots social networking protocol? e.g., Shapiro [June, 2023]
Offering a viable alternative architecture to centrally-controlled global digital platforms for social networking is an open challenge. Here we present a grassroots architecture for serverless, permissionless, peer-to-peer social networks termed grassroots social networking.
The architecture is geared for roaming (address-changing) agents communicating over an unreliable network, e.g., smartphones communicating via UDP. The architecture incorporates
- a decentralized social graph, where each member controls, maintains and stores only their local neighborhood in the graph;
- member-created feeds, with authors and followers; and
- a novel grassroots dissemination protocol, in which communication occurs only along the edges of the social graph.
The architecture realizes these components using the blocklace data structure – a distributed partially-ordered counterpart of the replicated totally ordered blockchain. We provide two example grassroots social networking protocols—Twitter/LinkedIn-like and WhatsApp-like—and address their safety, liveness, privacy, and spam/deepfake resistance, demonstrating how centrally-controlled social networks could be supplanted by a grassroots architecture.
Do you mean encrypted DMs or encrypted tweets? Feels like encrypted DMs are not enough to name the app after the privacy aspect (or is it? i guess there is more than just logic involved in the naming process but I’m ignoring everything else ), but encrypted tweets raise even more questions:
In case of public profiles:
- anyone can follow to see the content
- non-followers not being able to see tweets might be the opposite from what local celebs want (saw so much angry talking about not being promoted without a paid account on twitter anymore)
For private profiles it makes sense, but makes me wonder how it is combined with public profiles and unshielding:
- if we don’t have public profiles at all, the app becomes an app to bring the existing audience to, no discovery
- if we do have both, is unshielding possible? In that case, can the old tweets be seen after the profile becomes public? Will the old tweets be encrypted after a public profile becomes private? Might be expected (shielding is often used as a shield against bullying by hiding the hot tweets and breaking the communication channel), but I feel like it isn’t implied by the resource model
Yes, I think the concept is very similar.
@vveiln All good questions.
- I mean encrypted “zweets”, not encrypted DMs.
- Agreed that many profiles will be public (or want to be public). There can be a further distinction where certain zweets can be broadcast (and encrypted) to specific parties only, if people want - we don’t need to make the privacy decision at the whole-profile level. Even for fully public profiles, I still think the distributed operation, self-sovereignty, and algorithmic transparency aspects would be helpful.
- I do not think we necessarily need to use the resource model to track zweets, since they aren’t linear (in any way that we care about modelling, anyways), so we could use a much simpler transaction processing function for this application, but we’d still need pretty much all of the distributed storage, compute, ordering, etc., and it would be helpful to have Z on the same platform as kudos and resource accounting to coordinate exchange of the physical compute necessary to host & serve everything. I haven’t thought about all the details regarding moving zweets between private and public or vice-versa yet.