On Mon, 3 Jan 2022 21:13:14 -0000 (UTC), Jason Evans wrote:
On Tue, 28 Dec 2021 06:53:48 -0000 (UTC), meff wrote:
Does this mean that the local DB connects to *any* remote DB or is there actually a centralized DB that is connects to?
Huh this is a good question. I did some digging into this. OrbitDB is
backed by a CRDT. Most CRDTs are append-only (due to the way consensus
works with most CRDTs), so I was curious about how a PUT or DELETE would
work. The field manual (
https://github.com/orbitdb/field-manual) doesn't
seem ready yet, so it's not documented there and I didn't have a chance to
dive into the code. Having implemented CRDTs before, I imagine they append
some sort of edit or tombstone record onto the shared stream and use that
to note edits and deletes.
In sum, a client can connect to any DB node, and these DB nodes should
have consensus on the state of the database. In theory, each client can
run its own node that connects to the CRDT swarm, but it's unclear how
easy that would be given the state of IPv4 NAT these days.
--- SoupGate-Win32 v1.05
* Origin: fsxNet Usenet Gateway (21:1/5)