Grassroots Distributed Systems: Concept, Examples, Implementation and Applications
A distributed system is 'grassroots' if it can have autonomous, independently-deployed instances – geographically and over time – that can interoperate once interconnected. An example would be a serverless smartphone-based social network supporting multiple independently-budding communities that merge when a member of one community becomes also a member of another. Grassroots applications are potentially important as they may better distribute power and wealth within a society and allow citizens to better defend themselves against surveillance, manipulation, exploitation and control by global digital platforms and authoritarian regimes. Here, we formalize the notion of grassroots distributed systems and grassroots implementations; specify an abstract grassroots dissemination protocol; describe and prove an implementation of grassroots dissemination for the model of asynchrony; and illustrate how grassroots dissemination can implement serverless social networking and sovereign cryptocurrencies. The mathematical construction employs distributed multiagent transition systems to define the notion of grassroots protocols and grassroots implementations, to specify grassroots dissemination protocols, and to prove their correctness. It uses the blocklace – a partially-ordered generalization of the blockchain – for the grassroots implementation.
READ FULL TEXT