Smart Contract Design in Times of Congested Networks

Updated on: August 12th, 2020
This content has been Fact-Checked.
Smart Contract Design in Times of Congested Networks

Lassen Sie uns in diesem Artikel verstehen, was Ethereumgas bedeutet und warum es in letzter Zeit in die Höhe gekippt ist. Danach werden wir sehen, wie andere Smart Contract Plattformen wie RSK und EOS mit Gaspreisen umgehen, wenn es um Smart Contract Design geht.

Ethereum hat ein Gasproblem. So lustig es auch klingen mag, wir können Ihnen versichern, dass Entwickler alles tun, als über diese Aussage zu lachen.

Die wachsende Nachfrage nach DeFi (dezentrale Finanz-) Anwendungen hat die Staus auf der wichtigsten Ethereum-Blockchain erhöht. Dies hat wiederum die Gaspreise auf der Hauptkette erschossen. Laut Bitinfocharts haben sich die Mediantransaktionsgebühren seit Anfang 2018 auf den höchsten Stand gebracht.

Smart Contract und Ethereum Virtual Machine (EVM)

Smart Contracts sind automatisierte Verträge. Sie werden selbst ausgeführt mit spezifischen Anweisungen, die auf ihren Code geschrieben sind, die ausgeführt werden, wenn bestimmte Bedingungen gemacht werden.

Mehr über Smart Contracts erfahren Sie in unserem ausführlichen Leitfaden hier.

Intelligente Verträge sind, wie Dinge im Ethereum-Ökosystem gemacht werden. Wenn jemand eine bestimmte Aufgabe in Ethereum erledigen möchte, initiieren sie einen intelligenten Vertrag mit einer oder mehreren Personen.

Smart Contracts sind eine Reihe von Anweisungen, die mit der Programmiersprache „Solidity“ geschrieben wurden, die auf der IFTTT-Logik basiert, auch bekannt als IF-THIS-THEN-THAS Logik. Grundsätzlich, wenn der erste Satz von Anweisungen ausgeführt wird, dann führen Sie die nächste Funktion und danach die nächste und wiederholen Sie weiter, bis Sie das Ende des Vertrags erreichen.

Dies ist das Kernprinzip hinter Smart Contracts. Dies ermöglicht es uns, eine verbindliche Vereinbarung zwischen mehreren Parteien zu haben, die durch Code überwacht werden, anstatt eines Dritten, wie ein Anwalt.

Was ist die virtuelle Maschine von Ethereum?

Virtuelle Maschinen von Ethereum sind Ökosysteme, in denen Sie intelligente Verträge ausführen. Richtige Smart Contract-Funktionalität erfordert drei wesentliche Dinge:

Deterministisch.

Abschließbar.

Isoliert.

Feature #1: Deterministisch

Ein Programm ist deterministisch, wenn es die gleiche Ausgabe an einen gegebenen Eingang jedes Mal gibt. ZB. Wenn 3+1 = 4, dann wird 3+1 IMMER 4 sein (unter der Annahme der gleichen Basis). Wenn also ein Programm die gleiche Ausgabe an den gleichen Satz von Eingängen in verschiedenen Computern gibt, wird es deterministisch genannt.

Feature #2: Terminable

In der mathematischen Logik haben wir einen Fehler namens „Anhalten Problem“. Grundsätzlich heißt es, dass es eine Unfähigkeit gibt zu wissen, ob ein bestimmtes Programm seine Funktion in einer Zeitbegrenzung ausführen kann oder nicht. Dies ist natürlich ein Problem bei intelligenten Verträgen, da Verträge per Definition in der Lage sein müssen, innerhalb einer bestimmten Frist zu kündigen. Intelligente Verträge brauchen eine Umgebung, in der sie einen Haltemechanismus integrieren können.

Feature #3: Isoliert

In einer Blockchain kann jeder und jeder einen Smart Contract hochladen. Aus diesem Grund können die Verträge jedoch wissentlich und unwissentlich Viren und Bugs enthalten. Wenn der Vertrag nicht isoliert ist, kann dies das gesamte System behindern. Daher ist es von entscheidender Bedeutung, dass ein Vertrag in einer Sandbox isoliert gehalten wird, um das gesamte Ökosystem vor schädlichen Auswirkungen zu schützen.

Ethereum bietet all diese Funktionalitäten über das EVM. Es ist eine einfache, aber leistungsstarke Turing Complete 256-Bit-virtuelle Maschine.

Was ist Ethereum Gas?

Gas ist eine Einheit, die den Umfang des Rechenaufwands misst, den es benötigt, um bestimmte Operationen auszuführen. Alle Smart Contracts, die im EVM laufen, werden mit Solidität codiert (Ethereum plant, von Solidity in der Zukunft zu Viper zu wechseln.) Jede Codezeile in Solidität erfordert eine bestimmte Menge an Gas, um berechnet zu werden.

Das Bild unten wurde von der Ethereum Yellowpage entnommen und kann verwendet werden, um eine grobe Vorstellung davon zu gewinnen, wie viel spezifische Anweisungen gasweise kosten.

Bild mit freundlicher Genehmigung: Ethereum Gelbes Papier

Um besser zu verstehen, wie Gas in Ethereum funktioniert, verwenden wir eine Analogie. Angenommen, Sie gehen auf einen Roadtrip. Bevor Sie dies tun, gehen Sie durch die folgenden Schritte:

Sie gehen zur Tankstelle und geben an, wie viel Gas Sie in Ihrem Auto tanken möchten.

Du bekommst das Gas in deinem Auto.

Du bezahlst der Tankstelle die Menge an Geld, die du ihnen für das Gas schuldest.

Zeichnen wir Parallelen zu Ethereum.

Das Auto ist die Operation, die Sie ausführen möchten, wie ein Gas oder ein intelligenter Vertrag.

Das Gas ist gut... Gas.

Die Tankstelle ist Ihr Bergmann.

Das Geld, das Sie ihnen bezahlt haben, sind die Bergbaugebühren.

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

Um seine Daten auch als intrinsisches Gas zu decken.

Um die gesamte Berechnung abzudecken.

Nun, da wir die nackten Grundlagen behandelt haben, stellen Sie vielleicht die folgende Frage.

Warum haben wir dieses Gassystem?

Die Antwort ist einfach... Anregung.

Wie jedes Peer-to-Peer-System ist Ethereum stark von der Hashrate ihrer Bergleute abhängig. Mehr die Bergleute, mehr Hashrate, sicherer und schneller das System.

Um mehr Bergleute in das System anzuziehen, müssen sie das System so profitabel und verführerisch wie möglich für die Bergleute machen. In Ethereum gibt es zwei Möglichkeiten, wie Bergleute Geld verdienen können:

Indem Sie Blöcke abbauen und Blockbelohnungen erhalten.

Indem sie temporäre Diktatoren ihrer abgebauten Blöcke werden.

Lassen Sie uns den zweiten Punkt erkunden.

Die Bergarbeiter sind dafür verantwortlich, Transaktionen in ihre Blöcke zu bringen. Dazu müssen sie ihre Rechenleistung nutzen, um Smart Contracts zu validieren. Das Gassystem ermöglicht es ihnen, dafür eine bestimmte Gebühr zu berechnen.

Diese Gebühr wird als die Bergarbeiter-Gebühr bekannt und hilft ihnen, sie genug anzurecken, um aktiv am Ökosystem teilzunehmen.

Also, wie viel Gebühren können sie berechnen? Bevor wir berechnen können, dass lassen Sie uns verstehen, wie wir Gas messen.

Die kleinste Einheit der Gasmessung ist wei. Also, wenn wir 1 Gaseinheit während einer Operation ausgeben, nennen wir es 1 wei.

Die Maßeinheiten erhöhen sich wie folgt:

Bildquelle: Steemit

Bevor wir weiter gehen, ist es wichtig, das Konzept von Gas Limit zu kennen.

Was ist Gas Limit?

Um eine Operation in Ethereum zu erledigen, muss der Operationsgenerator (d. h. die Person, die die Transaktion initiiert oder der Smart Contract-Schöpfer) eine Gasgrenze angeben, bevor er es an die Bergleute übermittelt. Wenn ein Gasgrenzwert definiert wurde, beginnen die Bergleute erst dann mit der Ausführung des Betriebs.

Bei der Einreichung eines Gasgrenzwerts sind folgende Punkte zu berücksichtigen:

Verschiedene Operationen haben unterschiedliche Gaskosten (wie bereits gezeigt).

Die Bergleute werden aufhören, in dem Moment, in dem das Gas ausläuft, auszuführen.

Wenn noch Gas übrig ist, wird es sofort an den Betriebsgenerator zurückerstattet.

Lassen Sie uns dies in Betrieb in einem hypothetischen Szenario sehen.

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, diese Operation kostet 45 wei Gas.

Hinzufügen von zwei Variablen, sagen wir, das kostet 10 wei Gas.

Speichern des Ergebnisses, das wiederum 45 wei Gas kostet.

Angenommen, die Gasgrenze beträgt 120 wei.

Das gesamte Gas, das vom Bergmann verwendet wird, ist (45+10+45) 100 wei.

Die Gebühren, die ihnen unter der Annahme, 1 wei kostet 0,02 micro ETH ist (100*0,02 micro ETH) = 0,000002 ETH.

Nun, wie viel Gas bleibt übrig?

120 — 100 = 20 wei.

Die 20 wei wird an den Betriebsgenerator zurückerstattet.

Nachdem das angegeben wurde, gibt es zwei Szenarien, die man berücksichtigen muss:

Der Gasgrenzwert ist zu niedrig.

Der Gasgrenzwert ist zu hoch.

Szenario #1: Der Gasgrenzwert ist zu niedrig

Wenn eine Operation das Gas ausläuft, wird sie in ihren ursprünglichen Zustand zurückversetzt, als ob nichts tatsächlich passiert ist. Der Betriebsgenerator muss jedoch den Bergleuten die Gebühr für ihre Rechenkosten zahlen und der Vorgang wird zur Blockchain hinzugefügt (auch wenn er nicht ausgeführt wurde).

Zurück zu unserer Road-Trip-Analogie, wenn Sie nicht genug Gas in Ihrem Auto gefüllt haben, dann werden Sie nicht in der Lage sein, Ihr Ziel zu erreichen, aber selbst dann haben Sie die Tankstelle das Geld für den Kraftstoff bezahlt?

Mal sehen, wie das in unserem hypothetischen Zusatz Smart Contract funktioniert. Der Schritt war:

Speichern von 10 in einer Variablen. Nehmen wir an, diese Operation kostet 45 wei Gas.

Hinzufügen von zwei Variablen, sagen wir, das kostet 10 wei Gas.

Speichern des Ergebnisses, das wiederum 45 wei Gas kostet.

Diesmal beträgt die Gasgrenze jedoch 90 wei.

Jetzt wissen wir, dass das Gas, das für die Erfüllung des Vertrags benötigt wird, 100 wei, aber wir haben nur 90 wel Grenze.

In diesem Szenario wird der Bergarbeiter 90 wei Rechenwert machen und dann die Betriebsgeneratorgebühren für die 90 wei berechnen, die sich herausstellt (90 * 0,02 micro ETH) 0,000018 ETH.

Außerdem kehrt der Vertrag in seinen ursprünglichen Zustand zurück und wird der Blockchain hinzugefügt.

Szenario #2: Das Gaslimit ist zu hoch

Was ist, wenn wir die Gasgrenze zu hoch setzen?

Das wäre sinnvoll, richtig zu machen? Nachdem alles, was übrig bleibt, an den Betriebsgenerator zurückerstattet wird, oder?

Das klingt gut auf dem Papier, aber es funktioniert in Wirklichkeit nicht so gut. Sie müssen sich daran erinnern, dass jeder Block auf Ethereum eine Gesamtgasgrenze hat. Bergleute können nur Operationen hinzufügen, die kleiner oder gleich der Blockgasgrenze sind.

Bild mit freundlicher Genehmigung: Hackernoon

Angenommen, es gibt eine Transaktion A, die eine Gasgrenze von 42.000 und zwei Transaktionen B und C hat, die normale Grenzwerte von 21.000 haben.

Was macht mehr Sinn für einen Bergmann, um in seinen Block zu setzen?

Werden sie Transaktion A eintragen und eine riesige Menge an Gas zurückerstatten?

Oder werden sie Transaktionen B und C setzen und wenig zu nichts zurückerstatten?

Der zweite Punkt macht mehr Sinn für sie wirtschaftlich richtig?

Genau deshalb ist es nicht sinnvoll, einen aufgeblähten Gasgrenzwert zu haben.

Hoch- und Niedriggas vs High und Low Fee

Es sollte dir bisher klar sein, dass Gas und Äther nicht dasselbe sind. Gas ist die Menge an Rechenleistung, die benötigt wird, während Ether der Preis auch bekannt als die GEBÜHREN ist, die man für dieses Gas bezahlen muss.

Jetzt mit dem Wissen über alles, was wir bisher erhalten haben, gehen wir durch bestimmte Gas- und Gebührenszenarien.

Wenn eine Operation LOW Gas hat, dann werden die Bergleute es nicht einmal aufnehmen, weil es nicht genug Gas hat, um die Berechnung abzuschließen.

Wenn eine Operation niedrige Gebühren hat, dann könnte es gerade genug Gas haben, um es zu decken, aber immer noch werden die Bergleute nicht an den Bits hacken, um es zu holen, weil eine Operation mit niedrigen Gebühren für sie nicht wirtschaftlich rentabel ist.

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

Wenn eine Operation HOHE Gebühren hat, dann wissen die Bergleute, dass sie eine Menge Geld verdienen und es sofort abholen werden.

Die empfohlenen Gaspreise für unterschiedliche Transaktionsgebühren laut ethgasstation sind:

Steigende Preise für Ethereum Gas

Die Ethereum-Blockchain hat in letzter Zeit eine erhöhte Nutzung gesehen. Dies liegt an der Zunahme der Nutzung von komplizierteren Smart Contracts.

Laut Ethereum-Tankstelle sind Stablecoins wie USDT und dezentrale Börsen wie Uniswap die gashungrigen Smart Contracts im Raum. Diese erhöhte Nutzung fordert Benutzer dazu auf, höhere Gebühren zu zahlen, um ihre Transaktionen schneller abwickeln zu können. Wenn es viel Aktivität gibt, können sich die Gebührentarife schnell nach oben bewegen.

Um zu verstehen, wie drastisch die Situation ist, betrachten Sie dies. Laut Coin Metrics sind die durchschnittlichen Kosten pro Transaktion zu einem Zeitpunkt auf einen 7-Tage-Durchschnitt von etwa 91 Cent gestiegen, von etwa 8 Cent zu Beginn des Jahres 2020. Der Connor Abendschein von Digital Assets Data stellt fest:

„Ab sofort halten hohe Gasgebühren kleinere Spieler davon ab, an einigen der interessantesten Protokolle von DeFi, wie Synthetix, teilnehmen zu können.“

Das ist eine absolute Schande, denn Ethereum und DeFi sollen ein offenes und leicht zugängliches globales Finanzsystem aufbauen.

Das Schlimmerste ist, dass sich dieses Problem nur noch verschlimmern wird, wenn kompliziertere DeFi-Protokolle und Benutzer in das Ökosystem gelangen.

Also, wie gehen Ethereums Konkurrenten mit dem Gasproblem um? Werfen wir einen Blick..

Smart Contract Design in EOS: Ownership Model

Das Ethereum Gassystem kann als Mietmodell betrachtet werden. Ethereum ist ein globaler Supercomputer, bei dem Sie Ressourcen (Gas) mieten, um Ihre Anwendung zu erstellen und auszuführen.

EOS hingegen verwendet ein Eigentümermodell. Anstatt ein dezentralisierter Supercomputer zu sein, plant EOS, ein dezentrales Betriebssystem zu werden, mit dem Dapp Entwickler verschiedene Dapps erstellen und codieren können. Die EOS-Token fungieren als Mautstelle, und wenn Sie sie halten, erhalten Sie Zugriff auf verschiedene Ressourcen wie Bandbreite, Berechnung und RAM.

Da diese Ressourcen knapp sind, möchte EOS nicht, dass Sie ihre Token zu lange festhalten. Das Unternehmen hinter EOS, Block.one, hat in der Plattformkonstitution explizit erwähnt, dass EOS-Mitglieder, die ihre Token drei Jahre lang nicht verwenden, ihr Konto kündigen würden.

Durch das Abstecken und Sperren von EOS-Token erhalten Sie im Gegenzug eine entsprechende Menge an Ressourcen in Netzwerk- und CPU-Bandbreite. Da RAM jedoch eine knappe Ressource ist, erhalten Sie es nicht automatisch durch Abstecken. Um sie zu erhalten, müssen Sie es direkt vom RAM-Marktplatz kaufen.

Jedes Mal, wenn jemand RAM kauft oder verkauft, wird eine Gebühr von 0,5% sowohl auf die Seite des Käufers als auch auf die Seite des Verkäufers erhoben (insgesamt 1%). Dies gibt Nutzern tatsächlich einen wirtschaftlichen Anreiz, ihren RAM zu verkaufen und schreckt spekulatives Marketing und Inflation ab, da die gesammelten Gebühren sofort verbrannt werden (aus dem Ökosystem entfernt).

Dieser interne RAM-Marktplatz wird sicherstellen, dass eine konstante Verfügbarkeit von RAM besteht und zukünftige prognostizierte Engpässe kompensieren. Sie können RAM basierend auf dem Preis kaufen, auf dem das System es festlegt, basierend auf der derzeit verfügbaren RAM-Versorgung.

Durch den Kauf und die Nutzung dieser Ressourcen können Entwickler dann dezentrale Anwendungen erstellen.

EOS Entwicklungskosten

Im Gegensatz zu Ethereum müssen Sie keine Gaspreise in EOS bezahlen. Sie müssen Ihre EOS-Token verwenden, um Bandbreite, CPU und Speicher für Ihren Smart-Vertrag zu erhalten. Zusammen mit all dem benötigen Sie immer noch RAM. Da RAM eine so seltene Ressource ist, müssen Sie es von einem internen RAM-Marktplatz kaufen. Laut EOS Resource Planner kostet RAM 0,154 USD pro KiB

Also, mit all diesen Informationen im Hinterkopf, lassen Sie uns sehen, wie viel EOS Sie verwenden müssen, um eine Anwendung auszuführen. Nehmen wir an, dass wir eine Anwendung für 1000 Benutzer erstellen werden. Sie müssen die folgenden Metriken berücksichtigen:

Bezahlen Sie für jedes Benutzerkonto.

Sie müssen für ihre Lagerung bezahlen

Sie müssen auch die Netzwerkbandbreite und die CPU-Bandbreite berücksichtigen, die Sie ebenfalls benötigen.

RSK - Die Brücke zwischen Bitcoin und Ethereum - Smart Contract Design

Rootstock (RSK) ist eine intelligente Vertragsplattform, die über Sidechain-Technologie mit der Bitcoin-Blockchain verbunden ist. Rootstock wurde geboren, um mit Ethereums Anwendungen (dem WEB3/EVM/Soliditätsmodell) und Bitcoin als zugrunde liegende Kryptowährung kompatibel zu sein. Die Idee hinter der Schaffung von RSK war es, die Bitcoin-Blockchain-Smart-Contract-Funktionalitäten zu geben. Im Kern ist Rootstock eine Kombination aus:

Eine von Turing komplette ressourcenbilanzierte deterministische virtuelle Maschine (für intelligente Verträge), die mit Ethereums EVM kompatibel ist.

Eine bidirektionale Pegged Bitcoin Sidechain (für BTC lautenden Handel) basierend auf einer starken Föderation

Ein SHA256D Merge-Mining-Konsensprotokoll (für Konsenssicherheit, die sich auf Bitcoins Bergleute stützt) mit 30-Sekunden-Blockintervall. (für schnelle Zahlungen).

RSK ermöglicht es Ihnen, Tokenbrücken zu bauen, die sich direkt mit der Ethereum-Blockchain verbinden. Dies ermöglicht es dem Vertragsersteller, die Vorteile beider Blockchains zu nutzen, aber es ermöglicht auch die Schaffung eines florierenden, interoperablen Ökosystems zwischen den beiden.

Also, wie übersetzt das zu Gaspreisen? RSK war historisch günstiger als Ethereum, wenn es um Gaskosten geht.

Die blaue Linie oben ist der Gaspreis von Ethereum, während die grüne Linie unten weit unten der Gaspreis von RSK ist. Wenn Sie mehr Klarheit darüber benötigen, wie viel gaseffizienter RSK im Vergleich zu Ethereum ist, dann schauen Sie sich Folgendes an:

Hier ist der durchschnittliche Transaktionskostenvergleich von Ethereum und RSK in den letzten zehn Tagen. Das bedeutet also, dass RSK nicht nur billiger ist, sondern auch die allgemeine Sicherheit der Bitcoin-Blockchain einbringt und ihr einen deutlichen Vorteil gegenüber Ethereum und EOS verschafft.

Schlussfolgerung

Da wir in eine völlig neue Ära der DeFi-Innovation und der breiteren Akzeptanz eintreten, benötigen Entwickler eine Plattform, auf der sie ihre Anwendungen effizient entwickeln können. Während niemand bestreitet, dass Ethereum ein First-Mover ist, haben andere Plattformen wie RSK definitiv starke Fälle als potenzielle schwere Hitter der Zukunft gemacht. Wenn wir die Tatsache berücksichtigen, dass die Entwicklung intelligenter Verträge und alle Arten von fungiblen Token und nicht fungibelbaren Token ein nahtloser Prozess auf RSK ist, haben Entwickler große Anreize, diese intelligente Vertragsplattform zu testen.

Rajarshi Mitra
Rajarshi started writing in the blockchain space after listening to Andreas Antonopoulos’ podcast with Joe Rogan. A content generating machine, Rajarshi has been consistently producing high-quality guides and articles for us since late 2016. His articles have been shared extensively in social media and several start-ups have used his guide as learning material for their staff. He is continuously invited all over his country to give talks in various crypto seminars and conferences. He has gained a solid reputation as a speaker/educator on top of being one of the most promising writers in the crypto space. When he is not busy nerding out over the latest in the blockchain/crypto space, he is usually busy watching re-runs of top gear and MMA.

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

1,102
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

Already have an account? Sign In