Pour mieux comprendre cette page, nous vous recommandons de lire d’abord sur les transactions, les blocs et la preuve de travail.
Le minage est le processus de création d’un bloc de transactions à ajouter à la blockchain Ethereum.
Ethereum, comme Bitcoin, utilise actuellement un mécanisme de consensus de preuve de travail (PoW). L’exploitation minière est l’élément vital de la preuve du travail. Les mineurs d’Ethereum – des ordinateurs exécutant des logiciels – qui utilisent leur temps et leur puissance de calcul pour traiter les transactions et produire des blocs.
Dans les systèmes décentralisés comme Ethereum, nous devons nous assurer que tout le monde est d’accord sur l’ordre des transactions. Les mineurs y contribuent en résolvant des énigmes complexes sur le plan informatique pour produire des blocs, qui servent à protéger le réseau contre les attaques.
En savoir plus sur la preuve de travail
- Un utilisateur écrit et signe une demande de transaction avec la clé privée d’un compte.
- L’utilisateur transmet la demande de transaction à l’ensemble du réseau Ethereum à partir d’un nœud.
- En entendant parler de la nouvelle demande de transaction, chaque nœud du réseau Ethereum ajoute la demande à son mempool local, une liste de toutes les demandes de transaction dont il a entendu parler et qui n’ont pas encore été envoyées à la blockchain dans un bloc.
- À un moment donné, un nœud minier agrège plusieurs dizaines ou cent demandes de transaction dans un bloc potentiel, de manière à maximiser les frais de transaction qu’ils gagnent tout en restant en dessous de la limite de gaz de bloc. Le nœud minier donc:
- Vérifie la validité de chaque demande de transaction (c’est-à-dire que personne n’essaie de transférer de l’éther d’un compte pour lequel il n’a pas produit de signature, la demande n’est pas malformée, etc.), puis exécute le code de demande, en modifiant le statut de leur copie locale de l’EVM. Le mineur attribue les frais de transaction pour chaque demande de transaction sur son compte.
- Le processus de production du «certificat de légitimité» de preuve de travail pour le bloc potentiel commence, une fois que toutes les demandes de transaction dans le bloc ont été vérifiées et exécutées sur la copie EVM locale.
- Finalement, un mineur finira de produire un certificat pour un bloc qui inclut notre demande de transaction spécifique. Le mineur transmet ensuite le bloc terminé, qui comprend le certificat et une somme de contrôle du statut EVM nouvellement déclaré.
- Les autres nœuds entendent parler du nouveau bloc. Ils vérifient le certificat, effectuent toutes les transactions sur le bloc eux-mêmes (y compris la transaction initialement transmise par notre utilisateur) et vérifient que la somme de contrôle de leur nouveau statut EVM après que toutes les transactions ont été exécutées correspond à la somme de contrôle de statut réclamée par le bloc du mineur. . Ce n’est qu’alors que ces nœuds ajoutent ce bloc à la file d’attente de leur blockchain et acceptent le nouvel état EVM comme état canonique.
- Chaque nœud supprime toutes les transactions du nouveau bloc de son mempool local de demandes de transaction non satisfaites.
- Les nouveaux nœuds rejoignant le réseau téléchargent tous les blocs dans l’ordre, y compris le bloc contenant notre transaction d’intérêt. Ils initialisent une copie EVM locale (en commençant par EVM dans un état vide), puis passent par le processus d’exécution de chaque transaction dans chaque bloc au-dessus de leur copie EVM locale, en vérifiant les sommes de contrôle d’état dans chaque bloc en cours de route.
Chaque transaction est extraite (incluse dans un nouveau bloc et propagée pour la première fois) une fois, mais exécutée et vérifiée par chaque participant dans le processus canonique d’avancement de statut EVM. Cela met en évidence l’un des mantras centraux de la blockchain: Ne fais pas confiance, vérifie.
Regardez Austin vous guider à travers l’exploitation minière et la blockchain de preuve de travail.
8.0 ° ° ° ° ° ° ° ° ° ° ° ° ° ° ° ° ° ° ° ° ° ° ° ° ° ° ° ° ° ° ° ° ° ° ° ° ° ° ° ° ° ° ° ° ° █ ° ° ° ° ° ° ° ° ° ° ° ° ° ° ° ° ° ° ° ° ° ° ° ° ° ° ° ° ° ° ° ███▒▒▄ ° ° ° ° ° °▄▀ ▒▒▒ ° ° ° ° ° ° ° ██▀▒▌ ° ° ° ° ° ° ° ° ° ▌ ° ° ° ° ° ° ° █▀▒▒▒▒▒▄▀█▄▒▒▒▒▒▒▒█▒▐ ° ° ° ° ° ° ° ██▀▒ ▒ ° ° ° ° ° ° ° ° ██▄▒▒▒▒▒▒▒▒▒ ° ° ° ° ° ° ° ° ▀▒▀▐▄█▄█▌▄ ° ° ° ° ° ° ° ° ° ° ° ° ° ° ° ° ° ° ° ▐▒ ▒▒▀▀▄▄▒▒▒▄▒▒▒▒▒▒▒▒ °▒ °▒ °▒▒▐ ° ° ° °▒ °▒ °▒ ° ° ° ° ° ° ° ° ° ° ° ° ° ° ° ° ° ° ° ° ° ° ° ° ° ° ° ° ° ° ° ° ° ° ° ° ° ° ° ° ° ° ° ° ° ° ° ° ° ° ° ° ° ° ° ° ° ° ° ° ° °
Aidez-nous avec cette page
Si vous êtes un expert du sujet et que vous souhaitez contribuer, éditez cette page et saupoudrez-la de votre sagesse.
Vous serez accrédité et vous aiderez la communauté Ethereum!
Utilisez ce flexible modèle de documentation
Des questions? Demandez-nous dans le canal #content sur le nôtre Serveur Discord
Modifier la page
https://ethereum.org/en/developers/docs/consensus-mechanisms/pow/mining/