Oui, mais temps qu'un bloc est "courant" c'est à dire qu'il n'est pas encore dans la bloc chain, pendant que le mineur travaille pour lui trouver un hash, qu'est ce qui empêche d'autres mineurs de choisir quelques transactions déjà choisies pour ce bloc courant ?
Il y a soit:
- le dernier block valide qui est dans la chaine (à la fin)
- les blocks que contituent les mineurs pour les ajouter à la fin de la chaine
Les blocks en cours de contitution ne peuvent pas contenir des transactions qui sont déjà présente dans la chaine principale.
Evidement, les nombreux blocks que contituent les mineurs contiennent quasiment tous les mêmes transactions.
Mais dès qu'un mineur trouvent un blocks, il ajoute le sien à la fin de la chaine, invalidant donc tous les autres.
Et le cycle recommence.
sinon autre question :
j'imagine que quand on mine, l'intérêt est de mettre le plus grand nombre de transactions possible dans son bloc courant (pour les fee). C'est à dire jusqu'à 1M. Non ?
Je ne sais pas s'il y a une strategie pour choisir les transactions. Mais je pense qu'il n'y en a pas suffisamment en 10 minutes pour constituer un block plein de 1Mo.
Il faut savoir aussi, c'est dès qu'un block est trouvé, un pool constitue un block pendant 1 millisecondes et demande à tout les mineurs de trouver un hash valide.
Pendant que les mineurs essaye de trouver le hash, le contenu du block ne peut pas changer.
Les transactions qui arrivent entre temps saccumulent et serviront pour le block suivant.