Safe Network Dev Update - August 27, 2020

One of the first thoughts that came to mind when I saw crdt-tree published was “I wonder if they could do a crdt-forest?” ie. A crdt-tree of crdt-trees. Seems like it could be the backbone of a very flexible filesystem similar to ext4, where some items are just inodes and others are actual data chunks. I haven’t thought much more about that though. I suppose you could mimick an ext4 filesystem with just a single crdt-tree…

1 Like

I believe forest is terminology used within crdt-tree actually.

While it is possible to store file data in the tree, I think it is problematic to do efficiently, as every modification would require sending the full file contents over the wire, even if only 1 byte was written. This is because crdt_tree supports only a single type of operation for a tree node, Move, which sends all node data.

There is a way around this using multiple inverse operations, where each op has an inverse operation for undo/redo (eg mkdir ↔ rmdir). In this scenario, an actual write op can be sent across the wire, with only the new bytes. I have access to a paper that demonstrates this. However doing it this way, the file content is no longer stored as ImmutableData, is not directly accessible by XorName, etc.

1 Like

Thank you for the heavy work team MaidSafe! Small and positive changes lead to big Safe things!

I add the translation into Bulgarian in the first post :dragon:

5 Likes

Crdt-tree → Safe Network Universal File System?

Why can’t the crdt node store a single chunk or set of inodes like how HDD blocks are referenced on a local filesystem?

Why can’t the contents of a single node be accessed/returned?