Bewerken van Lightning
Uit BitcoinWiki.nl
Deze bewerking kan ongedaan gemaakt worden. Hieronder staat de tekst waarin de wijziging ongedaan is gemaakt. Controleer voor het publiceren of het resultaat gewenst is.
Huidige versie | Je tekst | ||
Regel 3: | Regel 3: | ||
'''''Zie [[#Lightning gebruiken]] als je meteen wilt beginnen.''''' | '''''Zie [[#Lightning gebruiken]] als je meteen wilt beginnen.''''' | ||
Bitcoin transacties zijn relatief kostbaar. Dat komt omdat er maar een beperkte ruimte is op de blockchain: zo'n 1500 transacties per blok (per 10 minuten). Oftewel zo'n 9000 transacties per uur. (Credit card firmant Visa kan 10-duizenden transacties ''per seconde'' aan.) | |||
Kortom, Bitcoin is geen snelheidsmonster. Alle mensen die een Bitcoin-transactie aanbieden, concurreren om een plaatsje in een blok op de blockchain. Dit drijft de prijs voor een 'toegangskaartje' ('fee') naar de blockchain op. (Tot wel enige tientallen euro's per transactie in hectische perioden). | Kortom, Bitcoin is geen snelheidsmonster. Alle mensen die een Bitcoin-transactie aanbieden, concurreren om een plaatsje in een blok op de blockchain. Dit drijft de prijs voor een 'toegangskaartje' ('fee') naar de blockchain op. (Tot wel enige tientallen euro's per transactie in hectische perioden). | ||
Om toch meer transacties mogelijk te maken, is een systeem ontwikkeld dat de transacties (tijdelijk) niet via Bitcoin's blockchain laat lopen. Een analogie ter verduidelijking: | Om toch meer transacties mogelijk te maken, is een systeem ontwikkeld dat de transacties (tijdelijk) niet via Bitcoin's blockchain laat lopen. Een analogie ter verduidelijking: | ||
:Iemand zit aan de bar en bestelt een biertje. De barman turft dit af op een kaart. De avond verstrijkt, en er worden nog wat drankjes verorbert. Halverwege de avond blijkt een biertje bedorven: de barman streept de bijbehorende 'turf' door op de kaart. Als de klant naar huis gaat, vraagt de barman de klant de rekening te betalen. Er zijn misschien wel tien drankjes besteld, en er was een restitutie, maar er vindt maar één geldtransactie plaats. We kunnen de kaart van de barman met een Lightning 'kanaal' vergelijken en de banktransactie met een on-chain Bitcoin transactie. | :Iemand zit aan de bar en bestelt een biertje. De barman turft dit af op een kaart. De avond verstrijkt, en er worden nog wat drankjes verorbert. Halverwege de avond blijkt een biertje bedorven: de barman streept de bijbehorende 'turf' door op de kaart. Als de klant naar huis gaat, vraagt de barman de klant de rekening te betalen. Er zijn misschien wel tien drankjes besteld, en er was een restitutie, maar er vindt maar één geldtransactie plaats. We kunnen de kaart van de barman met een Lightning 'kanaal' vergelijken en de banktransactie met een on-chain Bitcoin transactie. Ziehier een analogie ter verduidelijking van het Lightning Netwerk. | ||
Wat als onze bierdrinkende klant weggaat zonder te betalen? Een remedie zou kunnen zijn dat klanten die op de pof bestellen eerst een borg betalen, bijvoorbeeld 50 euro op de bar leggen. Maar wat als de barman zich niet netjes gedraagt en de 50 euro pakt en de zaak sluit voordat ie ook maar één biertje heeft geschonken? Met al dat soort grensgevallen moet het Lightning Protocol rekening houden en oplossen, wil het een serieus betalingsnetwerk worden. | Wat als onze bierdrinkende klant weggaat zonder te betalen? Een remedie zou kunnen zijn dat klanten die op de pof bestellen eerst een borg betalen, bijvoorbeeld 50 euro op de bar leggen. Maar wat als de barman zich niet netjes gedraagt en de 50 euro pakt en de zaak sluit voordat ie ook maar één biertje heeft geschonken? Met al dat soort grensgevallen moet het Lightning Protocol rekening houden en oplossen, wil het een serieus betalingsnetwerk worden. | ||
''Er is een grote community van Nederlanders met een Lightning node. Je vindt de groep [https://t.me/lightningnl op Telegram].'' | ''Er is een grote community van Nederlanders met een Lightning node. Je vindt de groep [https://t.me/lightningnl op Telegram].'' | ||
= Concepten = | = Concepten = | ||
''Aflevering 14-18 van de [[Beginnen met Bitcoin]]-podcast | ''Aflevering 14-18 van de [[Beginnen met Bitcoin]]-podcast leggen de basis uit.'' | ||
; Peers (nodes) | ; Peers (nodes) | ||
Regel 26: | Regel 25: | ||
:Het aantal [[Satoshi|sats]] dat wordt vastgezet voor een kanaal is de capaciteit. De capaciteit kan niet veranderen. In het begin staat de capaciteit in principe aan de "kant" van de opener: als het kanaal gesloten wordt dan komen die sats terug naar de opener. | :Het aantal [[Satoshi|sats]] dat wordt vastgezet voor een kanaal is de capaciteit. De capaciteit kan niet veranderen. In het begin staat de capaciteit in principe aan de "kant" van de opener: als het kanaal gesloten wordt dan komen die sats terug naar de opener. | ||
; Commit Fee | ; Commit Fee | ||
:Bij het openen van een kanaal zal niet de volledige capaciteit te gebruiken zijn voor transacties. Een deel van de satoshi | :Bij het openen van een kanaal zal niet de volledige capaciteit te gebruiken zijn voor transacties. Een deel van de satoshi is gereserveerd voor wanneer er een éénzijdige sluittransactie (force close) voordoet. De hoogte van de reservering is dynamisch en afhankelijk van de actuele hoogte van de kosten om de sluittransactie te publiceren. | ||
; Force close | ; Force close | ||
:Als het niet lukt om | :Als het niet lukt om gezamelijk tot een sluitingstransactie te komen, dan is een force close nodig. Dat kan bijvoorbeeld zijn als een node fraudeert, of als één van de nodes offline is. Bij een force close worden de belansen verdeeld volgens de laatste staat van het kanaal. Als Alies dus 100.000 sats had, en Bob 200.000 sat, toen ze de laatste transactie deden, dan zal de force close 100.000 sats aan Alies, en 200.000 sats aan Bob terugbetalen. Na de force close heeft de tegenpartij even de tijd om te "protesteren" tegen de force close. Als hij een verkeerde force close ziet (valsspeler met een oude state), dan mag hij een binnen een bepaalde tijd een overschijf-transactie publiceren en alle sats claimen. | ||
;[[Liquiditeit|Inkomende liquiditeit]] | ;[[Liquiditeit|Inkomende liquiditeit]] | ||
:Toen Alies haar kanaal van 10 miljoen sats opende, stonden al die sats "aan haar kant" (zie '''Balans'''). Ze kon 10 miljoen sats overmaken. Ze had hier uitgaande liquiditeit. Het voorbeeldkanaal gaf haar echter geen inkomende liquiditeit. Er stonden geen sats aan de andere kant van dit kanaal, om te kunnen ontvangen. Dat is de basis van inkomende liquiditeit: dat je (als node) kanalen hebt met sats aan de andere kant van het kanaal. Als mensen kanalen naar jou openen krijg je inkomende liquiditeit. En als je betalingen doet, verschuiven sats naar de andere kant van het kanaal, en dat wordt dan ook inkomende liquiditeit. | :Toen Alies haar kanaal van 10 miljoen sats opende, stonden al die sats "aan haar kant" (zie '''Balans'''). Ze kon 10 miljoen sats overmaken. Ze had hier uitgaande liquiditeit. Het voorbeeldkanaal gaf haar echter geen inkomende liquiditeit. Er stonden geen sats aan de andere kant van dit kanaal, om te kunnen ontvangen. Dat is de basis van inkomende liquiditeit: dat je (als node) kanalen hebt met sats aan de andere kant van het kanaal. Als mensen kanalen naar jou openen krijg je inkomende liquiditeit. En als je betalingen doet, verschuiven sats naar de andere kant van het kanaal, en dat wordt dan ook inkomende liquiditeit. | ||
Regel 40: | Regel 39: | ||
:Bij het openen van een kanaal spreken de twee nodes een transactie af. In de basis staat in deze transactie: "Alies krijgt 10 miljoen sats terug bij het sluiten van dit kanaal, Bob krijgt niks". Alies heeft namelijk recht op haar 10 miljoen sats, het waren per slot van rekening haar sats (bitcoin) die ze gebruikte voor het openen. We noemen dit de '''kanaalstatus'''. | :Bij het openen van een kanaal spreken de twee nodes een transactie af. In de basis staat in deze transactie: "Alies krijgt 10 miljoen sats terug bij het sluiten van dit kanaal, Bob krijgt niks". Alies heeft namelijk recht op haar 10 miljoen sats, het waren per slot van rekening haar sats (bitcoin) die ze gebruikte voor het openen. We noemen dit de '''kanaalstatus'''. | ||
; Roddelen | ; Roddelen | ||
:Nodes geven elkaar continu kanaalinformatie door met een proces dat | :Nodes geven elkaar continu kanaalinformatie door met een proces dat Gossipping (roddelen) heet. Elke node moet alle kanalen (gaan) kennen. Zeker als je net een node bent begonnen, zul je merken dat het één of twee dagen kan duren, voordat jouw node hoogte krijgt van het hele netwerk. Hoe meer kanalen (peers) je hebt, hoe meer en sneller je kunt roddelen, en hoe sneller je kanaalinfo doorkrijgt. | ||
; Routes | ; Routes | ||
:Betalingen over het Lightningnetwerk nemen routes. In het voorbeeld hierboven hebben Alies en Bob een kanaal, net als Bob en Charles. Alies kan Charles betalen met de route Alies -> Bob -> Charles. Het is hierbij nodig dat: (1) Alle kanalen voldoende capaciteit hebben, (2) De routes niet te duur zijn, en (3) Alle kanalen actief zijn (geen offline peers). | :Betalingen over het Lightningnetwerk nemen routes. In het voorbeeld hierboven hebben Alies en Bob een kanaal, net als Bob en Charles. Alies kan Charles betalen met de route Alies -> Bob -> Charles. Het is hierbij nodig dat: (1) Alle kanalen voldoende capaciteit hebben, (2) De routes niet te duur zijn, en (3) Alle kanalen actief zijn (geen offline peers). | ||
Regel 64: | Regel 63: | ||
== Node == | == Node == | ||
[[Bestand:Nederlandse Nodes.png|miniatuur|Nodes in Nederland (archiefplaatje)]] | [[Bestand:Nederlandse Nodes.png|miniatuur|Nodes in Nederland (archiefplaatje)]] | ||
Zelf een [[Bitcoin node|node]] draaien is leuk om te doen en je draagt bij aan het [[Bitcoin node|Bitcoinnetwerk]]. Met een Raspberry Pi computer, opslag voor de [[Blockchain]] en Node-software (zoals [[Umbrel]], [ | Zelf een [[Bitcoin node|node]] draaien is leuk om te doen en je draagt bij aan het [[Bitcoin node|Bitcoinnetwerk]]. Met een Raspberry Pi computer, opslag voor de [[Blockchain]] en Node-software (zoals [[Umbrel]], [https://mynodebtc.com/ MyNode], [https://raspiblitz.org/ RaspiBlitz]) kun je zelf een node draaien. Er is ook een Nederlandstalige instructie op [https://docs.theroadtonode.com/ theroadtonode.com], voor zelfbouwers. | ||
Vrij veel Nederlanders draaien zelf een node, zie [https://lightningwiki.net/g/?g=-1001254160094&t=LightningNL%20%F0%9F%87%B3%F0%9F%87%B1%F0%9F%87%A7%F0%9F%87%AA deze graaf]. Als je in het Telegramkanaal [https://t.me/lightningnl LightningNL] komt kijken kun je jouw node toevoegen. | Vrij veel Nederlanders draaien zelf een node, zie [https://lightningwiki.net/g/?g=-1001254160094&t=LightningNL%20%F0%9F%87%B3%F0%9F%87%B1%F0%9F%87%A7%F0%9F%87%AA deze graaf]. Als je in het Telegramkanaal [https://t.me/lightningnl LightningNL] komt kijken kun je jouw node toevoegen. | ||
Regel 79: | Regel 78: | ||
(~€250) | (~€250) | ||
!Snel en betrouwbaar | !Snel en betrouwbaar | ||
(~ | (~€300) **** | ||
|- | |- | ||
| Computer | | Computer | ||
| [https://tweakers.net/pricewatch/1414470/raspberry-pi-4-model-b-4gb-ram.html Raspberry Pi 4B (4GB)] (€60) | | [https://tweakers.net/pricewatch/1414470/raspberry-pi-4-model-b-4gb-ram.html Raspberry Pi 4B (4GB)] (€60) | ||
| [https://tweakers.net/pricewatch/1562568/raspberry-pi-4-model-b-8gb-ram.html Raspberry Pi 4B (8GB)] (€90) | | [https://tweakers.net/pricewatch/1562568/raspberry-pi-4-model-b-8gb-ram.html Raspberry Pi 4B (8GB)] (€90) | ||
| [https://tweakers.net/pricewatch/1210221/intel-nuc-kit-nuc7cjyh-met-eu-stekker Intel NUC NUC7CJYH] ( | | [https://tweakers.net/pricewatch/1210221/intel-nuc-kit-nuc7cjyh-met-eu-stekker Intel NUC NUC7CJYH] (€150) | ||
|- | |- | ||
| SD-kaart | | SD-kaart | ||
Regel 96: | Regel 95: | ||
|Memory | |Memory | ||
| colspan="2" | - | | colspan="2" | - | ||
| [https://tweakers.net/pricewatch/ | | [https://tweakers.net/pricewatch/477229/micromemory-4gb-ddr3-1333mhz-so-dimm.html 4GB DDR3 1333MHz SO-DIMM] (€44) | ||
|- | |- | ||
| Blockchain opslag | | Blockchain opslag | ||
| [https://tweakers.net/pricewatch/339768/wd-elements-portable-usb-30-1tb-zwart.html Harde Schijf] (€50) ** | | [https://tweakers.net/pricewatch/339768/wd-elements-portable-usb-30-1tb-zwart.html Harde Schijf] (€50) ** | ||
| [https://tweakers.net/pricewatch/942129/samsung-portable-ssd-t5-1tb-zwart.html SSD] (€110) *** | | [https://tweakers.net/pricewatch/942129/samsung-portable-ssd-t5-1tb-zwart.html SSD] (€110) *** | ||
| [https://tweakers.net/pricewatch/ | | [https://tweakers.net/pricewatch/1131815/samsung-860-evo-1tb.html SSD] (€105) *** | ||
|- | |- | ||
| Heatsink | | Heatsink | ||
Regel 108: | Regel 107: | ||
|- | |- | ||
| Netwerk (Optioneel) | | Netwerk (Optioneel) | ||
| colspan="3" style="text-align:center;" | [https://tweakers.net/pricewatch/305850/gembird-pp6-15m-cat6-15m-grijs-wit.html 1.5m UTP cable] ( | | colspan="3" style="text-align:center;" | [https://tweakers.net/pricewatch/305850/gembird-pp6-15m-cat6-15m-grijs-wit.html 1.5m UTP cable] (€1) | ||
|- | |- | ||
| HDMI (Optioneel) | | HDMI (Optioneel) | ||
Regel 125: | Regel 124: | ||
=== Node-software === | === Node-software === | ||
==== Umbrel ==== | ==== Umbrel ==== | ||
[[Umbrel lightning node|Umbrel]] is één van de gemakkelijkste en gebruiksvriendelijke manieren om een node te draaien op een Raspberry Pi. Hiermee kun je binnen een aantal stappen zowel een bitcoin node als een lightning network node opzetten. | [[Umbrel lightning node|Umbrel]] is één van de gemakkelijkste en gebruiksvriendelijke manieren om een node te draaien op een Raspberry Pi. Hiermee kun je binnen een aantal stappen zowel een bitcoin node als een lightning network node opzetten. | ||
==== Alternatieven ==== | ==== Alternatieven ==== | ||
Momenteel is Umbrel één van de meest gebruikte node softwares in Nederland. Er zijn echter meer aanbieders van dit soort installatiepakketten, bijvoorbeeld: [ | Momenteel is Umbrel één van de meest gebruikte node softwares in Nederland. Er zijn echter meer aanbieders van dit soort installatiepakketten, bijvoorbeeld: [https://mynodebtc.com/ MyNode] en [https://raspiblitz.org/ RaspiBlitz]. Wil jij jouw node geheel zelfstandig installeren, dan zou je kunnen kijken naar de gebruikshandleiding van [https://docs.theroadtonode.com/ The Road to Node]. | ||
==== Applicaties/Interfaces ==== | ==== Applicaties/Interfaces ==== | ||
Regel 145: | Regel 140: | ||
* Een node uit de [https://bitcoinlightning.nl/lightningnl_superhub/ SuperHub] kiezen of vragen in de Telegram groep [https://t.me/lightningNL @LightningNL]. | * Een node uit de [https://bitcoinlightning.nl/lightningnl_superhub/ SuperHub] kiezen of vragen in de Telegram groep [https://t.me/lightningNL @LightningNL]. | ||
* Een hoog gekwalificeerde node uitzoeken op [https://1ml.com/ 1ML | * Een hoog gekwalificeerde node uitzoeken op [https://1ml.com/ 1ML]. | ||
* Een node uit de BOS-lijst kiezen. Deze lijst staat in [[ThunderHub]] maar is ook [https://lightningwiki.net/bos/ hier] te vinden. | * Een node uit de BOS-lijst kiezen. Deze lijst staat in [[ThunderHub]] maar is ook [https://lightningwiki.net/bos/ hier] te vinden. | ||
* De tool van [https://moneni.com/mcb/nodematch Moneni] te gebruiken. (Hier heb je al wel een bestaand kanaal voor nodig.) | * De tool van [https://moneni.com/mcb/nodematch Moneni] te gebruiken. (Hier heb je al wel een bestaand kanaal voor nodig.) | ||
== Foutmeldingen | == Foutmeldingen == | ||
=== No Route-probleem === | === No Route-probleem === | ||
Regel 156: | Regel 151: | ||
# Kent je node alle routes van het netwerk? Je node krijgt via gossip (roddelen) binnen een paar uur of dagen na het openen van je eerste kanaal de netwerkinformatie door. Als je node de netwerkinformatie nog niet heeft, kan hij nog geen route berekenen. Op Umbrel kun je op [[Umbrel lightning node#Bekijken hoe veel routes je node kent|deze manier]] controleren hoeveel kanalen je node kent. | # Kent je node alle routes van het netwerk? Je node krijgt via gossip (roddelen) binnen een paar uur of dagen na het openen van je eerste kanaal de netwerkinformatie door. Als je node de netwerkinformatie nog niet heeft, kan hij nog geen route berekenen. Op Umbrel kun je op [[Umbrel lightning node#Bekijken hoe veel routes je node kent|deze manier]] controleren hoeveel kanalen je node kent. | ||
# Heb je [[Liquiditeit|uitgaande liquiditeit]]? | # Heb je [[Liquiditeit|uitgaande liquiditeit]]? | ||
#* Je hebt kanalen nodig met lokale balans. Als jij een kanaal hebt geopend staat | #* Je hebt kanalen nodig met lokale balans. Als jij een kanaal hebt geopend staat het balans aan jouw kant (goed). | ||
#* '''Kanaalreserve:''' Er moet altijd ongeveer 1% van de balans aan iedere kant van het kanaal blijven. Ook wordt er een reservering gemaakt voor het geval het kanaal gesloten wordt. Dit betekent dat er altijd een percentage <5% niet verzendbaar is. Het zorgt dat mensen beide partijen "iets te verliezen" hebben als ze valsspelen. Behalve on-chain fees ben je nog '''wél''' eigenaar van deze sats en krijg je ze gewoon terug bij sluiten. | #* '''Kanaalreserve:''' Er moet altijd ongeveer 1% van de balans aan iedere kant van het kanaal blijven. Ook wordt er een reservering gemaakt voor het geval het kanaal gesloten wordt. Dit betekent dat er altijd een percentage <5% niet verzendbaar is. Het zorgt dat mensen beide partijen "iets te verliezen" hebben als ze valsspelen. Behalve on-chain fees ben je nog '''wél''' eigenaar van deze sats en krijg je ze gewoon terug bij sluiten. | ||
#* De uitgaande route is mogelijk te duur. Als degenen met wie je kanalen hebt te hoge uitgaande fees hebben, zal jouw wallet niet willen betalen. | #* De uitgaande route is mogelijk te duur. Als degenen met wie je kanalen hebt te hoge uitgaande fees hebben, zal jouw wallet niet willen betalen. | ||
#* Zijn je peers online? | #* Zijn je peers online? | ||
'''Als je 2 dagen een publiek kanaal hebt, dan moeten de meeste problemen verdwijnen'''. Als je meerdere kanalen hebt krijg je sneller | '''Als je 2 dagen een publiek kanaal hebt, dan moeten de meeste problemen verdwijnen'''. Als je meerdere kanalen hebt krijg je sneller netwerkingormatie door en gaat dat sneller. | ||
=== Reserved wallet balance invalidated === | === Reserved wallet balance invalidated === | ||
Dit betekent dat je Anchor Channels hebt, en dat (door de betaling te sturen), er niet genoeg geld in je wallet overblijft om een (eventuele) anchor close te betalen. | Dit betekent dat je Anchor Channels hebt, en dat (door de betaling te sturen), er niet genoeg geld in je wallet overblijft om een (eventuele) anchor close te betalen. | ||
<comments /> | |||