p2p DB in JS using CRDT. That sounds a lot like GUN. How does OrbitDB compare to GUN?
> How does OrbitDB compare to GUN? I went to a meetup where the creator of GUN gave a presentation. To this day, it was the single strangest presentation I've ever experienced. The presentation had numerous obvious errors. The audience kept pointing out major misunderstandings and errors about distributed systems. I remember one awkward moment where someone pointed out a glaring error in the author's model of conflic…
OrbitDB: Peer-to-peer databases for the decentralized web
61–70 of 119 posts
Re: OrbitDB: Peer-to-peer databases for the decentralized web
#62Earlier quoted context omitted.
This is an open problem. It might be surprising to find out that it's quite difficult. CRDTs usually work as last-write-wins, meaning that if you have a key-value store, the last update to update a key 'wins' the value via the way oplog reduction works. If you reverse that to a FIRST-write-wins log, you can grant permissions and ownership on a first-come, first-serve basis. Revocation, then, becomes the issue. What d…
> CRDTs usually work as last-write-wins Um.
What I meant, since LWW is nomenclature for an alternative to CRDTs, is that the last writer by _logical clock_ in a CRDT, not by _wall clock_ time, will "win" the key.
Re: OrbitDB: Peer-to-peer databases for the decentralized web
#63A database implemented in JS; very encouraging. I guess performance and robustness were not a priority.
Re: OrbitDB: Peer-to-peer databases for the decentralized web
#64Hey folks! I'm https://twitter.com/aphelionz . One of the maintainers of OrbitDB. Happy to answer any questions you might have. I'll also be in the thread answering folks as well.
Hello! Thanks for maintaining an open source project. I am excited to see IPFS take off. Some basic questions, as I am still struggling to see the use case of this project. * How did this project get started? What problem is it trying to solve? * Are there any real world examples of where this project is used?
OrbitDB got started because we wanted to build serverless applications, especially for the web (ie. applications that run in the browser.) Serverless meaning "no server" and no central authority, ie. something that can't be shut down.
OrbitDB gives tools to build systems and applications where the user owns their data, that is, the data that is not controlled by a service. As a way of simple example, imagine Twitter that doesn't have one massive database for all tweets, but rather you'd have one database for each user.
Re: OrbitDB: Peer-to-peer databases for the decentralized web
#65Earlier quoted context omitted.
> CRDTs usually work as last-write-wins Um.
Ah, sorry, yes I stepped on a rake and whacked myself in the face here. What I meant, since LWW is nomenclature for an alternative to CRDTs, is that the last writer by _logical clock_ in a CRDT, not by _wall clock_ time, will "win" the key.
I think you're still stepping on rakes...
Re: OrbitDB: Peer-to-peer databases for the decentralized web
#66Re: OrbitDB: Peer-to-peer databases for the decentralized web
#67A database implemented in JS; very encouraging. I guess performance and robustness were not a priority.
You'd be surprised how well JS does on both fronts, in addition to being able to run across platforms :)
Re: OrbitDB: Peer-to-peer databases for the decentralized web
#68Earlier quoted context omitted.
Can you elaborate? Source code to GUN is right here: https://github.com/amark/gun/tree/master/src
Yes sorry for not doing this. In the source code folder, please open any random file and try to understand what the code does. I once tried to fix a bug that I found in GUN but I gave up after just trying to figure out what the code is supposed to do.
Re: OrbitDB: Peer-to-peer databases for the decentralized web
#69What is the use case for this ?
Re: OrbitDB: Peer-to-peer databases for the decentralized web
#70Earlier quoted context omitted.
This is an open problem. It might be surprising to find out that it's quite difficult. CRDTs usually work as last-write-wins, meaning that if you have a key-value store, the last update to update a key 'wins' the value via the way oplog reduction works. If you reverse that to a FIRST-write-wins log, you can grant permissions and ownership on a first-come, first-serve basis. Revocation, then, becomes the issue. What d…
> CRDTs usually work as last-write-wins Um.