Skip to content

Byzantium-ETS/bitcoin-workshop

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

7 Commits
 
 
 
 
 
 

Repository files navigation

Atelier Bitcoin

Objectif : Comprendre le protocole de consensus de Bitcoin et le cycle de vie d’une transaction.

Introduction

Bitcoin, c’est plus qu’une monnaie numérique. C’est un réseau distribué où les nœuds s’accordent sur un registre sans autorité centrale.

Comment les nœuds s’accordent-ils ? Comment une transaction devient-elle “officielle” ?

Le Consensus

Le consensus, c’est la manière dont les nœuds s’entendent sur l’état de la blockchain.

Principe

Chaque bloc contient :

  • Le hash du bloc précédent
  • Le Merkle Root (MR) — hash de toutes les transactions

Schéma : Structure d’un bloc

Structure d’un bloc Bitcoin

Chaque bloc référence le précédent par son hash, formant une chaîne ininterrompue.

Proof of Work (PoW)

Chaque bloc doit prouver qu’un travail computationnel important a été réalisé.

Objectif

  • Créer un ordre canonique de blocs.
  • Empêcher les pairs malveillants de réécrire l’histoire.

Fonctionnement

  • Les mineurs cherchent un hash commençant par un certain nombre de zéros.
  • Ce calcul est aléatoire → difficile à réussir → mais facile à vérifier.

Schéma : Mécanisme de Proof of Work

flowchart TD
    A["Start Mining"] --> B["Choose Nonce"]
    B --> C["Hash(Block Header)"]
    C --> D{"Hash < Target ?"}
    D -->|No| B
    D -->|Yes| E["Block Validated"]
Loading

Minage

Beaucoup pensent que les mineurs “créent” des bitcoins. En réalité, ils déterminent l’ordre des blocs.

Règles de choix

  • Le bloc doit avoir une preuve de travail valide
  • La chaîne la plus longue (ou avec le plus de travail cumulé) est choisie

“Les mineurs ordonnent, les nœuds décident.”

Les Transactions

Les transactions enchaînent des entrées et des sorties plutôt que d’envoyer des "jetons".

“Les bitcoins ne se déplacent pas de wallet à wallet, ils passent d’une transaction à la suivante.”

Modèle UTXO

Deux modèles :

  • Compte/adresse : A paie B directement (banques, Ethereum, etc.)
  • UTXO : chaque paiement crée de nouveaux “outputs” dépensables

Structure d’une transaction Bitcoin

Structure d’une transaction Bitcoin

Une transaction est composée d’entrées (inputs) et de sorties (outputs), où chaque sortie peut devenir l’entrée d’une nouvelle transaction.

Schéma : Chaînage des transactions

Propagation d’une transaction Bitcoin

Chaque nouvelle transaction “dépense” un output existant.

Cycle de vie d’une transaction

Étapes

  1. Alice crée une paire clé privée / clé publique
  2. Elle partage une adresse dérivée du hash de sa clé publique
  3. Bob crée une transaction vers cette adresse
  4. Il la diffuse sur le réseau
  5. Les nœuds la valident et l’ajoutent à un bloc

Schéma : Cycle de transaction

sequenceDiagram
    participant Alice
    participant Bob
    participant Réseau

    Alice->>Bob: Donne son adresse (h(pk))
    Bob->>Réseau: Diffuse une transaction vers Alice
    Réseau->>Réseau: Ajoute la transaction dans un bloc
    Alice->>Réseau: Observe son nouvel output
Loading

Quand Alice voudra dépenser son output, elle créera signatureScript avec sa clé privée.

Dépenser un Output

Chaque output possède un pkScript : un script de verrouillage. Pour le dépenser, il faut fournir un signatureScript valide.

Le réseau vérifie que la signature correspond bien à la clé publique autorisée.

Schéma : Déverrouillage (P2PKH)

p2pkh

Vérification :

  1. Le nœud exécute le signatureScript
  2. Il vérifie que le hash de la pk dans le signatureScript correspond au pkHash de l'output
  3. Il vérifie que la signature est correspond à la pk autorisée, ce qui implique que la signature a été réalisée avec la sk correspondante.

Résumé

Élément Rôle
Mineurs Ordonnent les blocs via PoW
Nœuds Vérifient les transactions et le consensus
UTXO Représente les “billets numériques” individuels
Signature Script Prouve la propriété d’un output

Conclusion

Bitcoin repose sur :

  1. Une chaîne de blocs immuable
  2. Une preuve de travail coûteuse
  3. Un modèle de transactions vérifiables
  4. Un consensus distribué sans autorité centrale

“La confiance n’est plus dans les institutions, mais dans le code et les mathématiques.”

Références

About

Atelier sur Bitcoin

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors