Project Description: Bitcoin is a digital currency, with a value which is representative and usable online only [1]. Since its roll-out in 2009, Bitcoin has not been widely accepted or subsequently used. 2015 is seen as being a critical year in its future success [2] - some consider it to be now or never with regard to the use of cryptocurrencies. This is due to a number of factors, such a lack of awareness of cryptocurrency in general and, specific to the Bitcoin in particular, volatility of the Bitcoin value in parallel with the economy and the limited security of Bitcoin credit in an online wallet. To understand the way in which Bitcoin works, the system is powered by its users, with nodes which support the Bitcoin currency distributed across the peer-to-peer network operated by Bitcoin participants. Anyone can become a participant in the Bitcoin system by logging their details on the Bitcoin website [3]; these nodes will subsequently be used to support operation of the Bitcoin network. Bitnodes are essential components on the end-to-end path to support secure and efficient performance on the bitcoin network [4]. To validate and relay transactions, a number of nodes are needed on an international basis. Security is achieved by randomly selecting the nodes through which a transaction may pass, reducing the extent of 'double spending', a situation where a user attempts to spend the same digital token twice before its use has been committed to the transaction database. As of Friday 11th September, there are 5,638 bitnodes in existence, distributed on an international basis [3]. The number of bitnodes have been observed to be in decline recently, reducing the extent to which the network may be operated efficiently and effectively. Bitcoin is therefore running an incentive program to encourage people to enable their hardware devices to become bitnodes on the Bitcoin network. Bitcoin is offering an incentive to encourage new participants; the incentive is a Bitcoin payment [5]. A bitnode map reveals that bitnodes are deployed in highly localised areas internationally [3]. It is therefore beneficial to encourage the deployment of more bitnodes in regions where their deployment is not extensive. Nodes in some regions, such as those where nodes are currently sparse, will be of higher importance than others, such as those where bitnodes are dense. This will allow increased network security while performance, measured in terms of delivery latency, is optimised. As part of this project, we assume a belief that there may be a higher probability of encouraging deployments by offering a higher remittance to potential bitnode owners where there are fewer bitnodes. The objective of this project is therefore to develop an algorithm to automatically calculate the value of the incentive dynamically depending on the region from which the bitnode may be joining, the number of bitnodes already in the region, and the market value of the Bitcoin. This will require the use of information collected in real time to identify the number of regions in which bitnodes exist and their distribution. It will also take into account the number of bitnodes present in a region. The incentive offered should update in real-time as new bitnodes are added to the network. The calculation should take into account the current market price for the Bitcoin. This information can be collected using detail at [6], and should be processed in a relevant manner for use, the manner of which is determined by the student undertaking this project and is developed based on the research. Ideas for novel approaches are encouraged. The incentive calculated may, for example, also take into account the accumulated value of transactions currently taking place in this region, with a goal of increasing the number of bitnodes where the financial value being transferred across the network is higher. This decision may be made based on the implication of the improved security achievable as a result of a higher number of bitnodes. It is the responsibility of the student to define this algorithm in full, and be able to rationalise the design based on their research. A website front-end should also be developed as part of this project, through which the information, which indicates to the user the amount of bitcoin revenue they will generate if their node is added to the Bitcoin network, will be communicated to the Bitcoin account holder. This should update in real time as the network information changes; information from the Bitcoin website, such as the current set of nodes and their distribution [7], should be read into the back-end system, stored, organised, and used in the decision-making process. The front and back-ends of the system are therefore required to communicate with one another. The implementation should take place using cross-platform web technologies, including HTML5 [8], CSS3 [9], JavaScript, and PHP. References: [1] Bitcoin Homepage; Available at: https://bitcoin.org/en/. [2] D. Roberts, "Bitcoin: Will 2015 be a Make-or-Break Year?" Feb. 2015; Available at: http://www.theguardian.com/technology/2015/feb/03/bitcoin-2015-make-or-break-year. [3] Global Bitcoin Nodes Distribution; Available at: https://getaddr.bitnodes.io/. [4] D. Cawrey, "What are Bitcoin Nodes and Why do we Need them?" May 2014; Available at: http://www.coindesk.com/bitcoin-nodes-need/. [5] Bitnodes Incentive Program; Available at: https://getaddr.bitnodes.io/nodes/incentive/. [6] Bitnodes API V1.0; Available at: https://getaddr.bitnodes.io/api/. [7] Bitnodes List Snapshots; Available at: https://getaddr.bitnodes.io/api/#list-snapshots. [8] HTML5 Introduction; Available at: http://www.w3schools.com/html/html5_intro.asp. [9] CSS3 Introduction; Available at: http://www.w3schools.com/css/css3_intro.asp.