Digitale activa

Storingen bij Lightning-knooppunten: wat gebeurde er met LND?

mm
Voeg Securities.io toe aan je voorkeursbronnen op Google

In oktober en begin november 2022 raakten knooppunten met LND, een implementatie van Bitcoins Lightning Network, binnen een maand tweemaal verstoord. Een gebruiker liet ongebruikelijke maar volgens de Bitcoin-regels geldige transacties in blokken opnemen. Daardoor kwamen fouten in de verwerking door LND aan het licht en konden getroffen knooppunten de Bitcoin-keten niet meer volgen. Dit was geen stilstand van het hele Lightning Network of een wijziging van Bitcoins consensusregels. De gebruiker stond op crypto-Twitter bekend als Burak, met de gebruikersnaam @brqgoo.

Buraks acties

Volgens destijds verspreide, hier niet bevestigde berichten betaalde Burak 700 dollar aan F2Pool, een grote Bitcoin-miningpool, om zijn ongebruikelijke transactie op te nemen. De transactie bevatte de boodschap: „Je zult CLN draaien en je zult er blij mee zijn.” CLN staat voor Core Lightning, een andere implementatie van het Lightning Network dan LND (Lightning Network Daemon). De hier besproken fout trof LND; Core Lightning werd door deze fout niet getroffen.

De gebeurtenis van begin november was de tweede in een maand. In oktober tweette Burak: „Ik heb zojuist een tapscript-multisig uitgevoerd waarvoor 998 van de 999 handtekeningen nodig zijn, en dat kostte slechts 4,90 dollar aan transactiekosten.” Die transactie legde een verwerkingsfout bloot waardoor getroffen LND-knooppunten niet verder synchroniseerden met de Bitcoin-keten. Lightning maakt zelf geen blokken; de gebeurtenis betekende niet dat het netwerk een te produceren blok miste.

Rond de tweede gebeurtenis, begin november 2022, plaatste hij een tweet met de tekst: „Soms moeten we eerst de duisternis aanraken om het licht te vinden.” Sommigen beschouwden hem als een kwaadwillende aanvaller, anderen als iemand die de software op de proef stelde en zwakke plekken blootlegde. Bitcoin- en Lightning-ontwikkelaar en docent Rene Pickhardt merkte op dat zijn Core Lightning-knooppunten niet waren geraakt. Dat bood volgens hem geen garantie dat Core Lightning nooit door andere, nog onbekende fouten getroffen kon worden.

https://twitter.com/renepickhardt/status/1587412127240830977?t=CruzE6Z16ST8V2CO6LcuGA&s=19

Lightning Labs, dat LND ontwikkelt en bijdraagt aan het bredere Lightning-ecosysteem, reageerde met een noodreparatie op GitHub. Versie v0.15.4-beta van 1 november 2022 verhielp de verwerking van bepaalde transacties met zeer veel witness-elementen. In oktober was al v0.15.2-beta uitgebracht voor een probleem met het verwerken van bepaalde grote blokken. Lightning Labs ontwikkelt dus één belangrijke implementatie, niet als enige het hele Lightning Network.

Wat is het Lightning Network en waarom is het belangrijk voor Bitcoin?

Lightning Network is een oplossing op laag 2 om Bitcoin-betalingen op te schalen. De beperkte ruimte in Bitcoin-blokken kan bij drukte leiden tot hogere kosten en langere bevestigingstijden. Lightning verplaatst veel betaalupdates buiten de hoofdketen, terwijl de afwikkeling op Bitcoin berust. Het is een aanvullend protocol boven op Bitcoin, geen vervanging van de basisregels.
Lightning-partijen werken saldi bij buiten de blockchain: dit zijn off-chainbetalingen. Daardoor hoeft niet iedere betaling in een Bitcoin-blok te staan. Vaak genoemde aantallen van miljoenen betalingen per seconde zijn schaalbaarheidsramingen, geen aangetoonde vaste capaciteit van het hele netwerk. Ook „maximaal zeven” Bitcoin-transacties per seconde is geen universele constante; de capaciteit hangt onder meer af van de transactiegrootte. Voor Lightning spelen kanaalliquiditeit en beschikbare betaalroutes eveneens een rol.
Bitcoin-blokken hebben beperkte ruimte. Nog onbevestigde transacties kunnen in de mempools van knooppunten blijven wachten, waarbij miners doorgaans op basis van de vergoeding selecteren; het is geen gegarandeerde wachtrij op volgorde van binnenkomst. Bitcoin streeft gemiddeld naar één blok per tien minuten, maar de werkelijke intervallen variëren. Een betaling met een lage vergoeding kan bij drukte uren of dagen op bevestiging wachten, ook als er intussen gewoon nieuwe blokken verschijnen. Dat bemoeilijkt het gebruik voor snelle alledaagse betalingen.
Lightning gebruikt betaalkanalen tussen twee partijen, en betalingen kunnen via meerdere verbonden kanalen worden gerouteerd. Een financieringstransactie opent het kanaal op Bitcoin; niet iedere latere betaling opent een nieuw kanaal. Binnen het kanaal wisselen partijen ondertekende updates van hun saldi uit zonder elke update op de blockchain te plaatsen. Zij onderhouden de actuele afdwingbare toestand, niet een openbaar grootboek van alle betalingen. Bij sluiting wordt een afwikkelingstransactie op Bitcoin bevestigd. Sluiten kan gezamenlijk of eenzijdig; bij een eenzijdige sluiting kunnen wachttijden en aanvullende transacties nodig zijn.
In het eenvoudige model staan de financiering en de sluiting van een kanaal op de blockchain, terwijl de gewone betaalupdates off-chain blijven. Een gedwongen sluiting of geschil kan meer transacties vergen, zodat „uitsluitend openen en sluiten” te absoluut is. Lightning bleef in ontwikkeling. Snellere betalingen en vaak lagere kosten kunnen het gebruik van cryptovaluta ondersteunen, maar zijn geen garantie voor brede acceptatie.

Mandela is sinds 2017 een cryptocurrency-enthusiast. Hij houdt van coderen en schrijven over opkomende technologieën. Hij heeft een diepgaande kennis van gedistribueerde ledger-technologie en de Web3-technologie-stack. Hij geniet van het onderzoeken van nieuwe cryptocurrency-projecten.