COURSEWORK 1 - NETWORK SCIENCE
Hello, dear friend, you can consult us at any time if you have any questions, add WeChat: daixieit
COURSEWORK 1 - NETWORK SCIENCE
INSTRUCTIONS
ACADEMIC MISCONDUCT
Please remember the good scholarly practice requirements of the University regarding work for credit. You can find guidance at the School page
https://web.inf.ed.ac.uk/infweb/admin/policies/academic-misconduct
This also has links to the relevant University pages.
SUBMISSION INSTRUCTIONS
All the analysis must be done in Python. You can use an IDE of your choice (including notebooks), but you must submit all your code in a single zip file (even if it is just a single python file, it must be zipped). You also must submit a pdf in which you report the results and discuss them. Code will not be marked, but it will be checked by the markers to ensure that all the analysis is properly done and the work is yours. You will have to submit your files on Learn. Name your files with your student number. For instance, if your student number is S123456789, you must submit a file S123456789.zip containing the python source code and a file S123456789.pdf containing the report.
GENERAL GUIDELINES
In this coursework, you will analyse a temporal network based on what you have learned so far in class. Many exercises will require you to discuss the results of your analysis, some other will leave you the choice of which algorithm to use for a particular task. This is by design because this coursework assesses whether you understand network science and whether you can apply it to real-world networks. For this reason, if you realise you need to make assumptions to answer a question, do so and always, always motivate your assumptions and answers!
The data you will be analysing for this coursework are available on Learn -> Course Material -> Coursework 1 -> Coursework Data. In this folder, you will find several networks representing all the Bitcoin transactions between users in a given period. The direction of the links represents the transaction flow, i.e., a link from i to j represent a transaction from i to j.
Data is provided for the three months between 09-Sep-2013 and 08-Dec-2013, during which there was a price bubble (from 07-Oct to 23-Nov).
Hope you will have fun on this coursework! :)
WARNING: Some network metrics require quite some time to compute. Please consider this when doing the coursework and allow enough time to perform the required computations. Also remember that you can use the School’s DICE machines, which can be let to run!
PART I
EXERCISE 1.1 [15 marks]
Find the Giant Strongly Connected Component (GSCC) for each weekly network . From now on,
only use GSCCs for your analysis unless otherwise specified.
For each GSCC, compute the following network statistics:
- Number of nodes
- Number of links
- Density
- Average clustering coefficient
- Average degrees (in-degree, out-degree, total degree)
- Maximum degrees (in-degree, out-degree, total degree)
- Average strength (in-strength, out-strength, total strength)
- Average path length
- Diameter
Display the summary statistics (mean, median, maximum, minimum, standard deviation) of these
quantities in a table.
EXERCISE 1.2 [10 marks]
Plot and analyse the total degree distribution for a week of your choice (motivate your choice!) .
Compare these distributions to those of equivalent networks generated with the following
algorithms: Erdős– Rényi, Watts-Strogatz, and Barabasi-Albert.
Based on degree distributions and the results you obtained in Exercise 1.1, what type of network
would you say the Bitcoin network is? Motivate your answer.
EXERCISE 1.3 [15 marks]
Plot the temporal evolution of the 9 quantities you computed in Exercise 1.1 (for degrees and
strengths, only plot the total degree and total strength) . Discuss these results in light of the three
period of interest (pre-bubble, bubble, after-bubble).
Specifically, include comments on:
- Whether these quantities evolved in the way that you expected, and why.
- Any signal that might have predicted the bubble .
- Any significant change during the bubble .
- Any significant change after the bubble.
Note: Make sure that every plot is clear and it is easy to understand which quantity is being
plotted! When discussing the results, be accurate and specify which quantity/plot you are
referring to.
PART II
EXERCISE 2.1 [15 marks]
Using a centrality measure of your choice, find the top ten most important nodes in the network at
three different points in time (choose one before, one during, and one after the bubble) . Motivate
your decisions and justify any assumption you have made . Discuss whether the centrality
measure you chose is an accurate measure of the importance of the nodes.
EXERCISE 2.2 [5 marks]
Discuss the role of these nodes in the system (i.e. what do these nodes represent?).
PART III
EXERCISE 3.1 [20 marks]
Bitcoin exchanges have been targeted by hackers since the beginning of the Bitcoin market .
Especially in Bitcoin’s early years, these attacks were quite disruptive (notably, in 2014,
consequently to an attack on the then-largest crypto exchange, 7% of all Bitcoins ever created
were lost forever) . Other attacks caused people to lose millions in Bitcoin and the Bitcoin price to
drop significantly.
Choose one weekly network and provide an analysis of the network robustness. To do so, you
can use the centrality measure you have already computed in Exercise 2.1. Motivate any
assumption you have made and discuss the results in detail, including comments on whether it
was expected, from a network point of view, that hacker attacks could cause price crashes and
major disruption.
EXERCISE 3.2 [15 marks]
For each of the nodes you found in exercise 2 . 1, compute the temporal evolution of their Bitcoin
flow, using the following formula for each weekly network:
F =
Discuss the evolution of F for these nodes.
EXERCISE 3.3 [5 marks]
In two separate occasions during the period in which your data was collected, two crypto
exchanges were hacked. Can you see any evidence of this from your results in Exercise 3.2?
2022-10-25