Bitcoin is a decentralized peer-to-peer (P2P) currency that was innovated to provide a payment system that omits the need for banks and third party intermediaries. In some parts of the developing world, bank fees can be unaffordable, especially in poor rural communities. Moreover, access to retail banking services can be limited in such areas, which can lead to imbalances in the costs and standards of living of people who don’t own bank accounts. Throughout the past few years, many solutions were presented to use bitcoin in developing parts of the world, including rural communities, to mitigate these problems.
A group of researchers from University of Fort Hare, South Africa, designed a bitcoin framework that works on low-end mobile phones, but also functions on any other mobile phone, to serve people in rural African communities. The published paper included a mobile bitcoin wallet system that proved the efficacy of the proposed bitcoin payment framework, as well as use cases of the designed wallet. The results of the framework experiment included the ability to send bitcoin payments via a low-end mobile phone which proved that bitcoin can be an ideal supplement to the current payment system in rural areas. On the other hand, the paper also touched on a number of issues that can hurdle supplementing the financial system, with bitcoin, in developing territories including bitcoin’s volatility and the need to exchange bitcoin to fiat currency, in some instances, before the money can be actually spent.
The Architectural Design of the Bitcoin Payment Framework:
The below figure illustrates the design of the proposed bitcoin payment framework for rural areas in developing African countries such as South Africa.
The following represents the components of the framework:
Low-end mobile phone: The user will send SMSs, using a low-end mobile phone, to a GSM modem connected to a computer. These SMSs will include commands to operate the system such as Help, Bal, Getwallet, Send and Addr. Whenever a user sends an SMS including a command, he/she will receive a response. The used commands are as follows:
1. Help: to request a list of all the commands available for usage and their descriptions.
2. Getwallet: to acquire a bitcoin wallet from the payment framework. When acquired, a user can use this wallet to create a bitcoin address, receive and send bitcoins.
3. Addr: to generate a bitcoin address from a bitcoin wallet acquired from the payment framework. Whenever a user issues this command in an SMS, he/she will generate a new unused bitcoin address.
4. Bal: to request the balance of a bitcoin wallet.
5. Send: to send a bitcoin payment. When the command is issued, a session is opened for the user and the framework will ask for his/her Personal Identification Number (PIN), the amount of bitcoins to be sent and the recipient’s mobile phone number. Bitcoins can only be sent to a recipient who is recorded on the framework’s system. Nevertheless, a user can receive bitcoins from a user who isn’t recorded on the framework’s system provided that he/she knows the recipient’s bitcoin address.
The sent SMSs are charged according to the standard SMS rates of MNO.
The researchers chose a GSM modem that uses a CELL C MNO SIM card. The modem is connected to a computer which can communicate with various devices subscribed to the MNO.
The used SMS gateway is formulated to parse the retrieved SMSs from the GSM modem, then transform the string to lowercase letters while also stripping the spaces from the beginning and end of the string. The yielded message is then processed via the MBWSC, which runs the function of the chosen command.
ABWM represents a bitcoin wallet manager that enables the developer to access the blockchain. It is an open source application which is utilized to create encrypted wallets that are stored on the computer’s storage disc.
The MBWSC represents an application that controls the functions that are executed after receiving the SMS command. In other words, it runs the command e.g. if the command included in the SMS was Addr, the following is executed:
1. Check whether or not a user’s record is present in the system.
2. If the user’s record is not present in the system, an SMS will be sent to let him/her know that he/she doesn’t own a bitcoin wallet on the system.
3. If the user’s record is present, the next unused address will be extracted from the user’s wallet.
4. Send the user the bitcoin address.