📚 Apprendre Bitcoin

Découvrez les concepts fondamentaux de Bitcoin avec des exemples réels

← Retour au Dashboard

🔗 Qu'est-ce qu'un Bloc ?

Un bloc est un conteneur qui regroupe plusieurs transactions Bitcoin. Chaque bloc contient :

  • Un en-tĂȘte avec des mĂ©tadonnĂ©es (hash du bloc prĂ©cĂ©dent, timestamp, difficultĂ©)
  • Une liste de transactions validĂ©es
  • Une preuve de travail (proof-of-work) qui prouve que le mineur a effectuĂ© un travail computationnel

Les blocs sont liés entre eux dans une chaßne (blockchain), formant un registre immuable de toutes les transactions.

Bloc #-
Hash: Chargement...
Timestamp: -
Transactions: -
Taille: - bytes

⛏ Qu'est-ce que le Mining ?

Le mining (minage) est le processus par lequel de nouveaux blocs sont ajoutés à la blockchain Bitcoin.

Les mineurs :

  • Collectent des transactions en attente depuis le mempool
  • CrĂ©ent un nouveau bloc avec ces transactions
  • RĂ©solvent un problĂšme cryptographique complexe (proof-of-work)
  • Reçoivent une rĂ©compense (block reward) en Bitcoin pour leur travail

La difficulté du problÚme s'ajuste automatiquement pour maintenir un temps moyen de 10 minutes entre chaque bloc (sur le réseau principal).

Récompense de Minage (Block Reward)

Chaque bloc miné génÚre une transaction spéciale appelée coinbase qui crée de nouveaux bitcoins.

Sur Bitcoin Signet (réseau de test), la récompense est de 50 000 sats (0.0005 BTC) par bloc.

Sur le réseau principal Bitcoin, la récompense diminue de moitié tous les 210 000 blocs (environ tous les 4 ans) :

  • 2009-2012 : 50 BTC par bloc
  • 2012-2016 : 25 BTC par bloc
  • 2016-2020 : 12.5 BTC par bloc
  • 2020-2024 : 6.25 BTC par bloc
  • 2024-2028 : 3.125 BTC par bloc
1. Transactions en attente
Les transactions sont collectées depuis le mempool
↓
2. Création du bloc
Le mineur assemble les transactions dans un bloc
↓
3. Proof-of-Work
Le mineur résout le problÚme cryptographique
↓
4. Bloc miné
Le bloc est ajouté à la blockchain, le mineur reçoit la récompense

Comment fonctionne le Miner ?

Le miner (mineur) est le logiciel ou le nƓud qui produit effectivement les blocs. Il Ă©coute le rĂ©seau, construit des blocs candidats et les diffuse une fois qu’ils sont valides.

Sur le réseau principal Bitcoin, le miner :

  • Obtient un modĂšle de bloc (block template) depuis son nƓud Bitcoin Core : en-tĂȘte du bloc, transactions du mempool, difficultĂ© cible
  • SĂ©lectionne les transactions Ă  inclure (souvent par ordre de frais par octet)
  • Construit le bloc (transaction coinbase + liste de transactions)
  • Cherche un nonce (et varie le coinbase si besoin) pour que le hash du bloc soit sous la cible de difficultĂ© (proof-of-work)
  • Diffuse le bloc minĂ© au rĂ©seau ; les autres nƓuds le valident et l’ajoutent Ă  leur chaĂźne

Sur Bitcoin Signet (rĂ©seau de test comme celui de ce dashboard), le principe est le mĂȘme, mais la « preuve » change : au lieu d’un proof-of-work coĂ»teux, un bloc valide doit contenir une signature d’une clĂ© autorisĂ©e (signet). Le miner Signet rĂ©cupĂšre un template, construit le bloc, le signe avec la clĂ© du signet, puis le diffuse. La rĂ©compense par bloc est fixe (par ex. 50 000 sats sur ce Signet).

1. ModĂšle de bloc
Le nƓud (Bitcoin Core) fournit un template : bloc prĂ©cĂ©dent, mempool, difficultĂ©
↓
2. Construction du bloc
Le miner ajoute la transaction coinbase (récompense vers son adresse) et des transactions du mempool
↓
3. Preuve
Mainnet : recherche d’un nonce (proof-of-work). Signet : signature du bloc avec la clĂ© autorisĂ©e
↓
4. Diffusion
Le bloc valide est envoyĂ© au rĂ©seau ; les nƓuds le valident et l’ajoutent Ă  la blockchain

đŸ“„ Qu'est-ce qu'une EntrĂ©e de Transaction ?

Une entrée de transaction (transaction input) référence une sortie de transaction précédente (UTXO) qui sera dépensée.

Chaque entrée contient :

  • Le TXID (identifiant) de la transaction prĂ©cĂ©dente
  • L'index (vout) de la sortie Ă  dĂ©penser
  • Un script de dĂ©verrouillage (scriptSig) qui prouve la propriĂ©tĂ©

Les entrées "consomment" des UTXO existants pour créer de nouvelles sorties.

Exemple d'Entrée de Transaction

{ "txid": "a1b2c3d4e5f6...", "vout": 0, "scriptSig": { "asm": "...", "hex": "..." }, "value": 0.00002500 }

Cette entrée référence la sortie #0 de la transaction a1b2c3d4e5f6... d'un montant de 2500 sats.

đŸ“„ EntrĂ©e 1
TXID: Chargement...
Index: -
Montant: - sats

đŸ“€ Qu'est-ce qu'une Sortie de Transaction ?

Une sortie de transaction (transaction output) crĂ©e un nouvel UTXO qui peut ĂȘtre dĂ©pensĂ© dans une future transaction.

Chaque sortie contient :

  • Un montant en satoshis (1 BTC = 100 000 000 sats)
  • Un script de verrouillage (scriptPubKey) qui dĂ©finit les conditions de dĂ©pense
  • Une adresse Bitcoin (dĂ©rivĂ©e du scriptPubKey)

Les sorties crĂ©ent de nouveaux UTXO qui peuvent ĂȘtre utilisĂ©s comme entrĂ©es dans de futures transactions.

Exemple de Sortie de Transaction

{ "value": 0.00002500, "n": 0, "scriptPubKey": { "asm": "OP_DUP OP_HASH160 ... OP_EQUALVERIFY OP_CHECKSIG", "hex": "...", "address": "tb1q..." } }

Cette sortie crée un UTXO de 2500 sats envoyé à l'adresse tb1q...

đŸ“€ Sortie 1
Adresse: Chargement...
Montant: - sats

💰 Qu'est-ce qu'un Frais de Transaction ?

Les frais de transaction (transaction fees) sont payés aux mineurs pour inclure votre transaction dans un bloc.

Les frais sont calculés comme la différence entre :

  • La somme des entrĂ©es (UTXO dĂ©pensĂ©s)
  • La somme des sorties (nouveaux UTXO créés)

Frais = Entrées - Sorties

Les frais incitent les mineurs Ă  inclure votre transaction rapidement dans un bloc. Plus les frais sont Ă©levĂ©s, plus la transaction a de chances d'ĂȘtre incluse rapidement.

Exemple de Calcul de Frais

EntrĂ©es totales: 50 000 sats Sorties totales: 48 800 sats ───────────────────────────── Frais payĂ©s: 1 200 sats

Dans une transaction d'ancrage typique, les frais sont généralement de 1200 sats.

đŸ“„ EntrĂ©es
Total: - sats
-
đŸ“€ Sorties
Total: - sats
=
💰 Frais
- sats

🔄 Qu'est-ce que le Change ?

Le change (monnaie de retour) est la différence entre les entrées et les sorties (hors frais) qui est renvoyée à l'expéditeur.

Dans Bitcoin, vous ne pouvez pas dépenser partiellement un UTXO. Si vous avez un UTXO de 50 000 sats et que vous voulez envoyer 10 000 sats, vous devez :

  • DĂ©penser tout l'UTXO de 50 000 sats
  • CrĂ©er une sortie de 10 000 sats pour le destinataire
  • CrĂ©er une sortie de change de ~38 800 sats (50 000 - 10 000 - 1 200 frais) vers votre propre adresse

Le change est essentiel pour récupérer la monnaie non dépensée et éviter de perdre des fonds.

Exemple de Transaction avec Change

UTXO disponible: 50 000 sats Montant Ă  envoyer: 10 000 sats Frais: 1 200 sats ───────────────────────────── Change renvoyĂ©: 38 800 sats
đŸ“„ UTXO dĂ©pensĂ©
50 000 sats
↓
đŸ“€ Sortie 1 - Destinataire
10 000 sats → tb1q...
đŸ“€ Sortie 2 - Change
38 800 sats → tb1q... (votre adresse)
💰 Frais
1 200 sats → Mineur

🎁 Qu'est-ce que la RĂ©compense de Bloc (Block Reward) ?

La récompense de bloc (block reward) est la récompense que reçoit le mineur qui réussit à miner un nouveau bloc.

La récompense est créée dans une transaction spéciale appelée coinbase qui n'a pas d'entrées (elle crée de nouveaux bitcoins à partir de rien).

Sur Bitcoin Signet, la récompense est de 50 000 sats (0.0005 BTC) par bloc.

Cette récompense est la seule façon de créer de nouveaux bitcoins. Elle diminue de moitié tous les 210 000 blocs (environ tous les 4 ans) dans un processus appelé halving.

Transaction Coinbase (Récompense de Minage)

{ "vin": [{ "coinbase": "04ffff001d0104...", "sequence": 4294967295 }], "vout": [{ "value": 0.00050000, "scriptPubKey": { "address": "tb1q..." // Adresse du mineur } }] }

Cette transaction n'a pas d'entrées (coinbase), elle crée directement 50 000 sats pour le mineur.

Bloc Miné
🎁 Coinbase (Aucune entrĂ©e)
Crée de nouveaux bitcoins
↓
đŸ“€ RĂ©compense
50 000 sats → Mineur

💎 Qu'est-ce qu'un UTXO ?

UTXO signifie Unspent Transaction Output (Sortie de Transaction Non Dépensée).

Un UTXO est une sortie de transaction qui n'a pas encore été dépensée. C'est l'unité de base de Bitcoin :

  • Chaque UTXO a un montant fixe en satoshis
  • Chaque UTXO est verrouillĂ© par un script (scriptPubKey) qui dĂ©finit qui peut le dĂ©penser
  • Un UTXO ne peut ĂȘtre dĂ©pensĂ© qu'entiĂšrement (pas de dĂ©pense partielle)
  • Quand un UTXO est dĂ©pensĂ©, il est consommĂ© et ne peut plus ĂȘtre utilisĂ©

Le solde d'un wallet est la somme de tous ses UTXO non dépensés.

Exemple d'UTXO

{ "txid": "a1b2c3d4e5f6...", "vout": 0, "address": "tb1q...", "amount": 0.00002500, "confirmations": 6, "spendable": true }

Cet UTXO provient de la sortie #0 de la transaction a1b2c3d4e5f6... et peut ĂȘtre dĂ©pensĂ©.

Types d'UTXO dans le Wallet

  • 💰 RĂ©compenses de Bloc (Bloc Rewards)
    UTXO provenant des transactions coinbase (minage)
    Chargement...
  • 🔗 Ancrages (Anchors)
    UTXO créés par les transactions d'ancrage (2500 sats chacun)
    Chargement...
  • 🔄 Change
    UTXO provenant de la monnaie de retour des transactions
    Chargement...

Gestion des UTXOs dans le Dashboard

Le dashboard offre plusieurs fonctionnalités pour gérer et visualiser les UTXOs :

  • CapacitĂ© d'ancrage restante : Affiche le nombre d'ancrages possibles avec les UTXOs disponibles (confirmĂ©s uniquement pour Ă©viter les erreurs)
  • Pagination : Les listes d'UTXOs sont paginĂ©es par 100 Ă©lĂ©ments pour une navigation facile
  • Tri : PossibilitĂ© de trier les UTXOs par montant ou confirmations (croissant/dĂ©croissant) en cliquant sur les en-tĂȘtes de colonnes
  • Consolidation : Fonction pour consolider les petits UTXOs (< 2500 sats) en un gros UTXO pour optimiser le wallet
  • Filtrage confirmĂ©s : Seuls les UTXOs avec au moins 1 confirmation sont utilisĂ©s pour Ă©viter les erreurs "too-long-mempool-chain"

Types de UTXOs dans le Wallet

  • 💰 Bloc Rewards : UTXOs provenant des transactions coinbase (rĂ©compenses de minage)
  • 🔗 Ancrages : UTXOs créés par les transactions d'ancrage (2500 sats chacun)
  • 🔄 Changes : UTXOs provenant de la monnaie de retour des transactions
  • 💾 Frais : Transactions avec frais onchain enregistrĂ©s

⚓ Comment Fonctionne l'Ancrage Simple ?

L'ancrage simple permet d'enregistrer de maniĂšre permanente un hash (empreinte) d'un document dans la blockchain Bitcoin.

Le processus d'ancrage :

  1. Générer un hash SHA256 du document à ancrer
  2. Créer une transaction Bitcoin avec un output OP_RETURN contenant le hash
  3. Envoyer la transaction sur le réseau Bitcoin
  4. Attendre la confirmation dans un bloc

Une fois confirmé, le hash est inscrit de maniÚre immuable dans la blockchain, prouvant l'existence du document à un moment donné.

1

Document

Votre document (texte, fichier, etc.)

2

Hash SHA256

Génération de l'empreinte cryptographique

hash = SHA256(document)
3

Transaction OP_RETURN

Création d'une transaction avec le hash dans OP_RETURN

4

Bloc Miné

La transaction est incluse dans un bloc

5

Ancrage Confirmé

Le hash est immuablement enregistré

Structure d'une Transaction d'Ancrage

đŸ“„ EntrĂ©es
UTXO disponibles pour payer les frais et créer les outputs
↓
📝 OP_RETURN
Contient: "ANCHOR:" + hash (64 caractĂšres hex)
Cet output n'est pas dépensable, il sert uniquement à stocker le hash
đŸ“€ Output d'Ancrage
2500 sats → Adresse d'ancrage
đŸ“€ Outputs de Provisionnement
7 × 2500 sats → Pour futures transactions
đŸ“€ Change (si nĂ©cessaire)
Monnaie de retour
💰 Frais
1200 sats → Mineur

Exemple d'OP_RETURN d'Ancrage

OP_RETURN "ANCHOR:abc123def456..."

Le préfixe "ANCHOR:" suivi du hash SHA256 (64 caractÚres hexadécimaux) permet d'identifier facilement les transactions d'ancrage.

Avantages de l'Ancrage

  • Preuve d'existence : Prouve qu'un document existait Ă  un moment donnĂ©
  • ImmutabilitĂ© : Une fois dans la blockchain, le hash ne peut plus ĂȘtre modifiĂ©
  • DĂ©centralisation : Pas de dĂ©pendance Ă  un serveur central
  • Transparence : Tous les ancrages sont publics et vĂ©rifiables
  • CoĂ»t faible : Seulement quelques milliers de satoshis par ancrage