Lightning For Life — jak błyskawica może i będzie zintegrować się z siecią?

By Bitcoin Magazyn - 1 rok temu - Czas czytania: 11 minuty

Lightning For Life — jak błyskawica może i będzie zintegrować się z siecią?

Lightning jest gotowy do bezproblemowej integracji z naszymi codziennymi operacjami w taki sam sposób, jak ma to miejsce w Internecie.

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

Za każdym razem, gdy coś wpisujesz w Google, za każdym razem, gdy robisz głupka, przeprowadź poważne badania na YouTube lub Instagramie, za każdym razem, gdy zamawiasz Ubera, za każdym razem, gdy sprawdzasz swoje portfolio lub czytasz wiadomości, korzystasz z sieci. Właściwie to właśnie teraz korzystasz z sieci i czytasz to. Sieć jest narzędziem, ale jest to narzędzie w taki sam sposób, w jaki narzędziami są płuca czy kciuki; stało się integralną częścią nas, z której stale korzystamy, nawet o tym nie myśląc.

Pieniądze są podobne pod tym względem, że używamy ich stale i nieświadomie. Tak długo, jak twoja lodówka działa, dopóki twoje fundusze gdzieś naliczają odsetki, dopóki zegar zadłużenia na twojej pożyczce tyka, jesteś zaangażowany w działalność finansową. Twoje finansowe ja nie śpi i utrzymuje swoją pozycję w globalnej sieci wartości, nawet gdy śpisz.

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 kup piwo w Helsinkach; Lightning connects you to the sea of Bitcoin.

Co dziwne, te dwie kluczowe sieci — sieć i Lightning — nadal działają równolegle przy niewielkiej integracji. Nie chcemy żyć bez żadnego z nich, ale szwy między nimi są namacalne, czasem niezręczne.

Jak dowiedziałem się w hackathon bolt.fun (pozdrowienia dla mojego człowieka Johns!), wielu programistów internetowych chciałoby tworzyć aplikacje z funkcjonalnością Lightning. Chęć integracji istnieje, ale wydaje się, że wielu nie zdaje sobie sprawy, że jest też sposób. W rzeczywistości istnieje kilka sposobów na wprowadzenie Lightninga do sieci i każdy z nich ewoluuje z własnymi mocnymi stronami i przypadkami użycia. Może świat po prostu o nich nie wie lub ich nie rozumie?

Więc zróbmy to. Przyjrzyjmy się, jak zintegrować sieć i Błyskawicę, wyciągnąć pasma, splatać je razem i tworzyć mocniejszą, połączoną, bezszwową siatkę.

Źródło zdjęcia

LNURL: Uproszczenie

Doświadczenie użytkownika Lightning (UX) przeszło długą drogę, odkąd pierwszy to okrył trzy lata temu. Ale luki pozostają. Jednym z przykładów są faktury. Z technicznego punktu widzenia tylko odbiorca może zainicjować płatność, co jest nieodpowiednie w wielu kontekstach. Wielu użytkowników może nie chcieć generować faktury z jakiegokolwiek powodu, a w scenariuszach takich jak dawanie napiwków może to wydawać się kłopotliwe i niegrzeczne.

LNURL to bardzo prosty zestaw specyfikacji, który wypełni niektóre z pozostałych luk UX, w tym generowanie faktur. Piękno LNURL polega na jego prostocie. Jak sama nazwa wskazuje, specyfikacje LNURL są oparte na linkach, albo w formie klikalnych adresów URL, albo skanowalnych kodów QR. Linki URL są częścią naszego zaplecza technologicznego. Widziałeś już cztery w tym poście, prawdopodobnie nawet ich nie zauważając. Kody QR to to samo, tylko inna reprezentacja wizualna:

Kody QR są łatwe i znajome. Nie widzę, żebyśmy w najbliższym czasie z nich zrezygnowali.

Tam są kilka LNURL specyfikacje są dostępne, ale są one szczególnie istotne w przypadku integracji internetowej Lightning:

LNURL-Zapłać: 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-Wypłata: To jest odwrotny scenariusz: chcesz płacić użytkownikom za interakcję z Twoją witryną, ale chcesz oszczędzić im kłopotu z generowaniem faktury. LNURL-Withdraw pozwala użytkownikom zeskanować kod lub kliknąć łącze, które poprosi ich portfele o wygenerowanie odpowiedniego rodzaju faktury i przesłanie jej do węzła w celu zapłaty.Autoryzacja LNURL to kolejne fajne narzędzie LNURL. Generuje zestaw kluczy publiczno-prywatnych na podstawie fraz źródłowych w portfelach użytkowników, aby umożliwić im logowanie się na stronach internetowych pod pseudonimem. Jest tak samo prywatne, jak sama fraza źródłowa i trudniejsze do brutalnej siły niż „hasło123” lub „Correct_horse_battery_staple”. Co najlepsze, wykorzystuje dane już zawarte w portfelach użytkowników, gotowe do użycia przy niewielkim nakładzie.

Adresy Błyskawicy

E-mail jest prawdopodobnie tak znajomy, że traktujemy jego zalety jako oczywiste. Adresy e-mail są całkowicie unikalne (w przeciwieństwie do odciski palców), a poczta e-mail sprawia, że ​​wysyłanie i odbieranie informacji do dokładnie odpowiedniej osoby jest niezwykle łatwe. Adresy Błyskawicy mieć to samo [email chroniony] format as email, but they allow users to transfer funds without having to mess with a QR code.

Obecnie LNURL-Pay jest najpopularniejszym sposobem implementacji adresów Lightning, ale protokół Lightning Address jest otwarty na innowacje. Na przykład adresy Lightning można rozszerzyć o faktury statyczne lub ŚRUBA12 (Basis of Lightning Technology; the Lightning equivalent of the Bitcoin Improvement Proposal [BIP] specifications), once these are adopted.

Nawet w obecnej formie opartej na LNURL, adresy Lightning są bardzo popularne i łatwe w integracji. Rzeczywiście, kilka aplikacji zawiera adresy Lightning natywnie, ale dostępne są również serwery mostów bez nadzoru dla tych, którzy mają własne węzły, którzy nie mają nic przeciwko niewielkiej konfiguracji i są instrukcje dla w pełni samodzielnej konfiguracji z własną nazwą domeny.

Aby adresy Lightning naprawdę odniosły sukces, musimy dowiedzieć się, jak umożliwić niechronionym portfelom mobilnym odbierać w trybie offline.

WebLN

WebLN zaczyna się od prostego założenia: przez większość czasu, gdy wchodzimy w interakcję z siecią, robimy to za pośrednictwem przeglądarki internetowej. Przeglądarki internetowe są praktycznie małymi systemami operacyjnymi, zdolnymi do uruchamiania wszelkiego rodzaju fajnego oprogramowania we własnych środowiskach.

Biorąc pod uwagę, że Lightning to tylko oprogramowanie i chcemy zintegrować go z Internetem, dodanie Lightninga do przeglądarek internetowych to długa droga.

To jest właśnie idea WebLN, która jest prostym narzędziem JavaScript do tworzenia rozszerzeń przeglądarki obsługujących Lightning za pomocą makePayment i sendInvoice — ponownie, dwie podstawowe funkcje dla każdego rodzaju pieniędzy: wysyłanie i odbieranie. Innymi słowy, WebLN umożliwia aplikacjom internetowym interakcję z portfelami Lightning.

WebLN ma kilka zalet. Po pierwsze, JavaScript jest prawie uniwersalny i ma prawie trzydzieści lat. Jesteśmy prawie pewni, że to działa. Po drugie, WebLN jest prosty. Jak proste? Michał Bumann od Alby może go skonfigurować i zademonstrować, jak go używać w pięć minut i trzydzieści osiem sekund.

Link do filmu na YouTube tutaj.

Po trzecie, WebLN zapewnia znacznie lepszy UX niż kody QR, zaczynając od tego, że nie musisz używać drugiego urządzenia. Czuje się natywnie, a nie jak obejście. Masz również dostęp do wszystkich zdarzeń przeglądarki, więc naciśnięcie klawisza, kliknięcie myszą, a pozycja przewijaniaitp. mogą wywołać płatność. UX bez QR jest szczególnie przydatny na urządzeniach mobilnych, gdzie działa również WebLN.

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 i Niebieski portfel. Być może fakt, że WebLN nie jest natywny dla przeglądarek internetowych, uniemożliwił lub spowolnił jego rozpowszechnienie. Widzę przyszłość, w której hosty WebLN są implementowane natywnie w witrynach przy użyciu WebAssembly, usuwając szwy dla użytkowników końcowych.

W przypadku wielu prostych transakcji w przeglądarce, takich jak napiwki i jednorazowe zakupy, wystarczy zintegrować WebLN nasze dwie ulubione sieci. Działa tak dobrze, że wiele czołowych usług Lightning korzysta z niego z powodzeniem od lat. To obejmuje Bitrefill, LNRynki, Kolider.

Pszczoła

Jeśli chodzi o bezproblemową integrację usługi sieciowej i usługi Lightning, trudno jest pobić interfejs programowania aplikacji (API) przeznaczony właśnie do tego. Integracja API daje programistom największą kontrolę nad doświadczeniem użytkownika i interfejsem.

Choć brzmi to dobrze, interfejsy API mają również kompromisy. Po pierwsze, wybór API to dość poważne zobowiązanie. Nie ma nadrzędnego standardu integracji, więc każda usługa Lightning definiuje swoją stronę API tak, jak chce, a usługa sieciowa będzie musiała zbudować swój UX wokół API. Przejście na inny interfejs API może być bardzo kosztowne i pociągać za sobą istotne zmiany w UX i ogólnej architekturze.

Główną kwestią przy wyborze usługi Lightning i odpowiedniego interfejsu API dla danej aplikacji internetowej lub mobilnej jest wybór rozwiązania z własnym hostingiem, takiego jak Serwer BTCPay, LNPay or LNbitylub rozwiązanie zabezpieczające, takie jak ZEBEDEUSZ or Uderzać. Ponownie obowiązują kompromisy.

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. Fontanna pozwala użytkownikom przesyłać strumieniowo swoje ulubione podcasty podczas słuchania i hostować własny węzeł za pomocą LNPay. Z tego samego powodu strona Błyskawicy Funkcja napiwków na Twitterze działa na API Strike, więc myślę, że duża spółka publiczna (a może to tylko Elon?) jest zadowolona ze swojej usługi powierniczej.

Wybierz to, co jest dla Ciebie najlepsze.

LNC

Zarządzanie węzłami związane z rozwiązaniem samoobsługowym może wydawać się uciążliwe. Ale wyobraź sobie, że możesz to zrobić w poręcznym interfejsie przeglądarki, zarządzając kanałami i saldami swojego węzła Lightning tak, jakbyś zarządzał rachunkami i kontami w witrynie bankowości internetowej. A teraz wyobraź sobie oferowanie tego rodzaju funkcjonalności swoim użytkownikom. Świat staje się twoją fintechową ostrygą z obsługą błyskawicy. I Połączenie z węzłem błyskawicy (LNC) to perła.

Jak powiedziałem powyżej, przeglądarki są w zasadzie systemami operacyjnymi w piaskownicy. LNC stosuje WebAssembly, aby wykorzystać ten atrybut dla Lightning. LNC w zasadzie pozwala na pełne, zdalne zarządzanie węzłami przez przeglądarkę. Umożliwienie użytkownikom dostępu do węzłów i kontrolowania ich za pośrednictwem przeglądarki daje twórcom stron internetowych fantastyczną elastyczność w tworzeniu UX swoich witryn i otwiera drzwi do szeregu potencjalnie lukratywnych aplikacji.

LNC umożliwia dostęp do interfejsu gRPC (zdalne wywołanie procedury grpc) węzła, dzięki czemu operatorzy mogą otwierać, zamykać i ponownie równoważyć kanały oprócz innych zaawansowanych funkcji. Terminal internetowy Lightning jest dobrym przykładem tego, jak to może wyglądać w praktyce. Ten terminal jest w zasadzie zdalnym sterowaniem dla węzłów zaawansowanych użytkowników, do których mogą uzyskać dostęp z dowolnego miejsca.

Znasz ten komiks „Wtedy następuje cud”. Cóż, LNC to cud. 

Źródło zdjęcia

Jaki jest haczyk? Istnieją dwa. Po pierwsze, LNC jest pomysłem Lightning Labs i na razie działa tylko z LND. Po drugie, im większą kontrolę masz nad swoim węzłem z zewnątrz, tym więcej uprawnień będziesz musiał przyznać temu zewnętrznemu interfejsowi; a im więcej uprawnień przyznasz, tym większa może być powierzchnia ataku. Lightning Labs wymienia kilka potencjalne zagrożenia samych siebie, w tym ludzi z dostępem do demona, prób phishingu, luk w zabezpieczeniach przeglądarki i rozszerzeń stron trzecich. Podczas gdy specjaliści ds. technologii w Lightning Labs są poważnymi inżynierami, każda aplikacja z tak szerokimi uprawnieniami może być zaproszeniem do „pwned”.

LSAT

Tokeny uwierzytelniania usługi Lightning (LSAT) to ostateczny sposób na zintegrowanie Lightning z siecią, o którym będziemy rozmawiać. Nie, nie są sposobem na sprawdzenie, kto jest na tyle denerwujący, żeby się stać prawnik. Podstawową ideą LSATs jest użycie dokładnie określonych makaroniki w celu uwierzytelnienia użytkownika i zdefiniowania jego możliwości płatniczych w serwisie.

Zręcznie, protokół LSAT używa kodu HTTP 402, który jest kodem błędu po stronie klienta i oznacza albo „Płatność wymagana"Lub"zarezerwowane do wykorzystania w przyszłości”, w zależności od tego, kogo zapytasz (specyfikacja Lightning Labs LSAT jest niesamowita, ale paradoksalnie stwierdza, że ​​„ten dokument zakłada, że ​​nadeszła przyszłość”). Ten kod 402 służy do wywołania „biletu” — makaronika, który jednocześnie identyfikuje użytkownika i określa, w jaki sposób ten użytkownik może wchodzić w interakcję z usługą.

Pierwszą korzyścią wynikającą z LSAT jest to, że uwierzytelnianie i uprawnienia do płatności są realizowane w jednym kroku. Usługa rozpoznaje użytkownika oraz sposób, w jaki płatności do i od tego użytkownika mają działać, gdy tylko się pojawią. Żadnych nazw użytkowników, haseł ani ustalania kwot przy każdej wizycie. Czasami jest po prostu miło być znajomym.

Najsmaczniejsza ze wszystkich technologii integracji Lightning.

Źródło zdjęcia

Po drugie, te interfejsy API mogą określać płatności mierzone, podobnie jak satelity strumieniowe w Odtwarzacz podcastów Breez (chociaż używamy Keyend zamiast). To kolejny sposób na odrzucaj subskrypcje. Użytkownicy mogą płacić za to, z czego korzystają — niezależnie od tego, czy jest to podcast audio, strumieniowe wideo, gra, multimedia tekstowe — w dowolnej jednostce lub interwale, z dokładnością do sekundy.

LSAT mają ogromny potencjał i może nawet usunąć boty z mediów społecznościowych poprzez pobieranie mikropłatności za mikrointerakcje, które byłyby trywialne dla użytkowników, ale zaporowe dla botów.

Brzmi wspaniale! Rewolucyjna technologia, która blokuje boty i integruje Lightning z siecią! Alleluja! Jaki jest haczyk? Nie wiem, ale nie potrafię rozgryźć, jak LSATs istnieją od kilku lat, a mimo to nie mogę wymienić ani jednej głównej usługi, która je zaimplementowała. Czy to tylko kwestia efektów sieciowych i wszyscy czekają, aż wszyscy inni się zanurzą? A może jest jakieś głębsze, bardziej znaczące zahamowanie? Może ty, drogi czytelniku, możesz mnie na tym pouczyć.

Przyszłość jest przedłużeniem teraźniejszości

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.

Czy nie jest oczywiste, że przeznaczeniem Lightninga jest penetracja sieci i że sieć ma wykorzystywać Lightning jako wiodącą technologię płatności? Czy to tylko ja?

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.

Być może najlepsze jest to, że nie potrzebujemy żadnego centralnego standardu, aby powiedzieć nam, jak zintegrować Lightning i sieć. Każdy może wybrać technologię, która najlepiej odpowiada jego lokalnym potrzebom, i współpracować ze społecznością programistyczną, aby ją ulepszyć. Nowa sieć z obsługą Lightning będzie rosła organicznie od podstaw, tak jak powinna.

To jest gościnny post Roya Sheinfelda. Wyrażone opinie są całkowicie ich własnymi i niekoniecznie odzwierciedlają opinie BTC Inc. lub Bitcoin Magazyn.

Pierwotnym źródłem: Bitcoin Magazyn