L'horodatage ou horodatage est un petit élément de données stocké dans chaque bloc en tant que série unique et dont la fonction principale est de déterminer le moment exact où le bloc a été extrait et validé par le réseau blockchain.
LLa décentralisation est l'un des aspects fondamentaux de la technologie blockchain Et bien sûr, cela implique que n'importe qui, de n'importe où dans le monde, peut être ajouté au réseau et y opérer. Cela entraîne à son tour qu'il n'y a pas de code temporel universel. C'est parce que nous pouvons nous connecter à partir de n'importe quel fuseau horaire. L'horodatage est un horodatage, qui est calculé en fonction de différents paramètres.
Le paramètre temporel, ou horodatage, est basé sur un ajustement instantané qui utilise une médiane des horodatages renvoyés par tous noeuds du réseau. Cela est dû à sa forme décentralisée et cherche à garder les nœuds du réseau aussi synchronisés que possible.
Nous devons également garder à l'esprit que les horodatages des blocs ne sont pas exacts. C'est parce qu'ils ne doivent pas nécessairement être en ordre. Cependant, ils offrent toujours une précision relative comprise entre une et deux heures, ce qui donne une marge de validité. Fondamentalement, tous les nœuds se connectent au même créneau horaire. Pour cela, le UTC-0 (Heure locale de Londres), où UTC C'est en espagnol Temps universel coordonné. À partir de là, les nœuds du réseau coordonnent le temps pendant lequel ils travaillent. Maintenant, après avoir stocké ces données, le nœud local calcule le temps de trajet entre UTC et l'heure locale.
Ainsi, un ajustement est effectué entre le moment du nœud local et le déplacement de tous les nœuds qui sont connectés au réseau. Cela permet d'ajuster régulièrement l'heure du réseau. Cela évite les manipulations et se fait généralement avec de légères variations temporaires par rapport au fuseau horaire. Ceci est fait de cette manière, car il peut y avoir de nombreux index horaires et répétitions et d'autres problèmes peuvent survenir. Par conséquent, un système de création d'horodatage universel a été développé pour tous les nœuds. Ce système prend en compte le décalage horaire qui pourrait exister entre les nœuds.
L'implémentation d'un horodatage rend le bloque il est impossible de se répéter à l'avenir, car en plus de l'heure, la date de création du bloc est également stockée, par conséquent, il n'y a aucune possibilité que la même chose soit répétée hachage cela s'est produit il y a une semaine, deux mois ou un an.
À quoi sert l'horodatage dans la blockchain?
L'une des principales utilisations des horodatages est de définir les paramètres du processus de minage. En effet, ces horodatages permettent aux nœuds d'ajuster correctement le difficulté minière à utiliser pour chaque période de génération de bloc. Les horodatages aident le réseau à déterminer combien de temps il faut pour extraire les blocs d'une certaine période et à partir de là, le paramètre de difficulté de l'extraction est ajusté.
Cela peut bien sûr ouvrir la porte aux mineurs pour manipuler le temps afin de réduire la difficulté. Cependant, Satoshi Nakamoto anticipé cela et programmé le réseau de sorte que les nœuds ignorent les blocs qui sont en dehors d'une certaine plage de temps en fonction de leur propre horloge interne. En conséquence, si un mineur essayait de faire cela, il perdrait tout son travail minier.
D'autre part, dans le whitepaper de Bitcoin, Nakamoto explique qu'une autre fonctionnalité de l'horodatage est de créer un mécanisme pour éviter les doubles dépenses. À cet égard, Nakamoto a écrit ce qui suit:
Pour nos besoins, la dernière transaction est celle qui compte, nous ne nous soucierons donc pas des tentatives de double dépense ultérieures.
L'horodatage dans Bitcoin et sa sécurité
En Bitcoin, chaque bloc contient un horodatage de type Unix. Cette marque sert de source de variation dans le hachage du bloc et empêche sa manipulation. Le fait d'utiliser un Horodatage de type Unix représente un problème pour Bitcoin. En effet, les horodatages de type Unix ont la capacité d'afficher des périodes allant jusqu'à 2038. Pour résoudre ce problème, Satoshi Nakamoto a programmé le système d'horodatage pour éviter cet échec et le retarder jusqu'en 2106.
Cependant, malgré la sécurité des horodatages, ceux-ci ne sont pas infaillibles. Comme nous l'avons mentionné précédemment, un mineur peut modifier le calendrier de son équipe et miner les blocs avec un horodatage inférieur. Cette attaque est connue et s'appelle Attaque de distorsion temporelle o Attaque de distorsion temporelle.
L'attaque du Time Warp
Un Attaque de distorsion temporelle Cela se produit lorsqu'un mineur signale des horodatages incorrects sur les blocs qu'il extrait, afin de causer moins de difficultés. De nombreuses crypto-monnaies comme Bitcoin ajustent périodiquement la difficulté en fonction du taux de génération de blocs. De cette manière, la génération de blocs reste dans le montant établi dans le code, qui est de 10 minutes par bloc pour Bitcoin.
Ainsi, en signalant des horodatages incorrects, un mineur peut tromper l'algorithme de difficulté et faire diminuer la difficulté. Une situation qui vous permet d'extraire des blocs plus rapidement et de gagner plus d'argent. Cela a des effets négatifs sur l'économie d'une crypto-monnaie, car une attaque de distorsion temporelle augmente le taux d'inflation d'une crypto-monnaie, provoquant une augmentation de l'offre qui peut entraîner une baisse du prix du marché.
Cependant, la probabilité que cela se produise dans Bitcoin est très faible en raison de l'énorme difficulté à laquelle Bitcoin est actuellement confronté. Cela diminue la probabilité de ces types d'attaques. Cette situation a conduit à les développeurs ne veulent pas résoudre ce problème.