CS297 Proposal
High performance distributed file system based on blockchain
Ajinkya Rajguru (akrajguru@gmail.com)
Advisor: Dr. Chris Pollett
Description:
In today's data driven world built on ease of accessibility and constant availability of data, decentralized storage systems play a significant role. A distributed filesystem is a file system which allows access to files/data at anytime through a computer network which can be stored on multiple file servers or locations. It unleashes the real potential of file sharing, controlled access of data and data reliability. Blockchain is a distributed ledger which stores records that are immutable and sharable. Introducing blockchain while developing a distributed filesystem provides a much needed boost of increased stability, robust auditing, higher data integrity, etc. The aim of this project is to improve the performance of a blockchain based filesystem. This includes performance measurement of existing filesystems and developing a novel distributed filesystem by leveraging an existing blockchain technology (like Ethereum).
Schedule:
Week 1:
Aug 23 - Aug 30 | Finalize the project topic along with deliverables and draft a proposal |
Week 2:
Aug 30 - Sep 6 | Study research papers related to existing blockchain based distributed filesystems similar to the one's mentioned by Huang et al.[1] |
Week 3:
Sep 6 - Sep 13 | Begin working on Deliverable 1 to implement the Chord as proposed by Stoica et al.[5] |
Week 4:
Sep 13 - Sep 20 | Completion of Deliverable 1 and research on blockchain technologies |
Week 5:
Sep 20 - Sep 27 | Begin working on Deliverable 2 to begin the performance testing using different metrics like the one's sugegested by Zheng et al.[3] |
Week 6:
Sep 27 - Oct 4 | Continue working on Deliverable 2 |
Week 7:
Oct 4 - Oct 11 | Begin working on Deliverable 2 to begin the performance testing using different metrics like the one's sugegested by Zheng et al.[3] |
Week 8:
Oct 11 - Oct 18 | Continue working on Deliverable 2 |
Week 9:
Oct 18 - Oct 25 | Continue working on Deliverable 2 and start working on the basic architecture of the filesystem |
Week 10:
Oct 25 - Nov 1 | Finish Deliverable 2 and Begin Deliverable 3 |
Week 11:
Nov 1 - Nov 8 | Continue working on Deliverable 3 and start working on Ethereum [2] |
Week 12:
Nov 8 - Nov 15 | Finish Deliverable 3 |
Week 13:
Nov 15 - Nov 22 | Begin Deliverable 4 |
Week 14:
Nov 22 - Nov 29 | Continue working on Deliverable 4 |
Week 15:
Nov 29 - Dec 6 | Finish Deliverable 4 |
Week 16:
Dec 6 - Dec 13 | Work on the final report |
Deliverables:
The full project will be done when CS298 is completed. The following will
be done by the end of CS297:
1. Finalize 3 research papers on blockchain based filesystem and implement an example of the chord protocol - Research on different blockchain based distributed filesystems and finalize 3 suitable technologies and implement the famous scalable lookup protocol which maps data to a particular node.
2. Deploy and execute performance testing on each of the 3 file systems and implement a toy example of one filesystem - Try to work with the finalized 3 file systems and do performance testing on different aspects to evaluate their capacity and capabilities.
3. Basic implementation of a simple distributed filesystem - Design and implement a decentralized filesystem structure which could work with multiple file blocks depending upon the architecture and perform basic tasks.
4. Integrating smart contract leveraging Ethereum - Try to work with smart contracts [4] using solidity on Ethereum and develop a gambling game for 5 players using solidity
5. CS297 report.
References:
[1] [2020] When Blockchain Meets Distributed File Systems: An Overview, Challenges, and Open Issues. H. Huang, J. Lin, B. Zheng, Z. Zheng and J. Bian. IEEE Access, vol. 8, pp. 50574-50586, 2020, doi: 10.1109/ACCESS.2020.2979881.
[2] https://ethereum.org/en/developers/
[3] [2020] A Detailed and Real-Time Performance Monitoring Framework for Blockchain Systems. P. Zheng, Z. Zheng, X. Luo, X. Chen and X. Liu, 2018 IEEE/ACM 40th International Conference on Software Engineering: Software Engineering in Practice Track (ICSE-SEIP), 2018, pp. 134-143.
[4] [2021] Blockchain smart contracts: Applications, challenges, and future trends. Khan, S.N., Loukil, F., Ghedira-Guegan, C. et al. Peer-to-Peer Netw. Appl. 14, 2901–2925 (2021). https://doi-org.libaccess.sjlibrary.org/10.1007/s12083-021-01127-0
[5] [2003] Stoica et al., "Chord: a scalable peer-to-peer lookup protocol for Internet applications," in IEEE/ACM Transactions on Networking, vol. 11, no. 1, pp. 17-32, Feb. 2003, doi: 10.1109/TNET.2002.808407. |