Glossaire / Nœuds et logiciels
Signet
- Qu'est-ce que Signet ?
- Signet est un réseau de test dont les blocs ne sont valides que si un signataire désigné les a signés, ce qui maintient son rythme de blocs de dix minutes au lieu de le rendre erratique.
Spécifié dans BIP-325.
Signet échange le minage sans permission contre la prévisibilité. Bitcoin Core l'a ajouté dans la version 0.21.0, publiée en janvier 2021, et depuis, le signet public par défaut produit des blocs sur un rythme d'environ dix minutes. Pour essayer un portefeuille, un canal Lightning ou le paiement chez un marchand dans des conditions proches du mainnet, c'est le réseau qu'il faut choisir.
Comment cela fonctionne
Signet ajoute exactement une exigence aux contrôles de validité normaux de bitcoin : un bloc doit porter une signature valide.
Le BIP325, écrit par Karl-Johan Alm et Anthony Towns, définit un défi signet, qui est simplement un script bitcoin que la solution du bloc doit satisfaire. La solution est attachée à l'engagement segwit du bloc à l'intérieur de la transaction coinbase, si bien que le format des blocs ne change pas et que les logiciels existants peuvent analyser un bloc signet sans modification. La preuve de travail est toujours effectuée, mais à faible difficulté, car c'est la signature et non le hashrate qui décide si un bloc compte.
Comme le défi est un script ordinaire, il peut aller d'une seule clé publique à un multisig à seuil. Le signet public par défaut, celui que vous rejoignez en passant l'option signet sans autre configuration, est exploité par ces deux auteurs sous un multisig 1-sur-2, et il écoute sur le port 38333. Les adresses réutilisent les préfixes du testnet, donc un portefeuille qui comprend déjà les chaînes tb1 gère en général signet sans aucun changement.
Chacun peut en lancer un privé. Passer un script de défi personnalisé crée un réseau distinct dont le message magic est dérivé de ce script, ce qui signifie que deux signets personnalisés ne peuvent pas se parler par accident. C'est la caractéristique qui distingue signet de toutes les autres options : vous obtenez un véritable réseau à plusieurs participants, avec plusieurs machines et de vrais délais de propagation, sans demander la permission de quiconque et sans acheter de matériel de minage.
Où le voit-on
Signet est l'endroit où les nouvelles fonctionnalités de consensus sont exercées en public avant que le mainnet ne les voie.
Taproot était actif sur le signet par défaut bien avant son activation sur le mainnet au bloc 709 632 en novembre 2021, ce qui explique en grande partie pourquoi les portefeuilles ont pu livrer la prise en charge de taproot dès l'activation plutôt que des mois plus tard. Le même schéma se répète avec chaque proposition qui atteint l'implémentation : le code tourne d'abord là où les gens peuvent le casser à peu de frais.
Les signets personnalisés ont trouvé leurs propres usages. Mutinynet est un signet public qui produit un bloc toutes les 30 secondes, conçu pour que les développeurs Lightning ne passent pas leur journée de travail à attendre des confirmations. D'autres existent pour répéter des scénarios précis, puisque celui qui détient la clé de signature peut aussi provoquer une réorganisation délibérée à la demande et observer ce que font les portefeuilles.
Pour quelqu'un qui achète du bitcoin, signet est invisible et pourtant pertinent. Les faucets distribuent gratuitement les coins de ce réseau, donc rien sur ce réseau n'a de valeur, mais la publication de Sparrow, de Core ou d'un nœud Lightning que vous installez est presque certainement passée par lui d'abord.
Signet vs regtest
Signet est un réseau partagé avec des inconnus ; regtest est une chaîne qui n'existe qu'à l'intérieur de votre propre ordinateur. Sur regtest, vous minez les blocs vous-même avec une seule commande et pouvez produire cent confirmations en une seconde. Sur signet, vous attendez les signataires comme tout le monde, vos transactions se propagent par des pairs que vous ne contrôlez pas, et l'estimation des frais se comporte comme sur le mainnet. Regtest répond à la question de savoir si votre code tourne ; signet répond à celle de savoir s'il survit au contact d'un réseau.