basically what ipfs does when you add some data to the node is this: - it breaks files into chunks of a certain size - the chunks are hashed - each file is then represented as a list of links to chunk hashes - it then hashes that link list, this is the hash of that file - directories are then also lists of links to file hashes, but the links are named this time - then it hashes *that* link list, which is the hash of the directory