ecosistema-social-decentral.../protocols/gun.md

115 lines
4.4 KiB
Markdown
Raw Normal View History

2020-04-26 19:10:06 +02:00
# GUN
## Stats
- 11K+ [github](https://github.com/amark/gun) stars
2020-06-01 00:30:15 +02:00
- 10M ~ 30M [downloads](https://www.jsdelivr.com/package/npm/gun) monthly
2020-04-26 19:10:06 +02:00
## Whitepaper
https://stanford.edu/~nadal/A-Decentralized-Data-Synchronization-Protocol.pdf
## Stack
- [ERA](https://www.youtube.com/watch?v=1HJdrBk3BlE) (economic system)
- [AXE](http://axe.eco) (routing)
- [DAM](https://gun.eco/docs/DAM) (networking)
- [RAD](https://gun.eco/docs/RAD) (storage)
- [SEA](https://gun.eco/docs/SEA) (security)
- [GUN](http://gun.eco) (data)
- [HAM](https://gun.eco/distributed/matters.html) (conflict resolution)
## Bluesky
- Creating customizable interfaces: See [Party](https://party.lol/) which reuses any existing website (gmail, twitter, Facebook, reddit, etc.) for E2EE messages.
- Communities setting norms: See my article on [emotionally intelligent social networks](https://hackernoon.com/a-new-kind-of-social-network-emotional-intelligence-e45dcddb1bdb), also check out the wild [Notabug](https://notabug.io/t/notabug/comments/59382d2a08b7d7073415b5b6ae29dfe617690d74/welcome-to-notabug) experiment.
- Keeping public conversation from fragmenting: Check out ["How to fix the internet"](https://hackernoon.com/what-is-wrong-with-the-internet-and-how-to-fix-it-c67w32no) by [Martti Malmi](https://twitter.com/marttimalmi) (Satoshi's 1st Bitcoin contributor) which is exactly this.
## Network structure
Decentralized/p2p.
Uses data replication via message passing.
It daisy-chains, [routes](https://gun.eco/docs/Routing), & relays messages.
Think of it as doing also what the internet, routers, switches, etc. already does.
But also works over most existing transports: WebRTC, UDP multicast, TCP/HTTP -> Websocket, etc.
## Identity
Iris adds a [reputation system](https://medium.com/@mmalmi/learning-to-trust-strangers-167b652a654f) to SEA which provides the underlying cryptographic Security, Encryption, & Authorization.
The most important differentiating factor is that we support multi-device login that is cryptographically secure yet uses "normal" UX.
This technique can be extended to secure password resets (no servers)
And, password recovery using a 3-Friend-Authorization approach that we cutely call 3FA (please don't use this with your Bitcoins).
- Decentralized identity (ECDSA)
- Key management (Iris)
- Key verification (Iris)
- Key backup (GUN+SEA)
- Reputation, Trust (Iris)
- Account recovery (3FA)
- Privacy (ECDH, AES)
#### Data
- Data models (graphs, key/value, document, table, relational, hyper-graphs)
- Data availability ([AP](https://gun.eco/docs/CAP-Theorem), strongly eventually consistent)
#### Money
- Business models (Open Source, donation, enterprise, + decentralized PaaS, dBaaS, SaaS, Marketplace)
- Payment (AXE bandwidth credits)
#### Filtering
- Queries (GUN, [GraphQL](https://github.com/brysgo/graphql-gun), historical prototypes of SQL, Mango [Mongo])
- Curation (Iris, also see [NAB](https://notabug.io/t/notabug/comments/59382d2a08b7d7073415b5b6ae29dfe617690d74/welcome-to-notabug))
#### Moderation
Iris and NAB (see above link).
- Protocol level (no)
- Server level (no)
- User level (yes)
- Content level (yes)
2020-05-18 02:40:45 +02:00
### Social/Discovery
2020-06-01 00:30:15 +02:00
See "identity" section.
2020-05-18 02:40:45 +02:00
### Privacy and Access Control
2020-06-01 00:30:15 +02:00
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.
2020-05-18 02:40:45 +02:00
### Interop with other systems
2020-06-01 00:30:15 +02:00
Via plugins, such as backup storage on centralized databases or file systems, or transport layers to other protocols.
2020-05-18 02:40:45 +02:00
### Scalability
2020-06-01 00:30:15 +02:00
- 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.
2020-05-18 02:40:45 +02:00
### Metrics
2020-06-01 00:30:15 +02:00
See "stats" section at top.
2020-05-18 02:40:45 +02:00
### In the wild
2020-06-01 00:30:15 +02:00
- [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...