La difficulté est une valeur utilisée pour montrer à quel point il est difficile de trouver un hachage qui sera inférieur à la cible définie par le système.
Le réseau Bitcoin a une difficulté globale de blocage. Les blocs valides doivent avoir un hachage en dessous de cette cible. Les pools de minage ont également une difficulté de partage spécifique au pool définissant une limite inférieure pour les partages.
Difficulté de minage de Bitcoin
Dans le réseau Bitcoin, la difficulté globale est définie pour tous les blocs. être considéré comme légitime, il doit avoir une valeur de hachage inférieure à la cible définie.
Carte de difficulté d’extraction de crypto-monnaie
La difficulté change tous les blocs 2016. Ceci est calculé à l’aide de la formule suivante:
où la cible est un nombre de 256 bits.
La difficulté_1_target peut prendre plusieurs Traditionnellement, c’est une fonction de hachage dont les 32 premiers bits sont égaux à 0 tandis que tous les autres sont à 1 (on l’appelle aussi pdiff ou pool difficulté). Le protocole Bitcoin fournit une cible en tant que type à virgule flottante et avec une précision limitée. Différents clients Bitcoin déterminent souvent la difficulté de la crypto-monnaie en fonction de ces données.
Stockage de la difficulté de la crypto-monnaie dans des blocs
Chaque bloc contient une version compressée (appelée « Bits ») de la cible hexadécimale.
En utilisant la formule suivante, la cible peut être obtenue à partir de n’importe quel bloc. Par exemple, si une cible emballée dans un bloc apparaît sous la forme 0x1b0404cb, sa version hexadécimale ressemblera à ceci:
La valeur maximale de ce champ est 0x7fffff tandis que le minimum est 0x008000.
Cible maximale possible ( avec une difficulté égale à 1) est défini comme 0x1d00ffff qui apparaît comme suit en numération hexadécimale:
Ensuite est un moyen facile de calculer la difficulté. Il utilise une version modifiée de la série Taylor au logarithme et s’appuie sur les logs pour transformer le calcul de la difficulté.
Difficulté maximale, actuelle et minimale
La difficulté actuelle peut être découvert en utilisant la ligne de commande Bitcoin « getDifficulty ».
En raison de l’absence de valeur minimale de la fonction cible, la difficulté maximale peut être calculée approximativement comme suit: maximum_target / 1 (car 0 conduirait l’équation à être infiniment grande ) qui est un nombre inconcevable (~ 2 contre 224).
La difficulté minimale est juste égale à 1.
Changements de difficulté
La difficulté est modifiée tous les 2016 blocs en fonction du temps nécessaire pour découvrir les blocs précédents de 2016. Si un bloc est trouvé toutes les 10 minutes (comme il était initialement prévu pour une émission uniforme), trouver les blocs 2016 prendra exactement 2 semaines. Si les blocs de 2016 précédents étaient trouvés dans plus de deux semaines, la difficulté d’extraction de crypto-monnaie sera réduite, et s’ils ont été exploités plus rapidement, cela augmentera. Plus on a passé (ou moins) de temps à trouver les blocs de 2016 précédents, plus la difficulté sera réduite (augmentée).
Pour extraire un hachage de bloc doit être inférieur à targer (preuve de travail) . Le hachage est un nombre aléatoire compris entre 0 et 2 * 256-1.
La difficulté est définie comme si nous avions trouvé des blocs de 2016 précédents à la vitesse d’un bloc toutes les 10 minutes
Temps moyen de trouver un seul bloc peut être calculé en utilisant cette formule: temps = difficulté * 2 ** 32 / hashrate où «difficulté» est le niveau de difficulté actuel de la crypto-monnaie du réseau de difficulté BTC et «hashrate» est la quantité de hachages qu’un mineur trouve par seconde.
Quelle est la difficulté actuelle?
Difficulté actuelle en ligne, comme indiqué par le getDifficulty de Bitcoin.
Tableau de difficulté Bitcoin
Quelle est la difficulté maximale?
Là Il n’y a pas de cible minimale. La difficulté maximale est approximativement: maximum_target / 1 (puisque 0 entraînerait l’infini), ce qui est un nombre ridiculement énorme (environ 2 ^ 224).
La difficulté maximale réelle est lorsque current_target = 0, mais nous ne serions pas en mesure de calculer la difficulté si cela se produisait. (Heureusement, cela ne le sera jamais, alors nous allons bien.)
La difficulté du réseau peut-elle diminuer?
Oui, c’est possible.
Quelle est la difficulté BTC minimale?
La difficulté minimale, lorsque la cible est à la valeur maximale autorisée, est de 1.
Quel taux de hachage réseau entraîne une difficulté donnée?
La difficulté est ajustée tous les blocs de 2016 en fonction du temps nécessaire pour trouver les blocs de 2016 précédents. Au rythme souhaité d’un bloc toutes les 10 minutes, les blocs de 2016 prendraient exactement deux semaines à trouver. Si les blocs de 2016 précédents ont mis plus de deux semaines à trouver, la difficulté est réduite. S’ils ont pris moins de deux semaines, la difficulté est augmentée. Le changement de difficulté est proportionnel au temps qu’il a fallu à plus ou moins de deux semaines pour trouver les blocs précédents de 2016.
Pour trouver un bloc, le hachage doit être inférieur à la cible. Le hachage est en fait un nombre aléatoire compris entre 0 et 2 ** 256-1.Le décalage pour la difficulté 1 est
et pour la difficulté D est
Le nombre attendu de hachages que nous devons calculer pour trouver un bloc de difficulté D est donc
ou simplement
La difficulté est définie de telle sorte que les blocs de 2016 précédents auraient été trouvés au rythme d’un toutes les 10 minutes, nous calculions donc (D * 2 ** 48 / 0xffff) les hachages en 600 secondes . Cela signifie que le taux de hachage du réseau était de
par rapport aux blocs de 2016 précédents. Peut être encore simplifié à
sans trop de perte de précision.
En difficulté 1, soit environ 7 Mhashes par seconde.
Au moment de la rédaction, la difficulté est de 22012.4941572, ce qui signifie que sur l’ensemble précédent de blocs de 2016, le taux de hachage moyen du réseau était de
Dans combien de temps pourrais-je espérer générer un bloc?
(La question éternelle.)
Le temps moyen pour trouver un bloc peut être estimé en calculant:
où la difficulté est la difficulté actuelle, le hashrate est le nombre de hachages que votre mineur calcule par seconde, et le temps est la moyenne en secondes entre les blocs que vous trouvez.
Par exemple, en utilisant Python, nous calculons le temps moyen pour générer un bloc en utilisant une plate-forme de minage 1Ghash / s lorsque la difficulté est de 20000:
et constatez que cela prend un peu moins de 24 heures en moyenne.
- Tout broyage du hachage a les mêmes chances de « gagner » que tout autre. Le jeu des nombres est le nombre de tentatives que votre matériel peut faire par seconde.
- Vous devez connaître la difficulté (ci-dessus) et votre taux de khash / sec (rapporté par le client).
- Exploitation minière La comparaison matérielle contient des statistiques qui peuvent vous aider à prédire ce que vous pourriez obtenir.
- Visitez une calculatrice ou effectuez les calculs vous-même,
- http://www.alloscomp.com/bitcoin/calculator.php
- http://www.vnbitcoin.org/bitcoincalculator.php
- https://bitknock.com/calculator
- N’oubliez pas que c’est juste une probabilité! Il n’y a aucune garantie que vous gagnerez tous les N jours.
Voir aussi
- Preuve de travail
- Bloquer
- Liste de crypto-monnaie
- Confirmation de transaction
- Pools de minage