mirror of
https://gitlab.com/bluesky-community1/decentralized-ecosystem.git
synced 2025-02-08 16:08:50 +01:00
Merge branch 'master' into 'network-structure'
# Conflicts: # design/preexisting/protocols/template.md
This commit is contained in:
commit
ab22967cbf
@ -0,0 +1,43 @@
|
||||
# Aether
|
||||
|
||||
Aether is a Reddit-like p2p social network, designed with ephemerality and mutability in mind.
|
||||
|
||||
### Identity
|
||||
|
||||
Identities in Aether are based on keypairs, like in ssb.
|
||||
|
||||
Aether has a strategy for multiple device logins under development — you can store and sync encrypted keys from a remote backend.
|
||||
|
||||
### Networking/Message passing
|
||||
|
||||
### Data Storage/Message Persistence
|
||||
|
||||
Aether's data structure is a DAG (directed acyclic graph). It allows insertion and deletion of content.
|
||||
|
||||
Posts are ephemeral. After a certain period of inactivity on a post, it automatically gets dropped by nodes on the network.
|
||||
|
||||
### Moderation/Reputation
|
||||
|
||||
Each sub-community has its own moderators, which communities elect or impeach themselves. Like sub-reddits, communities largely govern themselves.
|
||||
|
||||
Whitelists and blacklists are used to moderate the collection of communities. When users join, the default is to only display communities on a vetted whitelist, to ensure the safety and comfort of a user's initial experience.
|
||||
|
||||
### Spam
|
||||
|
||||
Aether combats spam by requiring users to complete a small "proof-of-work", a brief hashing function, before they post. This rate-limits the amount of posts that a user can send out to the network, making it more expensive to flood it with spam.
|
||||
|
||||
### Social/Discovery
|
||||
|
||||
### Privacy/Access Control
|
||||
|
||||
### Monetization
|
||||
|
||||
The p2p version is supported through funding from the self-hosted Aether Pro version.
|
||||
|
||||
### User experience
|
||||
|
||||
### Interoperability
|
||||
|
||||
### Scalability
|
||||
|
||||
### Metrics
|
@ -0,0 +1,35 @@
|
||||
# Diaspora
|
||||
|
||||
Diaspora was a federated social network released in 2010. It is still in existence, although mostly unused.
|
||||
|
||||
The federated nodes, called "pods", are hosted by different individuals and institutions.
|
||||
|
||||
### Identity
|
||||
|
||||
### Networking/Message passing
|
||||
|
||||
### Data Storage/Message Persistence
|
||||
|
||||
### Moderation/Reputation
|
||||
|
||||
Like Mastodon, much of the moderation is done at the server level. When Isis joined the Diaspora network in 2014 after they were censored by Twitter, all the larger pods moved to block their server.
|
||||
|
||||
### Social/Discovery
|
||||
|
||||
Like Twitter, Diaspora included hashtags and mentions.
|
||||
|
||||
### Privacy and Access Control
|
||||
|
||||
### Monetization
|
||||
|
||||
### User experience (if applies)
|
||||
|
||||
### Interoperability
|
||||
|
||||
Friendica instances are a part of the diaspora network, and natively supports the Diaspora protocol.
|
||||
|
||||
### Scalability
|
||||
|
||||
### Metrics
|
||||
|
||||
### Links
|
@ -0,0 +1,49 @@
|
||||
# Steemit
|
||||
|
||||
The Steem cryptocurrency was created for content monetization in social sites. Steemit, a Reddit/Medium-style social network, was the first site built to use Steem. Later, several other platforms including Dtube, a decentralized Youtube, also used Steem for monetization.
|
||||
|
||||
User identities and post data are stored on the Steem blockchain.
|
||||
|
||||
### Identity
|
||||
|
||||
User identities are stored on the Steem blockchain. New account creation requires an email and phone number, and must go through a review process
|
||||
|
||||
A Steemit account functions as a cryptocurrency wallet, and users are responsible for their own key management. There is no account recovery available, and funds can be lost or stolen if the key is compromised. Accounts cannot be deactivated or deleted, since they are permanently stored on the Steem blockchain.
|
||||
|
||||
### Networking/Message passing
|
||||
|
||||
### Data Storage/Message Persistence
|
||||
|
||||
Post data is stored on the Steem blockchain.
|
||||
|
||||
### Moderation/Reputation
|
||||
|
||||
Reputation determines the weight of votes in the network. Older accounts have more reputation.
|
||||
|
||||
### Spam
|
||||
|
||||
Since there is a monetary incentive to create fake accounts to upvote posts, a centralized spam prevention method was necessary to combat abuse. The new account creation process which requires review of an email and phone number is the method used by Steemit.
|
||||
|
||||
### Social/Discovery
|
||||
|
||||
### Privacy and Access Control
|
||||
|
||||
### Monetization
|
||||
|
||||
Steemit mined 80% of Steem in the first week. Steemit benefited from the appreciation of Steem during the 2017 cryptocurrency run-up, but did not manage the bear market well and had to lay off much of its staff. When a company’s monetization strategy depends on a volatile asset, its leaders have to be prudent portfolio managers as well as good operators.
|
||||
|
||||
Other than depending on Steem price appreciation, Steemit monetizes through users promoting their posts. When users perform certain actions on Steemit, they earn Steem. Creating posts that get upvoted qualifies users to earn from a rewards pool. Upvoting posts that later become popular can earn voters a curation reward. Votes are weighted by reputation, which accumulates with age, so older accounts of early adopters have more power in the network. This, as well as the fact that Steem tokens could be mined easily early on, means that Steemit’s incentives are geared towards early adopters.
|
||||
|
||||
### User experience (if applies)
|
||||
|
||||
### Interoperability
|
||||
|
||||
what is the minimum requirement for a message to enter or leave the system?
|
||||
|
||||
### Scalability
|
||||
|
||||
### Metrics
|
||||
|
||||
There are over a million users on Steemit.
|
||||
|
||||
### Links
|
@ -0,0 +1,25 @@
|
||||
# Zeronet
|
||||
|
||||
Zeronet is a browser for a decentralized network built on BitTorrent and Bitcoin, and run over Tor for privacy. Every Zeronet site address is a Bitcoin public key, so visitors can send bitcoin directly to the owner. It is essentially a darknet, or another version of Tor hidden services.
|
||||
|
||||
### Identity
|
||||
|
||||
Accounts are essentially Bitcoin wallets. The owner of a site signs the files with the private key, and the public key is the site address.
|
||||
|
||||
### Networking/Message passing
|
||||
|
||||
Zeronet uses the BitTorrent network to find peers that are seeding the site to download the site content from.
|
||||
|
||||
### Data Storage/Message Persistence
|
||||
|
||||
### Moderation/Reputation
|
||||
|
||||
### Social/Discovery
|
||||
|
||||
### Privacy and Access Control
|
||||
|
||||
### Monetization
|
||||
|
||||
### Metrics
|
||||
|
||||
### Links
|
@ -3,7 +3,7 @@
|
||||
## Stats
|
||||
|
||||
- 11K+ [github](https://github.com/amark/gun) stars
|
||||
- 3M ~ 30M [downloads](https://www.jsdelivr.com/package/npm/gun) monthly
|
||||
- 10M ~ 30M [downloads](https://www.jsdelivr.com/package/npm/gun) monthly
|
||||
|
||||
## Whitepaper
|
||||
|
||||
@ -82,12 +82,33 @@ Iris and NAB (see above link).
|
||||
|
||||
### Social/Discovery
|
||||
|
||||
See "identity" section.
|
||||
|
||||
### Privacy and Access Control
|
||||
|
||||
1. Cryptographic keys are assigned to roles, groups, or data points.
|
||||
2. This information is either used to derive a shared ECDH secret to decrypt (read)
|
||||
3. Or used to load collaborative multi-writer edits (signed).
|
||||
|
||||
For more information, please watch our [Cartoon Cryptography](https://gun.eco/docs/Cartoon-Cryptography) explainer.
|
||||
|
||||
### Interop with other systems
|
||||
|
||||
Via plugins, such as backup storage on centralized databases or file systems, or transport layers to other protocols.
|
||||
|
||||
### Scalability
|
||||
|
||||
- We've seen a [70% cost savings](https://twitter.com/cagataycali/status/1245442681251205120) on projects with 1M+ page loads a month.
|
||||
- We've seen in-production deployments with 5M+ monthly active users without increasing infrastructure costs.
|
||||
|
||||
### Metrics
|
||||
|
||||
See "stats" section at top.
|
||||
|
||||
### In the wild
|
||||
|
||||
- [Internet Archive](https://news.ycombinator.com/item?id=17685682) (library meta-data)
|
||||
- [HackerNoon](https://hackernoon.com/state-of-hacker-noon-2019-2020-8w1ls3axx) (annotations)
|
||||
- [********]() (popular niche alternative to YouTube, cannot disclose) (live comments)
|
||||
- [Meething](https://meething.space/) (Mozilla backed secure & decentralized video conferencing powered by GUN)
|
||||
- Iris, Notabug, DTube, others...
|
||||
|
30
protocols/i2p.md
Normal file
30
protocols/i2p.md
Normal file
@ -0,0 +1,30 @@
|
||||
# I2P
|
||||
|
||||
### Identity
|
||||
|
||||
### Networking/Message passing
|
||||
|
||||
### Data Storage/Message Persistance
|
||||
|
||||
### Moderation/Reputation
|
||||
|
||||
### Social/Discovery
|
||||
|
||||
### Privacy and Access Control
|
||||
|
||||
### Monetization
|
||||
|
||||
### User experience (if applies)
|
||||
|
||||
### Interop with other systems
|
||||
in particular - what is the minimum requirement for a message to enter or leave the system?
|
||||
|
||||
### Scalability
|
||||
|
||||
### Metrics
|
||||
|
||||
### In the wild
|
||||
|
||||
### Links
|
||||
|
||||
https://geti2p.net/en/
|
@ -1,3 +1,4 @@
|
||||
|
||||
# Solid
|
||||
|
||||
### Identity
|
||||
@ -8,6 +9,14 @@ The rights on a Pod are attached to WebIDs. WebIDs may refer to a person, a fami
|
||||
|
||||
### Networking/Message passing
|
||||
|
||||
[Linked Data Notifications](https://www.w3.org/TR/ldn/)
|
||||
|
||||
Solid allows inboxes for any resource, ie actors or articles
|
||||
Example: [annotations related to a particular article](https://linkedresearch.org/annotation/csarven.ca/%23i/87bc9a28-9f94-4b1b-a4b9-503899795f6e)
|
||||
|
||||
Currently smart clients retrieve messages with pull/get, rather than server push.
|
||||
|
||||
|
||||
### Data Storage/Message Persistance
|
||||
Pod is a data storage space. All a user's data is stored here. Applications read and write data into the Pod depending on the authorisations granted by the user or users associated to that Pod. A person may have multiple pods, for example for work and for home. Data may be replicated across pods.
|
||||
|
||||
@ -17,12 +26,20 @@ Users may also switch pods easily without losing their data (such as their conta
|
||||
|
||||
### Moderation/Reputation
|
||||
|
||||
access control is currently thru ACLs, can plug in different methods; could possibly be swapped out if desired
|
||||
|
||||
an agent with a webid can have control or other levels of access to a resource
|
||||
|
||||
### Social/Discovery
|
||||
|
||||
WebID allows user addressing across all Solid-conforming apps
|
||||
|
||||
Resources (including WebID's -they have uris eg. https://csarven.ca/#i ) are self-describing. They are hosted on pods and have HTTP endpoints. With permissions, normal spidering is possible (from article, you will find author, etc)
|
||||
|
||||
There does not seem to be a Solid-based social network as of this writing, some discussion about creating one. Instead, Solid aims to create tools that enable building of decentralized social applications.
|
||||
|
||||
Any app that can parse the format can read the inbox, and could send responses.
|
||||
|
||||
### Privacy and Access Control
|
||||
The owner of the pod controls access to who is authorized to read or write data. However if the user revokes access of an app to their data, the app can't further read or update the user's data, but they would still have the data that the user sent out prior to the revocation.
|
||||
|
||||
@ -37,29 +54,76 @@ Example apps:
|
||||
[dokieli](https://dokie.li/) for publishing articles/posts
|
||||
[exhaustive list of apps built on Solid](https://solidproject.org/use-solid/apps)
|
||||
|
||||
|
||||
### Interop with other systems
|
||||
Solid doesn't have its own sense of messages per se, but a Solid pod could be used for example in the implementation of an ActivityPub server.
|
||||
|
||||
The minimum requirement to be 'doing Solid' appears to be the use of JSON-LD (linked data) - discussion of [a subset of JSON-LD](https://stephank.nl/p/2018-10-20-a-proposal-for-standardising-a-subset-of-json-ld.html)
|
||||
|
||||
For example, dokieli (a solid app) is able to send notifications to ActivityPub
|
||||
|
||||
Some work on ActivityPub that is
|
||||
[discussion of links between ActivityPub and Solid](https://socialhub.activitypub.rocks/t/which-links-between-activitypub-and-solid-project/529/8)
|
||||
[discussion of links between ActivityPub and Solid](https://socialhub.activitypub.rocks/t/which-links-between-activitypub-and-solid-project/529/8) - there is work to close the gap between the specs.
|
||||
|
||||
Compatible with existing web; WebAccessControl/ACLs etc are described in RDF
|
||||
|
||||
Some efforts are being made to make WebIDs compatible with DIDs
|
||||
|
||||
[Linked Data Notifications](https://www.w3.org/TR/ldn/)
|
||||
|
||||
Web Access Control
|
||||
|
||||
### Scalability
|
||||
Published paper [Solid: A Platform for Decentralized Social
|
||||
Applications Based on Linked Data](https://pdfs.semanticscholar.org/5ac9/3548fd0628f7ff8ff65b5878d04c79c513c4.pdf) indicated sub-linear scaling with number of users/pods.
|
||||
|
||||
|
||||
### Metrics
|
||||
|
||||
### In the wild
|
||||
[Solid Apps](https://solidproject.org/use-solid/apps)
|
||||
|
||||
### Compare/contrast
|
||||
Generally:
|
||||
ActivityPub - smart server
|
||||
Solid - smart client
|
||||
|
||||
### Links
|
||||
|
||||
[A Demonstration of the Solid Platform for Social Web
|
||||
Applications](http://crosscloud.org/2016/www-mansour-pdf.pdf)
|
||||
* [Solid specification development](https://github.com/solid/specification)
|
||||
* [Solid Ecosystem Editors Draft] https://solid.github.io/specification/)
|
||||
* [Solid Chat] https://gitter.im/solid/specification)
|
||||
* [Solid Community Group Meetings](https://www.w3.org/community/solid/wiki/Meetings)
|
||||
|
||||
[Solid: A Platform for Decentralized Social
|
||||
Applications Based on Linked Data](https://pdfs.semanticscholar.org/5ac9/3548fd0628f7ff8ff65b5878d04c79c513c4.pdf)
|
||||
[LDN Test Reports and Summary](https://linkedresearch.org/ldn/tests/summary)
|
||||
|
||||
(contributions also from Rahul Kothari)
|
||||
[Linked Research on the Decentralised Web](https://csarven.ca/linked-research-decentralised-web#decentralised-linked-research-application)
|
||||
|
||||
|
||||
[A Demonstration of the Solid Platform for Social Web Applications](http://crosscloud.org/2016/www-mansour-pdf.pdf)
|
||||
|
||||
|
||||
(contributions also from Rahul Kothari and Sarven Capadisli)
|
||||
|
||||
### Payload example
|
||||
```
|
||||
{
|
||||
"@context": {
|
||||
"@language": "en",
|
||||
"sioc": "http://rdfs.org/sioc/ns#",
|
||||
"foaf": "http://xmlns.com/foaf/0.1/"
|
||||
},
|
||||
"@id": "",
|
||||
"@type": "sioc:Comment",
|
||||
"sioc:reply_of": { "@id": "http://example.org/article" },
|
||||
"sioc:created_at": {
|
||||
"@type": "http://www.w3.org/2001/XMLSchema#dateTime",
|
||||
"@value": "2015-12-23T16:44:21Z"
|
||||
},
|
||||
"sioc:content": "This is a great article!",
|
||||
"sioc:has_creator": {
|
||||
"@id": "http://example.org/profile",
|
||||
"@type": "sioc:UserAccount",
|
||||
"sioc:account_of": { "@id": "http://example.org/profile#alice" },
|
||||
"sioc:avatar": { "@id": "http://example.org/profile/avatar.png" },
|
||||
"foaf:name": "Alice"
|
||||
}
|
||||
}
|
||||
```
|
@ -1,5 +1,3 @@
|
||||
# Name
|
||||
|
||||
### Identity
|
||||
|
||||
### Networking/Message passing
|
||||
@ -16,14 +14,12 @@
|
||||
|
||||
### User experience (if applies)
|
||||
|
||||
### Interop with other systems
|
||||
### Interoperability
|
||||
|
||||
in particular - what is the minimum requirement for a message to enter or leave the system?
|
||||
what is the minimum requirement for a message to enter or leave the system?
|
||||
|
||||
### Scalability
|
||||
|
||||
### Metrics
|
||||
|
||||
### In the wild
|
||||
|
||||
### Links
|
||||
|
Loading…
x
Reference in New Issue
Block a user