Lightning-implementaties
Een Lightning-node draait op node-software: een implementatie van het Lightning-protocol. Omdat alle implementaties dezelfde standaard (de BOLTs) volgen, kunnen nodes met verschillende software gewoon kanalen met elkaar openen en betalingen routeren. De keuze gaat dus vooral over gemak, prestaties en welk ecosysteem je wilt gebruiken.
| Implementatie | Ontwikkeld door | Taal | Kenmerkend |
|---|---|---|---|
| LND | Lightning Labs | Go | Meest gebruikt; zit in de meeste kant-en-klare nodepakketten zoals Umbrel. Groot ecosysteem aan bijbehorende software. |
| Core Lightning | Blockstream | C | Zuinig met geheugen, sterk plugin-systeem, dicht bij de specificatie. Voorheen bekend als c-lightning. |
| Eclair | ACINQ | Scala | Gericht op zware nodes met veel kanalen en hoge volumes. Draait onder meer onder de Phoenix-wallet. |
Er is ook LDK (Lightning Development Kit), geen kant-en-klare node maar een bouwpakket waarmee ontwikkelaars Lightning in hun eigen app kunnen inbouwen.
LND
LND is de meest gebruikte software om een Lightning-node te draaien. De software is Open source en wordt uitgegeven door Lightning Labs. Het stelt gebruikers in staat om snelle, goedkope en schaalbare transacties uit te voeren, waardoor enkele van de beperkingen van de onderliggende blockchain worden verminderd.
Het is mogelijk om LND zelf te draaien door de instructies te volgen op github, of door de Nederlandse instructies van theroadtonode.com te lezen. Daarnaast wordt LND gebruikt in Umbrel en andere node-installatiepakketten, welke je het makkelijker maken om een node te starten.
LND maakt microbetalingen mogelijk door off-chain transacties uit te voeren via het Lightning Network. Hierdoor kunnen gebruikers kleine hoeveelheden waarde overdragen zonder de noodzaak van elke transactie op de onderliggende blockchain vast te leggen. Deze aanpak verbetert de snelheid en schaalbaarheid van het hele netwerk.
Een essentieel kenmerk van LND is dat het een open-sourceproject is. De broncode is beschikbaar op GitHub, waardoor ontwikkelaars over de hele wereld kunnen bijdragen aan de verbetering en evolutie van de software. Dit draagt bij aan de veerkracht en innovatie van het Lightning Network als geheel.
Core Lightning
Core Lightning, voorheen bekend als c-lightning, is een van de prominente implementaties van het Lightning Network-protocol, ontwikkeld door Blockstream. Het Lightning Network is een tweede laag op de Bitcoin-blockchain die is ontworpen om snellere en goedkopere transacties mogelijk te maken door het gebruik van betalingskanalen. Core Lightning speelt hierin een cruciale rol door een robuuste, efficiënte en flexibele infrastructuur te bieden voor deze kanalen.
Technische Kenmerken van Core Lightning
Modulariteit en Extensibiliteit: Een van de onderscheidende kenmerken van Core Lightning is de modulaire architectuur. Deze structuur maakt het voor ontwikkelaars gemakkelijker om de functionaliteit uit te breiden en aan te passen door middel van plug-ins. Hierdoor kunnen gebruikers specifieke modules inschakelen die hen helpen om aangepaste functies en operaties uit te voeren, waardoor de flexibiliteit en aanpasbaarheid worden vergroot.
Kleine Footprint: Core Lightning is ontworpen om lichtgewicht en efficiënt te zijn. Dit maakt het bijzonder geschikt voor implementaties op apparaten met beperkte bronnen, zoals ingebedde systemen en mobiele apparaten. De efficiënte codebasis zorgt ervoor dat het minder geheugen en CPU-kracht verbruikt, wat leidt tot een lager stroomverbruik en betere prestaties.
Compliance en Interoperabiliteit: Core Lightning is gebouwd met strikte naleving van het Lightning Network-protocol, wat de interoperabiliteit met andere Lightning-implementaties zoals LND en Eclair garandeert. Deze naleving zorgt ervoor dat gebruikers naadloos kunnen communiceren en transacties kunnen uitvoeren met anderen in het netwerk, ongeacht de specifieke implementatie die ze gebruiken.
Open Source
De code van Core Lightning is volledig open source. Deze is gepubliceerd op Github: https://github.com/ElementsProject/lightning. De engelse documentatie over deze implementatie vind je hier: https://docs.corelightning.org/docs/home
Eclair
Eclair is ontwikkeld door ACINQ, is een implementatie van een Lightning Network node, geschreven in de programmeertaal Scala.
Het onderscheid zich met name van andere implementaties door de focus op grotere, zwaardere "enterprise-level" nodes die hoge transactievolumes verwerken en die veel kanalen hebben zoals de eigen node van ACINQ.
Eclair heeft een sterk plugin-systeem, wat tevens vrij complex is wat ook doorwerkt op de documentatie waardoor er een minder actief ecosysteem is van ontwikkelaars die voor Eclair bouwen.
Door de focus op enterprise-level performance wordt er gebruik gemaakt van load-balancing technieken, waarbij je andere de front-end en backend los van elkaar kunt draaien om minder vatbaar te zijn voor DoS-aanvallen.
