Tout savoir sur les jetons ERC20: [Le guide le plus complet]

Que sont les jetons ERC20?

TLDR:

Les jetons ERC-20 sont des jetons conçus et utilisés uniquement sur la plate-forme Ethereum.

Ils suivent une liste de normes afin qu’ils puissent être partagés, échangés contre d’autres jetons ou transférés vers un crypto-portefeuille.

La communauté Ethereum a créé ces normes avec trois règles facultatives et six obligatoires.

Il est difficile de mettre en mots l’impact même des jetons ERC20 sur le monde cryptographique. Ils sont à eux seuls responsables des industries ICO d’un milliard de dollars et ils ont joué un rôle important dans la généralisation des crypto-monnaies. Avant d’entrer dans ce qu’ils sont et comment ils ont eu un impact, une petite leçon d’histoire s’impose.

La voie des contrats intelligents

La technologie de la blockchain et les crypto-monnaies sont arrivées au premier plan lorsqu’un développeur anonyme se faisant appeler Satoshi Nakamoto a créé Bitcoin. Bitcoin était révolutionnaire pour un certain nombre de raisons. Pour la toute première fois, nous avions un système monétaire qui appartenait au peuple. Vous pouvez envoyer un Bitcoin à n’importe qui avec un portefeuille Bitcoin sans avoir à passer par une banque.

Pour présenter au monde la technologie blockchain, Bitcoin est communément appelé «blockchain de première génération». Cependant, il existe une énorme restriction dans la manière dont Bitcoin effectue ses transactions.

Il s’avère que les transactions ne doivent pas toujours être aussi simples.

Si vous souhaitez envoyer de l’argent à votre ami dans une simple transaction individuelle, Bitcoin sera idéal dans ce scénario. Cependant, que faire si vous souhaitez envoyer de l’argent à votre ami uniquement lorsqu’il termine un certain nombre de tâches dans un délai donné. Comment pouvez-vous manipuler le code de transaction pour tenir compte de telles transactions complexes?

C’est la question à laquelle Vitalik Buterin a fourni une solution en créant Ethereum.

Ethereum et contrats intelligents

Vitalik Buterin s’est rendu compte que la technologie de la blockchain avait beaucoup plus d’utilité qu’un simple système de paiement. Selon leur site Web.

«Ethereum est une plate-forme décentralisée qui exécute des contrats intelligents: des applications qui fonctionnent exactement comme programmées sans aucune possibilité de temps d’arrêt, de censure, de fraude ou d’interférence de tiers. Ces applications fonctionnent sur une blockchain personnalisée, une infrastructure mondiale partagée extrêmement puissante qui peut déplacer de la valeur et représenter la propriété de la propriété. »

En termes plus simples, Ethereum prévoit de devenir un super-ordinateur décentralisé dans lequel n’importe qui, n’importe où, peut louer de la puissance de calcul et créer des applications décentralisées (Dapps) qui peuvent fonctionner au-dessus de la plate-forme Ethereum..

Alors, comment faites-vous ces Dapps? Pour cela, nous devons nous pencher sur les contrats intelligents

Les contrats intelligents sont des contrats automatisés. Ils sont auto-exécutables avec des instructions spécifiques écrites sur son code qui sont exécutées lorsque certaines conditions sont remplies.

Jetons ERC20: l'histoire de l'origine

Vous pouvez en savoir plus sur les contrats intelligents dans notre guide détaillé ici.

Les contrats intelligents permettent de faire les choses dans l’écosystème Ethereum. Quand quelqu’un veut faire une tâche particulière dans Ethereum, il initie un contrat intelligent avec une ou plusieurs personnes.

Revenons à notre section précédente.

Les contrats intelligents vous aident à coder des détails transactionnels complexes dans un format simplifié, et ils ont été conceptualisés par Nick Szabo. Selon lui, le meilleur exemple de travail réel du contrat intelligent est un distributeur automatique..

Lorsque vous voulez quelque chose du distributeur automatique, vous déposez simplement votre argent dans le distributeur, puis vous choisissez ce que vous voulez et le distributeur vous le donne. Vous interagissez directement avec la machine sans aucune intervention d’une tierce personne. Tant que vous suivez le processus qui est:

  • Déposer votre argent
  • CHOISISSEZ VOTRE PRODUIT

Vous obtiendrez ce que vous demandez.

Supposons que vous et votre amie Alice vouliez interagir en utilisant un contrat intelligent.

Le contrat intelligent fonctionne également de la même manière. Vous verrouillez une partie de votre Ether (le jeton Ethereum) dans le contrat intelligent, la condition étant que dès qu’Alice aura terminé certaines tâches, le contrat débloquera les fonds et les enverra dans son portefeuille..

Contrats intelligents et ICO

Les contrats intelligents ont ouvert un tout nouveau monde pour que les développeurs créent et innovent. Cependant, ces développeurs avaient besoin d’un moyen de financer leurs projets.

La solution? ICO.

Les ICO ou les offres de pièces initiales sont la version crypto-monnaie des offres publiques initiales ou des introductions en bourse. Cependant, par rapport aux introductions en bourse, les ICO sont beaucoup plus favorables aux entrepreneurs que les introductions en bourse pour les raisons suivantes

  • Premièrement, il est beaucoup plus simple de présenter votre projet dans les ICO. Tout ce que vous avez à faire est de présenter un livre blanc de votre projet.
  • N’importe qui peut s’investir dans un projet qui l’intéresse en achetant les jetons de ce DAPP particulier et devenir lui-même partie intégrante du projet.

Il y a encore une chose que vous devez savoir avant d’entrer dans le fonctionnement d’une ICO. Les développeurs doivent donner quelque chose en échange des investissements. Ce «quelque chose» s’appelle des jetons.

 Pour vous donner une définition très large et non généralisée, un jeton est une représentation de quelque chose dans son écosystème particulier. Cela peut valoriser, miser, voter ou quoi que ce soit. Un jeton n’est pas limité à un rôle particulier; il peut remplir de nombreux rôles dans son écosystème natif.

Alors, quels sont ces «rôles» que les jetons peuvent prendre?

  • Sonner: Un jeton peut servir de passerelle vers le Dapp. Fondamentalement, pour accéder au Dapp, vous devrez conserver les jetons.
  • Droit de vote: Les jetons peuvent également permettre aux détenteurs de disposer de certains droits de vote. Pensez à EOS, détenir des jetons EOS vous permettra de voter pour les producteurs de blocs.
  • Échange de valeur: C’est l’un des rôles les plus courants des jetons au sein de l’écosystème. Les jetons peuvent aider à créer un système économique interne au sein de l’application.
  • Amélioration de l’expérience utilisateur: Le jeton peut également permettre aux détenteurs d’enrichir l’expérience utilisateur dans les limites de l’environnement particulier. Par exemple. Dans Brave (un navigateur Web), les détenteurs de BAT (jetons utilisés dans Brave) obtiendront les droits d’enrichir l’expérience client en utilisant leurs jetons pour ajouter des publicités ou d’autres services axés sur l’attention sur la plateforme Brave.
  • Devise: Peut être utilisé comme réserve de valeur qui peut être utilisée pour effectuer des transactions à la fois à l’intérieur et à l’extérieur de l’écosystème donné.

Ok, donc jusqu’à présent, nous vous avons expliqué comment fonctionnent les contrats intelligents, les ICO et les jetons. Cependant, c’est ici que nous avons rencontré le premier obstacle. Prenons un exemple d’arcade.

L’arcade du jeu vidéo

Jetons ERC20: l'histoire de l'origine

Pensez à une arcade de jeux vidéo à l’ancienne. Quelles sont toutes les étapes à suivre avant de pouvoir jouer à votre jeu:

  1. Vous prenez votre monnaie fiduciaire et les convertissez en pièces d’arcade.
  2. Vous utilisez les pièces d’arcade pour jouer à des jeux dans les machines en les insérant dans la fente. Les fentes sont conçues pour accepter des pièces de forme circulaire.
  3. Une fois que vous avez terminé, vous prenez les pièces restantes, le cas échéant, et les convertissez en monnaie fiduciaire.

Alors, pouvez-vous faire le parallèle entre l’arcade et la plate-forme de contrat intelligent?

Les machines d’arcade de jeux vidéo sont le Dapp tandis que les pièces d’arcade émises sont vos jetons natifs. Vous devrez être en possession de ces pièces pour accéder aux services de votre Dapp.

Il y a cependant un problème de ce système.

Pour pouvoir s’insérer dans la fente de la machine, les pièces doivent être d’une dimension spécifique. Maintenant, que se passerait-il si certaines machines arrivaient qui n’acceptaient pas les modèles de pièces circulaires et préféraient plutôt une forme de pièce carrée??

Afin de gérer l’entreprise en douceur, le propriétaire de l’arcade doit établir une règle de base. Toutes les machines doivent être construites pour accepter les pièces d’arcade circulaires. Aucune autre forme ne doit être acceptée.

C’est essentiellement ce que fait la directive ERC20.

Le problème avec une conception de jeton différente

Dans les premiers jours, il semblait que chaque jeton ICO essayait de «réinventer la roue» en ce qui concerne l’exécution. Chacun de ces jetons avait sa propre liste de fonctions. Maintenant, cela a conduit à toute une série de nouveaux problèmes.

Pour créer un écosystème sain au-dessus d’Ethereum, il est absolument essentiel que les Dapps construits dessus puissent interagir les uns avec les autres de manière transparente. Cependant, que se passera-t-il si nous avons deux jetons, disons Token Alpha et Token Beta, et que les deux ont des structures de contrat intelligent différentes?

Pour que cela se produise, les développeurs devront étudier attentivement ces deux contrats et déterminer exactement comment ces jetons vont interagir les uns avec les autres..

Maintenant, cela ne présage rien de bon pour l’évolutivité, n’est-ce pas?

S’il y a 100 jetons différents avec 100 contrats différents, alors pour affiner toutes les qualifications et conditions requises pour s’assurer que les transferts peuvent passer entre tous ces jetons, il faudra une énorme quantité de calculs complexes. Ce qui n’est pas du tout un scénario idéal.

Il fallait faire quelque chose et le 19 novembre 2015, Fabian Vogelsteller a proposé une solution ingénieuse.

Entrez les jetons ERC20

Jetons ERC20: l'histoire de l'origine

Selon Wikipédia, ERC20 est un

liste des règles qu’un jeton Ethereum doit mettre en œuvre, donnant aux développeurs la possibilité de programmer le fonctionnement des nouveaux jetons dans l’écosystème Ethereum. Le standard de jeton ERC-20 est devenu populaire auprès des entreprises de financement participatif travaillant sur des cas d’offre initiale de pièces de monnaie (ICO) en raison de la simplicité du déploiement, ainsi que de son potentiel d’interopérabilité avec d’autres normes de jeton Ethereum. »

Pour faire simple, ERC20 est un guide de règles et de réglementations qui aidera à créer un plan pour les contrats intelligents basés sur Ethereum pour créer leurs jetons. Le “ERC” signifie à Ethereum Request for Comment, tandis que le nombre “20” est le numéro attribué à cette demande.

Alors, maintenant que vous savez ce qu’est ERC20, allons disséquer encore plus et voir ce qui se passe dans les coulisses.

Anatomie des jetons ERC20

Ils suivent une liste de règles afin qu’ils puissent être partagés, échangés contre d’autres jetons ou transférés vers un crypto-portefeuille. La norme ERC20 comprend 3 règles optionnelles et 6 règles obligatoires.

Les règles obligatoires sont les suivantes:

  • totalSupply
  • équilibre des
  • transfert
  • transfert à partir de
  • approuver
  • allocation

D’autre part, les règles optionnelles sont:

  • Nom du jeton
  • symbole
  • Décimal (jusqu’à 18)

Développons d’abord les règles facultatives avant d’examiner les 6 règles obligatoires.

Les 3 règles optionnelles

Même s’il n’est pas nécessaire de nommer vos jetons, il est toujours important de leur donner une identité. Le nom est déclaré comme ceci:

string public constant name = «Token Name»;

Ensuite, nous avons des symboles. Nous ne pouvons tout simplement pas sous-estimer leur importance. Le parfait exemple en est OmiseGO. Les gens connaissent bien mieux OMG qu’OmiseGO. Un symbole accrocheur contribue à une meilleure image de marque. La façon dont ils sont déclarés est:

chaîne symbole de constante publique = “SYM”;

Enfin, nous avons la divisibilité qui nous aidera à déterminer la valeur la plus basse possible du jeton. Une divisibilité de 0 signifiera que la valeur la plus basse du jeton est 1. Une divisibilité de 2, par contre, signifie que sa valeur la plus basse sera de 0,01. Le nombre maximum de décimales autorisé est 18. Il est déclaré comme ceci:

uint8 décimales constantes publiques = 18;

D’accord, passons maintenant aux 6 règles.

Les 6 règles obligatoires

# 1 total

[totalSupply] identifie le nombre total de jetons ERC-20 créés. Le but de cette méthode est de déterminer le nombre total de jetons flottant autour de l’écosystème.

Le code ressemble à ceci:

contrat MyERCToken {

uint256 _totalSupply = 1000000;

la fonction totalSupply () renvoie la constante (uint256 theTotalSupply) {

theTotalSupply = _totalSupply;

return theTotalSupply;

}

}

# 2 balanceOf

La fonction balanceOf renvoie le nombre de jetons qu’une adresse particulière, dans ce cas, le propriétaire du contrat, a dans son compte.

Le code ressemble à ceci:

contrat MyERCToken {

// Créer une table pour que nous puissions mapper les adresses

// aux soldes qui leur sont associés

mappage (adresse => uint256) soldes;

// Propriétaire de ce contrat

s’adresser au propriétaire public;

function balanceOf (adresse _owner) retours constants (solde uint256) {

// Renvoie le solde pour l’adresse spécifique

retour des soldes [_owner];

}

}

# 3 approuver ()

Une fois le solde vérifié, le propriétaire du contrat peut donner son accord à l’utilisateur pour collecter le nombre requis de jetons à partir de l’adresse du contrat. La fonction d’approbation vérifie également la transaction par rapport à l’offre totale de jetons pour s’assurer qu’aucun élément n’est manquant ou supplémentaire. En d’autres termes, il garantit que la contrefaçon est impossible.

Remarque: “Msg.sender” est l’adresse du titulaire du contrat.

contrat MyERCToken {

// Créer une table pour que nous puissions mapper

// les adresses des titulaires de contrat à

// ceux qui sont autorisés à utiliser le contrat du propriétaire

mappage (adresse => mappage (adresse => uint256)) autorisé;

function approve (address _spender, uint256 _amount) renvoie (bool success) {

autorisé [msg.sender] [_ spender] = _amount;

// Déclenche l’événement "Approbation" pour exécuter n’importe quelle logique

// qui l’écoutait

Approbation (msg.sender, _spender, _amount);

retourne vrai;

}

}

Transfert n ° 4 ()

Ainsi, maintenant que toutes les vérifications ont été effectuées et que le contrat sait que l’utilisateur dispose du nombre de jetons requis pour exécuter la transaction, le propriétaire du contrat peut leur envoyer des jetons en utilisant la fonction transfer ().

Cette fonction permet au propriétaire du contrat d’envoyer un montant donné du jeton à une autre adresse, tout comme une transaction de crypto-monnaie conventionnelle., Permet de transférer un certain nombre de jetons de l’offre totale vers un compte utilisateur. Avant que le jeu puisse commencer, les joueurs doivent recevoir leur BLU du croupier.

contrat MyERCToken {

mappage (adresse => uint256) soldes;

// Remarque: cette fonction renvoie une valeur booléenne

// indiquant si le transfert a réussi

function transfer (address _to, uint256 _amount) renvoie (bool success) {

// Si l’expéditeur dispose de fonds suffisants pour envoyer

// et le montant n’est pas nul, puis envoyer à

// l’adresse donnée

if (soldes [msg.sender] >= _amount

&& _quantité > 0

&& soldes [_to] + _amount > soldes [_to]) {

soldes [msg.sender] – = _amount;

soldes [_to] + = _amount;

// Déclenche un événement de transfert pour tout

// logique qui écoute

Transfert (msg.sender, _to, _amount);

retourne vrai;

} autre {

retourner faux;

}

}

}

# 5 transfertDepuis ()

Hmmm … attendez.

Nous avons déjà couvert la fonction de transfert, pourquoi avons-nous une autre?

Eh bien, prenons un exemple pour voir pourquoi transferFrom est un ajout si brillant au contrat ERC20.

Nous devons tous payer une somme d’argent chaque mois comme sur des roulettes. Cela peut être votre loyer, vos factures, etc. Vous n’avez pas vraiment besoin de payer vous-même tous ces montants. Vous pouvez toujours mettre en place un système de paiement automatique avec vos banques pour prendre en charge ces paiements.

C’est ce que transferFrom () vous permet de faire. Il vous aide à automatiser les transferts de paiement vers un compte spécifique.

Code:

contrat MyERCToken {

mappage (adresse => uint256) soldes;

function transferFrom (adresse _from, adresse _to, uint256 _amount) renvoie (bool success) {

if (soldes [_from] >= _amount

&& autorisé [_from] [msg.sender] >= _amount

&& _quantité > 0

&& soldes [_to] + _amount > soldes [_to]) {

soldes [_from] – = _amount;

soldes [_to] + = _amount;

Transfert (_de, _à, _amount);

retourne vrai;

} autre {

retourner faux;

}

}

}

Remarque: Même s’il s’agit de l’un des jetons les plus populaires, le jeton golem GNT n’est pas considéré comme ERC20 car il n’a pas les fonctions approve () et transferFrom () dans son contrat.

Allocation # 6 ()

Afin d’effectuer une transaction, l’une des données les plus importantes que le contrat doit connaître est le solde de l’utilisateur. Après tout, l’utilisateur doit disposer du minimum de jetons requis pour effectuer la transaction.

C’est pourquoi, le contrat ERC20 intègre également la fonction allocation (). Si l’utilisateur ne dispose pas du nombre minimum de jetons requis, la fonction annule la transaction.

Code:

la fonction allocation (adresse _ propriétaire, adresse _spender) renvoie la constante (uint256 restant) {

retour autorisé [_owner] [_ spender];

}

Rassembler le code

Alors, maintenant que nous avons vu comment fonctionnent les différentes fonctions, jetons un coup d’œil au contrat de jeton ERC20.

Le code a été extrait de GitHub.

solidité pragma ^ 0,4,15;

contrat MyERCToken

{

// Créer une table pour que nous puissions mapper les adresses

// aux soldes qui leur sont associés

mappage (adresse => uint256) soldes;

// Créer une table pour que nous puissions mapper

// les adresses des titulaires de contrat à

// ceux qui sont autorisés à utiliser le contrat du propriétaire

mappage (adresse => mappage (adresse => uint256)) autorisé;

// Dans ce cas, l’offre totale

// de MyERCToken est fixe, mais

// cela peut beaucoup être changé

uint256 _totalSupply = 1000000;

// Propriétaire de ce contrat

s’adresser au propriétaire public;

la fonction totalSupply () renvoie la constante (uint256 theTotalSupply) {

// Parce que notre signature de fonction

// déclare que la variable de retour

// est "theTotalSupply", nous allons simplement définir cette variable

// à la valeur de la variable d’instance "_totalSupply"

// et le renvoyer

theTotalSupply = _totalSupply;

return theTotalSupply;

}

function balanceOf (adresse _owner) retours constants (solde uint256) {

retour des soldes [_owner];

}

function approve (address _spender, uint256 _amount) renvoie (bool success) {

autorisé [msg.sender] [_ spender] = _amount;

// Déclenche l’événement "Approbation" pour exécuter n’importe quelle logique

// qui l’écoutait

Approbation (msg.sender, _spender, _amount);

retourne vrai;

}

// Remarque: cette fonction renvoie une valeur booléenne

// indiquant si le transfert a réussi

function transfer (address _to, uint256 _amount) renvoie (bool success) {

// Si l’expéditeur dispose de fonds suffisants pour envoyer

// et le montant n’est pas nul, puis envoyer à

// l’adresse donnée

if (soldes [msg.sender] >= _amount

&& _quantité > 0

&& soldes [_to] + _amount > soldes [_to]) {

soldes [msg.sender] – = _amount;

soldes [_to] + = _amount;

// Déclenche un événement de transfert pour tout

// logique qui écoute

Transfert (msg.sender, _to, _amount);

retourne vrai;

} autre {

retourner faux;

}

}

function transferFrom (adresse _from, adresse _to, uint256 _amount) renvoie (bool success) {

if (soldes [_from] >= _amount

&& autorisé [_from] [msg.sender] >= _amount

&& _quantité > 0

&& soldes [_to] + _amount > soldes [_to]) {

soldes [_from] – = _amount;

soldes [_to] + = _amount;

Transfert (_de, _à, _amount);

retourne vrai;

} autre {

retourner faux;

}

}

la fonction allocation (adresse _ propriétaire, adresse _spender) renvoie la constante (uint256 restant) {

retour autorisé [_owner] [_ spender];

}

// Déclenché chaque fois que approve (address _spender, uint256 _value) est appelé.

Approbation d’événement (adresse indexée _owner, adresse indexée _spender, uint256 _value);

// Déclenché lorsque les jetons sont transférés.

transfert d’événement (adresse indexée _from, adresse indexée _to, uint256 _value);

}

Avantages des jetons ERC20

Maintenant que nous savons ce qu’est ERC20, quels sont les principaux avantages de son utilisation?

  • Tout d’abord, la commodité. Comme nous l’avons déjà dit plus tôt, si chacun créait ses propres jetons avec ses propres fonctions, cela aurait été un cauchemar d’interopérabilité. De plus, enregistrer ces jetons dans des portefeuilles et les lister sur les échanges aurait été pénible. Le transfert de jetons aurait pu rompre des contrats et les rendre vulnérables aux pirates.
  • Étant donné que la réglementation ERC20 présente un plan d’action approprié pour les développeurs. Il leur est facile de créer des jetons au lieu de travailler à partir de zéro.
  • Un facteur important et critique pour l’évaluation globale du réseau Ethereum est la liquidité de ces jetons ERC20. Si les projets au-dessus d’Ethereum sont actifs et interagissent les uns avec les autres, cela amènera invariablement plus de projets et plus d’utilisateurs au réseau Ethereum..

Les failles de l’ERC20

Faille n ° 1: le bug de transfert ()

Même si les jetons ERC20 ont beaucoup de bonnes qualités, ils ont également suscité de nombreuses critiques. Dans Ethereum, il existe deux types de comptes, les comptes détenus en externe (EOA), contrôlés par des clés privées, et les comptes de contrat, contrôlés par leur code de contrat..

Si vous souhaitez interagir avec un autre compte EOA, vous pouvez utiliser la fonction transfer () pour envoyer les jetons requis. Cependant, si vous souhaitez envoyer les jetons à un compte contractuel en utilisant la fonction transfer (), vous serez alors confronté à un bug qui a conduit à la perte de près de millions de dollars.

Le gros problème avec la fonction transfer () est qu’une fois qu’elle est exécutée, le destinataire ne sera pas informé du transfert même si la transaction se déroule avec succès

Un développeur qui s’appelle “Dexaran” a été celui qui a porté cela à l’attention de tous.

Selon lui:

“La transaction d’un jeton est une modification des variables internes du contrat (le” solde “de l’expéditeur sera diminué et le” solde “du destinataire sera augmenté).

En conséquence, si le destinataire est un contrat, les utilisateurs doivent transférer leurs jetons en utilisant le mécanisme `approve` +` transferFrom`, et si le destinataire est une adresse de compte externe, les utilisateurs doivent transférer leurs jetons via la fonction `transfer`. Si un utilisateur fait une erreur et choisit une mauvaise fonction, le jeton restera bloqué dans le contrat (le contrat ne reconnaîtra pas une transaction). Il n’y aura aucun moyen d’extraire des jetons bloqués.

Quelqu’un parmi les développeurs de jetons ERC20 pense-t-il que les utilisateurs ne feront jamais de telles erreurs lors du développement de leurs jetons? »

Donc, cela constitue un très bon cas pour la combinaison approbation () et transferFrom (), n’est-ce pas? Cependant, il y a aussi un problème.

Il s’agit d’une opération non sécurisée et conduit donc à la possibilité d’une double attaque dépensée.

Faille n ° 2: le point d’entrée est trop bas

Une autre grande critique est que ERC20 a rendu trop facile pour les gens de créer leurs propres jetons. En conséquence, le marché est inondé d’ICO et de jetons inutiles et, pire encore, frauduleux..

L’avenir des jetons ERC20

S’il est vrai que les jetons ERC20 ont été importants pour la croissance de l’écosystème cryptographique, il n’en reste pas moins qu’ils ont peut-être dépassé la durée de leur accueil. Les gens expérimentent déjà des normes plus récentes comme ERC223, ERC 777, etc., mais, pour le moment, ERC20 ne va nulle part.

Dexaran souligne les raisons suivantes pour lesquelles ERC20 est toujours la norme de choix préférée:

  • En raison de l’irresponsabilité criminelle des développeurs de jetons pour leurs actes.
  • Parce que la Fondation Ethereum fait toujours la promotion du standard de jeton ERC20 même s’il est connu pour contenir des bogues. La même situation qu’avec TheDAO auparavant. Ils doivent dire «Arrêtez ça maintenant» mais ils ne le feront pas.
  • Parce que la principale raison du développement de jetons est la saisie de fonds, plutôt que la création de produits.
  • Parce que l’utilisation d’une norme différente entraînera des effets de réseau plus élevés. Ce n’est pas ce dont nous avons vraiment besoin étant donné que le réseau Ethereum a déjà des problèmes d’évolutivité.

Le changement est toujours lent et il semble que nous devrons certainement attendre un peu plus avant de pouvoir passer à d’autres normes. Cependant, ne commettons pas l’erreur de «criminaliser» la norme ERC20. Il mérite certainement tout le respect pour l’impact profond qu’il a eu sur le crypto-espace.

Mike Owergreen Administrator
Sorry! The Author has not filled his profile.
follow me