Core Lightning: Hvordan Blockstreams implementering Rebrand taler til sin langsigtede vision for Bitcoin PlatoBlockchain Data Intelligence. Lodret søgning. Ai.

Core Lightning: Hvordan Blockstreams implementeringsrebrand taler til sin langsigtede vision for Bitcoin

Nu kaldet Core Lightning, Blockstreams Lightning Network-implementering søger at være Bitcoins interoperable, specifikationsfokuserede standard.

Bitcoin-infrastrukturvirksomheden Blockstream omdøbte for nylig sin Lightning Network-implementering fra c-lightning til Core Lightning (CLN) i et forsøg på at fremhæve projektets langsigtede fokus på interoperabilitet og specifikationsarbejde.

Det oprindelige navn, som hentydede til C-programmeringssproget, som implementeringen er indbygget i, afspejlede ikke virksomhedens egentlige hensigt med projektet. Nu søger Core Lightning at afspejle Blockstream-implementeringens værdiforslag.

"Vi håber, at det opdaterede navn bedre kommunikerer CLN's fokus på interoperabilitet, specifikationsarbejde og det igangværende mål om at levere en referenceimplementering med prioritet på korrekthed og robusthed," sagde virksomheden i en erklæring.

Hvorfor er der forskellige implementeringer af Lightning Network?

Lightning-netværket er et abstrakt begreb om, hvad der i virkeligheden er mange forskellige Lightning-kanaler forbundet med hinanden. Lynbetalingskanaler sætter grundlaget for netværket, da to deltagere låser et beløb af bitcoin på Bitcoin-netværkets basislag for at foretage hurtige og billige off-chain-betalinger indbyrdes. Men ved at åbne flere kanaler med forskellige deltagere, kan betalinger så dirigeres i dette "mesh-netværk", fra en deltager til den næste, indtil en endelig modtager af en Lightning-betaling er fundet.

Derfor er den abstraktion, der er "Lightning-netværket” kræver, at forskellige deltagere kommunikerer med hinanden, så de kan rute hinandens betalinger og muliggøre friktionsfri interaktion. Denne kommunikation sker mellem noder, der kører Lightning-protokolsoftwaren og derfor er i stand til blandt andet at sende og modtage betalinger.

Mens der i Bitcoin i øjeblikket er en de-facto standard nodesoftware, Bitcoin Core, er der mere end én type Lightning-node-software, der i øjeblikket er populær. Som følge heraf er der behov for et sæt dokumenter til at diktere, hvordan disse forskellige typer af Lightning-noder - også kaldet "implementeringer" - kan tale med hinanden.

Grundlag for Lightning Technology (BOLT) dokumenter definere det sæt specifikationer, som alle Lightning-knudeimplementeringer skal overholde for at være en stabil, kompatibel deltager i Lightning-netværket. Der er i øjeblikket 11 BOLT-dokumenter, der beskriver alt fra hvordan man etablerer en betalingskanal og finansierer den med bitcoin til hvordan man skal anmode om en Lightning-betaling.

Naturligvis betyder det faktum, at der er forskellige Lightning-implementeringer, også, at der er forskellige tilbud til rådighed for brugerne, og de kan vælge hvilken software de vil køre baseret på deres specifikke behov. På et højt niveau er der fire store Lightning-implementeringer, LND, Core Lightning, Eclair og LDK, der hver især er rettet mod specifikke brugssager.

Core Lightning: Bygget af BOLT

EN BÅD, tidligere c-lightning, har været i produktionsbrug på Bitcoin mainnet siden begyndelsen af ​​2018. Skrevet i programmeringssproget C, som giver udviklere en høj grad af kontrol over adfærden af ​​deres kode selv på et lavt niveau, CLN har et fokus om effektivitet samt om at give udviklere og brugere en modulær, plugin-baseret implementering af Bitcoins Layer 2-skaleringsprotokol.

"Vi sigter efter at være en højtydende, virksomhedskvalitet, spec-kompatibel implementering," fortalte Lightning-udvikler hos Blockstream, Rusty Russel, Bitcoin Magazine. "Det betyder traditionelt, at vi er mere for avancerede brugere, virksomheder og udviklere at bygge ovenpå."

EN BÅD fungerer kun på Linux og MacOS, og kræver en lokal eller fjernbetjening bitcoind version 0.16 eller nyere, der er fuldt opfanget af det netværk, som brugeren kører på, og videresender transaktioner fra. Beskæring er delvist understøttet.

Som en letvægtsimplementering muliggør CLN et stort tilpasningsniveau, da det giver brugeren mulighed for at gøre det til deres eget og kun tilføje de funktioner, de ønsker eller har brug for. Udviklere kan interface med dæmonen gennem brugerdefinerede JSON-RPC-metoder, hvilket giver dem mulighed for effektivt at tilpasse funktionalitet til deres behov gennem plugins, der kan få direkte adgang til detaljer på lavt niveau.

CLNs modularitet, effektivitet og kode robusthed kommer også med deres medfølgende ulemper. Christian Decker, en forsker hos Blockstream fokuserede på skaleringsløsninger til Bitcoin, sagde under London Bitcoin Devs-mødet i sidste måned, at ved at overholde UNIX-filosofien om at gøre én ting meget godt og ikke tvinge beslutninger på brugeren, kommer CLN på en "bare knogler" måde og kræver en vis dedikation fra brugeren for at få det til at fungere .

Navnlig fokuserer Blockstreams implementering stærkt på specifikationsprocessen og genererer meget af sin kode direkte ud af BOLT-specifikationerne, ifølge Russel. Selvom dette sikrer en fuldstændig spec-kompatibel implementering, har teamet mindre tid til at markedsføre sit arbejde og identificerer dette som årsagen til, at det ser mindre samfundsengagement og nodeandel end andre implementeringer.

"Vi er bygget ud fra Lightning BOLT-specifikationerne, bogstaveligt talt!" Russel fortalte Bitcoin Magazine. "Det betyder, at vi går meget op i (og som et team har lagt en enorm indsats) i at koordinere arkitekturen af ​​hele Lightning Network via BOLT-specifikationerne."

Holdet foreslår normalt en ny specifikation til det bredere udviklingsfællesskab, før det tilføjes til CLN i et forsøg på at sikre langsigtet kompatibilitet mellem forskellige implementeringer, mens de anmoder om flere øjne til at gennemgå, teste og kommentere dens kode, før den til sidst bliver omdannet til en ny BOLT og bliver klar til at blive vedtaget af alle implementeringer.

"En del af grunden til, at vi laver spec-and-review-across-implementations-processen er, at den hjælper med at identificere bedre måder at gøre tingene på - find fejl, identificer fremtidige problemer," fortalte Lisa Neigut, Lightning-protokolingeniør hos Blockstream. Bitcoin Magazine.

I betragtning af dets effektivitet og lette fodaftryk er CLN sandsynligvis den bedst egnede implementering til enheder med lav specifikation.

Blockstreams team har også udviklet et sæt af nye funktioner, der udvider BOLTs nuværende funktionalitet, som ofte er udkast til specifikationer eller specifikationer, herunder samarbejdskanalåbninger, likviditetsannoncer og BOLT 12. CLN giver brugeren mulighed for at prøve disse kommende specifikationer.

"Vi fjerner udkast til Lightning-specifikationen under eksperimentelle muligheder," fortalte Russel Bitcoin Magazine. "Men hvis du er mere eventyrlysten, giver de eksperimentelle muligheder dig en

indsigt i, hvad der kommer til Lightning Network næste gang!”

Samarbejdskanal åbner, tidligere kaldet "dobbelte finansieringskanaler", gør det muligt for deltagere at åbne en ny kanal i fællesskab ved at fælles finansiering af kanalfinansieringstransaktionen. I øjeblikket er kanaler åbne med en ensidig finansieringstransaktion af én deltager. Samarbejdskanalåbninger aktiverer også distribuerede CoinJoins til en Lightning-kanal åben.

"Du kan orkestrere din egen CoinJoin med en masse andre Lightning-noder," fortalte Neigut Bitcoin Magazine. "Du gør det decentraliseret, så de eneste mennesker, der ved, hvem der er involveret i det, er de mennesker, der faktisk er en del af den transaktion, så der er ingen central koordinator, der får det til at ske."

Likviditetsannoncer udnytter også samarbejdskanalåbninger. Ifølge en Blockstream blogindlæg, "de er en let måde at give mulighed for at koordinere likviditetsimplementering på tværs af netværket på en decentraliseret og tilgængelig måde."

Funktionen forsøger at løse et almindeligt problem i Lightning: indgående likviditet.

Likviditetsannoncer giver dig mulighed for at "se alle de mennesker, der reklamerer for, at de vil sælge dig indgående likviditet, hvis du åbner en kanal for dem, hvilket er virkelig spændende ting," sagde Neigut.

BOLT 12 er et andet udkast til specifikation for Lightning-punge og noder med eksperimentel understøttelse i CLN. Den foreslåede funktion, opfundet "tilbud", ville forbedre BOLT 11-fakturaer ved at aktivere genbrugelige tilbud, hvorimod en BOLT 11-faktura kun kan bruges én gang. Mens en faktura udelukkende er en betalingsanmodning, kan du desuden bruge et tilbud til også at sende, ikke kun modtage, penge.

CLN-brugere kan nu også automatisere deres nodehåndteringsopgaver med CLBOSS, et nyligt udgivet "kunstig intelligens"-værktøj, der kan beslutte, hvilke noder der skal åbnes kanaler til, åbne kanaler, når gebyrerne er lave, og der er on-chain midler, justere routinggebyrer for at være konkurrencedygtige med andre noder, udføre ubådsswaps via boltz .exchange API og automatisk rebalancere kanaler.

Mens forskellige implementeringer bør tilskyndes til at forfølge selvstændige løsninger til deres specifikke anvendelsestilfælde, mens de overholder de nuværende BOLT 11-specifikationer, er det generelt god praksis at fremsætte et ledsagende specifikationsforslag for at hjælpe andre implementeringer med at implementere den samme – eller en lignende – funktion, som sådan. et træk tilgodeser angiveligt de langsigtede interesser for Lightnings brede og stadigt voksende brugerbase. Når det er sagt, er spec-processen ikke en nem opgave at udholde.

”Som proces er det besværligt og tager meget tid. Det kræver koordinering med andre mennesker med mange forskellige perspektiver,” sagde Neigut.

Som et resultat dedikerer forskellige virksomheder forskellige mængder tid og kræfter til denne proces i henhold til deres individuelle prioriteter, som naturligvis er forskellige. Mens CLN-teamet ifølge Russel har brugt det meste af sin "indsats på specifikationerne og implementeringsdetaljerne på lavt niveau og næsten ingen indsats på udvikler-outreach eller marketing", har Lightning Labs, virksomheden bag LND, ofte valgt at fokusere mere ingeniørressourcer på nye funktioner og løsning af kunders smertepunkter end på den besværlige spec-proces.

LND: Huller CLN kan udfylde?

LND er en udvikler-første Lightning-implementering, der fokuserer på at lette udviklingen af ​​applikationer oven i det, og derved lægger stor vægt på udviklerinteraktion, især i en standardtilgang til kommunikation gennem REST API'er, som muliggør lettere app-udvikling, ud over at give klar dokumentation og en nem opsætningsoplevelse.

"Vi vil have, at udviklere nemt kan hente det, integrere det i deres produkt, bygge apps oven på det og distribuere det som en tegnebog eller en selv-hostet node," LND-udvikler Oliver Gugger sagde ved London Bitcoin Devs-mødet. "Bringer det til plebs."

Som et resultat fokuserer LND på "at have en fantastisk udviklergrænseflade," tilføjede Gugger ved at aktivere gRPC og REST.

"LND har et fantastisk fællesskab, nem opsætning og fantastisk udviklerdokumentation," sagde Russel, da han blev spurgt, hvorfor han troede, at LND er den mest populære Lightning-implementering.

LND har set det største samfundsengagement blandt alle implementeringer og kører i øjeblikket størstedelen af ​​alle netværksknuder. Nogle skøn placere LND's andel af det samlede offentlige Lightning-knudepunkt et sted mellem 70 % og 90 %.

LND kan også prale af, hvad der uden tvivl er det største udviklingsteam på fuld tid. Som følge heraf har teamet formået at opbygge et væld af værdiskabende tjenester omkring LND, som f.eks. Aperture og likviditetsydelserne Lightning Loop , pool.

Loop bruger ubådsswaps til at bygge bro mellem on-chain og off-chain bitcoin, hvilket gør det nemt at flytte bitcoin ind og ud af Lightning Network. Den udfører automatiseret kanalbalancering, privatlivs-forward ikke-depot-swaps, gebyrbesparende opportunistisk transaktionsbatching og fremskridtsovervågning af inflight swaps.

Pool er en peer-to-peer markedsplads for Lightning-kanaler. Det forbinder brugere, der har brug for adgang til indgående likviditet, med dem, der har kapital til at implementere på Lightning Network ved at gøre det muligt for en Lightning Network-deltager at signalere et behov for det og tilskynde andre til at åbne kanaler med dem ved at bruge deres kapital.

Med LNDs fokus typisk på nye funktioner og kundesupport, har CLN-teamet fundet et hul på den markedsplads, det håber at udfylde ved at være mere opmærksom på specifikationsprocessen.

Til Spec Eller Ikke Til Spec

"Laboratoriets team har fundet på fantastiske ting," sagde Neigut. "De har bare som organisation ikke været fantastiske med at skrive specifikationer for de ting, de tilføjer. Et godt eksempel på det er KeySend."

KeySend tillader en Lightning-knude at sende en Lightning-betaling til en person, der kun har den modtagende knudes ID, hvilket betyder, at værktøjet ikke kræver fakturaer, som er de aktuelle de-facto standard på Lightnings betalingsmekanisme.

"De lancerede det, mange mennesker begyndte at bruge det, men de specificerede det aldrig helt," tilføjede Neigut. "Så CLN ville gerne være i stand til at støtte det. Et af vores teammedlemmer måtte gå tilbage og finde ud af, hvordan man fik det til at fungere bare ved at læse deres kode og omvendt udvikle den."

En spec blev til sidst skrevet af Spirals Lightning-implementering, LDK, huskede Neigut, efter at dets team havde omvendt udviklet Lightning Labs' kode.

"Og de andre hold behøvede kun at følge med, fordi LND har så stor en installationsbase," sagde hun. "Det er ikke som den mest samarbejdsproces."

"Teamet af mennesker, der arbejder på Lightning Labs' ting, er ret solidt," tilføjede Neigut. "Jeg tror bare, de på en måde udnytter deres netværksdominans til ikke at skulle gøre alt dette ekstra arbejde, for hvis de ikke gør det, vil en anden gøre det, fordi størstedelen af ​​noderne på netværket kører deres kode."

Neigut sagde, at hun allerede er vant til, at LND er i søgelyset og er "standard Lightning"-implementeringen - noget hun indrømmer, at hun nyder som udvikler på grund af de færre kundesupportkrav, hun modtager.

"Men jeg tror, ​​at vi ville få en sundere netværksdynamik, hvis der ikke var nogen flertalsimplementering," tilføjede hun. "Jeg tror, ​​at det virkelig ville ændre spillet med hensyn til mængden af ​​samarbejde, alle skal gøre for at få deres ting sendt på Lightning. Og det ville være sundt.”

Omhyggelig opmærksomhed på specifikationer er uden tvivl central for open source-udvikling i et åbent netværksmiljø. På Lightning danner sådanne specifikationer grundlaget for protokollen og sikrer interoperabiliteten af ​​de forskellige versioner, der deltager i netværket.

Men mens nogle hævder, at store ændringer og nye tilføjelser til en Lightning-implementering bør have en ledsagende specifikation, vil andre måske se BOLT-specifikationerne som et absolut minimum, hvorpå hver implementering kan bygge deres egne spændende nye funktioner - som ikke nødvendigvis behøver at overføres tilbage til spec-pakken.

”Det er hårdt at skabe et open source-infrastrukturfirma, så det er ikke overraskende, at jeg ikke er enig i alle [Lightning Labs' prioriteter,» sagde Russel. "Jeg tror virkelig, at de vil finde en måde at både skabe en bæredygtig indkomststrøm og være en pålidelig partner i den tekniske udvikling af Lightning Network; Jeg tror ikke, der er nogen, der ønsker at se netværket splittes i stykker.”

Hvis man ser bort fra spec-processen fuldstændigt, kan det føre til fremkomsten af ​​vidt forskellige sub-økosystemer, hvilket kan skade udviklingen og adoptionen af ​​Lightning Network som helhed, hvis de bliver ikke-interoperable. Men som Russel fremhævede, er der intet, der tyder på, at nogen implementering gør det i dag. At opretholde en sammenhængende, interoperabel interaktion mellem noder er nøglen, hvis vi ønsker at holde implementeringsdetaljer abstraheret væk fra brugeren og derved muliggøre en god brugeroplevelse.

"Hvis [Lightning Labs] var førende, og de også var førende inden for specifikationer, tror jeg, at der ville være lidt mindre friktion omkring tilføjelse af nye funktioner, fordi det ikke ville være så svært at følge, hvad de laver, " sagde Neigut. "Måske bliver de mere involveret i spec-processen fremover. Jeg tror bestemt, de har fået feedback fra os og resten af ​​samfundet om, at spec-processen er vigtig."

En del af kontroversen og spændinger i BOLT-specifikationsprocessen stammer fra en e-mail delt på Twitter i slutningen af ​​februar, hvor chefen for Lightning-likviditet hos Lightning Labs, Alex Bosworth, kommenterede BOLT 12 og BOLT-specifikationsprocessen.

Bosworth skrev, at BOLT-processen er en vilkårlig standardiseringsproces, der ikke kræver folks samtykke og derfor repræsenterer "mere et holdningsbevidst sæt dokumenter, der kontrolleres af en vilkårlig proces, end det er en traktat mellem uafhængige implementeringer."

Lightning Labs senere afklaret at Bosworths kommentarer kun afspejler hans mening og ikke nødvendigvis virksomhedens.

Core Lightning: Hvordan Blockstreams implementering Rebrand taler til sin langsigtede vision for Bitcoin PlatoBlockchain Data Intelligence. Lodret søgning. Ai.
Bosworth antydede velsagtens at afvise overholdelse af spec-processen, når den er i konflikt med det, han kalder "aktuelle problemer" i Lightning, da sådanne standarder muligvis ikke bruges af størstedelen af ​​netværket og derfor ikke burde berettige meget udviklingsindsats, hvorimod disse problemer kunne repræsentere smertepunkter for flertallet af brugere og bør derfor prioriteres. Billede kilde.

Decker delte sine tanker om Bosworths kommentarer og om BOLT-specifikationsprocessen under London Bitcoin Devs-mødet.

"Jeg synes, det er meget stærke udtalelser fra en person, der aldrig har deltaget i et eneste spec-møde," sagde han. "Der er lidt uenighed i spec-processen, men det er designmæssigt. Hvis en implementering var i stand til at diktere, hvordan hele netværket ser ud, ville vi ende med et meget nærsynet syn på, hvad netværket kunne være, og vi ville ikke være i stand til at betjene alle de forskellige use cases, som vi betjener.”

"Og så ja, nogle gange er spec-processen frustrerende, det er jeg helt enig i," tilføjede han. ”Vi har bestemt forskellige holdninger til, hvordan netværket skal se ud. Men med denne afhandling, antitese og synteseproces kommer vi frem til et system, der er meget mere i stand til at tjene vores brugere, end hvis en implementering skulle gøre det alene."

"Jeg arbejder personligt ikke med specifikationerne, så jeg føler mig ikke kvalificeret til at give et svar," sagde Gugger på mødet og kommenterede Bosworths e-mail. “Jeg ville bare tilføje, at jeg ikke nødvendigvis er enig i alle de punkter, som Alex nævnte. Jeg ville bestemt også have sagt det på en anden måde. Jeg tror, ​​at mangel på ressourcer til at arbejde med specifikationerne nogle gange tolkes som, at vi blokerer ting, hvilket ikke er hensigten og selvfølgelig ikke vores mål. Vi ønsker at arbejde mere med specifikationerne, så jeg håber, at vi vil forbedre os der. Det er en interessant ting at observere, hvordan den frustration nogle gange kommer op til overfladen. Tak [Decker og ACINQ-udvikler Bastien Teinturier] for alt det arbejde, du gør med specifikationerne. Jeg skal også samle op, så jeg vil gøre mit bedste."

Russel kommenterede også Bosworths e-mail i en Twitter tråd hvor han lovede at bruge mere tid på at polere og markedsføre CLN, da han sagde, at LND ikke implementerede Lightning først og ikke implementerede det bedst - selvom dets fællesskab er fantastisk, tilføjede han.

"Det viser sig, at de har besluttet, at de kan udnytte netværksdominans til protokolkontrol, og spec-processen er ikke 'rigtig'," skrev han i tråden. “Lightning Labs har på mange måder hævdet ejerskabet af Lightning-netværket: Jeg har været tilbageholdende med at kalde dem ud offentligt. Men lynnetværket og fællesskabet fortjener bedre.”

Russel svarede ikke på spørgsmål fra Bitcoin Magazine henviser til denne tråd. Lightning Labs afviste at kommentere.

"Tilbage i 2016 kom vi fra tre forskellige retninger og besluttede at samle alle de ting, vi lærte under denne indledende eksperimenteringsfase, i en enkelt specifikation, så vi kunne samarbejde og interoperere," sagde Decker på mødet. ”Denne forsøgsfase skal altid følges op af et forslag, der er introspektabelt af alle andre og kan implementeres af alle andre. Nogle gange mangler det formelle forslag, og det forhindrer de andre implementeringer i at give deres egen anmeldelse af den funktion. Denne anmeldelse er meget vigtig for at sikre, at den fungerer for alle, og at det er det bedste, vi kan lave det."

"Som navnet Lightning Network antyder, profiterer det i høj grad på de netværkseffekter, vi får ved at være kompatible, ved at være i stand til at fungere sammen og gøre det muligt for alle implementeringer at spille på lige vilkår," tilføjede han senere.

Implementeringer supplerer hinanden, de konkurrerer ikke

Udover den meget specifikke kontrovers vedrørende specifikationsprocessen, fungerer Lightning-implementeringer for det meste separat og derefter sammen for at bringe de bedste og mest efterspurgte funktioner til netværket, hvilket sikrer en samlet bedre brugeroplevelse.

Som et resultat heraf kommer Blockstreams træk til at skubbe CLN som et spec-kompatibelt, modulært og let tilbud som et alternativ for dem, der er interesseret i at køre en nodeimplementering, der stræber efter at være fuldstændig interoperabel med resten af ​​netværket og giver en unikke fordele til dem, der gør.

Da forskellige implementeringer stræber efter at blive deres bedste version og imødekomme en specifik use case ved at udforske deres eget værdiforslag, er det i sidste ende brugeren, der får gavn af, efterhånden som flere og bedre muligheder dukker op.

Tidsstempel:

Mere fra Bitcoin Magazine