All transactions of Bitcoin and other cryptocurrencies are completed on the blockchain. Both the sender and receiver need to be connected to an online wallet in order to complete the cryptocurrency transaction. A significant percent of the world’s population does not have access to both internet and banking services. It would perhaps be monumental if digital currency transactions could be completed offline and then updated to the ledger at a later time.
Transactions on blockchain
Several new transactions are clubbed together in a block and then verified by miners and added to the longest parent chain referred to as the mainchain. The sender and receiver access their cryptocurrency wallets and complete a payment transfer. But both the sender and receiver need to be online for the transaction to be completed and updated at all nodes in the network.
A recent proposal has also been made with this regard. Known as the Bitcoin Improvement Proposal 174, it proposes the creation of a binary transaction format. This holds the necessary data required by signer to produce and hold signatures. This signer can then complete offline digital currency transactions which will be uploaded to the ledger later.
The proposed Partially Signed Bitcoin Transaction (PSBT) format is composed of key value maps where each such pair has an unique key. Such a concept would be more helpful with multisig wallets conducting offline transactions. Every signer of a multisig wallet can create his own PSBT and send it to the other users. These users then add their PSBT and finalize the amount to be sent in the transaction. The data is received again by the original creator of the PSBT and is then published to the entire network.
Other methods to complete offline transactions for cryptocurrencies
Another method of completing digital currency transactions involves the use of NFC, Bluetooth or any other form of wireless connection. Both the sender and receiver can connect to a network where the sender already has some digital currency holdings in his wallet. A local application could work to maintain a count of maximum available tokens that can be spent. When the sender connects with a receiver in the network then he can transfer cryptocurrency. In a similar way, the receiver also has a local ledger to maintain records of all transactions in the wallet. The transaction can be completed without and then updated to the ledger later. It is possible that the wallets may not reflect exact balances but if many users join a common network then the process becomes more transparent.
Image provided by Flickr.