I början av året testade vi olika plånböcker till iOS med stöd för Lightning Network. Då fanns bara lösningar där du antingen till viss del fick lita på en tredjepart eller där du själv behövde ha en egen Lightningnod på en dator att koppla upp dig mot. Senare skrev vi också om Neutrino och hur denna teknik kunde göra det möjligt att ha en egen nod på mobilen och därmed slippa både krånglet med en dator och beroendet på en tredje part. Lightning Labs hade då bara en alpha-version tillgänglig av sin desktop-plånbok som använde Neutrino.
Lite senare släppte Lightning Labs motsvarande app till Android och iOS så vi har nu testat denna tillsammans med en intressant konkurrent, nämligen Breez, som har motsvarande mål om användarvänlighet och även de använder sig av Neutrino. Båda dessa appar finns alltså till såväl Android som iOS men vi har här testat dem endast på iOS.
Uppstart och backup
Lightning Labs plånbok använder den traditionella uppstartsprocess som vi är vana vid från många tidigare bitcoinplånböcker där du först får skriva ned ett antal backup-ord och sedan bekräfta dessa genom att återupprepa några slumpmässigt valda ord. Efter detta behöver du välja en PIN-kod som sedan används varje gång du startar appen. Stöd finns för TouchID så har du redan ett fingeravtryck inlagt så kommer det att funka att använda det. Växlar du mellan olika appar så behöver du inte ange PIN-koden varje gång men det är oklart om det här är en medveten feature med en tidsbegränsning eller om det är tekniska orsaker som styr när PIN-koden behöver matas in. När du är klar med inställningarna kommer du till huvudskärmen där en indikator visar att appen håller på att synka med blockkedjan. Tyvärr finns ingen info om hur mycket den har kvar eller hur lång tid det kan tänkas ta. Hur som helst så tar det inte alltför många minuter innan det är klart.
Breez har valt en lite annorlunda uppstart där du direkt tas till en skärm som visar synkningstatus (på ett bättre sätt en Lightning Labs, med en procentindikator) och när detta är klart hamnar du direkt på huvudskärmen utan några krav på att ta backup eller skapa PIN-kod. Du kan dock skapa en PIN-kod i menyn och här har du också möjlighet att välja efter hur många minuter appen ska låsa sig, något som inte går att välja i Lightning Labs app. Breez har inget stöd för TouchID men det är möjligt att detta är ett medvetet val då det kan anses mindre säkert. Backup i Breez sker genom att appen begär åtkomst till ditt Google-konto, vilket vissa säkert tycker går emot Bitcoins principer, men det ska i alla fall sägas att Breez inte får allmän åtkomst till din Google Drive utan bara möjlighet att spara sin egen applikationsdata. Breez sparar hela tiden nuvarande kanalstatus vilket innebär att du alltid kan återställa din plånbok genom att ladda ned appen till en ny telefon och koppla den till ditt Google-konto. Breez har meddelat att iCloud framöver kommer att finnas som alternativ till Google på iOS-versionen. Backup av kanaler saknas än så länge i Lightning Labs app.
Komma igång
Breez har lagt mycket energi på att det ska vara snabbt och smidigt att komma igång. Ett uppenbart problem som vi skrivit om tidigare är att det, trots att du just fått igång en egen Lightningnod, troligtvis inte finns någon möjlighet för dig att ta emot betalningar. Breez fixar detta genom att direkt öppna en kanal till varje ny wallet som installeras. När jag testar får denna kanal en kapacitet på 1 miljon satoshi (0,01 bitcoin) vilket alltså gör att jag genast har möjlighet att ta emot upp till ca 1000 kronor. Väljer jag att sedan sätta in pengar (för att kunna skicka pengar via Lightning) så sker detta genom en s.k. submarine swap vilket alltså innebär att pengarna kommer att komma till min plånbok via den kanal som Breez öppnat.
Det här innebär att alla pengar som syns i min plånbok i Breez är off-chain, d.v.s. befinner sig i en kanal på Lightningnätverket, och det finns ingen uppenbar möjlighet för mig att ha bitcoin on-chain i denna plånbok. Lightning Labs har samma mål som Breez i avseendet att det ska vara enkelt för användaren och har därför också försökt dölja komplexiteten i flyttandet av bitcoin mellan on-chain och off-chain. Här finns dock fortfarande en tydlig separation och alltid information om hur mycket bitcoin som finns on-chain respektive off-chain. I Lightning Labs plånbok kan du också “sätta in” pengar till en vanlig bitcoinadress men dessa hamnar då i den separata on-chain-plånboken tills dess att appen automatiskt öppnat kanaler åt dig. Efter ett tag kommer du troligtvis att se “100% on Lightning”.
Skicka & ta emot, on-chain & off-chain
De två plånböckerna använder alltså lite olika idéer och koncept för att förenkla för användaren så låt oss titta i detalj på de olika användningsfall som finns för en Lightning-/bitcoinplånbok.
- Ta emot pengar via Lightning. Det här är som sagt något som Breez lagt mycket fokus på och därför är det busenkelt att direkt ta emot pengar genom valet “Create invoice”. I Lightning Labs app heter alternativet “Request” men här kommer du alltså att vara beroende av att du på något sätt först fått någon annan att öppna en kanal till dig, alternativt att du redan skickat pengar via Lightning (se nedan).
- Skicka pengar via Lightning. Det här fallet hanterar de två plånböckerna väldigt lika. I båda plånböckerna heter detta val “Pay” och du kan antingen skanna eller klistra in den Lightning invoice du vill betala. Det förutsätter förstås att du har några pengar och för att få det måste du först antingen ta emot pengar via Lightning eller ta emot pengar via vanliga bitcoinnätverket.
- Ta emot pengar via bitcoinnätverket. Det här är en förutsättning för att kunna skicka pengar, såvida du inte börjat med att ta emot pengar över Lightning, men kan förstås även vara användbart om någon som endast har en traditionell Bitcoinplånbok vill skicka pengar till dig. I Lightning Labs app finns en liten knapp uppe i vänstra hörnet som heter “Add coin” medan det hos Breez görs i menyn med valet “Add funds”. Rent tekniskt fungerar apparna som sagt olika här, Lightning Labs använder sin on-chain-plånbok medan Breez tar emot pengarna m.h.a. en submarine swap. Det här innebär att det kommer att ta något längre tid med Lightning Labs app eftersom en transaktion krävs för att ta emot bitcoin och en annan för att sätta upp en ny kanal. Ur ett användarperspektiv presenterar båda apparna det här som att “sätta in” pengar men man skulle förstås kunna tänka sig att det här istället visas som ett alternativt sätt att “ta emot” pengar, sida vid sida med Lightningfunktionaliteten.
- Skicka pengar via bitcoinnätverket. Det här alternativet presenteras på två helt olika sätt. Breez har det i menyn som “remove funds”, d.v.s. motsatsen till “add funds”, medan Lightning Labs har det under “Pay”, sammanslaget med alternativet för att skicka pengar via Lightning. Värt att notera är att i Lightning Labs app kräver detta att du har några bitcoin i on-chain-delen av din plånbok, vilket du förmodligen inte har om du har autopilot påslaget (eftersom detta gör att kanaler skapas upp och stängs automatiskt efter behov). Du behöver alltså i så fall först slå av autopilot och sedan manuellt stänga en kanal för att därefter ha tillgång till bitcoin som du kan ta ut. I Breez är det dock simpelt, eftersom de använder samma princip som när du sätter in pengar, d.v.s. din Lightningkanal används för att föra ut pengar från Lightningnätverket med en submarine swap.
Övriga funktioner
Breez har en ytterligare funktion tänkt att förenkla kommunicerandet av “invoices” när en betalning ska utföras. Trycker du på knappen “Connect to pay” så får du en länk som du lätt delar via t.ex. valfri meddelande-app. Om personen som får länken också har Breez kommer appen att öppnas och en faktura automatiskt att skapas så att en betalning kan ske snabbt och enkelt.
Funktionalitet för watchtowers som vi tidigare skrivit om finns ännu inte i dessa appar men Breez har tills vidare en egen “background watcher” som åtminstone delvis löser problemet. Läs mer om detta här.
Slutsatser
Breez har verkligen lyckats med att göra en Lightningplånbok som både är enkel att komma igång med och som inte bygger på att dina pengar kontrolleras av en tredje part. Ingenting är dock perfekt och det finns en tradeoff även här. I princip alla som testar Breez kommer att ha 1 (och endast 1) kanal öppen och denna kanal är med Breez själva. Vill du öppna fler kanaler så finns alternativ under “Advanced / developers” men detta är verkligen för avancerade användare och ingen hjälp finns att få. Den här lösningen känns OK för att driva på onboarding men Breez bör nog se till att i framtiden även hjälpa användaren att få igång fler kanaler för att minska beroendet på Breez-hubben. Lightning Labs har inte gått lika långt i att göra det simpelt för användaren men bidrar å andra sidan till ett mer decentraliserat nätverk.
För den som vill testa Lightning Network på snabbast möjliga sätt så rekommenderas absolut Breeze. Plånboken går i praktiken att använda även för att ta emot och skicka on-chain-betalningar men detta framhävs inte så tydligt eftersom dessa alternativ ligger under menyn som “add funds” och “remove funds”. Vill du betala någon som bara har en vanlig bitcoinplånbok så skulle du alltså använda alternativet “remove funds” vilket kanske inte känns helt logiskt.
Det finns fortfarande massor med arbete med att göra det här lättförståeligt för vanliga användare men både Breez och Lightning Labs är helt klart på rätt väg och det är nog bara bra att de testar lite olika vägar att ta sig dit.