Interoperabilità e connettività: sbloccare gli smart contract 3.0
Fonte Originale: https://blog.chain.link/interoperability-and-connectivity-unlocking-smart-contracts-3-0-2/
Gli ecosistemi blockchain di oggi assomigliano molto ai primi giorni di internet, quando le reti erano separate l’una dall’altra in intranet autonome. Nel tempo, Internet è emerso come un ponte di comunicazione universale tra i sistemi, che ha portato alla crescita esponenziale delle singole reti e alla produzione di grandi quantità di dati preziosi.
Questa stessa evoluzione nella progettazione della rete sta avvenendo all’interno dell’ecosistema DLT (Distributed Ledger Technology), dove il focus iniziale era sul massimalismo della catena: l’idea che una blockchain possa contenere tutte le funzionalità di cui un’applicazione decentralizzata ha bisogno per funzionare end-to-end. Non sorprende che la logica prevalente si sia spostata verso modelli di progettazione più innovativi che combinano più protocolli blockchain, ciascuno costruito per uno scopo specifico. Questa trasformazione ideologica deriva dalla consapevolezza che ci sono semplicemente troppi dati, troppe esigenze specifiche degli sviluppatori e troppi rischi associati a una piattaforma che ospita tutto.
Ciò dà origine a un nuovo problema: tutti questi protocolli DLT contrastanti non hanno modo di interagire tra loro, né possono connettersi con sistemi non DLT. Per risolvere questo problema fondamentale di interoperabilità e connettività, Chainlink — a volte in combinazione con altri protocolli di interoperabilità — sta diventando la soluzione standard per facilitare la comunicazione sicura e senza fiducia tra tutti i sistemi disparati.
Uno stack DLT disconnesso
L’attuale architettura che si sviluppa attorno a DLT è costituita da molti tipi di libri mastri distribuiti che fanno diversi compromessi per specializzarsi in funzionalità specifiche. Ad esempio, Bitcoin, ampiamente considerato il gold standard per la memorizzazione di valore, scambia funzionalità aggiuntive e velocità inferiori per transazioni altamente affidabili e completamente decentralizzate. Ethereum ha aumentato le sue funzionalità consentendo agli sviluppatori di allegare dichiarazioni condizionali (if/then) ai cambiamenti di stato. Tuttavia, per ottenere questa maggiore funzionalità, ha scambiato la semplicità con un linguaggio di programmazione più complesso, rendendolo più complicato da imparare e più incline a errori di codifica. Sia Bitcoin che Ethereum hanno avuto successo, grazie alla loro specializzazione nello svolgere un’attività specifica.
Questa idea che la specializzazione della catena sia più favorevole del massimalismo della catena ,segue gli stessi principi dell’attuale stack di protocolli Internet. Internet non è un protocollo monolitico fai-da-te; invece è uno strato di protocolli tutti specializzati in funzioni specifiche. Gli stack di protocolli portano l’ottimizzazione attraverso la specializzazione dei livelli e la copertura del rischio riducendo la superficie di attacco di ogni livello.
Attualmente, ci sono molti protocolli DLT utili e unici che costituiscono i livelli del nuovo stack di protocolli distribuito Web 3.0, un Internet decentralizzato in cui gli utenti hanno il controllo dei propri dati, identità e risorse. Questi protocolli stanno perfezionando le proprie funzionalità principali, ma non sono in grado di comunicare in modo incrociato all’interno di Web3 e oltre la rete.
La base dello stack Internet è il Transmission Control Protocol e il protocollo Internet (TCP / IP) che impacchetta e instrada le informazioni da e verso diversi computer/server. È simile al servizio postale che instrada e consegna la posta. Sebbene le blockchain forniscano modi affidabili per trasferire dati all’interno del proprio ecosistema, il più ampio ecosistema DLT è ancora alla ricerca di protocolli standard che Dapps possa sfruttare per la comunicazione cross-network e l’interazione dei dati off-chain.
Un altro importante protocollo che ha dato origine al Word Wide Web (WWW) è l’HyperText Transfer Protocol (HTTP) e la sua estensione crittografata, HTTPS. HTTP è un protocollo che consente a un client browser Web di inviare una richiesta a un server Web, che, se accettata, consente all’utente di accedere alla pagina Web. Definisce come i messaggi vengono formattati e trasmessi e quali azioni il browser deve eseguire alla ricezione di determinati comandi. Proprio come il TCP/IP, anche le blockchain necessitano di un equivalente per trasferire informazioni tra loro al livello base e hanno anche bisogno di un protocollo per dirigere il flusso di tali informazioni. HTTP si basa sullo stack TCP/IP esistente ed estende le funzionalità agli utenti consentendo loro di accedere alle pagine web. Ha portato alla creazione di semplici interfacce utente e alla condivisione di massa delle informazioni.
Per creare utili applicazioni decentralizzate che possono essere applicate a situazioni del mondo reale, gli sviluppatori hanno bisogno sia della capacità di trasferire dati tra sistemi sia di un protocollo standard per dirigere il movimento delle informazioni. Per ottenere una diffusa adozione DLT, questi protocolli devono rendere la creazione di Dapps semplice come lo sviluppo di app drag and drop. Gli sviluppatori dovrebbero essere in grado di scegliere una blockchain (pubblica o privata, velocità o decentralizzazione, specifica dell’applicazione), integrarla con componenti off-chain (oracoli, calcolo off-chain, canali di stato), connettersi a una varietà di input (dati , IoT, API Web) e regolano in modo affidabile utilizzando una moltitudine di output (sistemi di pagamento, il cloud, altre blockchain). Un esempio è una Dapp che può utilizzare un dispositivo IoT off-chain per attivare uno smart contract Ethereum che paga in due parti, una in Bitcoin e una in fiat usando PayPal.
Costruzione di DLT equivalenti a TCP/IP e HTTP
Quando si pensa a come facilitare e dirigere il trasferimento dei dati, ci sono due funzionalità principali da affrontare:
Scambio di asset decentralizzato
Una delle funzioni più riconoscibili dell’interoperabilità è consentire ai protocolli di scambiare i loro asset nativi tra loro. Ad esempio: consentire a qualcuno di pagare per Ethereum Dapps utilizzando Bitcoin o scambiando Bitcoin con Litecoin. Poiché i token sono i dati dello spazio blockchain, consentire lo scambio di asset è più strettamente associato al protocollo TCP/IP.
Scambio di messaggi decentralizzato
L’altro obiettivo principale ma meno riconoscibile dell’interoperabilità è il passaggio di messaggi tra i protocolli. Ad esempio, consentire ai dati IoT di un dispositivo su IOTA, di attivare uno smart contract on-chain su Ethereum, che alla fine attiva un pagamento della liquidazione sulla blockchain di Bitcoin. La messaggistica può avvenire tra due registri distribuiti o tra uno smart contract on-chain e un sistema off-chain. Ad esempio: avere uno smart contract derivato on-chain attivato da dati di mercato off-chain da Reuters, che quindi attiva un pagamento off-chain in fiat sotto forma di un messaggio di pagamento SWIFT. Dirigere il modo in cui i messaggi da un sistema attivano i movimenti di dati su una blockchain sottostante o un sistema backend è strettamente associato al protocollo HTTP.
Esistono molti approcci che facilitano lo scambio decentralizzato di risorse e messaggi. Prima di spiegare come Chainlink è attivo su tutti i modelli, diamo un’occhiata ad alcuni approcci diversi al problema.
Interoperabilità Blockchain
Un modo per risolvere l’interoperabilità è utilizzare una blockchain separata come ponte per facilitare la comunicazione incrociata. Essenzialmente, questa è una terza blockchain che si trova nel mezzo delle due blockchain e mantiene un registro cronologico crittograficamente protetto dell’attività transazionale e di messaggistica tra i due.
Hub e Spoke
Un approccio popolare è un modello di hub e spoke in cui una blockchain principale funge da hub centrale per altre blockchain (spokes), spesso chiamate sidechain. Questo approccio viene talvolta definito Metachain e viene adottato da Polkadot, Cosmos ed Ethereum attraverso diverse proposte di sidechain (Plasma, Matic, Loom). Sebbene sia possibile costruire uno scambio di risorse decentralizzato con sidechain come Plasma, la maggior parte delle metachain si occupa principalmente di inoltrare messaggi cross-chain tra tutte le sidechain nella rete. Possono anche esserci ponti per scopi speciali costruiti per connettersi con macchine a stati separate al di fuori del loro ecosistema come Polkadot che si connette con Ethereum.
Finanza decentralizzata
Uno degli altri approcci all’interoperabilità si concentra principalmente sulla costruzione di uno scambio decentralizzato di risorse. Progetti come Wanchain e Icon hanno costruito blockchain per consentire ad altre blockchain di connettersi ad essi per facilitare lo scambio decentralizzato di risorse. Questi modelli hanno forti confronti con le banche decentralizzate che facilitano il commercio tra le reti. Esistono anche protocolli costruiti su blockchain, come 0X e Kyber Network, che facilitano lo scambio decentralizzato di token nativi e forniscono liquidità on-chain.
Bridges per uso generico
Un altro metodo proposto è la costruzione di ponti (bridge) generici utilizzando una blockchain. AION è un progetto che sta costruendo un mercato per ponti unidirezionali che forniscono il consenso blockchain con timestamp per la verifica, la registrazione e l’archiviazione della comunicazione incrociata sul bridge nel loro libro mastro. Questo è utile per le blockchain che non fanno parte di un modello hub e spoke o per quelle che necessitano di un bridge specializzato per un’esigenza specifica.
Interoperabilità non Blockchain
L’altro modo per facilitare l’interoperabilità tra i sistemi è con sistemi off-chain o middleware. Le entità in questa categoria devono essere analizzate attentamente, poiché lavorare con dati off-chain non può essere verificato in un sistema deterministico. Tuttavia, l’approccio giusto può offrire soluzioni altamente efficienti, pratiche e altrettanto sicure per i propri utenti.
Atomic Swap
Gli atomic swap sono un modo decentralizzato per scambiare due asset, come lo scambio di Bitcoin con Litecoin, senza passare attraverso uno scambio centralizzato. Uno scambio atomico è come un baratto nella vita reale in cui le persone giungono a un accordo sui termini dello scambio e poi scambiano le risorse una volta che sono d’accordo. Sebbene sia ancora agli inizi della tecnologia e per lo più limitato a protocolli simili, progetti come Komodo hanno aperto la strada al lavoro sugli scambi atomici per protocolli non simili come lo scambio di BTC ed ETH.
Oracoli
Una funzionalità meno nota degli oracoli è che possono essere utilizzati come ponti generici tra blockchain. Gli oracoli in questa funzione possono formattare i messaggi per la comunicazione, non solo tra blockchain, ma con qualsiasi sistema aziendale disparato. Ad esempio, l’attività transazionale di una blockchain può essere utilizzata come input per attivare l’esecuzione di uno smart contract su un’altra blockchain. Un altro esempio è prendere i dati dal cloud per attivare uno smart contract on-chain, che poi si risolve nuovamente off-chain su un sistema di pagamento stabilito. Gli oracoli consentono un’ampia gamma di funzioni di comunicazione incrociata non possibili in altri modelli.
Canali di stato
Un altro metodo per scambiare risorse sulla stessa blockchain consiste nel creare un canale di stato off-chain per trasferire le risorse tra le parti. I canali statali consentono a diverse parti di negoziare e registrare la proprietà delle risorse senza la necessità di alcuna transazione on-chain fino al regolamento finale. È vantaggioso per scalare e ridurre i costi delle transazioni on-chain. Con il prossimo aggiornamento di Ethereum Plasma che è piuttosto limitato agli scambi di risorse UTXO tra sidechain, i canali di stato possono essere utilizzati per scambiare messaggi sui cambiamenti di stato, prima di stabilirsi con un cambiamento di stato on-chain.
Chainlink: uno standard di comunicazione per scopi generici
Chainlink è la prima rete Oracle decentralizzata che agisce come un equivalente protocollo HTTP per tutti gli usi (o HTTPS utilizzando un TEE) per la messaggistica a livello di protocollo e applicazione sia on-chain che off-chain. I nodi Chainlink sono in grado di formattare messaggi e dati da API pubbliche in un formato leggibile per contratti intelligenti. I nodi Chainlink possono connettersi a qualsiasi API, che si tratti di blockchain, sistema aziendale, API Web o dispositivo IoT. Per attività specifiche al di fuori di ciò che supporta il nodo principale di Chainlink, come quelle che richiedono credenziali private, è possibile creare facilmente adattatori esterni per estendere la funzionalità del nodo. Chainlink è lo strumento perfetto per consentire ai contratti intelligenti di dirigere il flusso di dati su e tra sistemi disparati utilizzando qualsiasi livello di decentralizzazione e sicurezza.
Risorse off-chain
Chainlink è la soluzione leader di mercato per trasferire dati off-chain a contratti intelligenti on-chain. Questa funzione autonoma è importante per molte blockchain che non devono interagire con altri protocolli blockchain ma necessitano dell’accesso a input e output esterni. Queste risorse ruotano principalmente attorno ai dati off-chain per attivare contratti intelligenti e risultati di regolamento come sistemi di pagamento consolidati e backend cloud. Si stima che oltre l’80% dei contratti intelligenti necessiti di una qualche forma di risorsa off-chain.
Hub and Spoke
Sebbene i protocolli di interoperabilità hub e spoke abbiano i propri messaggi di comunicazione incrociata tra sidechain, avranno bisogno di dati off-chain per attivare i movimenti su catena all’interno dell’ecosistema. Chainlink ha già annunciato partnership con Polkadot ed Ethereum per fornire dati off-chain alle loro reti.
Finanza decentralizzata
Molte piattaforme di finanza decentralizzata ( DeFi ) consentono anche la comunicazione cross-chain tra i protocolli tramite bridge, ma per il movimento degli asset, queste blockchain spesso necessitano di dati di mercato per attivare gli scambi. Wanchain si sta integrando con Chainlink per fornire dati off-chain ai loro smart contract on-chain.
Ponti per uso generico
Chainlink può facilitare la messaggistica tra i protocolli utilizzando adattatori esterni. Sono utili per attivare azioni sulla catena basate sugli eventi di altri sistemi e blockchain. Sono già disponibili adattatori esterni per AION, IOTA e Zilliqa che gli sviluppatori possono sfruttare nelle loro applicazioni cross-chain. Chainlink può anche utilizzare dati esterni per attivare movimenti di asset su ponti unidirezionali basati su blockchain, come sulla rete AION.
Blockchain aziendali
Mentre ancora in fase di sviluppo, gli oracoli Chainlink potrebbero essere eseguiti in ambienti di esecuzione affidabili (TEE), ambienti protetti simili a una scatola nera in grado di eseguire calcoli affidabili. Gli oracoli basati su TEE sono ideali per connettere in modo sicuro blockchain pubbliche a blockchain aziendali, connettere insieme blockchain aziendali e trasferire informazioni riservate tra tutti i sistemi. L’interoperabilità su blockchain pubbliche non è adatta per informazioni sensibili; tuttavia, l’implementazione di Town Crier , un oracolo basato su TEE acquisito da Chainlink nel 2018, consente di trasmettere messaggi che preservano la privacy su più blockchain.
Chiavi e credenziali private
Anche attraverso l’uso di TEE, Chainlink potrebbe essere utilizzato per gestire le credenziali, che è essenziale per lo scambio decentralizzato. Gli oracoli di Chainlink in esecuzione in un TEE potrebbero accedere all’account di qualcuno per verificare che siano in possesso di un asset o abbiano i fondi per coprire un acquisto. Le informazioni potrebbero essere trasmesse in modo sicuro al contratto intelligente per attivare o negare uno scambio. Gli oracoli di Chainlink potrebbero anche essere usati per gestire una chiave privata per attivare transazioni su blockchain pubbliche. Poiché la maggior parte degli account che partecipano agli scambi proverrà da account già finanziati, un TEE è essenziale per gestire le informazioni sensibili come una chiave privata senza preoccuparsi del furto di fondi o della fuga di informazioni sull’account.
Canali di stato
I canali di stato sono ottimi per risparmiare sui costi e scalare off-chain. Tuttavia, per garantire che i canali statali siano rispettati e regolati on-chain nella stessa forma in cui hanno assunto off-chain, hanno bisogno di trigger imparziali. Gli oracoli a catena possono consentire ai dati di attivare transazioni sul canale di stato, nonché utilizzare i dati per attivare l’accordo on-chain, dato che sono soddisfatte determinate condizioni.
Atomic Swap
Poiché uno scambio atomico è peer-to-peer, sapere se lo script che abilita lo scambio atomico è valido è una sfida per l’utente medio. Gli oracoli decentralizzati possono essere utilizzati per verificare il carico utile dello scambio atomico al fine di confermare che funzioni come concordato. Può anche fare uso di garanzie collaterali per incentivare ulteriormente i nodi a fornire informazioni accurate sugli swap.
La nascita del consenso connesso
Analogamente all’evoluzione delle Intranet a Internet, l’interoperabilità tra blockchain e sistemi disparati introdurrà una nuova ondata di funzionalità degli smart contract. Nuovi casi d’uso che prima erano impossibili nel Web 2.0 cambieranno il modo in cui i consumatori e le aziende interagiscono.
Il protocollo di comunicazione incrociata di TCP/IP è ciò che ha consentito alle reti di trasportare informazioni l’una all’altra in tutto il mondo e HTTP ha consentito ai browser Web di accedere rapidamente ai dati. Questi protocolli hanno reso possibile il world wide web come lo conosciamo oggi. I protocolli di interoperabilità apportano una trasformazione simile allo spazio DLT abilitando applicazioni multi-chain in grado di recuperare qualsiasi risorsa off-chain per attivare cambiamenti di stato. Non solo collegano i silos blockchain insieme, ma collegano anche il nuovo ecosistema DLT all’attuale infrastruttura non DLT che gestisce il mondo.
Chainlink è, fondamentalmente, uno standard di comunicazione generico che può essere utilizzato per instradare in modo sicuro i messaggi di dati di input/output tra tutti i sistemi. Quando tutti i protocolli nello stack DLT sono in grado di interagire senza problemi, i contratti intelligenti 3.0 emergono come soluzioni end-to-end completamente connesse in grado di sradicare molti modelli di business attuali.
Unisciti alla community e inizia a costruire con Chainlink oggi
Se vuoi iniziare a costruire con Chainlink oggi, visita la documentazione per sviluppatori , unisciti alla discussione tecnica su Discord e/o contattaci per avviare oggi in modo sicuro la tua applicazione abilitata ai dati o il contratto dati di riferimento del prezzo di Chainlink sulla mainnet .
Se vuoi essere coinvolto nella comunità di Chainlink, visita la nostra pagina degli eventi per partecipare a futuri meetup come questo nella tua zona. Se vuoi diventare un Chainlink Ambassador e ospitare un meetup, iscriviti oggi! Per ulteriori informazioni, visita il sito Web di Chainlink o seguici su Twitter o Reddit .