Bitcoin : the case for Benevolent Headless Nodes

Benevolent headless nodes
As a learning user of bitcoin, a year and a half ago I managed to set up my own node on a Raspberry Pi 3 at the time. There were numerous tutorials available online, and even though I followed them blindly, copy/pasting every command line, I still had to try like 7 times before I managed to make it run, but I succeeded in the end. 
 
Then came along the « one-click install nodes » that offered a seamless experience for running your bitcoin node AND a lightning node as well, the 2 main ones being MyNode and Umbrel: I’ll be doing a comparison article for the two of them. They made a dramatic improvement to the overall process and I’m pretty sure that in the coming years, we’ll have plug & play full nodes that will become available so that the general public can become their own bank without requiring that they obtain a masters degree in computer science. It is only a matter of cost and efficiency, but I’m 100% certain that those are coming. 
 
This means that « sovereignty automation » is now only a few clicks away from the general public, but there’s still a rock in my shoe that I must admit: channels, those fucking channels. Understanding the fundamentals of on-chain payments and how bitcoin works is already pretty complicated, and it takes weeks if not months to understand. Then you need to understand how the lightning network operates, and with sufficient knowledge of how on-chain payments work, you quickly get the idea. Plus, the objective is pretty neat: instant transactions at almost no cost, on something that offers the security of bitcoin. 
 
But the channels, oh boy, they’re complicated. First, you need to understand the concept of having Inbound capacity (the possibility for someone to send you payments), and how to get it. When I first came across this problem, while searching the internet for services to get some, I came across things link LNBig, which gives you code that you also must copy/paste to get a channel opened to you, and then you can receive money. Theoretically. 
 
Because yeah, it’s beautiful in theory, but the thing is that if the person trying to send you money doesn’t have a channel that’s close enough to the LNBig node that gave you inbound capacity, they’ll get a « no route » error message and it just won’t go through. The same problem happens when you want to send money to someone: how on earth are you supposed to know to what node you should open your first channel if you want your payments to go through. 
 
When I wanted to buy the Citadel21 magazine, I had everything, enough money on lightning, like 5 or 6 channels opening with the « recommended nodes » you get from Zap Wallet (like BitRefill, Zap, Y’alls, etc). Yet it wouldn’t go through. I had the money, but I just couldn’t pay. After a few hours of scratching my head, I had an idea : maybe I  had too many channels, and my money was scattered too much. So I closed a few unused channels that had only a few thousand sats on them and had to pay transaction fees on that. 
 
Then I looked online and saw that LNBig advertised themselves as « the biggest capacity and the best-connected nodes ». Ok, that seemed good. I had an inbound channel from them. Maybe I could add some outbound capacity to that channel: I saw that there was a thing called « Loop In » but I didn’t figure how to make it work. So I opened a new « big » channel with them, went back onto the shop, and tried sending my $21 equivalent payment through lightning, through my node… And after a few seconds of stress: it went through! I was so happy but who cares. If you went through this kind of trouble yourself, you know that feeling. 
 
I was very proud but the first thing that came to mind was that a noob should never have to through this kind of bullshit. So I thought about what we could do to improve the experience for total noobs who just want to download Zap and be able to pay instantly. Of course, we could set up the app so that it automatically connects to nodes that the developer decides, and pays the channel opening fees that such nodes require, but that is not very decentralized, and not very transparent. There had to be a better way to achieve the same result. 
 
The idea was that, as a bitcoin user, I am more than willing to provide liquidity to the network, just to speed up its adoption and ease of use. I’m pretty sure I’m not the only one in this case, the proof is that many bitcoiners provide inbound liquidity for free. This is how I came to the term of building what I called « Headless Benevolent Nodes ». The overall concept would be to develop a protocol in which a user would tick a button that would say « Run a benevolent headless node ». 
 
Those nodes would automatically open channels to new lightning nodes coming online (hence the « headless ») and do not charge people for the capacity offered to them (hence the « benevolent » part of the name). Those nodes (or the part of the actual nodes that acts as a BHN) would then charge the minimum routing fees for routing transactions of new lightning uses, just to the point of reaching the amount they had to spend to open the channel in the first place (so that they don’t lose money). The BHN would also talk to one another and be able to route the vast majority of payments. 
 
If it was possible to verify that a given node respects this certain of criteria, it would ensure that users can send payments straight away without having to manually open channels, while guaranteeing that new users wouldn’t get scammed or pay fees that are too high: clients and full mobile nodes would only connect automatically to BHN that would be certified as « secure » by the very program they’re running. The overall idea would be that those nodes are not made to « earn money », they would just be here to help the network and would be subjected to a certain number of rules that they would have to respect. 
 
By doing so that would get the opportunity to receive incoming channels automatically, while also opening channels automatically, without losing money, but also without making money. They’re just there to help bitcoin, their headless (nobody tells who to connect to but code), and they’re benevolent (their owner decides that he wants to help bitcoin). And maybe if they’re useful to new users who onboard the lightning train, maybe the said users will want to activate the option themselves, therefore strengthening the network as well. 
 
Thanks for reading up to here, what are your thoughts on this guys? 

Leave a Reply

Your email address will not be published. Required fields are marked *