3.0 KiB
GUN
GUN is a decentralized graph database, and an ecosystem of tools.
The stack includes:
- ERA (economic system)
- AXE (routing)
- DAM (networking)
- RAD (storage)
- SEA (security)
- GUN (data)
- HAM (conflict resolution)
Network structure
Decentralized/p2p. Uses data replication via message passing.
It daisy-chains, routes, & relays messages.
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 to SEA which provides the underlying cryptographic Security, Encryption, & Authorization.
Data
- Data models (graphs, key/value, document, table, relational, hyper-graphs)
- Data availability (AP, strongly eventually consistent)
Monetization
- 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])
Moderation
Iris and NAB (see above link).
- Protocol level (no)
- Server level (no)
- User level (yes)
- Content level (yes)
Privacy and Access Control
- Cryptographic keys are assigned to roles, groups, or data points.
- This information is either used to derive a shared ECDH secret to decrypt (read)
- Or used to load collaborative multi-writer edits (signed).
Interoperablity
Plugins, such as backup storage on centralized databases or file systems, can be used to extend GUN.
Scalability
A user reported a 70% cost savings on cloud bills on a project with 1M+ page loads a month.
Metrics
Implementations
- Internet Archive (library meta-data)
- HackerNoon (annotations)
- Meething (Mozilla backed secure & decentralized video conferencing powered by GUN)
- Iris, Notabug, DTube, others... Party Notabug