[go: up one dir, main page]
More Web Proxy on the site http://driver.im/ skip to main content
research-article
Open access

Assessing Routing Algorithms for Payment Channel Networks

Published: 18 March 2024 Publication History

Abstract

Payment Channel Networks (PCNs) are a promising approach to overcome scalability issues of blockchains. To achieve efficient payments in PCNs, it is necessary to route transactions between a payer and a payee. Especially in large-scale PCNs, multi-hop routing becomes necessary, since transactions need to be relayed by nodes. For this, a scalable routing algorithm is needed, which fits the individual objectives of PCN users.
In this article, we study whether routing protocols from the field of Wireless Sensor Networks can be applied in PCNs. To this end, we first derive requirements for routing in PCNs, select suitable approaches, and analyze to which degrees they perform well and meet the requirements. We adapt selected protocols and evaluate them with regard to the lengths of payment paths, fees, and success ratio.

1 Introduction

State-of-the-art blockchain protocols like Bitcoin and Ethereum suffer from scalability issues, which limit the utilization of such protocols in real-world payment transactions. Accordingly, many different approaches to improve the scalability of blockchains have been proposed, e.g., novel consensus mechanisms or sharding [17]. In contrast to such protocol adaptations, which are also known as layer-1 solutions, so-called layer-2 solutions do not change the actual blockchain protocol. Instead, layer-2 solutions utilize the possibility to off-chain transactions, and therefore significantly decrease the number of transactions that are carried out on the actual blockchain [20].
One well-known example for layer-2 solutions are so-called Payment Channel Networks (PCNs) [16], with the Lightning Network (for Bitcoin) [33] and Raiden (for Ethereum) [36], being prominent examples. PCNs are based on the idea that two nodes in a network can be connected via a payment channel, which allows bidirectional transactions. By connecting different channels via the involved nodes, a PCN is established [8].
To open a payment channel on a specific blockchain, a funding transaction is needed. This transaction locks a certain amount of assets for the two nodes involved in a payment channel. Afterwards, the nodes can update the distribution of the initial credits repeatedly, until one node broadcasts a commitment transaction to the blockchain. This transaction is used to redeem the funds on the blockchain and therefore closes the channel [27]. Since typically a smaller number of transactions is carried out on-chain, this leads to lower transaction fees while the transactions are carried out much quicker than on-chain.
A payment channel decouples individual transactions from a blockchain, but opening and closing a payment channel is as expensive as a “normal” on-chain transaction. Accordingly, payment channels are especially helpful if they stay open for a certain amount of time, i.e., can be reused. Multiple payment channels can then be used to form a PCN. In case a direct payment channel between two nodes does not exist in a PCN, a transaction can be routed via third parties—this is also known as a multi-channel or multi-hop transaction. To encourage nodes to relay payments, intermediate nodes in a route are allowed to charge fees for their services. To ensure the correct exchange of funds across several untrusted payment channels and nodes, Hashed Timelock Contracts (HTLCs) can be used. This further eliminates the need for opening a new channel to every transaction destination, and therefore saves time and fees [27].
In extensive PCNs, routing a transaction from a payer to a payee can become a complex task [30]. Hence, a routing algorithm is needed. The concrete algorithm does not only need to prevent a regression into similar scalability issues as in the actual blockchain but also needs to satisfy requirements like low fees, high velocity, privacy, and so on [33].
In general, routing is an important topic in networked systems, and a lot of different approaches have been presented, e.g., for ad hoc networks [12], the Internet of Things [2], and Wireless Sensor Networks (WSNs) [29]. With regard to PCNs, especially approaches from the field of WSN routing are of interest, since the requirements in both fields resemble each other: Importantly, both PCNs and WSNs need to support scalability, are based on the assumption that the resources of the nodes are limited (i.e., the routing overhead should be small), latency is a significant concern, networks might be dynamic (e.g., since nodes might be faulty), and a high success rate (i.e., delivery rate) is desirable. Also, the nodes in both PCNs and WSNs usually have only limited knowledge about the network, i.e., the number of nodes and the existing payment channels are not necessarily known to all nodes in the network. There are also some notable differences between routing in PCNs and WSNs: Especially, the “bandwidth” of a payment channel is defined by the available funds, while in WSNs, a limited bandwidth increases the latency, but does not render a link unusable.
Within the work at hand, we investigate the transferability of best practices and algorithms from the field of WSN routing to PCN routing. In brief, the contributions of this article are as follows:
We identify the state-of-the-art in WSN routing and analyze the requirements of routing algorithms for PCNs. Based on this, we assess selected WSN routing algorithms.
We adapt and implement the WSN routing algorithms E-TORA, TERP, and M-DART for the usage in PCN routing.
We define a behavior model and roles for nodes in PCNs.
We evaluate the applicability of E-TORA, TERP, and M-DART in PCNs with regard to, e.g., scalability, latency, success rate, and fees. The results show that approaches from WSNs can improve routing, depending on the non-functional requirements within a specific PCN.
The remainder of this article is organized as follows: In Section 2, we discuss the related work. In Section 3, we name potential candidate algorithms from the WSN field and analyze their suitability to be applied in PCNs. In Section 4, we present the implementation of the most promising algorithms. Sections 5 and 6 present the setup and the results of the evaluation, respectively. Finally, Section 7 concludes this article.

2 Related Work

As outlined above, PCNs require a routing algorithm to make sure that a multi-channel transaction via different nodes is performed. In brief, the routing algorithm selects the best-suited route to the payee, based on predefined rules. While doing so, the algorithm should ensure that the resulting path satisfies certain criteria like enough liquidity in the individual channels, and provides for the adherence to non-functional requirements like latency, costs, success rate, and scalability.
In general, routing algorithms can be categorized as follows [12]: Reactive algorithms discover routes on demand. Very often, this is done by flooding the network with messages to get information about the network structure. In contrast, proactive algorithms create some kind of database about the network, very often in form of routing tables. A combination of reactive and proactive concepts is called a hybrid algorithm. Location-aware and hierarchical algorithms are applied in networks where the nodes know their positions, e.g., their coordinates.
In an early approach to routing in PCNs, Prihodko et al. [34] present Flare, which is aiming at the Lightning network. Flare applies a hybrid approach to gather the necessary routing information. The proactive routing table consists of nodes in the neighborhood of a payer and so-called beacon nodes that are farther away. This information is gathered in regular intervals and when a channel has changed. If a payer is not able to find a route to a payee based on this information, then beacons are dynamically asked for their routing tables. Short-living information like liquidity and fees are collected on demand to validate the routing decision. According to Roos et al. [39], the reactive part of Flare is highly inefficient, since a large number of messages have to be sent.
Malavolta et al. [26] present SilentWhispers, which has not been specifically developed for PCNs, but for credit networks like Ripple. SilentWhispers applies a hierarchical routing approach called landmark routing. Here, the path between two nodes is always routed through a special node, i.e., the landmark. Each landmark periodically executes a Breadth-first Search to find the paths from and to the nodes in the neighborhood. SilentWhispers especially aims at privacy, e.g., hiding the payer. SpeedyMurmurs is another landmark-based routing algorithm especially aiming at privacy aspects [39]. Similar to SilentWhispers, landmark nodes scan periodically for paths, but SpeedyMurmurs introduces some “shortcuts” to decrease the average lengths of routes.
CoinExpress is another algorithm based on a Breadth-first Search [47], but abstains from using landmarks. CoinExpress is a reactive algorithm, leading to no overhead because of periodic update messages. However, scalability is decreased by the fact that broadcasts to neighbors are performed when a route is sought-after. Notably, CoinExpress utilizes a locking technique for funds introduced by Rohrer et al. [38]. This reduces the potential impact of concurrent payments and therefore increases the success rate. Hoenisch et al. [21] present a reactive approach that makes use of an adapted version of the Ad hoc On-Demand Distance Vector (AODV) protocol. Since this is a reactive protocol, it may lead to the network being flooded with packets in the worst case.
Spider [41] provides a routing approach that allows splitting transactions into smaller parts, and especially takes into account that the funds in payment channels remain balanced. For this, the authors apply a hybrid algorithm that allows the sender to select different precomputed paths, but to also adapt them based on feedback from routers. Interestingly, Spider allows queueing payments in case a particular transaction cannot be carried out immediately. Thus, it can be avoided that payments fail immediately. A similar approach is presented in Boomerang [9], i.e., again the sender selects different precomputed paths for payments. Notably, Boomerang allows redundant payments to make sure that a transaction is successful. Overpayments are refunded. Eckey et al. [18] state that both Spider and Boomerang do not scale well. Similar to Boomerang, Bi et al. [11] present a multipath routing algorithm. However, their work especially aims at microtransactions for the Internet of Things. Accordingly, their goal is to minimize transaction fees. Interestingly, a genetic algorithm is applied to find optimal routes.
MPCN-RP [15] applies a variant of the directed Dijkstra algorithm to find a cost-efficient path in a PCN. Interestingly, the authors take into account different cost factors, which allows adapting MPCN-RP to different PCNs. MPCN-RP is proactive and based on a centralized operator that manages the entire PCN and selects optimal paths for all users. LightPIR [32] applies hub labelling algorithms to find a cost-efficient route in a privacy-preserving way. By avoiding the usage of lookup tables, LightPIR provides a scalable and resource-efficient approach to proactive routing. RobustPay+ [48] especially aims at robustness by constructing two node-disjoint paths for each payment. Payments are transferred simultaneously on both paths, and the protocol makes sure that nevertheless each payment is carried out only once; this is achieved through an extension of HTLCs. In addition, the algorithm aims at minimizing the worst-case transaction fees, and provides a distributed, proactive routing approach.
Flash [43] provides another distinctive approach by differentiating between high-value and low-value transactions. For the former, a proactive routing approach is applied, while for the low-value transactions, a reactive approach is used. Finally, Rebello et al. present PCNsim, a simulator that can be used to evaluate routing algorithms for PCNs [37]. Since this work has been carried out in parallel to the work at hand, we introduce our own simulator in Section 5.2. Nevertheless, it would be surely interesting to use PCNSim in future work for the evaluation of routing algorithms.
While the discussed algorithms also focus on scalability, each one focuses primarily on a different requirement. For instance, SilentWhispers [26], LightPIR [32], and SpeedyMurmurs [39] are especially aiming at privacy, while Flare [34] targets to be reliable and withstand censorship. Boomerang [9] and Spider [41] present mechanisms to increase the success rate of payments. Reactive protocols are less likely to scale well because of the risk of packet flooding. However, the algorithm presented by Hoenisch et al. [21] reduces the overhead of network stabilization, while CoinExpress [47] is focusing especially at timing and concurrency of payments.
Within the work at hand, we assess and benchmark to which degree routing protocols from the WSN field can help to improve the success ratio of payments, the latency (in terms of hop count), the average fee, and further metrics in PCNs. To the best of our knowledge, such an analysis has not been presented yet. Nevertheless, it may lead to interesting insights. For instance, research on WSN routing algorithms has shown that different routing protocols may be beneficial in different settings, and that certain design decisions can lead to improved or degraded routing results.

3 Analysis of Routing Algorithms

In this section, we discuss the analysis of WSN routing algorithms for their utilization in PCNs. For this, we first define a system model in Section 3.1. Second, we derive functional and non-functional requirements for routing algorithms for PCNs in Section 3.2. Based on this, we are able to analyze WSN routing algorithms in Section 3.3.

3.1 System Model

To analyze fitting routing algorithms for PCNs, we first need to specify a system model. For this, we follow the models presented in the related work, e.g., References [34, 39, 47].
We define a PCN as an undirected graph \(G = (N, C)\). N is the set of nodes, and \(C \subseteq \lbrace (n_1, n_2) \mid n_1, n_2 \in N\rbrace\) represents the set of unidirectional channels. Nodes are generally identified by a unique ID \(waddr_n\) that is referred to as wallet address. For communication with other nodes in the network, a possibly variable (IP) address \(ipaddr_n\) is used.
Each channel \(c \in C\) is represented by a pair \((n_1, n_2)\) of distinct nodes \(n_1, n_2 \in N; n_1 \ne n_2\). The maximum transferable amount of c is denoted by the total capacity \(cap_c \in \mathbb {R}^{\geqslant 0}\). Since the graph of the network is undirected, the capacities \(cap_{(n_1, n_2)}\) and \(cap_{(n_2, n_1)}\) are equal. This does not hold for the balances \(b_c \in \mathbb {R}^{\geqslant 0}\), i.e., the currently transferable amount of each direction. \(b_{(n_1, n_2)}\) is the amount that node \(n_1\) can transfer to \(n_2\). The balance \(b_{(n_2, n_1)}\) applies vice versa. After a transaction, the balances are updated accordingly, so that \(cap_{(n_1, n_2)} = cap_{(n_2, n_1)} = b_{(n_1, n_2)} + b_{(n_2, n_1)}\).
Most of the nodes, channels and balances are not considered to be known by an individual node, due to the distributed and dynamic nature of a PCN. We assume that a node n is always aware of the channels it is part of, i.e., \(C_n = \lbrace (n_1, n_2) \in C \mid n = n_1 \vee n = n_2 \rbrace\), and their exact balances. Also, neighbor nodes \(N_n = \lbrace u \in N \mid (n, u) \in C\rbrace\), including their wallet and IP addresses are known by n. Beyond that, a node cannot be certain that information received earlier is (still) correct.
A payment is defined by a tuple \(P=(n_s, n_r, a)\). \(n_s \in N\) is the node that initiates the payment transaction (i.e., the payer or sender), \(n_r \in N\) is the receiving node (i.e., the payee), and \(a \in \mathbb {R}^{\gt 0}\) is the amount that is paid. All paths that can be constructed using the established channels between \(n_s\) and \(n_r\) are denoted by the set \(R_{(n_s, n_r)}\). Each path \(r \in R_{(n_s, n_r)}\) has a maximum payment value \(v_r \in \mathbb {R}^{\gt 0}\) that corresponds to the lowest balance of one of its channels in the direction of payment. The possible paths for P that can be used to transfer at least an amount of a are in the set \(R_P = \lbrace r \in R_{(n_s, n_r)} \mid v_r \ge a\rbrace\). Finally, the selection of a path in \(R_P\) is the responsibility of the node itself.
A node cannot be assumed to have prior knowledge of payments that are to be sent, received, or forwarded. Because of that, only historical information can be used to optimize the channel management and other operations. \(P_{i_n} \subseteq P_n\) denotes the payments that have been made by node n before the time i, whereas \(P_n\) represents the set of all payments by n. Likewise, also a time-indexed subset of relayed payments \(P_{r_n}\) is known by a node n.
When payments are routed over multiple channels, intermediate nodes can charge fees for providing the relaying service. These fees are split into a fixed amount \(f_n \in \mathbb {R}^{\geqslant 0}\) and a rate \(r_n \in \mathbb {R}^{\geqslant 0}\) of the payment. Both values are defined for each node \(n \in N\) and can be changed at any time. The total amount that a relaying node u must receive from its predecessor to transfer x to the payee or the next node is \(p_u = r_u * x + f_u\). If there are more intermediate nodes on a payment path, then this calculation has to be done for each of them, beginning at the last one. Importantly, the fees need to be known by the node prior to the execution of the transaction. Otherwise, it is not guaranteed that a payment arrives at the payee, since the fees may take a too large share of the overall payment.
An example with two relaying nodes is shown in Figure 1. In the example, in order for the payment amount \(p_3\) to arrive at node \(n_4\), the payer \(n_1\) has to transfer the amount \(p_1\) to the first intermediate node. \(n_2\) then retains the fee \(f_{n_2}=p_1 * \frac{r_2-1}{r_2} + \frac{f_2}{r_2}\) and forwards \(p_2 = p_1 - f_{n_2}\) to node \(n_3\). \(n_3\) also deducts its fee \(f_{n_3}\) and finishes the payment by transferring amount \(p_3 = p_2 - f_{n_3}\) to \(n_4\).
Fig. 1.
Fig. 1. Example of a multi-channel payment.

3.2 Routing Algorithms for PCNs: Requirements

The purpose of a routing algorithm in a PCN is to find the subset \(R_{P_n} \subseteq R_P\) containing the routes for a payment known by node n. Ideally, the sets \(R_{P_n}\) and \(R_P\) for the same payment are equal, but in practice, this is unlikely due to the lack of information about the whole network by individual nodes. Based on discussions in the related work [21, 34, 47] and our own preliminary experiments, a routing algorithm for PCNs needs to fulfill the following functional and non-functional requirements:
(1)
Scalability and Resource Efficiency: Routing must be able to adapt to the (rising) amount of users in a network. Especially large networks make it impractical to store the complete network information at single nodes and to keep this information always up-to-date. This would lead to a high communication and storage overhead.
(2)
Cost Efficiency: While the transaction fees in PCNs are way smaller than in blockchains, it should be the aim of a routing algorithm to find a path with low fees. Notably, cost efficiency is not an important aspect in WSN routing. Instead, efficiency is primarily measured with regard to resources and/or energy.
(3)
Self-organization and Flexibility: A routing algorithm should operate autonomously to ensure high availability and failure resistance. Furthermore, a node should be able to act as a sender and as a receiver of transactions, and should be able to forward payments to any of its neighbors. Without these capabilities, it would not be possible to realize multi-channel payments. Routing algorithms should also be flexible, i.e., be able to tolerate changes in the network (e.g., the opening or closing of channels).
(4)
Trustlessness: Malicious nodes can disrupt a path, e.g., by not cooperating with neighbors or by reporting wrong information about channels, balances, and fees. Therefore, PCN routing algorithms need appropriate countermeasures. Ideally, harmful behavior of a node should reduce the probability that it becomes part of a payment route.
(5)
Network Topology and Communication Compatibility: To enable a wide distribution of PCNs, standard technologies should be used for communication. This implies the necessity of being compatible to the IP protocol family. Furthermore, addressing of messages is restricted to unicast, since broadcast and multicast are commonly not applicable to the heterogeneous networks PCN nodes are part of.
As stated in Section 1, the usage of approaches from the field of WSN routing for PCNs is promising, since WSNs and PCNs have a number of commonalities. In the following, we further investigate these aspects.
Scalability: To be scalable without constraints is an inherent feature of many applications that use WSNs. Hence, this matches the ideal of a PCN to have unlimited capabilities in terms of the amount of users and nodes.
Minimum Network Overhead: Since the sensors in a WSN, as the name implies, are connected wirelessly, transmitting data is expensive. That especially applies to battery-powered devices and to the communication medium that should be prevented from getting congested. Therefore, routing-related messages are ideally reduced to a minimum.
Network Dynamics: Similar to PCNs, sensor nodes and their links among themselves in WSNs are subject of change. Especially, the wireless communication that can be easily interfered by external events, requires nodes to handle frequent changes in routes for transmitting data.
Fault Tolerance: Battery-powered sensor nodes are going to fail when the energy level is too low. But the overall task of the WSN should not be affected by the absence or malfunction of single sensors. This is also a desired property of PCNs, where changes in the PCN topology should also not affect the payment routing significantly.
Optimality: A WSN is considered optimal if the cost of forwarding a message or its energy consumption are minimized. This minimization strategy is an inherent part of many algorithms and can be used in a PCN to reduce the overall expenses for a payment.
Multi-path Routing: In source routing schemes, the sending node is responsible for choosing the route of a message depending on its own objectives. This is not possible if only a single path is available. Therefore, multi-path routing is desired in PCNs and supported by some WSN protocols.
However, there are also some important differences. For instance, WSNs rely on a shared medium, while PCNs rely on point-to-point connections. Second, WSNs are data-centric, which allows, e.g., spreading data within the whole network. This is also not desirable in PCNs, where payments should only be routed on certain channels. Alternatively, WSNs may have the goal to send data to a single data sink. In contrast, nodes in a PCN can become both senders and receivers of data (i.e., payments). Third, WSN routing algorithms divide the operation time into distinct phases, e.g., for route construction, maintenance, and usage. The route creation phase is then globally synchronized or even commonly executed. This is not possible for PCNs, since there is a lack of global synchronization between the nodes.
Because of these differences, it is not possible to directly apply WSN routing algorithms for PCNs. Hence, in the next section, we analyze existing WSN routing algorithms with regard to their applicability in PCNs.

3.3 Analysis of WSN Routing Algorithms

Literally dozens of routing algorithms for WSNs have been proposed in recent years—for a concise overview, we refer to the surveys by Pantazis et al. [29], Mohamed et al. [28], and Al Aghbari et al. [4]. For our analysis, we applied these surveys as a foundation and furthermore scanned more recent approaches in the literature.
Overall, we evaluated 61 WSN routing protocols with regard to the requirements discussed in Section 3.2—here, we omit the requirement “cost efficiency,” since it does not play a role in WSN routing. Instead, the assessment of cost in terms of average routing fees is one focus in the evaluation (see Sections 5 and 6). Because of space constraints, it is not possible to list the 61 analyzed routing algorithms within this article. Instead, we refer the reader to the Supplemental Material for this article [23]. An overview of 16 algorithms discussed in the article at hand is given in Table 1.
Table 1.
 Scalability & Resource EfficiencySelf-organization & FlexibilityTrustlessnessCommunication Compatibility
ACQUIRE [40]\(\circ\)\(\circ\)\(\circ\)\(\bullet\)
COUGAR [44]\(\circ\)×\(\circ\)×
DHAC [25]\(\bullet\)×\(\circ\)\(\bullet\)
DREAM [10]×\(\bullet\)\(\circ\)\(\bullet\)
E-TORA [46]\(\circ\)\(\circ\)\(\bullet\)\(\bullet\)
GRAB [45]\(\circ\)\(\bullet\)\(\circ\)×
HGR [14]\(\bullet\)\(\bullet\)\(\circ\)\(\bullet\)
LEACH [35]\(\bullet\)×\(\circ\)×
LMR [22]×\(\bullet\)\(\circ\)\(\bullet\)
M-DART [13]\(\circ\)\(\bullet\)\(\bullet\)\(\bullet\)
MERR [49]×\(\circ\)××
SAR [42]\(\circ\)×\(\circ\)×
SELAR [24]\(\circ\)\(\circ\)\(\circ\)\(\bullet\)
SPastry [5]\(\circ\)×\(\bullet\)\(\bullet\)
TERP [1]\(\circ\)\(\bullet\)\(\bullet\)\(\bullet\)
TORA [31]\(\circ\)\(\circ\)\(\bullet\)\(\bullet\)
Table 1. Classification of WSN Routing Algorithms (\(\bullet\)...Covered, \(\circ\)...Partially Covered, ×...Not Covered)
During the analysis, we excluded algorithms because of the discussed requirements, starting with scalability and resource efficiency. A number of algorithms, e.g., DREAM [10] or LMR [22] apply routing tables that include all nodes of the network, which is not a suitable approach in large-scale PCNs. Therefore, these algorithms were excluded from the further analysis. Other approaches, e.g., ACQUIRE [40] may degenerate into flooding, while others, e.g., MERR [49] are based on a central control instance. Such algorithms are also not suitable for PCNs, since the routing may become too large, and there is no central control instance in PCNs, respectively.
A number of algorithms were excluded, since they are not satisfying the self-organization and flexibility requirement. For instance, SPastry [5] and others make use of a fixed network topology during runtime. Others, e.g., COUGAR [44] and DHAC [25], rely on a central base station to form clusters and are therefore also not suitable for PCNs.
Another requirement that leads to the exclusion of multiple WSN routing algorithms is the communication compatibility. For instance, LEACH-based [35] routing algorithms need a shared medium, which is not available in PCNs. Other algorithms like GRAB [45] and SAR [42] need a central sink and are therefore not suitable. Finally, location-based protocols cannot be applied in PCNs, since payment channels are location-independent. Therefore, algorithms like SELAR [24] or HGR [14] cannot be further regarded.
From the 61 analyzed algorithms, three were finally selected for further assessment and implementation in PCNs:
E-TORA [46]: The successor protocol of TORA [31] uses a directed acyclic graph (DAG) to find possible routes between a sender and a receiver. During route creation and maintenance, it takes energy parameters into account, to not always use the same path and to prolong the network lifetime. We select E-TORA because of its promising feature to use different paths on subsequent messages to extend the network lifetime. This could be turned into the selection of paths that offer higher balances and lower fees in PCNs.
TERP [1]: This protocol is a successor of the AODV routing protocol that uses route request and reply messages to discover a path on-demand. For the selection of the route, it takes the energy level as well as the trust of nodes into account. The trust estimation is done by monitoring the operation of neighbor nodes. We select this algorithm, since TERP is the only algorithm that takes primarily trust into account.
M-DART [13]: This proactive protocol uses a Distributed Hash Table (DHT)-based approach to route packets on multiple possible paths. To react to changes in the network, a dynamic addressing layer is used on top of the existing communication layer. We select M-DART as the third algorithm, since we want to compare this proactive routing algorithm to TERP and E-TORA, which are both reactive approaches.
As can be seen, one particular goal of our analysis was to select algorithms that focus on different requirements and apply different conceptual approaches to routing. The intention of this is to be able to derive general recommendations on which types of WSN routing protocols are promising candidates for future research in PCN routing.

4 Implementation

In the following subsections, the three selected algorithms are presented in more detail. Especially, we discuss to which degree the proposed algorithms E-TORA (Section 4.1), M-DART (Section 4.2), and TERP (Section 4.3) have to be adapted to be suitable for PCNs.

4.1 E-TORA

The Temporally Ordered Routing Algorithm (TORA) [31] is a protocol from the family of “link reversal” algorithms. This means that for each possible destination, TORA creates a graph based on the nodes and the communication channels in a WSN. The links in the graph are directed towards the destination following the shortest path. On certain events, e.g., a link failure, the directions of some links are reserved, which is the origin of the protocol family name. In general, all the routing information is exchanged locally in packets of constant size.
E-TORA [46] extends TORA by route and energy parameters. In theory, packets should use different routes in the network to improve the utilization of the remaining energy in battery-powered nodes and therefore, to prolong the network lifetime. This is achieved by adding the actual route to the data packets so that each node knows the exact paths to the destination. When a node forwards a packet, E-TORA finds the route with the maximum c, where \(c = \alpha \times \frac{E_{min}}{\overline{E}} + (1 - \alpha) \times \frac{h_{min}}{h}\), \(E_{min}\) is the minimal energy of a node on the route, \(\overline{E}\) is the average energy of all nodes on the route, h is the hop count, and \(h_{min}\) is the hop count of the shortest route. Instead of choosing the downlink-neighbor with the shortest path to the destination like TORA, the next node in the route with the maximum c is used as the next hop for the forwarded packet.
The implementation in this article follows mostly the original TORA implementation from the ns-2 simulator1[7]. According to E-TORA, the collection of routes for each downstream link has been implemented. However, the metric c is changed to take the liquidity of payment channels into account instead of the remaining energy, which is the most important constraint in WSNs. The complete procedure that selects the next link of a route can be seen in Algorithm 1. Initially, if all links are undirected, a query (QRY) packet is broadcasted to locate the destination (line 2). If no downstream link exists, then the procedure ends without a result, because the destination cannot be found (line 5). Otherwise, the available routes that have been collected using update (UPD) packets are iterated to find the best one (lines 10ff). For each route, the metric in line 15 is calculated and compared to the value of the previous route. As described above, not only the length of the route is part of the metric (line 13) but also the liquidity in the channels (lines 11 and 12). Therefore, the identified route should have mostly balanced channels and as a consequence, the time a channel is kept open is increased. The importance of liquidity and route length can be parameterized (line 14).
When implementing E-TORA for usage in PCNs, we intended to directly use the found paths from E-TORA as payment channels in PCNs. However, preliminary tests have shown that the original paths are very quickly outdated, especially on nodes that are far away from the destination. This is due to the property of E-TORA that link failures or new links have only a local impact. The solution is to use these routes only for the decision which neighbor is the next hop, as it can be seen in line 17 of Algorithm 1.
In E-TORA, packets should use different routes in the network to improve the utilization of the remaining energy in WSN nodes and therefore, to prolong the network lifetime. This is achieved by adding the actual route to the sent packets, so that each node knows the exact path to the destination. However, this may cause a constraint with regard to the intended scalability of E-TORA, since the amount of data grows linearly to the lengths of the paths. Considering a very large PCN, the size of the packets may be difficult to handle for nodes with a limited bandwidth. We adapted E-TORA accordingly by introducing a Time-to-Live (TTL) parameter for the packets (line 2 of Algorithm 1).

4.2 M-DART

The next algorithm that has been selected is M-DART [13]. The unique feature of M-DART and its predecessor DART [19] is the use of dynamic addresses based on the node’s position in the network. This means, if the node moves, i.e., it establishes a new link or removes one, its address will probably change. In DART, this is formalized as the Prefix Subgraph Constraint, which ensures that nodes in a connected subgraph share an address prefix. The addresses themselves are organized in a tree, where the leaves are the nodes and different levels form subtrees of the same prefix, as it is shown in Figure 2.
Fig. 2.
Fig. 2. Relation of the address space to the topology in M-DART [13].
Based on the particular properties of the addressing scheme, routing a packet towards its destination is as simple as finding the longest shared prefix entry in the routing table to gather the address of the next hop (lines 4ff of Algorithm 2). For this, the routing table gets updated by periodic messages from neighbors and contains an entry for each level-k sibling, e.g., in case of node 000 the siblings are 001, 01X, and 1XX. M-DART extends the routing table of DART to store more than a single next hop for a sibling to offer multiple paths to the destination (line 7). Furthermore, the routing table includes the costs of a path, i.e., the minimum hop count, the network ID for validating the own address, and a route log to avoid loops.
Since the addresses of this routing protocol are subject to change, each node needs an identifier that remains constant. In our implementation, we choose the wallet address, because it complies with the requirements. To lookup the address for a given identifier, a DHT is used as proposed in Reference [19] (see line 1 of Algorithm 2). To store or retrieve an address, the belonging identifier is hashed to get the address of the anchor node, where the address-identifier pair is deposited.
The main challenge in implementing M-DART is not only its sophisticated design but also inaccuracies in the pseudo code of crucial procedures in DART [19]. Again, the ns-2 simulator [7] was consulted to serve as a basis for this implementation. Despite the comprised loop avoidance in M-DART, first tests have shown the presence of occasional loops. Since they can be traced back to outdated routing tables, we use a TTL parameter (line 3) and collect the visited nodes while recording routes.

4.3 TERP

The last of the candidate routing protocols for PCNs is TERP [1]. It is based on AODV but incorporates trust and energy parameters to avoid malicious nodes on routes and to reduce the overall power consumption. Like AODV, it is a reactive protocol and hence establishes routes on demand by broadcasting control packets. Also, the definition of these packets remains mostly unchanged against the original AODV. The established routes are then cached in a routing table.
There already exists an AODV-based algorithm for PCNs proposed in Reference [21] (see Section 2). This approach uses the liquidity and fee of a payment path to choose the best route. With TERP, the route selection is also trust-aware for defending against misbehaving nodes. Therefore, all nodes monitor the packets of neighbor nodes in their wireless radius and use the gathered information to estimate the trust in them. For instance, dropped packets that should have been forwarded result in a decreased trust.
Since our implementation has the requirement to work in PCNs, the monitoring of other nodes is slightly different than in WSNs. The underlying model exposes the success of various higher-level interactions with nodes to the routing algorithm that are summarized in the following:
OpenChannelRequest
When a node requests the creation of a new channel, it sends an OpenChannelRequest-packet to the node. If the receiving node does not respond to this request, then the interaction is counted as unsuccessful.
CloseChannelRequest
Similar to the opening of a channel, closing it starts with a CloseChannelRequest-packet. Again, if no response is received, the node sending this request is informed about this failed interaction.
MultiChannelTransactionRequest
Also, the request for executing a multi-channel transaction can be ignored by the target node and therefore is reported to the requesting node.
MultiChannelTransactionLiquidity
During discovering new routes, a node has to share liquidity information about channels. To increase the possibility to be chosen for a payment path, nodes could report a significant higher liquidity as there is actually available. Since the partner node of a channel can validate the given amount, nodes that overstate the liquidity can be sanctioned with a lower trust.
The implementation uses counters for each neighbor node to keep track of the interactions and their success. Since a payment path is always constructed from the destination to the source, i.e., to be able to accumulate the overall fee, every node knows the potential next hop and the next but one hop of a route during construction. Hence, the trust in the next hop can be incorporated into the decision in a payment path. Like in the original TERP, trust is based on the direct trust in a node and the indirect trust in the same node of others. The calculation of the direct trust can be seen in Algorithm 3. Basically, its value is the proportion of successful interactions with the next node (line 4). If there have not been any interactions with this node, then a neutral value is returned (line 6).
Determining the indirect trust is outlined in Algorithm 4. At first, the direct trust of the next but one node in the next node is requested (line 1). If nothing is returned, then a neutral value is assumed (line 3). Then, the requested value is multiplied with the direct trust in the next but one node (line 4), which at the same time is the result for the indirect trust in the next node.
The final trust \(t_n = w_1 \times \text{directTrust}(n) + w_2 \times \text{indirectTrust}(n, n_a)\) in a node n is then determined by the use of direct and indirect trust values, whereas \(w_1\) and \(w_2\) are weights and \(n_a\) is the node after n on the path. The resulting trust value can then be classified using different levels, e.g., Trusted, \(Less trusted\), Indecisive, or Misbehaving.
Finally, the original composite routing function of TERP is modified to accept liquidity and fee parameters instead of energy cost. The metric shown in Equation (1), where \(w_{1-4}\) are weights used to determine the importance of the single parameters, n is the next hop, \(n_a\) is the next but one hop, \(l_{min}\) is the minimum liquidity on the path, \(f_{acc}\) (fixed) and \(r_{acc}\) (rate) are the accumulated fee, and c is the hop count, is used to find the path that minimizes its value and is then used for the payment:
\begin{equation} \mathit {crf} = \text{trustLevel}(\mathit {n}, \mathit {n_a}) \times w_1 + l_{min} \times -1 \times w_2 + f_{acc} \times w_3 + r_{acc} \times w_4 + c \times w_7. \end{equation}
(1)

5 Evaluation Setup

After implementing the selected routing algorithms for PCNs, we are now ready to evaluate their attributes and their conformity with the requirements defined in Section 3.2. In the following, we first introduce the objectives of the evaluation (Section 5.1). Afterwards, we discuss the applied PCN simulator (Section 5.2), a behavior model for PCN nodes (Section 5.3), evaluation scenarios (Section 5.4), and the used metrics (Section 5.5).

5.1 Objectives

Our evaluation is based on the following high-level objectives:
Compatibility with Requirements
The objectives of our evaluation are given by the generic model of a PCN, as defined in Section 3.1, i.e., routing algorithms should be compatible with the requirements derived in Section 3.2. Therefore, we provide scenarios and metrics that are tailored to examine the performance of each routing algorithm concerning these requirements.
Examination of Special Features
The observed algorithms have different unique features, as outlined in Section 4, e.g., the trust estimation in TERP. To measure the impact of these features, special evaluation scenarios are defined.
Comparison in Different Scenarios
To show the routing results in different settings, we define a number of evaluation scenarios. These scenarios differ with regard to the number and behavior of the involved nodes (see Section 5.4).

5.2 Simulator

To provide deterministic results in different, repeatable scenarios, we opted for using a simulator instead of a real-world testbed for evaluating the implemented routing algorithms. Figure 3 provides an overview of the simulator, which is available as open source software.2 In the following, we briefly introduce the core components of the simulator:
Fig. 3.
Fig. 3. PCN simulation architecture overview.
Configuration.
Using the configuration component, the user is able to define the PCN to be simulated. Such a definition includes absolute values, e.g., the size of a PCN in terms of the number of nodes, but there are also parameters described by probability distributions, e.g., the liquidity or the amount of channels per node.
Template.
To be able to reuse network settings, the exact parameter values are stored in a template. Templates are automatically generated based on the configuration provided by the user. They contain information about roles, nodes, channels, and transactions. Templates are automatically stored and therefore provide a deterministic setting that can be used in different evaluation runs.
Abstract PCN Protocol.
The abstract PCN protocol follows the definition given in Section 3.1, including blockchain, nodes, and payment channels. In addition, network aspects like an IP network abstraction are provided, which allow deterministic IP network packets delivery during simulation runs. Also, means for network logging are integrated to be able to evaluate the network usage of different routing algorithms. Together, the functionalities of the abstract PCN protocol allow to integrate an arbitrary routing protocol into the simulator.
Behavior Model.
The behavior model defines how the nodes participating in a PCN behave. We assume that nodes have different individual objectives, and therefore behave differently in a PCN. The behavior model is described in more detail in Section 5.3.
Simulation Environment.
This environment is responsible for tying the abstract PCN protocol and a behavior model. Based on this, a stateful realization of a simulation according to a template is created.
Simulation Runtime.
The runtime component supplies the interface to control the simulation execution process.
User Interface.
Finally, the user interface is used to interact with the simulator. It provides a command line interface allowing to define and execute simulations, and to store the results.
The simulator allows running simulation cycles, with one cycle representing a single payment routed over one or more channels. Depending on the number of channels on the path, the length of one cycle can vary, but it always contains one complete payment. Cycles are set to define for how many payments a particular simulation should run. Before the actual simulation cycles can start, it is necessary to initialize all nodes by executing “dummy” cycles. This so-called ramp-up phase makes sure that all nodes are able to set up internal data structures, most importantly routing tables. For more details about the simulator, we refer to https://github.com/dlob/pcn-simulation. The repository also contains the concrete templates and settings used in the single evaluation runs presented in the article at hand.

5.3 Behavior Model

As pointed out above, nodes in a PCN may behave in different ways. The goal of the behavior model described in the following is to allow the modeling of different roles a particular user (and therefore node) may adopt. To describe the roles, we first define several characteristics a role may assume (Section 5.3.1). Notably, different roles may share characteristics, and some characteristics are parameterizable. The roles themselves are presented in Section 5.3.2.

5.3.1 Characteristics.

max-success.
The success of a payment p is determined by the indicator function \(success(p)\) that returns the value 1 if p was successfully executed in a PCN, or otherwise the value 0. Consequently, if the payment was transferred on-chain, it is considered to be failed (\(p=0\)). Based on this function and the set of all payments of a node \(P_n\), the characteristic to maximize the success ratio is defined by Equation (2). It ensures that a node keeps enough open channels for future transactions to increase the probability to reach every participant in the PCN:
\begin{equation} \underset{P_n}{\text{max}} \quad \sum _{p \in P_n} \frac{success(p)}{|P_n|}. \end{equation}
(2)
fast-payment-only.
As indicated in the max-success characteristic, a transaction can not only be executed in a PCN but also on the blockchain or even be dropped. These choices are defined by the set W that contains the options pcn (PCN), bc (blockchain), and nop (no payment). Each of them can then be handed to the indicator function \(fast(w)\) in Equation (3) to determine the transaction speed. Naturally, a blockchain payment is considered to be slow, whereas payments in a PCN, or no payment at all can happen very quickly. The characteristic to maximize the usage of fast transaction execution methods is modeled in Equation (4). The function \(type(p)\) returns the element of W that indicates the execution type of payment p:
\begin{align} & fast(w) = {\left\lbrace \begin{array}{ll} 1 & \text{if } w \in \lbrace pcn, nop\rbrace \\ 0 & \text{if } w = bc \end{array}\right.}, \end{align}
(3)
\begin{align} & \sum _{p \in P_n} \frac{fast(type(p))}{|P_n|} = 1. \end{align}
(4)
fast-payment-if-possible.
For some nodes, it might be more important to not only use the fastest available payment method, but to execute the transaction under any circumstances. Therefore, the function \(executed(p)\) defined in Equation (5) returns the value 1 if the payment was not dropped. The result is then used in Equation (6) to weight the fastness of the chosen payment execution type:
\begin{align} & executed(p) = {\left\lbrace \begin{array}{ll} 1 & \text{if } type(p) \in \lbrace pcn, bc\rbrace \\ 0 & \text{if } type(p) = nop \end{array}\right.}, \end{align}
(5)
\begin{align} &\underset{P_n}{\text{max}} \quad \sum _{p \in P_n} \frac{(fast(type(p)) + 1) * executed(p)}{|P_n|}. \end{align}
(6)
no-payment.
This characteristic is expected to be relevant for malicious nodes, who are interested in compromising a PCN. By offering channels to forward payments and then refusing to execute the relaying, parts of the network can be harmed. Equation (7) models the goal that all payments in \(P_{r_n}\), which are asked to be relayed by node n, should not be executed:
\begin{equation} \sum _{p \in P_{r_n}} executed(p) = 0. \end{equation}
(7)
min-costs.
To minimize expenses, a node needs to select payment routes with low fees, to reduce the amount of channel opening and closing actions, since they are slow and are also affected by fees, and to shutdown the node, to avoid the operation cost \(cost_{op}\) in inactive simulation cycles. This is defined in Equation (8) as an optimization problem by using the function \(fee(p)\) to return the fee portion of a payment p, the parameterized blockchain fee \(f_{bc}\), and the indicator function \(online_n(t)\), to determine if a node n was online in cycle t:
\begin{equation} \underset{P_n, C_n, l}{\text{min}} \quad \sum _{p \in P_n} fee(p) + |C_n| * f_{bc} + \sum _{t = 1}^{l} online_n(t) * cost_{op}. \end{equation}
(8)
balanced-costs.
Since the previous characteristic results in very few periods in which a node is online, the income generated by forwarded payments is reduced. In contrast, Equation (9) shows a slightly modified version, where the amount of cycles without payment relaying is minimized instead. Hence, an indicator function \(forwarding_n(t)\) is introduced that returns the value 1 on cycles with successful forwarding by node n, or otherwise the value 0:
\begin{equation} \underset{P_n, C_n, l}{\text{min}} \quad \sum _{p \in P_n} fee(p) + |C_n| * f_{bc} + \sum _{t = 1}^{l} (1 - forwarding_n(t)) * cost_{op}. \end{equation}
(9)
max-profit.
A possible business model in a PCN is to generate revenue by forwarding payments. This goal can be reached by maximizing the fees that are charged for relaying as defined by Equation (10). The primary challenge is to make the service not too expensive, so to be of less interest during the routing process:
\begin{equation} \underset{P_{r_n}}{\text{max}} \quad \sum _{p \in P_{r_n}} fee(p). \end{equation}
(10)
hub-partner \([c_{min_n}, c_{max_n}]\).
Selecting the right partner to establish a channel is not trivial, since nearly every other participant in a PCN is a candidate. This characteristic reduces the possible partners by requiring them to have a role in the hub category. In short, a hub is a role that aims to connect many nodes. Equation (11) limits the absolute amount of channels \(|C_n|\) of a node n to the parameter \(c_{max_n}\) with at least \(c_{min_n}\) channels that are hubs. The used function \(partner_n(c)\) returns the neighbor of node n connected by channel c and the function \(role(n)\) returns the role category of the node n:
\begin{equation} c_{min_n} \le |\lbrace c \in C_n \mid role(partner_n(c))=hub\rbrace | \le |C_n| \le c_{max_n}. \end{equation}
(11)
many-channels.
A requirement to be able to generate revenue from forwarding fees is that many channels are established, to raise the probability for being part of a payment route. This is modeled in Equation (12). Here, a trade-off is that funds of channels are locked until they are closed and therefore, more capital is needed when the amount of channels is increased:
\begin{equation} \underset{C_n}{\text{max}} \quad |C_n|. \end{equation}
(12)
big-channels.
To be able to make many or large payments on a single channel, its funding (i.e., capacity) needs to be of appropriate size, because it cannot be changed later on (i.e., after the funding transaction mentioned in Section 1). Otherwise, channels often need to be closed and reopened, which takes long and accumulates spent blockchain fees. Based on the capacity \(cap_c\) for a channel c (see Section 3.1), this characteristic is defined in Equation (13):
\begin{equation} \underset{C_n}{\text{max}} \quad \sum _{c \in C_n} cap_c. \end{equation}
(13)

5.3.2 Roles.

Based on the defined characteristics, we are now able to define the roles that can be adopted by different nodes, as presented in Table 2. The discussed roles have been defined based on observations and general considerations about market behavior, since—to the best of our knowledge—there are no studies on the behavior of nodes/users in PCNs.
Table 2.
RoleCharacteristicsDescription
Passive consumermax-success fast-payment-only min-costs hub-partner \(\left[1,3\right]\)This user is offline most of the time and makes transactions only if they are fast. Therefore, this is a type of opportunistic user, i.e., a node that uses a PCN if necessary, but is not interested in keeping a PCN alive.
Heavy consumermax-success fast-payment-if-possible balanced-costs hub-partner \(\left[1,\infty \right]\)A heavy consumer is very committed to cryptocurrencies and accepts the fallback to on-chain transactions. Heavy consumers may have a lot of open channels at the same time.
Malicious userno-payment many-channels big-channelsThis user is generally uncooperative and aims to harm others by locking up funds in unusable channels.
Faulty usermax-success fast-payment-only balanced-costs hub-partner \(\left[1,5\right]\)A faulty user is a consumer with a pseudo-random possibility that transactions and other operations fail.
Subscription servicebalanced-costs hub-partner \(\left[1,8\right]\)A node of a subscription service receives regular payments from different customers.
Tradermax-success fast-payment-if-possible max-profit hub-partner \(\left[1,8\right]\)Businesses like retail stores with fixed opening hours are represented by the trader role.
Hubmax-profit many-channelsA hub aims to relay as many payments as possible and to maximize its income.
Second-level hubmax-profit hub-partner \(\left[1,\infty \right]\) big-channelsThe business model of this role is to connect different hubs.
Table 2. Roles and their Characteristics
It should be noted that our simulator also allows implementing further roles (e.g., more fine-grained subtypes of the roles listed in Table 2), or a completely different set of roles. For instance, many publications in the blockchain field are based on the assumption that nodes can assume three roles, namely, with Byzantine, Altruistic, or Rational(BAR) behavior [3]. However, we opted to use roles with a more differentiated behavior model. Nevertheless, we do not assume that our set of roles is exhaustive.
In addition to the defined characteristics of a node, there can be pseudo-random events that more or less affect its behavior but also the PCN’s functionality. An example for such an event is a failure due to a software fault or incompatibility in the protocol. We consider this by simulating spontaneous service outtakes in the faulty user role.

5.4 Scenarios

Based on the defined roles, we are now able to define simulation scenarios. These scenarios combine a collection of roles and their proportional distribution among the nodes. For each scenario, we allow a network size of 30, 200, or 1,000 nodes, each with 500 simulation cycles. With each new cycle, a single payment is carried out, i.e., per evaluation run, 500 payments are covered. To measure the metrics presented in Section 5.5 without the influence of concurrent payments, payments are carried out sequentially, i.e., per cycle, one payment is started and finished. In the next cycle, another payment is covered. The mentioned network sizes have been chosen based on preliminary experiments, since they have shown to be well-suited to exemplify differences in the performance of the adapted routing algorithms. While the Lightning Network has approximately 16,400 nodes,3 we observed during preliminary experiments that the outcomes in terms of the assessed metrics (see Section 5.5) do not change significantly if we increase the number of nodes beyond 1,000. Partially, this can be traced back to the fact that the success rates for scenarios with 1,000 nodes are already not sufficient any longer (see Section 6).
Because the simulations as defined in the templates are deterministic, there is no need for a further variation of the cycle number. Preliminary experiments have shown that 100 cycles at most are consumed to stabilize the PCN with the largest number of nodes. Therefore, 500 cycles are considered to be a good trade-off between the time that is necessary for simulation execution and PCN stabilization.
The first scenario to be taken into account is the basic scenario, which is used for comparison with other scenarios. Therefore, it uses only a small set of standard roles. The most universal role without limiting characteristics, e.g., offline phases, and a larger impact on the routing algorithms’ performance is the heavy consumer. Additionally, we decided to use the hub role, because we consider hubs as an integral part of PCNs. Since at least one hub should be available in each generated template and the smallest template based on this scenario has 30 nodes (see above), the resulting proportions are ~97% of heavy consumers and ~3% hubs.
Based on the basic scenario, we define several derived scenarios to allow a comparison of the routing algorithm’s performance. These scenarios differ only in a single additional role from the basic scenario. Therefore, we replace one sixth of the heavy consumers, because preliminary experiments have shown this to be a good compromise between only a very little impact and the over-representation of the new role. These scenarios represent the edge cases of PCNs that are needed to reach our evaluation goals (see Section 5.1).
Faulty scenario: Since defects in software and an unreliable infrastructure can affect operations in a PCN, we introduce this scenario to examine the fault tolerance of the implemented routing algorithms. For this purpose, the faulty user role is added to the roles of the basic scenario. According to the replacement rule defined above, the proportions in this scenario are: ~81% heavy consumers, ~16% faulty users, and ~3% hubs.
Malicious scenario: Besides of faults that happen accidentally, there is the threat of attackers who want to interfere the proper operation of a PCN. Such behavior is implemented in the malicious user role that is part of this scenario. Altogether, the malicious scenario consists of ~81% heavy consumers, ~16% malicious users, and ~3% hubs.
Low-participation scenario: Another challenge for the routing algorithms are nodes in a PCN that are offline most of the time. To investigate the impact of this behavior on the network, the passive consumer role is incorporated in the low-participation scenario. This results in the following proportions of roles: ~81% heavy consumers, ~16% passive consumers, and ~3% hubs.
Hub scenario: In the previous scenarios, the properties of the network graph like average vertex degree or shortest path length are approximately the same. To add some more variance, the hub density is increased in this scenario. Because hubs are already part of all scenarios, we replace the hubs of the basic scenario with second-level hubs and add the normal hub role like the additional roles of the scenarios above. This gives us a role composition of ~81% heavy consumers, ~16% hubs, and ~3% second-level hubs.
As stated above, the faulty, malicious, low-participation, and hub scenarios provide edge cases, and therefore differ only in one particular role from the basic scenario. In contrast, the commercial scenario has been constructed to have a sophisticated, rather complex scenario with a number of roles and properties that could be reasonable for payment systems. Therefore, this scenario incorporates also the remaining roles described in Table 2, i.e., these roles not used in the other scenarios yet. We start by using the most universal role, the heavy consumer, for roundabout half of the nodes (48%) in the scenario, because this ensures that enough spendable capital is existing. A significant amount of users of a PCN is considered to be not always online. Therefore, 20% of passive consumers are used to represent this category of users. This leaves us with roundabout one third of the roles to be divided between the commercial roles like the subscription service with 10%, the trader with 12%, the hub role with 9%, and the second-level hub with 1%. Since the trader is a more universal role than the subscription service, its representation in the PCN is slightly higher. For this scenario, we left out the malicious and the faulty user roles, because the distinction between nodes belonging to these roles and normal nodes when analyzing real-world PCNs for future reevaluations is considered to be hard. This is because the certain characteristics that have been chosen for these roles are difficult to identify from an outer perspective, e.g., the causing node for a failed transaction cannot be determined without any doubt when using the faulty user role.
Using the templates for the discussed scenarios, the simulator initializes PCN topologies. For this, not only the roles of nodes are selected randomly (but following the distributions). In addition, the templates contain channels, which correspond to the character of the single nodes. For instance, hubs naturally have usually a large number of open channels while passive consumers tend to have only a small number of channels. Also, the templates predefine the payments to be carried out in one evaluation run. For instance, it is defined if a role should get more incoming than outgoing payments. Within one generated template, the settings are the same, leading to deterministic results for different evaluation runs applying the same template. The applied templates are available in our Git repository.

5.5 Metrics

Finally, we define the metrics used to assess the quality of the routing protocols in our simulations. For this, we follow the metrics proposed by Roos et al. [39] and Yu et al. [47]:
The success ratio at time t returns the proportion of payments prior to t that have been successfully executed (see Equation (14)). The indicator function \(success(c)\) returns the value 1 if the payment p that has been executed in cycle c has been successful or otherwise the value 0. A payment can only be successful if it has been executed in the PCN, i.e., the fallback to on-chain transactions of some agents is neglected:
\begin{equation} {\mathit {successRatio}(t) = \frac{\sum \nolimits _{c=0}^t \mathit {success}(c)}{t}}. \end{equation}
(14)
Most of the payments during a simulation need at least one intermediate node to relay the transaction, because a direct channel does not exist. The average hop count keeps track of the average intermediate nodes per payment at time t (see Equation (15)). The function \(hops(c)\) returns the amount of intermediate nodes of the payment p that have been executed in cycle c. In case p has not been successful, the value 0 is returned. The indicator function \(success(c)\) follows the definition of the success ratio metric:
\begin{equation} {\mathit {avgHopCount}(t) = \frac{\sum \nolimits _{c=0}^t \mathit {hops}(c)}{\sum \nolimits _{c=0}^t \mathit {success}(c)}}. \end{equation}
(15)
Similar to the average hops metric, the average fee metric returns the arithmetic mean of the absolute fee per payment at time t (see Equation (16)). The function \(fee(c)\) returns the final fee f that has been charged from the payer for executing payment p in cycle c. In case p has not been successful, the value \(f=0\) is returned:
\begin{equation} {\mathit {avgFee}(t) = \frac{\sum \nolimits _{c=0}^t \mathit {fee}(c)}{\sum \nolimits _{c=0}^t \mathit {success}(c)}}. \end{equation}
(16)
The average open channel count returns the average amount of open channels per node in the network at time t (see Equation (17)). As defined in the system model in Section 3.1, N is the set of nodes in the network and the function \(channels(t)\) returns the set of open channels at time t. This metric corresponds to the average vertex degree of graphs:
\begin{equation} \mathit {avgChannelCount}(t) = \frac{2 \times \left|\mathit {channels}(t)\right|}{\left|N\right|}. \end{equation}
(17)
The router packet count metric returns the amount of routing-related messages that have been sent on the network until time t. The sum of this metric and the node packet count gives the total amount of transmitted packets.
The router packet size is responsible for determining the sum of the sizes of all routing packets that have been transferred on the simulated network until time t. This value supplements the router packet count.
All metrics are calculated until time (i.e., cycle) t, so that we are able to plot the progress of the single metrics over time.

6 Evaluation Results

In the following, we present selected evaluation results for the discussed scenarios. Overall, we investigated six metrics, three network sizes, and six scenarios—each showing the results for E-TORA, M-DART, and TERP. For the discussion in this section, we selected representative scenarios, which allow to highlight the general applicability of the routing protocols as well as the differences between them. A full overview of the results is presented in the Supplemental Material to this article [23].
If not specified otherwise, then the following results adhere to the medium network size, i.e., 200 nodes. In general, M-DART and E-TORA failed to deliver success rates for the largest network size (i.e., 1,000 nodes), which rendered according comparisons between the three routing protocols pretty much useless. For that reason, we decided not to show the results here. The results from the smallest scenario (30 nodes) are comparable to the results of the medium network size scenario. Accordingly, we decided to go for the medium network size in our discussion. Again, the results for all network sizes are shown in our Supplemental Material [23].
We first discuss the results for E-TORA (Section 6.1), M-DART (Section 6.2), and TERP (Section 6.3). Afterwards, we discuss the suitability of the three selected routing algorithms with regard to the defined requirements (Section 6.4), and identify the major outcomes and limitations of our evaluation (Section 6.5).

6.1 E-TORA

For all investigated routing protocols, the success ratio is surely the most important metric. As it can be seen in Figure 4(a), the overall performance of E-TORA regarding this metric is rather low, particularly in comparison to the results of TERP in Figure 4(c). Figure 4(a) also shows that the performance rapidly decreases for larger network sizes. A possible reason for this is outdated information about payment paths. The state of a payment path can get stale at certain nodes when update messages are not traveling fast enough in the network or the TTL added in our implementation of E-TORA (see Section 4.1) prevents the notifications to be further transmitted. This affects the bigger scenarios more, since the configuration of the TTL is the same for all network sizes.
Fig. 4.
Fig. 4. Comparison of the success ratio—basic scenario, network sizes lg (1,000 nodes), md (200), and sm (30).
The performance of E-TORA looks somewhat better in terms of the average hop count metric. Regarding this aspect, E-TORA outperforms the other routing algorithms significantly as it can be seen in Figure 5(a). Although the diagram shows only the basic and the hub scenario, this can also be observed in the remaining scenarios [23]. Nevertheless, the good results come with no surprise, because a main property of E-TORA is the usage of the shortest path available in the network.
Fig. 5.
Fig. 5. Comparison of hop and channel count (network size: 200 nodes).
Another interesting observation can be made regarding the measurements of the average channel count. Typically, the usage of E-TORA as routing algorithm in larger simulations leads to a decreasing average channel count per node as a result of the low success ratio (see the basic scenario in Figures 4(a) and 5(b) as a representative example). One exception is the malicious scenario that is also shown in Figure 4(b). In comparison to the basic scenario, where the average channel count for E-TORA stays approximately the same, the values obtained from the metric using the malicious scenario are rising similar to the other routing algorithms. The explanation for this is the intended behavior of the malicious user role. Since channels are opened greedily and the closing of them is refused by this role, they stay open for the rest of the simulation. In conjunction with rejecting to pass through payments, the outcome is a low success ratio and an increasing average channel count per node for the malicious scenario in general.
The final core observation regarding E-TORA is its immense communication network utilization. As Figures 6(a) and 6(b) show, the amount of packets as well as their size increase in the course of the simulation. This is caused by the excessive route management that is necessary in the later cycles of a simulation to keep the payment paths up to date. Since the route maintaining process is an inherent part of E-TORA, our adapted implementation for PCNs does not change this behavior. Moreover, if the individual payment path would be used more frequently and only few paths are necessary throughout the whole network, E-TORA could perform very well. But since the payers and payees in a PCN are considered to be diverse and regular payments are of lesser importance, E-TORA is probably not very well-suited for use in PCNs.
Fig. 6.
Fig. 6. Comparison of the network utilization (network size: 200 Nodes).

6.2 M-DART

Again, we begin the analysis of M-DART by examining the routing algorithm’s success ratio as can be seen in Figure 4(b). For most scenarios, M-DART shows slightly better results than E-TORA and has a significantly good performance in the hub scenario, as can be seen in Figure 7(a): M-DART exceeds the success ratio of the other routing algorithms especially with an increased amount of hubs in the network. In the hub scenario, M-DART seems to benefit from the resulting higher channel count per node, which in turn accelerates the traveling of routing messages in the network. Since M-DART is a pro-active protocol, the speed of the distribution of network changes significantly influences the ability to route payments correctly.
Fig. 7.
Fig. 7. Comparisons for the basic and hub scenarios (network size: 200 Nodes).
In contrast to the higher success ratio in the hub scenario, M-DART struggles in simulations of large scenarios, as can be seen in Figure 4(b). This diagram shows the basic scenario as a representative for all large scenarios where M-DART is not able to find a path for multi-hop payments at all. The small amount of successful payments that are visible in the figure are only based on direct channels between payers and payees. The reason for this weak success ratio is the strong presence of loops in the routing tables of the nodes. As it was the case with E-TORA, this is likely once again a manifestation of outdated routes, which may be explained by longer travel distances for routing messages.
Besides the very low success ratio in large simulations, M-DART performs very well with regard to the average fee metric. In nearly all scenarios, obviously except the large ones, the use of M-DART leads to a lower average fee for payment relaying. This is exemplarily shown in Figure 7(b) with the basic and hub scenarios. Since M-DART in contrast to E-TORA and TERP does not incorporate the fee in the route creation process, the reason for this behavior is not obvious. Instead, M-DART returns multiple possible routes to let the node choose the one that fits its goals best. In the implemented roles, this is mostly the cheapest path. Therefore, it is probable that the approach to not optimize routes in the forefront, like M-DART is using it, leads to the lower average fee.
Another observation from Figure 7(b) is the significant higher average fee in the hub scenario than in the basic scenario. This does not only affect M-DART but all algorithms and is also present for the hub scenarios of small and large size. Therefore, we assume that this behavior originates from the implementation of hubs and their variable fee calculation. Since the commercial scenario does not show an average fee on a comparable level although it has more hubs than the basic scenario, it is possibly also related to the particular combination of roles.

6.3 TERP

TERP is the only implemented routing algorithm that is able to achieve a reasonable success ratio in large scenarios. As Figure 4(c) shows, the value of this metric is actually declining in larger PCNs but TERP is still executing multi-hop payments in contrast to M-DART and E-TORA. In general, TERP outperforms the other two algorithms on average in all scenarios and network sizes. A possible reason for this is very likely the better adaptability of on-demand routing algorithms like TERP to the changing network.
Another good performance of TERP regarding the success ratio is shown in the faulty scenario. As it can be seen in Figure 8(a), the difference between the basic and the faulty scenario is minimal, especially in contrast to M-DART. Since TERP has a build-in trust estimation for the purpose of avoiding unreliable intermediate nodes, we can see that this functionality is working as intended. Nevertheless, the success ratio drops a bit that can be explained by payments that originate or end at faulty nodes or by an unfinished trust estimation, i.e., too few interactions with a faulty node exist.
Fig. 8.
Fig. 8. Comparison of the success ratio (network size: 200 nodes).
To continue the evaluation of the success ratio of TERP, we change to the low-participation scenario. Since the passive consumer role is part of this scenario, a lower success ratio than in the basic scenario can be expected. Instead, the measurements of the metric remain on the level of the basic scenario as it can be seen in Figure 8(b). This is again a consequence of the on-demand route creation of TERP, because offline nodes are not reachable and hence not part of a payment path. Proactive routing algorithms like M-DART do not have the possibility to easily avoid offline nodes and therefore experience a serious decrease of the success ratio.
Completely different results for the success ratio of TERP are observed in the malicious scenario. Basically, TERP uses the same trust estimation as in the faulty scenario to detect uncooperative behavior. It can be seen in Figure 8(a) that the trust-based routing is not working as intended in the malicious scenario. Although the collection of data about uncooperative interactions is the same for both use cases, the results are very different. However, there are certain behavioral variations of the malicious user role if compared to the faulty user: The latter only drops some transactions, while the malicious user aims at executing no payments at all. This higher degree of “malfunctions” is obviously influencing the success ratio very negatively.
The last metric that is discussed regarding TERP is the average hop count. As it can be seen in Figure 7(a), the success ratio of TERP does not benefit from the additional channels, which originate from the higher hub density. However, the average hop count shown in Figure 5(a) of the hub scenario is lower as in the basic scenario, which is the result of the shorter average path length of the hub scenario. Nevertheless, for most scenarios and network sizes, the average hop count metric for TERP produces values that are more than twice as high as the values of M-DART or E-TORA. We trace back this behavior to the route weighting that is less focused on short paths than on a high liquidity and trust. Trivially, the longer payment paths also lead to a higher average fee as it is shown in Figure 7.

6.4 Discussion of Requirements

During the evaluation of the implemented routing algorithms, we were able to assess their actual suitability for use in PCNs. Therefore, we revisit the literature-based assessment of WSN protocols in Section 3.2 by incorporating the measurements collected in the simulations. An overview is provided in Table 3.
Table 3.
 E-TORAM-DARTTERP
Scalability and Resource Efficiency×\(\circ\)\(\bullet\)
Cost Efficiency\(\bullet\)\(\bullet\)\(\circ\)
Self-organization & Flexibility\(\bullet\)\(\circ\)\(\bullet\)
Trustlessness\(\circ\)\(\circ\)\(\bullet\)
Network Topology and Communication Compatibility\(\bullet\)\(\bullet\)\(\circ\)
Table 3. Assessment of the Implemented Routing Algorithms
\(\bullet\), fulfilled; \(\circ\), partly fulfilled; ×, incompatible.
Scalability and Resource Efficiency.
As we have seen in the evaluation of E-TORA, the communication overhead is significant in cases where many routes need to be maintained. Although E-TORA is well-suited for WSNs with only a few receiving nodes, we consider the routing algorithm to be not compatible with these requirements of PCNs. Also, M-DART has limitations when it comes to scaling up the network. Only TERP is considered to fully satisfy this requirement as it shows a reasonable success ratio in large scenarios, as shown in Figure 4(c).
Cost Efficiency.
Because there is no absolute value to be defined as a good average fee, the grading of the routing algorithms for this requirement is based on the relative difference between them. Since E-TORA and M-DART show lower fees on average than TERP (see Figure 7, which is representative for other scenarios [23]), both are rated to be cost-efficient whereas TERP is classified to be only partial in line with the requirement because of its longer payment paths and the resulting higher fees.
Self-organization and Flexibility.
As we have already mentioned during the assessment of the scalability of M-DART, the routing algorithm lacks the ability to find payment paths in larger scenarios. The primary reason for that is the rather slow response to changes in the network, which leads to outdated routing tables. Therefore, M-DART only receives a reduced suitability score for this requirement. The other two algorithms do not show any signs of problems regarding self-organization or flexibility.
Trustlessness.
The only algorithm that innately supports trust-based routing is TERP, which has been shown to be successful especially in the faulty scenario (see Figure 8(a)). Despite the not so good results in the malicious scenario (see Figure 8(b)), we consider the implementation to be a good foundation for further investigations. E-TORA and M-DART do not provide a trust functionality, but their route selection metrics could be extended to incorporate trust with a similar mechanism as implemented in TERP.
Network Topology and Communication Compatibility.
All implemented algorithms are basically compatible to the topology and communication possibilities in PCNs. Only TERP has a small disadvantage regarding this requirement because of the passive collection of data for trust estimation in a wireless network. Since the concept of a shared medium is not applicable in the context of a PCN, we had to workaround this issue by actively requesting trust information from other nodes.

6.5 Discussion and Limitations

As we can see from the evaluation results, each routing algorithm achieves better results than the others in at least a single performance metric: E-TORA finds the shortest payment paths, M-DART ensures the lowest fee for payment relaying, and TERP reaches the highest success ratio on average. Nevertheless, the algorithms have different shortcomings like the network utilization of E-TORA, which decreases scalability, the problem of M-DART with routing-loops in large networks and limited flexibility, and the higher hop count and fees of TERP. This should be taken into account when using these algorithms (or just some of their design choices) as foundations for PCN routing.
Notably, the inclusion of trust information (as in TERP) seems to be very beneficial in PCNs, and therefore should be regarded in future work in the area. With regard to the decision whether proactive or reactive routing protocols are more promising, the reactive TERP has led to the best overall results in our evaluations. However, if channels are open for a long time, and there are few faulty or malicious nodes in a PCN, proactive routing protocols may lead to better results than shown in the work at hand. Therefore, it is for sure an interesting idea to investigate if routing protocols could be exchanged during runtime, based on the behavior of the single nodes, and the goals of the payers. This resembles the notion of transitions [6], i.e., to adapt communication mechanisms in networked systems at runtime, which is for sure a very interesting future research direction.
Despite these meaningful insights, our article has a number of limitations, which we want to discuss in the following paragraphs. To start with, we deliberately did not compare the WSN routing protocols to already existing PCN routing protocols like Spider or SilentWhisper (see Section 2). Therefore, we cannot make a statement if the implemented algorithms perform better or worse than PCN-specific protocols. This would for sure be an interesting idea for future work (see Section 7).
Also, whereas the different scenarios used in our evaluation are able to produce solid results based on our PCN model, we cannot create a truly representative average scenario yet because of the missing analyses of existing PCNs, and especially the behavior of the nodes in a PCN. Instead, we decided to cover a number of possible scenarios, which could also be easily adapted for future reevaluations. The implementations of the node roles in the simulator are so far limited to the possibilities described in our PCN model (see Section 3.1). Therefore, not all possible characteristics of a PCN user are represented in our roles but only the most important ones to reach our evaluation goals. Due to the flexible design of the presented simulator, roles can be easily added or adapted to refine the model for future evaluations.
As written before, our simulator provides the capabilities to apply different roles, different scenarios, and of course different routing algorithms. Accordingly, we will use it in the future to further investigate routing algorithms for PCNs, taking into account the abovementioned aspects.

7 Conclusion

PCNs are one important means to solve the scalability problem of blockchains like Bitcoin or Ethereum. To conduct payments within PCNs, the efficient identification of suitable payment routes is an important prerequisite.
Accordingly, the investigation of routing algorithms for PCNs has recently gained traction, as can be seen by the growing, yet still manageable, number of according publications in the field. Since multi-hop routing has been a significant research field in the area of WSNs, it seems reasonable to learn from WSN routing for the purposes of efficient routing in PCNs. However, it should be noted that while WSNs and PCNs have important similarities, there are also conflicting properties of these two network types.
For that reason, we saw a need for a large-scale analysis of WSN routing protocols regarding their applicability in PCNs. Our results show that particular characteristics of some routing protocols, most importantly the on-demand routing and inclusion of trust provided by TERP (and related algorithms), are leading to promising results, which should be further investigated in the future.
While the presented results are already showing very interesting insights, we nevertheless see them primarily as a first step towards sophisticated routing algorithms. To the best of our knowledge, there is no independent benchmarking of different PCN routing protocols. In this article, we presented a first step into this direction, implementing and comparing routing protocols from the field of WSNs, allowing their comparison for a wide range of metrics. We hope that the presented simulator together with the predefined templates can be a starting point for benchmarking efforts that also take into account routing protocols that have been specifically designed and implemented for PCNs. As a starting point, we are currently working on a systematic literature review on PCN routing protocols. In our future work, we also want to extend our analysis and to provide specific routing algorithms for PCNs. These algorithms will aim at different goals (e.g., a high success rate or a very low latency), and could then be applied in different PCNs—each serving different user requirements, topologies, or node numbers. It could also be interesting to come up with an approach to select different routing algorithms based on the current network context, thus following the principles of transitions.

Footnotes

3
As of August 9, 2023.

References

[1]
Adnan Ahmed, Kamalrulnizam Abu Bakar, Muhammad Ibrahim Channa, Khalid Haseeb, and Abdul Waheed Khan. 2015. TERP: A trust and energy aware routing protocol for wireless sensor network. IEEE Sensors J. 15, 12 (2015), 6962–6972.
[2]
David Airehrour, Jairo A. Gutiérrez, and Sayan Kumar Ray. 2016. Secure routing for internet of things: A survey. J. Netw. Comput. Appl. 66 (2016), 198–213.
[3]
Amitanand S. Aiyer, Lorenzo Alvisi, Allen Clement, Mike Dahlin, Jean-Philippe Martin, and Carl Porth. 2005. BAR fault tolerance for cooperative services. In Proceedings of the 20th ACM Symposium on Operating Systems Principles. ACM, 45–58.
[4]
Zaher Al Aghbari, Ahmed M. Khedr, Walid Osamy, Ifra Arif, and Dharma P. Agrawal. 2020. Routing in wireless sensor networks using optimization techniques: A survey. Wireless Personal Commun. 111, 4 (2020), 2407–2434.
[5]
Abd Al-Basset Al-Mamou and Houda Labiod. 2007. ScatterPastry: An overlay routing using a DHT over wireless sensor networks. In Proceedings of the International Conference on Intelligent Pervasive Computing. IEEE, 274–279.
[6]
Bastian Alt, Markus Weckesser, Christian Becker, Matthias Hollick, Sounak Kar, Anja Klein, Robin Klose, Roland Kluge, Heinz Koeppl, Boris Koldehofe, Wasiur R. KhudaBukhsh, Manisha Luthra, Mahdi Mousavi, Max Mühlhäuser, Martin Pfannemüller, Amr Rizk, Andy Schürr, and Ralf Steinmetz. 2019. Transitions: A protocol-independent view of the future internet. Proc. IEEE 107, 4 (2019), 835–846.
[7]
Eitan Altman and Tania Jiménez. 2012. NS Simulator for Beginners. Morgan & Claypool Publishers.
[8]
Lukas Aumayr, Pedro Moreno-Sanchez, Aniket Kate, and Matteo Maffei. 2021. Blitz: Secure multi-hop payments without two-phase commits. In Proceedings of the USENIX Security Symposium. USENIX Association.
[9]
Vivek Kumar Bagaria, Joachim Neu, and David Tse. 2020. Boomerang: Redundancy improves latency and throughput in payment-channel networks. In Proceedings of the 24th International Conference on Financial Cryptography and Data Security (LNCS), Vol. 12059. Springer, 304–324.
[10]
Stefano Basagni, Imrich Chlamtac, Violet R. Syrotiuk, and Barry A. Woodward. 1998. A distance routing effect algorithm for mobility (DREAM). In Proceedings of the 4th Annual ACM/IEEE International Conference on Mobile Computing and Networking. ACM, 76–84.
[11]
Hongliang Bi, Yanjiao Chen, and Xiaotian Zhu. 2022. A multipath routing for payment channel networks for internet of things microtransactions. IEEE Internet Things J. 9, 20 (2022), 19670–19681.
[12]
Azzedine Boukerche, Begumhan Turgut, Nevin Aydin, Mohammad Z. Ahmad, Ladislau Bölöni, and Damla Turgut. 2011. Routing protocols in ad hoc networks: A survey. Comput. Netw. 55, 13 (2011), 3032–3080.
[13]
Marcello Caleffi and Luigi Paura. 2011. M-DART: Multi-path dynamic address routing. Wireless Commun. Mobile Comput. 11, 3 (2011), 392–409.
[14]
Min Chen, Victor C. M. Leung, Shiwen Mao, Yang Xiao, and Imrich Chlamtac. 2009. Hybrid geographic routing for flexible energy-delay tradeoff. IEEE Trans. Vehic. Technol. 58, 9 (2009), 4976–4988.
[15]
Yanjiao Chen, Yuyang Ran, Jingyue Zhou, Jian Zhang, and Xueluan Gong. 2022. MPCN-RP: A routing protocol for blockchain-based multi-charge payment channel networks. IEEE/ACM Trans. Netw. 19, 2 (2022), 1229–1242.
[16]
Christian Decker and Roger Wattenhofer. 2015. A fast and scalable payment network with bitcoin duplex micropayment channels. In Proceedings of the 17th International Symposium on Stabilization, Safety, and Security of Distributed Systems (LNCS), Vol. 9212. Springer, 3–18.
[17]
Maya Dotan, Yvonne-Anne Pignolet, Stefan Schmid, Saar Tochner, and Aviv Zohar. 2021. Survey on blockchain networking: Context, state-of-the-art, challenges. Comput. Surveys 54, 5 (2021). Article No. 107.
[18]
Lisa Eckey, Sebastian Faust, Kristina Hostáková, and Stefanie Roos. 2020. Splitting payments locally while routing interdimensionally. IACR Cryptol. ePrint Arch. (2020), 555.
[19]
Jakob Eriksson, Michalis Faloutsos, and Srikanth V. Krishnamurthy. 2007. DART: Dynamic address routing for scalable Ad Hoc and mesh networks. IEEE/ACM Trans. Netw. 15, 1 (2007), 119–132.
[20]
Lewis Gudgeon, Pedro Moreno-Sanchez, Stefanie Roos, Patrick McCorry, and Arthur Gervais. 2020. SoK: Layer-two blockchain protocols. In Proceedings of the 24th International Conference on Financial Cryptography and Data Security (LNCS), Vol. 12059. Springer, 201–226.
[21]
Philipp Hoenisch and Ingo Weber. 2018. AODV-based routing for Off-Chain Payment Channel Networks. In Proceedings of the 1st International Conference on Blockchain (LNCS), Vol. 10974. Springer, 107–124.
[22]
Xiaobing Hou, David Tipper, and Joseph Kabara. 2004. Label-based multipath routing (LMR) in wireless sensor networks. In Proceedings of the International Symposium on Advanced Radio Technologies. 113–118.
[23]
David Lobmaier, Rafael Konlechner, Stefan Schulte, and Ingo Weber. 2022. Assessing routing algorithms for PCNs: Full evaluation results. Retrieved from https://arXiv:2205.00751.
[24]
George Lukachan and Miguel A. Labrador. 2004. SELAR: Scalable energy-efficient location aided routing protocol for wireless sensor networks. In Proceedings of the 29th Annual IEEE International Conference on Local Computer Networks. IEEE, 694–695.
[25]
Chung-Horng Lung and Chenjuan Zhou. 2010. Using hierarchical agglomerative clustering in wireless sensor networks: An energy-efficient and flexible approach. Ad Hoc Netw. 8, 3 (2010), 328–344.
[26]
Giulio Malavolta, Pedro Moreno-Sanchez, Aniket Kate, and Matteo Maffei. 2017. SilentWhispers: Enforcing security and privacy in credit networks. In Proceedings of the 24th Annual Network and Distributed System Security Symposium. The Internet Society.
[27]
Patrick McCorry, Malte Möser, Siamak F. Shahandasti, and Feng Hao. 2016. Towards bitcoin payment networks. In Proceedings of the Australasian Conference on Information Security and Privacy (LNCS), Vol. 9722. Springer, 57–76.
[28]
Reem E. Mohamed, Ahmed I. Saleh, Maher Abdelrazzak, and Ahmed S. Samra. 2018. Survey on wireless sensor network applications and energy efficient routing protocols. Wireless Personal Commun. 101, 2 (2018), 1019–1055.
[29]
Nikolaos A. Pantazis, Stefanos A. Nikolidakis, and Dimitrios D. Vergados. 2013. Energy-efficient routing protocols in wireless sensor networks: A survey. IEEE Communications Surveys Tutor. 15, 2 (2013), 551–591.
[30]
Nikolaos Papadis and Leandros Tassiulas. 2020. Blockchain-based payment channel networks: Challenges and recent advances. IEEE Access 8 (2020), 227596–227609.
[31]
Vincent D. Park and M. Scott Corson. 1997. A highly adaptive distributed routing algorithm for mobile wireless networks. In Proceedings of the 16th Annual Joint Conference of the IEEE Computer and Communications Societies. IEEE, 1405–1413.
[32]
Krzysztof Pietrzak, Iosif Salem, Stefan Schmid, and Michelle Yeo. 2021. LightPIR: Privacy-preserving route discovery for payment channel networks. In Proceedings of the IFIP Networking Conference. IEEE, 1–9.
[33]
Joseph Poon and Thaddeus Dryja. 2016. The Bitcoin Lightning Network: Scalable Off-Chain Instant Payments. White paper. Retrieved from http://lightning.network/lightning-network-paper.pdf
[34]
Pavel Prihodko, Slava Zhigulin, Mykola Sahno, Aleksei Ostrovskiy, and Olaoluwa Osuntokun. 2016. Flare: An Approach to Routing in Lightning Network. White paper. Bitfury Group Ltd. Retrieved from https://bitfury.com/content/downloads/whitepaper_flare_an_approach_to_routing_in_lightning_network_7_7_2016.pdf.
[35]
Wendi Rabiner Heinzelman, Anantha P. Chandrakasan, and Hari Balakrishnan. 2000. Energy-efficient communication protocol for wireless microsensor networks. In Proceedings of the 33rd Annual Hawaii International Conference on System Sciences. IEEE, 1–10.
[36]
Raiden Network. 2017. Retrieved from https://raiden.network/101.html
[37]
Gabriel Antonio F. Rebello, Gustavo Franco Camilo, Maria Potop-Butucaru, Miguel Elias M. Campista, Marcelo Dias de Amorim, and Luís Henrique M. K. Costa. 2022. PCNsim: A flexible and modular simulator for payment channel networks. In Proceedings of the IEEE Conference on Computer Communications Workshops. IEEE, 1–2.
[38]
Elias Rohrer, Jann-Frederik Laß, and Florian Tschorsch. 2017. Towards a concurrent and distributed route selection for payment channel networks. In Proceedings of the International Workshops on Data Privacy Management, Cryptocurrencies and Blockchain Technology (LNCS), Vol. 10436. Springer, 411–419.
[39]
Stefanie Roos, Pedro Moreno-Sanchez, Aniket Kate, and Ian Goldberg. 2018. Settling payments fast and private: Efficient decentralized routing for path-based transactions. In Proceedings of the 25th Annual Network and Distributed System Security Symposium. The Internet Society.
[40]
Narayanan Sadagopan, Bhaskar Krishnamachari, and Ahmed Helmy. 2005. Active query forwarding in sensor networks. Ad Hoc Netw. 3, 1 (2005), 91–113.
[41]
Vibhaalakshmi Sivaraman, Shaileshh Bojja Venkatakrishnan, Kathleen Ruan, Parimarjan Negi, Lei Yang, Radhika Mittal, Giulia Fanti, and Mohammad Alizadeh. 2020. High throughput cryptocurrency routing in payment channel networks. In Proceedings of the 17th USENIX Symposium on Networked Systems Design and Implementation. USENIX, 777–796.
[42]
Katayoun Sohrabi, Jay Gao, Vishal Ailawadhi, and Gregory J. Pottie. 2000. Protocols for self-organization of a wireless sensor network. IEEE Personal Commun. 7, 5 (2000), 16–27.
[43]
Peng Wang, Hong Xu, Xin Jin, and Tao Wang. 2019. Flash: Efficient dynamic routing for offchain networks. In Proceedings of the 15th International Conference on Emerging Networking Experiments and Technologies. ACM, 370–381.
[44]
Yong Yao and Johannes Gehrke. 2002. The cougar approach to in-network query processing in sensor networks. ACM SIGMOD Rec. 31, 3 (2002), 9–18.
[45]
Fan Ye, Gary Zhong, Songwu Lu, and Lixia Zhang. 2005. Gradient broadcast: A robust data delivery protocol for large scale sensor networks. Wireless Netw. 11, 3 (2005), 285–298.
[46]
Fang Yu, Yun Li, Fei Fang, and Qianbin Chen. 2007. A new TORA-based energy aware routing protocol in mobile ad hoc networks. In Proceedings of the 3rd IEEE/IFIP International Conference in Central Asia on Internet. IEEE, 1–4.
[47]
Ruozhou Yu, Guoliang Xue, Vishnu Teja Kilari, Dejun Yang, and Jian Tang. 2018. CoinExpress: A fast payment routing mechanism in blockchain-based payment channel networks. In Proceedings of the 27th International Conference on Computer Communication and Networks. IEEE, 1–9.
[48]
Yuhui Zhang and Dejun Yang. 2021. RobustPay+: Robust payment routing with approximation guarantee in blockchain-based payment channel networks. IEEE/ACM Trans. Netw. 29, 4 (2021), 1676–1686.
[49]
Marco Zimmerling, Waltenegus Dargie, and Johnathan M. Reason. 2007. Energy-efficient routing in linear wireless sensor networks. In Proceedings of the IEEE International Conference on Mobile Adhoc and Sensor Systems. IEEE, 1–3.

Cited By

View all
  • (2024)Analysis of strategies for scalable transaction creation in blockchainsComputing10.1007/s00607-024-01324-8Online publication date: 29-Jul-2024

Index Terms

  1. Assessing Routing Algorithms for Payment Channel Networks
        Index terms have been assigned to the content through auto-classification.

        Recommendations

        Comments

        Please enable JavaScript to view thecomments powered by Disqus.

        Information & Contributors

        Information

        Published In

        cover image Distributed Ledger Technologies: Research and Practice
        Distributed Ledger Technologies: Research and Practice  Volume 3, Issue 1
        March 2024
        136 pages
        EISSN:2769-6480
        DOI:10.1145/3613522
        Issue’s Table of Contents

        Publisher

        Association for Computing Machinery

        New York, NY, United States

        Publication History

        Published: 18 March 2024
        Online AM: 30 January 2024
        Accepted: 11 January 2024
        Revised: 18 August 2023
        Received: 03 May 2022
        Published in DLT Volume 3, Issue 1

        Check for updates

        Author Tags

        1. Payment channel networks
        2. distributed ledger technologies
        3. routing

        Qualifiers

        • Research-article

        Contributors

        Other Metrics

        Bibliometrics & Citations

        Bibliometrics

        Article Metrics

        • Downloads (Last 12 months)697
        • Downloads (Last 6 weeks)90
        Reflects downloads up to 19 Dec 2024

        Other Metrics

        Citations

        Cited By

        View all
        • (2024)Analysis of strategies for scalable transaction creation in blockchainsComputing10.1007/s00607-024-01324-8Online publication date: 29-Jul-2024

        View Options

        View options

        PDF

        View or Download as a PDF file.

        PDF

        eReader

        View online with eReader.

        eReader

        Login options

        Full Access

        Media

        Figures

        Other

        Tables

        Share

        Share

        Share this Publication link

        Share on social media