Les blocs orphelins sont des blocs d'une blockchain qui n'appartiennent pas à la blockchain principale. Ils apparaissent lorsque deux mineurs découvrent simultanément un bloc valide et le diffusent sur le réseau. Cela crée temporairement deux blockchains concurrentes au sein du réseau jusqu'à ce que l'une d'entre elles devienne plus longue et soit acceptée par la majorité, ce qui entraîne l'élimination de l'autre blockchain. Les blocs rejetés sont appelés blocs orphelins ou, plus précisément, blocs périmés.
Formation :
Les blocs orphelins sont formés lorsque plusieurs mineurs génèrent des blocs presque simultanément. Le réseau ne pouvant accueillir qu'une seule version de la blockchain, le bloc qui n'est pas intégré dans la blockchain la plus longue devient orphelin.
Validation :
Les deux blocs impliqués dans cette situation sont valides, mais un seul peut être incorporé dans la blockchain principale. L'autre, malgré sa validité, est abandonné.
Résolution :
Le réseau résout ce problème en sélectionnant la blockchain la plus longue (celle qui a accumulé le plus de travail). Les blocs de la blockchain la plus courte deviennent orphelins et leurs transactions sont renvoyées au mempool, en attendant d'être incluses dans les futurs blocs.
Retour des transactions :
Les transactions effectuées dans les blocs orphelins ne sont pas perdues, mais retournent dans le mempool, en attendant d'être confirmées dans un bloc ultérieur. Cela peut entraîner de légers retards dans la confirmation des transactions.
Efficacité de minage :
Les blocs orphelins représentent une perte de revenus potentiels pour les mineurs, car la récompense de bloc et les frais de transaction d'un bloc orphelin ne sont pas réalisés. Cela peut influencer l'efficacité et la rentabilité globales des opérations de minage.
Sécurité du réseau :
L'apparition de blocs orphelins est un élément naturel des réseaux blockchain et ne pose pas de risque important pour la sécurité. Néanmoins, des occurrences répétitives peuvent suggérer des problèmes de latence du réseau ou d'autres inefficacités.
Dans les versions antérieures du logiciel Bitcoin Core, les blocs orphelins étaient définis comme des blocs dont le parent était inconnu. Cependant, depuis la sortie de Bitcoin Core v0.10 début 2015, ce problème spécifique a été résolu. Actuellement, le terme "bloc orphelin" est utilisé de manière interchangeable avec le terme "bloc périmé", même s'ils sont techniquement distincts.
Une compréhension approfondie des blocs orphelins est cruciale pour les mineurs, car ils soulignent la nature compétitive du minage et la nécessité d'une propagation efficace des nouveaux blocs dans le réseau. Les mineurs s'efforcent de minimiser les blocs orphelins en améliorant la connectivité de leur réseau et en utilisant des logiciels de minage plus avancés pour propager et valider rapidement les nouveaux blocs.
Les blocs orphelins sont une caractéristique essentielle du mécanisme de consensus d'une blockchain, illustrant la sélection par le réseau de la blockchain la plus longue pour maintenir un historique unifié et approuvé des transactions. Bien qu'ils représentent une perte pour les mineurs et un retard temporaire pour certaines transactions, ils contribuent à la résilience et à la sécurité du réseau blockchain en respectant la règle de la blockchain la plus longue.