Das Interesse an der Blockchain-Technologie ist in den letzten Jahren enorm gestiegen. Blockchain ist ein kryptographisch gesichertes verteiltes Register. Eine der beliebtesten Blockchain-Anwendungen ist die Kryptowährung Bitcoin. Bitcoin verwendet Blockchain, um Kryptowährungstransfertransaktionen von einem Benutzer zu einem anderen aufzuzeichnen. Blockchain hat jedoch noch viele weitere Anwendungsbereiche. Mit dem Aufkommen der Blockchain-Technologie nahm das bereits 1994 vorgeschlagene Konzept eines Smart Contracts eine konkrete Form und Umsetzung an.
Ein Smart Contract ist eine in maschinenlesbarer Sprache verfasste Vereinbarung zur späteren Ausführung. Auf der Blockchain veröffentlichte Smart Contracts ermöglichen es Benutzern, zu interagieren, ohne sich gegenseitig vertrauen zu müssen. Eine der beliebtesten Plattformen für die Implementierung von Smart Contracts ist Ethereum. Ethereum garantiert die Unmöglichkeit, den Endzustand des Netzwerks nach der Ausführung einer Logik des Smart Contracts zu ändern, und seine Ausführung wird genau der Logik entsprechen, die ursprünglich darin geschrieben wurde. Leider kann die korrekte Ausführung des Vertragscodes seine vollständige Sicherheit nicht garantieren. Die Analyse bestehender Smart Contracts zeigt, dass ein Großteil der bestehenden Smart Contracts anfällig ist.
Die Blockchain-Plattform von Ethereum ermöglicht es ihren Benutzern, Prozesse unterschiedlicher Komplexität zu implementieren, da es sich um eine programmierbare Plattform handelt. Die Programmierbarkeit dieser Plattform beruht auf der Möglichkeit, eine eigene Logik der Interaktion zwischen Benutzern in Form von Smart Contracts zu schreiben. Der Code für diese Verträge wird in einem verteilten Register gespeichert und von der virtuellen Ethereum-Maschine ausgeführt, die den Kern dieser Blockchain-Plattform bildet. Falls Sie aber von Kryptohandel profitieren möchten, dann brauchen Sie solchen Handelsplattformen wie Bitiq Ihre Aufmerksamkeit schenken.
Wie alle Blockchain-Plattformen funktioniert die Ethereum-Plattform dank der Knoten im Netzwerk, die die für diese Plattform entwickelte Software verwenden. Im Fall der Ethereum-Plattform ist diese Software die Ethereum Virtual Machine (EVM). EVM kann als Ethereum-Vertragsausführungsumgebung bezeichnet werden, da es die EVM ist, die ihren Code ausführt. Die virtuelle Maschine von Ethereum ist vollständig vom globalen Netzwerk isoliert, was nicht nur einen erheblichen Beitrag zur Sicherheit leistet, sondern es Ihnen auch ermöglicht, Smart Contracts lokal zu erstellen und zu testen.
Die Hauptaufgabe der EVM besteht darin, den Smart-Contract-Code auszuführen. Allerdings arbeitet EVM nicht mit Hochsprachencode, sondern mit dem sogenannten EVM-Bytecode, in den der Vertragsquellcode vorkompiliert wird. Der EVM-Bytecode wird im Register gespeichert. Dieser Bytecode ist ein Hex-String, der Opcodes und Operanden darstellt.
Jeder Knoten im Ethereum-Netzwerk führt die gleichen Berechnungen durch und speichert die gleichen Werte. Diese Redundanz ermöglicht es Ihnen, innerhalb des Netzwerks einen Konsens zu erzielen, ohne auf vertrauenswürdige Dritte zurückgreifen zu müssen. Diese Redundanz ist jedoch auch der Grund dafür, dass die Ausführung dieser Berechnungen sehr ressourcenintensiv wird. Um Knoten zu motivieren, solche Berechnungen im Ethereum-Netzwerk durchzuführen, gibt es ein Konzept der Zahlung für Berechnungen: Jede durchgeführte Operation hat ihre eigenen spezifischen Kosten (gas’а).
Bei der Zusammenstellung jeder Transaktion werden die Felder STARTGAS und GASPRICE einbezogen, die die maximale gas’а und den Preis für jede gas’а- Einheit bestimmen, die der Initiator der Transaktion zu zahlen bereit ist. Somit ist die Zahlung (oder Provision) für die Ausführung des durch die Transaktion angegebenen Codes das Produkt der beiden oben genannten Werte. Wenn jedoch beim Ausführen des Codes gas’а aus sein wird, bevor alle Operationen abgeschlossen sind, wird eine Ausnahme ausgelöst, daher wird die Ausführung unterbrochen und alle Änderungen werden abgebrochen. Beachten Sie auch, dass bei einer anderen Ausnahme das gesamte zum Zeitpunkt der Erzeugung verbleibende gas’а zusammengebrochen wird, d.h. nicht an den Initiator zurückgesendet. Es ist zu beachten, dass je höher die Gebühr in der Transaktion angegeben wird, desto wahrscheinlicher ist es, eine solche Transaktion in einen Block aufzunehmen.
Somit garantiert das Zahlungskonzept für die Codeausführung erstens eine Belohnung für den die Transaktion ausführenden Knoten, schützt das Netzwerk vor DoS-Angriffen und löst zweitens das Problem, bei dem die Ausführung von Smart Contract Code unendlich sein kann.