ZmnSCPxj / clboss

Automated Core Lightning Node Manager
MIT License
214 stars 32 forks source link

Lightningnetwork.plus swap integration #80

Open btweenthebars opened 2 years ago

btweenthebars commented 2 years ago

Based on discussion here.

The platform is very popular for increasing inbound capacity and onboard new node operators, however it's based on user communication and commitment with reputation system on top. clboss might be able to use it to discover new peers or even participate in swapping with other human nodes.

ZmnSCPxj commented 2 years ago

Have contacted LN+ dmins, they say they are planning an API. It seems at minimum we need to sign a message using C-Lightning signmessage to log in, will wait for details on getting swaps and so on.

At minimum we could scan through HTML, we already depend on libcurl here, but that is brittle since we do not control the server and the generated HTML may change in the future. And if they use JavaScript, well, that is even harder.

btweenthebars commented 2 years ago

HTML scanning is horrible, unless we have many devs to work on it full time and user has to upgrade the bot every time it breaks.

ZmnSCPxj commented 2 years ago

Eh, done it before, in a previous life before Bitcoin. Does not require that many devs actually, just bloody-mindedness, an unwillingness to give up on extracting the data, and a lot of swearing.

ZmnSCPxj commented 2 years ago

In the meantime.... a long time ago I had an idea for creating such cyclic superhubs without a central coordinator (as a central coordinator has the ability to censor, though the LN+ interface looks like it would be difficult to at least censor secretly i.e. yes it could censor but the censored node would be able to detect itself being censored).

Roughly the idea is:

We could have CLBOSS set a node-level feature bit, and do an initial filter of all nodes, requiring that feature bit to be set. That way, CLBOSS nodes will try to form cyclic superhubs with each other. Note that the algorithm requires at least 3 such nodes on the network, though.

niftynei commented 2 years ago

dual-funded channels would let you create cycles that are balanced at start as well.