In Lightning Network, It uses timelock to prevent attack that places stale state onto the blockchain for single channel. (Not for payment routing, only for single payment channel between two nodes) But there is no place for setting timelock on ethereum transaction structure.

Raiden Network is one of the solutions for scalability of blockchain. Can it prevent such attack without using timelock ? Or does it contact with blockchain during off-chain payment in single payment channel to update state ?

1 Answer 1


State channels kind of by definition require a dispute period, which I assume is the "timelock" you're talking about. After someone goes to close the channel, they lock the state. If the other party has a newer state, they can then overrule the other user's close with that newer state. They can do this up until some dispute time has elapsed, possibly a few hours or days.

No, Raiden doesn't update on-chain state during every off-chain payment. That would defeat the purpose of it being an off-chain payment.

  • Thank you for answering my question. but as you can see on here: github.com/raiden-network/raiden-contracts/blob/master/… I think the function "updateBalanceProofData" exists for getting state on every off-chain round. because Ethereum transaction does not have timelock. so someone can place stale state onto the blockchain. that function prevents it by using "nonce" as counter. I also read Raiden Network document. It describes Monitoring Service. but I don't know that Raiden uses above function or monitoring service.
    – xiaofo
    Commented Aug 16, 2018 at 12:52

Your Answer

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

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