Qu'est-ce qu'un Remote Procedure Call (RPC) ?

Un RPC, ou Remote Procedure Call, est un protocole de communication fondamental du Web3 puisqu'il permet d'interagir avec les blockchains. Vous en avez sûrement entendu parler si vous avez déjà interagi avec des applications décentralisées ou avec le testnet d'une blockchain. Mais qu'est-ce qu'un RPC exactement ? Comment ce protocole est-il appliqué à la blockchain ? Y a-t-il des risques à utiliser un RPC ?

Qu'est-ce qu'un Remote Procedure Call (RPC) ?

Qu'est-ce qu'un RPC ?

Un Remote Procedure Call (RPC), ou appel de procédure à distance en français, est un protocole de communication qui permet à un programme de lancer une procédure sur un autre programme hébergé sur un autre réseau, sans connaître les détails de ce dernier.

Le programme effectuant la requête est le client, tandis que le programme fournissant le service est le serveur. En d'autres termes, un RPC permet à un client de faire une requête à un serveur situé à distance, pour qu'il fasse quelque chose pour vous.

Pour simplifier au maximum, imaginons que vous êtes le client et que le serveur est votre ami. Vous demandez à votre ami de faire un gâteau puis de vous l'envoyer. Cela fonctionne comme un RPC.

Vous donnez au serveur quelques paramètres : l'ordre de faire le gâteau puis de l'envoyer. Ensuite, le serveur prend en charge la requête (faire le gâteau) et vous envoie les résultats (envoi du gâteau).

Ainsi, à l'instar d'un appel de procédure local, quand un RPC est lancé par le client, les paramètres de la procédure sont transférés sur le réseau vers le serveur, et la procédure est exécutée par ce serveur. Une fois la procédure accomplie, les résultats sont transférés en sens inverse vers le client.

Recevez jusqu'à 500 $ en bonus en déposant des fonds sur eToro
Publicité – Investir dans les cryptomonnaies est risqué et ne convient pas à tout le monde - Vous pourriez perdre la totalité de votre investissement. Comprenez les risques ici

L'application du RPC dans la blockchain

Le RPC est très utilisé avec la technologie blockchain. En effet, il s'agit du protocole qui permet aux applications décentralisées (dApps) d'interagir avec une blockchain. Si vous avez déjà utilisé un portefeuille numérique comme MetaMask, alors vous vous êtes déjà servi d'un RPC.

Lorsque vous utilisez une application décentralisée comme Uniswap, Aave ou encore Curve, vous devez y connecter un portefeuille prenant en charge un réseau compatible. Le portefeuille sert d'intermédiaire entre les actions que vous faites sur l'interface de la dApp et la blockchain.

Le RPC paramétré sur le portefeuille fait ce travail de communication entre la dApp et la blockchain. Même si vous ne touchez à rien, chaque portefeuille dispose d'un RPC paramétré par défaut pour les réseaux qu'il prend en charge, donc cela fonctionne sans votre intervention.

Au niveau de l'expérience utilisateur, vous cliquez simplement sur l'interface de la dApp pour faire l'action que vous désirez et vous confirmez l'action avec votre portefeuille.

Mais plus précisément, l'interaction avec la blockchain se fait via la communication avec un noeud RPC. Ces noeuds détiennent une copie du registre des transactions (la blockchain), ce qui permet d'y avoir accès en s'y connectant. Ainsi dans ce contexte :

  • Application décentralisée : client ;
  • Noeuds RPC : serveur.

Un RPC permet donc au client de faire une requête au serveur à distance. Ici, la dApp fait une requête à un noeud. Les noeuds sont opérés par des entités ou individus localisés n'importe où dans le monde, d'où l'utilisation du RPC.

Toutefois, il est nécessaire que le noeud soit capable de répondre à une requête RPC, il faut donc installer un logiciel le permettant. Ce type de noeud est à distinguer des noeuds de minage et des noeuds validateurs.

Enfin, une fois la dApp connectée au noeud, elle peut alors avoir accès à toutes les informations de la blockchain. Ainsi, lorsque la dApp initie une requête, le noeud récupère les informations nécessaires sur la blockchain et les envoie à la dApp. C'est de cette manière que sont exécutés les transactions par exemple.

Achetez des cryptos facilement avec eToro
Publicité – Investir dans les cryptomonnaies est risqué et ne convient pas à tout le monde - Vous pourriez perdre la totalité de votre investissement. Comprenez les risques ici

Changer de RPC pour se protéger

Les RPCs utilisés par défaut par les portefeuilles numériques traitent le plus grand volume de requêtes, ce qui peut causer un ralentissement du traitement. Pour cette raison, changer de RPC peut être utile.

Avant cela, sachez qu'il existe deux moyens principaux d'utiliser un noeud RPC :

  • Monter son propre noeud RPC, que ce soit chez soi ou sur un serveur loué ;
  • Se servir d'un fournisseur de RPC comme Infura ou Alchemy qui opère ses propres noeuds RPC.

Le risque principal de l'utilisation d'un fournisseur de RPC, c'est la censure de vos transactions. De plus, ces fournisseurs peuvent en théorie tracer chaque interaction qu'un individu fait avec la blockchain pour les monétiser.

Par défaut, si vous n'avez pas choisi de RPC sur votre portefeuille, vous utilisez celui d'un fournisseur qui prélève potentiellement vos données.

Même si tous les fournisseurs de RPC ne s'adonnent pas à ces pratiques, il s'agit néanmoins d'un risque à connaître.

Aperçu du RPC par défaut du réseau Ethereum sur MetaMask

Figure 1 : Aperçu du RPC par défaut du réseau Ethereum sur MetaMask

 

Vous le voyez sur la figure ci-dessus, ConsenSys, l'entreprise derrière MetaMask, a paramétré par défaut le RPC d'Infura pour le réseau Ethereum. C'est également le cas pour les autres réseaux que MetaMask prend en charge nativement, comme Polygon, Optimism ou Arbitrum One.

MetaMask a notamment été sous le feu des projecteurs en novembre 2022 puisqu'il a été découvert que ConsenSys prélèvait certaines données des utilisateurs du RPC d'Infura comme les adresses IP et adresses de portefeuille.

Si vous désirez éviter cela, vous pouvez utiliser votre propre noeud ou utiliser un autre fournisseur de RPC. Vous n'avez qu'à changer l'URL du RPC dans l'onglet « Réseaux » des paramètres de MetaMask, comme sur la figure ci-dessus.

Pour trouver d'autres fournisseurs de RPC sur un réseau compatible avec l'Ethereum Virtual Machine (EVM), vous pouvez par exemple vous servir de Chainlist, un site qui les répertorie par réseau. Parmi les fournisseurs de RPC les plus connus se trouvent Alchemy, Ankr et Pokt Network.

L'utilisation d'un testnet

Changer de RPC est également particulièrement utile dans le cadre de l'utilisation d'un testnet d'une blockchain. En effet, lorsque de nombreux individus utilisent un testnet en même temps avec le RPC paramétré par défaut, il se peut qu'il ne soit plus possible d'interagir avec la blockchain du testnet à cause du nombre trop élevé de requêtes.

Cela peut arriver notamment lors d'évènements qui demandent d'effectuer certaines tâches dans l'objectif d'être éligible à un airdrop, par exemple.

Dans ce cas, vous avez la possibilité de changer de RPC sur le réseau du testnet dans les paramètres de votre portefeuille. Vous pourrez alors continuer d'interagir avec la blockchain du testnet et finir vos tâches.

? Découvrez plus de 100 fiches synthétiques sur les cryptomonnaies

La Newsletter crypto n°1 🍞

Recevez un récapitulatif de l'actualité crypto chaque jour par mail 👌

Certains contenus ou liens dans cet article peuvent être de la publicité. Cryptoast a étudié les produits ou services présentés, mais ne saurait être tenu responsable de tout dommage ou perte liés à leur usage. Investir dans les cryptomonnaies comporte des risques. N'investissez que ce que vous êtes prêt à perdre.

guest
0 Commentaires
Inline Feedbacks
View all comments
Voir plus
Tout voir

Cryptoast

Le site qui explique tout de A à Z sur le Bitcoin, la blockchain et les crypto-monnaies. Des actualités et des articles explicatifs pour découvrir et progresser dans ces secteurs !


Les articles les plus lus

Bitcoin : un portefeuille de l’ère Satoshi se réveille après 15 années de sommeil

Bitcoin : un portefeuille de l’ère Satoshi se réveille après 15 années de sommeil

Bitcoin approche de sa limite : Il n'en reste plus que 5 % à miner

Bitcoin approche de sa limite : Il n'en reste plus que 5 % à miner

Pourquoi le Bitcoin (BTC) chute-t-il de nouveau à 86 000 dollars ?

Pourquoi le Bitcoin (BTC) chute-t-il de nouveau à 86 000 dollars ?

Bitstack dévoile son compte euro accompagné de sa carte Bitcoin et officialise une nouvelle levée de fonds

Bitstack dévoile son compte euro accompagné de sa carte Bitcoin et officialise une nouvelle levée de fonds