README.md 3.57 KB
Newer Older
1
2
# Ecosystem Overview

3
This overview of the decentralized social ecosystem is structured by protocols, applications, and topics. The protocols and applications directories contain summaries of existing projects. The topics section compares how decentralized protocols handle key topics, and includes relevant projects not covered elsewhere.
4

5
### Protocols:
6

7
8
9
10
11
12
13
14
- [ActivityPub](protocols/activitypub.md)
- [Gun](protocols/gun.md)
- [Hypercore Protocol (DAT)](protocols/hypercore.md)
- [IPFS](protocols/ipfs.md)
- [Matrix](protocols/matrix.md)
- [Peergos](protocols/peergos.md)
- [Solid](protocols/solid.md)
- [XMPP](protocols/xmpp.md)
15

16
### Applications:
17

18
19
20
21
- [Aether](applications/aether.md)
- [Blockchain social networks](applications/blockchain-social.md)
- [Diaspora](applications/diaspora.md)
- [Mastodon](applications/mastodon.md)
bluesky-community's avatar
bluesky-community committed
22
- [Ssb social networks](applications/ssb-social.md)
23

24
In the p2p ecosystem, there is sometimes not a clear distinction between protocols and applications, making it unclear what a project encompasses. This diagram attempts to clarify which layer of the stack these p2p projects operate at.
25

26
![P2p ecosystem](P2P.png)
27

28
The distinction between protocols and applications is clearer in the federated social ecosystem, where applications follow a familiar client-server model. Diaspora is both the name of the social application as well as the protocol, and Solid does not yet have a social network application.
29

30
![Federated ecosystem](Federated.png)
31

32
33
34
35
36
37
38
39
### Topics:

[Network structure](topics/network-structure.md)

- Federated networks
  - Passing messages between systems
  - Replicating data between systems
- P2p networks
Jay Graber's avatar
Jay Graber committed
40
- Hybrid
41

42
[Identity](topics/identity.md)
43
44

- Decentralized identity
45
46
- In federated applications
- In p2p applications
Jay Graber's avatar
Updates    
Jay Graber committed
47
- Blockchain identity systems
48
- DIDs
Jay Graber's avatar
Updates    
Jay Graber committed
49
- Key management
50
- Reputation, Trust
51
52
53
- Failure modes:
  - Sybils & spam
  - Impersonation
54

55
[Data](topics/data.md)
56
57

- Data models
58
- Mutability
59

60
[Discovery](topics/discovery.md)
61
62

- Curation
Jay Graber's avatar
Updates    
Jay Graber committed
63
- Search
64
65
66
67
68
69
70
71
72
73
74

[Moderation](topics/moderation.md)

- Community-based
- User-driven
- Experimental

[Privacy](topics/privacy.md)

- User metadata
- Private accounts
Jay Graber's avatar
Updates    
Jay Graber committed
75
- Direct messages
76

77
[Monetization](topics/monetization.md)
78

79
80
- Application level
- Provider level
81
82
- Protocol level

83
[Governance](topics/governance.md)
84

85
- Overview of existing models
Jay Graber's avatar
Jay Graber committed
86
87
88

## Contributions

Jay Graber's avatar
Jay Graber committed
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
Written by Jay Graber ([@arcalinea](https://twitter.com/arcalinea))

Contributions from:

- Andre Staltz ([@andrestaltz](https://twitter.com/andrestaltz))
- Burak Nehbit ([@nehbit](https://twitter.com/nehbit))
- Christopher Lemmer Webber ([@dustyweb](https://twitter.com/dustyweb))
- Danny Zuckerman ([@dazuck](https://twitter.com/dazuck))
- Eugen Rochko ([@Gargron@mastodon.social](https://mastodon.social/@Gargron))
- Golda Velez ([@gvelez17](https://twitter.com/gvelez17))
- Ian Preston ([@Ianopolous](https://twitter.com/Ianopolous))
- Jeromy Johnson ([@whyrusleeping](https://twitter.com/whyrusleeping))
- Molly MacKinley ([@momack28](https://twitter.com/momack28))
- Matthew Hodgson ([@ara4n](https://twitter.com/ara4n))
- Mark Nadal ([@marknadal](https://twitter.com/marknadal))
- Paul Frazee ([@pfrazee](https://twitter.com/pfrazee))
- Rahul Kothari ([@BlockchainRahul](https://twitter.com/BlockchainRahul))
Sarven Capadisli's avatar
Sarven Capadisli committed
106
- Sarven Capadisli ([@csarven](https://csarven.ca/#i))
Jay Graber's avatar
Jay Graber committed
107
108
109
110
111
112
113

## Further Reading

More extensive lists of decentralized web projects:

- [Redecentralize](https://github.com/redecentralize/alternative-internet)
- [Decentralized Web projects by gdamdam](https://github.com/gdamdam/awesome-decentralized-web)
Jay Graber's avatar
Jay Graber committed
114
- [A list of p2p resources by kgryte](https://github.com/kgryte/awesome-peer-to-peer)