Core Lightning: How Blockstream’s Implementation Rebrand Speaks To Its Long-Term Vision For Bitcoin PlatoBlockchain Data Intelligence. Vertical Search. Ai.

Core Lightning: cum rebrand-ul de implementare a Blockstream se referă la viziunea sa pe termen lung pentru Bitcoin

Acum numită Core Lightning, implementarea lui Blockstream Lightning Network încearcă să fie standardul interoperabil, centrat pe specificații, al Bitcoin.

Compania de infrastructură Bitcoin Blockstream și-a redenumit recent implementarea Lightning Network de la c-lightning la Core Lightning (CLN) în încercarea de a evidenția focalizarea pe termen lung a proiectului asupra interoperabilității și specificațiilor.

Numele inițial, care făcea aluzie la limbajul de programare C în care este încorporată implementarea, nu reflecta intenția reală a companiei cu proiectul. Acum, Core Lightning încearcă să reflecte propunerea de valoare a implementării Blockstream.

„Sperăm că numele reîmprospătat comunică mai bine concentrarea CLN pe interoperabilitate, munca de specificare și obiectivul în curs de a oferi o implementare de referință cu prioritate pe corectitudine și robustețe”, a spus compania într-un declaraţie.

De ce există implementări diferite ale rețelei Lightning?

Rețeaua Lightning este un concept abstract despre ceea ce sunt, de fapt, multe canale Lightning diferite conectate între ele. Canalele de plată fulger stabilesc baza rețelei, deoarece doi participanți blochează o cantitate de bitcoin pe stratul de bază al rețelei Bitcoin pentru a efectua plăți rapide și ieftine în afara lanțului între ei. Cu toate acestea, prin deschiderea mai multor canale cu participanți diferiți, plățile pot fi apoi direcționate în această „rețea mesh”, de la un participant la altul până când este găsit un destinatar final al unei plăți Lightning.

Prin urmare, abstracția care este „Rețeaua Lightning” presupune diferiți participanți să comunice între ei, astfel încât să își poată direcționa plățile reciproc și să permită interacțiunea fără fricțiuni. Această comunicare are loc între nodurile care rulează software-ul de protocol Lightning și, prin urmare, sunt capabili să trimită și să primească plăți, printre altele.

În timp ce în Bitcoin există în prezent un software de nod standard de facto, Bitcoin Core, există mai mult de un tip de software pentru nod Lightning care este popular în prezent. În consecință, este nevoie de un set de documente care să dicteze modul în care aceste diferite tipuri de noduri Lightning – alias „implementații” – pot vorbi între ele.

Documentele de bază ale tehnologiei fulgerului (BOLT). definiți setul de specificații pe care trebuie să le respecte toate implementările nodurilor Lightning pentru a fi un participant stabil și compatibil în rețeaua Lightning. În prezent, există 11 documente BOLT care descriu totul, de la cum să stabiliți un canal de plată și să îl finanțați cu bitcoin până la cum ar trebui să solicitați o plată Lightning.

Desigur, faptul că există diferite implementări Lightning înseamnă, de asemenea, că există diferite oferte disponibile pentru utilizatori și aceștia pot alege orice software pe care să îl ruleze în funcție de nevoile lor specifice. La un nivel înalt, există patru implementări majore Lightning, LND, Core Lightning, Eclair și LDK, fiecare orientată către cazuri de utilizare specifice.

Core Lightning: Construit din BOLT

CLN, anterior c-lightning, a fost utilizat în producție pe rețeaua principală Bitcoin de la începutul anului 2018. Scris în limbajul de programare C, care oferă dezvoltatorilor un grad ridicat de control asupra comportamentului codului lor chiar și la un nivel scăzut, CLN are un accent. asupra eficienței, precum și asupra furnizării dezvoltatorilor și utilizatorilor cu un sistem modular, bazate pe pluginuri implementarea protocolului de scalare Layer 2 al Bitcoin.

„Ne propunem să fim o implementare de înaltă performanță, de nivel enterprise, care respectă specificațiile”, a declarat Rusty Russel, dezvoltator Lightning de la Blockstream. Revista Bitcoin. „Asta înseamnă în mod tradițional că suntem mai mult pentru utilizatorii de vârf, companiile și dezvoltatorii pe care să le construim.”

CLN doar funcționează pe Linux și MacOS și necesită un local sau de la distanță bitcoind versiunea 0.16 sau o versiune superioară, care este complet prinsă de rețeaua pe care rulează utilizatorul și de la care transmite tranzacțiile. Tunderea este parțial suportat.

Fiind o implementare ușoară, CLN permite un nivel mare de personalizare, deoarece permite utilizatorului să-și aleagă și să adauge doar caracteristicile de care doresc sau de care are nevoie. Dezvoltatorii pot interfața cu demonul prin metode JSON-RPC personalizate, permițându-le să personalizeze eficient funcționalitatea în funcție de nevoile lor prin pluginuri care pot accesa direct detalii de nivel scăzut.

Modularitatea, eficiența și robustețea codului CLN vin și cu dezavantajele lor. Christian Decker, cercetător la Blockstream, s-a concentrat pe scalarea soluțiilor pentru Bitcoin, a spus în timpul întâlnirii de la Londra Bitcoin Devs de luna trecută, că, prin aderarea la filozofia UNIX de a face un lucru foarte bine și de a nu forța luarea deciziilor asupra utilizatorului, CLN vine într-un mod „bare bones” și necesită o anumită dedicare din partea utilizatorului pentru a-l pune în funcțiune. .

În special, implementarea Blockstream se concentrează în mare măsură pe procesul de specificare și generează o mare parte din codul său direct din specificațiile BOLT, potrivit lui Russel. Deși acest lucru asigură o implementare pe deplin conformă cu specificațiile, echipa are mai puțin timp pentru a-și comercializa munca și identifică acest lucru drept motivul pentru care vede mai puțin implicarea comunității și cota de noduri decât alte implementări.

„Suntem construiți din specificațiile Lightning BOLT, la propriu!” a spus Russel Revista Bitcoin. „Aceasta înseamnă că ne pasă foarte mult (și, ca echipă, am depus un efort enorm) în coordonarea arhitecturii întregii rețele Lightning prin specificațiile BOLT.”

Echipa propune de obicei o nouă specificație comunității mai largi de dezvoltare înainte de a o adăuga la CLN, în încercarea de a asigura compatibilitatea pe termen lung între diferite implementări, solicitând în același timp mai mulți ochi să revizuiască, să testeze și să comenteze codul său înainte de a fi transformat în cele din urmă într-un nou BOLT și devine gata pentru a fi adoptat de toate implementările.

„O parte din motivul pentru care facem procesul de implementare a specificațiilor și revizuirii este că ajută la identificarea unor modalități mai bune de a face lucrurile – găsirea erorilor, identificarea problemelor viitoare”, a declarat Lisa Neigut, inginer de protocol Lightning la Blockstream. Revista Bitcoin.

Având în vedere eficiența și amprenta sa ușoară, CLN este probabil cea mai potrivită implementare pentru dispozitivele cu specificații reduse.

Echipa Blockstream a dezvoltat, de asemenea, un set de noi funcții care extind funcționalitatea actuală a BOLT, care sunt adesea proiecte de specificații sau propuneri de specificații, inclusiv deschideri de canale de colaborare, anunțuri de lichiditate și BOLT 12. CLN oferă utilizatorului opționalitatea de a încerca aceste specificații viitoare.

„Înlăturăm părți preliminare ale specificației Lightning în cadrul opțiunilor experimentale”, a spus Russel Revista Bitcoin. „Dar dacă ești mai aventuros, acele opțiuni experimentale îți oferă un

perspectivă asupra a ceea ce urmează la Lightning Network!”

Deschiderea canalului colaborativ, denumit anterior „canale duble de finanțare”, le permite participanților să deschidă în colaborare un nou canal prin finanțarea în comun a tranzacției de finanțare prin canal. În prezent, canalele sunt deschise cu o tranzacție de finanțare unilaterală de către un participant. Deschiderea canalului de colaborare permite, de asemenea, CoinJoins distribuite într-un canal Lightning deschis.

„Puteți să vă orchestrați propriul CoinJoin cu o grămadă de alte noduri Lightning”, a spus Neigut Revista Bitcoin. „O faci descentralizat, astfel încât singurii oameni care știu despre cine este implicat în asta sunt oamenii care fac de fapt parte din acea tranzacție, așa că nu există niciun coordonator central care să facă acest lucru.”

Anunțurile de lichiditate stimulează, de asemenea, deschiderea canalului de colaborare. Potrivit unui Blockstream blog, „sunt o modalitate ușoară de a oferi capacitatea de a coordona implementarea lichidității în rețea într-un mod descentralizat și accesibil.”

Caracteristica încearcă să rezolve o problemă comună în Lightning: lichiditatea de intrare.

Reclamele de lichiditate vă permit să „vedeți toți oamenii care fac reclamă că vă vor vinde lichiditate de intrare dacă le deschideți un canal, ceea ce este ceva cu adevărat interesant”, a spus Neigut.

BULT 12 este un alt proiect de specificație pentru portofelele și nodurile Lightning cu suport experimental în CLN. Caracteristica propusă, numită „oferte”, ar îmbunătăți facturile BOLT 11 prin activarea ofertelor reutilizabile, în timp ce o factură BOLT 11 poate fi utilizată o singură dată. În plus, în timp ce o factură este exclusiv o cerere de plată, poți folosi o ofertă pentru a trimite, nu doar a primi bani.

Utilizatorii CLN își pot automatiza acum și sarcinile de gestionare a nodurilor CLBOSS, un instrument de „inteligență artificială” lansat recent, care poate decide spre ce noduri să deschidă canalele, deschide canalele când taxele sunt mici și există fonduri în lanț, ajustează taxele de rutare pentru a fi competitive cu alte noduri, efectuează schimburi submarine prin boltz .Exchange API și reechilibrați automat canalele.

Deși diferitele implementări ar trebui încurajate să urmărească soluții de sine stătătoare pentru cazurile lor specifice de utilizare, respectând în același timp specificațiile actuale BOLT 11, prezentarea unei propuneri de specificații însoțitoare pentru a ajuta alte implementări să implementeze aceeași – sau o caracteristică similară – este în general o bună practică, ca atare. se presupune că o mișcare răspunde intereselor pe termen lung ale bazei de utilizatori largi și în continuă creștere a lui Lightning. Acestea fiind spuse, procesul de specificații nu este o sarcină ușor de suportat.

„Ca proces, este dificil și necesită mult timp. Necesită coordonare cu alți oameni cu multe perspective diferite”, a spus Neigut.

Ca rezultat, diferite companii dedică diferite cantități de timp și efort acestui proces în funcție de prioritățile lor individuale, care diferă în mod natural. În timp ce, potrivit lui Russel, echipa CLN și-a petrecut cea mai mare parte „efortului pe specificații și detalii de implementare la nivel scăzut și aproape niciun efort pentru dezvoltarea sau marketingul dezvoltatorilor”, Lightning Labs, compania din spatele LND, a ales adesea să se concentreze mai mult. resurse de inginerie pe funcții noi și soluționarea punctelor dureroase ale clienților decât pe procesul dificil de specificare.

LND: Lacunele pe care CLN poate umple?

LND este o implementare Lightning creată de dezvoltator, care se concentrează pe facilitarea dezvoltării de aplicații pe deasupra, punând astfel un accent puternic pe interacțiunea dezvoltatorului, în special într-o abordare standard a comunicării prin API-urile REST, care permit dezvoltarea mai ușoară a aplicațiilor, pe lângă faptul că oferă documentație clară și o experiență de configurare ușoară.

„Vrem ca dezvoltatorii să-l poată prelua cu ușurință, să îl integreze în produsul lor, să creeze aplicații pe deasupra și să le distribuie ca portofel sau ca nod auto-găzduit”, dezvoltatorul LND Oliver Gugger a spus la întâlnirea de la Londra Bitcoin Devs. „Adu-l plebei.”

Drept urmare, LND se concentrează pe „a avea o interfață excelentă pentru dezvoltatori”, a adăugat Gugger, activând gRPC și REST.

„LND are o comunitate grozavă, o configurare ușoară și o documentație excelentă pentru dezvoltatori”, a spus Russel când a fost întrebat de ce crede că LND este cea mai populară implementare Lightning.

LND a înregistrat cea mai mare implicare a comunității dintre toate implementările și în prezent rulează majoritatea nodurilor de rețea. Câteva estimări puneți ponderea LND din totalul nodurilor Lightning publice între 70% și 90%.

LND se mândrește, de asemenea, cu ceea ce este probabil cea mai mare echipă de dezvoltare cu normă întreagă. Ca rezultat, echipa a reușit să construiască o multitudine de servicii cu valoare adăugată în jurul LND, cum ar fi Deschidere și serviciile de lichiditate Lightning Buclă și Piscină.

Loop folosește swap-uri submarine pentru a conecta bitcoin-ul în lanț și în afara lanțului, ceea ce face ușoară mutarea bitcoin în și în afara rețelei Lightning. Ea efectuează echilibrarea automată a canalelor, schimburi fără custodie de confidențialitate, loturi de tranzacții oportuniste care economisesc taxe și monitorizarea progresului swapurilor în timpul zborului.

Pool este o piață peer-to-peer pentru canalele Lightning. Acesta conectează utilizatorii care au nevoie de acces la lichiditatea de intrare cu cei care au capital de implementat în Lightning Network, permițând unui participant Lightning Network să semnaleze nevoia de aceasta și stimulând pe alții să deschidă canale folosind capitalul lor.

Având în vedere că LND se concentrează în mod obișnuit asupra noilor funcții și asistență pentru clienți, echipa CLN a găsit un gol pe piață pe care spera să o umple acordând o atenție mai mare procesului de specificații.

Pentru a specifica sau nu pentru a specifica

„Echipa Labs a venit cu lucruri grozave”, a spus Neigut. „Pur și simplu, ca organizație, nu au fost uimitoare în ceea ce privește scrisul de specificații pentru lucrurile pe care le adaugă. Un bun exemplu în acest sens este KeySend.”

KeySend permite unui nod Lightning să trimită cuiva o plată Lightning având doar ID-ul nodului receptor, ceea ce înseamnă că instrumentul nu necesită facturi, care sunt actualele standard de facto privind mecanismul de plată al lui Lightning.

„L-au lansat, mulți oameni au început să-l folosească, dar nu l-au specificat niciodată pe deplin”, a adăugat Neigut. „Așadar, CLN a vrut să-l poată susține. Unul dintre membrii echipei noastre a trebuit să revină și să-și dea seama cum să-l facă să funcționeze doar citindu-și codul și proiectând-o.”

O specificație a fost scrisă în cele din urmă de implementarea Lightning de la Spiral, LDK, și-a amintit Neigut, după ce echipa sa a realizat inginerie inversă a codului Lightning Labs.

„Și celelalte echipe au trebuit să urmeze doar pentru că LND are o bază de instalare atât de mare”, a spus ea. „Nu este cel mai colaborativ proces.”

„Echipa de oameni care lucrează la lucrurile Lightning Labs este destul de solidă”, a adăugat Neigut. „Cred că profită de dominația lor în rețea pentru a nu fi nevoiți să facă toată această muncă suplimentară, deoarece, dacă nu o fac, altcineva o va face, deoarece majoritatea nodurilor din rețea își execută codul.”

Neigut a spus că este deja obișnuită ca LND să fie în centrul atenției și să fie implementarea „implicit Lightning” - ceva de care mărturisește că îi place ca dezvoltator din cauza mai puține solicitări de asistență pentru clienți pe care le primește.

„Dar cred că am obține o dinamică a rețelei mai sănătoasă dacă nu ar exista o implementare majoritară”, a adăugat ea. „Cred că asta ar schimba într-adevăr jocul în ceea ce privește cantitatea de colaborare pe care toată lumea trebuie să o facă pentru a-și livra lucrurile pe Lightning. Și asta ar fi sănătos.”

Atenția atentă la specificații este, probabil, esențială pentru dezvoltarea open-source într-un mediu de rețea deschisă. Pe Lightning, astfel de specificații formează baza protocolului și asigură interoperabilitatea diferitelor versiuni care participă la rețea.

Cu toate acestea, în timp ce unii susțin că modificările majore și noile adăugări la o implementare Lightning ar trebui să aibă o specificație însoțitoare, alții ar putea vedea specificațiile BOLT ca un minim strict pe care fiecare implementare își poate construi propriile caracteristici noi interesante - care nu ar trebui neapărat să fie să fie portat înapoi în suita de specificații.

"Este greu creând o companie de infrastructură open-source, așa că nu este surprinzător că nu sunt de acord cu toate prioritățile [Lightning Labs]”, a spus Russel. „Cred cu adevărat că vor găsi o modalitate atât de a crea un flux de venit durabil, cât și de a fi un partener de încredere în dezvoltarea tehnică a rețelei Lightning; Nu cred că cineva vrea să vadă rețeaua împărțită în bucăți.”

Nerespectarea completă a procesului de specificații ar putea duce la apariția unor sub-ecosisteme foarte diferite, care ar putea afecta dezvoltarea și adoptarea rețelei Lightning în ansamblu, dacă ar deveni neinteroperabile. Dar, după cum a subliniat Russel, nu există niciun indiciu că vreo implementare face asta astăzi. Menținerea unei interacțiuni coezive și interoperabile între noduri este esențială dacă dorim să păstrăm detaliile de implementare îndepărtate de utilizator și, astfel, să oferim o experiență bună pentru utilizator.

„Dacă [Lightning Labs] ar fi lider și ar fi lider și în specificații, cred că ar fi puțin mai puțină frecare în legătură cu adăugarea de noi funcții, pentru că nu ar fi la fel de dificil să urmărești ceea ce fac, ” a spus Neigut. „Poate că vor fi mai implicați în procesul de specificații în continuare. Cred că au primit cu siguranță feedback de la noi și de la restul comunității că procesul de specificații este important.”

O parte a controversei și tensiuni în procesul de specificare BOLT provine din un email distribuit pe Twitter la sfârșitul lunii februarie, în care șeful de lichiditate Lightning la Lightning Labs, Alex Bosworth, a comentat despre BOLT 12 și despre procesul de specificații BOLT.

Bosworth a scris că procesul BOLT este un proces de standardizare arbitrar care nu necesită consimțământul oamenilor și, prin urmare, reprezintă „mai mult un set de documente cu opinii controlate de un proces arbitrar decât un tratat între implementări independente”.

Lightning Labs mai târziu clarificat că comentariile lui Bosworth reflectă doar opinia sa și nu neapărat pe cea a companiei.

Core Lightning: How Blockstream’s Implementation Rebrand Speaks To Its Long-Term Vision For Bitcoin PlatoBlockchain Data Intelligence. Vertical Search. Ai.
Bosworth a sugerat, fără îndoială, să respingă conformitatea cu procesul de specificații ori de câte ori acesta intră în conflict cu ceea ce el numește „probleme curente” în Lightning, deoarece astfel de standarde ar putea să nu fie utilizate de majoritatea rețelei și, prin urmare, nu ar trebui să justifice un efort de dezvoltare mare, în timp ce aceste probleme ar putea reprezenta punctele dure ale majorității utilizatorilor și, prin urmare, ar trebui să fie prioritizate. Sursă de imagini.

Decker și-a împărtășit gândurile despre comentariile lui Bosworth și despre procesul de specificații BOLT în timpul întâlnirii de la Londra Bitcoin Devs.

„Cred că acestea sunt declarații foarte puternice ale cuiva care nu a participat niciodată la o singură întâlnire cu specificațiile”, a spus el. „Există o mică dispută în procesul de specificații, dar asta este prin proiectare. Dacă o implementare ar fi capabilă să dicteze cum arată întreaga rețea, am ajunge cu o viziune foarte miopă asupra a ceea ce ar putea fi rețeaua și nu am fi capabili să deservim toate cazurile de utilizare diferite pe care le deservim.”

„Și da, uneori procesul de specificații este frustrant, sunt total de acord cu asta”, a adăugat el. „Cu siguranță avem opinii diferite despre cum ar trebui să arate rețeaua. Dar, prin acest proces de teză, antiteză și sinteză, găsim un sistem care este mult mai capabil să deservească utilizatorii noștri decât dacă o implementare ar face-o singură.”

„Eu personal nu lucrez la specificații, așa că nu mă simt calificat să dau un răspuns”, a spus Gugger la întâlnire, comentând e-mailul lui Bosworth. „Voiam doar să adaug că nu sunt neapărat de acord cu toate punctele pe care le-a menționat Alex. Cu siguranță aș fi spus-o și într-un mod diferit. Cred că lipsa resurselor pentru a lucra la specificații este uneori interpretată ca blocarea lucrurilor care nu este intenția și nu scopul nostru, desigur. Vrem să lucrăm mai mult la specificații, așa că sper că ne vom îmbunătăți acolo. Este un lucru interesant de observat cum acea frustrare iese uneori la suprafață. Vă mulțumim [Decker și ACINQ Developer Bastien Teinturier] pentru toată munca pe care o faceți la specificații. Trebuie să ridic și eu, așa că voi face tot posibilul.”

Russel a comentat și e-mailul lui Bosworth într-un Twitter thread unde s-a angajat să petreacă mai mult timp pentru lustruirea și comercializarea CLN, deoarece a spus că LND nu a implementat Lightning mai întâi și nu l-a implementat cel mai bine - deși comunitatea sa este grozavă, a adăugat el.

„Se pare că au decis că pot valorifica dominația rețelei în controlul protocolului, iar procesul de specificații nu este „real””, a scris el în thread. „Lightning Labs și-a revendicat proprietatea asupra rețelei Lightning în multe feluri: am fost reticent să-i spun în public. Dar rețeaua fulgerului și comunitatea merită mai bine.”

Russel nu a răspuns la întrebările de la Revista Bitcoin referindu-se la acest thread. Lightning Labs a refuzat să comenteze.

„În 2016, am venit din trei direcții diferite și am decis să unim toate lucrurile pe care le-am învățat în această etapă inițială de experimentare într-o singură specificație, astfel încât să putem colabora și interopera”, a spus Decker la întâlnire. „Această fază experimentală trebuie să fie întotdeauna urmată de o propunere care să fie introspectabilă pentru toți ceilalți și care poate fi implementată de toți ceilalți. Uneori, acea propunere oficială lipsește și asta împiedică celelalte implementări să-și dea propria evaluare asupra acestei caracteristici. Această revizuire este foarte importantă pentru a ne asigura că funcționează pentru toată lumea și că este cel mai bun lucru pe care îl putem face.”

„Așa cum sugerează și numele Lightning Network, profită foarte mult din efectele de rețea pe care le obținem fiind compatibile, fiind capabile să interoperați și permițând tuturor implementărilor să se desfășoare pe condiții de concurență echitabile”, a adăugat el mai târziu.

Implementările se completează reciproc, nu concurează

Pe lângă această controversă foarte specifică cu privire la procesul de specificare, implementările Lightning funcționează în mare parte separat și apoi împreună pentru a aduce cele mai bune și mai solicitate funcții în rețea, asigurând o experiență generală mai bună pentru utilizator.

Ca urmare, trecerea Blockstream de a împinge CLN ca o ofertă conformă cu specificațiile, modulară și ușoară vine ca o alternativă pentru cei interesați să ruleze o implementare a nodului care se străduiește să fie complet interoperabil cu restul rețelei și oferă o set unic de beneficii celor care o fac.

Pe măsură ce diferitele implementări se străduiesc să devină cea mai bună versiune a lor și să răspundă unui anumit caz de utilizare prin explorarea propriei propuneri de valoare, utilizatorul este în cele din urmă cel care beneficiază pe măsură ce apar opțiuni mai mari și mai bune.

Timestamp-ul:

Mai mult de la Revista Bitcoin