Bài học 1

Aperçu technologique d'Ethereum

1. Ethereum est une plateforme décentralisée de contrats intelligents basée sur la technologie blockchain, qui utilise un modèle de compte et l'Ether comme moyen d'échange pour les transactions. Les contrats intelligents présentent les caractéristiques de transparence et d'immuabilité des données, et bénéficient d'un environnement d'exécution décentralisé et sécurisé. 2. Ethereum est confronté au problème de l'évolutivité, pour lequel la communauté des développeurs a proposé diverses solutions, telles que les chaînes latérales, les rollups, la technologie du sharding, etc.

Avant-propos

Ethereum est une plateforme blockchain ouverte qui permet à quiconque de créer et d'utiliser des applications décentralisées. En 2013, Vitalik Buterin, le fondateur d'Ethereum, a publié le livre blanc Ethereum, qui décrit l'essentiel de la conception et de l'aspect technique d'Ethereum, jetant ainsi les bases d'un développement vigoureux des applications et des écosystèmes de la blockchain à l'avenir.

L'objectif premier d'Ethereum était d'améliorer les fonctionnalités du bitcoin, et pas seulement en tant que système de paiement numérique. La principale différence entre les deux est qu'Ethereum peut stocker du code qui peut être exécuté. Cette innovation fondamentale est également appelée "contrats intelligents", ce qui signifie que tout développeur peut écrire des applications décentralisées exécutables (dApps) sur la blockchain Ethereum pour mettre en œuvre divers besoins commerciaux et contrats sociaux.

Avec l'émergence des contrats intelligents, les utilisateurs peuvent effectuer des transactions et des collaborations sécurisées, transparentes et automatisées sans avoir besoin de confiance ou d'intermédiaires. Cela a élargi l'utilité et la fonctionnalité des réseaux de blockchain.

Cependant, le développement et l'application pratique d'Ethereum ont inévitablement rencontré certains défis, le plus important étant les problèmes d'évolutivité. Lorsque le marché des crypto-monnaies a connu une croissance rapide et une augmentation du volume des transactions, les performances de la blockchain Ethereum sont devenues insuffisantes pour répondre à la demande. Par conséquent, Ethereum a besoin d'une innovation et d'une évolution continues pour répondre aux besoins de sa base d'utilisateurs croissante.

Cette leçon fournit une vue d'ensemble de l'évolution technologique d'Ethereum, explore comment Ethereum a émergé en tant que pionnier dans l'espace de la blockchain, et vous guide pour comprendre les défis d'évolutivité auxquels Ethereum est confronté et les solutions correspondantes.

Aperçu de l'architecture technologique d'Ethereum

Limites des technologies précédentes

Avant l'émergence d'Ethereum, le développement de la blockchain se limitait principalement aux monnaies numériques et aux systèmes de paiement, utilisant des grands livres décentralisés pour enregistrer les transactions. Si l'on prend l'exemple de Bitcoin, le réseau Bitcoin peut être considéré comme un système de transition d'état qui utilise le modèle de sortie des transactions non dépensées (UTXO). UTXO désigne la quantité restante de jetons d'une transaction qui peut être utilisée dans une autre transaction. Il peut être interprété comme le solde non dépensé après que quelqu'un vous a donné une certaine somme d'argent.

Chaque fois qu'un mineur produit un nouveau bloc, cela représente un changement dans l'état du réseau Bitcoin, car le nouveau bloc contient des transactions valides qui consomment des UTXO existantes et créent de nouvelles UTXO. Ces nouvelles UTXO constituent le dernier état du réseau Bitcoin, qui reflète le nombre et la répartition des bitcoins détenus par l'ensemble des utilisateurs.

État précédent + transactions valides dans un nouveau bloc = État actuel

Transition d'état de l'UTXO

Dans la vie de tous les jours, les gens sont plus familiers avec le modèle de compte utilisé dans les systèmes bancaires traditionnels, où une adresse blockchain correspond à un compte. Chaque transaction implique le transfert de fonds ou de données d'un compte à un autre, et le solde du compte est l'actif que vous possédez. Lorsque vous effectuez des transactions à l'aide du modèle UTXO, il n'y a pas de restriction concernant l'adresse, ce qui signifie que vous pouvez utiliser une adresse différente pour chaque transaction. Votre actif est la somme de tous les UTXO qui vous sont associés, plutôt que le solde d'une adresse spécifique. Par conséquent, UTXO a une meilleure parallélisation, tandis que le modèle de compte est plus susceptible d'être exécuté de manière séquentielle, ce qui entraîne des performances limitées. Bien que le modèle UTXO offre une meilleure confidentialité et une meilleure évolutivité, il est moins intuitif et difficile de mettre en œuvre des opérations logiques complexes. Par exemple, le langage de programmation de Bitcoin présente les limitations suivantes :

  1. Non-Turing complet
    Bien que le langage de script Bitcoin prenne en charge une grande variété de fonctionnalités, il ne prend pas en charge tous les calculs, en particulier les boucles. En théorie, toute opération en boucle peut être réalisée en exécutant de manière répétée le code sous-jacent par le biais de plusieurs couches d'instructions IF, mais cela conduit à une efficacité opérationnelle très faible.

  2. Difficile de déterminer la valeur
    Les scripts UTXO ne peuvent pas contrôler finement le montant qui peut être retiré. Par exemple, l'utilisateur A doit couvrir le risque de prix et l'utilisateur B agit en tant que contrepartie. Les deux parties déposent des actifs d'une valeur de 1 000 dollars dans un contrat. Au bout de 30 jours, l'utilisateur A récupère 1 000 dollars de bitcoins, et le reste est envoyé à l'utilisateur B. Il faudrait donc qu'un oracle détermine la valeur en dollars d'un bitcoin, ce qui l'obligerait à détenir de nombreux UTXO de différentes dénominations.

  3. Manque de flexibilité de l'État
    L'UTXO peut être dépensée ou non. Il est difficile de créer des contrats d'option, des systèmes de cotation décentralisés, des protocoles d'engagement cryptographiques et d'autres applications qui nécessitent des états à plusieurs étapes (comme "en cours d'utilisation"). Par conséquent, les UTXO ne peuvent être utilisées que pour établir des contrats simples à usage unique, plutôt que des contrats plus complexes "avec état" dans des protocoles décentralisés.

  4. Impossibilité de voir les données de la blockchain
    Le modèle UTXO n'a pas de visibilité sur les données de la blockchain, telles que les nombres aléatoires, les horodatages et le hachage du bloc précédent. Cette limitation restreint le développement des jeux et d'autres types de dApps.

Le modèle de compte d'Ethereum

Pour remédier aux lacunes du bitcoin dans les applications de contrats intelligents, Ethereum a abandonné le modèle UTXO et adopté un modèle de compte, similaire aux comptes bancaires personnels, dans lequel une base de données enregistre le solde de chaque compte et le met automatiquement à jour à chaque transaction.

Il existe deux types de comptes sur Ethereum : les comptes détenus par des tiers et contrôlés par des clés privées et les comptes contractuels contrôlés par un code de contrat intelligent. L'Ether sert de moyen d'échange au sein du réseau Ethereum.

  • Comptes
    Chaque compte sur Ethereum a une adresse unique de 20 octets, similaire au numéro de compte de votre compte bancaire. Les comptes peuvent stocker de l'éther ou des données et peuvent se transférer de l'éther ou s'envoyer des messages par le biais de transactions.
  • Contrats
    Les contrats sont comme des distributeurs automatiques. Lorsque vous envoyez de l'Ether à un contrat, celui-ci exécute le code qu'il contient et effectue des opérations spécifiques basées sur la logique définie par le code. Les contrats peuvent stocker des données, exécuter du code, envoyer des messages et interagir avec d'autres contrats.
  • Ether
    L'Ether est la crypto-monnaie native d'Ethereum qui peut être utilisée pour payer les frais de gaz sur le réseau Ethereum. Vous pouvez transférer de l'Ether par le biais de transactions, similaires à un virement bancaire, et l'utiliser pour acheter des services ou des produits dans le cadre de contrats.

Contrats intelligents

Dans le développement de la blockchain, Ethereum a été le premier réseau de blockchain à faciliter l'adoption généralisée des contrats intelligents et des dApps. Les contrats intelligents sur Ethereum sont généralement programmés à l'aide du langage Solidity. Il s'agit de programmes exécutés sur la blockchain avec des caractéristiques telles que l'automatisation, la décentralisation, la transparence et l'immutabilité, ce qui les rend adaptés à la mise en œuvre de diverses logiques commerciales et règles de transaction. Les utilisateurs peuvent effectuer des transactions de manière sûre et fiable sans avoir besoin de faire confiance à des tiers.

Les contrats intelligents peuvent être utilisés pour développer différents types de dApps, ce qui fait du réseau Ethereum un ordinateur partagé à l'échelle mondiale. Tout le monde peut accéder aux données, éditer et utiliser différents types d'applications sur cet ordinateur pour répondre à ses besoins.

À première vue, il ne semble pas particulièrement unique, puisqu'il s'agit simplement d'exécuter des programmes logiciels, n'est-ce pas ? Le stockage des données et l'exécution du code des applications web sur des serveurs centralisés ou l'installation de logiciels sur des ordinateurs personnels peuvent apparemment permettre d'obtenir les mêmes fonctionnalités d'application que les contrats intelligents.

Toutefois, cette approche comporte des limites et des risques tels que la perte de données, la falsification et les interruptions de service. L'émergence des contrats intelligents offre une sécurité, une vérifiabilité et une résistance à la censure sans précédent aux applications traditionnelles. Plus précisément, les contrats intelligents d'Ethereum présentent plusieurs différences essentielles par rapport aux applications web générales et aux logiciels côté client :

  • Stockage des données
    Les données des contrats intelligents sont stockées sur la blockchain, chaque nœud en possédant une copie complète. Les données sont donc transparentes et immuables. En revanche, les données des applications web générales et des logiciels côté client sont stockées sur des serveurs centralisés, où seuls les administrateurs du serveur ou les personnes autorisées peuvent accéder aux données et les modifier. Cela rend les données opaques et mutables.
  • Logique du programme
    La logique du programme des contrats intelligents est écrite sur la blockchain et il est difficile de la modifier ou de la supprimer une fois qu'elle a été déployée. Par conséquent, la logique du programme est fixe et prévisible. En revanche, les applications web générales et les logiciels côté client sont écrits sur des serveurs centralisés, ce qui permet de les modifier ou de les supprimer à tout moment. Cela rend la logique du programme flexible et imprévisible.
  • Environnement d'exécution
    L'environnement d'exécution des contrats intelligents est fourni par le réseau blockchain, où chaque nœud peut vérifier et exécuter les contrats intelligents. L'environnement d'exécution est donc relativement décentralisé et sécurisé. En revanche, les applications web générales et les logiciels côté client s'appuient sur des serveurs centralisés pour fournir l'environnement d'exécution, où seul le serveur peut exécuter ces programmes. Par conséquent, l'environnement d'exécution est centralisé et relativement peu sûr.
  • Méthode d'interaction
    Les contrats intelligents interagissent par le biais des transactions de la blockchain, et chaque interaction nécessite une certaine quantité d'Ether en tant que frais de transaction. Par conséquent, la méthode d'interaction entraîne des coûts et des retards. D'autre part, les applications web générales interagissent par le biais de requêtes HTTP, tandis que les logiciels côté client sur les ordinateurs personnels peuvent fonctionner directement au sein du système d'exploitation. Dans ces cas, les interactions ne nécessitent généralement pas de paiement, ce qui rend la méthode d'interaction presque gratuite et immédiate.

Machine virtuelle Ethereum

La machine virtuelle Ethereum (EVM) est un ordinateur Turing-complet qui fonctionne sur la blockchain Ethereum. Il exécute le code des contrats intelligents et modifie l'état de la blockchain. Une analogie pour le comprendre est le système d'exploitation (OS) fonctionnant sur les ordinateurs personnels ou les smartphones, où seulement dans cet environnement spécifique, les contrats intelligents et les applications Ethereum peuvent être exécutés.

L'EVM fonctionne dans un environnement isolé, sans être affecté par des interférences externes et sans avoir d'impact sur le matériel sous-jacent. Il fonctionne en compilant le code des contrats intelligents, généralement écrit dans le langage Solidity, dans un jeu d'instructions bytecode appelé EVM bytecode. L'EVM exécute ensuite ces instructions étape par étape.

L'exécution de l'EVM entraîne des modifications de l'état de la blockchain, telles que le transfert de jetons, le stockage de données ou le déclenchement d'événements. Pour éviter qu'un code de contrat intelligent malveillant ne provoque des boucles infinies ou ne fasse planter le réseau Ethereum, chaque instruction consomme une certaine quantité de gaz. S'il n'y a pas assez de gaz, l'opération ne peut pas être effectuée.

Taxes sur le gaz

Les frais de gaz font référence aux frais de transaction payés en Ether (ETH) sur le réseau Ethereum pour l'exécution de contrats intelligents ou le transfert de jetons. Il est utilisé pour récompenser les mineurs qui entretiennent le réseau. Le coût de la taxe sur le gaz dépend de la complexité de la transaction et du niveau de congestion du réseau, généralement mesuré en Gwei (1 Gwei = 0,000000001 ETH).

Les négociants peuvent fixer leur propre prix du gaz (le prix par unité de gaz) et leur limite de gaz (la quantité maximale de gaz qu'ils sont prêts à payer) afin d'ajuster la vitesse et le coût de leurs transactions.

La formule de calcul des frais de gaz sur Ethereum est la suivante :
Prix du gaz * Limite du gaz = Frais de gaz

Le prix du gaz représente le prix unitaire de la redevance. Si le prix du gaz est trop bas, la priorité de la transaction peut être moindre et les mineurs peuvent l'ignorer.
La limite de gaz fait référence à la quantité de frais. Si la limite de gaz est trop basse, cela n'affectera pas la priorité de la transaction, mais la transaction peut échouer en raison d'une exécution incomplète, et les frais de gaz payés ne seront pas remboursés.

Dans le cadre de l'EIP-1559 (Ethereum Improvement Proposal), le prix du gaz comprend une taxe de base qui est ajustée de manière dynamique en fonction de la demande du réseau et de la taille des blocs. Les transactions dont le prix du gaz est supérieur au tarif de base sont garanties d'être traitées, et l'ETH sera brûlé pour réduire l'offre de jetons dans le réseau Ethereum.

Les pourboires sont des frais supplémentaires facultatifs que les utilisateurs sont prêts à payer aux mineurs ou aux validateurs. Les utilisateurs peuvent définir leurs propres valeurs pour les conseils, ce qui peut contribuer à améliorer la priorité de leurs transactions ou à accélérer la vitesse des transactions en cas d'encombrement du réseau.

Grâce au mécanisme de gaz d'Ethereum, les ressources informatiques et l'espace de stockage du réseau de la blockchain peuvent être tarifés de manière appropriée, ce qui peut empêcher les contrats intelligents d'exécuter des boucles erronées à l'infini ou d'être attaqués par des acteurs malveillants.

Extraction

Avant la fusion d'Ethereum en septembre 2022, Ethereum et Bitcoin s'appuyaient tous deux sur le mécanisme de consensus Proof of Work (PoW) pour faciliter le fonctionnement normal de leurs réseaux de blockchain.

Les appareils participant au minage devaient résoudre une énigme cryptographique complexe en utilisant la puissance de calcul pour calculer une valeur de hachage répondant à des exigences spécifiques. Ce processus a consommé d'importantes ressources informatiques et de l'électricité, et la difficulté de l'énigme a continué à évoluer en fonction de la puissance de calcul du réseau. Les utilisateurs qui fournissent de la puissance de calcul sont appelés mineurs.

En essayant continuellement de calculer la valeur de hachage, les mineurs avaient la possibilité de trouver une valeur de hachage répondant aux exigences. Les mineurs pouvaient alors regrouper les transactions en attente dans un bloc et diffuser ce bloc à l'ensemble du réseau pour validation et confirmation. Si le bloc est confirmé, le mineur reçoit les récompenses du bloc et les frais de transaction.

Après la mise à jour d'Ethereum 2.0, Ethereum a adopté le mécanisme de consensus Proof of Stake (PoS) pour l'exploitation minière. Les nœuds qui valident les transactions sont tenus de mettre en jeu un certain montant d'Ether comme garantie afin d'obtenir le droit de produire de nouveaux blocs.

L'objectif du jalonnement est d'imposer des risques économiques aux nœuds, de sorte que les nœuds qui attaquent le réseau verront leurs actifs jalonnés réduits, ce qui entraînera des pertes. Cela permet de dissuader les comportements malveillants. Plus un nœud mise d'Ether, plus la probabilité d'obtenir le droit de produire de nouveaux blocs est élevée.

Les nœuds responsables de la production des blocs doivent regrouper les transactions en attente, générer de nouveaux blocs et les diffuser sur le réseau pour validation et confirmation. Si un bloc est confirmé, le nœud reçoit des récompenses de bloc et des frais de transaction, ainsi que certains retours basés sur le montant des actifs mis en jeu.

Le mécanisme de minage joue un rôle crucial dans le réseau Ethereum, qui se reflète principalement dans les aspects suivants :

  1. Garantir la fiabilité et la sécurité des transactions
    L'exploitation minière consiste à ajouter de nouvelles transactions à la blockchain, à augmenter le nombre de blocs et à confirmer la légitimité de ces transactions en obtenant une preuve de travail (actuellement une preuve d'enjeu). L'exploitation minière rend difficile la falsification malveillante des transactions, ce qui garantit la fiabilité et la sécurité des transactions.

  2. Maintien de la décentralisation de la blockchain
    Le mécanisme de minage peut empêcher une entité ou une organisation unique de contrôler l'ensemble du réseau Ethereum, car le minage nécessite une quantité importante de puissance de calcul (actuellement des jetons mis en jeu à la place) et les attaquants auraient besoin de ressources substantielles pour prendre le contrôle. Cela garantit la décentralisation du réseau et empêche tout contrôle monopolistique de la part d'un individu ou d'une entité.

  3. Offrir des incitations à la participation
    Mining permet aux participants d'obtenir des récompenses en contribuant aux ressources. Cela incite les utilisateurs à participer à la construction et à l'exploitation du réseau, garantissant ainsi son bon fonctionnement.

Par rapport au minage PoW, le minage PoS nécessite beaucoup moins de ressources informatiques et de consommation d'énergie, ce qui le rend plus apte à répondre aux besoins de développement et d'évolutivité du réseau Ethereum.

Applications d'Ethereum

Les contrats intelligents d'Ethereum ont permis de nombreuses applications importantes, notamment :

  1. DeFi (Decentralized Finance)
    DeFi est l'une des applications les plus réussies des contrats intelligents d'Ethereum. Il s'appuie sur des contrats intelligents pour établir une gamme de protocoles financiers décentralisés tels que MakerDAO, Compound, Uniswap, et plus encore. Ces protocoles permettent d'offrir des services financiers tels que le prêt, le commerce, l'assurance, la gestion d'actifs, etc.

  2. NFTs (Non-Fungible Tokens)
    Les NFTs sont des actifs numériques basés sur les contrats intelligents d'Ethereum, offrant un caractère unique et indivisible grâce à la fonctionnalité des contrats intelligents. Les NFT trouvent des applications dans divers domaines tels que l'art, la musique, les jeux, l'immobilier virtuel, etc.

  3. DAO (Decentralized Autonomous Organizations)
    Une DAO est une organisation autonome décentralisée basée sur les contrats intelligents d'Ethereum. Il permet aux membres de prendre des décisions sur des questions internes par le biais du vote, telles que l'allocation du budget, la gestion du personnel, les décisions d'investissement, etc. Les DAO fonctionnent de manière véritablement décentralisée et démocratique et peuvent s'appliquer aux communautés, aux entreprises, aux fondations et à d'autres organisations.

  4. Émission de jetons
    La norme ERC-20 sur Ethereum spécifie l'émission et l'échange de jetons, ce qui permet de créer ses propres jetons qui peuvent être échangés sur le réseau Ethereum.

  5. Stockage décentralisé
    Il existe également des protocoles de stockage de fichiers distribués basés sur des contrats intelligents sur Ethereum. Par exemple, le protocole Swarm permet aux utilisateurs de stocker des fichiers de manière distribuée sur le réseau, ce qui les rend plus sûrs et plus fiables.

  6. Informatique en nuage
    Il existe également des plateformes informatiques décentralisées basées sur des contrats intelligents sur Ethereum, telles que Golem et iExec. Ces plateformes permettent aux utilisateurs de louer des ressources informatiques pour exécuter diverses applications, ce qui permet d'améliorer l'efficacité de l'informatique et du traitement des données.

  7. Identité numérique
    EIP-4361 introduit un cadre normalisé pour la connexion avec Ethereum, permettant aux utilisateurs de se connecter aux dApps en utilisant leur adresse Ethereum au lieu des noms d'utilisateur et mots de passe traditionnels. Ce mécanisme d'authentification renforce la confidentialité et la sécurité des utilisateurs tout en réduisant l'intervention des intermédiaires. \
    Outre les applications susmentionnées, les contrats intelligents d'Ethereum peuvent permettre un large éventail d'autres cas d'utilisation, tels que les jeux, les réseaux sociaux et la gestion de la chaîne d'approvisionnement, entre autres. Grâce à la programmabilité des contrats intelligents, les scénarios d'application sur la plateforme Ethereum continuent de s'étendre, offrant un potentiel important pour le développement futur.

Les défis de l'évolutivité d'Ethereum

Ethereum a sacrifié une partie de ses performances au profit de la décentralisation et de la sécurité. En raison de limitations techniques, Ethereum a un temps de génération de blocs d'environ 12 à 15 secondes, la taille de chaque bloc étant limitée à 15 Mo. Par conséquent, Ethereum ne peut traiter qu'environ 15 transactions par seconde.

Cependant, en tant que plus grand réseau de contrats intelligents en termes d'écosystème et de communauté de développement, Ethereum a connu une augmentation significative du nombre d'adresses de portefeuilles uniques avec un solde non nul sur sa blockchain, qui a plus que décuplé au cours des cinq dernières années. La multiplication des protocoles et des activités des utilisateurs a dépassé la conception existante, exacerbant les problèmes d'évolutivité d'Ethereum.

Pour améliorer l'évolutivité d'Ethereum, la communauté des développeurs a proposé diverses solutions, notamment les sidechains, les rollups, la technologie du sharding et le détournement du trafic vers d'autres réseaux de blockchain compatibles avec l'EVM afin de réduire les encombrements.

Conclusion

Dans cette leçon, nous avons approfondi l'architecture technique et les principes d'Ethereum, ainsi que la façon dont l'innovation des contrats intelligents exploite le potentiel de la blockchain, permettant une gamme variée d'applications et d'écosystèmes décentralisés pour faciliter divers besoins commerciaux et contrats sociaux.

Cependant, la croissance rapide d'Ethereum a mis en lumière le problème de la faible évolutivité. Relever le défi de l'extensibilité est donc devenu une priorité absolue pour répondre aux demandes croissantes des utilisateurs.

Dans la prochaine leçon, nous explorerons différentes solutions d'évolutivité et leurs applications au sein de l'écosystème, y compris les sidechains, les rollups et divers concurrents de l'EVM. Nous analyserons également leurs avantages et inconvénients respectifs, ce qui vous permettra de mieux comprendre l'état de développement actuel et les tendances futures de la technologie blockchain.

Points forts

  • Ethereum est une plateforme décentralisée de contrats intelligents basée sur la technologie blockchain qui utilise un modèle de compte.
  • L'Ether sert de moyen d'échange dans le réseau Ethereum, étant utilisé pour payer les frais de transaction et acheter des services ou des produits dans le cadre de contrats.
  • Les contrats intelligents sur Ethereum sont programmés à l'aide du langage Solidity et peuvent mettre en œuvre diverses logiques commerciales et règles de transaction.
  • La machine virtuelle Ethereum (EVM) est utilisée pour exécuter le code des contrats intelligents et modifier l'état de la blockchain.
  • Chaque instruction sur Ethereum consomme une certaine quantité de gaz. En l'absence d'une quantité suffisante de gaz, les opérations ne peuvent pas être effectuées.
  • Les contrats intelligents Ethereum possèdent des caractéristiques telles que la transparence des données, l'immutabilité, une logique de programme fixe et prévisible, un environnement d'exécution décentralisé et sécurisé, et une interaction avec des coûts et des délais.
  • L'évolutivité est l'un des principaux problèmes qu'Ethereum doit actuellement résoudre, et la communauté des développeurs a proposé diverses solutions, notamment les chaînes latérales, les rollups, la technologie du sharding, etc.
  • Ethereum possède sa propre crypto-monnaie, l'Ether (ETH), qui sert à payer les frais de transaction et à récompenser les mineurs. Il utilise actuellement un mécanisme de consensus par preuve d'enjeu (PoS).
  • Les contrats intelligents d'Ethereum ont ouvert la voie à de nombreuses applications importantes, notamment les DeFi, les NFT, les DAO, l'émission de jetons, le stockage décentralisé et l'informatique en nuage.
  • Dans sa quête de décentralisation et de sécurité, Ethereum a sacrifié une partie de ses performances et est confronté à des problèmes d'évolutivité. Les solutions existantes comprennent les sidechains, les Rollups, la technologie du sharding et le détournement du trafic vers d'autres réseaux de blockchain compatibles avec l'EVM.





🎥・Vidéo principale


Non

📄・Articles connexes


Qu'est-ce qu'Ethereum ?


Qu'est-ce que UTXO ?


Qu'est-ce qu'un contrat intelligent ?


Qu'est-ce que l'EVM (Ethereum Virtual Machine) ?


Qu'est-ce que la taxe sur le gaz ?


Qu'est-ce qu'un algorithme de consensus de blockchain ?

Tuyên bố từ chối trách nhiệm
* Đầu tư tiền điện tử liên quan đến rủi ro đáng kể. Hãy tiến hành một cách thận trọng. Khóa học không nhằm mục đích tư vấn đầu tư.
* Khóa học được tạo bởi tác giả đã tham gia Gate Learn. Mọi ý kiến chia sẻ của tác giả không đại diện cho Gate Learn.
Danh mục
Bài học 1

Aperçu technologique d'Ethereum

1. Ethereum est une plateforme décentralisée de contrats intelligents basée sur la technologie blockchain, qui utilise un modèle de compte et l'Ether comme moyen d'échange pour les transactions. Les contrats intelligents présentent les caractéristiques de transparence et d'immuabilité des données, et bénéficient d'un environnement d'exécution décentralisé et sécurisé. 2. Ethereum est confronté au problème de l'évolutivité, pour lequel la communauté des développeurs a proposé diverses solutions, telles que les chaînes latérales, les rollups, la technologie du sharding, etc.

Avant-propos

Ethereum est une plateforme blockchain ouverte qui permet à quiconque de créer et d'utiliser des applications décentralisées. En 2013, Vitalik Buterin, le fondateur d'Ethereum, a publié le livre blanc Ethereum, qui décrit l'essentiel de la conception et de l'aspect technique d'Ethereum, jetant ainsi les bases d'un développement vigoureux des applications et des écosystèmes de la blockchain à l'avenir.

L'objectif premier d'Ethereum était d'améliorer les fonctionnalités du bitcoin, et pas seulement en tant que système de paiement numérique. La principale différence entre les deux est qu'Ethereum peut stocker du code qui peut être exécuté. Cette innovation fondamentale est également appelée "contrats intelligents", ce qui signifie que tout développeur peut écrire des applications décentralisées exécutables (dApps) sur la blockchain Ethereum pour mettre en œuvre divers besoins commerciaux et contrats sociaux.

Avec l'émergence des contrats intelligents, les utilisateurs peuvent effectuer des transactions et des collaborations sécurisées, transparentes et automatisées sans avoir besoin de confiance ou d'intermédiaires. Cela a élargi l'utilité et la fonctionnalité des réseaux de blockchain.

Cependant, le développement et l'application pratique d'Ethereum ont inévitablement rencontré certains défis, le plus important étant les problèmes d'évolutivité. Lorsque le marché des crypto-monnaies a connu une croissance rapide et une augmentation du volume des transactions, les performances de la blockchain Ethereum sont devenues insuffisantes pour répondre à la demande. Par conséquent, Ethereum a besoin d'une innovation et d'une évolution continues pour répondre aux besoins de sa base d'utilisateurs croissante.

Cette leçon fournit une vue d'ensemble de l'évolution technologique d'Ethereum, explore comment Ethereum a émergé en tant que pionnier dans l'espace de la blockchain, et vous guide pour comprendre les défis d'évolutivité auxquels Ethereum est confronté et les solutions correspondantes.

Aperçu de l'architecture technologique d'Ethereum

Limites des technologies précédentes

Avant l'émergence d'Ethereum, le développement de la blockchain se limitait principalement aux monnaies numériques et aux systèmes de paiement, utilisant des grands livres décentralisés pour enregistrer les transactions. Si l'on prend l'exemple de Bitcoin, le réseau Bitcoin peut être considéré comme un système de transition d'état qui utilise le modèle de sortie des transactions non dépensées (UTXO). UTXO désigne la quantité restante de jetons d'une transaction qui peut être utilisée dans une autre transaction. Il peut être interprété comme le solde non dépensé après que quelqu'un vous a donné une certaine somme d'argent.

Chaque fois qu'un mineur produit un nouveau bloc, cela représente un changement dans l'état du réseau Bitcoin, car le nouveau bloc contient des transactions valides qui consomment des UTXO existantes et créent de nouvelles UTXO. Ces nouvelles UTXO constituent le dernier état du réseau Bitcoin, qui reflète le nombre et la répartition des bitcoins détenus par l'ensemble des utilisateurs.

État précédent + transactions valides dans un nouveau bloc = État actuel

Transition d'état de l'UTXO

Dans la vie de tous les jours, les gens sont plus familiers avec le modèle de compte utilisé dans les systèmes bancaires traditionnels, où une adresse blockchain correspond à un compte. Chaque transaction implique le transfert de fonds ou de données d'un compte à un autre, et le solde du compte est l'actif que vous possédez. Lorsque vous effectuez des transactions à l'aide du modèle UTXO, il n'y a pas de restriction concernant l'adresse, ce qui signifie que vous pouvez utiliser une adresse différente pour chaque transaction. Votre actif est la somme de tous les UTXO qui vous sont associés, plutôt que le solde d'une adresse spécifique. Par conséquent, UTXO a une meilleure parallélisation, tandis que le modèle de compte est plus susceptible d'être exécuté de manière séquentielle, ce qui entraîne des performances limitées. Bien que le modèle UTXO offre une meilleure confidentialité et une meilleure évolutivité, il est moins intuitif et difficile de mettre en œuvre des opérations logiques complexes. Par exemple, le langage de programmation de Bitcoin présente les limitations suivantes :

  1. Non-Turing complet
    Bien que le langage de script Bitcoin prenne en charge une grande variété de fonctionnalités, il ne prend pas en charge tous les calculs, en particulier les boucles. En théorie, toute opération en boucle peut être réalisée en exécutant de manière répétée le code sous-jacent par le biais de plusieurs couches d'instructions IF, mais cela conduit à une efficacité opérationnelle très faible.

  2. Difficile de déterminer la valeur
    Les scripts UTXO ne peuvent pas contrôler finement le montant qui peut être retiré. Par exemple, l'utilisateur A doit couvrir le risque de prix et l'utilisateur B agit en tant que contrepartie. Les deux parties déposent des actifs d'une valeur de 1 000 dollars dans un contrat. Au bout de 30 jours, l'utilisateur A récupère 1 000 dollars de bitcoins, et le reste est envoyé à l'utilisateur B. Il faudrait donc qu'un oracle détermine la valeur en dollars d'un bitcoin, ce qui l'obligerait à détenir de nombreux UTXO de différentes dénominations.

  3. Manque de flexibilité de l'État
    L'UTXO peut être dépensée ou non. Il est difficile de créer des contrats d'option, des systèmes de cotation décentralisés, des protocoles d'engagement cryptographiques et d'autres applications qui nécessitent des états à plusieurs étapes (comme "en cours d'utilisation"). Par conséquent, les UTXO ne peuvent être utilisées que pour établir des contrats simples à usage unique, plutôt que des contrats plus complexes "avec état" dans des protocoles décentralisés.

  4. Impossibilité de voir les données de la blockchain
    Le modèle UTXO n'a pas de visibilité sur les données de la blockchain, telles que les nombres aléatoires, les horodatages et le hachage du bloc précédent. Cette limitation restreint le développement des jeux et d'autres types de dApps.

Le modèle de compte d'Ethereum

Pour remédier aux lacunes du bitcoin dans les applications de contrats intelligents, Ethereum a abandonné le modèle UTXO et adopté un modèle de compte, similaire aux comptes bancaires personnels, dans lequel une base de données enregistre le solde de chaque compte et le met automatiquement à jour à chaque transaction.

Il existe deux types de comptes sur Ethereum : les comptes détenus par des tiers et contrôlés par des clés privées et les comptes contractuels contrôlés par un code de contrat intelligent. L'Ether sert de moyen d'échange au sein du réseau Ethereum.

  • Comptes
    Chaque compte sur Ethereum a une adresse unique de 20 octets, similaire au numéro de compte de votre compte bancaire. Les comptes peuvent stocker de l'éther ou des données et peuvent se transférer de l'éther ou s'envoyer des messages par le biais de transactions.
  • Contrats
    Les contrats sont comme des distributeurs automatiques. Lorsque vous envoyez de l'Ether à un contrat, celui-ci exécute le code qu'il contient et effectue des opérations spécifiques basées sur la logique définie par le code. Les contrats peuvent stocker des données, exécuter du code, envoyer des messages et interagir avec d'autres contrats.
  • Ether
    L'Ether est la crypto-monnaie native d'Ethereum qui peut être utilisée pour payer les frais de gaz sur le réseau Ethereum. Vous pouvez transférer de l'Ether par le biais de transactions, similaires à un virement bancaire, et l'utiliser pour acheter des services ou des produits dans le cadre de contrats.

Contrats intelligents

Dans le développement de la blockchain, Ethereum a été le premier réseau de blockchain à faciliter l'adoption généralisée des contrats intelligents et des dApps. Les contrats intelligents sur Ethereum sont généralement programmés à l'aide du langage Solidity. Il s'agit de programmes exécutés sur la blockchain avec des caractéristiques telles que l'automatisation, la décentralisation, la transparence et l'immutabilité, ce qui les rend adaptés à la mise en œuvre de diverses logiques commerciales et règles de transaction. Les utilisateurs peuvent effectuer des transactions de manière sûre et fiable sans avoir besoin de faire confiance à des tiers.

Les contrats intelligents peuvent être utilisés pour développer différents types de dApps, ce qui fait du réseau Ethereum un ordinateur partagé à l'échelle mondiale. Tout le monde peut accéder aux données, éditer et utiliser différents types d'applications sur cet ordinateur pour répondre à ses besoins.

À première vue, il ne semble pas particulièrement unique, puisqu'il s'agit simplement d'exécuter des programmes logiciels, n'est-ce pas ? Le stockage des données et l'exécution du code des applications web sur des serveurs centralisés ou l'installation de logiciels sur des ordinateurs personnels peuvent apparemment permettre d'obtenir les mêmes fonctionnalités d'application que les contrats intelligents.

Toutefois, cette approche comporte des limites et des risques tels que la perte de données, la falsification et les interruptions de service. L'émergence des contrats intelligents offre une sécurité, une vérifiabilité et une résistance à la censure sans précédent aux applications traditionnelles. Plus précisément, les contrats intelligents d'Ethereum présentent plusieurs différences essentielles par rapport aux applications web générales et aux logiciels côté client :

  • Stockage des données
    Les données des contrats intelligents sont stockées sur la blockchain, chaque nœud en possédant une copie complète. Les données sont donc transparentes et immuables. En revanche, les données des applications web générales et des logiciels côté client sont stockées sur des serveurs centralisés, où seuls les administrateurs du serveur ou les personnes autorisées peuvent accéder aux données et les modifier. Cela rend les données opaques et mutables.
  • Logique du programme
    La logique du programme des contrats intelligents est écrite sur la blockchain et il est difficile de la modifier ou de la supprimer une fois qu'elle a été déployée. Par conséquent, la logique du programme est fixe et prévisible. En revanche, les applications web générales et les logiciels côté client sont écrits sur des serveurs centralisés, ce qui permet de les modifier ou de les supprimer à tout moment. Cela rend la logique du programme flexible et imprévisible.
  • Environnement d'exécution
    L'environnement d'exécution des contrats intelligents est fourni par le réseau blockchain, où chaque nœud peut vérifier et exécuter les contrats intelligents. L'environnement d'exécution est donc relativement décentralisé et sécurisé. En revanche, les applications web générales et les logiciels côté client s'appuient sur des serveurs centralisés pour fournir l'environnement d'exécution, où seul le serveur peut exécuter ces programmes. Par conséquent, l'environnement d'exécution est centralisé et relativement peu sûr.
  • Méthode d'interaction
    Les contrats intelligents interagissent par le biais des transactions de la blockchain, et chaque interaction nécessite une certaine quantité d'Ether en tant que frais de transaction. Par conséquent, la méthode d'interaction entraîne des coûts et des retards. D'autre part, les applications web générales interagissent par le biais de requêtes HTTP, tandis que les logiciels côté client sur les ordinateurs personnels peuvent fonctionner directement au sein du système d'exploitation. Dans ces cas, les interactions ne nécessitent généralement pas de paiement, ce qui rend la méthode d'interaction presque gratuite et immédiate.

Machine virtuelle Ethereum

La machine virtuelle Ethereum (EVM) est un ordinateur Turing-complet qui fonctionne sur la blockchain Ethereum. Il exécute le code des contrats intelligents et modifie l'état de la blockchain. Une analogie pour le comprendre est le système d'exploitation (OS) fonctionnant sur les ordinateurs personnels ou les smartphones, où seulement dans cet environnement spécifique, les contrats intelligents et les applications Ethereum peuvent être exécutés.

L'EVM fonctionne dans un environnement isolé, sans être affecté par des interférences externes et sans avoir d'impact sur le matériel sous-jacent. Il fonctionne en compilant le code des contrats intelligents, généralement écrit dans le langage Solidity, dans un jeu d'instructions bytecode appelé EVM bytecode. L'EVM exécute ensuite ces instructions étape par étape.

L'exécution de l'EVM entraîne des modifications de l'état de la blockchain, telles que le transfert de jetons, le stockage de données ou le déclenchement d'événements. Pour éviter qu'un code de contrat intelligent malveillant ne provoque des boucles infinies ou ne fasse planter le réseau Ethereum, chaque instruction consomme une certaine quantité de gaz. S'il n'y a pas assez de gaz, l'opération ne peut pas être effectuée.

Taxes sur le gaz

Les frais de gaz font référence aux frais de transaction payés en Ether (ETH) sur le réseau Ethereum pour l'exécution de contrats intelligents ou le transfert de jetons. Il est utilisé pour récompenser les mineurs qui entretiennent le réseau. Le coût de la taxe sur le gaz dépend de la complexité de la transaction et du niveau de congestion du réseau, généralement mesuré en Gwei (1 Gwei = 0,000000001 ETH).

Les négociants peuvent fixer leur propre prix du gaz (le prix par unité de gaz) et leur limite de gaz (la quantité maximale de gaz qu'ils sont prêts à payer) afin d'ajuster la vitesse et le coût de leurs transactions.

La formule de calcul des frais de gaz sur Ethereum est la suivante :
Prix du gaz * Limite du gaz = Frais de gaz

Le prix du gaz représente le prix unitaire de la redevance. Si le prix du gaz est trop bas, la priorité de la transaction peut être moindre et les mineurs peuvent l'ignorer.
La limite de gaz fait référence à la quantité de frais. Si la limite de gaz est trop basse, cela n'affectera pas la priorité de la transaction, mais la transaction peut échouer en raison d'une exécution incomplète, et les frais de gaz payés ne seront pas remboursés.

Dans le cadre de l'EIP-1559 (Ethereum Improvement Proposal), le prix du gaz comprend une taxe de base qui est ajustée de manière dynamique en fonction de la demande du réseau et de la taille des blocs. Les transactions dont le prix du gaz est supérieur au tarif de base sont garanties d'être traitées, et l'ETH sera brûlé pour réduire l'offre de jetons dans le réseau Ethereum.

Les pourboires sont des frais supplémentaires facultatifs que les utilisateurs sont prêts à payer aux mineurs ou aux validateurs. Les utilisateurs peuvent définir leurs propres valeurs pour les conseils, ce qui peut contribuer à améliorer la priorité de leurs transactions ou à accélérer la vitesse des transactions en cas d'encombrement du réseau.

Grâce au mécanisme de gaz d'Ethereum, les ressources informatiques et l'espace de stockage du réseau de la blockchain peuvent être tarifés de manière appropriée, ce qui peut empêcher les contrats intelligents d'exécuter des boucles erronées à l'infini ou d'être attaqués par des acteurs malveillants.

Extraction

Avant la fusion d'Ethereum en septembre 2022, Ethereum et Bitcoin s'appuyaient tous deux sur le mécanisme de consensus Proof of Work (PoW) pour faciliter le fonctionnement normal de leurs réseaux de blockchain.

Les appareils participant au minage devaient résoudre une énigme cryptographique complexe en utilisant la puissance de calcul pour calculer une valeur de hachage répondant à des exigences spécifiques. Ce processus a consommé d'importantes ressources informatiques et de l'électricité, et la difficulté de l'énigme a continué à évoluer en fonction de la puissance de calcul du réseau. Les utilisateurs qui fournissent de la puissance de calcul sont appelés mineurs.

En essayant continuellement de calculer la valeur de hachage, les mineurs avaient la possibilité de trouver une valeur de hachage répondant aux exigences. Les mineurs pouvaient alors regrouper les transactions en attente dans un bloc et diffuser ce bloc à l'ensemble du réseau pour validation et confirmation. Si le bloc est confirmé, le mineur reçoit les récompenses du bloc et les frais de transaction.

Après la mise à jour d'Ethereum 2.0, Ethereum a adopté le mécanisme de consensus Proof of Stake (PoS) pour l'exploitation minière. Les nœuds qui valident les transactions sont tenus de mettre en jeu un certain montant d'Ether comme garantie afin d'obtenir le droit de produire de nouveaux blocs.

L'objectif du jalonnement est d'imposer des risques économiques aux nœuds, de sorte que les nœuds qui attaquent le réseau verront leurs actifs jalonnés réduits, ce qui entraînera des pertes. Cela permet de dissuader les comportements malveillants. Plus un nœud mise d'Ether, plus la probabilité d'obtenir le droit de produire de nouveaux blocs est élevée.

Les nœuds responsables de la production des blocs doivent regrouper les transactions en attente, générer de nouveaux blocs et les diffuser sur le réseau pour validation et confirmation. Si un bloc est confirmé, le nœud reçoit des récompenses de bloc et des frais de transaction, ainsi que certains retours basés sur le montant des actifs mis en jeu.

Le mécanisme de minage joue un rôle crucial dans le réseau Ethereum, qui se reflète principalement dans les aspects suivants :

  1. Garantir la fiabilité et la sécurité des transactions
    L'exploitation minière consiste à ajouter de nouvelles transactions à la blockchain, à augmenter le nombre de blocs et à confirmer la légitimité de ces transactions en obtenant une preuve de travail (actuellement une preuve d'enjeu). L'exploitation minière rend difficile la falsification malveillante des transactions, ce qui garantit la fiabilité et la sécurité des transactions.

  2. Maintien de la décentralisation de la blockchain
    Le mécanisme de minage peut empêcher une entité ou une organisation unique de contrôler l'ensemble du réseau Ethereum, car le minage nécessite une quantité importante de puissance de calcul (actuellement des jetons mis en jeu à la place) et les attaquants auraient besoin de ressources substantielles pour prendre le contrôle. Cela garantit la décentralisation du réseau et empêche tout contrôle monopolistique de la part d'un individu ou d'une entité.

  3. Offrir des incitations à la participation
    Mining permet aux participants d'obtenir des récompenses en contribuant aux ressources. Cela incite les utilisateurs à participer à la construction et à l'exploitation du réseau, garantissant ainsi son bon fonctionnement.

Par rapport au minage PoW, le minage PoS nécessite beaucoup moins de ressources informatiques et de consommation d'énergie, ce qui le rend plus apte à répondre aux besoins de développement et d'évolutivité du réseau Ethereum.

Applications d'Ethereum

Les contrats intelligents d'Ethereum ont permis de nombreuses applications importantes, notamment :

  1. DeFi (Decentralized Finance)
    DeFi est l'une des applications les plus réussies des contrats intelligents d'Ethereum. Il s'appuie sur des contrats intelligents pour établir une gamme de protocoles financiers décentralisés tels que MakerDAO, Compound, Uniswap, et plus encore. Ces protocoles permettent d'offrir des services financiers tels que le prêt, le commerce, l'assurance, la gestion d'actifs, etc.

  2. NFTs (Non-Fungible Tokens)
    Les NFTs sont des actifs numériques basés sur les contrats intelligents d'Ethereum, offrant un caractère unique et indivisible grâce à la fonctionnalité des contrats intelligents. Les NFT trouvent des applications dans divers domaines tels que l'art, la musique, les jeux, l'immobilier virtuel, etc.

  3. DAO (Decentralized Autonomous Organizations)
    Une DAO est une organisation autonome décentralisée basée sur les contrats intelligents d'Ethereum. Il permet aux membres de prendre des décisions sur des questions internes par le biais du vote, telles que l'allocation du budget, la gestion du personnel, les décisions d'investissement, etc. Les DAO fonctionnent de manière véritablement décentralisée et démocratique et peuvent s'appliquer aux communautés, aux entreprises, aux fondations et à d'autres organisations.

  4. Émission de jetons
    La norme ERC-20 sur Ethereum spécifie l'émission et l'échange de jetons, ce qui permet de créer ses propres jetons qui peuvent être échangés sur le réseau Ethereum.

  5. Stockage décentralisé
    Il existe également des protocoles de stockage de fichiers distribués basés sur des contrats intelligents sur Ethereum. Par exemple, le protocole Swarm permet aux utilisateurs de stocker des fichiers de manière distribuée sur le réseau, ce qui les rend plus sûrs et plus fiables.

  6. Informatique en nuage
    Il existe également des plateformes informatiques décentralisées basées sur des contrats intelligents sur Ethereum, telles que Golem et iExec. Ces plateformes permettent aux utilisateurs de louer des ressources informatiques pour exécuter diverses applications, ce qui permet d'améliorer l'efficacité de l'informatique et du traitement des données.

  7. Identité numérique
    EIP-4361 introduit un cadre normalisé pour la connexion avec Ethereum, permettant aux utilisateurs de se connecter aux dApps en utilisant leur adresse Ethereum au lieu des noms d'utilisateur et mots de passe traditionnels. Ce mécanisme d'authentification renforce la confidentialité et la sécurité des utilisateurs tout en réduisant l'intervention des intermédiaires. \
    Outre les applications susmentionnées, les contrats intelligents d'Ethereum peuvent permettre un large éventail d'autres cas d'utilisation, tels que les jeux, les réseaux sociaux et la gestion de la chaîne d'approvisionnement, entre autres. Grâce à la programmabilité des contrats intelligents, les scénarios d'application sur la plateforme Ethereum continuent de s'étendre, offrant un potentiel important pour le développement futur.

Les défis de l'évolutivité d'Ethereum

Ethereum a sacrifié une partie de ses performances au profit de la décentralisation et de la sécurité. En raison de limitations techniques, Ethereum a un temps de génération de blocs d'environ 12 à 15 secondes, la taille de chaque bloc étant limitée à 15 Mo. Par conséquent, Ethereum ne peut traiter qu'environ 15 transactions par seconde.

Cependant, en tant que plus grand réseau de contrats intelligents en termes d'écosystème et de communauté de développement, Ethereum a connu une augmentation significative du nombre d'adresses de portefeuilles uniques avec un solde non nul sur sa blockchain, qui a plus que décuplé au cours des cinq dernières années. La multiplication des protocoles et des activités des utilisateurs a dépassé la conception existante, exacerbant les problèmes d'évolutivité d'Ethereum.

Pour améliorer l'évolutivité d'Ethereum, la communauté des développeurs a proposé diverses solutions, notamment les sidechains, les rollups, la technologie du sharding et le détournement du trafic vers d'autres réseaux de blockchain compatibles avec l'EVM afin de réduire les encombrements.

Conclusion

Dans cette leçon, nous avons approfondi l'architecture technique et les principes d'Ethereum, ainsi que la façon dont l'innovation des contrats intelligents exploite le potentiel de la blockchain, permettant une gamme variée d'applications et d'écosystèmes décentralisés pour faciliter divers besoins commerciaux et contrats sociaux.

Cependant, la croissance rapide d'Ethereum a mis en lumière le problème de la faible évolutivité. Relever le défi de l'extensibilité est donc devenu une priorité absolue pour répondre aux demandes croissantes des utilisateurs.

Dans la prochaine leçon, nous explorerons différentes solutions d'évolutivité et leurs applications au sein de l'écosystème, y compris les sidechains, les rollups et divers concurrents de l'EVM. Nous analyserons également leurs avantages et inconvénients respectifs, ce qui vous permettra de mieux comprendre l'état de développement actuel et les tendances futures de la technologie blockchain.

Points forts

  • Ethereum est une plateforme décentralisée de contrats intelligents basée sur la technologie blockchain qui utilise un modèle de compte.
  • L'Ether sert de moyen d'échange dans le réseau Ethereum, étant utilisé pour payer les frais de transaction et acheter des services ou des produits dans le cadre de contrats.
  • Les contrats intelligents sur Ethereum sont programmés à l'aide du langage Solidity et peuvent mettre en œuvre diverses logiques commerciales et règles de transaction.
  • La machine virtuelle Ethereum (EVM) est utilisée pour exécuter le code des contrats intelligents et modifier l'état de la blockchain.
  • Chaque instruction sur Ethereum consomme une certaine quantité de gaz. En l'absence d'une quantité suffisante de gaz, les opérations ne peuvent pas être effectuées.
  • Les contrats intelligents Ethereum possèdent des caractéristiques telles que la transparence des données, l'immutabilité, une logique de programme fixe et prévisible, un environnement d'exécution décentralisé et sécurisé, et une interaction avec des coûts et des délais.
  • L'évolutivité est l'un des principaux problèmes qu'Ethereum doit actuellement résoudre, et la communauté des développeurs a proposé diverses solutions, notamment les chaînes latérales, les rollups, la technologie du sharding, etc.
  • Ethereum possède sa propre crypto-monnaie, l'Ether (ETH), qui sert à payer les frais de transaction et à récompenser les mineurs. Il utilise actuellement un mécanisme de consensus par preuve d'enjeu (PoS).
  • Les contrats intelligents d'Ethereum ont ouvert la voie à de nombreuses applications importantes, notamment les DeFi, les NFT, les DAO, l'émission de jetons, le stockage décentralisé et l'informatique en nuage.
  • Dans sa quête de décentralisation et de sécurité, Ethereum a sacrifié une partie de ses performances et est confronté à des problèmes d'évolutivité. Les solutions existantes comprennent les sidechains, les Rollups, la technologie du sharding et le détournement du trafic vers d'autres réseaux de blockchain compatibles avec l'EVM.





🎥・Vidéo principale


Non

📄・Articles connexes


Qu'est-ce qu'Ethereum ?


Qu'est-ce que UTXO ?


Qu'est-ce qu'un contrat intelligent ?


Qu'est-ce que l'EVM (Ethereum Virtual Machine) ?


Qu'est-ce que la taxe sur le gaz ?


Qu'est-ce qu'un algorithme de consensus de blockchain ?

Tuyên bố từ chối trách nhiệm
* Đầu tư tiền điện tử liên quan đến rủi ro đáng kể. Hãy tiến hành một cách thận trọng. Khóa học không nhằm mục đích tư vấn đầu tư.
* Khóa học được tạo bởi tác giả đã tham gia Gate Learn. Mọi ý kiến chia sẻ của tác giả không đại diện cho Gate Learn.