What is Ethereum Gas? [The Most Comprehensive Step-By-Step Guide Ever!]

Ameer Rosic

2 years ago

Qu'est-ce que Ethereum Gas ?

TL ; DR

Ethereum Gas est une unité qui mesure la quantité d'effort de calcul qu'il faudra pour exécuter certaines opérations.

Chaque opération qui participe à Ethereum, qu'il s'agisse d'une transaction ou d'une exécution intelligente de contrat nécessite une certaine quantité de gaz.

Les mineurs reçoivent une somme en éther qui équivaut à la quantité totale de gaz qu'il leur a fallu pour exécuter une opération complète.

Ethereum Gas — est le moteur vital de l'écosystème Ethereum, il n'y a pas d'autre façon de le dire. Le gaz est une unité qui mesure la quantité d'effort de calcul qu'il faudra pour exécuter certaines opérations.

Chaque opération qui participe à Ethereum, que ce soit une transaction simple, un contrat intelligent, ou même un ICO prend une certaine quantité de gaz. Le gaz est ce qui est utilisé pour calculer le montant des frais qui doivent être payés au réseau pour exécuter une opération.

Dans ce guide, nous allons comprendre comment fonctionne le gaz. Mais avant de le faire, il y a plusieurs concepts que nous devons apprendre. Alors, sans plus tarder, commençons notre plongée profonde sur Ethereum Gas.

Qu'est-ce que le gaz Ethereum : Guide étape par étape

Pourquoi le gaz n'est-il pas nécessaire dans Bitcoin ?

Bitcoin a été créé parce que tout le monde posait les mêmes questions.

Est-il possible de créer une forme d'argent qui peut être transférée entre deux personnes sans intermédiaire ?

Est-il possible de créer un argent décentralisé qui peut fonctionner sur quelque chose comme la blockchain ?

Satoshi Nakamoto a répondu à ces questions quand il a créé Bitcoin. Nous avons enfin eu un système monétaire décentralisé qui peut transférer de l'argent d'une personne à une autre.

Cependant, il y avait un problème avec bitcoin qui est un problème avec toutes les blockchains de première génération. Ils ne permettaient que des transactions monétaires, il n'y avait aucun moyen d'ajouter des conditions à ces transactions.

Alice peut envoyer Bob 5 BTC, mais elle n'a pas pu imposer de conditions à ces transactions. Par exemple. Elle ne pouvait pas dire à Bob qu'il recevrait l'argent seulement s'il effectuait certaines tâches.

Ces conditions nécessiteraient des scripts extrêmement compliqués. Il fallait quelque chose pour rendre le processus plus transparent.

Et ce « quelque chose » était un contrat intelligent.

Qu'est-ce qu'un contrat intelligent ?

Les contrats intelligents vous aident à échanger de l'argent, des biens, des actions ou tout ce qui a une valeur de manière transparente et sans conflit tout en évitant les services d'un intermédiaire.

What is Ethereum Gas: Step-By-Step Guide

L'Ethereum de Vitalik Buterin est facilement le fidèle de cette génération. Ils ont montré au monde comment la blockchain peut évoluer d'un simple mécanisme de paiement à quelque chose de beaucoup plus significatif et puissant.

Alors, quels sont ces « contrats intelligents » et quel est le problème ?

Les contrats intelligents sont des contrats automatisés. Ils s'exécutent automatiquement avec des instructions spécifiques écrites dans son code qui sont exécutées lorsque certaines conditions sont faites.

What is Ethereum Gas: Step-By-Step Guide

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

Les contrats intelligents sont la façon dont les choses se font 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.

Les contrats intelligents sont une série d'instructions, écrites en utilisant le langage de programmation « solidité », qui fonctionne sur la base de la logique IFTTT aka la logique IF-THES-THEN-THE. Fondamentalement, si le premier ensemble d'instructions est fait, exécutez la fonction suivante et après cela la prochaine et continuez à répéter jusqu'à ce que vous atteigniez la fin du contrat.

La meilleure façon de comprendre cela est d'imaginer un distributeur automatique. Chaque étape que vous faites agit comme un déclencheur pour l'étape suivante à exécuter elle-même. C'est un peu comme l'effet domino. Alors, examinons les étapes que vous allez prendre tout en interagissant avec le distributeur automatique :

Étape 1 : Vous donnez de l'argent au distributeur automatique.

Étape 2 : Vous poinçonner dans le bouton correspondant à l'élément que vous voulez.

Étape 3 : L'article sort et vous le récupérez.

Maintenant, regardez toutes ces étapes et réfléchissez-y. Est-ce que l'une des étapes fonctionnera si la précédente n'a pas été exécutée ? Chacune de ces étapes est directement liée à l'étape précédente. Il y a un autre facteur à considérer, et il fait partie intégrante des contrats intelligents. Vous voyez, dans toute votre interaction avec le distributeur automatique, vous (le demandeur) travailliez uniquement avec la machine (le fournisseur). Il n'y avait absolument aucun tiers en cause.

Alors, comment cette transaction aurait-elle ressemblé si elle s'est produite dans le réseau Ethereum ?

Supposons que vous veniez d'acheter quelque chose d'un distributeur automatique dans le réseau Ethereum, comment les étapes seront-elles alors ?

Étape 1 : Vous donnez de l'argent au distributeur automatique et cela est enregistré par tous les nœuds du réseau Ethereum et la transaction est mise à jour dans le registre.

Étape 2 : Vous poinçonner dans le bouton correspondant à l'élément que vous voulez et l'enregistrement de qui est mis à jour dans le réseau Ethereum et le livre.

Étape 3 : L'élément sort et vous le collectez et cela est enregistré par tous les nœuds et le livre.

Chaque transaction que vous faites via les contrats intelligents sera enregistrée et mise à jour par le réseau. Ce que cela fait, c'est que tout le monde impliqué dans le contrat est tenu responsable de ses actions. Il enlève la malice humaine en rendant toutes les mesures prises visibles à l'ensemble du réseau

Qu'est-ce que la machine virtuelle Ethereum ?

Avant de comprendre ce qu'est la machine virtuelle Ethereum (EVM), nous devons comprendre pourquoi une « machine virtuelle » est nécessaire.

Alors revenons aux contrats intelligents.

Quelles sont les propriétés souhaitables que nous voulons dans notre contrat intelligent ?

Tout ce qui fonctionne sur une blockchain doit être immuable et doit avoir la capacité de fonctionner à travers plusieurs nœuds sans compromettre son intégrité. À la suite de quoi, la fonctionnalité de contrat intelligent doit être trois choses :

Déterministe.

Terminable.

Isolé.

Caractéristique #1 : Déterministe

Un programme est déterministe s'il donne la même sortie à une entrée donnée à chaque fois. Par exemple. Si 3+1 = 4 alors 3+1 sera TOUJOURS 4 (en supposant la même base). Ainsi, lorsqu'un programme donne la même sortie au même ensemble d'entrées dans différents ordinateurs, le programme est appelé déterministe.

Il y a plusieurs moments où un programme peut agir de manière non déterministe :

Appel de fonctions système non déterministes : Lorsqu'un programmeur appelle une fonction non déterministe dans son programme.

Ressources de données non déterministes : Si un programme acquiert des données pendant l'exécution et que cette source de données n'est pas déterministe, le programme devient non déterministe. Par exemple. Supposons un programme qui acquiert les 10 premières recherches google d'une requête particulière. La liste peut continuer à changer.

Appels dynamiques : Lorsqu'un programme appelle le deuxième programme, il est appelé appel dynamique. Puisque la cible d'appel n'est déterminée que lors de l'exécution, elle est de nature non déterministe.

Fonctionnalité #2 : Terminable

En logique mathématique, nous avons une erreur appelée « problème d'arrêt ». Fondamentalement, il indique qu'il y a une incapacité de savoir si un programme donné peut exécuter sa fonction dans une limite de temps. En 1936, Alan Turing déduit, en utilisant le problème diagonale de Cantor, qu'il n'y a aucun moyen de savoir si un programme donné peut se terminer dans un délai ou non.

Il s'agit évidemment d'un problème avec les contrats intelligents car, par définition, les contrats doivent pouvoir être résiliés dans un délai donné. Certaines mesures ont été prises pour s'assurer qu'il existe un moyen de « tuer » le contrat à l'extérieur et de ne pas entrer dans une boucle interminable qui drainera les ressources :

Incomplétude de Turing : Une blockchain incomplète Turing aura des fonctionnalités limitées et ne sera pas capable de faire des sauts et/ou des boucles. Par conséquent, ils ne peuvent pas entrer dans une boucle sans fin.

Step and Fee Meter : Un programme peut simplement garder une trace du nombre d'étapes qu'il a prises, c'est-à-dire le nombre d'instructions qu'il a exécutées, puis se terminer une fois qu'un nombre d'étapes particulier a été exécuté. Une autre méthode est le compteur de frais. Ici, les contrats sont exécutés avec des frais prépayés. Chaque exécution d'instruction nécessite un montant particulier de frais. Si les frais dépensés dépassent les frais prépayés, le contrat est résilié.

Minuteur : Ici, une minuterie prédéterminée est conservée. Si l'exécution du contrat dépasse le délai, il est interrompu à l'extérieur.

Caractéristique #3 : Isolé

Dans une blockchain, n'importe qui et tout le monde peut télécharger un contrat intelligent. Cependant, à cause de cela, les contrats peuvent, sciemment et inconsciemment, contenir des virus et des bogues.

Si le contrat n'est pas isolé, cela risque d'entraver l'ensemble du système. Par conséquent, il est essentiel qu'un contrat soit conservé isolé dans un bac à sable pour sauver l'ensemble de l'écosystème de tout effet négatif.

Maintenant que nous avons vu ces fonctionnalités, il est important de savoir comment elles sont exécutées. Habituellement, les contrats intelligents sont exécutés à l'aide de l'un des deux systèmes :

Machines virtuelles : Ethereum utilise ceci.

Docker : Fabric utilise ceci.

Comparons ces deux et déterminons lequel fait pour un meilleur écosystème. Par souci de simplicité, nous allons comparer Ethereum (Virtual Machine) à Fabric (Docker).

What is Ethereum Gas: Step-By-Step Guide

Ainsi, comme on peut le voir, les machines virtuelles fournissent un meilleur environnement déterministe, résiliable et isolé pour les contrats intelligents. Cependant, les dockers ont un avantage distinct. Ils offrent une flexibilité de langage de codage tandis que dans une machine virtuelle (VM) comme Ethereum, il faut apprendre un tout nouveau langage (solidité) pour créer des contrats intelligents.

L'EVM est la machine virtuelle dans laquelle tous les contrats intelligents fonctionnent dans Ethereum. Il s'agit d'une machine virtuelle simple mais puissante Turing Complete 256 bits. Turing Complete signifie que compte tenu des ressources et de la mémoire, tout programme exécuté dans le EVM peut résoudre n'importe quel problème.

Qu'est-ce que Ethereum Gas ?

Comme expliqué dans l'introduction, Gas est une unité qui mesure la quantité d'effort de calcul qu'il faudra pour exécuter certaines opérations.

Note : Avant de continuer, énorme crie à Joseph Chow pour sa présentation étonnante sur le gaz Ethereum.

La plupart des contrats intelligents qui s'exécutent dans l'EVM sont codés à l'aide de Solidity (Ethereum prévoit de passer à Viper à partir de Solidity à l'avenir). Chaque ligne de code dans Solidity nécessite une certaine quantité de gaz à exécuter.

Graphique des prix du gaz de l'ETH

L'image ci-dessous a été tirée du Yellowpaper Ethereum et peut être utilisée pour obtenir une idée approximative du coût des instructions spécifiques par gaz. Chaque transaction nécessite au moins 21 000 gaz selon ce tableau :

What is Ethereum Gas: Step-By-Step Guide

Image gracieuseté : Ethereum Yellow Paper

Pour mieux comprendre comment fonctionne le gaz dans Ethereum, utilisons une analogie. Supposons que vous partiez en road trip. Avant de le faire, vous passez par les étapes suivantes :

Vous allez à la station-service et spécifiez la quantité d'essence que vous voulez remplir dans votre voiture.

Tu fais plein d'essence dans ta voiture.

Vous payez à la station-service le montant que vous leur devez pour l'essence.

Maintenant, dessinons des parallèles avec Ethereum.

Conduire la voiture est l'opération que vous voulez exécuter, comme exécuter une fonction d'un contrat intelligent.

Le gaz est bien.... gaz.

La station-service est votre mineur.

L'argent que vous leur avez payé est les frais de mineurs.

Toutes les opérations que les utilisateurs veulent exécuter dans ethereum doivent fournir du gaz pour les éléments suivants :

Pour couvrir ses données aka gaz intrinsèque.

Pour couvrir l'intégralité de son calcul.

Maintenant que nous avons couvert les rudiments, vous posez peut-être la question suivante.

Pourquoi avons-nous ce système de gaz ?

La réponse est simple... l'incitation.

Comme tout système de preuve de travail peer-to-peer, Ethereum est fortement tributaire du hashrate de leurs mineurs. Plus les mineurs, plus le hashrate, plus sûr et rapide le système.

Pour attirer davantage de mineurs dans le système, ils doivent rendre le système aussi rentable et séduisant que possible pour les mineurs. Dans Ethereum, il y a deux façons pour les mineurs de gagner de l'argent :

En extraire des blocs et obtenir des récompenses de blocs.

En devenant des dictateurs temporaires de leurs blocs minés.

Examinons le deuxième point.

Les mineurs sont responsables de placer les transactions dans leurs blocs. Pour ce faire, ils doivent utiliser leur puissance de calcul pour valider les contrats intelligents. Le système de gaz leur permet de facturer un certain montant pour le faire.

Cette redevance est connue sous le nom de redevance du mineur et aide à les inciter suffisamment à participer activement à l'écosystème.

Alors, combien de frais peuvent-ils exiger ? Avant de pouvoir calculer cela, comprenons comment nous mesurons le gaz.

Le gaz est simplement mesuré en unités de gaz. Une transaction envoyée au réseau Ethereum coûte une quantité discrète de gaz (par exemple 100 gaz) en fonction du nombre d'instructions EVM à exécuter.

Alors, comment convertir le gaz en éther ?

Il n'y a pas de prix fixe de conversion. Il appartient à l'expéditeur d'une transaction de spécifier le prix du gaz qu'il aime. D'un autre côté, il appartient au mineur de vérifier toutes les transactions qu'il aime (généralement celles qui spécifient le prix le plus élevé du gaz). Le prix moyen du gaz est généralement de l'ordre d'environ 20 Gwei (ou 0,00000002 ETH), mais peut augmenter pendant les périodes de trafic réseau élevé car il y a plus de transactions concurrentes à inclure dans le bloc suivant.

Le graphique suivant vous montre le cours moyen du Ethereum de l'essence.

What is Ethereum Gas: Step-By-Step Guide

Image gracieuseté : Etherscan.

Avant d'aller plus loin, il est important de connaître le concept de limite de gaz.

Qu'est-ce que Ethereum Gas Limit ?

Afin d'obtenir une opération effectuée dans Ethereum, l'expéditeur de la transaction doit spécifier une limite de gaz avant de la soumettre au réseau. La limite de gaz est la quantité maximale de gaz que l'expéditeur est prêt à payer pour cette transaction.

Lors de la spécification d'une limite de gaz, les points suivants doivent être pris en considération :

Différentes opérations auront des coûts de gaz différents (comme cela a été montré précédemment).

Les mineurs cesseront d'exécuter dès que le gaz sera épuisé.

S'il reste du gaz, il sera immédiatement remboursé au générateur de fonctionnement.

Voyons cela en fonctionnement dans un scénario hypothétique.

Supposons que nous ajoutons deux nombres et pour cela le contrat doit faire les actions suivantes :

Stockage de 10 dans une variable. Disons que cette opération coûte 45 gaz.

En ajoutant deux variables, disons que cela coûte 10 gaz.

Stocker le résultat qui coûte encore 45 gaz.

Supposons que l'expéditeur spécifie une limite de gaz de 120 gaz.

Le gaz total utilisé par le mineur pour effectuer le calcul est (45+10+45) = 100 gaz.

La redevance qui est due au mineur, en supposant 1 coût de gaz 20 Gwei, est (100 * 20 Gwei) = 0,000002 ETH.

Combien de gaz reste-t-il ?

120 — 100 = 20 gaz.

Le 20 gaz inutilisé est retourné à l'expéditeur (20 * 20 Gwei) = 0.0000004 ETH.

Donc, cela étant dit, il y a deux scénarios que l'on doit considérer :

La limite de gaz spécifiée est trop faible.

La limite de gaz spécifiée est trop élevée.

Scénario #1 : La limite de gaz est trop faible

Si une opération est à court de gaz, elle est ramenée à son état d'origine comme si rien n'était réellement arrivé, cependant, le générateur d'exploitation doit toujours payer aux mineurs les frais pour leurs coûts de calcul et l'opération est ajoutée à la blockchain (même si elle n'a pas été exécutée).

Revenons à notre road trip analogie, si vous n'avez pas rempli assez d'essence dans votre voiture, alors vous ne serez pas en mesure d'atteindre votre destination, mais même alors vous avez payé à la station-service l'argent pour le droit de carburant ?

Voyons comment cela fonctionne dans notre hypothétique contrat intelligent. Les étapes suivantes ont été les suivantes :

Stockage de 10 dans une variable. Disons que cette opération coûte 45 gaz.

En ajoutant deux variables, disons que cela coûte 10 gaz.

Stocker le résultat qui coûte encore 45 gaz.

Cependant, cette fois, l'expéditeur fixe une limite de gaz de 90 gaz.

Maintenant, nous savons que le gaz qui sera nécessaire pour réaliser la transaction est de 100 gaz, mais nous avons seulement spécifié 90 limite de gaz.

Dans ce scénario, le mineur fera 90 valeur de gaz de calcul et facturera ensuite les frais d'expéditeur pour le gaz 90 qui s'avère être (90 * 20 Gwei) = 0.0000018 ETH.

En outre, le contrat revient à son état d'origine et la transaction est incluse dans la blockchain.

Scénario #2 : La limite de gaz est trop élevée

Et si on fixait la limite de gaz trop élevée ?

Ça aurait du sens de faire bien ? Après tout, ce qui reste est remboursé à l'expéditeur droit ?

Cela semble bon sur le papier, mais ça ne marche pas vraiment bien dans la réalité.

Les mineurs sont limités par la limite de gaz de bloc, qui, on suppose, est de 6 700 000 gaz. Une transaction de base (simple transfert d'ETH) a au moins un besoin en gaz de 21 000 gaz. Les mineurs ne peuvent inclure que les transactions dont la somme est inférieure ou égale à la limite de gaz en bloc.

What is Ethereum Gas: Step-By-Step Guide

Image gracieuseté : Hackernoon

Supposons qu'il y ait une transaction A (qui effectue un simple transfert d'ETH) et que la limite de gaz spécifiée est de 42 000 et que deux transactions B et C (également des transferts simples d'ETH) ont des limites de gaz spécifiées de 21 000.

Ce qui aura le plus de sens pour un mineur de mettre dans son bloc ?

Vont-ils mettre dans la transaction A et rembourser une énorme quantité de gaz inutilisé ?

Ou vont-ils mettre les transactions B et C et rembourser peu à rien ?

Le deuxième point est plus logique pour eux économiquement non ?

C'est précisément pourquoi avoir une limite de gaz gonflé n'est pas une solution raisonnable. Il est plus raisonnable de fixer une limite de gaz qui est juste un peu plus élevée que la quantité d'essence requise pour votre transaction.

Voici le graphique des limites moyennes de gaz.

What is Ethereum Gas: Step-By-Step Guide

Image gracieuseté : Etherscan

Gaz Ethereum élevé et faible par rapport aux frais élevés et faibles

Il devrait être clair pour vous jusqu'à présent que le gaz et l'éther ne sont pas les mêmes choses. Le gaz est la quantité de puissance de calcul requise alors que l'éther est la monnaie utilisée pour payer ce gaz.

Maintenant, avec la connaissance de tout ce que nous avons obtenu jusqu'à présent, passons par certains scénarios de gaz et de frais.

Si une opération a du gaz LOW, alors les mineurs ne le ramèneront même pas parce qu'il n'a pas assez de gaz pour terminer le calcul.

Si une opération a des frais LOW, alors elle pourrait avoir juste assez de gaz pour le couvrir, mais quand même, les mineurs ne seront pas chomping aux bits pour le ramasser parce qu'une opération avec des frais faibles n'est pas rentable pour eux.

Si une opération a du gaz HAUTE, cela signifie que l'opération est gonflée avec une limite de gaz élevée et donc les mineurs ne le ramèneront pas.

Si une opération a des frais élevés, alors les mineurs savent qu'ils en gagneront beaucoup d'argent et qu'ils le ramasseront instantanément.

Les prix du gaz actuellement recommandés pour différents types de vitesses de transaction, selon ethgasstation sont :

What is Ethereum Gas: Step-By-Step Guide

Que se passe-t-il dans les scénarios de remboursement du gaz Ethereum ?

Dans la solidité, il y a deux commandes qui assurent que vous obtenez un remboursement d'essence.

Ça tue le contrat intelligent. Cela vous ramènera 24000 gaz.

SSTORE : Suppression du stockage, ce qui vous ramène 15 000.

Donc, si votre contrat utilise jusqu'à 14 000 gaz et supprime un stockage alors vous devriez récupérer (15000-14000) 1000 gaz remboursé à vous droite ?

Ce n'est pas si simple.

Si tel était le cas, alors les mineurs perdront toute incitation. Après tout, les mineurs ne devraient pas vous payer pour faire vos calculs, n'est-ce pas ?

Pour éviter des scénarios comme ceux-ci, une condition a été mise en place.

Le remboursement accumulé ne peut pas dépasser la moitié du gaz utilisé lors du calcul.

Prenons un exemple pour éclaircir cela.

... Supposons que nous ayons un contrat intelligent qui utilise 14 000 gaz.

La limite de gaz que nous avons fixée est de 20,000 gaz.

Le contrat intelligent inclut également une commande SSARAGE.

Alors, combien de gaz le créateur du contrat récupérera-t-il après le calcul ?

Premièrement, ils récupéreront (20 000 à 14 000) = 6 000 unités de gaz inutilisé.

Maintenant, la commande SSORAGE a également été utilisée, donc théoriquement ils devraient récupérer 15 000 gaz aussi.

Cependant, la quantité de gaz utilisée dans le contrat est de 14 000 et depuis 15 000 14 000/2, le REMBOURSEMENT généré sera de 14 000/2 = 7000.

Donc, le gaz total que le créateur revient à la fin est 6000+7000 = 13,000.

Prenons un autre exemple.

Supposons que cette fois le contrat utilise jusqu'à 70 000 gaz et qu'il inclut une fonction SUIDE.

Une fonction SUICIDE devrait vous donner 24 000 gaz, soit 70 000/2.

Dans cette situation, la restitution au gaz sera de 24.000 gaz non utilisé.

Critique de Ethereum Gas. Est-ce justifié ?

Même si le système de gaz a reçu des éloges pour avoir présenté un mécanisme en douceur qui incite les mineurs assez positivement, il a été critiqué dernièrement parce qu'il était un peu trop cher pour les développeurs et les créateurs de contrats intelligents.

À ce sujet, Danny Ryan a fait quelques études intéressantes dans son article Hackernoon.

Considérez le scénario suivant :

What is Ethereum Gas: Step-By-Step Guide

Lorsque deux numéros sont ajoutés un million de fois dans Ethereum, il en coûte environ 26,55 $en frais.

Danny Ryan a comparé cela à un système AWS standard. Il a dit qu'il peut ajouter deux nombres un million de fois en utilisant python en 0,04 secondes, ce qui va par le taux horaire Amazon EC2 0,0059 $coûte 0,000000066 $.

Cela signifie que le calcul dans Ethereum est 400 millions de fois plus cher !

Sur la base de ses études, voici la conclusion qu'il a tirée :

« Pour être juste, ajouter deux chiffres ensemble 1 million de fois est un peu artificiel. Un contrat bien rédigé ferait probablement sortir cette complexité de calcul hors de la chaîne et traiterait davantage de la mise à jour de l'état du contrat. Stocker de grandes quantités de données à la blockchain n'est pas non plus une tâche ordinaire. Selon la tâche, un utilisateur stockera probablement une référence cryptographique (un hachage) des données en chaîne et gardera le reste des données hors chaîne.

Cela dit, nous, en tant que développeurs, devons être conscients de ces coûts, et concevoir des DApps en conséquence. Nous devons trouver l'équilibre entre la complexité en chaîne et hors chaîne, tout en tirant parti des capacités décentralisées de la blockchain. »

Like what you read? Give us one like or share it to your friends and get +16

283
Hungry for knowledge?
New guides and courses each week
Looking to invest?
Market data, analysis, and reports
Just curious?
A community of blockchain experts to help

Get started today and earn 128 bonus blocks

Already have an account? Sign In