Difference between revisions of "Watchtowers"

From lightningwiki.net
Jump to navigation Jump to search
Line 1: Line 1:
Watchtowers make mobile wallets more powerful (or wallets that are not online 24x7). They keep track of channels for the client.
Watchtowers make mobile wallets more powerful (or wallets that are not online 24x7). They keep track of channels for the client.
There is a nice podcast with Conner Fromknecht about it: https://stephanlivera.com/episode/83


= Workings =
= Workings =
Line 9: Line 11:
== Watchtower / server , standalone ==  
== Watchtower / server , standalone ==  
Receives and stores encrypted blobs from clients, this represents that second primary service enabling the tower to act on behalf of the tower's clients.
Receives and stores encrypted blobs from clients, this represents that second primary service enabling the tower to act on behalf of the tower's clients.




= Status =
= Status =
{{INFO:LND 0.7-beta has (altruistic) watchtowers}}
* [https://github.com/lightningnetwork/lnd/pull/2124 breach monitoring]
* [https://github.com/lightningnetwork/lnd/pull/2124 breach monitoring]
* Merged on 2019-01-16 : https://github.com/lightningnetwork/lnd/pull/2448 (This PR does not expose the watchtower configuration options in LND's config, it only adds the struct that will later be embedded. Further, the configuration options are only available in experimental builds as there are few moving parts of the protocol that should be solidified before attempting to operate a tower.)
* Merged on 2019-01-16 : https://github.com/lightningnetwork/lnd/pull/2448 (This PR does not expose the watchtower configuration options in LND's config, it only adds the struct that will later be embedded. Further, the configuration options are only available in experimental builds as there are few moving parts of the protocol that should be solidified before attempting to operate a tower.)
* Merged around 2019-03-19: https://github.com/lightningnetwork/lnd/pull/2618
* Merged around 2019-03-19: https://github.com/lightningnetwork/lnd/pull/2618
* "watchtower/wtwire/features: make wtwire features uniform" https://github.com/lightningnetwork/lnd/pull/2605  
* "watchtower/wtwire/features: make wtwire features uniform" https://github.com/lightningnetwork/lnd/pull/2605  
* "watchtower/wtclient: weight + sweep pkscript fixups" https://github.com/lightningnetwork/lnd/pull/2604  
* "watchtower/wtclient: weight + sweep pkscript fixups" https://github.com/lightningnetwork/lnd/pull/2604  
* "watchtower: client justice transaction creation + blob encryption" https://github.com/lightningnetwork/lnd/pull/2516  
* "watchtower: client justice transaction creation + blob encryption" https://github.com/lightningnetwork/lnd/pull/2516  
* "watchtower/multi: send connection features + chain hash in Init" https://github.com/lightningnetwork/lnd/pull/2606
* "watchtower/multi: send connection features + chain hash in Init" https://github.com/lightningnetwork/lnd/pull/2606

Revision as of 19:03, 2 July 2019

Watchtowers make mobile wallets more powerful (or wallets that are not online 24x7). They keep track of channels for the client.

There is a nice podcast with Conner Fromknecht about it: https://stephanlivera.com/episode/83

Workings

At a high level, the lookout service receives input via two sources: block events and it's database. Incoming state updates are continually written to the database, and are made available to the lookout as soon as the tower successfully persists the encrypted blob. As new blocks come in, the tower searches for any breach hints matching the txid prefixes contained in the newly found block. If any matches are generated from the query, the lookout service will dispatch an attempt to decrypt and sweep the transaction on behalf of the user.

Lookout part

Handles the responsibility of monitoring the chain for possible breaches and responding by decrypting and broadcasting any justice transactions that its clients had previously uploaded.

Watchtower / server , standalone

Receives and stores encrypted blobs from clients, this represents that second primary service enabling the tower to act on behalf of the tower's clients.


Status

Template:INFO:LND 0.7-beta has (altruistic) watchtowers