diff --git a/protocols/gun.md b/protocols/gun.md index 736cc98..13ace05 100644 --- a/protocols/gun.md +++ b/protocols/gun.md @@ -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)