04 / 691BLK·0

Genesis Block

Block 0

Le bloc de hauteur 0 à partir duquel commence l’histoire du réseau principal de Bitcoin.

Genesis Block est le bloc initial fixé pour le mainnet de Bitcoin. Son en-tête porte la date du 3 janvier 2009. Il contient une transaction créant une sortie de 50 BTC, soumise à un traitement particulier et impossible à dépenser.

Genesis n’a pas de bloc précédent : le champ correspondant de l’en-tête est nul. Bitcoin Core construit ses données à partir des paramètres du réseau et vérifie le hash attendu. Les nœuds ne démarrent donc pas avec un bloc arbitraire fourni par un pair. Le bloc de hauteur 1 référence le hash de genesis ; changer le départ produirait une autre histoire. [Bitcoin Core v29.0 — chain parameters]

L’horodatage de l’en-tête est 1231006505, soit le 3 janvier 2009 à 18:15:05 UTC. Cette valeur vient du créateur du bloc, pas d’un relevé indépendant de la fin du minage. Le texte de presse aide à situer sa création dans l’histoire, sans prouver à lui seul l’heure exacte ni l’identité civile de l’auteur. [Bitcoin Core v29.0 — chain parameters] [Bitcoin Developer Reference — Block Chain]

L’entrée de l’unique transaction contient le texte anglais d’un titre du Times évoquant un second sauvetage bancaire imminent. Ce message fait partie des données de la transaction, et non d’une annotation d’explorateur. Y lire une critique des sauvetages interprète le choix du texte ; le protocole n’en tire aucune règle politique. [Bitcoin Core v29.0 — chain parameters]

Lors de la connexion de genesis, Bitcoin Core omet de connecter ses transactions : la sortie initiale n’entre donc pas dans l’ensemble UTXO. Ce n’est pas l’attente habituelle de maturité d’une récompense de minage, et d’autres confirmations ne la débloquent pas. Même la connaissance de la clé privée correspondante ne créerait pas la sortie dépensable manquante. [Bitcoin Core v29.0 — genesis validation exception]

Un explorateur peut afficher des paiements ultérieurs reçus sur une adresse associée à genesis. Ce ne sont pas la sortie initiale du bloc 0 : ils ont leurs propres identifiants de transaction et conditions de dépense. L’omission particulière de genesis ne s’y applique pas automatiquement. Le solde d’une adresse ne dit donc pas si les 50 BTC initiaux sont dépensables. [Bitcoin Core v29.0 — genesis validation exception] [Bitcoin Developer Reference — Block Chain]

Sur son propre nœud mainnet, getblockhash 0 renvoie un identifiant commençant par 000000000019d668. getblock avec ce hash et le niveau de détail 2 affiche le bloc et sa transaction décodée. Ces données peuvent être comparées aux paramètres de Bitcoin Core ; une capture d’explorateur seule ne remplace pas leur vérification. [Bitcoin Core — getblockhash RPC] [Bitcoin Core — getblock RPC]

Les réseaux de test et regtest ont leurs propres paramètres et des hashes de genesis différents. Avant de comparer, il faut vérifier le réseau, pas seulement la hauteur 0. Un genesis identique établit un départ commun, sans prouver à lui seul la validité des blocs suivants, la sécurité d’un portefeuille ou le contrôle actuel de clés. [Bitcoin Core v29.0 — chain parameters]

Pour une vision complète, lisez aussi Bitcoin, Satoshi Nakamoto, Bitcoin Whitepaper, Récompense de création monétaire, Timechain / Blockchain. Cette entrée est également citée par Bitcoin, Satoshi Nakamoto, Timechain / Blockchain, Récompense de création monétaire.

DOC · 001Bitcoin Core v29.0 — chain parametersSource primaire ↗DOC · 002Bitcoin Core v29.0 — genesis validation exceptionSource primaire ↗DOC · 003Bitcoin Core — getblockhash RPCSource primaire ↗DOC · 004Bitcoin Core — getblock RPCSource primaire ↗DOC · 005Bitcoin Developer Reference — Block ChainSource primaire ↗
Sources d’abord · Pas un conseil financier