5

New to Lightning, and I'm having a hard time understanding something about the incentive system. So, if block sizes remain fixed, and transaction fees become prohibitively expensive one day, owing to future btc popularity, won’t there be an incentive to cheat in channels, knowing that the cost to settle on chain is prohibitive?

Who’s going to broadcast a refund transaction that costs (one day, e.g.) $100 in fees, just to claw back a few cents from an uncooperative channel node? Isn’t that an incentive for massive micro-cheating?

Sorry if i’m massively misunderstanding how this works. Is there a way to create a channel that guarantees any side can broadcast the refund without incurring extra costs?

2 Answers 2

2

When the total capacity of the channel is less than it costs to close the channel, neither party has an incentive to close the channel.

If broadcasting an outdated commitment transaction returns some funds to the cheating party, the cheated party can create a transaction to claim all funds from the cheater. In the worst case, the justice transaction can just burn all funds by sending them to fees. In no case would the cheating party be able to get any gain from broadcasting an outdated commitment transaction as long as the cheated party recognizes the attack.

Thus, the potential cheater is limited to choosing to hurt both parties. This seems strictly less beneficial than just keeping the channel open.

Especially, if you consider that other channel partners of the attacker would see the channel closure on-chain and may choose to ostracize the attacker.

0

Though I have no final reply to this, I try to elaborate a bit on this interesting, very good question. A similiar thread is here.

Assuming tx fees go through the roof, what happens with the funds, that are locked in a lightning channel? So let's go for an example: you open a channel for a micro payment (still lightning idea is to go with low values, I think there is a limit slightly above 1 mio Satoshi). The fees are low at this time, and you transact several times with your partner(s).

General idea of lightning would be, to NOT close the channel. Even if funds are exhausted (and you do not intend to reload), there is no necessity to close the channel...

Now you state, the channel shall be closed with an uncooperative node (that probably doesn't provide the service you payed for), and we assume, some remaining 10.000 Satoshis could be returned to me, though the fees for closing the channel are 100.000 Satoshis. Clearly this wouldn't make sense.

That is a dilemma, and cheating would be an activity for providers, that know, it doesn't make sense to close channel for the client, and thus "play" with this opportunity. It is becoming a reputation issue for the service provider then.

At this point I haven't seen any answer which tries to elaborate on it, when many service providers go down that road. As such it remains a risk, which is yet to be solved.

Could one leave the channel open and use it for different purposes?
One could think of stopping the payments (channel updates) to the uncooperative service provider, and use the funds for other services. Lightning is not bound as a 1:1 connectivity - it is a network, where e.g. your node can be used by others to hop to their target.

Maybe some lightning experts have a better view?

1
  • My intuition says some additional layers are needed. The blockchain is for high-stakes settling. There should be an intermediate layer for lower stakes settling. Not sure how that would work.
    – user4581
    Jun 23, 2018 at 7:13

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge that you have read and understand our privacy policy and code of conduct.