Chaîne de blocs (Block Chain) est une base de données publique de toutes les transactions dans le système Bitcoin jamais commis. En utilisant cette base de données, chaque utilisateur a la possibilité de savoir combien de Bitcoin appartenait à une adresse particulière dans une certaine période de temps. Grâce aux efforts répartis de nombreux experts de mining cette base de données est soutenue.
Chaque bloc créé contient le hash du bloc précédent. Par conséquent on crée une chaîne de blocs, qui prend sa source du soi-disant bloc de genèse (le premier bloc dans le système Bitcoin) jusqu'au dernière bloc trouvé par le système. Ce n'est pas pratique de modifier informations dans le bloc, qui est déjà dans la chaîne pendant une longue période, car dans ce cas on devait aussi modifier des informations dans tous les blocs suivants. Grâce à ces propriétés, une attaque de double-dépenses (ré-utilisation des fonds déjà dépensés) dans le système de bitcoin n'est pas réalisable.
Les experts honnêtes de mining construisent toujours leur bloc sur dernier bloc existant s'y référant. "Longueur" de la chaîne est calculée en fonction de la complexité totale de chaîne, mais pas du nombre de blocs dans cette chaîne. Continuation de la chaîne est considérée valable si elle contient des informations sur tous les liens précédents de la chaîne et commence avec le bloc de genèse.
Chaque bloc a un seul chemin de chaîne jusqu'au bloc de genèse. À son tour, cette chaîne peut être divisée en plusieurs d'autres commençante du bloc de genèse, formant ainsi un forque (en anglais, "fork"). Forques composés d'un bloc sont tout à fait communs. Ils sont formés lorsque plusieurs nœuds ont "trouvé" un bloc avec une différence de quelques secondes. Lorsque cela se produit, les autres nœuds commencent à construire les chaîne de blocs sur le premier bloc. Lorsque l'un des deux blocs obtient une extension, sa chaîne est considérée comme la chaîne principale de la chaîne de blocs, car elle devient plus longue.
Les blocs qui ne font pas partie de la chaîne de blocs principale, ne sont pas utilisés. Ils ne prévoient pas aussi de rémunération. On appelle ces blocs les "bloc-orphan". Autant que bloc se réfère juste au 1 bloc précédent, c'est impossible de combiner deux chaînes différentes.