Slim contractontwerp in tijden van overbelaste netwerken

Laten we in dit artikel eens kijken wat Ethereum-gas betekent en waarom het de laatste tijd enorm is gestegen. Daarna zullen we zien hoe andere slimme contractplatforms zoals RSK en EOS omgaan met gasprijzen als het gaat om Smart Contract Design.

Ethereum heeft een gasprobleem. Hoe grappig het ook mag klinken, we kunnen je verzekeren dat ontwikkelaars allesbehalve lachen om die bewering.

De groeiende vraag naar DeFi-applicaties (gedecentraliseerde financiering) heeft de congestie op de belangrijkste Ethereum-blockchain vergroot. Dit heeft op zijn beurt de gasprijzen in de hoofdketen omhooggeschoten. Vanaf Bitinfocharts, de mediane transactiekosten zijn sinds begin 2018 gestegen tot het hoogste niveau.

Slim contract en Ethereum Virtual Machine (EVM)

Slimme contracten zijn geautomatiseerde contracten. Ze voeren zichzelf uit met specifieke instructies geschreven in de code, die worden uitgevoerd wanneer aan bepaalde voorwaarden wordt voldaan.

U kunt hier meer lezen over slimme contracten in onze uitgebreide gids.

Slimme contracten zijn hoe dingen worden gedaan in het Ethereum-ecosysteem. Wanneer iemand een bepaalde taak in Ethereum wil laten uitvoeren, starten ze een slim contract met een of meer mensen.

Slimme contracten zijn een reeks instructies die zijn geschreven met behulp van de programmeertaal “solidity”, die werkt op basis van de IFTTT-logica, ook bekend als de ALS-DIT-DAN-DAT logica. Kortom, als de eerste set instructies is voltooid, voer dan de volgende functie uit en daarna de volgende en blijf herhalen totdat u het einde van het contract bereikt.

Dit is het kernprincipe achter slimme contracten. Dit is wat ons in staat stelt om een ​​bindende overeenkomst te hebben tussen meerdere partijen onder toezicht van een code, in plaats van een derde partij, zoals een advocaat.

Wat is de virtuele Ethereum-machine?

Ethereum virtuele machines zijn ecosystemen waarin u slimme contracten uitvoert. Voor een goede slimme contractfunctionaliteit zijn drie belangrijke dingen vereist:

  • Deterministisch.
  • Opzegbaar.
  • Geïsoleerd.

Feature # 1: deterministisch

Een programma is deterministisch als het elke keer dezelfde uitvoer aan een bepaalde invoer geeft. Bijv. Als 3 + 1 = 4, dan is 3 + 1 ALTIJD 4 (uitgaande van dezelfde basis). Dus als een programma dezelfde output geeft aan dezelfde set inputs op verschillende computers, wordt het deterministisch genoemd.

Functie # 2: opzegbaar

In wiskundige logica hebben we een fout die ‘stopprobleem’ wordt genoemd. In wezen stelt het dat er een onvermogen is om te weten of een bepaald programma zijn functie al dan niet binnen een tijdslimiet kan uitvoeren. Dit is duidelijk een probleem met slimme contracten, omdat contracten per definitie binnen een bepaalde tijdslimiet moeten kunnen worden beëindigd. Slimme contracten hebben een omgeving nodig waarin ze een stopmechanisme kunnen integreren.

Feature # 3: geïsoleerd

In een blockchain kan iedereen een smart contract uploaden. Hierdoor kunnen de contracten echter, bewust en onbewust, virussen en bugs bevatten. Als het contract niet geïsoleerd is, kan dit het hele systeem belemmeren. Daarom is het van cruciaal belang dat een contract geïsoleerd wordt gehouden in een sandbox om het hele ecosysteem te beschermen tegen eventuele nadelige effecten.

Ethereum biedt al deze functionaliteiten via de EVM. Het is een eenvoudige maar krachtige Turing Complete 256-bits virtuele machine.

Wat is Ethereum Gas?

Gas is een eenheid die de hoeveelheid rekenkracht meet die nodig is om bepaalde bewerkingen uit te voeren. Alle slimme contracten die in de EVM worden uitgevoerd, zijn gecodeerd met behulp van soliditeit (Ethereum is van plan in de toekomst over te stappen naar Viper van Solidity.) Elke regel code in soliditeit vereist een bepaalde hoeveelheid gas om te worden berekend.

De onderstaande afbeelding is afkomstig van de Ethereum Yellowpage en kan worden gebruikt om een ​​idee te krijgen van hoeveel specifieke instructies gasgewijs kosten.

Hoffelijkheid van afbeeldingen: Ethereum geel papier

Laten we een analogie gebruiken om beter te begrijpen hoe gas werkt in Ethereum. Stel dat je op een roadtrip gaat. Voordat u dit doet, doorloopt u deze stappen:

  • Je gaat naar het tankstation en geeft aan hoeveel benzine je in je auto wilt tanken.
  • Je krijgt dat gas bijgevuld in je auto.
  • U betaalt het benzinestation het bedrag dat u hen verschuldigd bent voor het gas.

Laten we nu parallellen trekken met Ethereum.

De auto is de operatie die u wilt uitvoeren, zoals een gas- of smart contract.

Het gas is goed… .gas.

Het tankstation is je mijnwerker.

Het geld dat je ze hebt betaald, zijn de mijnwerkerskosten.

Alle bewerkingen die gebruikers in ethereum willen uitvoeren, moeten gas leveren voor het volgende:

  • Om zijn gegevens oftewel intrinsiek gas te dekken.
  • Om de hele berekening te dekken.

Nu we de basisprincipes hebben behandeld, stelt u misschien de volgende vraag.

Waarom hebben we dit gassysteem?

Het antwoord is simpel … stimulering.

Net als elk peer-to-peer-systeem met proof-of-work, is Ethereum sterk afhankelijk van de hashrate van hun miners. Meer miners, meer hashrate, veiliger en sneller het systeem.

Om meer mijnwerkers in het systeem te krijgen, moeten ze het systeem zo winstgevend en aantrekkelijk mogelijk maken voor de mijnwerkers. In Ethereum zijn er twee manieren waarop miners geld kunnen verdienen:

  • Door blokken te minen en blokbeloningen te krijgen.
  • Door tijdelijke dictators te worden van hun ontgonnen blokken.

Laten we het tweede punt onderzoeken.

De miners zijn verantwoordelijk voor het plaatsen van transacties in hun blokken. Om dit te doen, moeten ze hun rekenkracht gebruiken om slimme contracten te valideren. Door het gassysteem kunnen ze hiervoor een specifieke vergoeding vragen.

Deze vergoeding staat bekend als de mijnwerkersvergoeding en helpt hen voldoende te stimuleren om actief deel te nemen aan het ecosysteem.

Dus, hoeveel kosten kunnen ze in rekening brengen? Voordat we dat kunnen berekenen, moeten we eerst eens kijken hoe we gas meten.

De kleinste eenheid voor gasmeting is wei. Dus als we 1 gaseenheid uitgeven tijdens een operatie, noemen we dat 1 wei.

De maateenheden nemen als volgt toe:

Afbeelding tegoed: Steemit

Voordat we verder gaan, is het belangrijk om het concept van Gas Limit te kennen.

Wat is gaslimiet?

Om een ​​bewerking in Ethereum uit te voeren, moet de operatiegenerator (d.w.z. de persoon die de transactie start of de maker van het slimme contract) een gaslimiet specificeren voordat deze bij de mijnwerkers wordt ingediend. Pas als er een gaslimiet is gedefinieerd, beginnen de mijnwerkers met het uitvoeren van de operatie.

Bij het indienen van een gaslimiet moeten de volgende punten in acht worden genomen:

  • Verschillende operaties hebben verschillende gaskosten (zoals eerder is aangetoond).
  • De mijnwerkers stoppen met uitvoeren zodra het gas op is.
  • Als er gas overblijft, wordt dit onmiddellijk teruggestort op de bedrijfsgenerator.

Laten we dit eens in werking zien in een hypothetisch scenario.

Stel dat we twee getallen optellen en daarvoor moet het contract de volgende acties uitvoeren:

  • 10 opslaan in een variabele. Laten we zeggen dat deze operatie 45 wei gas kost.
  • Als we twee variabelen toevoegen, laten we zeggen dat dit 10 wei gas kost.
  • Het opslaan van het resultaat dat weer 45 wei gas kost.

Stel dat de gaslimiet 120 wei is.

Het totale gas dat door de mijnwerker wordt gebruikt, is (45 + 10 + 45) 100 wei.

De vergoedingen die aan hen verschuldigd zijn, ervan uitgaande dat 1 wei 0,02 micro ETH kost, is (100 * 0,02 micro ETH) = 0,000002 ETH.

Hoeveel gas blijft er nu over??

120 – 100 = 20 wei.

De 20 wei wordt terugbetaald aan de operatiegenerator.

Dus na dat te hebben gespecificeerd, zijn er twee scenario’s die men moet overwegen:

  • De gaslimiet is te laag.
  • De gaslimiet is te hoog.

Scenario # 1: De gaslimiet is te laag

Als een operatie zonder gas komt te zitten, wordt het teruggebracht naar de oorspronkelijke staat alsof er niets is gebeurd, maar de operatiegenerator moet de mijnwerkers NOG STEEDS de vergoeding betalen voor hun rekenkosten en de operatie wordt toegevoegd aan de blockchain (zelfs als het is niet uitgevoerd).

Terugkomend op onze roadtrip-analogie, als je niet genoeg benzine in je auto hebt getankt, kun je je bestemming niet bereiken, maar zelfs dan heb je het benzinestation het geld voor de brandstof betaald?

Laten we eens kijken hoe dit werkt in ons slimme contract voor hypothetische optelling. De stap waren:

  • 10 opslaan in een variabele. Laten we zeggen dat deze operatie 45 wei gas kost.
  • Als we twee variabelen toevoegen, laten we zeggen dat dit 10 wei gas kost.
  • Het opslaan van het resultaat dat weer 45 wei gas kost.

Deze keer is de gaslimiet echter 90 wei.

Nu weten we dat het gas dat nodig is om aan het contract te voldoen 100 wei is, maar we hebben maar 90 wei.

In dit scenario zal de mijnwerker 90 wei aan berekening uitvoeren en vervolgens de operationele generatorkosten in rekening brengen voor de 90 wei die (90 * 0,02 micro ETH) 0,000018 ETH blijken te zijn.

Ook keert het contract terug naar de oorspronkelijke staat en wordt het toegevoegd aan de blockchain.

Scenario # 2: De gaslimiet is te hoog

Dus wat als we de gaslimiet te hoog instellen??

Dat zou logisch zijn om het goed te doen? Wat er overblijft, wordt tenslotte teruggestort naar de bedrijfsgenerator?

Dat klinkt goed op papier, maar in werkelijkheid werkt het niet zo goed. U moet onthouden dat elk blok op Ethereum een ​​algemene gaslimiet heeft. Mijnwerkers kunnen alleen bewerkingen toevoegen die bij elkaar opgeteld kleiner zijn dan of gelijk zijn aan de blokgaslimiet.

Met dank aan: Hackernoon

Stel dat er een transactie A is met een gaslimiet van 42.000 en twee transacties B en C met een normale limiet van 21.000.

Wat voor een mijnwerker logischer is om in zijn blok te plaatsen?

  • Zullen ze transactie A invoeren en een enorme hoeveelheid gas terugbetalen??
  • Of zullen ze transacties B en C zetten en weinig tot niets terugbetalen?

Het tweede punt is economisch gezien logischer voor hen?

Dit is precies waarom het hebben van een opgeblazen gaslimiet niet de verstandige manier is om te gaan.

Hoog en laag gas versus hoog en laag tarief

Het zou je tot dusver duidelijk moeten zijn dat gas en ether niet hetzelfde zijn. Gas is de hoeveelheid rekenkracht die nodig is, terwijl ether de prijs is, oftewel de FEES die men voor dat gas moet betalen.

Laten we nu, met de kennis van alles wat we tot nu toe hebben verkregen, bepaalde gas- en vergoedingsscenario’s doornemen.

  • Als een operatie LAAG gas heeft, zullen de mijnwerkers het niet eens oppikken omdat het niet genoeg gas heeft om de berekening te voltooien.
  • Als een operatie LAGE kosten heeft, heeft deze misschien net genoeg gas om het te dekken, maar toch zullen de mijnwerkers niet naar de stukjes kauwen om het op te halen, omdat een operatie met lage kosten voor hen niet economisch haalbaar is.
  • Als een operatie HOOG gas heeft, betekent dit dat de operatie opgeblazen is met een hoge gaslimiet en daarom zullen de mijnwerkers het niet oppikken.
  • Als een operatie HOGE kosten heeft, weten de mijnwerkers dat ze veel geld zullen verdienen en het meteen oppakken.

De aanbevolen gasprijzen voor verschillende transactiekosten, volgens ethgasstation zijn:

Stijgende Ethereum-gasprijzen

De Ethereum-blockchain wordt de laatste tijd steeds vaker gebruikt. Dit komt door de toename van het gebruik van meer gecompliceerde slimme contracten.

Volgens het Ethereum-tankstation zijn stablecoins zoals USDT en gedecentraliseerde beurzen zoals Uniswap de meer gasvretende slimme contracten in de ruimte. Dit verhoogde gebruik zet gebruikers ertoe aan hogere kosten te betalen om hun transacties sneller te laten verwerken. Als er dus veel activiteit is, kunnen de tarieven snel stijgen.

Overweeg dit om te begrijpen hoe ingrijpend de situatie is. Volgens Coin Metrics zijn de gemiddelde kosten per transactie op een gegeven moment gestegen tot een 7-dagengemiddelde van ongeveer 91 cent, van ongeveer 8 cent aan het begin van 2020. Connor Abendschein van Digital Assets Data merkt op:

“Vanaf nu zorgen de hoge gaskosten ervoor dat kleinere spelers niet kunnen deelnemen aan enkele van DeFi’s meest interessante protocollen, zoals Synthetix.”

Dit is absoluut jammer, want Ethereum en DeFi moeten een open en gemakkelijk toegankelijk wereldwijd financieel systeem bouwen.

Het ergste is dat dit probleem alleen maar erger wordt naarmate meer gecompliceerde DeFi-protocollen en gebruikers het ecosysteem betreden.

Dus, hoe gaan de concurrenten van Ethereum om met het gasprobleem? Laten we kijken..

Slim contractontwerp in EOS: eigendomsmodel

Het Ethereum-gassysteem kan worden gezien als een huurmodel. Ethereum is een wereldwijde supercomputer, waarin u middelen (gas) huurt om uw applicatie te maken en uit te voeren.

EOS daarentegen gebruikt een eigendomsmodel. In plaats van een gedecentraliseerde supercomputer te zijn, is EOS van plan een gedecentraliseerd besturingssysteem te worden dat Dapp-ontwikkelaars kunnen gebruiken om verschillende Dapps te maken en te coderen. De EOS-tokens fungeren als een tolhuisje en als u ze vasthoudt, krijgt u toegang tot verschillende bronnen, zoals bandbreedte, berekening en RAM.

Omdat deze bronnen schaars zijn, wil EOS niet dat je hun tokens te lang vasthoudt. Het bedrijf achter EOS, Block.one, heeft in de grondwet van het platform expliciet vermeld dat EOS-leden die hun tokens drie jaar lang niet gebruiken, hun account zouden laten beëindigen.

Door EOS-tokens uit te zetten en te vergrendelen, krijgt u in ruil daarvoor een gelijkwaardige hoeveelheid bronnen in netwerk- en CPU-bandbreedte. Omdat RAM echter een schaarse bron is, krijgt u het niet automatisch door uit te zetten. Om ze te verkrijgen, moet u deze dus rechtstreeks op de RAM-marktplaats kopen.

Elke keer dat iemand RAM koopt of verkoopt, wordt een vergoeding van 0,5% in rekening gebracht aan zowel de kant van de koper als de kant van de verkoper (1% in totaal). Dit geeft gebruikers in feite een economische prikkel om hun RAM te verkopen en ontmoedigt speculatieve marketing en inflatie, aangezien de geïnde vergoedingen onmiddellijk worden verbrand (verwijderd uit het ecosysteem).

Deze interne RAM-markt zal ervoor zorgen dat er een constante beschikbaarheid van RAM is en eventuele toekomstige voorspelde tekorten compenseren. U kunt RAM kopen op basis van de prijs waarop het systeem het instelt, op basis van het momenteel beschikbare RAM-aanbod.

Door deze bronnen te kopen en te gebruiken, kunnen ontwikkelaars vervolgens gedecentraliseerde applicaties maken.

EOS-ontwikkelingskosten

In tegenstelling tot Ethereum hoeft u geen gasprijzen in EOS te betalen. U moet uw EOS-tokens inzetten om bandbreedte, CPU en opslag voor uw slimme contract te ontvangen. Samen met dit alles heb je nog steeds RAM nodig. Omdat RAM zo’n zeldzame bron is, moet u het kopen op een interne RAM-markt. Volgens EOS-bronnenplanner, RAM kost $ 0,154 USD per KiB

Laten we, met al die informatie in gedachten, eens kijken hoeveel EOS je moet inzetten om een ​​applicatie uit te voeren. Laten we aannemen dat we een aanvraag gaan maken voor 1000 gebruikers. U moet rekening houden met de volgende statistieken:

  • Betaal voor elk gebruikersaccount.
  • U moet voor hun opslag betalen
  • U moet ook rekening houden met de netwerkbandbreedte en CPU-bandbreedte die u nodig heeft.

RSK – De brug tussen Bitcoin en Ethereum – Slim contractontwerp

Rootstock (RSK) is een slim contractplatform die is verbonden met de Bitcoin-blockchain via sidechain-technologie. Rootstock is geboren om compatibel te zijn met de applicaties van Ethereum (het web3 / EVM / Solidity-model) en bitcoin als de onderliggende cryptocurrency. Het idee achter de oprichting van RSK was om de Bitcoin blockchain slimme contractfunctionaliteiten te geven. In wezen is Rootstock een combinatie van:

  • Een Turing-complete deterministische virtuele machine met resources (voor slimme contracten) die compatibel is met de EVM van Ethereum.
  • Een in twee richtingen gekoppelde Bitcoin-zijketen (voor handel in BTC-valuta) op basis van een sterke federatie
  • Een SHA256D-consensusprotocol voor merge-mining (voor consensusbeveiliging op basis van de miners van Bitcoin) met een blokinterval van 30 seconden. (voor snelle betalingen).

Met RSK kun je bouwen token bruggen die rechtstreeks verbinding maken met de Ethereum-blockchain. Dit stelt de contractontwikkelaar in staat om de voordelen van beide blockchains te benutten, maar het zorgt ook voor het creëren van een bloeiend, interoperabel ecosysteem tussen de twee.

Dus, hoe vertaalt dit zich naar gasprijzen? RSK is historisch gezien goedkoper dan Ethereum als het gaat om gaskosten.

De blauwe lijn hierboven is de gasprijs van Ethereum, terwijl de groene lijn daaronder de gasprijs van RSK is. Als je meer uitleg nodig hebt over hoeveel gasefficiënter RSK is in vergelijking met Ethereum, bekijk dan dit:

Hier is de gem. transactiekostenvergelijking van Ethereum en RSK in de afgelopen tien dagen. Dit betekent dus dat RSK niet alleen goedkoper is, maar ook de algehele beveiliging van de Bitcoin-blockchain met zich meebrengt, waardoor het een duidelijk voordeel heeft ten opzichte van zowel Ethereum als EOS..

Gevolgtrekking

Nu we een heel nieuw tijdperk van DeFi-innovatie en bredere acceptatie ingaan, hebben ontwikkelaars een platform nodig waarop ze hun applicaties efficiënt kunnen ontwikkelen. Hoewel niemand ontkent dat Ethereum een ​​first-mover is, hebben andere platforms zoals RSK zeker sterke argumenten aangevoerd als potentiële heavy hitters van de toekomst. Als we rekening houden met het feit dat slimme contracten ontwikkelen en alle soorten vervangbare tokens en niet-vervangbare tokens is een naadloos proces op RSK, ontwikkelaars hebben grote prikkels om dit slimme contractplatform te testen.

Mike Owergreen Administrator
Sorry! The Author has not filled his profile.
follow me
Like this post? Please share to your friends:
map