The main point with LN is the need to monitor the blockchain. The reason for this is to detect if the counterparty misbehaves by publishing an old channel state to the blockchain. For a node running on a server, that is not a big problem since it is always online, but mobile nodes might go offline for days, so how do we deal with this issue?

The need to monitor the blockchain actually only exists if the channel is used in both directions: if you are only paying, any outdated commitment transaction will be more in your favor than the current one, so there is really nothing to do!

But in case of two-way payment channels, this seems to be resolved by "trustless third-party watchers". Since I can't find much literature on the internet about them, I was wondering, how do they work and how exactly are they trustless? For that matter, how do you actually trust that anybody is going to publish on your behalf, and why? Are there incentive mechanisms in place for this to be completely trustless?

  • Here's something I found online: diyhpl.us/wiki/transcripts/scalingbitcoin/milan/… – Luca Matteis Jul 28 '17 at 13:03
  • Correct me if I'm wrong, but even if the channel is one-directional, doesn't the counterparty also have an incentive to monitor the blockchain for old commitment txs? So watchtowers are also needed in that case. – Paul Berg Jul 11 '18 at 9:18
  • @PaulRBerg no, for one-directional payment channels this would not be needed. Imagine a one-directional channel from Alice to Bob. The latest state is always the most lucrative for Bob, so he wouldn't cheat because he's lacking the incentive to do so. I know, you already knew that and you care more about what happens the other way around. So why wouldn't Alice broadcast an old state? Simple: she can't. While Alice is sending tx after tx to Bob, spending their 2-of-2 multisig she would always sign the transactions, while Bob actually neither has to sign nor send the transaction anywhere. – Dalit Sairio Oct 30 '18 at 18:22
  • The first time Bob would need to sign and broadcast the transaction is when he wants to close the channel. – Dalit Sairio Oct 30 '18 at 18:24

I suppose that when you refer to "third-party watchers" you mean watchtowers. I do agree that 'trustless' is probably an ambiguous word in this context. At the time of writing, the only actual proposal with a protocol that I am aware of is PISA, by Andrew Miller et al. PISA allows users to select a custodian that will be incentivised in publishing. Users pay the custodian, and the custodian loses funds if it does not perform (i.e. if the counterparty node manages to publish an old state).

At the moment, seems like Roger Wattenhofer is working on it too. However, They have not proposed a protocol yet. Their idea is to incentivise through rewards when channels are 'saved', instead of through penalisation when a watchtower does not save on time.

Both sides have pros and cons.

  • The con of Miller's proposal is that one must choose the watchtower, having to trust in it. The counterparty might try to bribe the watchtower, so that they both earn more than the penalisation.

  • Wattenhofer's proposal does not have this problem, as anyone in the network can retrieve the reward, and thus everyone is the watchtower. The problem of this proposal is that there are incentives for people to attack other people and prevent them from publishing themselves.

This is a work in progress. As for a self-claimed trustless watchtower, there has been some discussion in the ligthing-dev mailing list here and here, but it is yet a work in progress.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.