Dans la blockchain, il peut y avoir une grande diversité de situations qui doivent être contrôlées et l'une d'entre elles sont les blocs dits orphelins. Ces blocs sont générés par l'activité minière et leur existence fait partie de l'un des problèmes de décentralisation qui a été résolu grâce aux règles de consensus du réseau.
En blockchain, une bloc orphelin o loose est ce bloc valide, résolu avec succès mais ne faisant pas partie d'une blockchain. Le terme en anglais est bloc orphelin, et est largement utilisé dans Bitcoin et d'autres crypto-monnaies qui en dérivent.
D'où vient un bloc orphelin?
Les blocs orphelins étaient à l'origine des blocs correctement résolus, mais leur ascendance complète n'est pas connue. Ce qui signifie que le bloc parent n'est pas connu. Pour cette raison, ils ne peuvent pas être validés. C'était courant dans les premières versions du logiciel Bitcoin, mais à partir de 2015 avec la sortie de la version v.0.10, les blocs orphelins ne sont plus possibles. En effet, les mineurs ne peuvent plus recevoir de blocs dont l'ascendance est inconnue, un changement que nous pouvons examiner dans leur GitHub.
Bien que le terme bloc orphelin soit encore couramment utilisé pour désigner ces blocs générés lorsque deux mineurs parviennent à résoudre un bloc presque simultanément. Comme le réseau n'accepte pas et ne distribue pas le bloc généré instantanément, mais a plutôt un retard, il peut arriver qu'un autre mineur résout exactement le même bloc. Ainsi, deux blocs sont générés dans un temps très proche, et tous deux sont distribués sur le réseau pour validation. Il y aura des mineurs qui distribueront l'un des blocs et ils commenceront à résoudre le bloc suivant en fonction du hachage du bloc reçu. De leur côté, il y aura d'autres mineurs qui auront reçu l'autre bloc généré en premier et commenceront également à résoudre le bloc suivant.
Cependant, il arrivera un moment où un mineur trouvera la solution du bloc suivant sur la base de l'un de ceux générés simultanément. Et c'est à ce moment que les mineurs prendront la plus longue chaîne. Autrement dit, le bloc à partir duquel le bloc suivant a été généré affichera un plus grand Preuve de travail (PoW) et par conséquent, il sera accepté dans la blockchain. Alors que le bloc avec le moins de PoW, il sera rejeté et, par conséquent, il ne sera pas ajouté à la blockchain. Ces types de blocs sont connus sous le nom de blocs invalides ou expirés, bien qu'ils soient plus communément appelés blocs orphelins.
Un autre moyen de générer un bloc orphelin est lorsqu'un pirate tente d'annuler certaines transactions effectuées sur le réseau. Il est à noter que pour qu'une personne puisse réaliser cette action, il faut qu'elle dispose de plus de 50% de la puissance de hachage du réseau.
Où sont-ils stockés?
Les blocs orphelins n'entrent pas dans la blockchain. Au lieu de cela, ils sont temporairement stockés dans un pool nommé pool de blocs orphelins. Là, ils sont affichés comme une sorte de liste de blocs orphelins qui ne font pas partie d'une blockchain.
Il est important de mentionner que les blocs littéralement orphelins, c'est-à-dire qu'ils n'avaient pas de bloc parent, pourraient être ajoutés à la blockchain plus tard. Ceci bien sûr, une fois que le bloc prédécesseur qui a donné naissance au bloc orphelin a été ajouté.
Que savez-vous, cryptonuta?
Les blocs orphelins peuvent-ils permettre à un attaquant d'injecter des dépenses en pièces dans un blocckhain?FAUX!
Un bloc orphelin ne permet pas une telle action. Il en est ainsi car ce type de bloc n'est pas entré dans l'historique de la blockchain. De cette manière, vous ne recevez aucune validation ou confirmation des dépenses en pièces.
Généralités d'un bloc orphelin
- Un bloc orphelin est valide car sa résolution est correcte. Mais encore, cela ne fait pas partie d'une blockchain.
- Ils sont stockés dans un pool de blocs orphelins. Cela signifie que toutes les informations qu'ils contiennent ne sont plus pertinentes pour la blockchain et le réseau en général.
- Les blocs orphelins se produisent fréquemment et surtout par hasard. On estime qu'entre 1 et 3 de tous les blocs générés en une journée sont des orphelins.
- Les transactions incluses dans un bloc orphelin ne sont pas perdues. Au lieu de cela, un autre nouveau bloc les inclut et les valide. C'est quelque chose qui peut se produire dans le bloc de la chaîne la plus longue ou quelques minutes plus tard dans le bloc suivant.
- Les mineurs qui ont réussi à générer des blocs mais qui sont devenus invalides ne recevront pas la récompense de l'exploitation minière.
- Le type de bloc expiré est techniquement valide car s'il a une ascendance à bloc de genèse. Mais ils sont rejetés pour ne pas avoir la plus longue chaîne pour la résolution du bloc suivant.