Le pilier technologique « Pipelining » : tout comprendre du traitement des opérations sur Solana

Depuis l’émergence de Bitcoin, la technologie blockchain a vu naître un grand nombre d’innovations pour réduire les délais de transactions, enjeu majeur d’un écosystème crypto toujours en quête d’une adoption de masse.  Aujourd’hui, nous allons vous expliquer comment Solana a optimisé le traitement des opérations pour atteindre une rapidité comparable à celle des processeurs de paiement tels que Visa et Mastercard. 

Cet article vous est proposé dans le cadre d’une campagne de communication éducative soutenue par Solana.

Comment Solana optimise le traitement des transactions blockchains

Nous avons vu dans les articles précédents que le protocole Solana fait partie des réseaux les plus rapides de l’écosystème crypto. Des performances qui trouvent leur source dans un constat simple : Toutes les optimisations sont inutiles si l’écriture des blocs reste un domaine trop énergivore et chronophage.

Partant de ce postulat, Solana a su accroître sa vitesse en misant sur l’exploitation maximale des possibilités hardware offertes par les SSD NVMe. Les développeurs ont misé sur une utilisation optimale de la puissance offerte par des processeurs modernes et plus précisément, une architecture en charge des chaînes de traitement nommée pipeline

La technologie pipeline permet d'accélérer l'écriture des blocs à un niveau jamais atteint dans l'univers crypto
L’architecture « pipeline » des processeurs modernes a inspiré la technologie d’ecriture de bloc Solana

Comparons l’écriture d’un bloc à la fabrication d’une automobile sur une chaîne de montage. Cette procédure requiert de nombreuses étapes devant être menée dans un ordre précis. A l’instar d’une usine automobile qui mène de front la fabrication de plusieurs véhicules à la file, les pipelines vont permettre une segmentation afin que chaque transaction puisse avancer dans les étapes du processus de validation, sans attendre l’achèvement du parcours complet par la transaction qui la précède.

Le TPU : une architecture technique capable d’atteindre des performances hors du commun 

L’objectif affiché était donc d’autoriser plusieurs étapes d’écriture en parallèle de différents blocs. 

« Nous avions besoin de trouver un moyen d’exploiter tout le matériel, constamment. C’est-à-dire les cartes réseau, les cœurs du processeur, et tous les cœurs des cartes graphiques. Pour le faire, nous avons utilisé une idée provenant de la conception des processeurs. Nous avons créé un gestionnaire logiciel de transactions à quatre temps. Nous l’appelons le TPU, pour Transaction Processing Unit en référence aux processeurs CPU et GPU ». 

 Greg Fitzgerald, fondateur et CTO de Solana.
Afin d'exploiter la totalité des ressources hardware, et de désengorger le CPU, la technologie blockchain de Solana fait appel aux cartes graphiques pour valider les signatures crypto
Les cartes graphiques ont une mission bien précise dans la technologie blockchain de Solana

Sur le réseau Solana, le mécanisme de chaîne de traitement (ou TPU) passe donc par les quatre étapes suivantes : 

  1. L’obtention des données, ou Data Fetching, au niveau du noyau de système d’exploitation (le kernel). 
  2. La vérification de signature, gérée par la carte graphique, processeur particulièrement adapté aux calculs parallélisés. 
  3. La gestion du registre financier, ou Banking, réalisée par le processeur central. 
  4. L’écriture, réalisée à nouveau par le biais du kernel.
La segmentation des diverses étapes d'une transaction permet de traiter de trés nombreuses transactions quasiment en simultanée
Le mécanisme de validation sur Solana : des décisions à la chaîne, avec TPU et TVU

Lorsque les blocs sont finalisés et envoyés aux validateurs, le TPU travaille d’emblée sur les transactions suivantes, ayant déjà obtenu les paquets de données à traiter, vérifié leurs signatures et effectué les opérations financières requises. Les blocs peuvent ainsi s’enchaîner à un rythme soutenu

Le TVU : une seconde chaîne de traitement nécessaire au maintien de la cadence

« Nous savions que la vérification de signature allait être un goulot d’étranglement, mais nous savions aussi que cette opération ne requiert aucun contexte particulier, et qu’il était tout à fait possible de laisser la carte graphique s’en occuper » 

Greg Fitzgerald, fondateur et CTO de Solana.

Pour offrir les performances attendues, un nœud va donc devoir faire tourner deux chaînes de traitement distinctes, en simultané : le TPU comme chaîne de traitement directrice, et le TVU (Transaction Validating Unit), utilisé comme chaîne de traitement dédiée à la validation. Pour l’une comme l’autre, le matériel et les données nécessaires aux calculs sont standards et similaires. Les deux procédés sont simplement ventilés sur différents éléments du hardware, puisqu’ils vont avoir un usage différent des ressources

Le processus d'écriture segmenté des blocs permet d'obtenir vitesse et sécurité sur tout le réseau de la blockchain Solana
Le TVU est totalement géré par carte graphique afin de ne traiter que les validations

Alors que le TPU va écrire dans le registre, le TVU sert uniquement à vérifier que toutes les inscriptions qui s’y trouvent sont correctes. Grâce à ces optimisations, le TPU est capable de travailler sur 50 000 transactions différentes en même temps, sans nécessiter de ressources démesurées puisque comme se plaît à le préciser Greg Fitzgerald, un ordinateur trouvé dans le commerce pour moins de 5000$ doit permettre la mise en œuvre complète d’un tel processus

Une fois les blocs achevés et certifiés, ils sont envoyés vers les nœuds validateurs. Une opération à fort potentiel de congestion tant les vitesses de production atteintes sont désormais élevées. Le besoin de maintenir les cadences extrêmes autorisées par la technologie pipeline va ainsi déterminer le besoin d’une nouvelle réponse adaptée, et favoriser à son tour l’émergence d’une nouvelle approche au sein du protocole Solana. 

Une stratégie de propagation de blocs novatrice baptisée Turbine, illustration parfaite de l’adage qui pourrait avoir été créé sur mesure pour la technologie blockchain : “A chaque problème, sa solution”.

Benjamin Martin

Dans la crypto depuis quelques années maintenant, je suis un passionné de nouvelles technologies en général, et plus particulièrement de tous les nouveaux projets crypto qui s’apparentent à la philosophie originelle du Bitcoin. C’est un peu ma quête du Graal, mais avec moins de récipients et de pierres incandescentes.