Hacker News new | ask | show | jobs
by gwicks56 1722 days ago
Everytime the balance in the channel is updated, a new transaction is created and signed. If one party in the channel publishes an old state ( which they could have more bitcoin than they should), you have to be online to detect it and publish the latest one, in which case they lose all their bitcoin for publishing an old state as punishment.

Technically you don't need to be online 24/7, just often enough to detect the fraud before the timeout, default is two weeks I think. Or you can pay someone a tiny fee to monitor the blockchain for someone publishing an old state for you.

In practice, nobody is trying to commit fraud, because : a) if you get caught you get punished severely b) most channels do not have enough BTC in them

Lightning is for small, instant, fast payments, average channel size is about 0.02 BTC.

The bigger problem is how to maintain up to date backups, and not accidentally publish an old state when recovering from a crash. We're working on it. Taproot bitcoin upgrade brings some interesting improvements we can build upon to improve things further.

EDIT: forgot to mention this is only really a problem if you want to run your own non custodial solution ( which I do). For most people, using a 3rd party custodial solution for their low balance hot wallet seems to be the norm.

3 comments

> pay someone a tiny fee to monitor the blockchain

A.k.a trust a third party.

> For most people, using a 3rd party custodial solution for their low balance hot wallet seems to be the norm.

Just like Venmo or PayPal?

If you want to eliminate trust, with Bitcoin and lightning you can. If for you it's too much hassle, you don't have to. Unlike every single other blockchain, in which you have no choice but to trust centralised solutions, because they are centralised. See Solana switching their blockchain off for a while, lol [1]https://coingeek.com/solana-blockchain-implodes-what-happene...
>>If you want to eliminate trust, with Bitcoin and lightning you can. If for you it's too much hassle, you don't have to. Unlike every single other blockchain, in which you have no choice but to trust centralised solutions, because they are centralised.

*Bitcoin Cash enters the chat*

Solana bad, therefore Bitcoin good?
> A.k.a trust a third party.

True, but in a very limited sense. You're trusting a third party to protect you from your counterparty posting an out of date state. And adding further complexity, your counterparty gets punished if they get caught publishing this state, and they have no way of knowing if you are watching or not.

So, from a game theory perspective, it is unlikely for this to even come into play.

Oh, and you can technically have multiple third parties doing this.

There was recently a paper published on Inherited IDs, which proposes changes that would not only solve the on-chain scaling problem, but also eliminate the need for watchtowers: https://github.com/JohnLaw2/btc-iids/blob/main/iids13.pdf
Thanks. Where can I get materials on Lightning and its code?