Offline payments with Android wallet

This Android application for Bitcoin wallet, claims offline payment as a feature. It says,

When you’re offline, you can still pay via Bluetooth.

A payment is concluded only when the transaction is broadcast to the network and confirmations are made for the transaction in a certain block as mined. So, how does one “pay” via Bluetooth?

Recent Questions – Bitcoin Stack Exchange

Settling offline transactions


Use Case

My use case is around a scenario where both customer and merchant possess offline wallets with a balance that has had confirmation on the blockchain.

  1. To begin with, let us say that, the merchant and the buyer’s wallets show balances of 20 BTC and 10 BTC respectively. These balances are the one that are confirmed on the block-chain.
  2. Then, let there be multiple transactions between the merchant and buyer such that the balance is always updated locally in the wallets only.
  3. All of the transactions, in 2 above, happen in an offline mode; i.e. no access to network. The period of no access can run into days.
  4. Sometime, in the future, when either/both of the wallets are online, all the offline transactions are published to blockchain and are confirmed.

Blockchain Sync

There are two things that can happen at this point.

First, the wallets are so secure that, all updates (credits and debits) happen locally without ever having to ‘sync’ up with the blockchain. The only time the wallets may sync with blockchain is to post the transactions and their sequence. And, this may happen only if there is enough regulatory pressure.

Second, all credit updates are made to the wallets via the blockchain. This requirement is enough motivation to seek network connectivity; even if it is once in a week or fewer.

Question

In either case, we are looking at a scenario, where a value, confirmed by blockchain, is used in transactions offline to be confirmed online later. How do we implement this?

Analogy

Bus conductors may issue tickets with an offline machine to passengers who board the bus at various points throughout the journey. When the bus reaches its destination, the machine is used at the depot to arrive at a list of tickets sold and the amount collected thereof. Thus, this is an example of an offline transaction where transactions are ‘settled’ when ‘connectivity’ is eventually available.

Spawned off of: http://bitcoin.stackexchange.com/a/41356/6975

Recent Questions – Bitcoin Stack Exchange

How to BIP38 existing private keys offline

How do I go about encrypting some existing private keys using BIP38 in an offline manner? I have looked at bitaddress.org and that site only lets you BIP38 keys which the bitaddress.org site itself created.

I basically want to generate my own bitcoin private keys using bitcoin-core, and then BIP38 encrypt them in an offline manner so I can have a copy of my private keys in paper form just as an extra backup to my existing digital encrypted backups.

Recent Questions – Bitcoin Stack Exchange