Hampus Sjöberg har skapat en Lightningplånbok för Android med det svenskklingande namnet Blixt, något som vi förstås då måste ta en närmre titt på. Plånboken är markerad som "early access" i Play store med en varning om att appen är under utveckling och kan vara instabil. Hampus skriver också på hemsidan att "It's currently aimed towards Bitcoin users who want to try out using Lightning Network.". Det är kanske alltså inget man ska använda om man är total Bitcoinnovis men det är ändå fokus på att tillhandahålla en enkel och ren användarupplevelse.
Lite mer fakta:
- Blixt är non custodial, du har alltså själv full kontroll över dina pengar, ingen tredjepart är inblandad.
- Bakom kulisserna används lnd samt Neutrino (som jag tidigare skrivit om här)
- Projektet är open source och du hittar källkoden här.
Komma igång
Du är snabbt igång med plånboken eftersom frågorna om backup etc. sparas tills man faktiskt har några bitcoin i sin plånbok, vilket är en smart och enkel lösning. Det första man möter är en QR-kod som representerar en bitcoinadress dit man kan skicka sina bitcoin. Det här syftar alltså på vanliga "on-chain" bitcoin så det krävs grundläggande förståelse för skillnaden mellan Bitcoin- och Lightningnätverket för att förstå sig på Blixt då Hampus inte valt att gå lika långt som t.ex. Phoenix wallet i att dölja skillnaderna mellan on-chain och off-chain.
När du skickar bitcoin till Blixt så kommer de att dyka upp så fort de kommit med i ett block och då öppnas också automatiskt en kanal på Lightning så att du kan komma igång med att skicka bitcoin off-chain. Så fort du tagit emot bitcoin visas också en uppmaning/rekommendation om att ta backup. Del 1 är on-chain och här funkar det precis som vanligt i bitcoinplånböcker, du behöver skriva ned 24 ord och du får sedan repetera dem tillbaka som en bekräftelse på att du skrivit ned dem. Den här processen är enkel i Blixt då man inte faktiskt behöver skriva orden på sitt mobiltangentbord utan endast välja dem i rätt ordning från en lista. Del 2 är off-chain och när det gäller Lightning finns tyvärr ingen statisk backup på samma sätt utan här måste appen kontinuerligt kunna ta backup på de kanaler man har öppna. Lösningen som Blixt använder är att (om du vill) koppla sig till ditt Google Drive-konto och sedan spara backups där (i krypterad form).
Skicka och ta emot
Att skicka och ta emot på Lightningnätverket fungerar som man förväntar sig och upplevelsen liknar andra plånböcker där du antingen skapar en invoice för någon annan att betala eller skannar en invoice som ska betalas. Att ta emot bitcoin on-chain har vi redan testat då det var det vi gjorde allra först för att komma igång och dessa kommer alltså automatiskt att sättas in i en Lightningkanal om man inte ändrar på detta i inställningarna. Ett specialfall uppstår om man vill skicka pengar on-chain, eller "withdraw" som det kallas i appen. Vi måste då först stänga en lightningkanal för att frigöra de bitcoin som ska tas ut och Blixt förstår att det då inte är rimtligt att samtidigt ha auto-skapande av kanaler påslaget eftersom de bitcoin vi frigjort då automatiskt skulle ha använts till en ny kanal. Just det här användningsfallet (att låta appen skapa kanaler automatiskt samtidigt som man vill göra ett uttag) är lite svårt att få riktigt snyggt användarmässigt, vilket syns även i andra plånböcker, men jag tycker att Blixt hanterar det helt OK genom att åtminstone rekommendera rätt åtgärd. Dock får du komma ihåg att aktivera inställningen igen eftersom du med all sannolikhet vill ha autofunktionen på nästa gång du sätter in bitcoin.
Handla
Blixt har en inbyggd webbläsare (en experimentell funktion som måste aktiveras under inställningar) som gör det enkelt att handla hos tjänster som accepterar lightningbetalningar genom standarden WebLN. Här kan du t.ex. handla presentkort på Bitrefill, spela bort dina pengar på Lightning Spin eller klottra på Satoshi's place. När det är dags att betala dyker helt enkelt en popupruta upp som ber dig bekräfta betalningen. Det här funkar fint när jag testar att klottra på Satoshi's place, betalningen utförs och jag kommer tillbaka till sajten där jag var. Här kan man verkligen se potentialen för Lightning, när upplevelsen är lika smidig som det folk vant sig vid med t.ex. Klarna men med den stora skillnaden att du inte ger någon tredje part rätten att utföra transaktioner å dina vägnar. Tyvärr funkar det inte när jag testar hos Bitrefill, där kommer aldrig nån popup som ber mig betala.
Övriga funktioner
Det finns fler funktioner under Experiment-meyn, nämligen möjligheten att ansluta till andra noder via anonymiseringsnätverket Tor samt möjigheten att skicka s.k. multipath payments. Jag testar det förstnämnda och får då till att börja med information om vilka tjänster som Blixt trots allt kommer att ansluta till utanför Tor, t.ex. den block explorer som används för att visa information om transaktioner. En omstart av appen krävs men efter denna funkar allt precis som vanligt igen och som användare märker man ingen praktisk skillnad när Tor används, vilket förstås är positivt. När jag dagen efter öppnar plånboken igen verkar den ha problem att synka till senaste blocket, en omstart löser problemet men jag vet inte om detta hade med Tor-funktionen att göra eller om det var en annan bugg jag stötte på.
Den andra funktionen, multipath payments, bestämmer jag mig att testa genom att utföra en transaktion som är större än saldot på någon av mina enskilda kanaler, vilket alltså skulle tvinga plånboken att använda två olika kanaler för att få igenom transaktionen. Till min lycka fungerar det här helt smärtfritt, betalningen går igenom och jag ser att saldot har minskat på båda kanalerna. Upplevelsen för mig som användare är precis som vid en vanlig single path-transaktion, jag behöver överhuvudtaget inte bry mig om vad som pågår i bakgrunden. Coolt!
Slutsatser
Man kan placera Lightningplånböcker i några olika kategorier, från de mest avancerade som kräver att användaren själv kontrollerar öppnande/stängande av kanaler mm på ena sidan till de som försöker dölja all komplexitet, inklusive skillnaden mellan on-chain och off-chain för användaren. Blixt placerar sig nånstans i mitten och förutsätter att användaren åtminstone förstår skillnaden mellan Bitcoin och Lightning men försöker sedan göra upplevelsen så smidig som möjligt och där tycker jag att Blixt lyckas bra. Det finns några små problem med appen som nämnts i texten men det är inga stora grejer och såklart något man får räkna med i en produkt som är "early access".
Sedan finns förstås fortfarande vissa aspekter av Lightning i sig som fortfarande begränsar användarvänligheten. Bara det faktum att två transaktioner krävs för att komma igång (en för att flytta bitcoin till on-chain-plånboken och en till för att skapa upp en kanal) och att hur snabbt dessa transaktioner kommer att gå igenom alltid är osäkert p.g.a. variation i nätverksavgifter gör att det kan uppstå en del väntetid och osäkerhet.
Överlag tycker jag att Blixt är en stabil och tydlig plånbok och ett imponerande projekt för att ha genomförts av en enda person. Vill du hjälpa Hampus att vidareutveckla plånboken så rekommenderar jag att du börjar med att ladda ned den, testa runt och rapportera eventuella problem på appens GitHub-sida. Appen är byggd i React Native så har du erfarenhet av detta så är det bara att plocka hem koden och se var du kan hjälpa till.