Rm raw stack notes
This commit is contained in:
parent
88dc0dbba4
commit
eda37d3b50
|
@ -1,94 +0,0 @@
|
||||||
### Key problems and existing approaches
|
|
||||||
|
|
||||||
See links in [overview.md](overview.md) for some mighty attempts at comprehensive lists of dweb protocols and projects.
|
|
||||||
|
|
||||||
The purpose of this document is to try to analyze how some of the existing dweb projects attack certain key problems:
|
|
||||||
|
|
||||||
* discovery of users and content
|
|
||||||
* interoperable messaging
|
|
||||||
* message queueing and persistence
|
|
||||||
* reputation
|
|
||||||
* identity and pseudonymity
|
|
||||||
* metadata and ownership
|
|
||||||
* economy of services
|
|
||||||
* scalability
|
|
||||||
* testing and metrics
|
|
||||||
|
|
||||||
Fundamental user stories being addressed here: I want to...send a message to a person I know, and I don't know what system they use for messaging; find a topic or person by keyword search; find reliable and credible information or resources on a topic; know the ownership/conditions around resources I find; have a way to pay for all the services without privacy intrusions; have a fast and stable experience at global scale; and have some way to evaluate all of the above on different systems.
|
|
||||||
|
|
||||||
### Discovery
|
|
||||||
|
|
||||||
* gossip mesh systems
|
|
||||||
|
|
||||||
* indexing and follow-bots
|
|
||||||
|
|
||||||
_how does one discover users and topics within each ecosystem_
|
|
||||||
IRIS - WoT mapping of human readable names to identity attributes - https://github.com/irislib/iris
|
|
||||||
|
|
||||||
### Messaging between systems
|
|
||||||
|
|
||||||
*What does a message from a user to another user look like on the wire?*
|
|
||||||
_(how similar are the schemas? can there be a universal schema with namespacing?)_
|
|
||||||
|
|
||||||
* Matrix - https://matrix.org/docs/spec/
|
|
||||||
(proposal for related events - https://github.com/matrix-org/matrix-doc/blob/matthew/msc1849/proposals/1849-aggregations.md)
|
|
||||||
Matrix messages are sent to rooms, which users are subscribed to. to message a user you first invite them to a room
|
|
||||||
```
|
|
||||||
PUT /_matrix/client/r0/rooms/%21636q39766251%3Aexample.com/send/m.room.message/35 HTTP/1.1
|
|
||||||
Content-Type: application/json
|
|
||||||
|
|
||||||
{
|
|
||||||
"msgtype": "m.text",
|
|
||||||
"body": "hello"
|
|
||||||
}
|
|
||||||
```
|
|
||||||
|
|
||||||
* ActivityPub - https://www.w3.org/TR/activitypub/
|
|
||||||
POST to the user's server's outbox endpoint
|
|
||||||
```{"@context": "https://www.w3.org/ns/activitystreams",
|
|
||||||
"type": "Note",
|
|
||||||
"to": ["https://chatty.example/ben/"],
|
|
||||||
"attributedTo": "https://social.example/alyssa/",
|
|
||||||
"content": "Say, did you finish reading that book I lent you?"}
|
|
||||||
```
|
|
||||||
|
|
||||||
### Message queueing and persistence
|
|
||||||
|
|
||||||
* Matrix - peered storage, replicated JSON between nodes
|
|
||||||
|
|
||||||
* GUN - graph db
|
|
||||||
|
|
||||||
* Mastodon - federated servers
|
|
||||||
|
|
||||||
### General decentralized storage
|
|
||||||
|
|
||||||
* IPFS - immutable, content-hash addressed
|
|
||||||
|
|
||||||
* DAT
|
|
||||||
|
|
||||||
* mutable systems using CRDTs
|
|
||||||
|
|
||||||
Example: GUN stores hacker noon annotations on user local storage - https://www.coindesk.com/hacker-noon-is-storing-content-on-a-blockchain-after-ditching-medium
|
|
||||||
|
|
||||||
|
|
||||||
### Reputation/credibility
|
|
||||||
|
|
||||||
* IRIS
|
|
||||||
|
|
||||||
### Identity
|
|
||||||
|
|
||||||
### Metadata and ownership
|
|
||||||
|
|
||||||
* Ceramic
|
|
||||||
|
|
||||||
### Economy of services
|
|
||||||
|
|
||||||
### Scalability
|
|
||||||
|
|
||||||
* AXE (reduce unneeded connections)
|
|
||||||
https://gun.eco/docs/AXE
|
|
||||||
|
|
||||||
### Testing and Metrics
|
|
||||||
|
|
||||||
* PANIC - https://github.com/gundb/panic-server
|
|
||||||
|
|
Loading…
Reference in New Issue