# Lightningnetwerk

Het Lightningnetwerk (LN) is een "laag 2" betalingsprotocol bovenop een de Bitcoin blockchain. Het is bedoeld om snelle transacties tussen deelnemers mogelijk te maken en wordt gezien als een oplossing voor het schaalbaarheidsprobleem van bitcoin. Het gebruikt een peer-to-peer-systeem voor het doen van microbetalingen van cryptovaluta via een netwerk van bidirectionele betalingskanalen. Geld wordt niet door derde partijen beheerd of vastgehouden.
Normaal gebruik van het Lightningnetwerk bestaat uit het openen van een betalingskanaal door een financieringstransactie uit te voeren naar de relevante basisblockchain (laag 1), gevolgd door het maken van een willekeurig aantal Lightning-transacties die steeds de verdeling van de fondsen van het kanaal bijwerken zonder deze naar de blockchain te sturen. Optioneel wordt het kanaal later gesloten door de definitieve versie van de afwikkelingstransactie uit te zenden om de fondsen van het kanaal te verdelen.

## Geschiedenis

Joseph Poon en Thaddeus Dryja publiceerden in februari 2015 een concept van het Lightningnetwerk-whitepaper.

### 2017 Eerste Lightning-transactie op Litecoin

Op 10 mei 2017 deed Christian Decker van Blockstream de eerste volledige, veilige Lightning-betaling op een niet-testnetwerk en de eerste Lightning-betaling op Litecoin, waarbij een kleine betaling werd verzonden die normaal niet mogelijk of economisch is op een blockchain, volledig in een fractie van een seconde geregeld.

### 2019 Bitcoin Lightning Torch (fakkel)

Op 19 januari 2019 begon de pseudonieme Twittergebruiker hodlonaut een test van het Lightningnetwerk door 100.000 satoshis (0,001 bitcoin) naar een vertrouwde ontvanger te sturen, waarbij elke ontvanger 10.000 satoshis (toen $ 0,34) toevoegde om naar de volgende te sturen.
De "lightning torch"-betaling bereikte opmerkelijke persoonlijkheden, waaronder Twitter CEO Jack Dorsey, Litecoin Creator Charlie Lee, Lightning Labs CEO Elizabeth Stark en Binance CEO "CZ" Changpeng Zhao, onder anderen. De Lightning Torch werd 292 keer doorgegeven voordat de toenmalige limiet van 4.390.000 satoshis werd bereikt. De laatste betaling van de Torch werd op 13 april 2019 verzonden als een donatie van 4.290.000 satoshis (toen $ 217,78) aan Bitcoin Venezuela, een non-profitorganisatie die bitcoin promoot in Venezuela.

### 2021 Adoptie in El Salvador

In juni 2021 stemde de wetgever van El Salvador over wetgeving om Bitcoin wettig betaalmiddel te maken in El Salvador. De beslissing was gebaseerd op het succes van het Bitcoin Beach-ecosysteem in El Zonte dat een op LN gebaseerde portemonnee gebruikte. De overheid heeft een portemonnee geïntroduceerd die gebruikmaakt van het Lightningnetwerk-protocol, terwijl burgers de vrijheid krijgen om andere Bitcoin Lightning-portefeuilles te gebruiken.

### 2023 Einde ondersteuning Litecoin: enkel nog Bitcoin

Op 7 oktober 2023 werd ondersteuning voor Litecoin uit verwijderd uit de LND-software.

## Ontwerp

Andreas Antonopoulos noemt het Lightningnetwerk een tweedelaags-routeringsnetwerk. Via de betaalkanalen kunnen deelnemers geld naar elkaar overmaken zonder al hun transacties openbaar te hoeven maken op de blockchain . Dit wordt gedaan door niet-coöperatieve deelnemers te straffen. Bij het openen van een kanaal moeten deelnemers een bedrag vastleggen (in een financieringstransactie, die op de blockchain staat ). Op tijd gebaseerde scriptextensies zoals CheckSequenceVerify en CheckLockTimeVerify maken de sancties mogelijk.

### Voordelen

Er zijn verschillende voordelen aan het gebruik van het Lightningnetwerk in vergelijking met on-chain transacties:
* Atomic Swap: De atomic swap werd voor het eerst geïntroduceerd door Tier Nolan op de BitcoinTalk-forums in 2013. Nolan schetste de basisprincipes voor cross-chain cryptovaluta-swaps door gebruik te maken van eenvoudige cryptovaluta-transacties over verschillende soorten blockchains. Snel vooruit naar september 2017 trokken atomic swaps de aandacht van de cryptovaluta-gemeenschap in het algemeen toen Litecoin-oprichter Charlie Lee de succesvolle uitvoering aankondigde van een atomic swap tussen Litecoin en Bitcoin via Twitter.
* Granulariteit: Volgens Andreas Antonopoulos maken sommige implementaties van het Lightningnetwerk betalingen mogelijk die kleiner zijn dan een satoshi, de kleinste eenheid op de basislaag van bitcoin. Routeringskosten die worden betaald aan intermediaire nodes op het Lightningnetwerk worden vaak uitgedrukt in millisatoshis of msat.
* Privacy: De details van individuele Lightning-netwerkbetalingen worden niet openbaar vastgelegd op de blockchain. Lightning-netwerkbetalingen kunnen via veel opeenvolgende kanalen worden gerouteerd, waarbij elke nodebeheerder betalingen via hun kanalen kan zien, maar ze kunnen de bron of bestemming van die fondsen niet zien als ze niet aangrenzend zijn.
* Snelheid: de afwikkelingstijd voor Lightningtransacties is minder dan een minuut en kan in milliseconden plaatsvinden. Ter vergelijking, de bevestiging op de bitcoin-blockchain vindt gemiddeld elke tien minuten plaats.
* Transactiedoorvoer: er zijn geen fundamentele limieten voor het aantal betalingen per seconde dat onder het protocol kan plaatsvinden. Het aantal transacties wordt alleen beperkt door de capaciteit en snelheid van de nodes.

### Beperkingen

Het Lightningnetwerk bestaat uit bidirectionele betalingskanalen tussen twee nodes die samen slimme contracten creëren. Als een van beide partijen het kanaal op enig moment laat vallen, wordt het kanaal gesloten en verrekend op de blockchain.
Vanwege de aard van het geschillenmechanisme van het Lightningnetwerk , waarbij alle gebruikers de blockchain voortdurend moeten controleren op fraude, is het concept van een "watchtower" ontwikkeld, waarbij vertrouwen kan worden uitbesteed aan watchtower-nodes om te controleren op fraude.

### Routering

In het geval dat er geen bidirectioneel betalingskanaal open is tussen de transactiepartijen, moet de betaling via het netwerk worden gerouteerd. Dit wordt gedaan met behulp van een Onion routing vergelijkbaar met Tor, en het vereist dat de afzender en ontvanger van de betaling voldoende gevestigde peers gemeen hebben om een pad voor de betaling te vinden. In feite zou een eenvoudige route er als volgt uitzien:
* Bob wil Alice 1 BTC betalen, maar Bob en Alice hebben geen open kanaal met elkaar.
* Bob heeft wel een kanaal geopend met Carol, en Alice heeft ook een kanaal geopend met Carol
* Om de betaling te routeren, stuurt Bob 1 BTC naar Carol en Carol stuurt vervolgens 1 BTC naar Alice

## Implementaties

BOLT-specificaties (Basis of Lightning Technology) werden eind 2016 opgesteld. Er zijn verschillende implementaties gedaan:
* De LND-implementatie van Lightning Labs in Go
* Blockstream's implementatie Core Lightning in C
* De eclair-implementatie van ACINQ in Scala
* Andere gemeenschapsprojecten (bijv. "rust-lightning" en "DotNetLightning") in andere talen zoals Rust en F#.
* Een niet-commerciële implementatie door MIT Digital Currency Initiative met behulp van zijn eigen niet-BOLT-compatibele protocol