-
Notifications
You must be signed in to change notification settings - Fork 24
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Mantaray 1.0 #37
base: master
Are you sure you want to change the base?
Mantaray 1.0 #37
Conversation
Generally these improvements LGTM, but after reviewing the reference implementation I have reservations toward one change and that is toward the metadata layout and handling. First I am not sure what was the reasoning to have metadata in Forks. I assume to store data like filenames etc. I would be interested to hear how this reasoning changed with the introduction of Node's metadata. Could somebody elaborate? Maybe @zelig? Now to the point that I am not a fan of. I don't like having metadata spread in two places as it brings quite a big complexity overhead to implementation. For example:
I was thinking about what Fork's metadata allows in this setup and I could think of only one reason - it allows to directly reference a file from a Fork without the need to have another "leaf" Mantaray node as you can put the needed metadata (filename etc) info the Fork's metadata. My question is, is this sufficient reason to introduce the additional level of complexity? IMHO no, as I could imagine the main reason for this is to save space from not having the leaf node, but that is sort of contradicting with the fact that Fork metadata's size has to be aligned across all forks which leads to another level of "wasting", so we could just simply drop the Fork's metadata (which would simplify the protocol a lot) and have metadata only in Node, which would require for each file to have its own Node... |
thanks for your comment @AuHau
handling metadata on forks has some advantages such as giving information about the referenced resource before fetching it so you know its metadata that you need to know on parent level (e.g. directory listing in your terminal)
fork metadata has to have size limit if it is serialized in place. there is a plan to use content references for big sized and frequently used metadata later, but I think 1KB/fork is quite enough for the first round.
why exactly? You can get the
This is a well-known property, but has to be like this because the fix offsets in the |
This proposal fixes some design issues of the current
mantaray v0.2
data-structure and additionally provides better metadata handling and makes possible to have reliable web3 services that deal with tree-like data-structures.