Solana (SOL) est une crypto-monnaie de troisième génération, qui vise à offrir un réseau à haut débit, avec une capacité de contrats intelligents parallélisables, un coût par opération négligeable, sans sacrifier la sécurité et avec une grande évolutivité.
Ee projet Solana Network est un projet technologique blockchain axé sur l'offre de fonctionnalités avancées pour les dApps et un débit réseau à haut débit pour faire face aux applications à forte concurrence.
En fait, Solana Network est l'un des concurrents les plus sérieux d'Ethereum 2.0, la prochaine version de Ethereum, à l'exception que Solana est déjà un projet réel, tangible, parfaitement utilisable en ce moment, et nous le saurons en détail ci-dessous.
Histoire et origine de Solana
L'origine de Solana commence grâce au travail de Anatoly Yakovenko, un développeur de logiciels possédant une vaste expérience dans le développement de systèmes d'exploitation sur Qualcomm (Brew OS), de systèmes distribués sur Mesosphere et de systèmes de compression sur Dropbox. Yakovenko, a commencé à s'intéresser à la capacité de la technologie blockchain et, tout particulièrement, aux protocoles de consensus avec lesquels il avait déjà eu une expérience en Mésosphère.
De cet intérêt initial est né le livre blanc de Proof of History (PoH) ou Test of History présenté en 2018, et sur lequel je travaille depuis 2017. Proof of History est un curieux protocole de consensus qui utilise le temps pour créer un système de hachage sécurisé pour une blockchain. Ce système fonctionne sur la base des fonctions VDF ou Verifiable Delay Functions, un type de fonction très particulier qui permet ce type de construction, dans lequel le temps marque inéluctablement qu'une transaction a eu lieu dans une séquence particulière de création, de transmission et de vérification de celle-ci. Ce système permet la construction de réseaux très sécurisés mais, surtout, rapides et très efficaces au niveau de la consommation de ressources de calcul et d'énergie.
La naissance de l'idée
Peu de temps après avoir présenté ce travail, Yakovenko a commencé à travailler avec Greg Fitzgerald, pour concrétiser son idée de PoH dans une blockchain. Le projet était initialement connu sous le nom de Loom, mais peu de temps après, il a changé son nom en Solana, un nom qui sera plus tard utilisé pour l'enregistrement de la société Solana Labs, en mars 2018.
Jusque-là, Yakovenko et Fitzgerald ont continué à travailler sur une mise en œuvre précoce de PoH sur la blockchain, mais finalement le 19 juillet 2018, leur travail a porté ses fruits. Ce jour-là une première version de Solana a été mise en service avec 50 nœuds en fonctionnement et avec laquelle ils ont atteint une vitesse enviable : 65.000 XNUMX transactions par seconde. C'était le début d'une nouvelle technologie qui avait tous les éléments pour laisser le problème de l'évolutivité de la blockchain dans le passé.
La première bêta de Solana
Le travail de Yakovenko s'est poursuivi jusqu'au lancement, en février 2020, de la première version bêta du réseau, connue sous le nom de SOL Testnet Tour, qui était un réseau de test entièrement fonctionnel du réseau Solana. Pour mars 2020, le lancement de la bêta du réseau principal (en fait un réseau de test avec des fonctions plus avancées) a été annoncé, avec un support de base pour les contrats intelligents et pratiquement toutes les fonctions du réseau à l'exception du système d'inflation et de récompense pour les validateurs.
Cette décision a été prise afin de tester les fonctions initiales du réseau dans des conditions aussi proches de la production. Ce deuxième réseau de test est le réseau qui fonctionne actuellement et un hard fork devrait activer à la fois le système de gonflage du réseau et activer le reste des fonctions du système, d'ici la fin de 2021.
Comment fonctionne le réseau Solana ?
Pour comprendre le fonctionnement de Solana Network, nous devons d'abord examiner les parties qui composent ce protocole. Parmi ces parties, nous pouvons souligner les suivantes :
Proof of History (PoH), le protocole de consensus de Solana Proof of History (PoH) est la pierre angulaire de Solana, car ce protocole est ce qui permet de traiter les opérations à grande vitesse et en toute sécurité. Proof of History, est un protocole de consensus de type Proof of Stake (PoS) dont le fonctionnement dépend de l'utilisation du temps et d'un type de fonction appelé VDF ou Verifiable Delay Function.
Pour qu'un validateur PoH fonctionne sur le réseau, il doit effectuer un certain jalonnement qui lui donne un pouvoir de vote au sein du réseau, mais le processus de génération et de validation utilise les VDF comme moyen de sécurité supplémentaire, à celui de la simple loterie qui est habituellement vu dans la plupart des algorithmes PoS.
En ce sens, les VDF PoH fonctionnent de deux manières :
- Il permet de classer les transactions du réseau par ordre chronologique afin qu'elles soient traitées exactement dans cet ordre.
- Il crée un système cryptographique intrinsèquement lié au temps dans lequel les transactions sont effectuées, prises et vérifiées par le réseau. Ceci est possible car les VDF utilisent les paramètres temporaires des TX pour exécuter une fonction cryptographique unique afin d'assurer leur validité.
Ces deux points permettent aux VDF au sein de PoH d'être très sûrs et également très rapides à exécuter. Comprendre cela peut être un peu complexe, mais nous pensons que cet exemple vous aidera :
Exemple de PoH
Supposons qu'Ana veuille envoyer une transaction (TX) à Juan pour payer une réparation sur son ordinateur portable. Ana envoie au TX, à une heure et une date précises, des données qui sont incluses dans les métadonnées dudit TX. Le réseau Solana prend ce TX et commence son traitement, cependant, dans l'ensemble du réseau, il y a des centaines voire des milliers d'opérations, chacune d'entre elles avec une heure et une date de création spécifiques. Ce que Solana fait avec PoH, c'est de prendre chacun de ces TX et de créer une chronologie, en les ordonnant de la manière la plus exacte possible.
Ici, les différences de 0,1 seconde peuvent vous mettre en avance ou en retard sur de nombreuses autres transactions au sein du réseau. Ceci est vital car cela évite à Ana de doubler les dépenses (déplacer de l'argent qui n'est temporairement pas sous sa propriété, ou modifier un TX précédent au moyen d'un vecteur d'attaque tel que celui de Vector76). A ce stade, lorsque le réseau commande les TX pour son prochain bloc, les validateurs appliquent en parallèle une série de fonctions VDF pour marquer ledit bloc et commencer par la génération du prochain bloc.
Cet autre point est capital, car la génération temporaire du premier bloc et son marquage seront indispensables pour créer la relation cryptographique avec le second. Dans tous les cas, les VDF sont chargés de vérifier les horodatages TX, de créer un hachage unique pour ce bloc avec son propre horodatage, et de créer non seulement une chronologie dans les transactions du bloc, mais également un ordre temporel avec les propres blocs du blockchain.
C'est-à-dire que le TX et les blocs sont organisés temporellement, au point que les différences de temps entre eux ne dépassent pas 1 seconde, permettant à la blockchain Solana d'être lue comme une ligne de temps continue seconde par seconde qui est enregistrée et est inaltérable. Dans tout cela, le TX d'Ana est validé et Juan reçoit son argent, et bien que cette explication soit longue, tout ce processus au sein de Solana n'a pris qu'une seconde en moyenne.
L'exemple précédent nous en dit déjà beaucoup sur PoH et sa vitesse, et c'est que le temps de production de blocs du réseau Solana est de loin l'un des plus rapides qui existe, de seulement 400 millisecondes. Cela signifie que Solana est capable de générer deux blocs par seconde, avec un certain temps pour construire un troisième bloc. En d'autres termes, Solana semble être de la science-fiction pour les blockchainers, mais non, c'est quelque chose de si réel que nous pouvons simplement le ressentir en utilisant le réseau.
Un réseau P2P rapide, efficace et temporellement précis
Cependant, la très grande vitesse de Proof of History et de ses VDF pose deux problèmes :
- Transmettre les informations sur le réseau (TX et blocs) de manière optimale est un véritable casse-tête.
- La précision temporelle peut créer des écarts entre les différents nœuds.
Le premier problème est quelque chose avec lequel de nombreux projets de blockchain se débattent depuis longtemps. C'est le problème bien connu de la bande passante et, il est facile à comprendre, car plus le réseau est grand, plus il y a d'informations à traverser, car tous les nœuds doivent être synchronisés. Nous avons un nombre élevé d'envois de transactions, par conséquent les blocs se multiplieront et contiendront plus d'informations. Une situation insoutenable et risquant de casser le réseau, notamment dans les endroits où la bande passante est limitée. Par conséquent, des idées telles que l'élargissement des blocs dans Bitcoin ne sont pas bien reçues, et que des choses comme celles que BCH et BSV ont faites sont considérées par beaucoup comme une menace de centralisation ou une folie pure et simple.
Le deuxième problème est quelque chose pour lequel même Satoshi Nakamoto a dû tricher, car Bitcoin utilise un système de temps assez exact, ses nœuds n'ont pas vraiment la même synchronisation. Il existe de petites variations, des deltas qui peuvent être considérés comme imperceptibles dans les 10 minutes suivant la validation des nœuds Bitcoin. Cependant, cela dans Solana est impensable, car son temps de validation de 400 ms le rend infaisable.
Alors, quelle solution Solana applique-t-elle aux deux problèmes ?
Turbine, la transmission d'informations par Solana Network
Turbine est le nom sous lequel le système de propagation de données Solana Network est connu. Ce protocole est un dérivé du protocole Gossip et sa tâche est de fournir les informations aux nœuds qui font partie du réseau. Le fonctionnement de Turbine est assez simple car il dissèque les informations des blocs, afin qu'elles puissent être envoyées à tous les nœuds beaucoup plus rapidement.
C'est-à-dire que Turbine s'assure que les métadonnées du bloc sont envoyées en premier, puis les informations internes du bloc. Cela rend la transmission plus rapide car, pour les termes de vérification, tout ce qui est important se trouve dans les métadonnées. De cette façon, Turbine parvient à amener les informations du réseau à tous ses nœuds de manière optimale. Quelque chose de similaire à ce que fait actuellement le réseau Bitcoin avec ses blocs compacts.
GulfStream, un cache pour les transactions
GulfStream est le nom du protocole chargé de stocker et de hiérarchiser les transactions sur le réseau Solana. Fondamentalement, GulfStream est un mempool avancé qui est chargé de transmettre les transactions aux validateurs pour faciliter leur commande et leur vérification.
Solana est un réseau à fonctionnement parallèle. C'est-à-dire que ses validateurs sont capables de travailler sur la validation d'un bloc et, en même temps, de préparer le terrain pour le suivant. Pour y parvenir, GulfStream orchestre la livraison des transactions de manière à maintenir cette opération parallèle. Et, en même temps, il maintient le temps nécessaire pour maintenir le calendrier de validation du système. En termes simples, GulfStream est un protocole déterministe de stockage de blocs, de commande et de parallélisation, et il est responsable d'une grande partie du processus de validation des transactions.
De plus, GulfStream s'assure que les validateurs d'un bloc synchronisent leurs horloges pour maintenir la temporalité du réseau. Et lorsque ce bloc est créé, il synchronise le prochain quorum de validation avec l'heure du bloc précédent et actuel, maintenant ainsi la synchronisation temporelle du réseau à tout moment.
Smart Contracts et dApps, l'objectif central de Solana Network
Solana Network est capable de déployer des contrats intelligents et des dApps. En fait, c'est son objectif principal, puisqu'il s'agit d'un réseau construit pour exécuter des applications décentralisées d'utilisation de masse. Cependant, Solana n'a pas suivi le chemin que de nombreux projets ont suivi à cet égard, et qui sont compatibles avec Ethereum et rien d'autre. Au lieu de cela, Solana a créé une toute nouvelle infrastructure pour offrir des contrats intelligents avec des capacités uniques sur son réseau.
Tout d'abord, les contrats intelligents Solana peuvent être écrits dans deux langages populaires : le langage C et Rust. Les deux sont des langages de programmation à usage général bien connus. En fait, ils disposent de bibliothèques de développement étendues et d'une vitesse que de nombreux autres langages peuvent difficilement atteindre.
Cependant, la principale raison du choix de ces langages est bien plus importante : réaliser la parallélisation des contrats intelligents. Nous expliquons comment les contrats intelligents peuvent exploiter tout le potentiel du matériel de validation pour une exécution rapide. Tout cela grâce au fait d'être moins coûteux au niveau calculatoire, et enfin d'être plus efficace.
Pour y parvenir, Solana a créé Sealevel, une couche d'exécution de contrat intelligent qui permet de lire, d'exécuter et d'écrire des instructions en parallèle. Le résultat est clair : les contrats intelligents de Solana sont beaucoup plus rapides que ceux de tout autre réseau. Et, tout cela grâce à la parallélisation de ce réseau. En fait, ce système évolue non seulement en termes de croissance du réseau, mais également en termes de puissance matérielle. Cela est dû au fait que les équipements les plus avancés pourront exécuter ces contrats intelligents beaucoup plus rapidement.
Réseau Solana et sa communauté grandissante
Il existe actuellement un grand nombre de projets engagés dans le développement de Solana. Et, ce n'est pas pour moins, étant donné la technologie brillante qu'il a démontrée. En effet, son site communautaire nous apprend qu'il y a déjà plus de 400 projets qui utilisent Solana dans leur développement. Certains de ces projets sont largement connus comme le cas de Serum, Exodus, Moonpay, Anchor, Fantom, The Graph ou Band Protocol. Et bien sûr, des plateformes comme Bit2Me ont un œil sur cette blockchain et son token.
Et ce n'est que le début, Solana poursuit son développement imparable et à l'avenir, son évolution pourrait apporter des améliorations importantes à une technologie vraiment impressionnante.