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

How do bitcoinadresses get into the bitcoin system when the’re created offline?

I am new to bitcoin, and I am still trying to understand the working of bitaddress.org but get stuck a long the way.

On bitadress.org I can take the site offline and create a public and private key by moving my mouse.

Once my keys are generated I can send bitcoins to the public key. But as the site is offline how do my keys get into the bitcoin system?

Recent Questions – Bitcoin Stack Exchange

If an offline, never connected, Electrum wallet is lost, it can still be recovered?

I’m just making sure I understand this correctly, since I’m new to Bitcoin.

Lets say there is an Electrum wallet created, but on a machine which was never connected to the internet. This machine is then destroyed/lost/stops working.

The wallet, along with any funds which were sent to it, can still be recovered, as long as one has kept the seed? So this means that the private key is derived from the seed (this is what the deterministic aspect refers to?).

Recent Questions – Bitcoin Stack Exchange