Difference between revisions of "Lightning Network Channel Dynamics Simulation (NetLogo)"

From Simulace.info
Jump to: navigation, search
(4. Dijkstra without Auto-rebalance)
(1. A* with Auto-rebalance ON)
Line 131: Line 131:
 
* Maintains consistent network functionality
 
* Maintains consistent network functionality
  
[[File:[[Media:pr1.jpg]]]]
+
[[File:[[Media:Astaron.png]]]]
  
 
===2. Dijkstra with Auto-rebalance ON===
 
===2. Dijkstra with Auto-rebalance ON===

Revision as of 16:49, 4 January 2025

Lightning Network Payment Channel Simulation

Introduction and Problem Definition

This simulation models the Lightning Network payment channels system. The simulation focuses on analyzing payment channel dynamics, network routing efficiency, and transaction success rates in a distributed payment network. The goal is to understand how different network parameters and routing algorithms affect the overall performance and reliability of the payment channel network.

Model and Method

The simulation uses an agent-based model approach where three types of agents (customers, merchants, and routers) interact through payment channels. The network is built using a graph structure where nodes represent agents and edges represent payment channels with specific capacities and balances.

Environment

The simulation environment consists of a 2D space where agents are randomly distributed. Each payment channel (edge) maintains:

  • Total capacity
  • Current balance in both directions
  • Base fee
  • Fee rate
  • Connection status

Agents

Customers (70% of nodes)

  • Shape: "person"
  • Color: Blue
  • Behavior: Initiate transactions to merchants
  • Properties:
    • Balance
    • Pending transactions list

Merchants (20% of nodes)

  • Shape: "house"
  • Color: Red
  • Behavior: Receive payments from customers
  • Properties:
    • Balance
    • Pending transactions list

Routers (10% of nodes)

  • Shape: "circle"
  • Color: Yellow
  • Behavior: Facilitate payment routing
  • Properties:
    • Balance
    • Pending transactions list

Variables

Network Configuration

  • num-nodes: Total number of nodes in the network (10-500)
  • avg-connections: Average number of connections per node (2-10)
  • max-connections: Maximum allowed connections per node (4-10)
  • mean-channel-capacity: Average capacity of payment channels (1000-100000)
  • min-channel-capacity: Minimum capacity of payment channels (100-10000)

Transaction Parameters

  • transaction-rate: Rate of transaction generation (0-10)
  • mean-tx-amount: Average transaction amount (10-10000)

System Variables

  • auto-rebalance?: Toggle automatic channel rebalancing
  • pathfinding-algorithm: Choice between "dijkstra" and "a-star"

Simulation Steps

Setup Phase

  • Clear previous simulation state
  • Initialize global statistics
  • Create nodes (customers, merchants, routers)
  • Establish payment channels
  • Set initial channel capacities and balances

Go Phase (Repeated Each Tick)

  • Generate new transactions
  • Customers randomly initiate payments to merchants
  • Transaction amounts follow a lognormal distribution
  • Process pending transactions
  • Select path using chosen routing algorithm
  • Attempt payment along selected path
  • Update channel balances if successful
  • Channel rebalancing (if enabled)
  • Identify unbalanced channels
  • Adjust balances toward optimal distribution
  • Update statistics and visualizations

Pathfinding Algorithms

Dijkstra's Algorithm

  • Traditional shortest path algorithm
  • Considers hop count as distance metric
  • Implemented with standard distance tracking and path reconstruction

A* Algorithm

  • Enhanced pathfinding with heuristic function
  • Uses geographical distance as heuristic
  • Maintains f-score, g-score, and h-score for optimization

User Interface

The simulation interface provides interactive controls and real-time visualization of the network:

Lightning Network Simulation Interface

Results Analysis

The simulation tracks and visualizes several key metrics:

Network Statistics

  • Total network capacity
  • Average channel balance
  • Number of transactions (total, successful, failed)
  • Success rate percentage

Visualizations

  • Transaction Statistics Plot
  • Tracks successful vs failed transactions over time
  • Channel Balance Distribution Plot
  • Shows percentage of channels with extreme balances
  • Monitors channels below 20% and above 80% capacity
  • Success Rate Plot
  • Displays transaction success rate over time

Results

Simulation Scenarios

1. A* with Auto-rebalance ON

  • Success rate: 66.88%
  • Stable channel balance distribution
  • Maintains consistent network functionality

[[File:Media:Astaron.png]]

2. Dijkstra with Auto-rebalance ON

  • Success rate: 88.6%
  • Well-managed channel balances
  • Most stable and efficient configuration

[[File:Media:pr2.jpg]]

3. A* without Auto-rebalance

  • Success rate: 17.77%
  • Channels become heavily unbalanced
  • Network performance deteriorates rapidly

[[File:Media:pr3.jpg]]

4. Dijkstra without Auto-rebalance

  • Success rate: 31.16%
  • Increasing channel imbalance over time
  • Declining network performance

[[File:Media:pr4.jpg]]

Key Findings

Auto-rebalancing Impact

  • WITH rebalancing: Success rates 66-88%
  • WITHOUT rebalancing: Success rates 17-31%
  • Essential for preventing channel saturation
  • Maintains long-term network health

Pathfinding Algorithm Effects

  • Dijkstra consistently outperforms A*
  • Dijkstra + rebalancing achieves best results (88.6%)
  • Both algorithms suffer significantly without rebalancing
  • Algorithm efficiency matters more with rebalancing enabled

Channel Balance Patterns

  • Rebalancing maintains healthy distribution
  • Without rebalancing, channels tend toward extreme states
  • Balanced channels correlate with successful transactions

Parameter Impacts

  • Higher mean capacity increases success probability
  • Lower mean tx amounts relative to capacity increase success rates
  • Higher average connections provides:
    • More routing options
    • Better network resilience
    • Increased path finding success
  • Trade-offs:
    • Pathfinding complexity
    • Rebalancing overhead
    • Capital requirements
    • Network maintenance costs

Simulation File

The complete NetLogo simulation can be downloaded here: File:Lightning network simulation.nlogo

Future Improvements

  • Implementation of more sophisticated routing algorithms
  • Addition of dynamic fee adjustment mechanisms
  • Integration of more realistic network growth patterns
  • Enhanced visualization of payment flows
  • Implementation of channel opening/closing dynamics

Conclusion

This simulation successfully models the complex dynamics of a payment channel network, providing insights into:

  • Network topology effects on payment success
  • Impact of different routing strategies
  • Channel capacity and balance management
  • System scalability and performance characteristics

The model serves as a valuable tool for understanding the behavior and limitations of payment channel networks under various conditions and configurations.

Sources

  • Poon, J., & Dryja, T. (2016). The Bitcoin Lightning Network: Scalable Off-Chain Instant Payments.
  • Sivaraman, V., et al. (2020). Routing cryptocurrency with the spider network. USENIX NSDI.
  • Martinazzi, S., & Flori, A. (2020). The evolving topology of the Lightning Network. PLOS One.
  • Béres, F., et al. (2019). A cryptoeconomic traffic analysis of Bitcoin's Lightning Network.
  • Pickhardt, R., & Nowostawski, M. (2019). Imbalance measure and proactive channel rebalancing algorithm for the Lightning Network.
  • Wilensky, U., & Rand, W. (2015). An introduction to agent-based modeling with NetLogo. MIT Press.

mikf02 (talk)