Introduction to LN Open Metrics

Vincenzo Palazzo
4 min readNov 30, 2021

One of the big missings in the lightning network is the method of rating the node in terms of goodness. In particular, how much a node is good for the health of the network.

More than half (very optimistic here) of the payments fails through the network, and one of the motivations is that the channels are opened in a pseudo-random way. The goal of this LN Open Metrics research is to define a unique and standardized method to collect the data through a specification called lnmetrics.rfc.

Introduction

LN Open Metric tries to give a trusted way where the node operator can share the metric data with a server, and the server takes these data for each node and makes a rating of it.

The data shared with the server, are verified by the server through the signature of the data provided by the lightning node during the commitment.

The server provides a GraphQL API and they are available at https://api.lnmetrics.info. In addition, the server implementation is open-source on Github, and available for everyone that wants to provide a rating server.

In conclusion, the research will give the possibility to show all the nodes that are contributing to this research with a website available at https://lnmetrics.info where the user can see all the information about all the nodes, and choose what is the best for him.

How to Get Rating

One of the simple ways to get started, and start to contribute to this research is running a c-lightning plugin available on Github and starting to share the data through the server. However, everyone can propose change or improvement to the metric calculation through contribution in the lnmetrics.rfc.

For the moment the only implementation supported is c-lightning, and the c-lightning team is also contributing to the idea to have open-source metrics for rating the nodes, but the plugin is written to be easily extended for other lightning implementation.

What are the benefits?

The goal of this research is to try to find an answer or a way to improve the quality of the connection, between nodes. In particular, having a rating of the node available through API can help software like clboss or autopilot plugins to optimize the choice between nodes, and also speed up the plugin performance.

However, for the moment the first step where we want to start is to involve the users and node operators to share the data with this system because, by design, we are not collecting data in a single server with a single node, but we want that the node of the network will share the data with us to have the possibility to see the network with the different viewpoints

In conclusion, we want to provide also different types of benefits to contribute to this research, and some of the future work before the end of 2021 are reported below:

  • Give the basic rating with the data collected, through the sever with a single API call. If you are interesting you can contribute to the metric one spec that is still in draft.
  • Give a method to notify the user when the server, found a down of the node, through channels like Telegram or Discord
  • Give a method to show the news of the server, such as a new node announcing or the best 10 nodes in the server through Twitter.

However, the real goal of this research will be to study the big portion of the data and help to improve and optimize the network, but before we need to have a well-tested system and we need to have also real data where make experiments.

Open Questions

Before releasing this work, I tried to make some questions for the lightning network people through a Twitter post and a Reddit post to understand what are the actual criteria that a user uses to open a channel with a specific node, and how they will choose this node.

The open questions are the following:

  • How much does a user care about the size of the channels, and what is the correct definition of Big channel size? With these metrics services, the user could filter with different options and find the best node that is available.
  • Give the possibility to have also the uptime information of the node through the network, with node information like the implementation and the version, but also information on the system architecture.
  • Give information about the payment forwards success rating, it is real that only the big channels have more probability of success?

Conclusion

The research is in the early stage, and we would like to receive feedback from the user, and if the user will find this research useful for the network.

For the moment we start gradually to release well-tested software and more important a stable system where other software can trust.

In conclusion, we love to stay in touch and help to get started the people that want to join us in this adventure. So you can use the following channels to ask support or any type of question

Support the work

All the architecture is supported with my own funds that are very limited, so if you like to support this adventure, please consider donating with the following system or reach me out for any other form of support.

In addition, there is also a bolt 12

lno1pg357enxv4ezqar0ypehqmmwwdhhygz22fgyxnrfva58gmnfdenjqam0wf43ug8zgz9ynura9aqg8frngsfca7y7wct7vwgeyqkf925dfx6hfftq4mcypm3wjg9cfkk37v92kjxpxae590az2xw9nnfe5ar8afs74rvr5e2lrej50cjlw8ldzjtj7s50qj3hfytjyg2pywkl2c7e7643zflgfues

Or, simply connect to my ln node to grow my network :) https://bruce.lnmetrics.info

You can find me on Github @vincenzopalazzo

--

--

Vincenzo Palazzo

I'm an Open Source software developer, and in my free time, I'm a master's student. My main focus is to build some tools useful for other developers.