Skip to content
This repository has been archived by the owner on Mar 5, 2024. It is now read-only.

State Channel Re-close test #1238

Open
wants to merge 2 commits into
base: master
Choose a base branch
from
Open

Conversation

michaeldjeffrey
Copy link
Contributor

Ensure that submitting a non-dispute state channel close will not make it through when a state channel has already been legitimately closed.

Also update the types of txns a state_channel_client will consider disputable to only those from the original state channel owner. To prevent filing disputes against other disputers.

Open and participate in a state channel, then let it close naturally.
Submit a re-close of that same state channel and make sure it's not a
valid close, because it's already been closed.
This path will be helped along with `sc_dispute_strategy_version = 1`,
but there's a chance a state channel participant can try to file a
dispute with _every_ `blockchain_txn_state_channel_close_v1` in _every_
block they come across. This can exacerbate dispute storms when a
disputer comes across multiple dispute txns from other disputers and
puts in even more disputes.
@Vagabond
Copy link
Contributor

What happens if the client has a newer version of the state channel that is legitimate?

@macpie
Copy link
Member

macpie commented Feb 11, 2022

What happens if the client has a newer version of the state channel that is legitimate?

That's the ultimate issue because at that point it means that server side will start "lying"

@Vagabond
Copy link
Contributor

What happens if the client has a newer version of the state channel that is legitimate?

That's the ultimate issue because at that point it means that server side will start "lying"

No, that's not true, the router may just be offline.

Imagine this scenario:

Router A is offline, but before it went offline it paid B with a nonce of 20 and also paid C with a nonce of 21.

The state channel expiry time has arrived, A is offline so it cannot close. B sends the latest copy of the state channel with nonce 20. Then C sends its close with a nonce of 21 which should supercede the nonce 20 close, but not conflict with it.

@Vagabond
Copy link
Contributor

@michaeldjeffrey ping

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants