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 # GUN
## Stats GUN is a decentralized graph database, and an ecosystem of tools.
- 11K+ [github](https://github.com/amark/gun) stars The stack includes:
- 10M ~ 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) - [ERA](https://www.youtube.com/watch?v=1HJdrBk3BlE) (economic system)
- [AXE](http://axe.eco) (routing) - [AXE](http://axe.eco) (routing)
@ -19,48 +12,28 @@ https://stanford.edu/~nadal/A-Decentralized-Data-Synchronization-Protocol.pdf
- [GUN](http://gun.eco) (data) - [GUN](http://gun.eco) (data)
- [HAM](https://gun.eco/distributed/matters.html) (conflict resolution) - [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. Decentralized/p2p. Uses data replication via message passing.
- 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. 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. It also works over most existing transports: WebRTC, UDP multicast, TCP/HTTP -> Websocket, etc.
But also works over most existing transports: WebRTC, UDP multicast, TCP/HTTP -> Websocket, etc.
## Identity ## 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. 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
- Data models (graphs, key/value, document, table, relational, hyper-graphs) - Data models (graphs, key/value, document, table, relational, hyper-graphs)
- Data availability ([AP](https://gun.eco/docs/CAP-Theorem), strongly eventually consistent) - 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) - Business models (Open Source, donation, enterprise, + decentralized PaaS, dBaaS, SaaS, Marketplace)
- Payment (AXE bandwidth credits) - Payment (AXE bandwidth credits)
@ -68,7 +41,6 @@ And, password recovery using a 3-Friend-Authorization approach that we cutely ca
#### Filtering #### Filtering
- Queries (GUN, [GraphQL](https://github.com/brysgo/graphql-gun), historical prototypes of SQL, Mango [Mongo]) - 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 #### Moderation
@ -79,30 +51,24 @@ Iris and NAB (see above link).
- User level (yes) - User level (yes)
- Content level (yes) - Content level (yes)
### Social/Discovery
See "identity" section.
### Privacy and Access Control ### Privacy and Access Control
1. Cryptographic keys are assigned to roles, groups, or data points. 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) 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). 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 Plugins, such as backup storage on centralized databases or file systems, can be used to extend GUN.
Via plugins, such as backup storage on centralized databases or file systems, or transport layers to other protocols.
### Scalability ### Scalability
- We've seen a [70% cost savings](https://twitter.com/cagataycali/status/1245442681251205120) on projects with 1M+ page loads a month. 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.
- We've seen in-production deployments with 5M+ monthly active users without increasing infrastructure costs.
### Metrics ### 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 ### Implementations
@ -110,3 +76,9 @@ See "stats" section at top.
- [HackerNoon](https://hackernoon.com/state-of-hacker-noon-2019-2020-8w1ls3axx) (annotations) - [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) - [Meething](https://meething.space/) (Mozilla backed secure & decentralized video conferencing powered by GUN)
- Iris, Notabug, DTube, others... - 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)