Lightning For Life — Hur Lightning kan och kommer att integreras med webben

By Bitcoin Magasin - 1 år sedan - Lästid: 11 minuter

Lightning For Life — Hur Lightning kan och kommer att integreras med webben

Lightning är redo att sömlöst integreras i vår dagliga verksamhet ungefär på samma sätt som internet har gjort.

Roy Sheinfeld is the co-founder and CEO of Breez, a Bitcoin company focused on Lightning payments.

Varje gång du googlar på något, varje gång du lurar gör seriös research på YouTube eller Instagram, varje gång du beställer en Uber, varje gång du kollar din portfölj eller läser nyheterna, använder du webben. Faktum är att du använder webben just nu och läser detta. Nätet är ett verktyg, men det är ett verktyg på samma sätt som lungor eller tummar är verktyg; det har blivit en integrerad del av oss som vi använder ständigt utan att ens tänka på det.

Pengar är liknande genom att vi använder dem konstant och omedvetet. Så länge ditt kylskåp är igång, så länge som dina pengar drar på sig ränta någonstans, så länge som skuldklockan på ditt lån tickar, är du involverad i finansiell aktivitet. Ditt ekonomiska jag är vaket och behåller sin position i det globala nätverket av värde, även när du sover.

Bitcoiners tend to be acutely aware of this sort of thing. If you use Lightning, you probably see it as a conduit between you and that global network of value. It’s not just a way to köpa en öl i Helsingfors; Lightning connects you to the sea of Bitcoin.

Konstigt nog fungerar dessa två viktiga nätverk – webben och Lightning – fortfarande parallellt med liten integration. Vi vill inte leva utan någon av dem, men sömmarna mellan dem är påtagliga, ibland besvärliga.

Som jag lärde mig på bolt.roligt hackathon (shoutout till min man Johns!), många webbutvecklare skulle älska att bygga appar med Lightning-funktionalitet. Viljan att integrera finns där ute, men många verkar inte inse att det också finns ett sätt. Faktum är att det finns flera sätt att föra Lightning till webben och var och en utvecklas med sina egna styrkor och användningsfall. Kanske världen helt enkelt inte känner till eller förstår dem?

Så låt oss göra det. Låt oss titta på hur man integrerar nätet och Lightning, drar ut trådarna, väver ihop dem och gör ett starkare, kombinerat, sömlöst nät.

Bildkälla

LNURL: Att hålla det enkelt

Lightning-användarupplevelsen (UX) har kommit långt sedan jag först täckte det tre år sedan. Men luckor kvarstår. Fakturor är ett exempel. Tekniskt sett är det bara betalningsmottagaren som kan initiera en betalning, vilket är olämpligt i många sammanhang. Många användare kanske inte vill generera en faktura av någon anledning och, i scenarier som dricks, kan det rimligen framstå som besvärligt och oförskämt.

LNURL är en mycket enkel uppsättning specifikationer för att överbrygga några av dessa återstående UX-luckor, inklusive fakturagenerering. Det fina med LNURL är dess enkelhet. Som namnet antyder är LNURL-specifikationer baserade på länkar, antingen i form av klickbara webbadresser eller skanningsbara QR-koder. URL-länkar är en del av vår tekniska bakgrund. Du har redan sett fyra i det här inlägget, förmodligen utan att ens märkt dem. QR-koder är samma sak, bara en annan visuell representation:

QR-koder är lätta och bekanta. Jag ser inte att vi ger upp dem snart.

Det finns flera LNURL specifikationer där ute, men dessa är särskilt relevanta för Lightnings webbintegration:

LNURL-Pay: Let’s say you run a Bitcoin blog. You want to collect tips but you don’t want to generate and render an invoice for every tip, nor do you want to interact with each reader individually for each tip. LNURL-Pay lets you generate QR codes for payments within a specified range, say, 2,500 - 10,000 sats. A user can simply scan a code, enter the precise amount and pay. The user remains oblivious to the language of pre-images and invoices, instead just scanning a code and responding to a prompt. LNURL-Återkalla: Det här är det omvända scenariot: du vill betala användare för att interagera med din webbplats, men du vill bespara dem besväret med att skapa en faktura. LNURL-Withdraw låter användare skanna en kod eller klicka på en länk som kommer att uppmana deras plånböcker att generera lämplig typ av faktura och skicka den till din nod för betalning.LNURL-Auth är ett annat coolt LNURL-verktyg. Det genererar en offentlig-privat nyckeluppsättning baserat på frönfraserna i användarnas plånböcker för att låta dem logga in på webbplatser pseudonymt. Det är lika privat som själva fröfrasen och svårare att brutal än "lösenord123" eller "correct_horse_battery_staple.” Det bästa av allt är att den använder data som redan finns i användarnas plånböcker, redo att användas med lite input.

Lightning adresser

E-post är kanske så bekant att vi tar dess fördelar för givna. E-postadresser är strikt unika (till skillnad från fingeravtryck), och e-post gör det extremt enkelt att skicka och ta emot information till exakt rätt person. Lightning adresser ha samma [e-postskyddad] format as email, but they allow users to transfer funds without having to mess with a QR code.

För närvarande är LNURL-Pay det mest populära sättet att implementera Lightning Addresses men Lightning Address-protokollet är öppet för innovation. Till exempel kan Lightning-adresser utökas till att använda statiska fakturor eller BOLT12 (Basis of Lightning Technology; the Lightning equivalent of the Bitcoin Improvement Proposal [BIP] specifications), once these are adopted.

Även i sin nuvarande form baserad på LNURL är Lightning Addresses mycket populära och lätta att integrera. Faktum är att flera appar inkluderar Lightning-adresser inbyggt, men det finns också bryggservrar som inte är förvarsbara för de med sina egna noder som inte har något emot lite konfiguration och det finns instruktioner för en helt egen värd installation med ditt eget domännamn.

För att verkligen göra Lightning Addresses till en framgång måste vi ta reda på hur vi gör det möjligt för mobila plånböcker att ta emot när du är offline.

WebLN

WebLN utgår från en enkel utgångspunkt: för det mesta när vi interagerar med webben gör vi det via en webbläsare. Webbläsare är praktiskt taget små operativsystem i sig, som kan köra alla möjliga typer av cool programvara i sina egna miljöer.

Med tanke på att Lightning bara är mjukvara och att vi vill integrera den med webben kommer det att räcka långt med att lägga till Lightning i webbläsare.

Detta är precis idén bakom WebLN, som är ett enkelt JavaScript-verktyg för att bygga Lightning-aktiverade webbläsartillägg med makePayment och sendInvoice — återigen de två kärnfunktionerna för alla slags pengar: skicka och ta emot. Med andra ord tillåter WebLN webbappar att interagera med Lightning-plånböcker.

WebLN erbjuder några fördelar. För det första är JavaScript nästan universellt och nästan trettio år gammalt. Vi är ganska säkra på att det fungerar. För det andra är WebLN enkelt. Hur enkelt? Michael Bumann från Alby kan ställa in den och demonstrera hur man använder den på fem minuter och trettioåtta sekunder.

Länk till YouTube-video här.

För det tredje levererar WebLN en mycket bättre UX än QR-koder, till att börja med att du inte behöver använda en andra enhet. Det känns naturligt, inte som en lösning. Du har också tillgång till alla webbläsarhändelser, så en knapptryckning, ett musklick, ett rullningsläge, etc. kan alla utlösa en betalning. Den QR-fria UX är särskilt praktisk på mobilen där WebLN också fungerar.

Still, WebLN isn’t a universal web-to-Lightning interface. It requires a WebLN-enabled environment. On a desktop browser a simple extension, like Alby, can create that environment. On mobile, developers can either work out their own WebLN solution or find a home in a Lightning app that already offers a built-in WebLN environment, like Breez och BlueWallet. Kanske det faktum att WebLN inte är inbyggt i webbläsare har förhindrat eller bromsat dess utbredda användning. Jag kan se en framtid där WebLN-värdar implementeras inbyggt på webbplatser som använder WebAssembly, ta bort sömmarna för slutanvändare.

För många enkla webbläsarbaserade transaktioner, som dricks och engångsköp, är WebLN allt du behöver för att integrera våra två favoritnätverk. Det fungerar så bra att många av de bästa Lightning-tjänsterna har använt det framgångsrikt i flera år. Det inkluderar bitrefill, LNMarketsoch Kollider.

API: er

När det gäller att integrera en webbtjänst och en Lightning-tjänst sömlöst är det svårt att slå ett applikationsprogrammeringsgränssnitt (API) designat för att göra just det. API-integration ger utvecklare den största kontrollen över användarupplevelsen och gränssnittet.

Så bra som det låter, API:er kommer också med kompromisser. Den första är att valet av ett API är ett ganska seriöst åtagande. Det finns ingen övergripande integrationsstandard, så varje Lightning-tjänst definierar sin sida av API:et som den vill, och webbtjänsten kommer att behöva bygga sitt användargränssnitt kring API:et. Att byta till ett annat API kan vara mycket kostsamt och medföra betydande förändringar av UX och den övergripande arkitekturen.

Ett viktigt övervägande när man väljer vilken Lightning-tjänst och vilket API som är rätt för vilken webb- eller mobilapp är om man ska välja en självhostad lösning som BTCPay-server, LNPay or LNbits, eller en frihetsberövande lösning som ZEBEDÉ or Strike. Återigen gäller avvägningar.

Self-hosted solutions give you full control over your funds but they require maintenance in the form of managing channels, balances, connectivity, regulatory compliance, server uptime, etc. Custodial solutions take a lot of the maintenance off your hands, but you’ll have to trust the custodian to hold your money (and if you’re willing to do that, you don’t really need Lightning in the first place). Moreover, custodial services only operate in certain jurisdictions for their own compliance and those geographic limitations naturally apply to services using them downstream, too.

But whatever their virtues in Bitcoiner philosophy, both approaches do work. Fontän tillåter användare att streama sats tillbaka till sina favoritpodcasters medan de lyssnar och de är värd för sin egen nod med LNPay. På samma sätt, Blixtsidan av Twitters tipsfunktion fungerar på Strikes API, så jag antar att ett stort publikt företag (eller är det bara Elon?) är bekväm med sin vårdnadstjänst.

Välj det som är rätt för dig.

LNC

Nodhanteringen som är inblandad i en självvärderad lösning kan låta som ett drag. Men tänk dig att du skulle kunna göra det i ett praktiskt webbläsargränssnitt och hantera kanalerna och saldot på din Lightning-nod precis som du skulle hantera dina räkningar och konton på en internetbankswebbplats. Tänk dig nu att erbjuda den typen av funktionalitet till dina användare. Världen blir ditt blixtaktiverade fintech-ostron. Och Lightning Node Connect (LNC) är pärlan.

Som jag sa ovan är webbläsare i grunden sandlådeoperativsystem. LNC tillämpar WebAssembly för att utnyttja det attributet för Lightning. LNC tillåter i princip fullständig, fjärrstyrd nodhantering via en webbläsare. Att låta användare komma åt och kontrollera sina noder via sin webbläsare ger webbutvecklare fantastisk flexibilitet i hur de skapar sina webbplatsers UX och öppnar dörren till en rad potentiellt lukrativa applikationer.

LNC tillåter åtkomst till nodens gRPC (grpc remote procedure call) gränssnitt, så att operatörer kan öppna, stänga och balansera om kanaler utöver andra avancerade funktioner. Lightning Web Terminal är ett bra exempel på hur det kan se ut i praktiken. Denna terminal är i grunden en fjärrkontroll för avancerade användares noder som de kan komma åt var som helst.

Du vet den där komiskan "Då inträffar ett mirakel." Nåväl, LNC är miraklet. 

Bildkälla

Vad är haken? Det finns två. För det första är LNC idén från Lightning Labs och fungerar bara med LND för tillfället. För det andra, ju mer kontroll du har över din nod utifrån, desto fler behörigheter måste du ge det externa gränssnittet; och ju fler behörigheter du ger, desto större kan din attackyta bli. Lightning Labs listar ett antal potentiella hot sig själva, inklusive människor med tillgång till demonen, nätfiskeförsök, webbläsarsårbarheter och tredjepartstillägg. Medan teknikerna på Lightning Labs är seriösa ingenjörer, kan alla appar med så omfattande behörigheter vara en inbjudan att bli "pwned".

LSAT

Lightning Service Authentication Tokens (LSAT) är det sista sättet att integrera Lightning med webben som vi kommer att diskutera. Nej, de är inte ett sätt att kolla vem som är irriterande nog att bli en advokat. Grundtanken bakom LSATs är att använda noggrant definierade macaroons för att autentisera användaren och definiera deras betalningsmöjligheter på webbplatsen.

Skickligt, LSAT-protokollet använder HTTP-kod 402 som är en felkod på klientsidan som betyder antingen "betalning krävs"Eller"reserverad för framtida bruk", beroende på vem du frågar (Lightning Labs LSAT-specifikationen häpnadsväckande, men paradoxalt nog, säger "det här dokumentet antar att framtiden har anlänt"). Den 402-koden används för att anropa en "biljett" - en makron som samtidigt identifierar användaren och definierar hur den användaren kan interagera med tjänsten.

Den första fördelen med LSATs är att autentisering och betalningsbehörigheter sker i ett enda steg. Tjänsten känner igen användaren och hur betalningar till och från den användaren ska fungera så fort de dyker upp. Inga användarnamn, lösenord eller inställningsbelopp vid varje besök. Ibland är det bara trevligt att bli bekant.

Den läckraste av alla Lightning-integreringstekniker.

Bildkälla

För det andra kan dessa API:er specificera mätade betalningar, precis som streamingsatsen i Breez podcastspelare (fast vi använder nyckelsänd istället). Detta är ett annat sätt att undanröja prenumerationer. Användare kan betala för vad de använder – oavsett om det är poddljud, strömmande video, spel, textbaserad media – oavsett enhet eller intervall, ända ner till andra.

LSATs har stor potential och kan kanske till och med förvisa bots från sociala medier genom att ta ut mikrobetalningar för mikrointeraktioner som skulle vara triviala för användare men oöverkomliga för bots.

Låter bra! Revolutionerande teknik som förbjuder bots och integrerar Lightning och webben! halleluja! Vad är haken? Jag vet inte, men jag kan inte lista ut hur LSAT har funnits i några år och ändå kan jag inte nämna en enda större tjänst som har implementerat dem. Är det bara en fråga om nätverkseffekter och alla väntar på att alla andra ska ta steget? Eller finns det någon djupare, mer påtaglig hämning? Kanske du, kära läsare, kan utbilda mig om det.

Framtiden är en förlängning av nuet

Some say that web3 is the future, and it seems to have something to do with crypto… and a network… and there’s probably some DeFi tomfoolery in there somewhere, too. I don’t know and I’m not sure anybody else does, either. What I do know is that the future belongs to Bitcoin, that Lightning is the technology that liquifies bitcoin, and that we have a functioning World Wide Web that everybody loves and wants to keep.

Är det inte uppenbart att Lightning är avsett att penetrera webben och att webben är avsett att använda Lightning som sin ledande betalningsteknik? Eller är det bara jag?

Integrating Lightning and the web was once an intimidating prospect, but no longer. We have a range of technologies for a range of use cases, a thriving community of developers innovating and perfecting the tech, and a world that already loves the web and is growing ever fonder of bitcoin.

Kanske bäst av allt, vi behöver ingen central standard för att berätta hur vi integrerar Lightning och webben. Alla kan välja den teknik som bäst passar deras lokala behov och arbeta med utvecklingsgemenskapen för att hjälpa den att förbättras. Den nya Lightning-aktiverade webben kommer att växa organiskt från grunden, som den ska.

Detta är ett gästinlägg av Roy Sheinfeld. Åsikter som uttrycks är helt deras egna och återspeglar inte nödvändigtvis BTC Inc. eller Bitcoin magazine.

Ursprunglig källa: Bitcoin magazine