What are the most useful features being developed for the Lightning Network today?

"What are the most exciting or useful features that are being worked on for the Lightning Network? There seem to be a lot of different upgrades to the Lightning Network being proposed such as watchtowers. Which of them do you consider to be the most exciting or most useful?" Well David, thank you. Great question. So watchtowers, as an example, is one of the things that we've seen being introduced into the Lightning Network and watchtowers are basically a third party service that you can subscribe to that protects your channels when you're offline. You remember when I was describing the Lightning Network earlier I said that in the first iteration of the Lightning Network, due to the way in which the channels are constructed, it is possible to broadcast the prior state -- which means a different mix of local versus remote balance that would disadvantage one of the parties in the channel.

Cheating transactions on a payment channel and how to prevent them with a penalty state

Basically what that means is [let's assume] I sent some money to Renee, for example, over our common payment channel. And I want that [payment] to have never happened. The state of the channel before I sent that money showed more balance on my side, which is advantageous to me. That state should be invalidated when I send the new state to Renee but I can cheat by sending the old state in the protocol if I do that, Renee has a period of time in which Renee can punish me by sending a penalty transaction out that not only gets the state back to the correct state but actually takes away my balance to punish me. Which means that I lose all of the money in the channel if I try to cheat by keeping more of the balance.

Watchtowers for lightning network transactions, so you can go offline

Now that penalty transaction has to be broadcast within a period of time and if Renee is offline I can cheat while Renee is offline and as a result keep a bigger percentage of the balance and close the channel. To prevent that Renee either has to be online all the time or with watchtowers Renee can outsource that. Renee can say watch this channel and if someone tries to broadcast the prior state please punish them on my behalf by broadcasting this penalty transaction. And watchtowers can charge a fee for that and their services according to a new standard that is implemented on a number of the clients on the Lightning Network. So that's one development.

Trampoline routing for the lightning network allowing lightweight lightning clients

Trampoline routing is an interesting one. So this is where instead of my client, my lightning wallet, needing to know how to construct a route that connects the payment channels that I have and then further payment channels to get to a recipient somewhere out there on the Lightning Network, instead I outsource that function to an intermediary node called a trampoline node. It's called a trampoline node because essentially what you do is you bounce the payments off of that trampoline node and the trampoline node does the routing from there. So all you need to know is know how to route to that trampoline node, it doesn't have to be a node that you have a payment channel to. It could be several hops down. But you only need to know the routes to that trampoline node and then the trampoline finds the route to your recipient. This is a great service because that means you can now run a lightweight lightning wallet let's say on mobile device that doesn't keep a full map of the channels that are available on the entire Lightning Network in order to construct routes. Instead it relies on the trampoline nodes to keep a full map and therefore find routes and that makes things a lot easier. But of course there are some downsides.

Dangers with trampoline nodes

Because the trampoline node gets to construct a route it has the ability to deny service to you or censor unless you use another lightning trampoline node and it also leads to a small reduction in privacy because the trampoline node knows the ultimate destination.

Rendezvous routing, recipient tells you to route to a specific node, privacy technique

Another mechanism for routing is rendezvous routing where the recipient of a lightning payment tells you to route the payment to a specific node that isn't that node. Effectively a node further away and then uses either private channels that are not advertised or another route that it communicates the rendezvous node to route it for the final few hops. Now think about that for a bit. The advantage of that is that you can increase the privacy by hiding behind an intermediary node and using private unpublished channels to route the last few hops. And you can combine the techniques we just talked about, so you could use trampoline and rendezvous theoretically to have the trampoline node route to a rendezvous node from there the routing is hidden to the final destination and take back some of your privacy.

HODL invoices which don't expire

HODL invoices are another very interesting innovation. HODL invoices are invoices that do not expire and where the payment doesn't have to be claimed immediately. Instead the payment is established but then held for a while and the recipient nodes can leave it. You can do a number of interesting tricks if you have that kind of delayed payment with HODL invoices.

Turbo channels to push balance without receiving an invoice for liquidity

Another interesting one is turbo channels or using push to push balance when you open a channel in the first place. So this is a way to send money to a node without receiving an invoice and it's also a way to establish inbound liquidity for your own lightning nodes for a fee. So in this case what you do is: let's say I wanted to send money to Carol and Carol has not given me an invoice. I can open a channel to Carol and push an amount so that when the channel is initialized some of the money is actually on her end of the channel as her balance from the very beginning and effectively I paid her that money by establishing that channel. And you can also do that with a service provider that can open a channel to you to create inbound liquidity and also push some of that as a payment to you. You can use a number of other tricks like that.

Submarine payments or submarine swaps

Another interesting development is development the submarines swaps or submarine payments. This is where you do an on-chain transaction to a Bitcoin address that also funds a lightning channel. So pay this Bitcoin address so I can open a channel or the opposite, pay this lightning payment so I can make an on-chain Bitcoin transaction. So this is effectively an atomic swap between on chain and off-chain payments so that they can occur atomically and trustlessly and so you can move money essentially from on-chain to off-chain or from off-chain to on-chain. These are just some of the developments and these are just some of the things that have emerged to fulfill specific needs and reduce complexity in the use of the Lightning Network just over the last year and a half in its development and these developments are coming very very fast from all corners of the developer ecosystem and lightning. If you enjoyed this video please subscribe, like, and share. All my work is shared for free, so if you want to support it join me on patreon.com/aantonop Thank you.