Cosmos è uno dei più famosi progetti blockchain Layer0, permette cioè di costruire blockchain di base o applicazioni decentralizzate utilizzando Tendermint e l’SDK. Ma cosa sono questi strumenti e come possiamo utilizzarli?
Se almeno saltuariamente avete dato un’occhiata al panorama blockchain e criptovalute, probabilmente vi sarete imbattuti spesso nei termini “tendermint” e “Cosmos SDK”. Si tratta di un insieme di strumenti e framework che possono essere utilizzati per costruire blockchain di base, applicazioni decentralizzate (dApp), monete e così via.
Quando si parla di questo argomento, i contenuti che si trovano online possono spesso essere fuorvianti. Il motivo principale è che i materiali in questione cercano di presentare queste tecnologie in modo diretto, senza approfondire la filosofia che sta alla base della loro applicazione.
A questo proposito inizieremo a esaminare l’architettura della blockchain. Dopodiché, analizzeremo i diversi modi in cui i progetti blockchain possono essere sviluppati.
Nella sezione successiva, discuteremo di come Tendermint e l’SDK Cosmos si inseriscono nel quadro generale. Infine, esamineremo tre progetti ben noti che sono stati portati a termine con successo utilizzando queste tecnologie.
Table of Contents
Ogni blockchain è composta da tre livelli principali:
Esistono quattro modi diversi per costruire progetti utilizzando la tecnologia blockchain.
Il software open-source è utilizzato praticamente per tutte le blockchain attualmente in uso. Ciò significa che chiunque può ottenere una copia di questi codici sorgente, apportarvi modifiche e quindi distribuirli nuovamente sotto un’altra identità. Questo tipo di progetto viene definito fork. Se si esaminano i numerosi progetti blockchain, si scoprono molti esempi di fork di questo tipo. Ad esempio, il Litecoin (LTC) è stato creato dalla scissione del Bitcoin. Ancora più interessante è il fatto che Dogecoin (DOGE) è nato come fork di Litecoin. L’aspetto positivo della biforcazione è che libera gli sviluppatori dall’onere di dover costruire qualcosa da zero. Possono utilizzare codici già prodotti in precedenza e, se necessario, aggiungere ulteriori funzionalità a tali programmi. Tuttavia, è necessario un livello di comprensione tecnica molto elevato.
Alcuni esempi di famosi Fork:
Esiste una moltitudine di blockchain che forniscono funzionalità di smart contract. Gli accordi codificati, spesso noti come contratti intelligenti, vengono eseguiti su macchine virtuali. Grazie a questi programmi è possibile implementare facilmente un’ampia gamma di applicazioni, tra cui portafogli, app DeFi, token non fungibili (NFT) e altro ancora. Il vantaggio dell’uso dei contratti intelligenti è che gli sviluppatori di software non devono preoccuparsi dei fondamenti della blockchain o della sua architettura sottostante.
Devono solo concentrarsi sulla logica che sta alla base dell’accordo. Il resto, comprese le questioni relative alla sicurezza e alla decentralizzazione, sarà curato dalla blockchain in cui sarà installato il codice. Il problema più significativo, d’altra parte, è che la dApp creata con questi contratti avrà le stesse restrizioni della blockchain su cui si basa. I contratti intelligenti utilizzati sulla blockchain di Ethereum sono un esempio ben noto. Nella sua attuale iterazione, Ethereum soffre di problemi di scalabilità. Di conseguenza, anche gli smart contract implementati su questa blockchain incontrano notevoli difficoltà a causa del flusso di transazioni e delle commissioni.
Alcuni esempi:
Questa è probabilmente la scelta più difficile tra le opzioni disponibili. In questo contesto, stiamo discutendo il processo di costruzione di una blockchain da zero. A tal fine, è necessario:
Come già illustrato nelle parti precedenti, ogni livello è caratterizzato da diversi fattori tecnici. Di conseguenza, la costruzione di blockchain utilizzando questa metodologia richiederà quasi certamente un aumento del tempo e dell’impegno profuso.
Il vantaggio di adottare questa strategia è che il progetto non dipenderà da alcun codice scritto da terzi. Pertanto, gli sviluppatori del progetto sono pienamente in grado di portare a termine il cento per cento del piano, pur mantenendo la massima flessibilità.
Alcuni esempi di blockchain costruite da zero:
L’ultima scelta di questo elenco è probabilmente quella che più si adatta al vostro senso di avventura. Per lo sviluppo di progetti blockchain, gli sviluppatori possono utilizzare API e SDK già disponibili. Queste tecnologie forniscono essenzialmente ai programmatori componenti pronti all’uso per i loro progetti. Alcuni esempi sono:
Ciò implica che gli sviluppatori non costruiscono tutto da zero (noto anche come core blockchain) e, allo stesso tempo, non si affidano alla sicurezza e alle prestazioni dei progetti già esistenti (noti anche come fork e smart contract). Di conseguenza, questa strategia incorpora gli aspetti che funzionano meglio di tutte le altre.
Progetti di esempio:
Tendermint è un insieme di strumenti e tecnologie già pronti per essere utilizzati allo scopo di implementare i livelli di consenso e di rete delle applicazioni blockchain. In altre parole, gli sviluppatori possono costruire progetti completi collegando la logica aziendale delle loro applicazioni ai componenti di Tendermint. Vediamo ora più da vicino i due componenti principali della pianta: le foglie e gli steli.
Il Tendermint Core è il nome dato alla componente della rete responsabile del raggiungimento del consenso. Questo componente è guidato dal modello di consenso Byzantine Fault Tolerant (BFT). Byzantine è una forma abbreviata della parola “traditore” o “cattivo attore”, e il modello BFT può ottenere il consenso con meno di un terzo dei validatori Byzantine anche se sono presenti.
Si può avere una panoramica del processo BFT guardando l’immagine qui sopra. Le fasi principali sono quattro:
Nel caso in cui qualcosa vada storto in un determinato momento, sono previste alcune regole e condizioni per affrontare la circostanza. Se un validatore non è in grado di impegnare un blocco, ad esempio, gli altri validatori, dopo un periodo di attesa, bypasseranno il blocco e passeranno alla fase decisionale successiva.
L’Application Blockchain Interface (ABCI) è un insieme di metodi già predisposti per l’uso e progettati per collegare la logica del livello applicativo al motore di consenso. Pertanto, l’ABCI è la parte più importante del livello di rete e si raccomanda che tutte le comunicazioni e le transazioni vengano instradate attraverso di essa.
È possibile stabilire più connessioni socket ABCI contemporaneamente a un’applicazione. Le seguenti sono le più significative:
È importante notare che il componente fondamentale di ABCI è un insieme di chiamate API. Pertanto, gli sviluppatori hanno la totale libertà di utilizzare il linguaggio di programmazione che preferiscono (come Solidity, Rust o C++) per implementare queste funzioni nel livello di logica applicativa del loro software.
Come già detto, Tendermint è composto da due elementi principali. Tendermint Core è il motore di consenso, mentre ABCI è l’interfaccia di programmazione applicativa per il livello di rete. I vari livelli che compongono un progetto blockchain possono essere scomposti nelle loro parti componenti utilizzando questa strategia. Ciò offre una certa flessibilità agli sviluppatori, consentendo loro di concentrarsi sui problemi di ciascun livello.
Il modello di consenso Byzantine Fault Tolerant (BFT) è un metodo sicuro e affidabile per raggiungere un accordo tra i nodi. Questo modello è utilizzato nel motore di consenso di Tendermint e su di esso sono state costruite molte altre funzioni per garantire un funzionamento impeccabile in tutti i progetti.
Come appena già accennato, il modello BFT è in grado di accogliere fino a un terzo dei nodi bizantini come traditori. Ciò indica che la blockchain è suscettibile di attacchi, spesso noti come hack, se un terzo dei nodi validatori della rete si comporta in modo sbagliato.
Questo tasso di tolleranza ai guasti è significativamente più basso rispetto a quello di altri modelli di consenso. A titolo di esempio, questo tasso è del 51% nel modello di consenso Proof of Work (PoW).
Tendermint non è una piattaforma di calcolo completamente asincrona. I validatori devono comunicare tra loro durante i vari processi (prevote, precommit e commit) in modo che la rete possa ottenere il consenso e diffondere le transazioni e i blocchi.
Di conseguenza, il throughput dell’intero sistema è estremamente dipendente dal numero totale di validatori. Il throughput del sistema diminuirà proporzionalmente al numero di validatori presenti nel sistema.
Ci sarà uno stravolgimento totale del check-in in aeroporto rispetto a come lo conoscevamo. Chi…
Gli utenti Apple che sono appena passati a iPhone 16 potranno constatarlo con i loro…
Anche per il mese di ottobre vi sono cambiamenti nella numerazione della televisione: la lista…
Dal momento che stanno diventando sempre più interessanti gli investimenti in criptovalute, ecco i migliori…
Occasione importante per il nuovo iPhone16, il prezzo vantaggioso del nuovo dispositivo. Da sfruttare al…
Qual è il ritorno economico nell'investire 100 euro in Bitcoin, stando l'attuale situazione di mercato…