Internet Computer: Tutto quello che devi sapere su Dfinity (ICP)
Internet Computer promette di essere in grado di ospitare infinite app e contratti intelligenti, archiviando qualsiasi quantità di dati mediante cloud computing basato su blockchain. Una soluzione che potrebbe costituire la base fondante dell’Internet decentralizzato di prossima generazione. Questa sarà una rete blockchain diffusa in tutto il mondo, con data center indipendenti che consentiranno alle app di interagire direttamente in rete.
Che cos’è Dfinity?
Dfinity veniva inizialmente concepita nel 2015 da Dominic Williams, presidente e capo scienziato della Fondazione Dfinity. Fondata a Palo Alto in California, ove mantiene un centro di ricerca fondamentale, la Fondazione Dfinity ora ha sede a Zug, in Svizzera. Il progetto vanta attualmente quasi duecento componenti nel team di sviluppo tra ingegneri informatici e crittografi tra i più esperti, tutti al lavoro per la creazione di una soluzione Internet di prossima generazione.
L’idea per Dfinity è stata ispirata dalla visione di un computer blockchain promossa per la prima volta da Ethereum. L’attuale Internet funziona su IP o protocollo Internet, mentre Dfinity sta introducendo un nuovo standard chiamato ICP o Internet Computer Protocol.
Piuttosto che eseguire app su un server dedicato di proprietà di Alphabet o Microsoft, la visione di Dfinity creerebbe un software che può essere spostato liberamente su qualsiasi server della rete. Con Dfinity questi server esistono in data center di proprietà indipendente sparsi in tutto il mondo. In sostanza significherà che le app ofunzioneranno ovunque.
In pratica possono essere create e rilasciate app che non sono di proprietà di nessuno. I data center indipendenti che gestiscono la rete Dfinity saranno ricompensati in token per l’esecuzione del codice sui loro server, tuttavia non avranno accesso a nessuno dei dati gestiti.
Com’è nata Internet Computer?
Lo scorso maggio la Dfinity Foundation ha effettuato il tanto atteso lancio Mercury Genesis del mainframe di Internet Computer. Da allora la rete ha continuato ad evolversi, configurandosi in tempo reale e aggiungendo più sottoreti che aumnetano la capacità complessiva, espandendosi senza sforzo in risposta alla maggiore adozione da parte degli utenti.
L’ICP si sta sviluppando per riuscire ad abbandonare i vecchi sistemi centralizzati gestiti dai monopoli della Big Tech e consentire a servizi open source di sostituire l’attuale paradigma. Questi sistemi funzioneranno tramite blockchain pubblica, un vero cyberspazio.
Internet Computer ha già diverse app operative, tra le quali Open Chat lanciata subito poche ore dopo il Mercury Genesis ed in pochi minuti ha avuto centinaia di nuovi utenti. Consentire l’adozione di piattaforme social media decentralizzate è una delle mission di Internet Computer.
Caratteristiche tecniche di Internet Computer
Il whitepaper di Dfinity spiega in dettaglio il meccanismo di consenso dell’ICP. Il Network Nervous System, o NNS, è il software autonomo che governa Internet Computer, esso gestisce l’intero sistema, dalla struttura della rete all’economia ed è ospitato dalla rete come parte integrante dei protocolli utilizzati per creare la blockchain.
In termini di governance, NNS consente di mettere ai voti qualsiasi proposta. Si vota per attività come l’aggiunta di nuovi nodi o l’espansione della rete, i voti vengono espressi dai titolari di token ICP che hanno deciso di dedicare i propri token bloccandoli a tale scopo.
Inoltre l’NNS sarà responsabile della creazione di sottoreti combinando i nodi di data center indipendenti. L’NNS monitorerà continuamente la capacità della rete e aggiungerà nodi e sottoreti come da necessità. Questo meccanismo consente teoricamente ad Internet Computer di scalare all’infinito.
Che cos’è una sottorete in Dfinity?
Una sottorete è in grado di integrarsi con altre blockchain della rete complessiva di Internet Computer per aumentare la capacità di elaborazione totale. Le sottoreti vengono create quando l’NNS combina i nodi e vengono utilizzate per processare gli smart contracts.
Ogni sottorete è una blockchain individuale e in pratica la rete non distingue nemmeno tra le sottoreti quando viene effettuata una chiamata, è semplicemente una chiamata di funzione all’interno dell’universo senza soluzione di continuità del codice protetto.
Le sottoreti sono trasparenti per gli utenti dello smart contract ed interagiscono con Internet Computer in background ove il protocollo ICP distribuisce calcoli e dati attraverso i nodi dedicati.
Si pensa che questo sistema sia più sicuro delle blockchain tradizionali perché può vantare il decentramento sia dei dati che del calcolo controllato dal protocollo.
Il classico pooling come si trova all’interno delle tradizionali blockchain PoW e PoS non è possibile. Questo evita di avere nodi validatori con enormi quantità di token bloccati che creano la maggior parte dei blocchi in maniera “tirannica”. Le sottoreti sono in grado di interagire tra loro attraverso l’uso delle “Chain Keys” che fanno parte della crittografia unica sviluppata da Dfinity.
Altri dettagli tecnici
I cd. “neuroni” vengono utilizzati per bloccare a tempo i token ICP al fine di generare potere di voto per votare sulle proposte di rete. I neuroni possono anche essere fatti seguire l’un l’altro per automatizzare le attività. Ad esempio, si può creare un neurone per seguire il voto di un altro neurone ed in questo modo rappresentano una forma di democrazia liquida. È anche possibile dissolvere un neurone per rilasciare i token ICP bloccati all’interno e quindi convertirli in cicli per potenziare il calcolo.
I cicli sono le risorse computazionali che vengono consumate per supportare i dati di memoria persistenti, per le esigenze di larghezza di banda e per la CPU. Gli smart contract stessi mantengono una contabilità delle risorse utilizzate dalle loro applicazioni e questa è espressa in “unità di cicli”.
I cicli riflettono i costi effettivi per far funzionare le applicazioni e per le risorse fisiche utilizzate come i server stessi, i requisiti energetici, l’hardware di archiviazione, la larghezza di banda ed altro. Quando uno sviluppatore è in grado di impostare limiti al numero di cicli consumati da un contratto intelligente, così facendo aiuta a prevenire l’esecuzione di codici dannosi ed il prosciugamento delle risorse di rete. Siccome i costi operativi sono abbastanza stabili quando espressi in unità di cicli, gli sviluppatori sono in grado di sapere esattamente quanto costa elaborare una determinata applicazione e come renderla eventualmente meno costosa. Per fare un paragone i cicli sono simili ai crediti AWS o al gas di Ethereum.
Il linguaggio Motoko
Per tenere sotto controllo i costi ed aumentare le prestazioni e l’efficienza del codice eseguito su Internet Computer, Dfinity ha assunto Andreas Rossberg, il creatore del linguaggio WebAssembly, che ha poi creato il linguaggio Motoko per l’uso specifico su Internet Computer.
Quando combinato con l’architettura di Internet Computer, il linguaggio Motoko ha il potenziale per risparmiare grandi quantità di risorse nello sviluppo di software da utilizzare nella piattaforma Dfinity. La componente più costosa dello sviluppo del software diventa il talento richiesto agli sviluppatori, in quanto attualmente, in generale, lo sviluppo delle applicazioni è estremamente complesso e quindi costoso.
Una delle principali pietre miliari nello sviluppo di Internet Computer è stata il rilascio di Dfinity SDK, che consente a qualsiasi sviluppatore di creare rapidamente e facilmente nuove applicazioni e servizi per Internet Computer. L’architettura utilizzata per costruire gli smart contracts è ottimizzata per la creazione di applicazioni decentralizzate ed è estremamente versatile. Per creare un servizio open source, lo sviluppatore contrassegna semplicemente una qualsiasi delle funzioni condivise come permanente e quindi firma il controllo del contratto intelligente. I contratti relativi alla governance pubblica diventano quindi responsabili di quello specifico rapporto e ne gestiranno problemi relativi alla configurazione e agli aggiornamenti.
La creazione di tali API permanenti ha l’effetto di eliminare il rischio della piattaforma. Con tale architettura non c’è da preoccuparsi che una terza parte possa intervenire e chiudere arbitrariamente una piattaforma, un’applicazione o un servizio.
Servizio d’identità con Internet Computer
Il servizio d’identità consente di autenticarsi in modo sicuro e anonimo quando si accede ad applicazioni che utilizzano tale metodo di autenticazione. Viene creata un’identità diversa per ogni applicazione a cui potrai accedere e sarai in grado di utilizzare tutti i dispositivi collegati al tuo account.
A differenza della maggior parte dei servizi di autenticazione, la tua identità mediante Internet Computer non richiede di impostare e gestire password, generare una frase crittografica sicura o fornire informazioni di identificazione personale alle applicazioni. Creerai profili di autenticazione che utilizzeranno metodi di autenticazione quali il riconoscimento facciale da uno smartphone, la password di sblocco del computer od una diversa chiave di sicurezza.
Opinioni conclusive
Dalla sua fondazione il progetto Dfinity ha fatto passi da gigante. Ha recentemente lanciato la sua rete principale ed è stato in grado di mantenere con successo l’operatività del sistema di rete con esecuzione efficiente di fronte ad ogni trigger di sicurezza. È stato anche in grado di emettere finalmente i propri token ICP sul mercato.
Il progetto è stato in grado di accogliere applicazioni che in fase di test vengono eseguite su appena un migliaio di righe di codice. Teniamo presente che le loro versioni tradizionali sono piene di milioni di righe di codice, una differenza disarmante. Ciò è stato possibile grazie alla creazione di un nuovo linguaggio di programmazione chiamato Motoko ed al rilascio di un SDK fondamentale per gli sviluppatori di software.
Articolo precedente
IOTA crypto: Come comprare IOTA, opinioni e quotazioniArticolo successivo
Cardano: Tutto quello che devi sapere su ADA