Original author(s) | Mark Nadal |
---|---|
Developer(s) | ERA Inc |
Initial release | 2014 |
Repository | github |
Written in | JavaScript |
Type | NoSQL, Graph database, Javascript library |
License | MIT License, Apache 2.0, zlib License |
Website | gun |
GUN (also known as Graph Universe Node, gun.js, and gunDB) is an open source, offline-first, real-time, decentralized, graph database written in JavaScript for the web browser. [1] [2]
The database is implemented as a peer-to-peer network distributed across "Browser Peers" and "Runtime Peers". It employs multi-master replication with a custom commutative replicated data type (CRDT). [3]
GUN is currently used in the decentralized version of the Internet Archive. [4] [5]
For these reasons, Archive.org is testing a decentralized version, or DWeb version, of their web site that allows their content to be delivered over peer-to-peer connections with different hosts sharing portions of or the same content. This decentralized version of Archive.org is running on the domain dweb.me or dweb.archive.org and uses a combination of HTTP and peer-to-peer protocols such as yjs, IPFS, WebTorrent, and GUN to deliver the content.
We went and built at the Internet Archive a demo, a couple of years old now called dweb.archive.org. The idea is can we build the Internet Archive but decentralized and that was kind of an interesting approach. It tried to leverage things like WebTorrent, IPFS, GUN, some of the early technologies that try to build decentralized tech such that any particular piece of hardware or institution could go away yet you still have access to the resources.