Actu-crypto

🔒
❌ About FreshRSS
There are new articles available, click to refresh the page.
Before yesterdayCrypto FR

Google Cloud ajoute 11 nouvelles Blockchains à son service

September 23rd 2023 at 10:00
By: Fitah
Blockchain

Google Cloud annonce l'ajout de 11 blockchains à BigQuery. Cela promet de stimuler l'innovation dans le secteur crypto.

L’article Google Cloud ajoute 11 nouvelles Blockchains à son service est apparu en premier sur Cointribune.

Bitcoin (BTC): la clef fondamentale, c’est l’inflation US !

January 12th 2023 at 14:00

Les marchés financiers ont démarré l’année 2023 sur les chapeaux de roue avec une performance positive étonnante sur les actions des secteurs les plus offensifs en bourse. Quant au marché crypto, il s’est offert un petit rebond, dans un volume en revanche réduit. Le risque désormais est que tous ces mouvements soient pris à revers par une déception sur les chiffres de l’inflation US.

L’article Bitcoin (BTC): la clef fondamentale, c’est l’inflation US ! est apparu en premier sur Cryptoast.

Ethereum (ETH) : Les acheteurs commencent à perdre en force

January 11th 2023 at 19:00
By: Fitah
Optimism, OP, Crypto, Ethereum

L’Ethereum (ETH), sous le contrôle des acheteurs, est actuellement proche d’une résistance critique. Cependant, il semble que cette pression haussière diminue.

L’article Ethereum (ETH) : Les acheteurs commencent à perdre en force est apparu en premier sur Cointribune.

Wix et CoinGate associés, les crypto paiements assurés !

January 11th 2023 at 14:57
Wix et CoinGate annoncent leur partenariat. Et ça promet. La nouvelle ravira celles et ceux que l'hiver inquiète et dont les basses températures ne semblent pas, elles, être perturbées par le changement climatique. 
Annoncée ce 10 janvier, l'association entre Wix et CoinGate marque l'avancée toujours plus dynamique de l'adoption des crypto monnaies comme moyen de paiement légitime chez les commerçants, notamment les sites de e-commerce. ...
Lire la suite: Wix et CoinGate associés, les crypto paiements assurés !

Le Népal ordonne de bloquer les sites Web liés à la crypto

January 11th 2023 at 09:00
mining crypto

L’autorité des télécommunications du Népal a ordonné aux fournisseurs d’accès à Internet (FAI) de bloquer toute activité liée aux crypto. Cette déclaration du 8 janvier intervient à la suite de nombreuses restrictions déjà faites auparavant. L’autorité met en garde quiconque tenterait de se livrer à ces activités. Malgré cette interdiction, le Népal se classe parmi les pays ayant une forte adoption des cryptos.

L’article Le Népal ordonne de bloquer les sites Web liés à la crypto est apparu en premier sur Cointribune.

Une baisse potentielle sur le Bitcoin (BTC) ?

January 10th 2023 at 19:01
premiere piece bitcoin emise qui concretise la valeur et l'innovation du bitcoin

Le leader des cryptos commence l’année sous la main des acheteurs, avec une hausse de 5 %. Cependant, le prix se trouve actuellement proche d’une zone de résistance critique. Peut-on envisager une baisse potentielle sur le Bitcoin (BTC) ? 

L’article Une baisse potentielle sur le Bitcoin (BTC) ? est apparu en premier sur Cointribune.

De mystérieuses antennes cryptées découvertes dans les montagnes d’Utah

January 10th 2023 at 13:00
blockchain

Les autorités de l’Utah ont découvert de mystérieuses antennes sur les contreforts de la région de Salt Lake City. S’agit-il d’antennes appartenant à un réseau blockchain ?

L’article De mystérieuses antennes cryptées découvertes dans les montagnes d’Utah est apparu en premier sur Cointribune.

Les hackers ont-ils parfois du cœur ?

January 9th 2023 at 21:00
Lockbit ransomware Hack

Les hackers volent tout le monde, riches et pauvres, grandes entreprises ou particuliers sans concession. À de très rares exceptions.

L’article Les hackers ont-ils parfois du cœur ? est apparu en premier sur Cointribune.

L’Ethereum (ETH) poursuit son rallye de début d’année !

January 9th 2023 at 19:00
L'ether plonge

L’Ethereum (ETH) continue son rallye de début d’année, avec une hausse de presque 13 %. Le prix va-t-il franchir le dernier obstacle à court terme ? Découvrez cette analyse.

L’article L’Ethereum (ETH) poursuit son rallye de début d’année ! est apparu en premier sur Cointribune.

Un investisseur milliardaire prédit la dégringolade du géant Google !

January 9th 2023 at 15:00
Google, chute, ChatGPT

La semaine passée, le 6 janvier, la chaîne YouTube All-In Podcast a diffusé un nouvel épisode de son émission. Le milliardaire Chamath Palihapitiya est intervenu durant l’émission pour notamment parler du nouveau chatbot basé sur l’intelligence artificielle (IA). En effet, il a présenté ChatGPT, lancé il y a pratiquement deux mois, comme un outil innovant. Selon lui, celui-ci pourrait aisément concurrencer le géant du Web.

L’article Un investisseur milliardaire prédit la dégringolade du géant Google ! est apparu en premier sur Cointribune.

Holoride apporte la réalité virtuelle dans votre véhicule

January 9th 2023 at 09:00
Réalité virtuelle

Holoride, une start-up financée par Audi a lancé un gadget qui permet d’utiliser la réalité virtuelle dans tous les véhicules.

L’article Holoride apporte la réalité virtuelle dans votre véhicule est apparu en premier sur Cointribune.

Crypto2 en orbite depuis le 3 janvier !

January 7th 2023 at 12:00
Satellite en orbite

En partenariat avec SpaceX, Cryptosat a envoyé Crypto2 en orbite le 3 janvier. Une bonne nouvelle pour la communauté crypto !

L’article Crypto2 en orbite depuis le 3 janvier ! est apparu en premier sur Cointribune.

L’élan haussier actuel sur le Bitcoin (BTC) se poursuivra-t-il ?

January 6th 2023 at 19:00
prix, bitcoin, hausse

Depuis une semaine, la reine des cryptos a suivi une droite de tendance haussière. Cependant, une pression baissière s’est installée depuis mercredi. Ce qui pourrait freiner l’élan haussier sur le cours du Bitcoin (BTC), depuis le début de l’année.

L’article L’élan haussier actuel sur le Bitcoin (BTC) se poursuivra-t-il ? est apparu en premier sur Cointribune.

Bitcoin, principe de la chaîne la plus longue et preuve de travail accumulée

July 2nd 2022 at 09:30

Satoshi Nakamoto a conceptualisé Bitcoin en 2008 et a inventé au passage un algorithme de consensus novateur fondé sur la preuve de travail. Ce dernier permet aux nœuds du réseau pair-à-pair d'arriver à un accord sur le registre de propriété et d'assurer le traitement décentralisé des transactions.

Mais cet algorithme est parfois le sujet d'une certaine confusion. D'un côté, il arrive qu'on le confonde avec le mécanisme de preuve de travail lui-même, ou bien avec la fonction de hachage SHA-256 qui intervient dans le procédé. De l'autre, une erreur répandue est de penser qu'il repose sur une application naïve du principe de la « chaîne la plus longue », tel que décrit dans le livre blanc de Bitcoin. Voyons ce qu'il en est réellement.

 

La preuve de travail

Contrairement à ce que l'on pense, la preuve de travail n'est pas un moyen d'arriver au consensus sur le réseau, même si elle joue un rôle essentiel dans ce processus.

La preuve de travail est en effet un mécanisme de résistance aux attaques Sybil, qui empêche un acteur de multiplier les identités à l'excès pour prendre le contrôle du réseau, ici la confirmation des transactions. Une attaque Sybil est une attaque intervenant au sein d'un réseau ouvert basé sur un système de réputation qui consiste à se dupliquer à moindre coût pour en altérer le fonctionnement. C'est un problème particulièrement présent sur les médias sociaux par exemple, où les comptes de robots sont utilisés en masse pour augmenter la visibilité d'un contenu donné.

La preuve de travail résout ce problème en demandant aux utilisateurs de démontrer de manière objective et quantifiable qu’ils ont dépensé de l’énergie et en discriminant ainsi les participants entre eux1. Dans le cas de Bitcoin, elle sélectionne le mineur qui choisit le nouveau bloc de transactions étant ajouté à la chaîne. Comme l'écrivait Satoshi :

« La preuve de travail résout [...] le problème de la détermination de la représentation dans la prise de décision majoritaire. Si la majorité était basée sur le principe de vote par adresse IP (une adresse IP, une voix), elle pourrait être détournée par toute personne capable de s'octroyer de nombreuses adresses IP. La preuve de travail est essentiellement basée sur la puissance de calcul : un processeur, une voix. La décision majoritaire est représentée par la chaîne la plus longue, sur laquelle le plus grand effort de preuve de travail a été investi. »

L'idée est de requérir une dépense d'énergie externe pour ajouter un bloc à la chaîne, en échange de quoi le mineur reçoit une récompense composée de bitcoins issus de la création monétaire et des frais de transaction.

Plus précisément, la preuve de travail est réalisée par les hachages successifs de l'entête du bloc candidat via la double application2 de la fonction de hachage SHA-256, qui produit des empreintes de 256 bits, soit 32 octets. La preuve consiste à trouver une empreinte qui soit inférieure à une valeur cible déterminée par le protocole, ce qui constitue une collision partielle de la fonction de hachage et rappelle Hashcash. En termes mathématiques, il s'agit de trouver un nonce (n) tel que :

SHA256d( ENTÊTE( n ) ) ⩽ valeur_cible

Puisque la fonction de hachage est supposée impossible à inverser algorithmiquement, le mineur doit se contenter d'essayer un grand nombre de possibilités au hasard pour trouver une empreinte satisfaisant cette inégalité. La probabilité de tomber sur un résultat correct étant connue, cela permet d'estimer une quantité moyenne de travail effectué pour arriver à la solution.

L'empreinte résultante commence nécessairement par un grand nombre de zéros et constitue l'identifiant du bloc. Par exemple, le bloc 630 000 de la chaîne de BTC a pour identifiant :

000000000000000000024bead8df69990852c202db0e0097c1a12ea637d7e96d

Ainsi, la preuve de travail est le bloc lui-même et chaque membre du réseau peut la vérifier facilement en calculant son identifiant.

 

Le principe de la chaîne la plus longue

Un algorithme de consensus est un mécanisme permettant de parvenir à un accord au sein d'un réseau distribué, qui résout de ce fait le problème des généraux byzantins. Dans le cas des cryptomonnaies, il s'agit de se mettre d'accord sur le registre de propriété qui décrit qui possède quoi. L'algorithme de consensus de Bitcoin s'appelle l'algorithme de consensus de Nakamoto par preuve de travail, en hommage à son créateur, Satoshi Nakamoto.

Dans la section 5 du livre blanc, Satoshi décrivait son algorithme en se basant sur le principe de la chaîne la plus longue. Si ce principe est faillible comme on va le voir, il est néanmoins utile pour se représenter le fonctionnement général du consensus. Voici le processus.

 

Coordination

« Les nœuds considèrent toujours que la chaîne la plus longue est la chaîne correcte, et continuent à travailler pour la prolonger. »

Tout d'abord, le réseau se comporte de manière attendue : les nœuds se coordonnent en sélectionnant la chaîne la plus longue et les mineurs travaillent à la prolonger. Tout se passe bien et il n'y a qu'une seule branche.

 

Embranchement

« Si deux nœuds transmettent simultanément des versions différentes du bloc suivant, certains nœuds peuvent recevoir l'une ou l'autre version en premier. Dans ce cas, ils travaillent sur la première version qu'ils ont reçue, mais conservent l'autre branche au cas où elle deviendrait plus longue. »

Puis, un conflit a lieu. Celui-ci peut être créé par un acteur malveillant, mais est généralement engendré de manière accidentelle, à cause de la latence du réseau : deux mineurs valident un bloc à peu près au même moment ce qui fait que les nœuds ne reçoivent pas le même bloc en premier.  On assiste alors à un embranchement (appelé fork en anglais) : deux branches différentes également correctes coexistent et il est impossible de déterminer laquelle il faut prolonger.

Embranchement commun : conflit

Notez que ce type d'embranchement accidentel est commun et se produit de temps en temps sur le réseau pour des raisons de latence.

 

Recoordination

« L'égalité est rompue lorsque la preuve de travail suivante est trouvée et qu'une branche devient plus longue ; les nœuds qui travaillaient sur l'autre branche passent alors sur la chaîne la plus longue. »

Le conflit est enfin résolu lorsqu'une chaîne plus longue (contenant une plus grande quantité de travail accumulée) est partagée sur le réseau. Il se produit alors ce qu'on appelle une recoordination (ou reorganization en anglais) qui réconcilie les nœuds du réseau entre eux.

Embranchement commun : recoordination

Les blocs de la branche minoritaire (dits « orphelins ») sont rejetés.

 

Le fonctionnement de cet algorithme de consensus a deux conséquences :

  • La sécurité de confirmation du réseau repose sur la supposition qu'une majorité de la puissance de calcul (« 51 % ») est honnête, et donc sur la concurrence entre les mineurs ;
  • La sécurité d'une transaction est statistique, son degré de finalité dépendant de la profondeur à laquelle elle se trouve dans la chaîne (un segment plus long sera plus difficile à récrire pour annuler la transaction).

Bien que l'algorithme de Nakamoto ait des défauts, il est important que ce critère objectif reste en place car il fait partie des éléments qui donnent à Bitcoin sa robustesse. Si un cloisonnement persistant du réseau venait à avoir lieu, par exemple dans le cas extrême où « un pays se [couperait] délibérément et totalement du reste du monde », alors il serait possible pour les deux parties du réseau de se réconcilier une fois la connexion rétablie.

 

L'ajustement de la difficulté et la quantité de travail accumulée

Dans le livre blanc, Satoshi supposait que la chaîne la plus longue, était nécessairement celle sur laquelle « le plus grand effort de preuve de travail [avait] été investi ». C'est pour cela qu'il a implémenté naïvement le principe de la chaîne la plus longue dans le protocole originel. Ce n'est que le 25 juillet 2010, dans la version 0.3.3 du logiciel, qu'il a redéfini l'algorithme de consensus pour prendre en compte la notion de travail.

Le principe strict de la chaîne la plus longue est bien valide lorsque la difficulté de minage est constante, car alors la quantité moyenne d'énergie dépensée est fonction du nombre de blocs minés. Néanmoins, la difficulté dans Bitcoin n'est pas fixe et subit un ajustement régulier pour faire en sorte que le temps de bloc moyen reste de 10 minutes et que la politique monétaire établie soit respectée.

La difficulté du minage est définie comme une quantité évoluant de manière inversement proportionnelle à la valeur cible du protocole3. Quand la valeur cible diminue, la difficulté à trouver une empreinte satisfaisant l'inégalité augmente. À l'inverse, quand la valeur cible augmente, la difficulté diminue.

Lorsqu'ils minent un bloc, les mineurs incluent dans le bloc un horodatage (timestamp). Cela permet au réseau d'avoir une idée du temps qui passe. Depuis 2016, le temps réseau est le temps médian passé (MTP), qui est défini comme la médiane des horodatages des 11 derniers blocs et qui retarde donc d'environ une heure (6 blocs) sur l'heure UTC. Notez aussi qu'un horodatage ne peut pas se trouver plus de deux heures dans le futur par rapport au temps subjectif du nœud.

L'ajustement de la difficulté se produit tous les 2016 blocs, c'est-à-dire (hormis grosse variation du taux de hachage) toutes les 2 semaines dans le monde réel. L'algorithme d'ajustement est simple : si le temps mesuré dans la période de 2016 blocs est inférieur à 20 160 minutes (temps attendu), alors la difficulté augmente pour se conformer à la puissance de calcul supposée ; s'il est supérieur, alors la difficulté diminue4. Le reciblage est limité à un facteur 4 (multiplication comme division) pour éviter les instabilités. La difficulté de BTC est aujourd'hui 29 570 milliards de fois plus élevée qu'au lancement du réseau en janvier 2009.

Puisque la difficulté a subi une considérable hausse, il aurait été possible d'exploiter le principe de la chaîne la plus longue. Un attaquant disposant d'une certaine puissance de calcul aurait pu générer une branche partant d'un point de la chaîne où la difficulté était très basse5 (typiquement le bloc de genèse), en réécrivant les horodatages pour avoir des intervalles de 10 minutes, et miner une quantité énorme de blocs à la fin pour rattraper la chaîne principale, la difficulté ne pouvant que quadrupler tous les 2016 blocs. L'attaque n'aurait pas été gratuite, mais aurait suffi à détruire Bitcoin dans le cas où une autre solution n'aurait pas été trouvée (ce qui est improbable).

C'est pour cela l'algorithme de consensus a été revu pour prendre en considération le travail, qui est défini comme le nombre moyen de hachages nécessaires pour miner un bloc ou une chaîne de blocs6, plutôt que la longueur de la chaîne pour arriver à un accord sur le réseau. Depuis le 25 juillet 2010, la chaîne à suivre est ainsi déterminée par sa quantité de travail (ou de « preuve de travail ») : la chaîne correcte est la chaîne possédant le plus de travail accumulé. Aujourd'hui le travail de la chaîne de BTC représente plus de 15 000 yottahachages, soit 15 milliards de milliards de milliards de hachages.

 

Conclusion

Pour que les nœuds du réseau se mettent d'accord sur son registre de propriété, Bitcoin dispose d'un algorithme de consensus appelé l'algorithme de consensus de Nakamoto par preuve de travail. Cet algorithme est à différencier du concept de preuve de travail qui sert de mécanisme de résistance aux attaques Sybil pour sélectionner les mineurs, de sa mise en œuvre qui consiste à produire une collision partielle d'une fonction de hachage et de la fonction de hachage elle-même.

Le consensus se base sur la sélection d'une chaîne de blocs selon sa quantité de travail accumulée, et non strictement de son nombre de blocs comme on l'entend parfois. En effet, si le principe de la chaîne la plus longue tient la route dans une certaine mesure, il ne suffit pas à garantir la robustesse de Bitcoin.

 

Notes

1. Il existe d'autres mécanismes de résistance aux attaques Sybil dans les systèmes cryptoéconomiques, ces derniers reposant soit sur l'identification (auquel cas on parle de « preuve d'autorité »), soit sur une quantité d'unités internes au système (auquel cas on parle de « preuve d'enjeu »). La « preuve d'espace » constitue une variante de la preuve de travail, qui repose également sur une énergie externe au système.

2.  Dans le minage, la fonction de hachage SHA-256 est toujours appliquée deux fois, supposément pour éviter les attaques par extension de longueur. La véritable fonction de hachage considérée est donc le double SHA-256.

3. La difficulté est définie comme diff = cible_max / cible où la valeur cible maximale du réseau est :

cible_max = 0x00ffff × 256(0x1d - 3)
          = 0x00000000ffff0000000000000000000000000000000000000000000000000000

4. La formule d'ajustement de la difficulté est :

nouvelle_cible = ancienne_cible × temps_réel_écoulé / (14 × 24 × 60 × 60)

Le temps réel écoulé est mesuré à partir des horodatages des 2016 derniers blocs, ce qui correspond à 2015 intervalles de temps. L'algorithme est donc défectueux et surestime la puissance de calcul déployée.

5. Une telle réécriture de chaîne ne pourrait réalistiquement pas être faite aujourd'hui, car des points de contrôle ont été introduits manuellement dans le code pour empêcher une recoordination trop profonde (pratique initiée par Satoshi le 17 juillet 2010). Puisque le dernier point de contrôle est le bloc 295 000 miné le 9 avril 2014, la difficulté est trop haute (6 119 726 089) pour pouvoir rattraper le retard pris sur la chaîne principale.

Il semble également infaisable d'abaisser la difficulté (en espaçant les blocs sur la branche concurrente) pour procéder à la même technique par la suite : le retard pris pour réduire la difficulté serait trop grand.

6. Le travail d'un bloc est le quotient du nombre d'empreintes possibles (2256) par le nombre d'empreintes satisfaisant le problème :

travail_du_bloc = 2256 / (cible + 1)

Le travail d'une chaîne est la somme des travaux de tous les blocs la composant.

Le bloc de genèse de Bitcoin

March 24th 2022 at 09:00

Lorsqu'il a conçu le prototype de Bitcoin en janvier 2009, Satoshi Nakamoto a dû construire un premier bloc à partir duquel la chaîne s'est allongée. Ce bloc il l'a appelé le bloc de genèse (« genesis block » en anglais) en référence au premier livre de la Torah et de la Bible, qui raconte la création du monde par Dieu.

Par convention, on considère qu'il s'agit du bloc de hauteur 0 (ou « bloc 0 ») au-dessus duquel les autres blocs sont successivement empilés. Examinons plus en détail ce que contient cet élément fondateur de Bitcoin en procédant à une dissection minutieuse !

 

Un bloc fondateur

Le bloc de genèse est une donnée essentielle du protocole Bitcoin car il constitue la base à partir de laquelle on peut déterminer la chaîne la plus longue (c'est-à-dire celle ayant le plus de preuve de travail accumulée) et par conséquent la validité des transactions du registre. Il est théoriquement le seul bloc à devoir être inscrit en dur dans le protocole, même si d'autres l'ont été par la suite.

Tel que l'écrivait Satoshi Nakamoto :

« La chaîne de blocs est une structure en forme d'arbre qui a pour racine le bloc de genèse, chaque bloc pouvant avoir plusieurs candidats à sa suite. »

Bloc de genèse embranchements

Le code de novembre 2008 (fourni par Satoshi à Hal Finney, Ray Dillinger et James A. Donald notamment) contenait déjà une première version du bloc de genèse, horodatée au 10 septembre 2008, 18:02:08 UTC. Néanmoins, un nouveau bloc a été construit en janvier 2009 spécialement pour le lancement du prototype.

Le bloc de genèse que nous connaissons est ainsi présent dans la version 0.1 du logiciel de Bitcoin, publiée le 8 janvier 2009. Un commentaire au sein du code le décrit :

Genesis Block:
GetHash()      = 0x000000000019d6689c085ae165831e934ff763ae46a2a6c172b3f1b60a8ce26f
hashMerkleRoot = 0x4a5e1e4baab89f3a32518a88c31bc87f618f76673e2cc77ab2127b7afdeda33b
txNew.vin[0].scriptSig     = 486604799 4 0x736B6E616220726F662074756F6C69616220646E6F63657320666F206B6E697262206E6F20726F6C6C65636E61684320393030322F6E614A2F33302073656D695420656854
txNew.vout[0].nValue       = 5000000000
txNew.vout[0].scriptPubKey = 0x5F1DF16B2B704C8A578D0BBAF74D385CDE12C11EE50455F3C438EF4C3FBCF649B6DE611FEAE06279A60939E028A8D65C10B73071A6F16719274855FEB0FD8A6704 OP_CHECKSIG
block.nVersion = 1
block.nTime    = 1231006505
block.nBits    = 0x1d00ffff
block.nNonce   = 2083236893
CBlock(hash=000000000019d6, ver=1, hashPrevBlock=00000000000000, hashMerkleRoot=4a5e1e, nTime=1231006505, nBits=1d00ffff, nNonce=2083236893, vtx=1)
  CTransaction(hash=4a5e1e, ver=1, vin.size=1, vout.size=1, nLockTime=0)
    CTxIn(COutPoint(000000, -1), coinbase 04ffff001d0104455468652054696d65732030332f4a616e2f32303039204368616e63656c6c6f72206f6e206272696e6b206f66207365636f6e64206261696c6f757420666f722062616e6b73)
    CTxOut(nValue=50.00000000, scriptPubKey=0x5F1DF16B2B704C8A578D0B)
  vMerkleTree: 4a5e1e

Ce bloc pèse très exactement 285 octets. Le voici représenté en hexadécimal brut :

0100000000000000000000000000000000000000000000000000000000000000000000003ba3edfd7a7b12b27ac72c3e67768f617fc81bc3888a51323a9fb8aa4b1e5e4a29ab5f49ffff001d1dac2b7c0101000000010000000000000000000000000000000000000000000000000000000000000000ffffffff4d04ffff001d0104455468652054696d65732030332f4a616e2f32303039204368616e63656c6c6f72206f6e206272696e6b206f66207365636f6e64206261696c6f757420666f722062616e6b73ffffffff0100f2052a01000000434104678afdb0fe5548271967f1a67130b7105cd6a828e03909a67962e0ea1f61deb649f6bc3f4cef38c4f35504e51ec112de5c384df7ba0b8d578a4c702b6bf11d5fac00000000

Le bloc de genèse est composé d'un entête de 80 octets et d'une unique transaction, la transaction de récompense. Son identifiant (le résultat du hachage de l'entête par double SHA-256) est 000000000019d6689c085ae165831e934ff763ae46a2a6c172b3f1b60a8ce26f. Les zéros qui débutent cet identifiant indiquent qu'une preuve de travail a été réalisée.

Notez que les différentes informations contenues dans le bloc sont souvent transmises avec un ordre des octets inverse (dit « little-endian » ou « petit-boutiste »). Nous donnerons ici les informations dans l'ordre ordinaire (qu'on appelle « big-endian » ou « gros-boutiste ») à l'aide du préfixe 0x.

 

L'entête

Comme tous les blocs dans le protocole, le bloc de genèse possède un entête donnant 6 informations différentes. Voici cet entête en détail :

01000000 - version
0000000000000000000000000000000000000000000000000000000000000000 - identifiant du bloc précédent
3ba3edfd7a7b12b27ac72c3e67768f617fc81bc3888a51323a9fb8aa4b1e5e4a - racine de Merkle
29ab5f49 - horodatage
ffff001d - valeur cible
1dac2b7c - nonce

 

La version du bloc

0x00000001

La version du bloc indique l'ensemble des règles respectées par le bloc. Cette version 1 indiquait un respect des règles du protocole originel défini par Satoshi. D'autres versions ont été introduites plus tard : la version 2 pour l'application du BIP-34 en mars 2013, la version 3 pour l'activation du BIP-66 en juillet 2015, et la version 4 pour celle du BIP-65 en décembre 2015. Le champ de version a par la suite été utilisé pour que les mineurs signalent leur intention d'appliquer un soft fork (conformément au BIP-9).

 

L'identifiant du bloc précédent

0x0000000000000000000000000000000000000000000000000000000000000000

Puisqu'il s'agit du premier bloc de la chaîne, le champ utilisé pour donner l'identifiant du bloc précédent est fixé à zéro par convention.

 

La racine de Merkle

0x4a5e1e4baab89f3a32518a88c31bc87f618f76673e2cc77ab2127b7afdeda33b

La racine de Merkle correspond à l'empreinte finale de l'arbre de Merkle des transactions. Puisqu'il n'y a qu'une seule transaction dans le bloc de genèse, il s'agit simplement de l'identifiant de cette transaction.

 

L'horodatage

0x495fab29

L'horodatage indique la date et l'heure à laquelle le mineur a trouvé le bloc. Il est donné par le nombre de secondes depuis le 1er janvier 1970 00:00:00 UTC. Ici, le nombre correspond à 1 231 006 505 secondes : le bloc de genèse est donc horodaté au 3 janvier 2009 à 18:15:05 UTC.

Toutefois, il ne faut pas croire que cet horodatage indique l'instant précis du lancement effectif du réseau. Ce dernier a en effet été réalisé un peu plus tardivement : le bloc 1 est ainsi horodaté au 9 janvier 2009 à 02:54:25 UTC, soit 5 jours, 8 heures, 39 minutes et 20 secondes plus tard.

 

La valeur cible

0x1d00ffff

La valeur cible est la valeur minimale que l'identifiant du bloc peut avoir pour que ce dernier constitue une solution au problème de preuve de travail de Bitcoin. Moins cette valeur cible est haute, plus il est facile de trouver une solution et de miner un bloc. Elle est donc inversement proportionnelle à la difficulté du réseau.

La valeur cible du bloc de genèse correspond à la plus grande valeur possible dans Bitcoin, ou la difficulté la plus basse pour le dire autrement. Elle est encodée comme un nombre flottant où le premier octet représente un exposant et où la mantisse est déterminée par les 3 octets suivants. Ici, elle est égale à 0x00ffff × 256(0x1d - 3) c'est-à-dire 0x00000000ffff0000000000000000000000000000000000000000000000000000.

La preuve de travail du bloc est valide car l'identifiant est effectivement (largement) inférieur à cette valeur cible :

0x000000000019d6689c085ae165831e934ff763ae46a2a6c172b3f1b60a8ce26f ≤
0x00000000ffff0000000000000000000000000000000000000000000000000000

On définit la difficulté du minage comme l'inverse de la valeur cible multipliée par la valeur cible de base :

difficulté = cible_de_base / cible

La difficulté du bloc de genèse est donc de 1.

Après le lancement du réseau, la difficulté a stagné à ce niveau pendant près d'un an avant d'enfin commencer à augmenter le 30 décembre 2009.

Au sein du code, le champ de la valeur cible est appelé nBits, car ce paramètre désignait (avant que Satoshi n'en modifie le sens) le nombre de bits de tête à mettre à zéro pour que la solution soit valide. Dans la version de novembre 2008, le champ était en effet fixé à 20, ce qui correspondait à 5 zéros de tête en représentation hexadécimale, soit une valeur cible de 0x00000fffff....

 

Le nonce

0x7c2bac1d

Le nonce (mot qui provient de l'expression anglaise « for the nonce » signifiant « pour la circonstance, pour l'occasion ») désigne le nombre que le mineur fait varier pour calculer la preuve de travail. Il n'a aucune signification particulière, étant déterminé au hasard.

 

L'ensemble des transactions

L'ensemble des transactions forme la seconde partie du bloc. Le voici en détail :

01 - nombre de transactions
01000000 - version
01 - nombre d'entrées
0000000000000000000000000000000000000000000000000000000000000000 - identifiant de transaction de la sortie précédente
ffffffff - index de la sortie précédente
4d - taille du script de déverrouillage
04ffff001d0104455468652054696d65732030332f4a616e2f32303039204368616e63656c6c6f72206f6e206272696e6b206f66207365636f6e64206261696c6f757420666f722062616e6b73 - script de déverrouillage
ffffffff - numéro de séquence
01 - nombre de sorties
00f2052a01000000 - montant
43 - taille du script de verrouillage
4104678afdb0fe5548271967f1a67130b7105cd6a828e03909a67962e0ea1f61deb649f6bc3f4cef38c4f35504e51ec112de5c384df7ba0b8d578a4c702b6bf11d5fac - script de verrouillage
00000000 - temps de verrouillage

 

Le nombre de transactions

0x01

Le bloc contient une seule transaction : la transaction de récompense qui rémunère le mineur (ici Satoshi) pour la preuve de travail réalisée. Le bloc ne comporte ainsi aucune autre transaction, tout comme les blocs minés dans les premiers jours. Il a fallu attendre le 12 janvier et le bloc 170 pour voir la première transaction effective du réseau être confirmée : celle entre Satoshi et Hal Finney.

Toutes les données restantes du bloc appartiennent à la transaction de récompense.

 

La version de la transaction

0x00000001

La version de la transaction indique comment celle-ci doit être interprétée. Elle est fixée à 1 conformément au protocole initial. Aujourd'hui, il existe également une version 2 qui autorise l'usage des verrous temporels relatifs (voir BIP-68).

 

Le nombre d'entrées de la transaction

0x01

La transaction contient une seule entrée : la base de pièce, ou coinbase, qui permet de créer ex nihilo les nouveaux bitcoins et de recueillir les frais de transaction. Cette entrée est donc purement superflue, mais permet de conserver une certaine cohérence dans l'implémentation logicielle. Elle est constituée des champs identifiant la sortie précédente (théorique), d'un script de déverrouillage et d'un numéro de séquence.

 

L'identifiant de transaction de la sortie précédente

0x0000000000000000000000000000000000000000000000000000000000000000

Ce champ est utilisé dans les transactions pour dire à quel sortie transactionnelle correspond une entrée, en donnant l'identifiant de la transaction qui a créé la sortie. Puisqu'il s'agit d'une transaction de récompense qui ne fait pas référence à une sortie transactionnelle précédente, ce champ est fixé à 0 par convention.

 

L'index de la sortie précédente

0xffffffff

Ce champ est utilisé dans les transactions pour dire à quel sortie transactionnelle correspond une entrée, en donnant la position de la sortie dans la transaction qui l'a créée. Puisqu'il s'agit d'une transaction de récompense qui ne fait pas référence à une sortie transactionnelle précédente, ce champ est fixé au maximum par convention.

 

Le script de déverrouillage (scriptSig)

0x04ffff001d0104455468652054696d65732030332f4a616e2f32303039204368616e63656c6c6f72206f6e206272696e6b206f66207365636f6e64206261696c6f757420666f722062616e6b73

Dans Bitcoin, le script de déverouillage est combiné à un script de verrouillage précédent et détermine la validité d'une dépense. Il contient généralement les signatures nécessaires à la dépense d'une pièce et est par conséquent souvent appelé scriptSig. Dans le cas d'une transaction de récompense, l'entrée ne fait référence à aucune sortie transactionnelle existante et ce script peut donc contenir des données arbitraires.

Ici, le script se présente de la manière suivante :

<valeur cible> <nonce supplémentaire> <chaîne de caractères>

Ainsi, il est constitué de trois informations :

  • Tout d'abord, la valeur cible du bloc, donnée en sens inverse, conformément à la façon dont elle est représentée dans le code : 0xffff001d
  • Ensuite, un nonce supplémentaire (0x04), ou extra nonce, mis en place par Satoshi dans le code du logiciel. Le nonce supplémentaire du bloc de genèse a pour valeur 4, et ceux des blocs suivants sont croissants : celui du bloc 1 est aussi égal à 4, celui du bloc 2 à 11, celui du bloc 3 à 14, etc. La variation de ce nonce supplémentaire au sein des blocs a permis de mettre en évidence un motif particulier, appelé le « Patoshi Pattern », qui détermine précisément les blocs minés par Satoshi et qui démontre que sa fortune s'élève à plus de 1 125 150 bitcoins.
  • Enfin, une chaîne de caractères aujourd'hui emblématique, encodée en UTF-8, qui est :
    The Times 03/Jan/2009 Chancellor on brink of second bailout for banks

    Cette courte phrase correspond à la une du Times du 3 janvier 2009, qui annonçait que le ministre des finances du Royaume-Uni était sur le point de renflouer les banques pour la deuxième fois. Le Times étant un quotidien anglais, cela a mené à des spéculations quant à l'identité de Satoshi, qui écrivait également dans un anglais britannique.

The Times 3 janvier 2009 chancelier ministre des finances renflouement des banques

Cette phrase présente dans le script de la transaction de récompense possède un rôle double :

  • Premièrement, elle prohibe l'antidatage : sa présence dans le premier bloc, à partir duquel toute la chaîne est construite, prouve que le réseau de Bitcoin n'a pas été lancé avant le 3 janvier 2009. Cependant, cela ne veut pas dire que le bloc de genèse date bien du 3 janvier : en effet, il a pu être construit entre le 3 janvier (date de l'horodatage déclaré) et le 8 janvier (date de publication du code).
  • Deuxièmement, elle indique symboliquement ce à quoi Bitcoin s'oppose en faisant référence au contexte monétaire et financier de l'époque : le renflouement des grandes banques d'investissement par les États et par les banques centrales suite à la crise financière de 2007-2008. Il est d'ailleurs possible que Satoshi ait choisi cette date précisément pour sélectionner cette une.

Ce script de la base de pièce est encore utilisé de nos jours par les mineurs pour de multiples raisons. À l'instar de Satoshi, ils peuvent inclure des informations arbitraires dans le bloc et faire passer un message public au monde. Ç'a été le cas de la coopérative F2Pool qui, le 11 mai 2020, a évoqué l'injection de liquidité de la Réserve Fédérale en réaction à la crise du covid-19 au sein du bloc 629 999 (le bloc précédant le troisième halving) :

NYTimes 09/Apr/2020 With $2.3T Injection, Fed's Plan Far Exceeds 2008 Rescue

Les regroupements de mineurs peuvent également s'identifier en indiquant leur nom, ce qui permet de juger de la décentralisation du réseau, même si cette pratique reste purement déclarative.

Enfin, les mineurs se servent encore de ce champ pour faire varier un nonce supplémentaire, le nonce de l'entête ne permettant plus depuis 2012 d'essayer suffisamment de possibilités par rapport à la difficulté élevée du réseau.

 

Le numéro de séquence (nSequence)

0xffffffff

Le numéro de séquence de l'entrée est maximal, ce qui fait que la transaction est considérée comme finale.

À l'origine, le numéro de séquence dans les entrées avait pour objectif de permettre les échanges répétés au sein de contrats, tels que les canaux de paiement. Ce modèle imaginé par Satoshi n'était pas suffisamment sécurisé et a par conséquent été abandonné. Cependant, la règle de finalité, qui fait que la transaction est considérée comme finale (pas de temps de verrouillage) si les numéros de séquence de toutes les entrées sont maximaux (comme ici), a été conservée.

Aujourd'hui, ce numéro de séquence est utilisé pour déterminer le temps de verrouillage relatif d'une entrée et pour signaler Replace-by-Fee.

 

Le nombre de sorties de la transaction

0x01

La transaction contient une seule sortie, celle créditant Satoshi de son revenu de minage. Cette sortie est constituée d'un montant et d'un script de verrouillage.

 

Le montant

0x000000012a05f200

Le montant de la sortie est donné dans la plus petite unité du système, unité qu'on a appelé le satoshi en hommage au créateur de Bitcoin. Ce montant correspond ici à 5 milliards de satoshis, soit 50 bitcoins. Il s'agit de la limite maximale du taux de création monétaire de l'époque (50 bitcoins par bloc).

 

Le script de verrouillage (scriptPubKey)

0x4104678afdb0fe5548271967f1a67130b7105cd6a828e03909a67962e0ea1f61deb649f6bc3f4cef38c4f35504e51ec112de5c384df7ba0b8d578a4c702b6bf11d5fac

Le scrpt de verrouillage est l'ensemble des conditions à fournir pour pouvoir dépenser la pièce correspondante. Ici, il possède la forme :

<clé publique> CHECKSIG

où la clé publique est 04678afdb0fe5548271967f1a67130b7105cd6a828e03909a67962e0ea1f61deb649f6bc3f4cef38c4f35504e51ec112de5c384df7ba0b8d578a4c702b6bf11d5f. Il s'agit donc d'une sortie transactionnelle de type Pay to Public Key (P2PK), un schéma utilisé dans les débuts de Bitcoin, qui demande une simple signature pour débloquer les fonds. Cela explique le nom donné couramment à ce script : scriptPubKey.

Bien souvent, cette sortie est rétrospectivement attribuée à l'adresse 1A1zP1eP5QGefi2DMPTfTL5SLmv7DivfNa, obtenue en prenant l'empreinte de la clé publique. Cela est néanmoins purement esthétique car c'est bien la clé publique elle-même qui a servi à recevoir les bitcoins, pas l'adresse.

Fait intéressant : cette sortie transactionnelle n'est pas considérée comme dépensable par le protocole en raison de la façon dont le bloc de genèse est exprimé dans le code. Cette erreur de programmation pourrait être corrigée par un hard fork, mais cela ne serait ni utile (Satoshi n'a pas touché à ses bitcoins depuis qu'il a disparu), ni même souhaitable (incompatibilité du protocole). Les 50 premiers bitcoins créés sont donc probablement brûlés à tout jamais.

 

Le temps de verrouillage (nLocktime)

0x00000000

Le temps de verrouillage (donnée globale appartenant à la transaction) détermine la date à partir de laquelle cette transaction pourra être confirmée. En étant fixé à zéro, celui-ci est désactivé.

 

Les autres chaînes

Si le bloc de genèse constitue un fondement du protocole Bitcoin, il sert également de base aux différentes branches minoritaires de Bitcoin qui possèdent le même historique jusqu'à leurs scissions respectives : Bitcoin Cash, Bitcoin SV, Bitcoin Gold ou encore eCash/XEC. D'autres protocoles possèdent leur propre bloc de genèse et certains d'entre eux ont également incorporé la une d'un journal ou d'un magazine pour garantir que le lancement du réseau ne s'est pas réalisé avant la date donnée. Ainsi, le bloc de genèse de Litecoin (datant du 7 octobre 2011) contient la phrase suivante :

NY Times 05/Oct/2011 Steve Jobs, Apple’s Visionary, Dies at 56

Celui de Dash (datant du 19 janvier 2014) inclut la une suivante :

Wired 09/Jan/2014 The Grand Experiment Goes Live: Overstock.com Is Now Accepting Bitcoins

 


Source

Bitcoin Wiki, Genesis block

Analyse Technique Bitcoin (BTC) : forte volatilité du prix suite à l’IPC 

October 12th 2022 at 19:00
bitcoin

Le Bitcoin (BTC) se trouvait dans une légère tendance haussière, perçu comme une compression, plus tôt aujourd’hui. Ce mouvement survient alors que les marchés se préparaient pour le prochain rapport sur l’inflation aux USA. La plupart des cryptos ont également pris la même direction avant la publication de la FED. Ce mouvement de compression précède généralement une forte volatilité sur les marchés, ce qui est le cas pour le Bitcoin.   

L’article Analyse Technique Bitcoin (BTC) : forte volatilité du prix suite à l’IPC  est apparu en premier sur Cointribune.

Ethereum (ETH) : Le prix pourrait-il revisiter le territoire à trois chiffres ?

October 11th 2022 at 19:00
Ethereum_Hausse_Trading_ETH

L'Ethereum (ETH) affiche un drapeau ascendant sur son graphique en daily. Il s’agit d’une figure baissière qui prévoit une chute de 15 %. En effet, le range depuis le 21 septembre semble se solder par un mouvement baissier. Si le prix passe en dessous de 1280 $, il se peut que l’Ethereum chute jusqu’à 1100 $. De plus, une pression des bears sur le roi des cryptos pourrait aggraver la situation et déclencher une chute brutale.

L’article Ethereum (ETH) : Le prix pourrait-il revisiter le territoire à trois chiffres ? est apparu en premier sur Cointribune.

Bitcoin (BTC) sur la partie inférieure d’un drapeau ascendant ?

October 10th 2022 at 19:00
Bitcoin, crypto, solution

Le Bitcoin se trouve sur la partie inférieure d’un drapeau ascendant, dont la cassure pourrait entraîner une baisse de plus de 18 %. En effet, le prix du roi est à un point critique. Ainsi, un mouvement décisif pour les prochains jours déterminera la prochaine ligne de conduite pour les marchés des cryptos. Puis, d'un point de vue non biaisé par la tendance du BTC, d'autres tokens comme l'Ethereum et Ripple semblent prêts à rebondir.

L’article Bitcoin (BTC) sur la partie inférieure d’un drapeau ascendant ? est apparu en premier sur Cointribune.

❌