摘要
There has been an increase in the adoption of mobile payment systems worldwide in the past few years.However,poor Internet connection in rural regions continues to be an obstacle to the widespread use of such technologies.On top of that,there are significant problems with the currently available offline wallets;for instance,the payee cannot verify the number of coins received without access to the Internet.Additionally,it has been demonstrated that some existing systems are susceptible to false token generation,and some do not even permit the user to divide the offline token into smaller portions to be used as change.This paper proposes a blockchainbased wallet system that provides a secure mobile payment service even if a user cannot access a reliable Internet connection.Our approach relies on Bluetooth and digital signatures to establish and build a trust connection between the parties.The proposed solution overcomes the main limitations of existing systems that use offline transactions,such as the generation of fake offline tokens and the indivisibility of offline tokens.The user buys Offline Tokens(OTs)from a server called an Offline Token Manager(OTM)to use them later to perform offline transactions.Each mobile device must store a single,signed offline token transaction to prevent fake tokens.On the other hand,all offline transactions will be kept as a history in a particular local database.Finally,when the receiver becomes online,it will send a convert request to the OTMto change the value of the OTs to the appropriate amount in real coins.This step requires a connection to the Internet.To evaluate the effectiveness of the system,the Solidity programming language was used to develop a smart contract on the Ethereum blockchain with a backend application programming interface(API)and an android mobile application.The proposed method has an advantage over other prominent wallets.