paint-brush
Dernier kilomètre des blockchains : RPC et Node-as-a-Servicepar@blockchainize
379 lectures
379 lectures

Dernier kilomètre des blockchains : RPC et Node-as-a-Service

Trop long; Pour lire

Le document compare différentes méthodes d'accès aux blockchains, en soulignant les compromis entre l'exécution d'un nœud complet et le recours à des services tiers. Il conclut que l’exécution d’un nœud complet reste le moyen le plus sécurisé d’accéder aux informations de la blockchain, soulignant l’importance de l’intégrité, de la disponibilité et de la confidentialité dans les futurs services d’accessibilité de la blockchain.
featured image - Dernier kilomètre des blockchains : RPC et Node-as-a-Service
Blockchainize Any Technology HackerNoon profile picture
0-item

Auteurs:

(1) Zhongtang Luo, Université Purdue ([email protected]) ;

(2) Rohan Murukutla, Supra ([email protected]) ;

(3) Aniket Kate, Université Purdue / Supra ([email protected]).

Tableau des liens

Résumé et I. Introduction

II. Attentes en matière d'accessibilité à la blockchain

III. Approche I : Gérer un grand livre localement – Exécuter un nœud complet

IV. Approche II : interroger un nœud de registre tiers en tant que service (NAAS)

V. Approche III : Nœud léger - Requête externe et vérification locale

VI. Remarque finale et références


Résumé — Alors que de nombreuses recherches se concentrent sur différentes méthodes pour sécuriser la blockchain, les informations sur la chaîne doivent être accessibles aux utilisateurs finaux pour être utiles. Ce document de position examine les différentes manières dont les utilisateurs finaux peuvent accéder aux blockchains. Nous observons qu'entre les deux extrêmes consistant à exécuter un nœud complet et à utiliser pleinement un service tiers de confiance, de nombreuses solutions concernant les nœuds légers émergent. Nous analysons ces solutions en fonction de trois propriétés fondamentales de la communication Web : l'intégrité, la disponibilité et la confidentialité. Nous concluons qu’actuellement, la meilleure façon d’accéder à une blockchain tout en conservant ces trois propriétés reste d’exécuter un nœud complet. Nous considérons qu’il est essentiel que les futurs services d’accessibilité blockchain soient construits en tenant compte de ces trois attentes.

INTRODUCTION

Une blockchain est un groupe de nœuds essayant de maintenir un registre de transactions publiquement vérifiable et protégé contre la falsification. Après sa première proposition sous le nom de Bitcoin [41] en 2009, les blockchains ont gagné en popularité en tant qu’instruments financiers. Le succès des blockchains les plus connues, telles que Bitcoin et Ethereum [20], peut être largement attribué à leur nature décentralisée et à leur capacité à gérer des transactions complexes avec des primitives cryptographiques avancées. Avec un marché actuellement vaste, les blockchains ont le potentiel de devenir une innovation majeure dans les secteurs de la finance et du commerce électronique au 21e siècle.


Une grande partie de la recherche et de l'innovation en matière d'infrastructure blockchain existante se concentre sur des moyens sûrs et efficaces permettant aux nœuds participants de maintenir le grand livre public (connu sous le nom de protocole de couche 1). Cependant, nous notons que récupérer des informations à partir d’un grand livre bien tenu est également une question non triviale. Veiller à ce que les blockchains restent accessibles à tous les utilisateurs est essentiel si l’on veut que les blockchains jouent un rôle plus important dans la vie quotidienne : un registre public n’est, par définition, utile que tant que les gens peuvent interagir avec lui.


Compte tenu de l’intérêt public croissant pour les blockchains, de plus en plus d’utilisateurs interagissent avec les blockchains chaque mois, avec jusqu’à 875 000 transactions par jour pour les blockchains populaires telles que Ethereum [20]. Essayer d’extraire des informations utiles d’un flot de transactions nécessite un matériel puissant, même pour un utilisateur standard de blockchain qui ne s’engage pas dans un comportement générateur de profit (comme le minage), et il semble que le mécanisme d’incitation de la plupart des blockchains ne soit pas équipé pour faire face aux problèmes. problème.


Dans la plupart des protocoles blockchain, tels que Bitcoin et Ethereum, les nœuds participants (mineurs dans les systèmes de preuve de travail et validateurs dans les systèmes de preuve de participation) sont incités à maintenir le grand livre en gagnant une somme modique lorsqu'ils proposent un nouveau bloc au registre. Bien que les nœuds participants à ces protocoles blockchain soient incités à collecter des transactions et à diffuser des blocs bruts pour garantir leur profit, ils ne sont pas incités à publier des informations détaillées sur le grand livre qu'ils tiennent. Considérez ces deux exemples : (1) Un utilisateur souhaite savoir combien de pièces il y a dans son portefeuille Bitcoin. (2) Un utilisateur souhaite connaître l'état actuel d'un contrat intelligent qu'il souhaite exécuter.


Semblable à ces exemples, la plupart des informations que les utilisateurs souhaitent connaître ne sont pas directement liées aux blocs bruts publiés par les mineurs et les validateurs. Les utilisateurs peuvent confier entièrement leurs actifs à une bourse tierce et obtenir des informations de la bourse, mais l'approche est très risquée, comme en témoigne le récent effondrement de FTX [31]. Par conséquent, les utilisateurs de blockchain doivent concevoir une méthode pour extraire ces informations des blocs, soit via une certaine puissance de calcul qu’ils possèdent, soit en s’appuyant sur un fournisseur de services tiers.


Dans cet article, nous comparons les deux méthodes actuelles adoptées par les utilisateurs pour obtenir des informations raffinées à partir des blockchains. Une méthode consiste à exécuter un nœud complet localement. Cette méthode est généralement capable d’extraire beaucoup d’informations de la blockchain sans recours externe. Dans certains cas cependant, des index supplémentaires sont conservés pour garantir une requête plus rapide, comme les nœuds d'archive Ethereum et les nœuds Solana RPC. L’autre méthode consiste à s’appuyer sur un prestataire tiers. Nous remarquons la tendance selon laquelle, à mesure que le coût de fonctionnement d'un nœud complet augmente, en particulier dans Ethereum, de nombreux utilisateurs se tournent vers des services tiers, qui comportent leurs propres risques de sécurité. Nous observons que l'exécution d'un nœud complet et l'utilisation complète d'un service tiers de confiance représentent deux extrêmes en ce qui concerne l'accessibilité de la blockchain : l'un avec une dépendance minimale et une exigence matérielle maximale et un avec une fiabilité maximale et une exigence matérielle minimale.


Nous remarquons également que lorsque les données requises sur la blockchain sont spécifiques et limitées, comme lorsque les utilisateurs ne se soucient que d'une seule adresse qu'ils possèdent, un logiciel de portefeuille spécifique est à la disposition des utilisateurs. Alors que certains logiciels de portefeuille interrogent directement un nœud externe pour obtenir des données, d'autres peuvent télécharger une partie des blockchains et l'analyser directement pour obtenir les informations qui intéressent les utilisateurs. Nous catégorisons les logiciels en nœuds d'éclairage spécifiques. Parallèlement, nous décrivons une tendance récente dans la réalisation d'un nœud de lumière universel capable de fournir n'importe quelle information à


Fig. 1. Différentes méthodes pour accéder aux blockchains et obtenir des informations utiles. La dépendance aux ressources externes diminue tandis que la dépendance à la puissance matérielle locale augmente de haut en bas.


utilisateurs, pas une seule adresse [12], comme celle proposée par Ethereum [24]. Les recherches actuelles incluent également des nœuds dits ultralégers, tels que Flyclient [10], qui s'appuient davantage sur un service tiers fournissant un contexte supplémentaire pour la vérification (également appelé prouveur dans ce contexte) que les nœuds légers traditionnels qui s'appuient sur un service tiers. uniquement sur les nœuds complets. La figure 1 montre une liste de différentes méthodes pour accéder aux blockchains.


Nous pensons que parmi les nombreuses façons d’accéder aux blockchains, il est toujours important d’examiner les bases de tout service Web : l’intégrité, la disponibilité et la confidentialité. La blockchain elle-même est une technologie de décentralisation, mais une trop grande dépendance à l’égard d’un petit nombre de tiers va à l’encontre de ce principe. Sans méthode permettant de vérifier l'exactitude des données, l'intégrité peut être compromise si lesdits tiers fournissent des données incorrectes. Avec une trop grande dépendance à l’égard de tiers sélectionnés pour assurer l’accessibilité, la disponibilité peut être affectée s’ils ne peuvent ou ne veulent pas fournir le service. La confidentialité est également une préoccupation qui doit être prise en compte lors de l’interrogation d’un tiers.


Nous examinons les protocoles existants sur le marché et constatons que nombre d’entre eux peuvent présenter des défauts sur au moins un de ces aspects. Actuellement, le meilleur moyen d’accéder à une blockchain tout en préservant l’intégrité, la disponibilité et la confidentialité reste d’exécuter un nœud complet localement. Nous considérons qu'il est important de prêter attention à ces trois aspects lors de la conception de tout protocole permettant d'interagir avec les blockchains afin d'en garantir la fonctionnalité.


Cet article est disponible sur arxiv sous licence CC BY-NC-ND 4.0 DEED.