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

3.1 KiB

GUN

Stats

11K+ github stars 3M ~ 30M downloads monthly

Whitepaper

https://stanford.edu/~nadal/A-Decentralized-Data-Synchronization-Protocol.pdf

Stack

  • ERA (economic system)
  • AXE (routing)
  • DAM (networking)
  • RAD (storage)
  • SEA (security)
  • GUN (data)
  • HAM (conflict resolution)

Bluesky

Network structure

Decentralized/p2p.

Uses data replication via message passing.

It daisy-chains, routes, & 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 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, strongly eventually consistent)

Money

  • Business models (Open Source, donation, enterprise, + decentralized PaaS, dBaaS, SaaS, Marketplace)
  • Payment (AXE bandwidth credits)

Filtering

  • Queries (GUN, GraphQL, historical prototypes of SQL, Mango [Mongo])
  • Curation (Iris, also see NAB)

Moderation

Iris and NAB (see above link).

  • Protocol level (no)
  • Server level (no)
  • User level (yes)
  • Content level (yes)