The need for being online

L2 protocols

All off-chain protocols assume the user remains online and synchronised with the network

Lightning nodes need to be online for

  • Opening channels
  • Sending payments
  • Receiving payments

Channel closes

  • Cooperative closes when both nodes are online
  • Counterparty may publish commitment tx!
    • at all times
    • unilaterally
    • maliciously!

Time to react

  • Node needs to scan blockchain for commitment tx
  • Node gets a time window to react if required
    • Configurable
    • Usually about 144 blocks (1 day)
    • Upper limit mostly 2 weeks

User burden

Does that mean a user needs to open his LN wallet at least daily?

YES! ... but

Watchtowers!

3rd party that can watch the blockchain for a user

Unofficial BOLT: BOLT13

Process

User must provide WT with:

  • A transaction that spends the commitment tx of the latest channel state
  • And sends these funds to the user
  • Including the penalty part
  • For every LN transaction

Privacy

  • Tx is encrypted
  • The key is: hash(commitment-tx-id)
  • WT can only decrypt when there is an actual breach

Watchtowers help every user

  • Every user can use (multiple) WTs
  • Counterparty never knows whether a WT is being used
  • Uncertainty incentivizes honest behavior

Lipa wallet (currently)

  • Lipa is the only channel counterparty
  • User needs protection against Lipa
  • It is in Lipa's control to be honest or not
    • Internal attackers possible
  • Issue is not immediately pressing

Who runs a WT for Lipa users?

  • Lipa ❌
  • 3rd party ❌
  • Watchtower chosen by user ✔

Current WT implementations

  • Eye of Satoshi
  • LND's WT
  • Electrum's WT