In deze Lightning Focus duiken we in de ondersteuning van Anchor Points, een nieuwe manier om te zorgen dat je transacties om lightning kanalen te sluiten sneller worden verwerkt op de bitcoin blockchain.
Zoals jullie weten wijden we één keer per maand in een aparte editie aan het lightning netwerk. Deze secundaire laag bovenop bitcoin geven we graag meer aandacht.
Ook neem ik je mee in de intensieve samenwerkingen bij Lightning Development Kit en LSP’s en hoe zij samen mobiele lightning wallets gaan verbeteren. De ontwikkelingen binnen de lightning- en nostr-wereld draaien op volle toeren, dus is er weer genoeg opvallend nieuws om te belichten!
Anchor Outputs
Het lightning netwerk maakt, als secunaire laag bovenop bitcoin transacties sneller en efficiënter. Maar zoals bij iedere technische innovatie zijn er altijd uitdagingen. Eén van die uitdagingen heeft te maken met ‘commitment-transacties’. Zie dit als een soort ‘veiligheidsmechanisme’ waarmee je altijd je geld uit het netwerk kunt halen, terug naar de on-chain laag, zelfs als de andere partij niet meewerkt.
Het probleem is dat deze ‘veilige uitgang’ door fluctuerende transactiekosten soms geblokkeerd kan raken, waardoor je langer moet wachten op je geld.
Een nieuwe manier om de transactie te versnellen, die nodig is om je lightning kanalen eenzijdig te sluiten, is met behulp van Anchor Outputs. Naast Core Lightning ondersteunt Lightning Development Kit (LDK) nu ook Anchor Outputs.
Voordat we dieper in gaan op deze Anchor Outputs is het leuk om eerst een uitstapje te maken naar (LDK) en te achterhalen waar ze nog meer allemaal mee bezig zijn.
Lightning Development Kit
LDK is een open-source tool en maakt het voor ontwikkelaars eenvoudig om veilig en met behoud van privacy, lightning functionaliteit toe te voegen aan bitcoin applicaties. Het ontstond oorspronkelijk als een nevenproject door Matt Corallo in 2018, onder de naam rust-lightning.
Het doel van dit project was om een volledige lightning-implementatie te hebben, inclusief het beheren van kanalen, het genereren van berichten voor peers, handtekeningen en meer, en dit te transformeren tot een bibliotheek met API’s. Dit betekent dat ontwikkelaars met deze tools minder obstakels tegenkomen en sneller kunnen bouwen.
Chaincode Labs en Spiral
LDK heeft een snelle ontwikkeling doorgemaakt sinds de ondersteuning door Chaincode Labs en later door Spiral. In slechts enkele jaren is het geëvolueerd naar een volwassen open-source project met talrijke bijdragers. Het is niet alleen robuust en modulair, maar ook mobielvriendelijk, door eenvoudige mogelijkheid van integratie in bestaande bitcoin-wallets.
Voor de liefhebbers is deze video uitleg van Spiral legenadrisch!
Lightning op mobiele devices
Een grote uitdaging voor ontwikkelaars is het toevoegen van lightning-functionaliteit aan mobiele apps. LDK richt zich echter specifiek op het draaien van lightning nodes op mobiele devices op een non-custodial manier. De focus hierop draagt ook bij aan meer privacy en soevereiniteit.
LDK is niet alleen geschikt voor non-custodial mobiele wallets, zoals bijvoorbeeld BlueWallet, maar ook CashApp, een van de meest gebruikte betalingsapps ter wereld, gebruikt LDK. En een ander voorbeeld is het platform Sensei, een out-of-the-box lightning node oplossing, dat ook wordt aangedreven door LDK. Het toont aan hoe enorm flexibel inzetbaar deze kit is voor allerlei verschillende type toepassingen. Het team werkt nu hard aan de volgende oplossingen:
- Offline ontvangst van betalingen op mobiele wallets.
- Ondersteuning van terugkerende betalingen d.m.v. BOLT12
- Benutten van alle voordelen van Taproot, zoals het verbeteren van de privacy en het ondersteunen van multi-sig channel mogelijkheden.
Nu weer terug naar die Anchor Outputs, die dus ook in LDK zitten!
Netwerkcongestie
Wanneer je een bitcoin transactie maakt, gaat deze eerst naar de mempool, voordat het bevestigd wordt in de blockchain. Soms wil je dat je transactie sneller wordt verwerkt, bijvoorbeeld omdat de drukte op het netwerk toeneemt of omdat je oorspronkelijk een te lage fee hebt betaald.
Er zijn een aantal technieken om transacties te versnellen, namelijk replace-by-fee (RBF), child pays for parent (CPFP) en sinds kort ook Anchor Outputs.
Replace-by-fee (RBF)
Met RBF kun je een niet-bevestigde transactie vervangen door een andere transactie met een hogere fee. Het is alsof je in een rij staat en besluit om wat extra te betalen om naar de voorkant van de rij te gaan.
Child pays for parent (CPFP)
Een alternatief is CPFP, waarbij de ontvanger die wil dat de originele transactie sneller wordt bevestigd, een nieuwe transactie (“child”) aanmaakt die geld uitgeeft van de langzame, nog niet bevestigde transactie (de “parent”). Deze nieuwe transactie heeft een hogere fee, waardoor miners worden aangemoedigd om zowel de parent– als de child-transactie in een block op te nemen.
Het gevaar van transaction pinning
In het lightning netwerk willen partijen soms een kanaal eenzijdig sluiten. Wanneer dit gebeurt, publiceren ze een zogenaamde “commitment transaction” op de bitcoin blockchain. Als de transactiekosten op het netwerk plotseling stijgen nadat deze commitment transaction is gemaakt, kan de transactie vast komen te zitten in de mempool omdat de initiële kosten te laag zijn. Daardoor blijft de sluitingstransactie van een kanaal lange tijd onbevestigd en dus zijn de sats onbruikbaar.
Lightning vertrouwt op de mogelijkheid om kanalen snel te kunnen sluiten als dat nodig is voor de veiligheid, dus vastzittende transacties voor het sluiten van een kanaal zijn een groot probleem.
Kosten voor een vastzittende transactie verhogen met RBF of CPFP is moeilijk, omdat kwaadwillende partijen misbruik kunnen maken van bepaalde protocolregels om de kostenverhoging te verhinderen.
Deze truc heet transaction pinning, waarbij iemand het moeilijk (of erg duur) kan maken om de fee van een transactie te verhogen. Dit wordt gedaan door bepaalde regels en limieten van het bitcoinnetwerk te misbruiken, zoals:
- De regel die zegt dat een RBF transactie niet alleen een hogere feerate moet hebben, maar ook een hogere totale fee dan de oorspronkelijke transactie en alle transacties die ervan afhankelijk zijn.
- Beperkingen aan hoeveel “child” transacties een enkele transactie kan hebben, wat het gebruik van CPFP kan blokkeren.
Zeker wanneer meerdere partijen betrokken zijn bij een transactie, kan transaction pinning een probleem zijn.
Denk aan anchor outputs als een soort ‘reddingsboeien voor deze situaties. Deze ‘boeien’ zorgen ervoor dat, zelfs als je commitment-transactie vastzit vanwege lage transactiekosten, je extra ‘gewicht’ kunt toevoegen (in de vorm van extra kosten) om deze weer vlot te trekken.
Anchor Outputs, hoe werkt het?
Wanneer twee partijen een commitment-transactie aanmaken, voegen ze deze ‘reddingsboeien’ toe, één voor elke partij. Deze boeien (Anchor Outputs), voegen extra kosten toe aan de transactie als dat nodig is, zonder dat de andere partij het proces van kosten toevoegen kan belemmeren. Het is alsof je een beetje extra geld aan de zijkant houdt, alleen om er zeker van te zijn dat je hoofdtransactie soepel verloopt.
Oplossing tegen transaction pinning
Anchor Outputs voegen dus een speciale “anker” uitvoer toe aan commitment transacties. Dit anker is een kleine hoeveelheid bitcoin, die kan worden gebruikt om de kosten voor de hele transactie te verhogen via het CPFP-mechanisme, zonder te worden belemmerd door transaction pinning.
Met andere woorden, het anker fungeert als een “nooduitgang”. Als de on-chain transactiekosten plotseling stijgen, kan een van de partijen de Anchor Output gebruiken om een nieuwe transactie te maken met een hogere vergoeding. Dit vertelt aan de miners dat ze de oorspronkelijke (vastzittende) transactie moeten verwerken om toegang te krijgen tot de hogere vergoeding van de nieuwe transactie.
Met deze ankers omzeil je transaction pinning en verwerken partijen hun commitment transacties sneller, ongeacht eventuele plotselinge veranderingen in de netwerkkosten. Binnen de huidige veranderlijke fee omgeving in het lightning netwerk is een oplossing zoals Anchor Outputs dus eigenlijk onmisbaar!
Steun Focus!
Vind je deze open en gratis Focus-editie waardevol? Steun ons met een volledig vrijblijvende donatie, compleet value4value!
Klik op de QR-code met je lightning wallet (lnurl-compatible) of check onze donatiepagina voor standaardopties.
Steun Focus!
Vind je deze open en gratis Focus-editie waardevol? Steun ons met een volledig vrijblijvende donatie, compleet value4value!
Scan de QR-code met je lightning wallet (lnurl-compatible) of check onze donatiepagina met enkele standaardknoppen.
Overige lightning actualiteiten:
- Door een recente softwarefout op Stacker.News werd in plaats van 8774 sats, 867 bitcoin aan beloningen uitbetaald. Deze fout leidde tot verschillende crashes op de site. Hoewel de meeste foutieve beloningen zijn teruggedraaid, wist één gebruiker onterecht 20.610.000 sats op te nemen. Ja, inderdaad: 20 duizend sats ter waarde van zo’n 5.000 euro. Kyan Kousha, oprichter van Stacker.News, biedt aan om het onterecht opgenomen bedrag te vergoeden. Lees meer over dit voorval op Stacker.News zelf.
- Peach Bitcoin, een KYC-vrije peer-to-peer bitcoin exchange in Europa, lanceert een nieuwe versie (v0.2.12). Gebruikers kunnen nu lightning sats ruilen voor on-chain sats zonder extra kosten, behalve de on-chain netwerkvergoeding. Daarnaast introduceert de update de Duitse taal en zijn alle transacties met Satispay tot 31 augustus gratis. Het platform is beschikbaar voor Android en iOS. Ben je benieuwd naar Peach? Lees dan dit interview met Nederlander ‘Lab’ eens terug!
- Minibits, de Minibits eCash wallet lanceert een nieuwe versie (v0.0.7-alpha), en stelt gebruikers nu in staat om ook offline e-cash te verzenden en ontvangen. Deze nieuwe functie werkt zonder verbinding met de mint. Transacties worden voltooid zodra de ontvangende wallet weer online is, waardoor je offline offchain bitcoin kunt ontvangen. De wallet gebruikt hiervoor bitcoin, het Cashu protocol en lightning. Deze update bevat ook talrijke bugfixes en verbeteringen in de gebruikersinterface.
eCash & bitcoin
eCash is een open-source systeem gebouwd voor bitcoin dat betalingen versnelt en vereenvoudigt door eCash tokens te creëren die worden ondersteund door bitcoin netwerken van de tweede laag, zoals lightning. Deze tokens bieden bijna perfecte privacy, aangezien niemand hoeft te weten wie je bent of met wie je transacties uitvoert. Het werkt met zogenaamde Chaumian mints, die, ondanks dat ze fondsen vasthouden, geen idee hebben van de specifieke hoeveelheden of de identiteiten van de houders. Met de recente lancering van Minibits’ nieuwe versie van hun eCash wallet, wordt de offline verzending en ontvangst van deze e-cash nu een realiteit.
Lightning Service Providers
LSP’s, ofwel Lightning Service Providers, zijn een soort gateway voor het lightning netwerk. Ze worden vaak vergeleken met internet service providers (ISP’s) en faciliteren transacties en verbindingen tussen nodes. Daarnaast spelen ze een cruciale rol in het verbeteren van de liquiditeit en betrouwbaarheid van betalingen op lightning.
Lightning ontwikkelaar Severin Alex Bühler is werkzaam bij Synonym en actief betrokken bij het ontwikkelen van de LSP-specificaties, met als doel het verbeteren van de interoperabiliteit tussen wallets en LSP’s. Zij streven ernaar om naadloze overschakeling tussen verschillende LSP’s mogelijk te maken en richten zich in het opstellen van gemeenschappelijke methoden en identieke API’s. Prominente partijen zoals Breez, Spiral, Amboss en Lightning Labs ondersteunen deze samenwerking.
Enkele concrete voorbeelden waar Synonym aan werkt:
- “Just in time” JIT-lightning kanalen: dit concept gaat de uitdaging aan van het onboarden van nieuwe gebruikers door hen betalingen te laten ontvangen, zelfs zonder dat ze al over een lightning kanaal beschikken.
- LSPS5 is een voorstel dat erop gericht is om mobiele notificaties mogelijk te maken waarmee mobiele telefoons lightning betalingen kunnen doen zonder dat de app geopend hoeft te zijn.
- Het verbeteren van de privacy van ontvangers voor lightning invoices. Dit draagt bij aan een meer anonieme betalingservaring.
Lees meer in dit artikel en ook in deze tweet over een interview met Severin van Synonymn. De volledige spec kan je bekijken op GitHub.
Ook nog even kort nostr-nieuws!
- In juni kwam de Damus iOS-nostr-app in de problemen met Apple vanwege de Zap-functie onder berichten in hun client. Uiteindelijk hebben zij deze optie moeten verwijderen. Nu is het de iOS-nostr-client van Current wél gelukt om de zap knop bij berichten te behouden! Klik hier om het hele verhaal te lezen waarom het hen wél gelukt is.
- Het is nu mogelijk om je privé relay op je Umbrel node te syncen met publieke relays, naast de mogelijkheid om een backup te maken van al je oude en nieuwe nostr activiteit, zelfs wanneer je verbinding met je relay uitvalt. Check hier de nostr relay app van Umbrel.
- Stemstr is een nieuw nostr gedreven platform voor muziekproducenten en artiesten. Het geeft je de mogelijkheid om muziek te downloaden, remixen en te delen. Tijdens de “early access”-fase is er al goed gebruik gemaakt van de client. Bij de lancering introduceerde Stemstr het ‘Stemstr Share Pass’, een micro-abonnementsmodel voor onbeperkte interacties en audio’s.
Dat was hem weer! Tot de volgende Lightning Focus vol nieuwtjes uit de lightning wereld om je weer volledig up-to-date te houden!