3 ms·
I've implemented CHAMP [0] for Peergos in the IPLD/IPFS setting, largely based on the Steindorfer paper. There is one improvement that whyrusleeping from ipfs c
by ianopolous 6y ago
I've implemented CHAMP [0] for Peergos in the IPLD/IPFS setting, largely based on the Steindorfer paper. There is one improvement that whyrusleeping from ipfs came up with which is to allow a small number of hash collisions in a level, before pushing things down a level.
[0] https://github.com/Peergos/Peergos/blob/master/src/peergos/shared/hamt/Champ.java https://github.com/Peergos/Peergos/blob/master/src/peergos/s...
- omginternets 6y agoThanks for the link, this is super helpful. I posted my parent comment opportunistically, so I have yet to distill my reading into specific, well-formed questions. Is there any way I can message you when I get around to doing so? In the meantime: >There is one improvement that whyrusleeping from ipfs came up with which is to allow a small number of hash collisions in a level, before pushing things down a level. How is this an improvement, exactly?
- ianopolous 6y agoSure, I have a protonmail email with my github username. >How is this an improvement, exactly? This allows you to essentially make the tree "fatter" for a given bitwidth. This matters more in the ipfs setting because links are not memory pointers, but Merkle-links to objects which may be a network request away.
- omginternets 6y agoAh ok, that makes sense. I've sent you an email with from my personal gmail account. I really appreciate the help, thanks!
- 1DRACOSEA8 6y agoThere are conference papers answering your one-level two-level question, but I found you pedantic; comfortable, almost as if you’d want us to do work for you and find you a “link”. Nice and Easy, just felt very “Hey Slave over there”. Uh huh, Go and look for one-level hybrid storage on the USENIX archives.