Paper ID: 2301.04391
Grassroots Systems: Concept, Examples, Implementation and Applications
Ehud Shapiro
Informally, a grassroots system is a distributed system that can have multiple instances, independent of each other and of any global resources, that can interoperate once interconnected. Grassroots applications are potentially important as they may allow people to conduct their social, economic, civic, and political lives in the digital realm solely using the networked computing devices they own and operate (e.g., smartphones), free of third-party control, surveillance, manipulation, coercion, or rent seeking (e.g., by global digital platforms such as Facebook or Bitcoin). Here, we formalize the notion of grassroots systems and grassroots implementations; specify an abstract grassroots dissemination protocol; describe and prove an implementation of grassroots dissemination for the model of asynchrony; extend the implementation to mobile (address-changing) devices that communicate via an unreliable network (e.g. smartphones using UDP); and discuss how grassroots dissemination can realize applications that support digital sovereignty -- grassroots social networking and grassroots currencies. The mathematical construction employs distributed multiagent transition systems to define the notions of grassroots protocols and grassroots implementations, to specify grassroots dissemination protocols and their implementation, and to prove their correctness. The implementation uses the blocklace -- a generalization of the blockchain that functions as a fault-tolerant, conflict-free replicated data type.
Submitted: Jan 11, 2023