A Proposal for Adding Bandwidth Metered Payment to Onion Messages [combined summary]



Individual post summaries: Click here to read the original discussion on the lightning-dev mailing list

Published on: 2022-03-23T00:25:40+00:00


Summary:

Olaoluwa Osuntokun, the CEO of Lightning Labs, has proposed a way to expand the scope of the Lightning Network beyond being just a decentralized peer-to-peer payment system by introducing onion messaging. However, there are issues with unsolicited messages, lack of compensation for network bandwidth expended by forwarding nodes, and rate limiting policies not being concretely addressed.To address these issues, Olaoluwa suggests adding an explicit onion messaging session creation phase with an optional payment for nodes that forward the onion messages. Nodes can signal their willingness to be paid to forward onion messages and specify their pricing using two new TLVs added to the node_announcement message: sats_per_byte and sats_per_block. A new TLV is also added to the existing HTLC onion blob to allow a sending node to tender paid onion message session creation. After session creation succeeds, nodes will forward onion messages that include the onion_session_id. Nodes do the necessary bookkeeping to tally how much bandwidth is left in the session and check that the session hasn't expired before forwarding.The proposal also discusses the idea of charging for forwarding onion messages on top of existing onion_messages. References are made to specific resources such as bLIP and BOLT tracker, and the concept of incentivizing nodes to reliably forward messages is touched upon.The proposed system aims to compensate nodes for forwarding onion messages and expands the scope of the Lightning Network to support pseudonymous messaging and arbitrary data transfer across the network. Two new TLVs have been added to the node_ann message to allow nodes to express their willingness to forward messages and specify their pricing. The sender creates new onion_session_id's for all nodes in the messaging route during session creation. Session creation is initiated with an AMP payment to the receiver, which distributes the proper fee to each intermediate hop along with the proposed onion_session_id. Once a session has been finalized, the sender can use it to send messages to the receiver. Nodes check that the session hasn't expired and has enough bandwidth left before forwarding onion messages.The proposed system aims to supplement the existing fee revenue of nodes, potentially making it more sustainable to run a Lightning node.


Updated on: 2023-08-01T00:08:47.390627+00:00