Was ist Ethereum Gas??

TL; DR

  1. Ethereum Gas ist eine Einheit, die den Rechenaufwand misst, der zur Ausführung bestimmter Vorgänge erforderlich ist.
  2. Jede einzelne Operation, die an Ethereum teilnimmt, sei es eine Transaktion oder eine intelligente Vertragsabwicklung, erfordert eine gewisse Menge Gas.
  3. Bergleute erhalten einen Betrag in Ether, der der Gesamtmenge an Gas entspricht, die sie für die Durchführung eines vollständigen Vorgangs benötigt haben.

Ethereum-Gas – ist das Lebenselixier des Ethereum-Ökosystems, anders kann man es nicht sagen. Gas ist eine Einheit, die den Rechenaufwand misst, der zur Ausführung bestimmter Vorgänge erforderlich ist.

Jede einzelne Operation, die an Ethereum teilnimmt, sei es eine einfache Transaktion oder ein intelligenter Vertrag oder sogar ein ICO, verbraucht eine gewisse Menge Gas. Mit Gas wird die Höhe der Gebühren berechnet, die an das Netzwerk gezahlt werden müssen, um einen Vorgang auszuführen.

In diesem Handbuch werden wir verstehen, wie Gas funktioniert. Aber bevor wir dies tun, müssen wir einige Konzepte lernen. Beginnen wir also ohne weiteres mit unserem tiefen Tauchgang mit Ethereum Gas.

Was ist Ethereum Gas: Schritt-für-Schritt-Anleitung

Warum wird in Bitcoin kein Gas benötigt??

Bitcoin wurde erstellt, weil alle die gleichen Fragen stellten.

  • Wird es möglich sein, eine Form von Geld zu schaffen, die ohne Zwischenhändler zwischen zwei Personen transferiert werden kann??
  • Wird es möglich sein, ein dezentrales Geld zu schaffen, das auf so etwas wie der Blockchain funktionieren kann??

Satoshi Nakamoto beantwortete diese Fragen, als er Bitcoin erstellte. Wir hatten endlich ein dezentrales Währungssystem, das Geld von einer Person zur anderen transferieren kann.

Es gab jedoch ein Problem mit Bitcoin, das bei allen Blockchains der ersten Generation auftritt. Sie erlaubten nur Geldtransaktionen, es gab keine Möglichkeit, diesen Transaktionen Bedingungen hinzuzufügen.

Alice kann Bob 5 BTC senden, aber sie konnte diesen Transaktionen keine Bedingungen auferlegen. Z.B. Sie konnte Bob nicht sagen, dass er das Geld nur bekommen wird, wenn er bestimmte Aufgaben erledigte.

Diese Bedingungen würden extrem komplizierte Skripte erfordern. Etwas war erforderlich, um den Prozess nahtloser zu gestalten.

… Und dieses „Etwas“ war ein kluger Vertrag.

Was ist ein kluger Vertrag??

Intelligente Verträge helfen Ihnen dabei, Geld, Eigentum, Aktien oder Wertgegenstände auf transparente, konfliktfreie Weise auszutauschen und gleichzeitig die Dienste eines Mittelsmanns zu vermeiden.

Was ist Ethereum Gas: Schritt-für-Schritt-Anleitung

Das Ethereum von Vitalik Buterin ist mit Sicherheit das Standbein dieser Generation. Sie zeigten der Welt, wie sich die Blockchain von einem einfachen Zahlungsmechanismus zu etwas weitaus Bedeutenderem und Mächtigerem entwickeln kann.

Was sind diese „intelligenten Verträge“ und was ist die große Sache??

Intelligente Verträge sind automatisierte Verträge. Sie werden selbst ausgeführt, wobei bestimmte Anweisungen in den Code geschrieben werden, die ausgeführt werden, wenn bestimmte Bedingungen erfüllt sind.

Was ist Ethereum Gas: Schritt-für-Schritt-Anleitung

Weitere Informationen zu intelligenten Verträgen finden Sie in unserem ausführlichen Leitfaden hier.

Mit intelligenten Verträgen werden die Dinge im Ethereum-Ökosystem erledigt. Wenn jemand eine bestimmte Aufgabe in Ethereum erledigen möchte, initiiert er einen intelligenten Vertrag mit einer oder mehreren Personen.

Intelligente Verträge sind eine Reihe von Anweisungen, die mit der Programmiersprache „Solidity“ geschrieben wurden und auf der IFTTT-Logik, auch bekannt als IF-THIS-THEN-THAT-Logik, basieren. Wenn der erste Befehlssatz fertig ist, führen Sie grundsätzlich die nächste Funktion und danach die nächste aus und wiederholen Sie den Vorgang, bis Sie das Vertragsende erreicht haben.

Der beste Weg, dies zu verstehen, besteht darin, sich einen Automaten vorzustellen. Jeder Schritt, den Sie ausführen, wirkt wie ein Auslöser für den nächsten Schritt, der sich selbst ausführt. Es ist ein bisschen wie der Dominoeffekt. Untersuchen wir also die Schritte, die Sie bei der Interaktion mit dem Verkaufsautomaten ausführen werden:

  • Schritt 1: Sie geben dem Automaten etwas Geld.
  • Schritt 2: Sie geben die Schaltfläche ein, die dem gewünschten Element entspricht.
  • Schritt 3: Der Gegenstand kommt heraus und Sie sammeln ihn.

Schauen Sie sich jetzt all diese Schritte an und denken Sie darüber nach. Funktioniert einer der Schritte, wenn der vorherige nicht ausgeführt wurde? Jeder einzelne dieser Schritte steht in direktem Zusammenhang mit dem vorherigen Schritt. Es gibt noch einen weiteren Faktor, über den man nachdenken muss, und der ein wesentlicher Bestandteil intelligenter Verträge ist. Sie sehen, in Ihrer gesamten Interaktion mit dem Automaten haben Sie (der Anforderer) ausschließlich mit dem Automaten (dem Anbieter) gearbeitet. Es waren absolut keine Dritten beteiligt.

Wie hätte diese Transaktion nun ausgesehen, wenn sie im Ethereum-Netzwerk stattgefunden hätte??

Angenommen, Sie haben gerade etwas an einem Automaten im Ethereum-Netzwerk gekauft. Wie sehen die Schritte dann aus??

Schritt 1: Sie geben dem Automaten etwas Geld und dies wird von allen Knoten im Ethereum-Netzwerk aufgezeichnet und die Transaktion wird im Hauptbuch aktualisiert.

Schritt 2: Sie drücken die Schaltfläche, die dem gewünschten Element entspricht, und die Aufzeichnung davon wird im Ethereum-Netzwerk und im Hauptbuch aktualisiert.

Schritt 3: Der Artikel kommt heraus und Sie sammeln ihn und dies wird von allen Knoten und dem Hauptbuch aufgezeichnet.

Jede Transaktion, die Sie über die Smart-Verträge ausführen, wird vom Netzwerk aufgezeichnet und aktualisiert. Dies bedeutet, dass alle am Vertrag Beteiligten für ihre Handlungen zur Rechenschaft gezogen werden. Es beseitigt menschliche Bosheit, indem jede ergriffene Maßnahme für das gesamte Netzwerk sichtbar gemacht wird

Was ist die virtuelle Maschine von Ethereum??

Bevor wir verstehen, was die Ethereum Virtual Machine (EVM) ist, müssen wir verstehen, warum eine „virtuelle Maschine“ benötigt wird.

Kehren wir also zu intelligenten Verträgen zurück.

Was sind die wünschenswerten Eigenschaften, die wir in unserem intelligenten Vertrag wollen?

Alles, was in einer Blockchain ausgeführt wird, muss unveränderlich sein und die Fähigkeit haben, mehrere Knoten zu durchlaufen, ohne die Integrität zu beeinträchtigen. Infolgedessen muss die Funktionalität intelligenter Verträge drei Dinge umfassen:

  • Deterministisch.
  • Kündbar.
  • Isoliert.

Feature # 1: Deterministisch

Ein Programm ist deterministisch, wenn es einem bestimmten Eingang jedes Mal dieselbe Ausgabe gibt. Z.B. Wenn 3 + 1 = 4 ist, ist 3 + 1 IMMER 4 (unter der Annahme derselben Basis). Wenn also ein Programm dieselbe Ausgabe an denselben Satz von Eingaben in verschiedenen Computern ausgibt, wird das Programm als deterministisch bezeichnet.

Es gibt verschiedene Momente, in denen ein Programm undeterministisch agieren kann:

  • Aufrufen nicht deterministischer Systemfunktionen: Wenn ein Programmierer eine nicht deterministische Funktion in seinem Programm aufruft.
  • Nicht deterministische Datenressourcen: Wenn ein Programm zur Laufzeit Daten erfasst und diese Datenquelle nicht deterministisch ist, wird das Programm nicht deterministisch. Z.B. Angenommen, ein Programm erfasst die zehn häufigsten Google-Suchanfragen einer bestimmten Abfrage. Die Liste kann sich ständig ändern.
  • Dynamische Aufrufe: Wenn ein Programm das zweite Programm aufruft, wird es als dynamischer Aufruf bezeichnet. Da das Anrufziel nur während der Ausführung bestimmt wird, ist es nicht deterministisch.

Feature # 2: Terminierbar

In der mathematischen Logik haben wir einen Fehler namens “Stopping Problem”. Grundsätzlich heißt es, dass nicht bekannt ist, ob ein bestimmtes Programm seine Funktion innerhalb eines bestimmten Zeitraums ausführen kann oder nicht. Im Jahr 1936 folgerte Alan Turing anhand von Cantors Diagonal Problem, dass es keine Möglichkeit gibt zu wissen, ob ein bestimmtes Programm innerhalb einer bestimmten Frist abgeschlossen werden kann oder nicht.

Dies ist offensichtlich ein Problem bei intelligenten Verträgen, da Verträge per Definition innerhalb eines bestimmten Zeitraums gekündigt werden können müssen. Es werden einige Maßnahmen ergriffen, um sicherzustellen, dass es eine Möglichkeit gibt, den Vertrag extern zu „töten“ und nicht in eine Endlosschleife zu geraten, die Ressourcen verbraucht:

  • Unvollständigkeit: Eine Turing Incomplete-Blockchain hat eine eingeschränkte Funktionalität und kann keine Sprünge und / oder Schleifen ausführen. Daher können sie keine Endlosschleife betreten.
  • Schritt- und Gebührenmesser: Ein Programm kann einfach die Anzahl der durchgeführten “Schritte” verfolgen, d. H. Die Anzahl der ausgeführten Anweisungen, und dann beenden, sobald eine bestimmte Schrittzahl ausgeführt wurde. Eine andere Methode ist der Gebührenmesser. Hier werden die Verträge gegen eine Vorauszahlung ausgeführt. Für jede Befehlsausführung ist eine bestimmte Gebühr erforderlich. Übersteigt die ausgegebene Gebühr die im Voraus bezahlte Gebühr, endet der Vertrag.
  • Timer: Hier wird ein vorgegebener Timer gehalten. Wenn die Vertragsausführung die Frist überschreitet, wird sie extern abgebrochen.

Merkmal 3: Isoliert

In einer Blockchain kann jeder und jede einen intelligenten Vertrag hochladen. Aus diesem Grund können die Verträge jedoch wissentlich und unwissentlich Viren und Fehler enthalten.

Wenn der Vertrag nicht isoliert ist, kann dies das gesamte System behindern. Daher ist es wichtig, dass ein Vertrag in einem Sandkasten isoliert bleibt, um das gesamte Ökosystem vor negativen Auswirkungen zu schützen.

Nachdem wir diese Funktionen gesehen haben, ist es wichtig zu wissen, wie sie ausgeführt werden. Normalerweise werden die Smart-Verträge mit einem der beiden Systeme ausgeführt:

  • Virtuelle Maschinen: Ethereum nutzt dies.
  • Docker: Fabric verwendet dies.

Vergleichen wir diese beiden und bestimmen, was zu einem besseren Ökosystem führt. Der Einfachheit halber werden wir Ethereum (Virtual Machine) mit Fabric (Docker) vergleichen..

Was ist Ethereum Gas: Schritt-für-Schritt-Anleitung

Wie zu sehen ist, bieten virtuelle Maschinen eine bessere deterministische, kündbare und isolierte Umgebung für die Smart-Verträge. Hafenarbeiter haben jedoch einen entscheidenden Vorteil. Sie bieten Flexibilität in der Codierungssprache, während in einer virtuellen Maschine (VM) wie Ethereum eine völlig neue Sprache (Solidität) gelernt werden muss, um intelligente Verträge zu erstellen.

Das EVM ist die virtuelle Maschine, in der alle intelligenten Verträge in Ethereum funktionieren. Es ist eine einfache, aber leistungsstarke virtuelle 256-Bit-Maschine von Turing Complete. Turing Complete bedeutet, dass jedes im EVM ausgeführte Programm angesichts der Ressourcen und des Speichers jedes Problem lösen kann.

Was ist Ethereum Gas??

Wie in der Einleitung erläutert, ist Gas eine Einheit, die den Rechenaufwand misst, der zur Ausführung bestimmter Vorgänge erforderlich ist.

Hinweis: Bevor wir fortfahren, ein großes Dankeschön an Joseph Chow für seine tolle Präsentation auf Ethereum Gas.

Die meisten intelligenten Verträge, die im EVM ausgeführt werden, werden mit Solidity codiert (Ethereum plant, in Zukunft von Solidity zu Viper zu wechseln). Für jede Codezeile in Solidity muss eine bestimmte Menge Gas ausgeführt werden.

ETH-Gaspreisdiagramm

Das folgende Bild stammt aus dem Ethereum Yellowpaper und kann verwendet werden, um eine ungefähre Vorstellung davon zu erhalten, wie viel spezifische Anweisungen in Bezug auf Gas kosten. Für jede Transaktion werden gemäß dieser Tabelle mindestens 21.000 Gase benötigt:

Was ist Ethereum Gas: Schritt-für-Schritt-Anleitung

Bild mit freundlicher Genehmigung: Gelbes Papier von Ethereum

Um besser zu verstehen, wie Gas in Ethereum funktioniert, verwenden wir eine Analogie. Angenommen, Sie machen einen Roadtrip. Bevor Sie dies tun, führen Sie die folgenden Schritte aus:

  • Sie gehen zur Tankstelle und geben an, wie viel Benzin Sie in Ihr Auto tanken möchten.
  • Sie bekommen das Benzin in Ihrem Auto aufgefüllt.
  • Sie zahlen der Tankstelle den Geldbetrag, den Sie ihnen für das Benzin schulden.

Lassen Sie uns nun Parallelen zu Ethereum ziehen.

Autofahren ist der Vorgang, den Sie ausführen möchten, z. B. das Ausführen einer Funktion eines intelligenten Vertrags.

Das Gas ist gut … Gas.

Die Tankstelle ist dein Bergmann.

Das Geld, das Sie ihnen gezahlt haben, sind die Bergarbeitergebühren.

Alle Operationen, die Benutzer im Ethereum ausführen möchten, müssen Gas für Folgendes bereitstellen:

  • Um seine Daten, auch bekannt als intrinsisches Gas, abzudecken.
  • Um seine gesamte Berechnung abzudecken.

Nachdem wir die Grundlagen behandelt haben, stellen Sie möglicherweise die folgende Frage.

Warum haben wir dieses Gassystem??

Die Antwort ist einfach… Anreize.

Wie jedes Peer-to-Peer-System zum Nachweis der Arbeit ist Ethereum stark von der Hashrate ihrer Bergleute abhängig. Je mehr Bergleute, desto mehr Hashrate, desto sicherer und schneller ist das System.

Um mehr Bergleute für das System zu gewinnen, müssen sie das System für die Bergleute so rentabel und verlockend wie möglich gestalten. In Ethereum gibt es zwei Möglichkeiten, wie Bergleute Geld verdienen können:

  • Indem Sie Blöcke abbauen und Blockbelohnungen erhalten.
  • Indem sie vorübergehende Diktatoren ihrer abgebauten Blöcke werden.

Lassen Sie uns den zweiten Punkt untersuchen.

Die Bergleute sind dafür verantwortlich, Transaktionen in ihre Blöcke zu legen. Dazu müssen sie ihre Rechenleistung nutzen, um intelligente Verträge zu validieren. Das Gassystem ermöglicht es ihnen, dafür eine bestimmte Gebühr zu erheben.

Diese Gebühr wird als Bergarbeitergebühr bezeichnet und trägt dazu bei, dass sie genügend Anreize erhalten, um aktiv am Ökosystem teilzunehmen.

Wie viel Gebühren können sie also erheben? Bevor wir das berechnen können, wollen wir verstehen, wie wir Gas messen.

Gas wird einfach in Gaseinheiten gemessen. Eine an das Ethereum-Netzwerk gesendete Transaktion kostet eine bestimmte Menge an Gas (z. B. 100 Gas), abhängig davon, wie viele EVM-Anweisungen ausgeführt werden müssen.

Wie wandeln wir das Gas in Äther um??

Es gibt keinen festen Umtauschpreis. Es ist Sache des Absenders einer Transaktion, einen beliebigen Gaspreis anzugeben. Auf der anderen Seite ist es Sache des Bergmanns, alle Transaktionen zu überprüfen, die ihm gefallen (normalerweise diejenigen, die den höchsten Gaspreis angeben). Der durchschnittliche Gaspreis liegt normalerweise in der Größenordnung von etwa 20 Gwei (oder 0,00000002 ETH), kann jedoch in Zeiten mit hohem Netzwerkverkehr steigen, da mehr Transaktionen miteinander konkurrieren, um in den nächsten Block aufgenommen zu werden.

Die folgende Tabelle zeigt Ihnen die durchschnittliche Ethereum-Gaspreiskarte.

Was ist Ethereum Gas: Schritt-für-Schritt-Anleitung

Mit freundlicher Genehmigung von Etherscan.

Bevor wir weiter gehen, ist es wichtig, das Konzept der Gasgrenze zu kennen.

Was ist das Ethereum-Gaslimit??

Um eine Operation in Ethereum ausführen zu können, muss der Absender der Transaktion ein Gaslimit angeben, bevor er es an das Netzwerk sendet. Das Gaslimit ist die maximale Gasmenge, die der Absender bereit ist, für diese Transaktion zu zahlen.

Bei der Festlegung eines Gasgrenzwerts müssen folgende Punkte berücksichtigt werden:

  • Unterschiedliche Vorgänge haben unterschiedliche Gaskosten (wie bereits gezeigt)..
  • Die Bergleute werden die Ausführung einstellen, sobald das Gas ausgeht.
  • Wenn noch Gas übrig ist, wird es sofort an den Betriebsgenerator zurückerstattet.

Sehen wir uns dies in einem hypothetischen Szenario an.

Angenommen, wir fügen zwei Zahlen hinzu, und dafür muss der Vertrag die folgenden Aktionen ausführen:

  • Speichern von 10 in einer Variablen. Nehmen wir an, dieser Vorgang kostet 45 Gas.
  • Wenn Sie zwei Variablen hinzufügen, kostet dies beispielsweise 10 Gas.
  • Speichern des Ergebnisses, das wiederum 45 Gas kostet.

Angenommen, der Absender gibt eine Gasgrenze von 120 Gas an.

Das Gesamtgas, das der Bergmann zur Durchführung der Berechnung verwendet, beträgt (45 + 10 + 45) = 100 Gas.

Die Gebühr, die dem Bergmann geschuldet wird, unter der Annahme, dass 1 Gas 20 Gwei kostet, beträgt (100 * 20 Gwei) = 0,000002 ETH.

Nun, wie viel Gas ist noch übrig?

120 – 100 = 20 Gas.

Die 20 nicht verwendeten Gase werden an den Absender zurückgegeben (20 * 20 Gwei) = 0,0000004 ETH.

Allerdings gibt es zwei Szenarien, die man berücksichtigen muss:

  • Die angegebene Gasgrenze ist zu niedrig.
  • Die angegebene Gasgrenze ist zu hoch.

Szenario 1: Die Gasgrenze ist zu niedrig

Wenn einem Betrieb das Gas ausgeht, wird er in seinen ursprünglichen Zustand zurückversetzt, als wäre tatsächlich nichts passiert. Der Betriebsgenerator muss den Bergleuten jedoch NOCH die Gebühr für ihre Rechenkosten zahlen, und der Vorgang wird der Blockchain hinzugefügt (selbst wenn dies der Fall ist) wurde nicht ausgeführt).

Zurück zu unserer Roadtrip-Analogie: Wenn Sie nicht genug Benzin in Ihrem Auto getankt haben, können Sie Ihr Ziel nicht erreichen, aber selbst dann haben Sie der Tankstelle das Geld für den richtigen Kraftstoff bezahlt?

Lassen Sie uns in unserem hypothetischen Smart-Vertrag sehen, wie dies funktioniert. Die Schritte waren:

  • Speichern von 10 in einer Variablen. Nehmen wir an, dieser Vorgang kostet 45 Gas.
  • Wenn Sie zwei Variablen hinzufügen, kostet dies beispielsweise 10 Gas.
  • Speichern des Ergebnisses, das wiederum 45 Gas kostet.

Diesmal legt der Absender jedoch eine Gasgrenze von 90 fest.

Jetzt wissen wir, dass das Gas, das zur Erfüllung der Transaktion benötigt wird, 100 Gas ist, aber wir haben nur ein Gaslimit von 90 angegeben.

In diesem Szenario führt der Bergmann eine Berechnung im Wert von 90 Gasen durch und berechnet dann die Absendergebühren für die 90 Gase, die sich als (90 * 20 Gwei) = 0,0000018 ETH herausstellen.

Außerdem kehrt der Vertrag in seinen ursprünglichen Zustand zurück und die Transaktion wird in die Blockchain aufgenommen.

Szenario 2: Die Gasgrenze ist zu hoch

Was ist, wenn wir die Gasgrenze zu hoch einstellen??

Das würde Sinn machen, richtig zu machen? Schließlich wird alles, was übrig bleibt, dem Absender rechts erstattet?

Auf dem Papier klingt das gut, aber in der Realität funktioniert es nicht so gut.

Bergleute sind durch die Blockgasgrenze begrenzt, von der wir annehmen, dass sie 6.700.000 Gas beträgt. Eine Grundtransaktion (einfache Übertragung der ETH) hat einen Gasbedarf von mindestens 21.000 Gas. Bergleute können nur Transaktionen einbeziehen, die kleiner oder gleich dem Blockgaslimit sind.

Was ist Ethereum Gas: Schritt-für-Schritt-Anleitung

Mit freundlicher Genehmigung von Hackernoon

Angenommen, es gibt eine Transaktion A (die eine einfache Übertragung der ETH durchführt) und eine festgelegte Gasgrenze von 42.000 und zwei Transaktionen B und C (auch einfache Übertragungen der ETH) mit einer festgelegten Gasgrenze von 21.000.

Was für einen Bergmann sinnvoller ist, wenn er seinen Block einfügt?

  • Werden sie Transaktion A durchführen und eine große Menge nicht verbrauchten Gases zurückerstatten??
  • Oder setzen sie die Transaktionen B und C und erstatten wenig bis gar nichts zurück?

Der zweite Punkt ist für sie wirtschaftlich sinnvoller?

Dies ist genau der Grund, warum ein aufgeblähtes Gaslimit kein vernünftiger Weg ist. Es ist sinnvoller, ein Gaslimit festzulegen, das nur geringfügig über der für Ihre Transaktion erforderlichen Gasmenge liegt.

Das folgende Diagramm zeigt die durchschnittliche Gasgrenze.

Was ist Ethereum Gas: Schritt-für-Schritt-Anleitung

Mit freundlicher Genehmigung von Etherscan

Gas mit hohem und niedrigem Ethereum gegen hohe und niedrige Gebühr

Bisher sollte Ihnen klar sein, dass Gas und Äther nicht dasselbe sind. Gas ist die Menge an Rechenleistung, die benötigt wird, während Äther die Währung ist, mit der dieses Gas bezahlt wird.

Lassen Sie uns nun mit dem Wissen über alles, was wir bisher erhalten haben, bestimmte Gas- und Gebührenszenarien durchgehen.

Wenn eine Operation NIEDRIGES Gas enthält, werden die Bergleute es nicht einmal aufnehmen, da nicht genügend Gas vorhanden ist, um die Berechnung abzuschließen.

Wenn eine Operation NIEDRIGE Gebühren hat, hat sie möglicherweise gerade genug Gas, um sie zu decken, aber dennoch werden die Bergleute nicht nach den Bits suchen, um sie abzuholen, da eine Operation mit niedrigen Gebühren für sie wirtschaftlich nicht attraktiv ist.

Wenn eine Operation HIGH-Gas hat, bedeutet dies, dass die Operation mit einer hohen Gasgrenze aufgebläht ist und daher die Bergleute es nicht aufnehmen.

Wenn eine Operation hohe Gebühren hat, wissen die Bergleute, dass sie viel Geld damit verdienen und es sofort abholen werden.

Die derzeit empfohlenen Gaspreise für verschiedene Arten von Transaktionsgeschwindigkeiten laut Ethgasstation sind:

Was ist Ethereum Gas: Schritt-für-Schritt-Anleitung

Was passiert in Ethereum Gas Refund-Szenarien??

In Solidität gibt es zwei Befehle, die sicherstellen, dass Sie eine Gasrückerstattung zurückerhalten.

  • Selbstmord: Dies tötet im Grunde den intelligenten Vertrag. Wenn Sie dies tun, erhalten Sie 24000 Benzin zurück.
  • SSTORE: Löschen des Speichers, wodurch Sie 15.000 zurückerhalten.

Wenn Ihr Vertrag also 14.000 Gas verbraucht und einen Speicher löscht, sollten Sie 1000 Gas zurückerstatten (15000-14000)?

So einfach ist das nicht.

Wenn dies der Fall war, verlieren die Bergleute alle Anreize. Schließlich sollten die Bergleute Sie nicht dafür bezahlen, dass Sie Ihre Berechnungen richtig durchführen?

Um solche Szenarien zu vermeiden, wurde eine Bedingung eingegeben.

Die aufgelaufene Rückerstattung darf die Hälfte des während der Berechnung verbrauchten Gases nicht überschreiten.

Nehmen wir ein Beispiel, um dies zu klären.

… Angenommen, wir haben einen intelligenten Vertrag, der 14.000 Gas verbraucht.

Die von uns festgelegte Gasgrenze liegt bei 20.000.

Der Smart-Vertrag enthält auch einen SSTORAGE-Befehl.

Wie viel Gas erhält der Vertragsersteller nach der Berechnung zurück??

Erstens erhalten sie zurück (20.000 bis 14.000) = 6.000 Einheiten nicht verwendetes Gas.

Jetzt wurde auch der Befehl SSTORAGE verwendet, sodass sie theoretisch auch 15.000 Gas zurückbekommen sollten.

Die im Vertrag verwendete Gasmenge beträgt jedoch 14.000 und seit 15.000 > 14.000 / 2, die generierte RÜCKERSTATTUNG beträgt 14.000 / 2 = 7000.

Das Gesamtgas, das der Schöpfer am Ende zurückbekommt, beträgt 6000 + 7000 = 13.000.

Nehmen wir ein anderes Beispiel.

Angenommen, der Vertrag verbraucht diesmal 70.000 Gas und enthält eine SUICIDE-Funktion.

Eine SUICIDE-Funktion sollte Ihnen 24.000 Gas zurückgeben < 70.000 / 2.

In dieser Situation beträgt die Gasrückerstattung 24.000 + nicht verwendetes Gas.

Kritik an Ethereum Gas. Ist es gerechtfertigt??

Obwohl das Gassystem für die Präsentation eines reibungslos funktionierenden Mechanismus gelobt wurde, der die Bergleute ziemlich positiv anregt, wurde es in letzter Zeit kritisiert, weil es für Entwickler und intelligente Vertragsersteller etwas zu teuer ist.

In diesem Zusammenhang hat Danny Ryan einige interessante Studien in seinem gemacht Hackernoon Artikel.

Stellen Sie sich das folgende Szenario vor:

Was ist Ethereum Gas: Schritt-für-Schritt-Anleitung

Wenn zwei Zahlen in Ethereum millionenfach hinzugefügt werden, kostet dies Gebühren in Höhe von ~ 26,55 USD.

Danny Ryan verglich das mit einem Standard-AWS-System. Er sagte, dass er mit Python in 0,04 Sekunden millionenfach zwei Zahlen hinzufügen kann, was nach dem stündlichen Amazon EC2-Preis von 0,0059 US-Dollar 0,000000066 US-Dollar kostet.

Dies bedeutet, dass die Berechnung in Ethereum 400 Millionen Mal teurer ist!

Aufgrund seiner Studien ist dies die Schlussfolgerung, die er gezogen hat:

„Um fair zu sein, ist es ein bisschen erfunden, zwei Zahlen 1 Million Mal zu addieren. Ein gut geschriebener Vertrag würde wahrscheinlich eine solche Rechenkomplexität aus der Kette verschieben und sich mehr mit der Aktualisierung des Vertragszustands befassen. Das Speichern großer Datenmengen in der Blockchain ist ebenfalls keine gewöhnliche Aufgabe. Abhängig von der Aufgabe würde ein Benutzer wahrscheinlich eine kryptografische Referenz (einen Hash) der Daten in der Kette speichern und den Rest der Daten außerhalb der Kette halten.

Wir als Entwickler müssen uns dieser Kosten bewusst sein und dApps entsprechend gestalten. Wir müssen das Gleichgewicht zwischen Komplexität in der Kette und außerhalb der Kette finden und gleichzeitig die dezentralen Funktionen der Blockchain nutzen. “

Steigende Preise für Ethereum-Gas, die sich auf die Innovation auswirken

Das Problem mit den hohen Gaspreisen von Ethereum ist, dass es einem Entwickler unmöglich ist, Mikrotransaktionszahlungen für seine Projekte zu leisten. In letzter Zeit hat es aufgrund von Netzwerküberlastungen von erheblich zugenommen DeFi und die steigenden Transaktionsgebühren.

Wie Sie vielleicht wissen, erleben DeFi-Apps (dezentrale Finanzen) gerade eine Boom-Phase. Jeder möchte ein Stück vom Yield Farming Pie haben. Zum Zeitpunkt des Schreibens beläuft sich der in DeFi gesperrte Wert auf rund 11 Milliarden US-Dollar, wobei UniSwap, Maker und WBTC die beliebtesten Apps sind.

Von einem Entwickler POV liegt die Schönheit von DeFi in seiner Kompositionsfähigkeit. Man kann leicht verschiedene DeFi-Funktionen integrieren und eine ganz neue App erstellen. Angesichts der explodierenden Gasgebühren wird es für die Entwickler jedoch immer schwieriger, ein internes Wirtschaftssystem zu integrieren, das Mikrozahlungen ermöglicht.

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