To tackle this problem, two developers by the names of SoulExporter and Czino started documenting a structured process to: “strengthen cooperation and form strong partnerships, we have devised the concept of a ring of nodes. It serves as a template to bring node runners together and lift each other up.” They called this ring of nodes “The Ring of Fire”.
The benefits are clear: these rings strengthen the community, the network and improve the general liquidity in the network. So how does it work? Node operators looking for liquidity, more channels, or better connectivity come together in Telegram groups (like Ring of Fire) or websites (such as lightningnetwork.plus). These groups and websites act like marketplaces, where node operators can find Rings of Fire in all sizes. There are two important variables, namely: the number of nodes in the ring and the size of the channel (in satoshis). However, these two variables are advertised upfront, so that node operators know what they are getting into. Sometimes, the node operator initiating the ring will set certain requirements that other nodes need to adhere to. For instance, a ring could only be available to nodes with a minimum of 50 other channels and a node capacity of 50 million satoshis (0.5 BTC).
When the group is formed and all members agree on the ring terms, the process starts. It is a best practice that the most experienced member of the group acts as the ring leader. The ring leader is in charge of designing the ring, more specifically: putting the members in the correct order. There are multiple reasons why the order is important. Nodes that already have an opened channel should not be next to each other in the ring. Furthermore, it is often rewarding to let the bigger and more connected nodes connect to smaller nodes, to distribute capacity evenly across the ring.
After the ring leader completes the position of each node in the ring, he will inform the other node operators. Each node opens one channel to the next node in a clockwise manner. All the channels are of the size that was agreed upon. Sometimes nodes operators will also agree on the on-chain fee used to open the channel, although this is not an essential step in the process. After initiating the channel, the on-chain transaction is shared with the group and ring leader to monitor the status of the ring.
Some groups consider the ring completed after all channels are opened (and confirmed on the blockchain). Others add another step to the process: balancing the channels. Without balancing the channels, all transactions in the ring travel clockwise. This could lead to longer routing routes, which makes the ring less attractive to route transactions through. To solve this issue, rings can be balanced after all channels are opened. Initially, all nodes in the ring increase the fees on the channels to make sure that nobody routes payments through the ring while the balancing is in process. There are multiple options to balance the ring, but the most elegant and trustless way is to let the ring leader make a payment to himself that goes through all the nodes in the ring. That last part is crucial! The payment needs to be constructed so that it takes the path through the nodes in the ring, in the correct chronological order. When executed correctly, all channels between the nodes should be balanced.
Some rings will also negotiate on a share fee policy. There are two types of fees on the lightning network: base rate and fee rate. The base rate is a static fee. The fee rate is variable and depends on the transaction size. When a ring wants to act as one big node, they will set their fees to 0/0 (0 base fee and 0 fee rate). When a ring wants to attract micropayments, it could set its base rate to zero. If the ring wants to attract bigger transactions, it will agree on a lower fee rate (and higher base rate).
And that’s it. The node operators shake hands, thank each other, exchange contact information, and part ways.