Taming double-spending in offline payments

More Info
expand_more

Abstract

Blockchain-based payment systems typically assume a synchronous communication network and a limited workload to confirm transactions within a bounded timeframe. These assumptions make such systems less effective in scenarios where reliable network access is not guaranteed. Offline payment systems are designed to allow users to register offline transactions and ensure their execution once network access is restored. However, these methods often rely on specialized hardware to remain secure and tamper-proof, preventing double-spending and invalid transactions. In this work, we introduce a novel offline payment system that does not rely on trusted hardware. Our system enables users to determine transaction fees and accept offline payments based on the trustworthiness of their peers. Users can decide whether to accept offline payments from each other based on the information our system provides. Our system employs a smart contract to manage transactions on a blockchain for its online component. We implemented the online part of our system as an Ethereum Solidity smart contract and deployed it on the Sepolia testnet. Our performance evaluation demonstrates our system’s practicality, handling 68 Transactions Per Second (TPS) with a confirmation latency of 12 seconds on the Sepolia testnet. The system’s scalability can improve with advanced layer-1 or layer-2 blockchain solutions, enhancing throughput, decreasing latency, and reducing fees.