Chris Pollett >
Students > [Bio] [Blog] |
CS297 Deliverable 3Basic file structure to store a file in a decentralized wayDescription:This project contains an implementation of the basic file structure which can be used to implement a decentralized file system Results Deliverable 3 includes the basic structure of the File system. It includes an example of how a file could be stored in a decentralized manner and leverage the DHT architecture to locate and reconstruct the files. The approach implemented below makes use of the Merkle tree file structure. Results: 1. File size spanning from a few KBs to a couple of GBs can be easily mapped to a Merkle tree structure using their hashes and Below shoes the file structure generated as metadata where every node which is not a root or a leaf node will contain 128 Each file containing 128 entries with each entry of 256 bytes hash string is of 8KB size. Each entry leads to another file until it leads to a block of data. The root file with its hash as the name and its children: Normal file with 128 hash strings The below screenshot shows the time required to create tree structure for a 48kb file with its root hash which can be used to check the credibility of a file bay reconstructing the tree from received bytes. Followed by a basic tree structure which contains 12 children of the root node with their end bytes: In conclusion IPFS performs better than Storj when it comes to uploading a file as big as 400 MB or 1 GB. The Java implementation is available at [ Download - Zip ] |