So, it’s time to talk about the elephant in the room: how do you start the issuance and circulation of these tokens on the network? Each node you want to route through will require a token issued by them. The solution: pay for them. Another proposed solution to the channel interference problem is upfront fees, that is, charging a fee for even attempting to route a payment, regardless of whether it is successful or not. Therefore, even failed payments would incur a fee to the sender.
Riard’s proposal is to buy these tokens directly from each node as one-time purchases. From then on, instead of paying fees upfront for each payment, as long as the previous payment has been successfully settled, you will be reissued “routing tokens” that allow your next proposed payment to be routed without a fee. This way, successful payments only pay the actual routing fee and failed payments only pay the initial fee, avoiding a kind of “double fee” for successful payments. At least from an economic point of view, think of it as a sort of compromise between the current state of affairs where failed payments cost nothing and only successful payments pay a fee, and a full upfront fee model in which that all payouts pay an initial fee and successful ones also pay a routing fee.
Conclusions of the proposal
Personally, I think this kind of direct payment for tokens up front could introduce a high degree of UX friction into the Lightning Network usage process. However, I think there is a fairly simple solution to that friction by modifying the proposal a bit.
Rather than specifically having to pay each node directly for Chaumian tokens up front, the proposal could be more directly matched to the initial fee proposal. If you have tokens for a node, include them in the onion blob, if not, simply pay an upfront fee directly within the HTLC proposal, and if the payment is settled successfully, the Chaumian tokens will be returned to you in proportion to what what are you doing. -the fee was upfront. This way, instead of having to collect tokens from many different nodes in advance, you just acquire them over the course of initial payments until you have a good collection of the different nodes that you use frequently and very rarely have to incur any the cost. of fees in advance to achieve them.
Another potential source of friction is for node operators, and it boils down to fundamental issues of Chaumian’s own e-money. To ensure that a token is only spent once, the issuer must maintain a database of all tokens that have been spent. This grows forever, making lookups to verify token validity increasingly expensive and time consuming as the database grows. Because of this, Riard proposes that these Chaumian tokens expire periodically, at a block height announced in the gossip protocol per node. This means that senders must periodically repurchase these tokens or, if the implementation supports them, redeem them for new tokens signed by the new signing key after the old one expires.
This would incur a regular financial cost to payment senders, or require them to register periodically to ensure reissue when old tokens expire. In practice, this can be automated for people running their own Lightning nodes, and for any wallet built around a Lightning Service Provider (LSP) model, the LSP itself could handle the acquisition and maintenance of tokens in name of your users, managing the provisioning of tokens for your users’ payments. On the side though, without a full Lightning node or LSP, this could become a hassle for light wallet users.
I think this proposal could actually go a long way towards mitigating channel interference as an attack vector, especially if coupled a bit more closely with the basic upfront fee scheme, and most of the UX friction can be handled very well. easily for LSP users and people running their own Lightning nodes. And even if the initial fees present a high degree of friction, they may simply test control of a Bitcoin UTXO could be used instead of paying fees to acquire tokens.
This is a Shinobi guest post. Opinions expressed are entirely their own and do not necessarily reflect those of BTC Inc or Bitcoin Magazine.