diff --git a/04-onion-routing.md b/04-onion-routing.md index 30a6352e4..d6c68563d 100644 --- a/04-onion-routing.md +++ b/04-onion-routing.md @@ -1057,9 +1057,17 @@ The _erring node_: The _origin node_: - once the return message has been decrypted: - SHOULD store a copy of the message. - - SHOULD continue decrypting, until the loop has been repeated 20 times. + - SHOULD continue decrypting, until the loop has been repeated 27 times + (maximum route length of tlv payload type). - SHOULD use constant `ammag` and `um` keys to obfuscate the route length. +### Rationale + +The requirements for the _origin node_ should help hide the payment sender. +By continuing decrypting 27 times (dummy decryption cycles after the error is found) +the erroring node cannot learn its relative position in the route by performing +a timing analysis if the sender were to retry the same route multiple times. + ## Failure Messages The failure message encapsulated in `failuremsg` has an identical format as