423 / 736SONG

Jimmy Song

Auteur de Programming Bitcoin et formateur en programmation

Que se passe-t-il dans un portefeuille quand on appuie sur Envoyer ? Jimmy Song apprend à comprendre chaque étape en la programmant. Son livre Programming Bitcoin relie les mathématiques à une transaction concrète et rend tangible la notion de vérification.

Jimmy Song est développeur, formateur et auteur de Programming Bitcoin. Il enseigne les transactions, les clés et les signatures numériques de Bitcoin à travers des exemples en Python. Son approche est pratique : au lieu de dépendre d’une application terminée, le lecteur construit de petits outils et observe leurs résultats. Il publie aussi des opinions sur l’argent et la société, qui demandent d’autres preuves qu’un exercice de programmation.

La biographie de Song décrit son activité de développeur et ses séminaires Programming Blockchain. O’Reilly le présente comme l’auteur de Programming Bitcoin. Leur fil conducteur est l’expérimentation : lire le nom d’un principe ne suffit pas à le comprendre. Le programmer oblige à savoir quelles données entrent et quel résultat doit sortir. Être qualifié de développeur ne signifie toutefois pas automatiquement être mainteneur de Bitcoin Core ni pouvoir décider des règles pour les autres utilisateurs. [1] [2]

Programming Bitcoin est paru chez O’Reilly en 2019. Il commence par les corps finis, où les calculs portent sur un ensemble limité d’éléments selon des règles précises, et les courbes elliptiques, fondement mathématique des signatures étudiées. Viennent ensuite clés, signatures, transactions et messages entre ordinateurs. Le lecteur construit une bibliothèque Python, un ensemble de fonctions réutilisables. Il ne doit pas simplement croire qu’une signature fonctionne : il peut suivre les calculs. C’est une exploration du fonctionnement interne d’un portefeuille, au-delà de ses commandes. [2]

Imaginons qu’un programme reçoive une transaction. Il doit d’abord reconnaître ses éléments : décomposer les données ainsi s’appelle l’analyse syntaxique, ou parsing. Une entrée ordinaire référence une sortie antérieure, c’est-à-dire un montant assorti de conditions de dépense. Il faut ensuite vérifier ces conditions, par exemple une signature. Même une signature correcte ne démontre pas que la sortie concernée reste non dépensée. Cela exige de consulter l’état de la chaîne. Les exercices de Song distinguent donc données lisibles, autorisation de dépenser et validité globale de la transaction. [3]

Un résultat mathématiquement correct compte, mais un logiciel de signature sûr exige davantage. libsecp256k1 traite aussi le temps constant et les accès mémoire lors de la manipulation d’une clé secrète. Le but est d’éviter que le comportement du calcul révèle des informations sur ce secret. C’est un autre problème que réussir un exercice. Un code écrit pour comprendre un principe ne remplace donc pas automatiquement une bibliothèque cryptographique examinée pour des fonds réels, même si tous deux vérifient correctement la même signature d’essai. [4]

Le dépôt programmingbitcoin fournit les éléments des chapitres et des instructions pour Jupyter Notebook, un environnement réunissant texte, code exécutable et résultats. Répéter l’exercice dépend aussi des versions du code et des dépendances, les autres paquets utilisés. Un ancien guide d’installation n’est pas automatiquement une recommandation de versions actuelles. Consigner l’environnement aide à expliquer les différences de résultats ; la réussite sur un autre ordinateur ne remplace pas la vérification de sa propre exécution. [5]

Le livre de 2019 donne une base pour aborder d’autres documentations. Il ne faut pas supposer qu’il couvre toutes les extensions ultérieures. Par exemple, libsecp256k1 propose aujourd’hui aussi Schnorr signatures selon BIP340, la spécification d’un autre mécanisme de signature utilisé dans Bitcoin. Il faut distinguer le contenu d’une édition des fonctions d’une bibliothèque actuelle. Pour utiliser son interface, autrement dit la manière d’appeler ses fonctions, la documentation de la version concernée fait référence. [2] [4]

Dans Fiat Ruins Everything, paru en 2023, Song soutient que la monnaie fiat, les monnaies étatiques courantes, façonne profondément les institutions et que Bitcoin apporte un remède. Il s’agit ici de son interprétation de la société, pas d’une procédure de vérification de signature. Cette thèse exige ses propres arguments et preuves. Un exercice cryptographique réussi ne démontre pas une thèse sociale ; un désaccord économique ne réfute pas à lui seul une explication technique. Chaque partie de son travail peut être évaluée avec les preuves adaptées. [6]

Le site de Song décrit la vérification d’une photo d’objet dédicacé à l’aide de PGP, un outil de signature numérique, et de SHA-256, une fonction produisant une empreinte du fichier. Une empreinte identique aide à vérifier qu’il s’agit du même fichier ; une signature valide relie les données signées à une clé. Il reste à établir à qui appartient cette clé. Lors de cette revue, la page désigne de façon incohérente ancienne et nouvelle clés : nous ne reprenons donc pas son identifiant abrégé comme identité vérifiée. Vérifier les données et faire confiance à leur origine sont deux étapes distinctes. [7]

Pour une vision complète, lisez aussi Alex Gladstein, Bitcoin Script, Private Key. Cette entrée est également citée par Hackers Congress Paralelní Polis, Cathie Wood.

DOC · 001Jimmy Song — biographySource primaire DOC · 002O’Reilly — Programming Bitcoin (2019)Source primaire DOC · 003Bitcoin developer guide — TransactionsSource primaire DOC · 004libsecp256k1 — implementation requirementsSource primaire DOC · 005Jimmy Song — Programming Bitcoin repositorySource primaire DOC · 006Jimmy Song — Fiat Ruins EverythingSource primaire DOC · 007Jimmy Song — PGP signature verificationSource primaire
Révisé le: Sources d’abord · Pas un conseil financier