mirror of
https://github.com/lightning/bolts.git
synced 2025-03-10 09:10:07 +01:00
parent
a4b6357bad
commit
9f55ccdfee
2 changed files with 4 additions and 4 deletions
|
@ -812,7 +812,7 @@ func NewOnionPacket(paymentPath []*btcec.PublicKey, sessionKey *btcec.PrivateKey
|
||||||
var nextHmac [hmacSize]byte
|
var nextHmac [hmacSize]byte
|
||||||
|
|
||||||
// Our starting packet needs to be filled out with random bytes, we
|
// Our starting packet needs to be filled out with random bytes, we
|
||||||
// generate some determinstically using the session private key.
|
// generate some deterministically using the session private key.
|
||||||
paddingKey := generateKey("pad", sessionKey.Serialize()
|
paddingKey := generateKey("pad", sessionKey.Serialize()
|
||||||
paddingBytes := generateCipherStream(paddingKey, routingInfoSize)
|
paddingBytes := generateCipherStream(paddingKey, routingInfoSize)
|
||||||
copy(mixHeader[:], paddingBytes)
|
copy(mixHeader[:], paddingBytes)
|
||||||
|
@ -1500,7 +1500,7 @@ The writer:
|
||||||
|
|
||||||
- MUST set the `onion_message_packet` `version` to 0.
|
- MUST set the `onion_message_packet` `version` to 0.
|
||||||
- MUST construct the `onion_message_packet` `onionmsg_payloads` as detailed above using Sphinx.
|
- MUST construct the `onion_message_packet` `onionmsg_payloads` as detailed above using Sphinx.
|
||||||
- MUST NOT use any `associated_data` in the Sphinx construcion.
|
- MUST NOT use any `associated_data` in the Sphinx construction.
|
||||||
- SHOULD set `onion_message_packet` `len` to 1366 or 32834.
|
- SHOULD set `onion_message_packet` `len` to 1366 or 32834.
|
||||||
- SHOULD retry via a different path if it expects a response and doesn't receive one after a reasonable period.
|
- SHOULD retry via a different path if it expects a response and doesn't receive one after a reasonable period.
|
||||||
- For the non-final nodes' `onionmsg_tlv`:
|
- For the non-final nodes' `onionmsg_tlv`:
|
||||||
|
|
|
@ -247,7 +247,7 @@ channels described above and adds a safety margin in case nodes update their rel
|
||||||
|
|
||||||
Alice uses the same values for both channels for simplicity's sake. Alice can now compute aggregate
|
Alice uses the same values for both channels for simplicity's sake. Alice can now compute aggregate
|
||||||
values for the complete route (iteratively starting from the end of the route), using integer
|
values for the complete route (iteratively starting from the end of the route), using integer
|
||||||
arithmetric to compute `ceil(a/b)` as `(a+b-1)/b` (we round values up, otherwise the sender may
|
arithmetic to compute `ceil(a/b)` as `(a+b-1)/b` (we round values up, otherwise the sender may
|
||||||
receive slightly less than intended):
|
receive slightly less than intended):
|
||||||
|
|
||||||
* `route_fee_base_msat(n+1) = (fee_base_msat(n+1) * 1000000 + route_fee_base_msat(n) * (1000000 + fee_proportional_millionths(n+1)) + 1000000 - 1) / 1000000`
|
* `route_fee_base_msat(n+1) = (fee_base_msat(n+1) * 1000000 + route_fee_base_msat(n) * (1000000 + fee_proportional_millionths(n+1)) + 1000000 - 1) / 1000000`
|
||||||
|
@ -459,7 +459,7 @@ periodically refresh them.
|
||||||
|
|
||||||
### Recipient pays fees
|
### Recipient pays fees
|
||||||
|
|
||||||
It may be unfair to make payers pay more fees to accomodate the recipient's wish for anonymity.
|
It may be unfair to make payers pay more fees to accommodate the recipient's wish for anonymity.
|
||||||
It should instead be the recipient that pays the fees of the blinded hops (and the payer pays the
|
It should instead be the recipient that pays the fees of the blinded hops (and the payer pays the
|
||||||
fees to reach the introduction point).
|
fees to reach the introduction point).
|
||||||
|
|
||||||
|
|
Loading…
Add table
Reference in a new issue