MSTR Cat

Blockchain/Niveau X · La boucle est bouclée/10.3 Vivre en bitcoin/Leçon 5

Construire sur Bitcoin

Regtest, descripteurs et discipline de l'examen public

MatérielUn ordinateur exécutant Bitcoin Core (téléchargé et vérifié)La référence de bitcoin-cli (bitcoin-cli help)Documentation pour BIP 174 et BIP 380

Curiosité

  1. Pourquoi un simple changement de ligne de code dans Bitcoin Core nécessite-t-il des mois de discussions avant d’aboutir à une version stable ?
  2. Comment les développeurs testent-ils la logique cruciale pour le consensus sans risquer des fonds réels ni endommager le réseau principal ?
  3. Quelle est la différence entre un descripteur et un PSBT, et pourquoi sont-ils tous deux essentiels pour le développement de portefeuilles modernes ?

Explorer

  1. Bitcoin Core propose deux environnements principaux pour les tests : regtest et Signet. Regtest permet aux développeurs d’extraire des blocs instantanément, sans exigence de preuve de travail, ce qui en fait un outil idéal pour les tests unitaires et des itérations rapides sur les règles de consensus. Signet (BIP 325) est un réseau de test public dont les blocs doivent également être signés par des personnes désignées, ce qui assure des délais de création de blocs stables et empêche toute inondation du réseau par des puissances de calcul élevées ; il convient donc pour tester le logiciel avec celui d’autres personnes sans utiliser d’argent réel.
  2. L’interface d’appel de procédure à distance (RPC) expose l’état interne de Bitcoin Core aux scripts externes. Les développeurs utilisent des commandes RPC pour manipuler les chaînes, examiner les transactions et déclencher l’extraction dans regtest. Cet accès programmé est fondamental pour créer des logiciels de portefeuille qui doivent interagir directement avec les structures de données d’un nœud, en contournant complètement l’interface utilisateur graphique.
  3. Les descripteurs définissent la manière dont les clés sont transformées en conditions d’expédition, tandis que les transactions Bitcoin partiellement signées (PSBT) facilitent les processus de signature multipartite. Le BIP 174 a standardisé le format PSBT, permettant à différentes entités — portefeuilles matériels, appareils mobiles ou serveurs — d’ajouter des signatures à une transaction sans exposer les clés privées. Cette séparation de la gestion des clés et de la construction de la transaction est essentielle pour des configurations multisig sécurisées.
  4. Le Bitcoin Dev Kit (BDK) et le Lightning Dev Kit (LDK) simplifient la gestion des nœuds pour les développeurs d’applications. Le BDK est une bibliothèque en Rust destinée aux portefeuilles basés sur des descriptions, capable de lire la chaîne depuis Bitcoin Core, un serveur Electrum ou l’API Esplora, tandis que le LDK offre une implémentation légère du protocole Lightning Network adaptée aux appareils mobiles. Ces bibliothèques réduisent les obstacles à la création d’applications natives de Bitcoin, sans nécessiter de connaissances approfondies en programmation système.
  5. L’évaluation par le public est l’élément fondamental du modèle de sécurité de Bitcoin. Les modifications proposées via des demandes de fusion font l’objet d’un examen rigoureux de la part d’une communauté mondiale de développeurs. Le PR Review Club facilite ce processus en organisant des sessions régulières au cours desquelles les contributeurs analysent les différences ligne par ligne. Cette intelligence collective permet de détecter des bugs subtils et de s’assurer que les modifications adoptées sont pleinement comprises avant leur mise en œuvre, un processus distinct des cycles de publication rapides courants dans d’autres écosystèmes logiciels.
  6. Démarrez une chaîne privée : exécutez bitcoind -regtest -daemon, créez un portefeuille avec bitcoin-cli -regtest createwallet dev, et minez 101 blocs vers l’une de ses adresses à l’aide de generatetoaddress afin que la première coinbase mûrisse. Créez un paiement avec walletcreatefundedpsbt, lisez-le avec decodepsbt, puis signez-le et diffusez-le avec walletprocesspsbt ainsi que sendrawtransaction. Minez un bloc supplémentaire et observez sa confirmation.

Faits clés

  • Regtest permet une exploitation de blocs en temps réel sans exigence de preuve de travail pour des tests isolés.
  • Les blocs Signet (BIP 325) doivent être signés par des clés désignées, ce qui assure un réseau de test public stable.
  • BIP 174 définit le format de transaction Bitcoin partiellement signée (PSBT) pour les flux de travail de signature multipartite.
  • Les descripteurs de script de sortie dans le BIP 380 définissent les chemins de dérivation des clés et les conditions d’emploi pour les portefeuilles.
  • Le Bitcoin Dev Kit (BDK) est une bibliothèque en Rust permettant de créer des portefeuilles basés sur des descriptions pour plusieurs back-ends de chaîne.
  • L’examen des demandes de fusion par le public garantit que les modifications approuvées font l’objet d’un contrôle rigoureux et multicouche avant leur publication.

Exercice neuf, six, trois, un

9RassemblerIdentifier 9 composants distincts de l’écosystème de développement Bitcoin : regtest, Signet, Mainnet, interface RPC, descripteurs, PSBTs, BDK, LDK et PR Review Club. Pour chacun d’eux, indiquer sa fonction principale dans le cycle de vie du logiciel.
6RegrouperGroupez ces 9 composants en 6 catégories par fonction : tests privés, tests publics, interfaces de nœud, normes de portefeuille, bibliothèques de développement et revue.
3DistillerRéduisez les 6 groupes en 3 principes fondamentaux qui guident le développement du logiciel Bitcoin : l’isolation pour la sécurité, la standardisation pour la compatibilité, et la transparence pour la fiabilité.
1CristalliserUn PSBT est nécessaire lorsqu’on utilise une carte à puce qui ne peut pas se connecter directement à un nœud de réseau.

Vérification des faits

Les dates, les chiffres et les affirmations ont été vérifiés à l’aide des sources publiées listées ci-dessous.

Ouvrir dans l'académie interactive →

EN PT ES ZH JA KO RU DE MS