Was versteht man unter dem Begriff „Gas“?

Eine Ethereum-Anwendung, die ich verwenden möchte, spricht darüber, dass "Gas" zum Ausführen benötigt wird. Was ist Benzin und wo bekomme ich es her?

Antworten (9)

„Gas“ ist der Name für eine spezielle Einheit, die in Ethereum verwendet wird. Es misst, wie viel „Arbeit“ eine Aktion oder eine Reihe von Aktionen erfordert, um ausgeführt zu werden: Um beispielsweise einen kryptografischen Keccak256 -Hash zu berechnen, werden 30 Gas jedes Mal benötigt, wenn ein Hash berechnet wird , plus 6 weitere Gas für jeweils 256 Bits Daten werden gehasht. Jede Operation, die durch eine Transaktion oder einen Vertrag auf der Ethereum-Plattform durchgeführt werden kann, kostet eine bestimmte Anzahl von Gas , wobei Operationen, die mehr Rechenressourcen erfordern, mehr Gas kosten als Operationen, die nur wenige Rechenressourcen erfordern.

Der Grund, warum Gas wichtig ist, besteht darin, dass es dazu beiträgt, sicherzustellen, dass eine angemessene Gebühr für Transaktionen gezahlt wird, die an das Netzwerk übermittelt werden. Indem wir verlangen, dass eine Transaktion für jede ausgeführte Operation (oder die Ausführung eines Vertrags) bezahlt wird, stellen wir sicher, dass das Netzwerk nicht mit der Durchführung einer Menge intensiver Arbeit, die für niemanden wertvoll ist, festgefahren wird. Dies ist eine andere Strategie als die Bitcoin-Transaktionsgebühr, die nur auf der Größe einer Transaktion in Kilobyte basiert. Da Ethereum die Ausführung von beliebig komplexem Computercode zulässt, kann eine kurze Codelänge tatsächlich dazu führen, dass viel Rechenarbeit geleistet wird. Daher ist es wichtig, die geleistete Arbeit direkt zu messen, anstatt nur eine Gebühr basierend auf der Dauer einer Transaktion oder eines Vertrags festzulegen .

Wenn Gas also im Grunde eine Transaktionsgebühr ist, wie bezahlen Sie es? Hier wird es etwas knifflig. Obwohl Gas eine Einheit ist, in der Dinge gemessen werden können, gibt es kein wirkliches Token für Gas. Das heißt, Sie können nicht 1000 Gas besitzen. Stattdessen existiert Gas nur innerhalb der virtuellen Maschine von Ethereum, um zu zählen, wie viel Arbeit geleistet wird. Wenn es um die tatsächliche Bezahlung des Gases geht, wird die Transaktionsgebühr in Form einer bestimmten Anzahl von Ether erhoben , dem eingebauten Token im Ethereum-Netzwerk und dem Token, mit dem Miner für die Produktion von Blöcken belohnt werden.

Das mag zunächst seltsam erscheinen. Warum haben Operationen nicht einfach Kosten, die direkt in Ether gemessen werden? Die Antwort ist, dass Ether, wie Bitcoins, einen Marktpreis haben, der sich schnell ändern kann! Aber die Rechenkosten steigen oder fallen nicht, nur weil sich der Preis von Ether ändert. Daher ist es hilfreich, den Berechnungspreis vom Preis des Ether-Tokens zu trennen , damit die Kosten einer Operation nicht bei jeder Marktbewegung geändert werden müssen.

Die Terminologie hier wird ein wenig chaotisch. Operationen im EVM haben Gaskosten , aber Gas selbst hat auch einen Gaspreis , der in Ether gemessen wird. Jede Transaktion gibt den Gaspreis an , den sie in Ether für jede Gaseinheit zu zahlen bereit ist, sodass der Markt über das Verhältnis zwischen dem Etherpreis und den Kosten der Rechenoperationen (gemessen in Gas) entscheiden kann. Es ist die Kombination der beiden, insgesamt verbrauchtes Gas multipliziert mit dem bezahlten Gaspreis, die die Gesamtgebühr ergibt, die für eine Transaktion gezahlt wird .

So knifflig es auch ist, es ist wichtig, diese Unterscheidung zu verstehen, denn sie führt zu einem der verwirrendsten Dinge bei Ethereum-Transaktionen für den anfänglichen Lernenden: Es gibt einen Unterschied zwischen Ihrer Transaktion, der das Gas ausgeht, und Ihrer Transaktion, die nicht hoch genug ist Gebühr . Wenn der Gaspreis, den ich in meiner Transaktion festlege, zu niedrig ist, wird sich überhaupt niemand die Mühe machen, meine Transaktion durchzuführen. Es wird von Minern einfach nicht in die Blockchain aufgenommen. Aber wenn ich einen akzeptablen Gaspreis angebe und dann meine Transaktion zu so viel Rechenarbeit führt, dass die kombinierten Gaskosten den Betrag überschreiten, den ich als Gebühr angegeben habe, gilt dieses Gas als "verbraucht" .und ich bekomme es nicht zurück. Der Miner stoppt die Verarbeitung der Transaktion, macht alle vorgenommenen Änderungen rückgängig, nimmt sie aber dennoch als „fehlgeschlagene Transaktion“ in die Blockchain auf und erhebt die Gebühren dafür . Das mag hart erscheinen, aber wenn Sie erkennen, dass die eigentliche Arbeit für den Miner darin bestand, die Berechnung durchzuführen, können Sie sehen, dass er diese Ressourcen auch nie zurückbekommen wird. Es ist also nur fair, dass Sie sie für die Arbeit bezahlen, die sie geleistet haben , obwohl Ihre schlecht konzipierte Transaktion kein Benzin mehr hat.

Die Bereitstellung einer zu hohen Gebühr unterscheidet sich auch von der Bereitstellung von zu viel Ether. Wenn Sie einen sehr hohen Gaspreis festlegen, zahlen Sie am Ende viel Ether für nur wenige Operationen , genau wie beim Festlegen einer superhohen Transaktionsgebühr in Bitcoin. Sie werden definitiv an der Spitze der Schlange priorisiert, aber Ihr Geld ist weg. Wenn Sie jedoch einen normalen Gaspreis angegeben und nur mehr Ether angehängt haben, als zur Bezahlung des bei Ihrer Transaktion verbrauchten Gases erforderlich war, wird Ihnen der überschüssige Betrag zurückerstattet . Miner berechnen Ihnen nur die Arbeit, die sie tatsächlich leisten. Sie können sich den Gaspreis als Stundenlohn für den Miner vorstellen und die Gaskosten als Arbeitszeittabelle für die geleistete Arbeit .

Gas hat noch viele andere Feinheiten, aber das sollte Ihnen die Grundlagen geben! Gas ist der Schlüsselmechanismus, der die komplexen Berechnungen in Ethereum für die Arbeit des Netzwerks „sicher“ macht , da alle Programme, die außer Kontrolle geraten, nur so lange halten, wie das Geld von den Personen bereitgestellt wird, die sie angefordert haben. Wenn das Geld aufhört, hören die Miner auf, daran zu arbeiten. Und die Fehler, die Sie in Ihrem Programm machen, wirken sich nur auf die Leute aus, die für die Nutzung bezahlen – der Rest des Netzwerks kann aufgrund Ihres Fehlers keine Leistungsprobleme erleiden. Sie werden einfach einen großen Zahltag bekommen, wenn die Leistungsprobleme Ihren gesamten Ether aufzehren! Ohne diese kritische Technik wäre die Idee einer Allzweck-Blockchain völlig unmöglich gewesen.

tl;dr:

  • Gas ist die Art und Weise, wie Gebühren berechnet werden
  • Die Gebühren werden jedoch immer noch in Ether bezahlt, was sich von Gas unterscheidet
  • Die Gaskosten sind die Menge an Arbeit, die in etwas investiert wird, wie die Anzahl der Arbeitsstunden, während der Gaspreis wie der Stundenlohn ist, den Sie für die zu erledigende Arbeit zahlen. Die Kombination der beiden bestimmt Ihre gesamte Transaktionsgebühr.
  • Wenn Ihr Gaspreis zu niedrig ist, wird niemand Ihre Transaktion bearbeiten
  • Wenn Ihr Gaspreis in Ordnung ist, aber die Gaskosten Ihrer Transaktion "über dem Budget" liegen, schlägt die Transaktion fehl, geht aber dennoch in die Blockchain, und Sie erhalten das Geld für die Arbeit der Arbeiter nicht zurück.
  • Dies stellt sicher, dass nichts ewig läuft und dass die Leute vorsichtig mit dem Code umgehen, den sie ausführen. Es schützt sowohl Miner als auch Benutzer vor schlechtem Code!
Beachten Sie, dass die tatsächlichen SHA-3-Standard-Hashes derzeit nicht von Ethereum berechnet werden. Ethereums „sha3“ ist der ursprüngliche Keccak-256, der beim NIST-Wettbewerb eingereicht wurde.
Toller Punkt, um den Unterschied zwischen "Gas" und "Äther" zu erklären und warum es einen Unterschied gibt. Für mich zunächst nicht ersichtlich.
Tolle Erklärung. Wo kann ich die Gaskosten einer Transaktion überprüfen?
Tolle Erklärung, Sie haben nur ein oft verwendetes Konzept "Gasgrenze" nicht erwähnt, wahrscheinlich ist es nicht wichtig, aber ich würde wissen wollen, was es ist.
Woher weiß die virtuelle Maschine von Ethereum, wie viel Rechenarbeit geleistet wurde?
Wie wandelt man Gas in Äther um? Was ist das Verhältnis?
" Wenn Ihr Gaspreis zu niedrig ist, wird niemand Ihre Transaktion bearbeiten "... Wie entscheiden sie, ob ein Gaspreis gut ist?
@RameshPareek Sie ermitteln den Wert des Gases in lokaler Währung, schätzen die Kosten des für die Ausführung der Arbeiten verwendeten Stroms (und dank der Gasgrenze gibt es eine Obergrenze) und führen die Arbeiten nur aus, wenn sie davon profitieren.
Es muss ein automatisierter Prozess sein, der in den Quellcode von Ethereum geschrieben ist und entscheidet, ob ein Preis gut ist oder nicht. Kannst du es herausfinden?

Kurz:

Gas ist die Ausführungsgebühr für jede Operation, die auf Ethereum durchgeführt wird. Sein Preis wird in Ether ausgedrückt und von den Minern festgelegt, die sich weigern können, Transaktionen mit weniger als einem bestimmten Gaspreis abzuwickeln. Um Gas zu bekommen, müssen Sie einfach Ether zu Ihrem Konto hinzufügen.

Lang:

Ethereum implementiert auf der Blockchain eine Ausführungsumgebung namens Ethereum Virtual Machine (EVM). Wenn Sie eine dezentrale Anwendung (dApp) ausführen, wird jede Anweisung auf jedem Knoten des Netzwerks ausgeführt. Dies ist mit Kosten verbunden: Für jede Operation, die ein Skript ausführen kann, gibt es bestimmte Kosten, ausgedrückt in der Anzahl von Gaseinheiten, die Sie in der EVM-Spezifikation sehen können.

Der Preis für eine Gaseinheit wird von den Bergleuten festgelegt, derzeit liegt er bei etwa 5 bis 21 GWei (ein GWei entspricht 10^9 Wei oder 10^-9 Ether). Ethereum verwendet Ether als interne Währung/Token. Ihr Kontostand wird in Ether ausgedrückt. Wenn Sie einen Vertrag bereitstellen oder eine Transaktion ausführen, wird das Gas von Ihrem Kontostand abgezogen. Es steht Ihnen frei, einen Gaspreis anzugeben oder den vorgeschlagenen Preis beizubehalten.

Wenn Sie sagen „Der Preis für eine Gaseinheit wird von den Bergleuten festgelegt“, was meinen Sie damit? Kommen sie irgendwo durch irgendein Verfahren zu einem Konsens oder wie genau "entscheiden" sie sich?
Jeder Bergbauknoten sollte einen Gaspreis auswählen, der seine Gewinne maximiert.
Ausgehend von einem theoretischen PoV sollte jeder Mining-Knoten einen Gaspreis auswählen, der seine Gewinne maximiert. Da sich ein Block, der mehr Gas verbraucht, langsamer im Netzwerk ausbreitet, besteht eine höhere Chance, dass er zu einem Onkel wird, der nur die reduzierte Belohnung einbringt. Der akzeptierte Mindestgaspreis sollte hoch genug sein, um dieses erhöhte Risiko auszugleichen. Was bisher im realen Netzwerk beobachtet wurde, ist, dass Mining-Pools Transaktionen mit niedrigeren Gaspreisen akzeptieren, was wirtschaftlich sinnvoll wäre, um die Netzwerküberlastung zu verringern und den Gesamtwert des Netzwerks/Tokens zu erhöhen.
Also 1 Gas = 0,000_000_001 Äther? Und 1 Äther = 1.000.000.000 Gas?

Die folgende Antwort stammt von Ethereum, Gas, Fuel & Fees

Was ist Erdgas?

Gas ist die Messeinheit zur Nutzung des Ethereum „Weltcomputers“ . Als Analogie wird Strom in Kilowattstunden gemessen. Die Verwendung von mehr Berechnung und Speicherung in Ethereum bedeutet, dass mehr Gas verbraucht wird. Ein wesentlicher Grund für die Messung ist, dass sie einen Anreiz für Menschen (Miner) bietet, den Weltcomputer zu betreiben. Diese Bergleute erhalten eine Gebühr für die Abwicklung von Transaktionen, die durch das Messsystem bestimmt wird: Gas.

Jeder Vorgang im EVM verbraucht Gas. Zum Beispiel verbraucht eine Multiplikation (MUL) 5 Gase und eine Addition (ADD) 3 Gase. Hier ist eine Tabelle der Operationen von Ethereum und ihres Gasverbrauchs . (Es ist auch möglich, sie als Gaskosten zu betrachten, aber es macht es wahrscheinlich schwieriger, den Erklärungen zu folgen, wenn Kosten, Gebühren und Preise herumfliegen.)

Metering unterscheidet sich von Gebühren und Gas unterscheidet sich von Ether. Um dies zu verdeutlichen, betrachten Sie Gas als Synonym für Kraftstoff. Eine Transaktion muss genügend Treibstoff oder StartGas bereitstellen, um die gesamte Nutzung der Rechen- und Speichereinrichtungen des EVM abzudecken. Das gesamte verbleibende Gas wird an den Urheber der Transaktion zurückerstattet: den Benutzer, der die Transaktion initiiert hat. Eine Transaktion, bei der kein Gas mehr vorhanden ist, wird rückgängig gemacht, ist aber immer noch in einem Block enthalten, und die damit verbundene Gebühr wird an den Miner gezahlt .

Nach einer Übersicht aus Sicht des Treibstoffs kommen wir zur Gebührenübersicht. Während jede Operation im EVM eine vordefinierte Menge an Gas verbraucht , die festgelegt ist (z. B. verbraucht eine MUL-Operation immer 5 Gas), kann ein Benutzer bei jeder Transaktion einen Gaspreis angeben . Der aktuelle Gaspreis beträgt 0,02 µ Ether oder 0,00000002 ETH. Die Gebühr, die ein Originator an einen Miner zahlt, ist die Transaktionsgebühr (startGas - remainingGas) × gas price.

Hier ist eine Zusammenfassung der Einflüsse von Transaktionstreibstoff und Transaktionsgebühr:

Geben Sie hier die Bildbeschreibung ein

Zu Beginn einer Transaktion wird der für das StartGas benötigte Ether reserviert [1b] und das Restgas auf StartGas gesetzt [1a]. [ 2 ] Bei jedem Vorgang der Transaktion wird Gas verbraucht und das verbleibende Gas wird gesenkt. [ 3 ] Wenn es eine Out-of-Gas-Ausnahme gibt, werden alle Vorgänge rückgängig gemacht und der gesamte Ether, der ursprünglich beiseite gelegt wurde, wird dem Miner gegeben [ 4 ]. [ 5 ] Wenn die Transaktion erfolgreich abgeschlossen wird, wird das gesamte verbleibende Gas an den Urheber zurückerstattet und der Rest wird an den Miner gezahlt.

Einfaches Beispiel

Nehmen Sie im folgenden Scheinszenario an, dass ein STORE 45 Gas und ein ADD 10 Gas verbraucht. Das Szenario beinhaltet das Speichern der Zahl 31 in der EVM, das Summieren von 2 Zahlen und das anschließende Speichern der Summe. Nehmen wir an, dass der Originator ein Startgas von 150 und einen Gaspreis von 0,02 µETH angegeben hat. Unten ist eine Illustration, wie die Transaktion von der EVM verarbeitet wird:

Geben Sie hier die Bildbeschreibung ein

Der Urheber zahlt dem Miner eine Gebühr von (150 - 50) × 0,02 µETH = 2 µETH = 0,000002 ETH.

Kraftstoff vs. Gebühr

Es gibt einen Unterschied zwischen einem Originator, der genügend Kraftstoff bereitstellt, und einem ausreichenden Entgelt. Hier sind die wahrscheinlichen Auswirkungen auf eine Transaktion:

Geben Sie hier die Bildbeschreibung ein

[ 1 ] Eine Transaktion mit zu wenig Treibstoff erreicht die Miner nicht einmal, unabhängig von der gezahlten Gebühr.

[ 2 ] Wenn ausreichend Kraftstoff für eine Transaktion bereitgestellt wird, aber die Gebühr zu niedrig ist, obwohl die Transaktion Miner erreichen kann, führen Miner nach Prüfung der Transaktion keine Berechnungen durch.

[ 3 ] Eine Transaktion mit niedrigem Kraftstoffverbrauch impliziert, dass sie wenig Berechnungs- oder Speicherressourcen des EVM verwendet oder dass sie zur Laufzeit auf eine „Out of Gas“-Ausnahme trifft und rückgängig gemacht wird.

[4, 5, 6] Gebühren bestimmen die Reihenfolge, in der Transaktionen in die Blockchain aufgenommen werden.

[ 7 ] Der Grund, warum die Bereitstellung von viel Treibstoff dazu führen kann, dass eine Transaktion länger braucht, um abgebaut zu werden, wird im Abschnitt Mögliche Verzögerungen bei hohem StartGas diskutiert.

In Bitcoin erfolgt die Messung mit Bytes: die Anzahl der Bytes in der Transaktion. In Ethereum muss die Berechnung auch gemessen werden, da eine kleine Menge Code immer noch ein Programm sein könnte, das ewig läuft. Zählerberechnung ist einer der Gründe für Gas. Aber Benzin zu haben bedeutet nicht, Gebühren zu verlangen.

Zum Beispiel könnte in einer privaten Kette jedes Konto X Gas pro Tag haben, oder jedes Konto könnte Y Gas pro Transaktion haben, oder ein anderes Schema. Auf der anderen Seite bedeutet das Haben von Gebühren nicht, dass Benzin benötigt wird: Gebühren können auf unterschiedlichen Zählern basieren, z. B. Bytes. Die Sicherheit in einer öffentlichen Blockchain erfordert sowohl Gas als auch Gebühren, während die Alternativen eher für private Ketten gelten (z. B. kann ein System, bei dem jedes Konto X Gas pro Tag hat, in einer öffentlichen Kette, in der jeder ein Konto erstellen kann, von Sybil angegriffen werden). .

Ein ultimatives Beispiel für eine gebührenfreie Messung ist, wenn ein Vertrag mit einem Anruf oder einer Transaktion aufgerufen wird . Wie in Wer bekommt die Gebühr vom Vertragsanruf erklärt? , verwendet ein Aufruf mit einem "Anruf" weiterhin die Messung, hat aber keine Gebühren.

Angenommen, ich rufe eine Funktion in einem Vertrag mit niedrigem Gas auf. Ein anderer weiß das und versucht vor mir herzufliegen - ruft die gleiche Funktion mit mehr Gas ein paar Sekunden nach mir auf. Wird seine Transaktion zuerst bearbeitet? Das scheint eine große Schwachstelle zu sein
@gpanterov Ich nehme an, Sie meinten "niedriger Gaspreis" anstelle von "niedriges Gas". Ja, seine Transaktion kann zuerst verarbeitet werden, wenn die Miner dies entscheiden (und sie werden es wahrscheinlich tun). Miner haben die volle Kontrolle über die Reihenfolge der Transaktionen. Dies ist keine Schwachstelle, sondern funktioniert einfach so in Ethereum (und in fast jedem anderen verteilten System). Vertragsentwickler sollten immer davon ausgehen, dass böswillige Miner versuchen, sich einen Vorteil zu verschaffen, indem sie die Transaktionen ihrer Benutzer neu ordnen.
Diese Antwort scheint von einem Moderator hier ohne Quellenangabe oder Referenz von media.consensys.net/ethereum-gas-fuel-and-fees-3333e17fe1dc kopiert worden zu sein.
Ich habe eine Frage. Im Falle einer Münze, die auf Ethereum basiert, nennen wir sie XOXO ... Ich gebe 1M aus. Die Leute kaufen alles (weil es so beliebt ist) ... wenn eine Zahlung in XOXO von Adresse 123 bis Adresse 456 erfolgt ... wie wird Benzin bezahlt? An diesem Punkt haben sie es mit XOXO zu tun, nicht mit Ether.

Zusätzliche nützliche Inhalte zu Gas in Ethreum von: http://ethdocs.org/en/latest/ether.html#gas-and-ether

Gas und Äther

Gas soll die konstanten Kosten der Netzressourcen/-nutzung sein. Sie möchten, dass die tatsächlichen Kosten für das Senden einer Transaktion immer gleich sind, also können Sie nicht wirklich erwarten, dass Gas ausgegeben wird, Währungen sind im Allgemeinen volatil.

Also geben wir stattdessen Ether aus, dessen Wert variieren soll, implementieren aber auch einen Gaspreis in Bezug auf Ether. Wenn der Preis von Ether steigt, sollte der Gaspreis in Bezug auf Ether sinken, um die tatsächlichen Gaskosten gleich zu halten.

Gas hat mehrere zugehörige Begriffe: Gaspreise, Gaskosten, Gaslimit und Gasgebühren. Das Prinzip hinter Gas besteht darin, einen stabilen Wert dafür zu haben, wie viel eine Transaktion oder Berechnung im Ethereum-Netzwerk kostet.

  • Die Gaskosten sind ein statischer Wert dafür, wie viel eine Berechnung in Bezug auf Gas kostet, und die Absicht ist, dass sich der tatsächliche Wert des Gases nie ändert, sodass diese Kosten im Laufe der Zeit immer stabil bleiben sollten.
  • Der Gaspreis gibt an, wie viel Gas in Bezug auf eine andere Währung oder einen Token wie Ether kostet. Um den Wert des Gases zu stabilisieren, ist der Gaspreis ein variabler Wert, sodass sich der Gaspreis bei Schwankungen der Token- oder Währungskosten ändert, um den gleichen realen Wert beizubehalten. Der Gaspreis wird durch den Gleichgewichtspreis festgelegt, der festlegt, wie viel Benutzer bereit sind auszugeben und wie viel Verarbeitungsknoten zu akzeptieren bereit sind.
  • Gas Limit ist die maximale Menge an Gas, die pro Block verwendet werden kann, es wird als maximale Rechenlast, Transaktionsvolumen oder Blockgröße eines Blocks betrachtet, und Miner können diesen Wert im Laufe der Zeit langsam ändern.
  • Die Gasgebühr ist effektiv die Menge an Gas, die für die Ausführung einer bestimmten Transaktion oder eines bestimmten Programms (als Vertrag bezeichnet) gezahlt werden muss. Die Gasgebühren eines Blocks können verwendet werden, um die Rechenlast, das Transaktionsvolumen oder die Größe eines Blocks zu implizieren. Die Gasgebühren werden an die Miner (oder gebundene Auftragnehmer in PoS) gezahlt.

Weitere nützliche Links:

https://www.reddit.com/r/ethereum/comments/271qdz/can_someone_explain_the_concept_of_gas_in_ethereum/ https://www.reddit.com/r/ethereum/comments/3fnpr1/can_someone_possibly_explain_the_concept_of/ https://www.reddit.com/ r/ethereum/comments/49gol3/can_ether_be_used_as_a_currency_eli5_ether_gas/

Gas ist im Grunde die interne Preisgestaltung für die Durchführung einer Transaktion oder eines Vertrags.

Der Gaspreis pro Transaktion oder Vertrag ist so festgelegt, dass er der Turing Complete-Natur von Ethereum und seinem EVM (Ethereum Virtual Machine Code) gerecht wird.

Je komplexer also die Transaktion oder der Vorgang, desto mehr Gas würde es kosten.

Gas ist das, was Sie bezahlen, um Code auf der Blockchain auszuführen und Ether an eine andere Adresse zu übertragen. Für jede Anweisung auf der Ethereum Virtual Machine zahlen Sie eine bestimmte Menge Gas. Einige Anweisungen sind teuer und einige sind billig.

Wenn Sie eine Funktion aufrufen und Ihnen während der Ausführung dieses Funktionsaufrufs das Gas ausgeht, werden alle von der Funktion durchgeführten Änderungen rückgängig gemacht und Sie verlieren das gesamte Gas, das Sie bereitgestellt haben.

Der Grund, warum für jede Anweisung Gas benötigt wird, anstatt einfach eine festgelegte Gebühr, um eine Funktion auszuführen, besteht darin, dass Sie ansonsten eine Funktion mit einer Endlosschleife schreiben, diesen Vertrag bereitstellen und dann die Funktion aufrufen könnten. Wenn Sie dies tun würden, würden die Miner, die versuchen, Ihren Funktionsaufruf in den nächsten Block aufzunehmen, in einer Endlosschleife stecken bleiben.

Zuerst möchte ich etwas über EVM (Ethereum Virtual Machine) erzählen, da wir wissen, dass das Ethereum-Netzwerk eine Sammlung von Computern ist und auf jedem Computer EVM-Software installiert ist und alle diese Systeme eine Kopie der Blockchain haben, mit der alle Miner verbunden sind durch EVM. Wenn der Entwickler einen Smart Contract schreibt, wird der Code mit dem Maschinencode kompiliert und der Maschinencode wird in der Blockchain gespeichert, die von EVM ausgeführt wird. Ich werde in dieser Frage nicht erklären, was mit diesem Code in der Blockchain passiert.

Nun, Äther vs. Gas ??

Im gesamten Code gibt es viele Anweisungen, die ihre Arbeit gemäß dieser Anweisung oder diesem Code ausführen, z. B. Code, der geschrieben wurde, um Werte im Speicher zu speichern oder SHA-Hash-Operationen auszuführen. Jede Operation ist mit Kosten verbunden. Um Ihren Code oder Smart Contract auszuführen, müssen Sie für alle Ihre Operationen bezahlen, die in Ether bezahlt werden. Die Betriebskosten sind Gas, das in Äther umgerechnet und dann in Äther bezahlt wird.

Der Grund dafür ist, den Preis einer Operation mit dem Marktpreis eines Äthers zu entkoppeln, und der Wert jedes Gases, das eine konstante Zahl in Äther ist, kann von den Bergleuten leicht angepasst werden.

Da das Ethereum-Netzwerk eine dezentrale Blockchain ist, bei der keine einzelne Einheit oder Behörde ihren Betrieb überwacht, wird ein Mechanismus eingerichtet, um zu verhindern, dass das Netzwerk überlastet oder mit Transaktionen gespammt wird. Dieser Mechanismus berechnet Absendern von Transaktionen eine kleine Gebühr namens Gasgebühr, die dann verwendet wird, um Miner zu belohnen, die Transaktionen im Netzwerk validieren.

Diese Gebühr wird in Form von Ether (ETH) erhoben, das auch im Ethereum-Netzwerk verwendet wird, um Werttransfers, Mining-Auszahlungen und intelligente Vertragsausführungen zu erleichtern.

Die Funktionsweise der Gasgebühr ähnelt der Funktionsweise von Gas/Kraftstoff für unsere Fahrzeuge. Um von Punkt A nach Punkt B zu gelangen, muss das Fahrzeug ausreichend betankt sein.

Damit eine Transaktion im Ethereum-Netzwerk erfolgreich ist, muss der Absender eine ausreichende Menge Gas bereitstellen, um die Gasgebühren zu bezahlen.

Quelle

Siehe die andere Antwort für die Details, aber Gas hat keine Einheit.
@Ismael, du hast vollkommen recht und danke, dass du mich korrigiert hast. Meine Antwort bearbeitet.
Die Bereitstellung im Mainnet (auch bekannt als Schreiben in die Ethereum-Blockchain) erfordert echtes Gas und daher echtes Geld. Eine bewährte Methode bei der Entwicklung von Web3-Apps besteht darin, sie zuerst in einem Testnetz bereitzustellen, da Sie Ihre App testen können und sie kostenlos ist. Für Ethereum möchten Sie das Goerli-Testnet verwenden. Das bedeutet, dass Sie im Wesentlichen gefälschten Test-Ether ("testETH") verwenden, um Ihr Projekt / Ihren Vertrag zu testen. Sie erhalten diesen Görli-TestETH von Görli-Armaturen wie goerlifaucet.com.
@a-gupta Danke für das Hinzufügen der Testnet-Erklärung.

Die Bereitstellung im Mainnet (auch bekannt als Schreiben in die Ethereum-Blockchain) erfordert echtes Gas und daher echtes Geld. Eine bewährte Methode bei der Entwicklung von Web3-Apps besteht darin, sie zuerst in einem Testnetz bereitzustellen, da Sie Ihre App testen können und sie kostenlos ist. Für Ethereum möchten Sie das Goerli-Testnet verwenden. Das bedeutet, dass Sie im Wesentlichen gefälschten Test-Ether ("testETH") verwenden, um Ihr Projekt / Ihren Vertrag zu testen. Sie erhalten diesen Görli-TestETH von Görli-Armaturen wie goerlifaucet.com.

Mit solchen Tools können Sie auch die Gasgebühren schätzen