lndsupports the ability to run a private, altruist watchtower as a fully-integrated subsystem of
lnd. Watchtowers act as a second line of defense in responding to malicious or accidental breach scenarios in the event that the client’s node is offline or unable to respond at the time of a breach, offering greater degree of safety to channel funds.
lndcan now be configured to operate as a watchtower client, backing up encrypted breach-remedy transactions (aka. justice transactions) to other altruist watchtowers. The watchtower stores fixed-size, encrypted blobs and is only able to decrypt and publish the justice transaction after the offending party has broadcast a revoked commitment state. Client communications with a watchtower are encrypted and authenticated using ephemeral keypairs, mitigating the amount of tracking the watchtower can perform on its clients using long-term identifiers.
lndusers. Many more watchtower-related features are nearly complete or have meaningful progress, and we will continue to ship them as they receive further testing and become safe to release.
to_remoteoutputs from revoked commitments; backing up HTLC outputs is slated to be deployed in a future release, as the protocol can be extended to include the extra signature data in the encrypted blobs.
watchtowerrpcsubserver, which will offer the ability to interface with the tower via gRPC or
lncli. The release binaries will include the
watchtowerrpcsubserver by default.
lncli tower info:
:9911which specifies port
9911listening on all available interfaces. Users may configure their own listeners via the
--watchtower.listen=option. You can verify your configuration by checking the
lncli tower info. If you're having trouble connecting to your watchtower, ensure that
<port>is open or your proxy is properly configured to point to an active listener.
lncli tower info:
lnd’s node public key. For now this acts as a soft whitelist as it requires clients to know the tower’s public key in order to use it for backups before more advanced whitelisting features are implemented. We recommend NOT disclosing this public key openly, unless you are prepared to open your tower up to the entire Internet.
watchtower.towerdir=configuration option. Note that a trailing
/bitcoin/mainnet/watchtower.dbwill be appended to the chosen directory to isolate databases for different chains, so setting
watchtower.towerdir=/path/to/towerdirwill yield a watchtower database at
wtclient.sweep-fee-rateoption, which accepts values in sat/byte. The default value is 10 sat/byte, though users may choose to target higher rates to offer greater priority during fee-spikes. Modifying the
sweep-fee-ratewill be applied to all new updates after the daemon has been restarted.
lncli wtclientcommand, users are now able to interact with the watchtower client directly to obtain/modify information about the set of registered watchtowers.
lncli wtclient towercommand, you can obtain the number of sessions currently negotiated with the watchtower added above and determine whether it is currently being used for backups through the
lncli wtclient -h: