94 lines
3.2 KiB
Markdown
94 lines
3.2 KiB
Markdown
# GUN
|
|
|
|
## Stats
|
|
|
|
- 11K+ [github](https://github.com/amark/gun) stars
|
|
- 3M ~ 30M [downloads](https://www.jsdelivr.com/package/npm/gun) monthly
|
|
|
|
## 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)
|
|
|
|
|
|
### Social/Discovery
|
|
|
|
### Privacy and Access Control
|
|
|
|
### Interop with other systems
|
|
|
|
### Scalability
|
|
|
|
### Metrics
|
|
|
|
### In the wild
|