8 ms·
Hey folks! I'm https://twitter.com/aphelionz https://twitter.com/aphelionz. One of the maintainers of OrbitDB. Happy to answer any questions you might have. I'l
by markhenderson 6y ago
Hey folks! I'm https://twitter.com/aphelionz 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.
- Nican 6y agoHello! 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?
- markhenderson 6y agotl;dr: You use this any time you want to have mutable data shared across a peer-to-peer network. I wasn't there at the beginning but I believe the project came out of trying to achieve said mutable state within IPFS (which, for other readers is content-addressed and therefore append-only) http://orbitdb.org http://orbitdb.org lists all of our current users, the biggest one is Metamask by way of https://3box.io https://3box.io. https://tallylab.com https://tallylab.com is building with it for remote encrypted backup and shared tallies. https://github.com/dappkit/aviondb https://github.com/dappkit/aviondb is a MongoDB-like interface for it.
- haadcode 6y ago> * How did this project get started? What problem is it trying to solve? 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.
- haadcode 6y agoOne great piece of writing to think about the use cases and what kind of systems and applications can be built following the concepts applied in OrbitDB is this "Local-first software" https://www.inkandswitch.com/local-first.html https://www.inkandswitch.com/local-first.html (there's prolly a thread somewhere here too on that).
- billconan 6y agoI want to build a reddit like community using orbitdb. But orbitdb can't freely add and remove user permissions. When will this feature be implemented?
- markhenderson 6y agoThis 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 do you do with the records they already have? Questions like that are plentiful. The approach most people take is to find workarounds or "good enough" solutions here, either by using encryption and allowing the encrypted data to be public, or by using some sort of other OrbitDB store as their ACL and management, and only giving select keys access to write to said ACL store in the first place. Adding encryption into the mix though, particularly multi-writer, becomes exponentially harder.
- sagichmal 6y ago> CRDTs usually work as last-write-wins Um.
- markhenderson 6y agoAh, 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.
- sagichmal 6y ago> LWW is nomenclature for an alternative to CRDTs I think you're still stepping on rakes...
- 6y ago
- dvh 6y agoWhat happen if someone posts illegal content?
- SamuelAdams 6y agoAlso, what happens if someone posts content that is legal in one country, but illegal in another? Can end users filter the content they host to content within their own country? Examples: content about Tiananmen Square 1989.
- s3n4 6y agoOrbitDB are p2p database instances on top of IPFS, and front-ends or users can always filter the content they display.
- s3n4 6y agoAuthors can always remove/delete their own posts from a thread, and threads also have a set of moderators. This needs to be set in the thread configuration. More advanced moderation tools can be built on top, too.