Réseau (Network)
Les étapes pour faire fonctionner le réseau sont les suivantes:
- Les nouvelles transactions sont diffusées à l’ensemble des nœuds.
- Chaque nœud regroupe les transactions fraîchement reçues dans un bloc.
- Chaque nœud cherche une preuve-de-travail exigeante pour son bloc.
- Lorsqu’un nœud trouve la preuve-de-travail, il diffuse son bloc à tous les autres nœuds.
- Les nœuds n’acceptent le bloc que si toutes les transactions qu’il contient sont valides et n’ont pas déjà été dépensées.
- Les nœuds expriment leur accord en commençant immédiatement à créer le bloc suivant, en se servant du hachage du bloc accepté comme référence pour le bloc précédent.
Les nœuds considèrent toujours la chaîne la plus longue comme la bonne et persistent à la prolonger. Si deux nœuds diffusent simultanément deux versions du prochain bloc, certains nœuds recevront l’une ou l’autre en premier ; ils travailleront alors sur la première reçue, tout en conservant la seconde au cas où celle-ci deviendrait plus longue par la suite. L’égalité se brisera dès qu’une nouvelle preuve-de-travail sera trouvée, rendant l’une des branches plus longue ; les nœuds qui travaillaient sur l’autre branche basculeront alors vers la nouvelle branche la plus longue.
La diffusion d’une nouvelle transaction n’a pas besoin de toucher tous les nœuds ; tant que la majorité des nœuds la reçoivent, elle finira tôt ou tard dans un bloc. De même, la diffusion des blocs tolère la perte de messages. Si un nœud ne reçoit pas un bloc, il en prendra conscience à la réception du bloc suivant et sollicitera le bloc manquant.