GUN is an open-source decentralized database service that allows developers to build fast peer-to-peer applications that will work, even when their users are offline.
As GUN founder Mark Nadal told me, it’s been about four years since he started working on this problem, mostly because he saw the database behind his early projects as a single point of failure. When the database goes down, most online services will die with it, after all. So the idea behind GUN is to offer a decentralized database system that offers real-time updates with eventual consistency. You can use GUN to build a peer-to-peer database or opt for a multi-master setup. In this scheme, a cloud-based server simply becomes another peer in the network (though one with more resources and reliability than a user’s browser). GUN users get tools for conflict resolution and other core features out of the box and the data is automatically distributed between peers. When users go offline, data is cached locally and then merged back into this database once they come online.
Nadal built the first prototype of GUN back in 2014, based on a mix of Firebase, MySQL, MongoDB and Cassandra. That was obviously a bit of a hack, but it gained him some traction among developers and enough momentum to carry the idea forward.
Today, the system has been used to build everything from a decentralized version of Reddit (which isn’t currently working) that can handle a few million uniques per month and a similarly decentralized YouTube clone.
Nadal also argues that his system has major speed advantages over some of the incumbents. “From our initial tests we find that for caching, our product is 28 times faster than Redis, MongoDB and others. Now we are looking for partnerships with companies pioneering technology in gaming, IoT, VR and distributed machine learning,” he said.
The Dutch Navy is already using it for some IoT services on its ships and a number of other groups are using it for their AI/ML services. Because its use cases are similar to that of many blockchain projects, Nadal is also looking at how he can target some of those developers to take a closer look at GUN.
SFCDEVS: Beyond DAGS: Introducing Proof of Propagation & scalable blockchains w/ GunDB!