Algorithme
Un algorithme est un ensemble d’instructions ou de règles utilisées pour résoudre un problème. Dans le contexte de la cryptomonnaie, un algorithme est la formule utilisée pour générer de nouvelles pièces et traiter les transactions sur le réseau blockchain. Il est également utilisé à des fins de sécurité afin d'éviter les doubles dépenses et autres activités malveillantes sur le réseau.
Les algorithmes les plus populaires utilisés aujourd'hui dans les crypto-monnaies sont la preuve de travail (comme le SHA-256 de Bitcoin) et la preuve de participation (comme le Casper d'Ethereum). Ces algorithmes créent une incitation économique pour les mineurs ou les validateurs qui traitent les transactions et sécurisent la blockchain en étant récompensés par des pièces ou des frais de transaction nouvellement créés. Ce système de récompense permet de maintenir la sécurité du réseau tout en créant simultanément de nouvelles unités monétaires numériques qui peuvent être échangées contre des biens, des services ou d'autres devises.
En plus de ces deux principaux types d'algorithmes, il en existe plusieurs autres tels que la preuve d'enjeu déléguée (DPoS), la tolérance aux pannes byzantine pratique (PBFT) et le graphe acyclique dirigé (DAG). Chacun a son propre objectif spécifique au sein des réseaux de crypto-monnaie, mais tous remplissent en fin de compte des fonctions similaires : vérifier les transactions, générer de nouvelles pièces/jetons, maintenir le consensus entre les nœuds, etc.
Le choix de l'algorithme à mettre en œuvre dépend principalement du type de fonctionnalités souhaitées pour un projet de crypto-monnaie particulier – exigences d'évolutivité, besoins d'efficacité énergétique, etc. – mais tous doivent partager certaines caractéristiques : ils doivent être sécurisés ; ils doivent avoir une décentralisation adéquate ; ils doivent fournir des incitations qui encouragent les gens à participer à l'exploitation minière/au jalonnement ; ils doivent avoir suffisamment de résistance aux attaques pour que les acteurs malveillants ne puissent pas en prendre facilement le contrôle ; enfin, il ne devrait pas consommer trop de ressources lorsqu'il est exécuté à grande échelle.