lightning-dev

[BOLT Draft] Onion Routing Spec

[BOLT Draft] Onion Routing Spec

Original Postby Olaoluwa Osuntokun

Posted on: October 20, 2016 22:26 UTC

During a discussion on updating the Lightning Network specification, Christian Decker mentioned that they have dropped the end-to-end payload from the specification and kept the shared secret backlog for now.

They discussed committing the routing information to the payment hash which was deemed awkward since it would increase the per-hop payload size which is expensive to do. They envisioned that the payment hash would be a parameter to the packet processing/creation function and would be concatenated to the material being authenticated similar to the "associated data" in AEAD cipher modes. This way there is no additional data added to the packets but the payment hash is authenticated as part of packet processing at each hop. If an adversary attempts a replay, then they're forced to use the same payment hash, otherwise the packet won't propagate. Assuming all nodes remember all payment hashes, then replay attempts always fail and come at a direct monetary cost to the attacker.