<p>(disclaimer: I'm not an expert on Lightning)</p>

<p>I believe the design for Watchtowers (the services which watch for other parties trying to push an old state to the chain) is such that they're not actually given the channel close transaction.</p>

<p>Instead, they're giving half of the txid to watch for, and an encrypted version of the channel close, using the full txid of the watched transaction as key.</p>

<p>This means they are not actually able to dishonestly close your channel. They can only do so when an invalid state update is published.</p>

CC BY-SA 4.0
2018-08-10T23:07:03.697Z
2018-08-10T23:07:03.697Z
Pieter Wuille
<p>If you are truly concerned of this, you could make use of a couple of things:</p>

<ol>
<li>Use a cloud service like Amazon Web Services or Google Compute Engine to run a small instance running a wallet + LN.</li>
<li>Using the Blockstream Satellite to download the blockchain on a desktop computer in your network, which might then send an SMS or other sort of alert to you if it detects a transaction.</li>
</ol>

<p>Running LN channels assumes you have an internet connection that is 'always' up. </p>

CC BY-SA 4.0
2018-07-09T15:26:33.313Z
I'm not "afraid" of this. That is a real concern for future wallet users. If a user choose to use a desktop wallet, he expects his funds to not get stolen when he goes in vacations for a weekend without his computer. A non-technical user of a mobile / desktop LN wallet should never need to setup such a service. Otherwise either the LN is sentenced to be confined only to technical users or they will need to trust a third party unless a solution is found to do without a third party. My question was about wether such solution exists or not.
Jules Lamur
CC BY-SA 4.0
2018-07-11T10:27:42.593Z
I amended "afraid" into "concerned". I guess one option would be to add a script that prevents the bitcoin in the funding transaction to be spent within n days, which is the lifetime of the channel. Neither party would then be able to settle the channel ahead of time. That said, I'm not sure if this is possible at the moment... (i think so, unsure)
BlackBeltBob
CC BY-SA 4.0
2018-08-11T00:15:27.560Z
I believe LN channels do require something to be online to watch out for you, but it's sufficient to sync and watch the chain once per day or so - depending on the locktime.
Pieter Wuille
CC BY-SA 4.0
2018-07-09T14:52:33.853Z
2018-07-11T10:23:31.477Z
2018-07-11T10:23:31.477Z
BlackBeltBob
<p>Mobile and desktop wallets are nodes that are not connected 24/7 (when the application is closed, computer is powered off, etc...).</p>

<p>The fact that they are not connected 24/7 creates mainly one problem: if a fraudulent node closes a channel with you and sends an outdated CSV transaction, you won't see it and can't invalidate it in time if you don't launch your wallet periodicaly.</p>

<p>A solution to this problem is to send all your CSV transactions to a service (connected 24/7 to the blockchain) and trust him enough to broadcast theses transactions in case a fraudulent node decides to close one of your channels.</p>

<p>And you must really trust this service because if he is affiliated with the fraudulent node you either need to send him a higher fee than the value of the transaction or he will prefer to keep the fraudulent transaction.</p>

<p>The conclusion is that you can't trust such a service.</p>

<p>Is there an other solution to avoid having to trust a third party in such case?</p>

<hr>

<p>One solution that have been found by the <a href="https://github.com/ACINQ/eclair-wallet" rel="nofollow noreferrer">eclair android wallet</a> is to forbid relaying or receiving payments (i.e. you can only send payments). That way an outdated transaction is always in defavor of the fraudulent node. This is obviously not satisfying if you want to have the full functionalities of the Lightning Network.</p>

<lightning-network>
Can we avoid third party trust for mobile / desktop wallets with respect to lightning network channels?
Jules Lamur
# Can we avoid third party trust for mobile / desktop wallets with respect to lightning network channels?

(Asked by: username_0 on 2018-07-09)

Mobile and desktop wallets are nodes that are not connected 24/7 (when the application is closed, computer is powered off, etc...).

The fact that they are not connected 24/7 creates mainly one problem: if a fraudulent node closes a channel with you and sends an outdated CSV transaction, you won't see it and can't invalidate it in time if you don't launch your wallet periodicaly.

A solution to this problem is to send all your CSV transactions to a service (connected 24/7 to the blockchain) and trust him enough to broadcast theses transactions in case a fraudulent node decides to close one of your channels.

And you must really trust this service because if he is affiliated with the fraudulent node you either need to send him a higher fee than the value of the transaction or he will prefer to keep the fraudulent transaction.

The conclusion is that you can't trust such a service.

Is there an other solution to avoid having to trust a third party in such case?

---

One solution that have been found by the [eclair android wallet](https://github.com/ACINQ/eclair-wallet) is to forbid relaying or receiving payments (i.e. you can only send payments). That way an outdated transaction is always in defavor of the fraudulent node. This is obviously not satisfying if you want to have the full functionalities of the Lightning Network.

**Tags:** lightning-network


---

## 2 answers

### Answer by username_1 on 2018-08-10. Score: 2

(disclaimer: I'm not an expert on Lightning)

I believe the design for Watchtowers (the services which watch for other parties trying to push an old state to the chain) is such that they're not actually given the channel close transaction.

Instead, they're giving half of the txid to watch for, and an encrypted version of the channel close, using the full txid of the watched transaction as key.

This means they are not actually able to dishonestly close your channel. They can only do so when an invalid state update is published.


---

### Answer by username_2 on 2018-07-09. Score: 0

If you are truly concerned of this, you could make use of a couple of things:

1. Use a cloud service like Amazon Web Services or Google Compute Engine to run a small instance running a wallet + LN.
2. Using the Blockstream Satellite to download the blockchain on a desktop computer in your network, which might then send an SMS or other sort of alert to you if it detects a transaction.

Running LN channels assumes you have an internet connection that is 'always' up.

> **Comments:**
> **username_0**: I'm not "afraid" of this. That is a real concern for future wallet users. If a user choose to use a desktop wallet, he expects his funds to not get stolen when he goes in vacations for a weekend without his computer. A non-technical user of a mobile / desktop LN wallet should never need to setup such a service. Otherwise either the LN is sentenced to be confined only to technical users or they will need to trust a third party unless a solution is found to do without a third party. My question was about wether such solution exists or not.  
> **username_2**: I amended "afraid" into "concerned". I guess one option would be to add a script that prevents the bitcoin in the funding transaction to be spent within n days, which is the lifetime of the channel. Neither party would then be able to settle the channel ahead of time. That said, I'm not sure if this is possible at the moment... (i think so, unsure)  
> **username_1**: I believe LN channels do require something to be online to watch out for you, but it's sufficient to sync and watch the chain once per day or so - depending on the locktime.  

---

