Z: brainstorming thread

(as the social network owned he-who-shall-not-be-named, but with “Z” for private :slight_smile: )

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 :sweat_smile:), 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.
1 Like