Solana est une blockchain rapide, sécurisée et résistante à la censure permettant de déployer des applications décentralisées. Sécurisée par la preuve d’enjeu, son innovation majeure est son système d’horodatage, appelé proof of history. Cette nouvelle architecture permet à Solana de traiter un très grand nombre de transactions par seconde. Nous présenterons son fonctionnement en détail dans cet article.
Cet article vous est proposé dans le cadre de la campagne de subventions de Solana.
Le projet Solana a vu le jour en 2017 sous l’égide d’Anatoly Yakovenko. Il est le fondateur de Solana mais aussi le créateur de la proof of history. Dans le livre blanc original, il y présente une méthode inédite d’horodatage d’un registre distribué.
L’un de ses anciens collègues de Qualcomm, Greg Fitzgerald, le rejoint alors pour programmer un réseau blockchain basé sur la proof of history. Après avoir déployé le premier réseau de test, ils publient la version officielle du livre blanc en 2018. Avec 4 autres associés, ils fondent la société Solana Labs.
Dans la foulée, Solana Labs se lance dans une série A et lève plus de 20 millions de dollars lors différentes ventes de son token, le SOL. Ces tours de financement privés s’étalent sur plus d’un an, d’avril 2018 à juillet 2019. L’équipe développe activement son projet, et le testnet public voit le jour en 2020. Grâce à un programme d’incitation pour les participants, c’est un succès. En mars 2021, Solana organise une vente de tokens publique sur CoinList et lève 1,76 million de dollars supplémentaires. Le Mainnet voit le jour en version bêta dans un même temps.
Sami a réalisé une interview d’Anatoly Yakovenko, créateur de Solana, disponible sur notre chaîne YouTube.
Les promesses sont immenses : avec cette nouvelle méthode d’horodatage couplée à un mécanisme de consensus en proof of stake, Solana se targue de pouvoir proposer un débit théorique de 50 000 transactions par seconde, pour des frais infimes.
Trois ans plus tard, le pari est tenu et la plateforme d’applications décentralisées choisie par FTX pour déployer son DEX (Serum) fonctionne à plein régime.
S’accorder sur le temps est crucial dans le domaine des réseaux distribués. C’est aussi l’un des challenges les plus difficiles à relever. Dans le livre blanc de Bitcoin, Satoshi Nakamoto est bien conscient que son mécanisme de consensus est révolutionnaire, car il permet à un réseau distribué d’horodater son registre de façon infaillible. C’est ainsi qu’il ne parle pas de blockchain, mais de timestamp server – serveur d’horodatage.
Les réseaux distribués utilisent souvent des solutions centralisées pour s’accorder sur le temps. Dans le domaine des blockchains, où le réseau ne peut faire appel à une tierce partie pour mesurer le temps, la solution au problème s’avère très complexe. Synchroniser le réseau prend beaucoup de temps, car les informations doivent se propager à travers tous les nœuds avant qu’un consensus ne soit établi.
L’idée de la proof of history est d’encoder l’horodatage directement au sein des messages transitant sur le réseau. Le consensus au sujet des transactions n’intervient qu’une fois cette première étape validée, ce qui permet d’augmenter drastiquement les performances et le débit de la blockchain.
La proof of history est donc un mécanisme qui permet de prouver l’écoulement du temps entre deux événements grâce à la cryptographie. Ce mécanisme est basé sur une séquence de calculs particulière, plus précisément, il s’agit d’une fonction de hachage séquentielle.
L’avantage de ce nouveau mécanisme est que les nœuds du réseau n’ont pas à attendre d’être coordonnés au sujet de l’horodatage. Chacun peut vérifier rapidement que l’horodatage d’un message (comme une requête de transaction) est correct grâce à la proof of history.
La fonction utilisée pour créer le registre de la proof of history est aussi appelée high-frequency Verifiable Delay Function (VDF). Elle s’exécute en plusieurs étapes (d’où la notion de délai) et produit un résultat unique, qui est publiquement vérifiable. Elle est dite “haute fréquence” car elle est exécutée plusieurs milliers de fois par seconde. Il est également à noter qu’il est impossible de prédire le résultat de la fonction sans l’exécuter.
Les VDF sont déjà utilisées dans les systèmes distribués, par exemple pour élire aléatoirement un producteur de bloc.
La proof of history de Solana utilise ce type de fonctions pour décompter le temps et mettre en ordre les événements (comme les messages) au sein des blocs de la chaîne.
La fonction est exécutée en boucle. Elle génère un hash en sortie, via l’algorithme bien connu SHA256. Lors du prochain tour, elle utilise à nouveau ce hash en entrée. De façon périodique, le résultat de sortie est assorti d’un nombre, le décompte, puis enregistré.
Le hash est dit pre-image resistant, c’est-à-dire qu’à partir de cette valeur de sortie, il est impossible de déduire la valeur d’entrée. De plus, l’exécution de cette fonction est impossible à paralléliser : en effet, étant donné qu’il est impossible de prédire quelle sera la valeur de sortie de la fonction, il faut nécessairement exécuter entièrement la séquence pour trouver un hash.
Ainsi, on peut être certain du temps s’étant écoulé entre chaque décompte généré. De même, on est assuré que l’ordre enregistré pour chaque décompte est identique à ce qui s’est passé en temps réel.
Il est également possible d’insérer des données au sein de la séquence. Leur hash est ajouté au dernier état généré. Ensuite, l’état, les données ajoutées et le décompte sont publiés : cela modifiera donc toutes les futures sorties.
Ici encore, le processus ne peut pas être exécuté en parallèle. La fonction de hachage choisie doit être :
Avec ces conditions, il est impossible de créer une entrée qui générerait un hash souhaité dans le futur, ou de créer un historique alternatif avec les mêmes hashes. Le passage du temps est ainsi encodé au sein d’une structure de données vérifiable.
Les entrées dans le registre de la proof of history peuvent aussi contenir des références à la proof of history elle-même :
Il suffit qu’un utilisateur de la blockchain signe un message contenant la référence avec sa clef privée. Cela permet alors de prouver que le message a été signé après la création du décompte.
Ainsi, cette boucle peut être utilisée pour enregistrer des événements et les mettre en ordre dans le temps :
L’avantage de ce mécanisme est que la vérification des preuves est parallélisable, contrairement à leur génération. Elles sont découpées en plusieurs petits morceaux, traités chacun par un cœur du CPU. Le ratio entre le temps passé à générer une séquence et le temps de vérification sera de (1/nombre de cœurs). C’est là que réside le secret du débit en transactions par seconde très élevé de Solana.
Ce système d’horodatage présente un avantage certain par rapport à la preuve de travail classique. Il intervient avant le consensus des producteurs de blocs, ce qui permet de gagner un temps précieux et de traiter une grande quantité de données en peu de temps.
La preuve d’histoire est ainsi l’innovation majeure sur laquelle est construite l’architecture de Solana. Comme nous le verrons dans les articles suivants, les briques technologiques qui composent Solana tirent parti de ce nouveau mécanisme d’horodatage des événements, à commencer par son algorithme de consensus, nommé Tower BFT.
Cofounder @ 8Decimals - Journal du Coin / BitConseil / Trading du Coin
Pour aller plus loin
Entrez dans la cour des grands du trading de cryptos : nos astuces pour performer sur FTX
Afin de vous familiariser avec le trading de produits dérivés, nous vous proposons une entrevue complète de FTX et son interface de trading. Rappel : le trading comporte des risques importants, et vous pouvez perdre la totalité de votre capital. Cet article est conçu dans un but éducatif, et ne constitue en aucun cas un … Continued
Dans la même catégorie
Recevez un condensé d'information chaque jour
Suivant
Gratuit
recevez votre guide PDF complet
Comment débuter dans les cryptos en 2022
Ce site utilise des cookies afin que nous puissions vous fournir la meilleure expérience utilisateur possible. Les informations sur les cookies sont stockées dans votre navigateur et remplissent des fonctions telles que vous reconnaître lorsque vous revenez sur notre site Web et aider notre équipe à comprendre les sections du site que vous trouvez les plus intéressantes et utiles.
Cette option doit être activée à tout moment afin que nous puissions enregistrer vos préférences pour les réglages de cookie.
Si vous désactivez ce cookie, nous ne pourrons pas enregistrer vos préférences. Cela signifie que chaque fois que vous visitez ce site, vous devrez activer ou désactiver à nouveau les cookies.
Ce site utilise Google Analytics pour collecter des informations anonymes telles que le nombre de visiteurs du site et les pages les plus populaires.
Garder ce cookie activé nous aide à améliorer notre site Web.
Veuillez activer d’abord les cookies strictement nécessaires pour que nous puissions enregistrer vos préférences !