This commit is contained in:
Jay Graber 2020-06-08 11:40:05 -07:00
parent 5eafe7036a
commit 39997a25f5
1 changed files with 21 additions and 49 deletions

View File

@ -1,15 +1,8 @@
# GUN
## Stats
GUN is a decentralized graph database, and an ecosystem of tools.
- 11K+ [github](https://github.com/amark/gun) stars
- 10M ~ 30M [downloads](https://www.jsdelivr.com/package/npm/gun) monthly
## Whitepaper
https://stanford.edu/~nadal/A-Decentralized-Data-Synchronization-Protocol.pdf
## Stack
The stack includes:
- [ERA](https://www.youtube.com/watch?v=1HJdrBk3BlE) (economic system)
- [AXE](http://axe.eco) (routing)
@ -19,48 +12,28 @@ https://stanford.edu/~nadal/A-Decentralized-Data-Synchronization-Protocol.pdf
- [GUN](http://gun.eco) (data)
- [HAM](https://gun.eco/distributed/matters.html) (conflict resolution)
## Bluesky
### Network structure
- 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.
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.
It also works over most existing transports: WebRTC, UDP multicast, TCP/HTTP -> Websocket, etc.
## Identity
GUN supports multi-device login that is cryptographically secure yet uses "normal" UX. (?) This technique can be extended to secure password resets (no servers).
There is a password recovery mechanism using a 3-Friend-Authorization approach.
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
#### Monetization
- Business models (Open Source, donation, enterprise, + decentralized PaaS, dBaaS, SaaS, Marketplace)
- Payment (AXE bandwidth credits)
@ -68,7 +41,6 @@ And, password recovery using a 3-Friend-Authorization approach that we cutely ca
#### 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
@ -79,30 +51,24 @@ Iris and NAB (see above link).
- User level (yes)
- Content level (yes)
### 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.
### Interoperablity
### Interop with other systems
Via plugins, such as backup storage on centralized databases or file systems, or transport layers to other protocols.
Plugins, such as backup storage on centralized databases or file systems, can be used to extend GUN.
### 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.
A user reported a [70% cost savings](https://twitter.com/cagataycali/status/1245442681251205120) on cloud bills on a project with 1M+ page loads a month.
### Metrics
See "stats" section at top.
- 11K+ [github](https://github.com/amark/gun) stars
- 10M ~ 30M monthly [downloads](https://www.jsdelivr.com/package/npm/gun)
### Implementations
@ -110,3 +76,9 @@ See "stats" section at top.
- [HackerNoon](https://hackernoon.com/state-of-hacker-noon-2019-2020-8w1ls3axx) (annotations)
- [Meething](https://meething.space/) (Mozilla backed secure & decentralized video conferencing powered by GUN)
- Iris, Notabug, DTube, others...
[Party](https://party.lol/)
[Notabug](https://notabug.io/t/notabug/comments/59382d2a08b7d7073415b5b6ae29dfe617690d74/welcome-to-notabug)
### Links
[Whitepaper](https://stanford.edu/~nadal/A-Decentralized-Data-Synchronization-Protocol.pdf)