Interledger: Come Interconnettere Tutte le Blockchain ed i Network a Valore

di Evan Schwartz and Vanessa Pestritto

Interledger è nato da un progetto per costruire una piattaforma di smart contract blockchain-agnostica. Una sfida chiave era la neutralità: in che modo un’app decentralizzata può acquistare risorse come lo storage e il computing, senza essere legata ad una blockchain specifica? In Internet, le app ed i servizi affrontano un problema simile a come monetizzare direttamente senza fare affidamento su una singola criptovaluta, network proprietari come Visa o PayPal o una piattaforma monolitica come Apple. Interledger è stato progettato per rispondere alla domanda:

Come sarebbe un network universale per l’invio di valore, indipendente da qualsiasi azienda o valuta?

Interledger è ora attivo e il protocollo core è stato finalizzato alla fine del 2017. I primi use cases del network includono, scambi di crypto senza l’ausilio di exchange (de-)centralizzati “istituzionali” e l’attivazione di nuovi modelli di business relativi ai micropagamenti. E questo è solo l’inizio. Questo post offre una panoramica del network Interledger e mette in evidenza le caratteristiche chiave del protocollo che aiutano a collegare blockchain e value system molto differenti fra loro.

Un network di exchange decentralizzati

Interledger è costituito da un netwrok di connettori, operatori indipendenti che fungono da centrali decentralizzate o market maker per criptovalute, valute legali e altre risorse tokenizzate. Il protocollo consente agli utenti di effettuare transazioni in modo nativo sul network di loro scelta, senza la necessità di spostare asset in un exchange centralizzato o in una specifica blockchain per il trading.

Effettuare pagamenti da una valuta ad un’altra

Con Interledger, un utente può inviare BTC e il destinatario riceverà automaticamente ETH, o qualunque sia la loro valuta preferita. Le risorse vengono scambiate nel flusso del trasferimento senza che nessuna delle parti debba pensare a come ciò accada.

Dietro le quinte, Interledger instrada pacchetti di denaro su value networks, nello stesso modo in cui Internet instrada pacchetti di dati tra Internet Service Provider (ISP). Quando l’utente invia BTC, il wallet dell’utente invia pacchetti di Interledger in BTC ad un connettore. Il connettore applica il suo tasso di cambio e inoltra i pacchetti in ETH al destinatario.

Per asset più strani, i pacchetti di Interledger vengono instradati automaticamente su più connettori e ognuno è incentivato a trovare i percorsi migliori attraverso il network. È importante sottolineare che tutto ciò accade senza che il mittente debba fidarsi dei connettori, in quanto il protocollo garantisce che il denaro del mittente non possa essere perso o rubato durante il trasporto (vedere Trustless Sending di seguito).

Funzionalità principali dell’Open Protocol

Interledger è un protocollo puro e la semplicità è uno dei principi di progettazione primari. Più semplice è il protocollo, più network possono connettersi. In questo modo, abbiamo tratto molta ispirazione da Internet. Un open network di network è più resiliente, scalabile e ricco di funzionalità rispetto a qualsiasi network indipendente (o meglio “chiuso”).

Le funzionalità chiave dell’Interledger Protocol sono:

  • Simple Packet Format
  • Trustless Sending
  • Packetizing Value

Simple Packet Format

Il core del protocollo Interledger (ILP) è il pacchetto ILP, lo standard di messaggistica utilizzato tra mittenti, connettori e ricevitori. ILP si ispira ai pacchetti e agli indirizzi IP (Internet Protocol), che sono il cuore di Internet.

ILPv4 ha tre tipi di pacchetti: Prepara (Prepare), Esegui (Fulfill) e Rifiuta (Reject) ; che corrispondono a richieste, risposte e messaggi di errore. i connettori inoltrano pacchetti Prepare dai mittenti ai ricevitori ed i connettori inoltrano i pacchetti Fulfill o Reject dai ricevitori ai mittenti.

I pacchetti Prepare hanno solo cinque campi: un indirizzo di destinazione, un importo, dati end-to-end, una “condizione” e una scadenza che abilitano l’invio trustless. Il formato del pacchetto è network-agnostic quindi indipendente dal network, e lo schema Universal ILP address aiuta i connettori a instradare i pacchetti verso il ricevitore corretto.

Trustless Sending

La seconda caratteristica chiave di Interledger è che consente agli utenti di inviare denaro attraverso il network di connettori senza bisogno di fidarsi di loro. ILP garantisce che il denaro del mittente non possa essere perso o rubato durante il percorso, il che è fondamentale per la creazione di una rete aperta e competitiva.

Interledger utilizza un flusso di pacchetti “forward-and-backward” o incentivized two-phase commit, in cui il destinatario viene pagato prima che il denaro lasci l’account del mittente.

  • I pacchetti Prepare viaggiano dal mittente al destinatario (la parte “forward”) e costituiscono un commitment per pagare se e solo se il connettore presenta la prova che il destinatario è stato pagato
  • I pacchetti Fulfill includono la prova che il ricevitore è stato pagato e sono ritrasmessi dai connettori al mittente (la parte “backward”). Solo il ricevitore può generare la prova corretta, che è una semplice preimage di un hash. Il mittente sa con certezza quando il denaro è arrivato, indipendentemente dal percorso che il pacchetto ha intrapreso attraverso la rete di connettori. Se un pacchetto si perde o risulta abbandonato, il mittente non otterrà mai il Fulfill e il denaro non lascerà mai il suo account.
  • I pacchetti Reject vengono restituiti dal ricevitore se non vogliono il pacchetto Prepare o il pacchetto non supera uno dei controlli del destinatario. I connettori possono anche restituire pacchetti Reject se la fase Prepare scade prima che il Fulfill sia stato restituito. Nota che il mittente può riprovare a inviare i pacchetti che sono in stato Reject, perché non ha ancora inviato il denaro, e i protocolli di livello superiore creati su Interledger gestiscono i tentativi automaticamente.

Packetizing Value

La terza funzione chiave di Interledger (e la più grande differenza tra ILPv1 e ILPv4) è il valore di packetizing o la divisione di trasferimenti più grandi in molti pacchetti di valore inferiore. Questo è molto simile al modo in cui i file di grandi dimensioni inviati su Internet vengono inviati come tanti piccoli pacchetti. I vantaggi sono sorprendentemente analoghi a Internet stessa, in quanto pacchetti omogenei aumentano l’efficienza, la sicurezza e l’interoperabilità della rete.

I connettori processano i pacchetti di Interledger usando pool limitati di capitale o di liquidità, e l’utilizzo efficiente di questo è fondamentale per mantenere bassi i costi. Ogni pacchetto Prepare richiede che i connettori contengano la quantità specificata di denaro fino a quando la transazione non viene soddisfatta o rifiutata. I pacchetti di dimensioni inferiori aiutano i connettori a evitare di riservare grandi quantità di denaro per ogni transazione prima di sapere se sarà soddisfatta. I connettori possono operare con piccoli pool di liquidità e aumentare la velocità e l’utilizzo dei loro soldi.

I pagamenti pacchettizzati aumentano anche la sicurezza e la resilienza del network. I connettori possono allocare la loro liquidità esattamente come Internet lo fà con la larghezza di banda (“larghezza di banda di pagamento”) per impedire agli utenti di interferire con le connessioni degli altri. Inoltre, pacchetti più piccoli consentono l’utilizzo di timeout nel pacchetto Prepare più brevi, che è fondamentale per mitigare il “free option problem” (blocco in una fase di scambio che gli aggressori potrebbero sfruttare). Allo stesso tempo, pacchetti di valore inferiore riducono il rischio per un connettore posto dal mancato invio del pacchetto Fulfill in tempo.

Infine, i pagamenti a pacchetti consentono a Interledger di connettere più tipi diversi di ledger e di facilitare una gamma più ampia di casi d’uso. I pacchetti più piccoli possono essere cancellati tramite ILP senza il deposito di garanzia fornito dal ledger, che era necessario nel ILPv1. Ciò riduce i requisiti per l’integrazione di un ledger fino alla semplice capacità di trasferire valore (comunque i canali di pagamento semplici sono buoni per aumentare la velocità e ridurre i costi).

I connettori possono ottimizzare la velocità e il throughput, perché ogni transazione, da grandi acquisti a flussi di micropagamenti, si trasforma in pacchetti ILP di dimensioni simili.

L’ Interledger Network Oggi

Il network Interledger è ottimizzato per use cases relativi ai micropagamenti e al trading di criptovalute in modo nativo e trustless attraverso blockchain diverse. Ecco alcune delle aziende che stanno sviluppando con ILP (e stanno anche assumendo!):

  • Coil è un servizio in abbonamento per supportare i creatori di contenuti web mediante i micropagamenti di Interledger e lo standard di Web Monetization. Link alla demo.
  • StrataLabs è la prima azienda commerciale di connettori Interledger, che consente servizi di micropagamento come Coil.
  • Kava esegue un connettore Interledger e sta sviluppando la tecnologia per l’ecosistema ILP incluse nuove integrazioni cross-currency e una blockchain basata su Cosmos ottimizzata per ILP.
  • La Bill & Melinda Gates Foundation ha sviluppato Mojaloop, un sistema di pagamento open source per i mercati emergenti, utilizzando Interledger per aumentare l’inclusione finanziaria attraverso l’interoperabilità.
  • Ilp.ix, un progetto mlab, è uno scambio peering XRP che aiuta i connettori a trovarsi e connettersi l’un l’altro.
  • XRP Tip Bot consente agli utenti di Twitter, Reddit e Discord darsi delle mance usando XRP e ILP.
  • Molti altri sono in modalità stealth e stanno per arrivare!

Costruire su Interledger

  • Sei interessato a gestire un connettore Interledger? Dai un’occhiata a questa guida.
  • Vuoi iniziare a creare app con Interledger? Scarica moneyd e dai un’occhiata ai tutorial per connetterti a Interledger in pochi minuti.
  • Se sei interessato a partecipare al progetto, partecipa alle community call bisettimanali e vieni a chattare con noi su Gitter.

Disclosure: Xpring è un investitore in Coil e StrataLabs.

Riguardo Interledger

Interledger è un protocollo open source sviluppato dal W3C Interledger Community Group. Non esiste nessuna società Interledger, moneta , o blockchain.

Thanks to Danny Aranda, Brandon Curtis, Kevin Davis, Meredith Finkelstein, Jamie Goldstein, Brian Kerr, Akash Khosla, Austin King, Zaki Manian, Cristina Nita-Rotaru, Teemu Paivinen, Sid Ramesh, Rome Reginelli, Dan Robinson, Dino Rodriguez, and Scott Stuart for their feedback on this post!