A Secure Offline Bitcoin Payment System

A paper titled Secure Wallet-Assisted Offline Bitcoin Payments with Double-Spender Revocation (https://www.ethz.ch/content/dam/ethz/special-interest/infk/inst-infsec/system-security-group-dam/research/publications/pub2017/asia084.pdf) was published a while ago. The paper proposes the first solution for secure Bitcoin offline payments using an offline wallet with several novel security mechanisms to prevent double-spending and to verify the coin validity in offline setting.

There are three phases:

  1. Online Bitcoin preloading.

  2. Offline Bitcoin payment.

  3. Online redemption of coins and revocation of double spending attacks.

In the first phase, the payer X generates pre-loading transaction τl (step 1) that transfers some bitcoins from her standard Bitcoin account x to the offline wallet’s account w, so that the balance of w becomes positive. This is done by means of standard online Bitcoin transaction, for which the network generates n-transaction confirmation n -Tl.

In the second phase the payer X requests W to generate an offline transaction τo with the desired amount destined to the account y (step 3).

In the third phase, the payee Y redeems the bitcoins he received offline by broadcasting τo into the Bitcoin network (step 4) and optionally obtaining network confirmation n -To (step 5).

The network confirmation will only be issued, if the network has not detected a double-spending attack against τo. Otherwise, the payee Y will trigger an optional double-spender revocation procedure, which includes sending a double-spender revocation transaction τr (step 6) to the Bitcoin network and obtaining corresponding confirmation n -Tr (step 7).

How does the transfer between the payer and payee’s wallet actually happen if both nodes are offline? Does the offline wallet operate as a Layer 2 protocol somewhat allowing for deferred settlement like LN?

Content source