mirror of
https://github.com/lightning/bolts.git
synced 2025-01-18 05:13:02 +01:00
fixup! BOLT 4: onion message support.
Typo fixes from @t-bast, @thomash-acinq and @remyers.
This commit is contained in:
parent
17ceba42dc
commit
f0f35ec73b
@ -394,4 +394,3 @@ pkh
|
||||
kB
|
||||
unblind
|
||||
unblinded
|
||||
tailer
|
||||
|
@ -1417,13 +1417,13 @@ The _origin node_:
|
||||
Onion messages allow peers to use existing connections to query for
|
||||
invoices (see [BOLT 12](12-offer-encoding.md)). Like gossip messages,
|
||||
they are not associated with a particular local channel. Like HTLCs,
|
||||
they use [onion messages](#onion-message-payload-format) protocol for
|
||||
they use [onion messages](#onion-messages) protocol for
|
||||
end-to-end encryption.
|
||||
|
||||
Onion messages use the same form as HTLC `onion_packet`, with a
|
||||
slightly more flexible format: instead of 1300 byte payloads, the
|
||||
payload length is implied by the total length (minus 66 bytes for the
|
||||
header and tailer). The `onionmsg_payloads` themselves are the same
|
||||
header and trailing bytes). The `onionmsg_payloads` themselves are the same
|
||||
as the `hop_payloads` format, except there is no "legacy" length: a 0
|
||||
`length` would mean an empty `onionmsg_payload`.
|
||||
|
||||
@ -1457,7 +1457,7 @@ For consistency, all onion messages use [Route Blinding](#route-blinding).
|
||||
* `filler`
|
||||
|
||||
The `onionmsg_tlv` itself is a TLV: an intermediate node expects an
|
||||
`encrypted_tlv_stream` which it can decrypt into an `encrypted_data_tlv`
|
||||
`encrypted_data` which it can decrypt into an `encrypted_data_tlv`
|
||||
using the `blinding` which it is handed along with the onion message.
|
||||
|
||||
Field numbers 64 and above are reserved for payloads for the final
|
||||
@ -1502,8 +1502,7 @@ The writer:
|
||||
- MUST construct the `onion_message_packet` `onionmsg_payloads` as detailed above using Sphinx.
|
||||
- MUST NOT use any `associated_data` in the Sphinx construcion.
|
||||
- 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`:
|
||||
- MUST NOT set `reply_path`
|
||||
- For the final node's `onionmsg_tlv`:
|
||||
@ -1516,7 +1515,6 @@ The writer:
|
||||
- MAY use `path_id` to contain a secret so it can recognize use of this `reply_path`.
|
||||
- otherwise:
|
||||
- MUST NOT set `reply_path`.
|
||||
- SHOULD retry via a different route if it expects a response and doesn't receive one after a reasonable period.
|
||||
|
||||
|
||||
The reader:
|
||||
@ -1528,7 +1526,7 @@ The reader:
|
||||
- if `encrypted_data_tlv` contains `allowed_features`:
|
||||
- MUST ignore the message if:
|
||||
- `encrypted_data_tlv.allowed_features.features` contains an unknown feature bit (even if it is odd).
|
||||
- the payment uses a feature not included in `encrypted_data_tlv.allowed_features.features`.
|
||||
- the message uses a feature not included in `encrypted_data_tlv.allowed_features.features`.
|
||||
- if it is not the final node according to the onion encryption:
|
||||
- if the `onionmsg_tlv` contains other tlv fields than `encrypted_recipient_data`:
|
||||
- MUST ignore the message.
|
||||
@ -1575,7 +1573,7 @@ implementations a little, and makes it more difficult to distinguish
|
||||
onion messages.
|
||||
|
||||
`len` allows larger messages to be sent than the standard 1300 bytes
|
||||
allowed for an HTLC onion, but this should be used sparingly as it is
|
||||
allowed for an HTLC onion, but this should be used sparingly as it
|
||||
reduces the anonymity set, hence the recommendation that it either looks
|
||||
like an HTLC onion, or if larger, be a fixed size.
|
||||
|
||||
|
@ -86,6 +86,7 @@
|
||||
"blinding": "031195a8046dcbb8e17034bca630065e7a0982e4e36f6f7e5a8d4554e4846fcd99",
|
||||
"hops": [
|
||||
{
|
||||
"blinded_node_id": "02d1c3d73f8cac67e7c5b6ec517282d5ba0a52b06a29ec92ff01e12decf76003c1",
|
||||
"encrypted_recipient_data": "49531cf38d3280b7f4af6d6461a2b32e3df50acfd35176fc61422a1096eed4dfc3806f29bf74320f712a61c766e7f7caac0c42f86040125fbaeec0c7613202b206dbdd31fda56394367b66a711bfd7d5bedbe20bed1b"
|
||||
},
|
||||
{
|
||||
@ -133,8 +134,8 @@
|
||||
"privkey": "4444444444444444444444444444444444444444444444444444444444444444",
|
||||
"onion_message": "0201025aaca62db7ce6b46386206ef9930daa32e979a35cb185a41cb951aa7d254b03c055600025550b2910294fa73bda99b9de9c851be9cbb481e23194a1743033630efba546b86e7d838d0f6e9cc0ed088dbf6889f0dceca3bfc745bd77d013a31311fa932a8bf1d28387d9ff521eabc651dee8f861fed609a68551145a451f017ec44978addeee97a423c08445531da488fd1ddc998e9cdbfcea59517b53fbf1833f0bbe6188dba6ca773a247220ec934010daca9cc185e1ceb136803469baac799e27a0d82abe53dc48a06a55d1f643885cc7894677dd20a4e4152577d1ba74b870b9279f065f9b340cedb3ca13b7df218e853e10ccd1b59c42a2acf93f489e170ee4373d30ab158b60fc20d3ba73a1f8c750951d69fb5b9321b968ddc8114936412346aff802df65516e1c09c51ef19849ff36c0199fd88c8bec301a30fef0c7cb497901c038611303f64e4174b5daf42832aa5586b84d2c9b95f382f4269a5d1bd4be898618dc78dfd451170f72ca16decac5b03e60702112e439cadd104fb3bbb3d5023c9b80823fdcd0a212a7e1aaa6eeb027adc7f8b3723031d135a09a979a4802788bb7861c6cc85501fb91137768b70aeab309b27b885686604ffc387004ac4f8c44b101c39bc0597ef7fd957f53fc5051f534b10eb3852100962b5e58254e5558689913c26ad6072ea41f5c5db10077cfc91101d4ae393be274c74297da5cc381cd88d54753aaa7df74b2f9da8d88a72bc9218fcd1f19e4ff4aace182312b9509c5175b6988f044c5756d232af02a451a02ca752f3c52747773acff6fd07d2032e6ce562a2c42105d106eba02d0b1904182cdc8c74875b082d4989d3a7e9f0e73de7c75d357f4af976c28c0b206c5e8123fc2391d078592d0d5ff686fd245c0a2de2e535b7cca99c0a37d432a8657393a9e3ca53eec1692159046ba52cb9bc97107349d8673f74cbc97e231f1108005c8d03e24ca813cea2294b39a7a493bcc062708f1f6cf0074e387e7d50e0666ce784ef4d31cb860f6cad767438d9ea5156ff0ae86e029e0247bf94df75ee0cda4f2006061455cb2eaff513d558863ae334cef7a3d45f55e7cc13153c6719e9901c1d4db6c03f643b69ea4860690305651794284d9e61eb848ccdf5a77794d376f0af62e46d4835acce6fd9eef5df73ebb8ea3bb48629766967f446e744ecc57ff3642c4aa1ccee9a2f72d5caa75fa05787d08b79408fce792485fdecdc25df34820fb061275d70b84ece540b0fc47b2453612be34f2b78133a64e812598fbe225fd85415f8ffe5340ce955b5fd9d67dd88c1c531dde298ed25f96df271558c812c26fa386966c76f03a6ebccbca49ac955916929bd42e134f982dde03f924c464be5fd1ba44f8dc4c3cbc8162755fd1d8f7dc044b15b1a796c53df7d8769bb167b2045b49cc71e08908796c92c16a235717cabc4bb9f60f8f66ff4fff1f9836388a99583acebdff4a7fb20f48eedcd1f4bdcc06ec8b48e35307df51d9bc81d38a94992dd135b30079e1f592da6e98dff496cb1a7776460a26b06395b176f585636ebdf7eab692b227a31d6979f5a6141292698e91346b6c806b90c7c6971e481559cae92ee8f4136f2226861f5c39ddd29bbdb118a35dece03f49a96804caea79a3dacfbf09d65f2611b5622de51d98e18151acb3bb84c09caaa0cc80edfa743a4679f37d6167618ce99e73362fa6f213409931762618a61f1738c071bba5afc1db24fe94afb70c40d731908ab9a505f76f57a7d40e708fd3df0efc5b7cbb2a7b75cd23449e09684a2f0e2bfa0d6176c35f96fe94d92fc9fa4103972781f81cb6e8df7dbeb0fc529c600d768bed3f08828b773d284f69e9a203459d88c12d6df7a75be2455fec128f07a497a2b2bf626cc6272d0419ca663e9dc66b8224227eb796f0246dcae9c5b0b6cfdbbd40c3245a610481c92047c968c9fc92c04b89cc41a0c15355a8f",
|
||||
"tlvs": {
|
||||
"path_id": "deadbeefbadc0ffeedeadbeefbadc0ffeedeadbeefbadc0ffeedeadbeefbadc0",
|
||||
"unknown_tag_1": "68656c6c6f"
|
||||
"unknown_tag_1": "68656c6c6f",
|
||||
"encrypted_recipient_data": "bdc03f088764c6224c8f939e321bf096f363b2092db381fc8787f891c8e6dc9284991b98d2a63d9f91fe563065366dd406cd8e112cdaaa80d0e6"
|
||||
}
|
||||
}
|
||||
]
|
||||
|
Loading…
Reference in New Issue
Block a user