> Lightning doesn't technically encrypt amounts at all
Yes it does. It uses the Sphinx encryption standard specified in bolt4. You can see in the bolts what the encrypted payload includes:
```
payload format
...
tlv_stream: payload
types:
type: 2 (amt_to_forward)
data:
[tu64:amt_to_forward]
```
source: https://github.com/lightning/bolts/blob/master/04-onion-routing.md#packet-structure
You can also see the code for this in LND, starting at line 13 here:
Notice what that packet includes on lines 42---47:
```
// incomingAmount is the value in milli-satoshis that arrived on an
// incoming link.
incomingAmount lnwire.MilliSatoshi
// amount is the value of the HTLC that is being created or modified.
amount lnwire.MilliSatoshi
```
And notice that this information is encrypted per lines 52---54:
```
// obfuscator contains the necessary state to allow the switch to wrap
// any forwarded errors in an additional layer of encryption.
```
It speaks of an "additional" layer of encryption because "this" layer (the htlc packet itself) is also encrypted so that the only people who can read it are the sender, the recipient, and the routing nodes.
Also, thanks to multipath payments, the routing nodes do not know if the amount they see passing through their node is the full amount or just a shard of the full amount.