Definizione
Una RPC (Remote Procedure Call) è un protocollo di comunicazione che consente a un programma di eseguire una procedura o una funzione su un server remoto come se fosse in esecuzione localmente, senza che lo sviluppatore debba gestire esplicitamente i dettagli di rete sottostanti.
Nel contesto della blockchain e delle criptovalute, RPC è il meccanismo principale attraverso il quale wallet , applicazioni decentralizzate (dApp) e strumenti per sviluppatori interagiscono con i nodi blockchain . Quando un utente controlla il saldo del proprio wallet, invia una transazione o interroga i dati di uno smart contract, in genere effettua chiamate RPC a un nodo blockchain.
Ethereum ha reso popolare lo standard JSON-RPC per le interazioni blockchain, consentendo metodi standardizzati come `eth_getBalance`, `eth_sendTransaction` e `eth_call`. Gli endpoint RPC fungono da gateway tra il livello applicativo rivolto all'utente e la rete decentralizzata di nodi che mantengono lo stato della blockchain.
Gli endpoint RPC pubblici sono disponibili gratuitamente, ma spesso soggetti a limitazioni di frequenza e congestione, mentre i provider RPC dedicati come Infura, Alchemy e QuickNode offrono un accesso affidabile e ad alte prestazioni per le applicazioni in produzione.
Origine e storia
| Data | Event |
| 1981 | I ricercatori di Xerox PARC Bruce Jay Nelson e Andrew Birrell sono i pionieri del concetto RPC. |
| 1984 | Birrell e Nelson pubblicano l'articolo fondamentale "Implementing Remote Procedure Calls". |
| 1988 | Sun Microsystems rilascia ONC RPC (Open Network Computing RPC) come standard aperto |
| 1998 | Viene introdotto XML-RPC, che consente chiamate remote tramite HTTP utilizzando la codifica XML |
| 2005 | È stata pubblicata la specifica JSON-RPC v1.0, che offre un'alternativa leggera a XML-RPC. |
| 2015 | Ethereum viene lanciato con JSON-RPC come interfaccia standard per la comunicazione tra i nodi. |
| 2016 | Infura si presenta come il primo importante fornitore di servizi RPC Ethereum ospitati. |
| 2017 | Il boom delle ICO ha aumentato drasticamente la domanda di infrastrutture RPC affidabili. |
| 2020 | DeFi Summer mette in luce i colli di bottiglia delle RPC (Remote Point Call) a fronte di un'impennata dell'attività on-chain; Alchemy raccoglie un importante finanziamento. |
| 2023 | Le reti RPC decentralizzate come Pocket Network e Lava Protocol stanno guadagnando terreno per ridurre i rischi di centralizzazione. |
“RPC è l'infrastruttura invisibile del Web3: ogni interazione on-chain, da un semplice trasferimento di token a una complessa strategia DeFi, inizia con una chiamata RPC a un nodo.” — Vitalik Buterin
Come funziona
| Caratteristica | RPC pubblico | Fornitore RPC dedicato | Nodo autogestito |
| Costo | Gratis | basata su abbonamento | Hardware + larghezza di banda |
| Limiti tariffari | Rigoroso (10-100 req/s) | Elevato (migliaia di richieste/s) | Illimitato |
| L’affidabilità | Variabile, spesso congestionato | SLA di uptime del 99.9%+ | Dipende dalla configurazione |
| Latenza | Più alto (condiviso) | Basso (percorso ottimizzato) | Il più basso (locale) |
| Privacy | Richieste visibili al fornitore | Richieste visibili al fornitore | Completamente privato |
| Manutenzione | Nona | Nona | Sincronizzazione e aggiornamenti dei nodi |
| Dati di archivio | Di solito non disponibile | Spesso disponibile (livello a pagamento) | Se il nodo archivio è configurato |
| Ideale per | Progetti di test e per hobby | dApp di produzione | operazioni critiche per la privacy |
In parole semplici
- Il telefono delle blockchain — Proprio come quando si alza la cornetta del telefono per fare una domanda a qualcuno in un'altra città, il proprio portafoglio o dApp effettua una chiamata RPC per "telefonare" a un nodo blockchain e porgli domande come "Qual è il mio saldo?" o "La mia transazione è andata a buon fine?".
- Un traduttore universale — RPC standardizza il modo in cui le applicazioni comunicano con i nodi blockchain. Indipendentemente dal portafoglio Ethereum utilizzato — MetaMask, Rainbow o Rabby — tutti utilizzano lo stesso linguaggio JSON-RPC per comunicare con i nodi.
- Richiesta e risposta — Ogni interazione RPC è un semplice scambio: l'applicazione invia una richiesta strutturata specificando un metodo e dei parametri, e il nodo risponde con i dati richiesti o conferma l'avvenuta esecuzione dell'azione.
- L'infrastruttura invisibile — La maggior parte degli utenti blockchain non vede mai le chiamate RPC, ma ogni volta che scambi token su Uniswap, controlla il tuo NFT Per la raccolta, o per richiedere le ricompense di staking, decine di chiamate RPC vengono eseguite in background per rendere tutto ciò possibile.
- Preoccupazione per la centralizzazione — Sebbene le blockchain siano di per sé decentralizzate, la maggior parte delle dApp si basa su un numero ristretto di fornitori RPC centralizzati. Se Infura dovesse smettere di funzionare, una parte consistente delle dApp di Ethereum diventerebbe temporaneamente inutilizzabile, spingendo così a cercare di decentralizzare l'infrastruttura RPC stessa.
Esempi del mondo reale
| Scenario | Implementazione/Attuazione | Risultato |
| Visualizzazione del saldo del portafoglio MetaMask | MetaMask chiama `eth_getBalance` tramite l'endpoint RPC di Infura ogni volta che un utente apre il portafoglio | Gli utenti possono visualizzare i propri saldi di ETH e token in tempo reale senza dover eseguire un nodo completo. |
| Scambio di token Uniswap | Il frontend di Uniswap effettua diverse chiamate RPC per simulare lo scambio, stimare il gas e quindi trasmettere la transazione firmata. | Un'esperienza di trading DeFi senza interruzioni, con quotazioni di prezzo accurate e stime del gas. |
| Esploratore di blocchi Etherscan | Etherscan gestisce i propri nodi di archiviazione e l'infrastruttura RPC per indicizzare l'intera storia di Ethereum. | Gli utenti possono cercare qualsiasi transazione, indirizzo o contratto nella cronologia completa della blockchain. |
| Feed dei prezzi di Chainlink Oracle | I nodi Chainlink effettuano chiamate RPC per leggere i dati sui prezzi dai contratti aggregatori on-chain. | I protocolli DeFi ricevono dati di prezzo affidabili e a prova di manomissione per prestiti e derivati |
Vantaggi
| Vantaggio | Descrizione |
| Interfaccia standardizzata | JSON-RPC fornisce un protocollo universale e ben documentato per le interazioni blockchain tra diversi client e linguaggi di programmazione. |
| Astrazione della complessità | Gli sviluppatori possono interagire con lo stato della blockchain senza comprendere i dettagli di basso livello della rete peer-to-peer o del meccanismo di consenso. |
| Accesso scalabile | I provider RPC consentono a milioni di utenti di interagire con le blockchain senza che ciascuno debba eseguire il proprio nodo. |
| Dati in tempo reale | Le connessioni WebSocket RPC consentono lo streaming di aggiornamenti per nuovi blocchi, transazioni in sospeso e registri eventi. |
| Compatibilità multipiattaforma | Il protocollo basato su HTTP funziona con qualsiasi linguaggio di programmazione, browser o dispositivo in grado di effettuare richieste web. |
Svantaggi e rischi
| Rischio | Descrizione |
| Rischio di centralizzazione | La forte dipendenza da pochi fornitori di RPC (Infura, Alchemy) crea punti critici di fallimento per l'ecosistema delle dApp. |
| Preoccupazioni relative alla privacy | I provider RPC possono registrare gli indirizzi IP, gli indirizzi dei portafogli e i modelli di transazione di tutti gli utenti che transitano attraverso i loro endpoint. |
| rate limiting | Gli endpoint RPC pubblici e gratuiti impongono limiti di frequenza rigorosi che possono causare malfunzionamenti delle dApp durante i periodi di traffico elevato. |
| Fiducia nell'integrità dei dati | Gli utenti devono avere fiducia nel fatto che il fornitore RPC restituisca risposte oneste e non manipolate provenienti da nodi blockchain reali. |
| Sensibilità alla latenza | La distanza geografica dai server RPC e la congestione della rete possono introdurre ritardi, influenzando in modo critico le operazioni DeFi sensibili al tempo come le liquidazioni o arbitraggio |
Suggerimenti per la gestione del rischio:
- Utilizzare più provider RPC come soluzioni di ripiego per evitare punti singoli di errore nelle applicazioni di produzione.
- Gestisci un nodo dedicato per operazioni critiche per la privacy e per verificare i dati in modo indipendente.
- Valutate l'utilizzo di reti RPC decentralizzate (Pocket Network, Lava Protocol) per ridurre la dipendenza da provider centralizzati.
- Monitora lo stato di salute e i tempi di risposta degli endpoint RPC per individuare le interruzioni prima che abbiano un impatto sugli utenti.
- Per ottenere dati in tempo reale, utilizzare connessioni WebSocket anziché il polling HTTP, riducendo così il volume di chiamate RPC non necessarie.
FAQ
D: Devo eseguire un mio nodo per utilizzare RPC?
R: No. La maggior parte degli utenti e degli sviluppatori si affida a provider di RPC ospitati come Infura, Alchemy o QuickNode, che gestiscono i nodi per conto dell'utente. Tuttavia, gestire un proprio nodo offre la massima privacy ed elimina la dipendenza da terze parti.
D: Perché le diverse blockchain utilizzano metodi RPC differenti?
A: Ogni blockchain ha la sua architettura e le sue funzionalità. Mentre il JSON-RPC di Ethereum è diventato uno standard di fatto (adottato dalla maggior parte delle blockchain compatibili con EVM), le blockchain non EVM come Solana, Bitcoin e Cosmos utilizzano le proprie specifiche RPC, adattate alle loro caratteristiche uniche.
D: Cosa succede quando un provider RPC non è disponibile?
A: Se una dApp si basa su un singolo provider RPC e questo smette di funzionare, la dApp diventa di fatto inutilizzabile: gli utenti non possono inviare transazioni, controllare i saldi o interagire con gli smart contract. Per questo motivo, le dApp in produzione dovrebbero sempre implementare strategie di fallback multi-provider.
D: Qual è la differenza tra HTTP e WebSocket RPC?
A: HTTP RPC utilizza un modello richiesta-risposta in cui il client deve effettuare un polling attivo per gli aggiornamenti. WebSocket RPC mantiene una connessione persistente che consente al server di inviare aggiornamenti in tempo reale (nuovi blocchi, conferme di transazioni, emissioni di eventi) al client senza dover effettuare polling ripetuti.
D: Le chiamate RPC sono gratuite?
A: Molti provider offrono piani gratuiti con limiti di utilizzo (ad esempio, Infura offre 100,000 richieste al giorno gratuitamente). Oltre tale limite, l'accesso RPC dedicato è un servizio a pagamento. Gli endpoint RPC pubblici della community sono gratuiti ma inaffidabili per l'utilizzo in produzione.
Suggerimento UPay: quando si sviluppa una dApp, è sempre consigliabile configurare almeno due provider RPC di riserva: Infura e Alchemy formano un'ottima coppia. Per le transazioni personali in cui la privacy è importante, è opportuno valutare l'utilizzo di un nodo leggero come Nethermind o Geth per evitare di inviare i dati del proprio portafoglio attraverso server di terze parti.
Disclaimer: Questo contenuto ha solo scopo didattico e non costituisce consulenza finanziaria. Si consiglia di condurre sempre le proprie ricerche (DYOR) e di consultare consulenti finanziari qualificati prima di prendere decisioni di investimento.
UPay — Rendere le criptovalute un'enciclopedia









