libsecp256k1
libsecp256k1 est la bibliothèque cryptographique optimisée pour la courbe secp256k1, maintenue par les développeurs de Bitcoin Core. Elle remplace OpenSSL depuis 2015 pour éviter les bugs et les portes dérobées potentielles. Elle est utilisée par la plupart des projets de l'écosystème. Performance et sécurité y sont auditées en continu.
La librairie cryptographique de Bitcoin
libsecp256k1 est la bibliothèque C qui implémente les opérations sur la courbe elliptique secp256k1 utilisée par Bitcoin. Elle est maintenue par les développeurs du protocole et constitue une référence en matière de sécurité.
Performance et auditabilité
Bitcoin Core a abandonné OpenSSL au profit de libsecp256k1 pour des raisons de performance, de portabilité et d'auditabilité. Le code est compact, exhaustivement testé et focalisé sur les besoins de Bitcoin.
Schnorr et Taproot
La bibliothèque a intégré le support des signatures Schnorr nécessaire à l'activation de Taproot. Elle expose aussi des APIs pour MuSig2, l'agrégation de clés et les protocoles connexes.
Réutilisation au-delà de Bitcoin
De nombreux projets, dont Lightning et plusieurs cryptomonnaies dérivées, dépendent de libsecp256k1. Sa qualité en a fait un standard de fait pour les opérations sur secp256k1.
Termes lies
- secp256k1secp256k1 est la courbe elliptique spécifique utilisée par Bitcoin. Elle est définie sur un corps fini de 256 bits et offre une excellente sécurité (~128 bits). Elle a été préférée à secp256r1 (NIST P-256) car ses paramètres ne sont pas générés par un acteur étatique. Toutes les clés Bitcoin vivent sur cette courbe.
- Bitcoin CoreBitcoin Core est l'implémentation de référence du protocole Bitcoin, descendante directe du code de Satoshi. Open-source, maintenue par des centaines de contributeurs. Représente >95 % des nœuds. Le « consensus » du code Bitcoin.
- ECDSAECDSA (Elliptic Curve Digital Signature Algorithm) est l'algorithme de signature numérique historique de Bitcoin. Il permet de prouver la possession d'une clé privée sans la révéler. Il est combiné à secp256k1. Depuis Taproot, Bitcoin supporte également Schnorr, plus performant.
Glossaire inspire du dictionnaire de Loic Morel sur Pandul.fr.