C6-Make Your Own Torrent Client!
This project aims to develop a custom torrent client using GoLang, integrating blockchain technology for a token-based reward system. The client will facilitate peer-to-peer (P2P) file sharing by downloading files in pieces from multiple peers in a BitTorrent swarm. The implementation leverages GoLang's concurrency support and garbage collection to optimize performance. Additionally, a blockchain-based incentive mechanism is introduced, rewarding users with cryptocurrency or tokens for seeding files and contributing to the network’s sustainability. The torrent client follows the standard workflow of acquiring a peer list, connecting with peers, requesting and downloading file pieces, merging them, and encouraging users to keep their devices available for seeding. By combining efficient P2P file distribution with blockchain-based incentives, this project enhances decentralized file sharing while promoting user participation.
Technologies Used:
GoLang: Chosen for its concurrency support, efficient garbage collection, and performance optimization.
Resources Used:
- https://pages.cs.wisc.edu/~remzi/OSTEP/
- https://man7.org/linux/man-pages/man7/pthreads.7.html
- http://www.kristenwidman.com/blog/33/how-to-write-a-bittorrent-client-part-1/
- https://medium.com/@abhinavcv007/bittorrent-part-1-the-engineering-behind-the-bittorrent-protocol-04e70ee01d58
Conclusion:
This project successfully develops a secure, scalable, and efficient torrent client using GoLang, integrating blockchain-based incentives for peer-to-peer (P2P) file sharing. By leveraging the BitTorrent protocol, the client ensures fast and reliable file downloads while distributing network load across multiple peers. The inclusion of a blockchain-powered reward system encourages users to continue seeding files, addressing a key limitation in traditional torrent systems where users often stop seeding after downloads. With its decentralized architecture, efficient resource utilization, and incentive-driven model, the proposed torrent client enhances the usability and sustainability of P2P file sharing networks.
Future Scope:
- Enhanced Security & Privacy: Implement end-to-end encryption for secure file transfers.
- Introduce anonymous sharing mechanisms using onion routing.
Decentralized Tracker and Peer Discovery Improvements:
- Utilize blockchain-based decentralized trackers to further eliminate centralized dependencies.
- Implement AI-driven peer selection for optimal download speeds.
Mentees:
- Vatsal Jay gandhi
- Rakshith Ashok Kumar
- K Varun Acharya
- Sahil Mengji
Mentors:
- Sanjay S Bhat
- Aditya Bhagwat
- Tarun DJ
Report Information
Team Members
- Rakshith Ashok Kumar [CompSoc]
- Sahil Mengji [CompSoc]
- Varun Acharya K.V [CompSoc]
- Vatsal Gandhi [CompSoc]
- Aditya V Bhagwat [CompSoc]
- Tarun Dinesh Joshi [CompSoc]
- Sanjay S Bhat [CompSoc]
Team Members
- Rakshith Ashok Kumar [CompSoc]
- Sahil Mengji [CompSoc]
- Varun Acharya K.V [CompSoc]
- Vatsal Gandhi [CompSoc]
- Aditya V Bhagwat [CompSoc]
- Tarun Dinesh Joshi [CompSoc]
- Sanjay S Bhat [CompSoc]
Report Details
Created: April 7, 2025, 4:10 p.m.
Approved by: Abhin B [CompSoc]
Approval date: April 7, 2025, 5:40 p.m.
Report Details
Created: April 7, 2025, 4:10 p.m.
Approved by: Abhin B [CompSoc]
Approval date: April 7, 2025, 5:40 p.m.