  Offering an architecture for social networking in which people have agency
over their personal information and social graph is an open challenge. Here we
present a grassroots architecture for serverless, permissionless, peer-to-peer
social networks termed Grassroots Social Networking that aims to address this
challenge. The architecture is geared for people with networked smartphones --
roaming (address-changing) computing devices communicating over an unreliable
network (e.g., using UDP). The architecture incorporates (i) a decentralized
social graph, where each person controls, maintains and stores only their local
neighborhood in the graph; (iii) personal feeds, with authors and followers who
create and store the feeds; and (ii) a grassroots dissemination protocol, in
which communication among people occurs only along the edges of their social
graph. The architecture realizes these components using the blocklace data
structure -- a partially-ordered conflict-free counterpart of the
totally-ordered conflict-based blockchain. We provide two example Grassroots
Social Networking protocols -- Twitter-like and WhatsApp-like -- and address
their security (safety, liveness and privacy), spam/bot/deep-fake resistance,
and implementation, demonstrating how server-based social networks could be
supplanted by a grassroots architecture.
