Ethereum en Gas: wat is Gas en wat is het verschil tussen de Gas Price en Gas Limit?

Het Ethereum netwerk, ook wel de Ethereum blockchain, draait op een eigen valuta genaamd Ether (ETH). Deze ETH zijn als het ware de brandstof van het netwerk. Voor elke transactie (verzenden van ETH, verzenden van tokens, interacties met smart contracts) moeten transactiekosten betaald worden. Deze transactiekosten worden berekend in Gas. Gas wordt op zijn beurt weer betaald in ETH.

De transactiekosten gaan niet naar de producent van je hardware wallet of de maker van een software wallet. In plaats daarvan worden transactiekosten betaald aan de miners die het netwerk in stand houden. Je betaalt transactiekosten voor een geslaagde, maar ook voor een niet geslaagde transactie. In beide gevallen hebben miners namelijk rekenkracht besteed aan jouw transactie.

Wat is het verschil tussen Gas en de Gas Limit?

Wanneer het over Gas gaat hebben mensen het vaak over één van twee dingen: 

  • Gas Price
  • Gas Limit

Gas Price

De kosten van een transactie worden berekend door deze twee met elkaar te vermenigvuldigen (Gas Limit * Gas Price).

Dit is te vergelijken met de brandstof die je in een auto gebruikt. De Gas Price is de prijs van brandstof. Voor een liter benzine betaal je nu bijvoorbeeld €1,69. Wanneer je voor een ritje 10 liter benzine nodig hebt betaal je daarvoor dus 10 (liter benzine) * €1,69 (de prijs van een liter benzine) = €16,90

Een ethereum transactie werkt vergelijkbaar. De Gas Price (vergelijkbaar met de prijs van een liter benzine) wordt hierbij uitgedrukt in "GWEI". Een Gwei is 1/1.000.000.000ste deel van een ETH.

Op het moment van schrijven komen transacties met een Gas Price van 4 Gwei binnen enkele minuten aan. De Gas Limit geeft vervolgens aan hoeveel eenheden Gas je voor een transactie bereid bent te gebruiken. De transactiekosten voor een transactie die 21000 Gas nodig heeft komen daardoor dus op (21000 (Gas) * 4 (Gas Price))/1.000.000.000 = 0,000084 ETH 

Welke Gas Price moet ik gebruiken?

Wanneer je minder transactiekosten wil betalen doe je dat door de Gas Price te verlagen. Miners bepalen echter op basis van de geboden Gas Price welke transacties ze als eerste verwerken. Een hele lage Gas Price zorgt dus voor een langere transactietijd.

  • Bij 40 GWEI komt je transactie doorgaans in het volgende block. (+- 15 sec)
  • Bij 20 GWEI komt je transactie doorgaans binnen een paar blocks.
  • Bij 4 GWEI komt je transactie doorgaans binnen een paar minuten door.

De prijs die ervoor zorgt dat je transactie snel wordt verwerkt verandert echter met de drukte van het netwerk. Voor actuele informatie over de beste Gas Price  en het berekenen van transactiekosten kun je het beste kijken op de volgende pagina:

Wanneer het netwerk erg druk is, bijvoorbeeld tijdens de ICO van een nieuw token, kun je ervoor kiezen om een nog hogere Gas Price in te stellen. Houd daarbij rekening met de volgende zaken:

  • De meeste miners kiezen welke transacties ze meenemen op basis van de Gas Price. Een hogere Gas Price komt dus eerder aan bod.
  • Echter bij Token Sales (ICOs) is vaak een maximum Gas Price ingesteld. Deze prijs ligt doorgaans op 50 GWEI. Transacties met een hogere Gas Price worden door het contract verworpen
  • Het is belangrijk om dit voor de desbetreffende ICO uit te zoeken! Bij een te hoge gas price kan je transactie verworpen worden en bij een te lage Gas Price mis je mogelijk de boot.

Waarom zou ik een lage Gas Price instellen?

Het instellen van een lagere Gas Price is simpelweg goedkoper. In de meeste gevallen, wanneer je geen haast hebt, wil je een Gas Price instellen die ervoor zorgt dat je transactie uiteindelijk geaccepteerd wordt, maar niet per se direct.

Moet ik een hele hoge Gas Price gebruiken voor ICO's zonder maximum Gas Price?

Hoewel een hogere Gas Price je kans vergroot om je transactie in een block mee te laten doen is dat nog geen garantie. Wanneer een ICO echt heel snel volraakt en je transactie alsnog te laat aankomt ben je de transactiekosten kwijt. In het verleden zijn er ICO's geweest die al binnen enkele blocks klaar waren. Iemand wiens transactie naar het contract niet binnen die blocks viel was daarna zijn transactiekosten kwijt. Denk er dus goed over na wat je bereid bent te besteden aan de transactie en beschouw de kosten die je instelt als verloren.


Gas Limit

Met de Gas Limit geef je aan hoeveel Gas je maximaal aan een transactie wil spenderen. Deze limiet is toegevoegd zodat een contract niet per ongeluk (of expres) al je Ether op kan maken door een transactie voor eeuwig rond te sturen binnen een contract. 

De hoeveelheid Gas die nodig is om een transactie te voltooien hangt af van het contract. Om een transactie of contract te laten voltooien moet je voldoende gas toevoegen om te betalen voor alle berekeningen. Doe je dit niet, dan krijg je een Out of Gas error. De transactie is in dat geval niet voltooid, maar je bent je transactiekosten wel kwijt. Bij een niet geslaagde transactie hou je verder wel gewoon de munten die je probeerde te verzenden.

Aan het eind van een transactie wordt de gas die niet gebruikt is teruggestort op je adres. Dat is alleen het geval bij een geslaagde transactie. Wanneer een transactie faalt, bijvoorbeeld omdat je munten naar een al gesloten contract (bijv. een Token Sale/ICO) stuurt, krijg je geen Gas terug.

Wat voor Gas Limit moet ik instellen?

  • Een standaard ETH transactie kost 21000 Gas.
  • Voor het verzenden van tokens heb je doorgaans tussen de 50000 en 100000 gas nodig.
  • Verdere interacties met smart contracts zijn afhankelijk van de situatie. Het is handig om dit van tevoren uit te zoeken bij de makers van het smart contract waar je mee wil werken.
  • Het verhogen van de Gas Limit maakt het niet waarschijnlijker dat je transactie meegenomen wordt in het volgende block. Het heeft dus ook bij token sales (ICO) geen zin om de gas limit verder te verhogen dan aangeraden door de makers van het contract.

Zoals eerder gezegd krijg je overgebleven gas weer terug. Dat wil niet zeggen dat je daarom maar een overdreven hoge gas limit in moet stellen, maar je hoeft ook niet precies de grens op te zoeken.

Bron:
Dit artikel is grotendeels gebaseerd op een artikel over Gas van MyEtherWallet. Dat artikel is hier te vinden en is nog iets uitgebreider:


Het instellen van de Gas Price en Gas Limit op je hardware wallet

In de volgende artikelen leggen we per hardware wallet uit hoe je de Gas Price en Gas Limit in kunt stellen:

In de KeepKey is het momenteel helaas nog niet mogelijk om de Gas Price en Gas Limit zelf in te stellen.


Hoe hebben we het gedaan?