Lightning Network

Lightning Network er en foreslått løsning på Bitcoins kapasitetsproblem og er ett av flere Layer 2-teknologier som er ment å gjøre blokkjeder mer egnet til å håndtere høye transaksjonsvolum med lave avgifter.

Lynnettverket i teorien

I et lynnettverk kan to parter opprette en kanal mellom hverandre, utføre transaksjoner gjennom denne, og deretter lukke kanalen. Det å opprette og lukke kanalen gjennomføres med transaksjoner på blokkjeden, og er dermed dyrt og tregt, men selve transaksjonene mellom partene har ingen slike begrensninger. Transaksjonene som oppretter kanalen setter av en viss mengde verdier, (kanalens kapasitet) som ikke kan brukes til noe annet i mellomtiden, og transaksjonene som lukker kanalen sørger for at disse verdiene overføres til sin endelige mottaker.

Dette er en form for netting, et finansbegrep for det som skjer når to parter med en rekke avtaler og transaksjoner seg i mellom aggregerer disse til én netto sum.

En annen måte å se det på er at hvis du setter av 0.1 BTC til en kanal, og jeg gjør det samme, så “eier” vi i felleskap 0.2 BTC som vi låner ut til lynnettverket, som forvalter dem fram til kanalen kan lukkes og vi etablerer hvor mye hver av oss nå egentlig eier. I mellomtiden kan lynnettverket ha flyttet verdier fram og tilbake mellom dere og i tillegg brukt kanalen til å videreformidle verdier mellom andre brukere.

Nettverket er designet for å håndtere forsøk på juks, det vil si at en av partene prøver å lukke kanalen i feil tilstand. I dette tilfellet skal den som blir tatt i å jukse miste verdiene de satte av til kanalen.

Det å opprette en kanal har to kostnader: Den direkte kostnaden i form av transaksjonsavgiftene du må betale for å åpne og lukke kanalen, og alternativkostnadene, altså mulighetene man går glipp av ved å sette av verdiene til kanalen. Hvis jeg setter av 1 BTC til en kanal, og ender opp med å bare ha bruk for 0.1 BTC, har jeg låst fast 0.9 BTC uten å få noe igjen for det. Disse kunne jeg for eksempel i stedet lånt bort og tjent renter på.

Derfor er det ikke meningen at alle som sender verdier gjennom et lynnettverk skal måtte opprette en kanal direkte til mottakeren. Da ville den bare vært brukbar for parter som utfører mange transaksjoner med hverandre. I stedet setter man kanalene sammen til et betalingsnettverk, hvor midlene formidles fra avsender til mottaker via flere parter. A sender til B, som sender til C, og dermed har A sendt til C. Til gjengjeld vil B kreve en transaksjonsavgift som gjenspeiler kanalkostnaden deres. Denne avgiften har en fast del og en del som er relativ til beløpet som overføres.

De enkelte transaksjonene som foregår i en kanal er i utgangspunktet hemmelige. De er eventuelt sårbare for nettverksanalyser, men de bokføres ikke på blokkjeden, hvor alt ligger åpent. Det eneste som bokføres er kapasiteten i kanalen når den åpner, og resultatet når den lukkes. Også den nåværende balansen til en kanal er skjult. Det eneste som er offentlig kjent er kanalens kapasitet og transaksjonsavgifter.

I teorien har et lynnettverk ingen kapasitetsbegrensninger ut over behovet for å lukke kanaler for å oppdatere balansen i blokkjeden.

Praktiske utfordringer

I forskningsartikkelen A Cryptoeconomic Traffic Analysis of Bitcoin’s Lightning Network [2020] studerer Ferenc Béres, István A. Seres og András A. Benczür hvordan lynnettverket fungerer i praksis. Overføringene i nettverket er private, men kapasiteten og avgiftene til nodene er kjent. De bruker dette til å simulere hvor lønnsomt det er å drive en slik node. Lønnsomhet måles i ROI, return on investment, det vil si inntektene delt på verdiene man har satt av til kanalen, og utgangspunktet deres er at en årlig ROI på 5% er et naturlig krav å stille til en slik investering.

I følge deres beregninger, var det kun én node i lynnettverket, rompert.com, som hadde noe i nærheten av en slik ROI: 3,45%. De fleste hadde en ROI på godt under 0.1%. Til gjengjeld krever den lønnsomme noden avgifter på samme nivå som betalinger direkte på blokkjeden. Per i dag er det altså en dårlig investering å drive en node på lynnettverket, og den eneste måten å tjene penger på er å øke avgiftene kraftig. De ser likevel for seg at lynnettverket har potensiale for å bli lønnsomt med dagens avgifter hvis volumet stiger.

I Layer 2 Blockchain Scaling: a Survey [2021] skriver Cosimo Sguanci, Roberto Spatafora og Andrea Mario Vergani at fordi det kun er kanalens kapasitet som er offentlig kjent, mens den gjeldende balansen er hemmelig, vil transaksjoner i lynnettverket ikke alltid kunne gjennomføres på første forsøk. Kanskje prøver man å formidle en transaksjon på 1 BTC via en kanal som bare har en gjenværende balanse på 0.1 BTC.

Lynnettverket er mer privat enn selve Bitcoin, fordi transaksjonen ikke nødvendigvis blir loggført noe sted. Frances Coppola påpeker at nedsiden av dette er at noder som videreformidler transaksjoner kan bli delakige i hvitvasking, fordi de verken vet hvilke transaksjoner de bidrar til eller har noen mulighet til å takke stilling til disse. Uvitenhet er ingen unskyldning, banker og finansinstitusjoner har en plikt til å finne ut av hvem som benytter dem til pengeoverførsler, og det er ingen grunn til at dette ikke også skulle gjelde noder i lynnettverket, skriver hun.

Oppstartsflaskehalsen

Bitcoins layer 1 (selve blokkjeden) kan håndtere rundt fem transaksjoner i sekundet, og selv om det i teorien er mulig å øke kapasiteten noe, er handlingsrommet begrenset. Lynnettverket kan derimot i teorien håndtere et enormt antall transaksjoner.

Alle som jobber med å skalere opp teknologiske løsninger til å håndtere et stort volum, vet imidlertid at det eneste sikre beviset på at noe lar seg skalere, er å faktisk skalere det. Det dukker alltid opp uventete flaskehalser når volumet øker. En av disse er altså lønnsomhetsproblemet nevnt over: Det hjelper ikke at lynnettverket i teorien kan håndtere enorme volumer til lave priser hvis deltagerne ikke har insentiver for å delta i et slikt nettverk.

En annen flaskehals er selve opsptarten. Som kryptokritikeren Bennett Tomlin påpeker: “At its current throughput it takes multiple decades for half the people on earth to even be able to open a single lightning channel, and that’s assuming they want to do nothing else on chain”. Hva mener han med det? Jo, før du kan bruke lynnettverket må du opprette minst én kanal. Dette gjøres med en transaksjon på blokkjeden. Disse er som sagt trege.

La oss si at syv milliarder mennesker skal ta i bruk lynnettverket. Hvis det eneste vi bruker Bitcoin-blokkjeden til er å opprette kanaler, og vi kan utføre fem transaksjoner i sekundet, vil dette ta 44 år.

Greit, la oss sikte litt lavere, og bare flytte Norge over på lynnettverket. Det får vi til på litt under to uker. Da snakker vi bare om transaksjonene som oppretter kanalene. I tillegg trenger vi minst én transaksjon hver som overfører de første bitcoinene til lommeboka vår, for eksempel basert på et kjøp på en kryptobørs. Det blir to uker til. En gang i blant vil vi også behøve å avslutte og gjenåpne kanalene våre, for å sikre at blokkjeden er oppdatert med de verdiene vi faktisk har til rådighet.

Kritikken er ikke helt riktig, fordi det er mulig å opprette flere kanaler med samme transaksjon. Lightning-utvikleren John Cantrell mener at man med dagens system kunne opprettet 32 tusen kanaler i samme transaksjon. Da tar det fem år å gi alle verdens mennesker en Lightning-kanal. Det er teoretisk mulig, mener han, å redusere dette ytterlige til et halvt år.

En annen løsning er å bruke tjenester som forvalter verdiene dine for deg og selv oppretter kanalene som trengs. Hvis folk flest er villige til å stole 100% på en slik tjeneste, er det ingen spesielle begrensninger på hvor fort verdens befolkning kan ta i bruk lynnettverket.

Ett problem med dette er at man da har mistet den desentraliserte egenskapen Bitcoin visstnok skal ha: At du kontrollerer din lommebok, uten å måtte gå via store aktører. Samtidig har du også mistet den tryggheten det gir å ha penger i en ekte bank, hvor du for eksempel har mulighet til å kansellere illegitime transaksjoner og hvor det å overføre penger til en tilfeldig svindler i et land langt borte er betydelig vanskeligere.

Et annet problem med dette er at enten må du inn på blokkjeden i blant for å gjennomføre transaksjoner, for eksempel for å fylle mynter på kanalen, og da kan vi begynne å gange de 172 dagene oppover igjen. Eller så må hele Bitoin-økonomien nærmest leve utenfor layer 1. Er det realistisk? Er det sikkert? Er det attraktivt på den samme ideologiske måten dagens Bitcoin er attraktivt for en del mennesker?

Og la oss i tillegg huske på at Lightning ble designet for å håndtere små transaksjoner. I en Bitcon-verden skal mye av verdens pengetransaksjoner flyttes over på Bitcoin. Lønna di. Boliglånet. Skal dette skje via Lightning? Hvis ja, hvor trygg føler du deg mens du venter på at transaksjonen skal formidles til layer 1? Hvis nei, hvordan løser vi kapasitetsproblemene når alle mennesker i verden prøver å dytte slike transaksjoner inn på layer 1?

Jeg vet ikke hvor hvor mange kanaler eller årlige transaksjoner hver av oss vil behøve for at Bitcoin skal kunne dekke betalingsbehovene våre. Men for å snu på det: Bitcoin-nettverket kan utføre omtrent 157 millioner transaksjoner på layer 1 i året. Det er ambisiøst å sikte mot et verdensomspennende betalingssystem som klarer å redusere og oppsummere alle verdens betalinger til 157 millioner transaksjoner. Jeg sier ikke at det er umulig. Men man kan heller ikke ta for gitt at det er praktisk mulig.

Én bitcoinentusiast jeg snakket med trakk på skuldrene av hele problemstillingen. Man finner alltids en løsing på skaleringsproblemet når behovet blir stort nok, mente han. Bitcoin har ikke syv milliarder brukere i dag, derfor har heller ingen utviklet en løsning som gjør det mulig med et så stort transaksjonsvolum.

Samtidig er det mange bitcointilhengere som mener at Lightning Network allerede i dag er svaret på Bitcoins kapasitetsproblemer, og det er ganske tydelig at dette foreløpig ikke stemmer.

Den dypere problemstillingen her er en alle blokkjeder har til felles: At de har kapasitetsproblemer det antagelig ikke er mulig å designe seg helt bort fra, fordi de er en variant av det klassiske “velg to av tre”-dilemmaet: Du kan ha sikkerhet, desentralisering eller skalering - velg to av tre. Du kan skalere uendelig hvis du er villig til å stole på én mektig aktør som bygger sin egen løsning utenfor layer 1, for eksempel en bank eller børs som lar deg gjennomføre transaksjoner uten å måtte registrere dem på layer 1. Men var ikke hensikten med Bitcoin å redde oss fra slike aktører?