Core Lightning: come il rebranding dell'implementazione di Blockstream parla della sua visione a lungo termine per la data intelligence di Bitcoin PlatoBlockchain. Ricerca verticale. Ai.

Core Lightning: come il rebranding dell'implementazione di Blockstream parla della sua visione a lungo termine per Bitcoin

Ora chiamata Core Lightning, l'implementazione Lightning Network di Blockstream cerca di essere lo standard interoperabile e incentrato sulle specifiche di Bitcoin.

La società di infrastrutture Bitcoin Blockstream ha recentemente rinominato la sua implementazione Lightning Network da c-lightning a Core Lightning (CLN) nel tentativo di evidenziare l'attenzione a lungo termine del progetto sull'interoperabilità e sul lavoro di specifica.

Il nome iniziale, che alludeva al linguaggio di programmazione C in cui è integrata l'implementazione, non rifletteva l'intento reale dell'azienda con il progetto. Ora, Core Lightning cerca di riflettere la proposta di valore dell'implementazione Blockstream.

"Ci auguriamo che il nuovo nome comunichi meglio l'attenzione della CLN sull'interoperabilità, sul lavoro di specifica e sull'obiettivo costante di fornire un'implementazione di riferimento con priorità sulla correttezza e sulla robustezza", ha affermato la società in un dichiarazione.

Perché esistono diverse implementazioni della rete Lightning?

La rete Lightning è un concetto astratto di ciò che, di fatto, sono molti canali Lightning diversi collegati tra loro. I canali di pagamento fulminei pongono le basi della rete poiché due partecipanti bloccano una quantità di bitcoin sullo strato base della rete Bitcoin per effettuare pagamenti off-chain rapidi ed economici tra di loro. Tuttavia, aprendo più canali con partecipanti diversi, i pagamenti possono essere instradati in questa “rete mesh”, da un partecipante all’altro fino a quando non viene trovato il destinatario finale di un pagamento Lightning.

Pertanto, l’astrazione che è “la rete del fulmine" richiede che diversi partecipanti comunichino tra loro in modo da poter instradare i reciproci pagamenti e consentire un'interazione senza attriti. Questa comunicazione avviene tra nodi che eseguono il software del protocollo Lightning e sono quindi in grado di inviare e ricevere pagamenti, tra le altre cose.

Mentre in Bitcoin esiste attualmente un software di nodo standard di fatto, Bitcoin Core, esiste più di un tipo di software Lightning Node attualmente popolare. Di conseguenza, è necessaria una serie di documenti che stabiliscano come questi diversi tipi di nodi Lightning – ovvero “implementazioni” – possano comunicare tra loro.

I Documenti Basis of Lightning Technology (BOLT). definire l'insieme di specifiche a cui tutte le implementazioni del nodo Lightning devono aderire per essere un partecipante stabile e conforme alla rete Lightning. Attualmente esistono 11 documenti BOLT che descrivono tutto, da come stabilire un canale di pagamento e finanziarlo con bitcoin a come richiedere un pagamento Lightning.

Naturalmente, il fatto che esistano diverse implementazioni Lightning significa anche che ci sono diverse offerte a disposizione degli utenti, che possono scegliere quale software eseguire in base alle loro esigenze specifiche. Ad alto livello, ci sono quattro principali implementazioni Lightning, LND, Core Lightning, Eclair e LDK, ciascuna orientata a casi d'uso specifici.

Core Lightning: costruito da BOLT

CLN, precedentemente c-lightning, è in uso in produzione sulla rete principale Bitcoin dall'inizio del 2018. Scritto nel linguaggio di programmazione C, che offre agli sviluppatori un elevato grado di controllo sul comportamento del loro codice anche a basso livello, CLN si concentra sull'efficienza e sulla fornitura agli sviluppatori e agli utenti di un sistema modulare e basato su plugin implementazione del protocollo di ridimensionamento Layer 2 di Bitcoin.

"Il nostro obiettivo è quello di offrire un'implementazione ad alte prestazioni, di livello aziendale e conforme alle specifiche", ha dichiarato lo sviluppatore Lightning di Blockstream, Rusty Russel. Bitcoin Magazine. "Ciò significa tradizionalmente che siamo più per utenti di fascia alta, aziende e sviluppatori su cui costruire."

CLN funziona solo su Linux e MacOS e richiede un'interfaccia locale o remota bitcoin versione 0.16 o successiva che è completamente collegata alla rete su cui è in esecuzione l'utente e da cui inoltra le transazioni. La potatura lo è parzialmente supportato.

Essendo un'implementazione leggera, CLN consente un elevato livello di personalizzazione in quanto consente all'utente di personalizzarlo e aggiungere solo le funzionalità che desidera o di cui ha bisogno. Gli sviluppatori possono interfacciarsi con il demone tramite metodi JSON-RPC personalizzati, consentendo loro di personalizzare in modo efficiente la funzionalità in base alle proprie esigenze tramite plug-in che possono accedere direttamente ai dettagli di basso livello.

La modularità, l'efficienza e la robustezza del codice del CLN comportano anche degli svantaggi. Christian Decker, ricercatore di Blockstream focalizzato sulle soluzioni di scalabilità per Bitcoin, disse durante l'incontro londinese di Bitcoin Devs del mese scorso che, aderendo alla filosofia UNIX di fare una cosa molto bene e non forzare le decisioni all'utente, CLN arriva in modo "nudo" e richiede una certa dedizione da parte dell'utente per farlo funzionare .

In particolare, secondo Russel, l'implementazione di Blockstream si concentra fortemente sul processo di specifica e genera gran parte del suo codice direttamente dalle specifiche BOLT. Sebbene ciò garantisca un'implementazione pienamente conforme alle specifiche, al team viene lasciato meno tempo per commercializzare il proprio lavoro e identifica questo come il motivo per cui vede meno coinvolgimento della comunità e condivisione dei nodi rispetto ad altre implementazioni.

“Siamo costruiti seguendo le specifiche Lightning BOLT, letteralmente!” Russel ha detto Bitcoin Magazine. “Ciò significa che ci preoccupiamo moltissimo (e, come squadra, ci siamo impegnati moltissimo) nel coordinare l’architettura dell’intera rete Lightning tramite le specifiche BOLT”.

Il team solitamente propone una nuova specifica alla comunità di sviluppo più ampia prima di aggiungerla al CLN nel tentativo di garantire la compatibilità a lungo termine tra le diverse implementazioni, richiedendo allo stesso tempo più occhi per rivedere, testare e commentare il suo codice prima che venga eventualmente trasformato in una nuova specifica. BOLT e diventa pronto per essere adottato da tutte le implementazioni.

"Parte del motivo per cui eseguiamo il processo di specifica e revisione delle implementazioni è che aiuta a identificare modi migliori di fare le cose: trovare bug, identificare problemi futuri", ha detto Lisa Neigut, ingegnere del protocollo Lightning presso Blockstream Bitcoin Magazine.

Data la sua efficienza e il suo ingombro leggero, CLN è probabilmente l'implementazione più adatta per i dispositivi con specifiche basse.

Il team di Blockstream ha inoltre sviluppato una serie di nuove funzionalità che estendono le attuali funzionalità dei BOLT, che spesso sono bozze di specifiche o proposte di specifiche, tra cui aperture di canali collaborativi, annunci di liquidità e BOLT 12. CLN offre all'utente la possibilità di provare queste specifiche imminenti.

"Abbiamo isolato le bozze delle specifiche Lightning sotto opzioni sperimentali", ha detto Russel Bitcoin Magazine. “Ma se sei più avventuroso, queste opzioni sperimentali ti danno un

informazioni su ciò che accadrà prossimamente su Lightning Network!”

L'apertura dei canali collaborativi, precedentemente chiamati "canali di finanziamento doppi", consente ai partecipanti di aprire in modo collaborativo un nuovo canale finanziare congiuntamente l'operazione di finanziamento del canale. Attualmente i canali sono aperti con un'operazione di finanziamento unilaterale da parte di un partecipante. Le aperture di canali collaborativi consentono anche CoinJoin distribuiti in un canale Lightning aperto.

"Puoi orchestrare il tuo CoinJoin con una serie di altri nodi Lightning", ha detto Neigut Bitcoin Magazine. "Lo fai in modo decentralizzato, quindi le uniche persone che sanno chi è coinvolto sono le persone che fanno effettivamente parte di quella transazione, quindi non esiste un coordinatore centrale che lo realizza."

Gli annunci di liquidità sfruttano anche l'apertura di canali collaborativi. Secondo un Blockstream post sul blog, "costituiscono un modo leggero per fornire la capacità di coordinare la distribuzione della liquidità attraverso la rete in modo decentralizzato e accessibile."

La funzionalità tenta di risolvere un problema comune in Lightning: la liquidità in entrata.

Gli annunci di liquidità ti consentono di “vedere tutte le persone che pubblicizzano che ti venderanno liquidità in entrata se aprirai loro un canale, il che è davvero interessante”, ha affermato Neigut.

BOLT 12 è un'altra bozza di specifica per portafogli e nodi Lightning con supporto sperimentale in CLN. La funzionalità proposta, denominata “offerte”, migliorerebbe le fatture BOLT 11 consentendo offerte riutilizzabili, mentre una fattura BOLT 11 può essere utilizzata solo una volta. Inoltre, mentre una fattura è esclusivamente una richiesta di pagamento, puoi utilizzare un'offerta anche per inviare, non solo ricevere, denaro.

Gli utenti CLN ora possono anche automatizzare le attività di gestione dei nodi con CLBOSS, uno strumento di "intelligenza artificiale" recentemente rilasciato che può decidere su quali nodi aprire i canali, aprire canali quando le tariffe sono basse e ci sono fondi sulla catena, regolare le tariffe di instradamento per essere competitivi con altri nodi, eseguire scambi di sottomarini tramite Boltz .exchange API e ribilancia automaticamente i canali.

Sebbene le diverse implementazioni dovrebbero essere incoraggiate a perseguire soluzioni autonome per i loro casi d'uso specifici rispettando le attuali specifiche BOLT 11, presentare una proposta di specifiche di accompagnamento per aiutare altre implementazioni a implementare la stessa funzionalità, o una simile, è generalmente una buona pratica, in quanto tale. una mossa presumibilmente soddisfa gli interessi a lungo termine dell'ampia e sempre crescente base di utenti di Lightning. Detto questo, il processo di specifica non è un compito facile da sopportare.

“Come processo è arduo e richiede molto tempo. Richiede coordinamento con altre persone con molte prospettive diverse”, ha affermato Neigut.

Di conseguenza, diverse aziende dedicano tempi e sforzi diversi a questo processo a seconda delle loro priorità individuali, che ovviamente differiscono. Mentre, secondo Russel, il team CLN ha dedicato la maggior parte del suo "impegno alle specifiche e ai dettagli di implementazione di basso livello e quasi nessuno sforzo alla sensibilizzazione degli sviluppatori o al marketing", Lightning Labs, la società dietro LND, ha spesso scelto di concentrarsi maggiormente risorse tecniche sulle nuove funzionalità e sulla risoluzione dei punti critici dei clienti piuttosto che sull'arduo processo di definizione delle specifiche.

LND: Lacune che la CLN può colmare?

LND è un'implementazione Lightning pensata per gli sviluppatori che si concentra sulla facilitazione dello sviluppo di applicazioni su di essa, ponendo quindi una forte enfasi sull'interazione degli sviluppatori, in particolare in un approccio standard alla comunicazione tramite API REST, che consentono uno sviluppo più semplice delle app, oltre a fornire documentazione chiara e un'esperienza di configurazione semplice.

"Vogliamo che gli sviluppatori siano in grado di prenderlo facilmente, integrarlo nel loro prodotto, creare app sopra e distribuirlo come portafoglio o nodo self-hosted", lo sviluppatore LND Oliver Gugger disse all'incontro londinese di Bitcoin Devs. “Portarlo alla plebe”.

Di conseguenza, LND si concentra su "avere un'ottima interfaccia per gli sviluppatori", ha aggiunto Gugger, abilitando gRPC e REST.

"LND ha una fantastica community, una configurazione semplice e un'ottima documentazione per gli sviluppatori", ha affermato Russel quando gli è stato chiesto perché secondo lui LND è l'implementazione Lightning più popolare.

LND ha visto il più grande coinvolgimento della comunità tra tutte le implementazioni e attualmente gestisce la maggior parte di tutti i nodi della rete. Alcune stime collocare la quota di LND sul totale dei nodi Lightning pubblici tra il 70% e il 90%.

LND vanta anche quello che è probabilmente il più grande team di sviluppo a tempo pieno. Di conseguenza, il team è riuscito a creare una vasta gamma di servizi a valore aggiunto attorno alla LND, come ad esempio Apertura e i servizi di liquidità Lightning Ciclo continuo ed Piscina.

Loop utilizza scambi sottomarini per collegare bitcoin on-chain e off-chain, semplificando lo spostamento di bitcoin dentro e fuori la rete Lightning. Esegue il bilanciamento automatizzato dei canali, scambi non custoditi nel rispetto della privacy, raggruppamento di transazioni opportunistiche con risparmio di commissioni e monitoraggio dei progressi degli scambi in volo.

Pool è un mercato peer-to-peer per i canali Lightning. Collega gli utenti che necessitano di accesso alla liquidità in entrata a coloro che dispongono di capitale da distribuire sulla rete Lightning consentendo a un partecipante alla rete Lightning di segnalarne la necessità e incentivando gli altri ad aprire canali con loro utilizzando il proprio capitale.

Poiché la LND si concentra tipicamente sulle nuove funzionalità e sull'assistenza clienti, il team CLN ha individuato una lacuna nel mercato che spera di colmare prestando maggiore attenzione al processo di specifica.

Secondo le specifiche o non secondo le specifiche

"Il team di Labs ha escogitato grandi cose", ha detto Neigut. “Semplicemente, come organizzazione, non sono stati eccezionali nello scrivere le specifiche per le cose che aggiungono. Un buon esempio di ciò è KeySend.”

KeySend consente a un nodo Lightning di inviare a qualcuno un pagamento Lightning avendo solo l'ID del nodo ricevente, il che significa che lo strumento non richiede fatture, che sono l'attuale standard de facto sul meccanismo di pagamento di Lightning.

"Lo hanno lanciato, molte persone hanno iniziato a usarlo, ma non lo hanno mai specificato completamente", ha aggiunto Neigut. “Quindi il CLN ha voluto poterlo sostenere. Uno dei membri del nostro team ha dovuto tornare indietro e capire come farlo funzionare semplicemente leggendo il codice e decodificandolo.

Una specifica alla fine è stata scritta dall'implementazione Lightning di Spiral, LDK, ha ricordato Neigut, dopo che il suo team ha decodificato il codice di Lightning Labs.

"E gli altri team dovevano semplicemente seguirli perché LND ha una base di installazione così ampia", ha detto. "Non è il processo più collaborativo."

"Il team di persone che lavorano sui prodotti di Lightning Labs è piuttosto solido", ha aggiunto Neigut. "Penso solo che stiano approfittando della loro posizione dominante sulla rete per non dover fare tutto questo lavoro extra perché se non lo fanno loro, lo farà qualcun altro perché la maggior parte dei nodi sulla rete esegue il loro codice."

Neigut ha affermato di essere già abituata al fatto che LND sia sotto i riflettori e sia l'implementazione "Lightning predefinita" - qualcosa che confessa di apprezzare come sviluppatore a causa del minor numero di richieste di assistenza clienti che riceve.

"Ma penso che otterremmo una dinamica di rete più sana se non ci fosse un'implementazione maggioritaria", ha aggiunto. “Penso che questo cambierebbe davvero il gioco in termini di quantità di collaborazione che tutti devono fare per spedire i propri contenuti su Lightning. E questo sarebbe salutare”.

Un'attenta attenzione alle specifiche è senza dubbio fondamentale per lo sviluppo open source in un ambiente di rete aperto. Su Lightning, tali specifiche costituiscono la base del protocollo e garantiscono l'interoperabilità delle diverse versioni che partecipano alla rete.

Tuttavia, mentre alcuni sostengono che i cambiamenti più importanti e le nuove aggiunte a un'implementazione Lightning dovrebbero avere una specifica di accompagnamento, altri potrebbero vedere le specifiche BOLT come un minimo indispensabile su cui ciascuna implementazione può creare le proprie nuove entusiasmanti funzionalità, che non necessariamente necessitano di essere riportato nella suite delle specifiche.

"Suo difficile creando una società di infrastrutture open source, quindi non sorprende che non sia d'accordo con tutte le priorità [di Lightning Labs]", ha affermato Russel. “Credo sinceramente che troveranno un modo sia per creare un flusso di reddito sostenibile sia per essere un partner affidabile nello sviluppo tecnico del Lightning Network; Non credo che nessuno voglia vedere la rete divisa in pezzi”.

Ignorare completamente il processo di specifica potrebbe portare all’emergere di sottoecosistemi molto diversi, che potrebbero danneggiare lo sviluppo e l’adozione del Lightning Network nel suo insieme se dovessero diventare non interoperabili. Ma come ha sottolineato Russel, non vi è alcuna indicazione che qualche implementazione stia facendo ciò oggi. Mantenere un'interazione coesa e interoperabile tra i nodi è fondamentale se vogliamo mantenere i dettagli di implementazione lontani dall'utente e quindi consentire una buona esperienza utente.

"Se [Lightning Labs] fosse il leader e fosse anche all'avanguardia nelle specifiche, penso che ci sarebbero un po' meno attriti riguardo all'aggiunta di nuove funzionalità, perché non sarebbe così difficile seguire quello che stanno facendo, ", ha detto Neigut. “Forse in futuro saranno maggiormente coinvolti nel processo di definizione delle specifiche. Penso che abbiano sicuramente ricevuto feedback da noi e dal resto della community sull'importanza del processo di specifica."

Parte della controversia e tensioni nel processo delle specifiche BOLT derivare da una e-mail condiviso su Twitter a fine febbraio, in cui il responsabile della liquidità Lightning presso Lightning Labs, Alex Bosworth, ha commentato BOLT 12 e il processo di specifica BOLT.

Bosworth ha scritto che il processo BOLT è un processo di standardizzazione arbitrario che non richiede il consenso delle persone e quindi rappresenta "più un insieme supponente di documenti controllati da un processo arbitrario che un trattato tra implementazioni indipendenti".

Lightning Labs più tardi chiarito che i commenti di Bosworth riflettono solo la sua opinione e non necessariamente quella dell'azienda.

Core Lightning: come il rebranding dell'implementazione di Blockstream parla della sua visione a lungo termine per la data intelligence di Bitcoin PlatoBlockchain. Ricerca verticale. Ai.
Bosworth ha probabilmente accennato a respingere la conformità con il processo delle specifiche ogni volta che è in conflitto con quelli che chiama "problemi attuali" in Lightning, poiché tali standard potrebbero non essere utilizzati dalla maggior parte della rete e quindi non dovrebbero garantire grandi sforzi di sviluppo, mentre questi problemi potrebbero rappresentare punti deboli della maggior parte degli utenti e dovrebbero pertanto avere la priorità. Fonte immagine.

Decker ha condiviso i suoi pensieri sui commenti di Bosworth e sul processo di specifica BOLT durante l'incontro londinese di Bitcoin Devs.

"Penso che queste siano dichiarazioni molto forti da parte di qualcuno che non ha mai partecipato a un singolo incontro sulle specifiche", ha detto. “C’è un po’ di controversia nel processo delle specifiche, ma questo è dovuto alla progettazione. Se un’implementazione fosse in grado di dettare l’aspetto dell’intera rete, ci ritroveremmo con una visione molto miope di ciò che la rete potrebbe essere e non saremmo in grado di soddisfare tutti i diversi casi d’uso che stiamo servendo”.

"E quindi sì, a volte il processo di specifica è frustrante, sono totalmente d'accordo con questo", ha aggiunto. “Abbiamo sicuramente opinioni diverse su come dovrebbe essere la rete. Ma attraverso questo processo di tesi, antitesi e sintesi arriviamo a un sistema che è molto più in grado di servire i nostri utenti che se un’implementazione dovesse farlo da sola”.

"Personalmente non lavoro sulle specifiche, quindi non mi sento qualificato per dare una risposta", ha detto Gugger durante l'incontro, commentando l'e-mail di Bosworth. “Volevo solo aggiungere che non sono necessariamente d'accordo con tutti i punti menzionati da Alex. Sicuramente lo avrei detto anche in un modo diverso. Penso che la mancanza di risorse per lavorare sulle specifiche a volte venga interpretata come un blocco di cose che non è l'intenzione e non è il nostro obiettivo, ovviamente. Vogliamo lavorare di più sulle specifiche, quindi spero che miglioreremo lì. È interessante osservare come la frustrazione a volte emerga in superficie. Grazie [Decker e lo sviluppatore ACINQ Bastien Teinturier] per tutto il lavoro svolto sulle specifiche. Anch’io devo riprendere, quindi farò del mio meglio”.

Russel ha anche commentato l'e-mail di Bosworth in a Thread di Twitter dove si è impegnato a dedicare più tempo al perfezionamento e al marketing della CLN, poiché ha affermato che LND non ha implementato Lightning per prima e non l'ha implementato al meglio, sebbene la sua comunità sia fantastica, ha aggiunto.

"A quanto pare hanno deciso di poter sfruttare la posizione dominante della rete nel controllo del protocollo, e il processo di specifica non è 'reale'", ha scritto nel thread. “Lightning Labs ha rivendicato la proprietà della rete Lightning in molti modi: sono stato riluttante a denunciarli in pubblico. Ma la rete e la comunità Lightning meritano di meglio”.

Russel non ha risposto alle domande di Bitcoin Magazine facendo riferimento a questo thread. Lightning Labs ha rifiutato di commentare.

"Nel 2016 provenivamo da tre direzioni diverse e abbiamo deciso di unire tutte le cose che abbiamo imparato durante questa fase di sperimentazione iniziale in un'unica specifica in modo da poter collaborare e interoperare", ha affermato Decker durante l'incontro. “A questa fase sperimentale deve sempre far seguito una proposta che sia introspettiva per tutti e realizzabile da tutti gli altri. A volte manca quella proposta formale e ciò impedisce alle altre implementazioni di fornire la propria revisione su quella funzionalità. Questa revisione è molto importante per garantire che funzioni per tutti e che sia il meglio che possiamo fare”.

"Come suggerisce il nome Lightning Network, trae moltissimo profitto dagli effetti di rete che otteniamo essendo compatibili, essendo in grado di interoperare e consentendo a tutte le implementazioni di giocare su un piano di parità", ha aggiunto in seguito.

Le implementazioni si completano a vicenda, non competono

Oltre a quella controversia molto specifica riguardante il processo di specifica, le implementazioni Lightning funzionano per lo più separatamente e poi insieme per portare le funzionalità migliori e più richieste sulla rete, garantendo un'esperienza utente complessivamente migliore.

Di conseguenza, la mossa di Blockstream di promuovere CLN come un'offerta conforme alle specifiche, modulare e leggera rappresenta un'alternativa per coloro che sono interessati a eseguire un'implementazione del nodo che si sforza di essere completamente interoperabile con il resto della rete e fornisce un'implementazione insieme unico di vantaggi a quelli che lo fanno.

Poiché le diverse implementazioni si sforzano di diventare la loro versione migliore e di soddisfare un caso d'uso specifico esplorando la propria proposta di valore, l'utente è in definitiva quello che trae vantaggio dall'emergere di opzioni maggiori e migliori.

Timestamp:

Di più da Bitcoin Magazine