Computer Networks Assignment 2
There are two options in this assignment, each group only needs to choose one from the following:
• Chord DHT-based application (Task A)
• MiniCoin mining (Task B)
Task A. Exploration on structured peer-to-peer networks and Chord DHT
This task investigates the P2P back-end service and bridge the gap to the front-end users. Start from your lab test 2 work, in which you have designed the circular address space and linked the data to the nodes.
A.1 Accept new peers on the Chord DHT (5 marks)
1) Discuss the steps of building-up finger table for a new join peer. (2 marks)
2) Draw a signal flow chart for retrieving a file on Chord, starts from the new joining peer. (3 marks)
A.2 Explore the back-end service of P2P applications (20 marks)
You are required to write a technical report (within 6 pages using the given template). You need to fit Task A.1 to one of the P2P application, and further address the following points:
1) Give an appropriate title to your report (1 mark)
2) Introduce the background of your work (2 marks)
3) Explain what P2P application you are investigating based on Task A.1 (2 marks)
4) Discuss the technical details of your work (the focus of the report) (12 marks)
• The information flow of the P2P overlay (2 marks)
• IP service (network layer) and the protocol involved (3 marks)
• How the information flow coordinates/manages the physical flow, or how misbehaviour nodes could involve (e.g., streaming data in BitTorren, electricity in share renewable energy, road traffic in Uber taxi) (5 marks)
• How the performance is measured/achieved (2 marks)
5) Conclude your evidence of completed the tasks identified in 2.3 (1 mark)
6) Cite at least 10 references, and at least 3 of them are published within 5 years. (1 mark)
7) Professional format referenced to the template and within 6 pages (1 mark)
A.3 Oral presentation (5 marks)
• Book a slot at week 11-12 (from tutorial and lab slot) for demo
• Each group demos 10-12 mins, followed by 3-5 mins Q/A
• Each member presents your individual contribution to the group work
Task B MiniCoin mining
B.1 Your group is required to develop a proof-of-concept for MiniCoin mining. (25 marks).
1) Select an appropriate hash function for mining (1 mark)
2) Choose a doable brute-force load using your laptop from the selected hash above , i.e., search all the combination and check either “leadings 00” or maybe a pattern of “consecutive odd numbers 135, 357” in the hash value (2 marks)
3) Implement the Minicoin mining using any programming language (15 marks)
4) Implement an interface for other peers to verify the potential solutions (4 marks)
5) Write a simple user manual (3 marks)
• show how to execute your MiniCoin mining code
• elaborate on the computational resources and the probability of success mining B.2 Oral presentation at weeks 11-12 lecture (5 marks).
Note: If your group choose Task B, then
• you do not need to write the report, just focus on the coding for implementation.
• provide a common acceptance platform (steps 1-3) and other groups follow your framework for MiniCoin mining will potentially be rewarded with extra 5 marks (given by students).
• your group may run the risk of unable to complete the MiniCoin mining. In this case, you have the opportunity to write a report, and explain the technical details, the issues and lessons.