Extra

Malléabilité des transactions

Pour aller plus loin:
The Bitcoin malleability attack graphed hour by hour

Clés encryptées (BIP38)

Pour aller plus loin:
BIP38
bip38.js

Portefeuille papier

Adresse de vanité

SegWit

Les sorties segwit

Une sortie segwit est beaucoup plus simple qu’une sortie traditionnelle. Elle se compose de deux valeurs:

Par exemple, la sortie segwit de type 0 vient remplacer P2PKH:

Pour un portefeuille qui ne prend pas en charge segwit, une sortie segwit ressemble à une transaction que tout le monde peut dépenser — qui ne nécessite pas de signature.

Le format segwit

wtxid

 

Commit du bloc

La racine Merkle des txid est enregistrée dans les entêtes du bloc, comme d’habitude. Et on enregistre également un hash calculé à partir des wtxid:

Avantages de SegWit

  1. Malléabilité des transactions
    Comme mentionné précedemment, les transactions qui n’utilisent que des sorties segwit ne sont pas malléables.

  2. Versionnement
    Chaque sortie segwit est précédée d’un numéro de version, on pourra ajouter de nouveaux scripts de manière plus simple, avec des soft fork.

  3. Scalabilité
    Les scripts contribuent souvent de manière importante à la taille totale d’une transaction — dans certains cas, plus de 75% des données dans une transaction. Avec SegWit, les transactions peuvent être “nettoyées” au bout d’un certain temps: on a pas besoin de garder les signatures de transactions qu’on ne peut plus dépenser depuis longtemps et ça n’aura pas d’incidence sur l’id des transactions.

  4. Frais
    Les frais de transaction minimum sont calculés à partir de la taille des transactions. Une sortie segwit est plus courte qu’une sortie non-segwit, cela coûte donc moins cher d’envoyer une transaction au format segwit qu’au format traditionnel.

Pour aller plus loin:
Segregated Witness
BIP141

Adresse Bech32

Bech32 est un format d’adresse segwit spécifié par la BIP173. L’adresse commence par l’identifiant du réseau utilisé (“bc” pour Mainnet ou “tc” pour Testnet) suivit du séparateur “1”, suivit de la sortie segwit encodée en base32, et les 6 derniers caractères sont la checksum.

Sortie segwit:

0279BE667EF9DCBBAC55A06295CE870B07029BFCDB2DCE28D959F2815B16F81798

Sortie Bech32:

bc1qw508d6qejxtdg4y5r3zarvary0c5xw7kv8f3t4

Une adresse au format Bech32 prend donc moins de place.

Pour aller plus loin:
BIP173

Altcoins

Il existe d’autres cryptomonnaies que Bitcoin. La majorité sont des hard forks de Bitcoin qui ne différent que par l’utilisation de politiques et algorithmes différents. On nomme ces cryptomonnaies des altcoins et leur blockchain des altchains.

Pour aller plus loin:
Comparison of cryptocurrencies