Back
PixelPlex

Ethereum Smart Contracts: Was sie sind und wie man sie mit Solidity einsetzt

30. November 2022

Als Ethereum im Jahr 2015 auf den Markt kam, war die Blockchain-Technologie nicht mehr neu für die Welt, aber es war die erfolgreiche Implementierung von Smart Contracts, die diese Blockchain-Plattform an die Spitze des Spiels brachte.

Das Konzept der Smart Contracts wurde erstmals von Nick Szabo in den frühen 1990er Jahren vorgeschlagen. Dieser amerikanische Informatiker und Kryptograph beschrieb Smart Contracts als “eine Reihe von Versprechen, die in digitaler Form spezifiziert sind, einschließlich der Protokolle, innerhalb derer die Parteien diese Versprechen erfüllen”.

Seine Idee wurde fast 20 Jahre später zum Leben erweckt, als die Blockchain-Technologie die Bühne betrat. Heutzutage assoziieren die meisten Menschen, die sich für die Blockchain-Technologie interessieren, Smart Contracts mit der Ethereum-Blockchain-Plattform.Die Innovation ist so erfolgreich, dass der Markt für Smart Contracts sprunghaft ansteigt. Es wird erwartet, dass er bis 2023 mit einer CAGR von 32% 300 Millionen Dollar erreichen wird. Aber was verbirgt sich hinter diesem Begriff und was bringt viele weltbekannte Unternehmen und Entwickler dazu, auf Ethereum basierende Lösungen zu implementieren und Smart Contracts zu nutzen? Lassen Sie es uns herausfinden.

Was sind Smart Contracts?

Ein Smart Contract ist eine Art Vertrag der Zukunft: Die Bedingungen der Vereinbarung zwischen den Parteien der Transaktion werden in Codezeilen geschrieben und der Smart Contract wird automatisch ausgeführt, wenn alle im Code eingebetteten Bedingungen erfüllt sind.

Nehmen wir an, Sie wollen eine Wohnung verkaufen. Ein relativ bequemer Weg wäre es, sich an ein Immobilienbüro zu wenden, das als Vermittler zwischen Ihnen und dem potenziellen Käufer agiert. Allerdings würde dieses Verfahren immer noch eine Menge Papierkram, Telefonate, Treffen im Büro und, nicht überraschend, Nervenzellen erfordern.

Stellen Sie sich vor, dass all diese Arbeit an Smart Contracts delegiert werden kann. Im Falle des Verkaufs einer Wohnung wird der Smart Contract die Vertragsbedingungen automatisch ausführen und das Eigentum geht sofort auf den Käufer über, nachdem der vereinbarte Geldbetrag an den Verkäufer überwiesen wurde.

Neben Immobilien können Smart Contracts in absolut jedem Bereich angewendet werden, in dem es Verträge und Transaktionen gibt: Bankwesen, Finanzen, Gesetzgebung, Versicherungen, Einzelhandel und so weiter. Die Welt bewegt sich allmählich in Richtung Digitalisierung, und Smart Contracts sind bereits ein integraler Bestandteil dieses Prozesses.

Anwendungsfälle für Smart Contracts

Schauen wir uns an, welche spezifischen Branchen und Unternehmen Smart Contracts bereits erfolgreich in ihrer Arbeit eingesetzt haben und wie sie ihre Arbeitsabläufe zum Besseren verändert haben.

Regierungen

Laut der Umfrage “Blockchain- und Smart-Contract-Technologie in Regierungsbehörden” führen mindestens 17 Länder Blockchain- und Smart-Contract-bezogene Projekte auf Regierungsebene durch. In den USA wird zum Beispiel ein Online-Austausch von persönlichen Gesundheitsdaten entwickelt, während in Großbritannien das Ministerium für Arbeit und Renten ein auf Blockchain-Technologie basierendes Sozialleistungssystem testet.

Es gibt noch weitere Möglichkeiten für den Einsatz von Smart Contracts in Regierungsbehörden. Sie können zum Beispiel in digitalen Währungsprojekten und elektronischen Wahlsystemen eingesetzt werden.Darüber hinaus können Wahlsysteme dank Blockchain-Lösungen mit Smart Contracts viel transparenter und sicherer werden. FollowMyVote ist eine bestehende Anwendung, die Blockchain und Smart Contracts nutzt, um den Wahlprozess vor betrügerischen Aktivitäten zu schützen. Diese Wahlsoftware kann auch bei Regierungswahlen auf der ganzen Welt eingesetzt werden.

Versicherung

Die Versicherungsbranche braucht transparente und zuverlässige Systeme, um die wachsende Zahl betrügerischer Versicherungsansprüche zu reduzieren. Eine Reihe von Unternehmen führen bereits Blockchain und Smart Contracts ein, um viele Probleme der Branche zu lösen.

Einem Bericht zufolge wird erwartet, dass der globale Markt für Blockchain in der Versicherungsbranche von 64,5 Millionen Dollar im Jahr 2018 bis 2023 mit einer CAGR von 84,9 % auf 1.393,8 Millionen Dollar anwachsen wird. Allerdings könnten der unsichere regulatorische Status und das Fehlen gemeinsamer Standards das allgemeine Marktwachstum bremsen.

Trotz einiger Einschränkungen gibt es jedoch Unternehmen, die Blockchain-basierte Versicherungslösungen ausprobieren und eingeführt haben.

Der französische Versicherungs Riese AXA hat mit Fizzy ein neues Ethereum-basiertes Versicherungsprodukt für Flugverspätungen auf den Markt gebracht. Der Zweck der Plattform ist die Speicherung und Verarbeitung von Zahlungen mit Hilfe von Smart Contracts. AXA hat erklärt, dass sie mit Hilfe von Smart Contracts den Entschädigungsprozess sowohl für Anbieter als auch für Geschädigte vereinfachen und die Beziehung zwischen dem Versicherer und dem Kunden verbessern kann.

Wie genau funktioniert das? Wenn ein AXA-Kunde eine Flugverspätungsversicherung auf der Fizzy-Plattform kauft, wird der Kauf automatisch in einem unveränderlichen Ledger registriert und ein Smart Contract auf der Blockchain erstellt. Der Smart Contract ist mit den globalen Flugverkehrs Datenbanken verknüpft. Sobald also eine Flugverspätung von mehr als zwei Stunden im System registriert wird, wird automatisch eine Entschädigung gezahlt.

Gesundheitswesen

Gesundheitssysteme auf der ganzen Welt können auf Smart Contracts zurückgreifen, um Daten zu erfassen und sicher zu übertragen. Kliniken, Ärzte und Patienten – alle Parteien können von der Implementierung der Blockchain-Technologie profitieren. Die Speicherung und sichere Überwachung elektronischer Gesundheitsdaten, eine effizientere und transparentere Verwaltung der Arzneimittelversorgung und sogar die Unterstützung von Wissenschaftlern bei der Forschung sind nur einige der Möglichkeiten, die Ethereum-basierte Lösungen bieten.EncrypGen zum Beispiel verwendet Smart Contracts, um Patientendaten auf sichere Weise zu empfangen und zu übertragen, so dass Dritte keinen Zugriff auf die Informationen haben. Die Plattform war die erste und ist bisher der einzige Blockchain-basierte freie Markt für genomische Daten in der Welt. Das Unternehmen sagt, dass es sich der Demokratisierung und Dezentralisierung der Wissenschaft verschrieben hat und es den Menschen ermöglicht, Entscheidungen zu treffen und die monetären Vorteile ihrer Beiträge zur Forschung zu ernten.

Ethereum als führende Blockchain-Plattform für die Entwicklung von dApps

Es gibt viele Blockchain-Plattformen, die es Entwicklern ermöglichen, neue dezentralisierte Anwendungen mit Smart Contracts zu erstellen, aber bisher gilt Ethereum als eine der bekanntesten und nützlichsten. Hier sind einige Fakten über diese dezentrale Software-Plattform:

  • Ethereum wurde im Jahr 2013 von Vitalik Buterin vorgeschlagen. Im Sommer 2014 starteten Buterin und andere Ethereum-Gründer eine Crowdfunding-Kampagne, bei der neue Teilnehmer eingeladen wurden, Ethereum-Token als Anteile an dem Projekt zu erwerben. Auf diese Weise sammelten die Gründer mehr als 18 Millionen Dollar und starteten die Plattform ein Jahr später.
  • Ethereum wird von seiner eigenen Kryptowährung namens Ether (ETH) angetrieben, der nächsten populären Währung nach Bitcoin. Heutzutage wird sie mit 4.269 $ pro ETH bewertet und die Marktkapitalisierung von Ethereum ist auf über 505 Milliarden $ gestiegen.
  • Ethereum war die erste Blockchain-Plattform, die die Tokenisierung von Vermögenswerten ermöglichte. Bei diesem Prozess werden reale Vermögenswerte digitalisiert und in Token umgewandelt, die dann verkauft oder an nachfolgende Besitzer übertragen werden können.

Wozu ist Ethereum in der Lage?

Ethereum wird ständig weiterentwickelt und verbessert. In den nur 6 Jahren ihres Bestehens hat sich die Plattform von einer auf weißem Papier skizzierten Idee zu einer wirklich funktionierenden Plattform mit einer breiten Palette von Funktionen und Möglichkeiten entwickelt. Werfen wir einen genaueren Blick auf einige von ihnen.

Erstellen Sie Ihre eigenen Token

Durch die Verwendung von Ethereum Smart Contracts und der Blockchain ist es möglich, handelbare Token zu erstellen, die als neue Kryptowährung verwendet werden können. Die überwiegende Mehrheit der Token wird mit der Ethereum Smart Contract-Vorlage, dem ERC-20 Token-Standard, erstellt.

Die beiden anderen wichtigen Standards sind ERC-721 und ERC-1155. Die Beliebtheit des ERC-721-Standards ist auf den jüngsten Boom bei NFTs (non-fungible tokens) zurückzuführen. Dieser Standard ermöglicht es Ihnen, Token dieser Art zu erstellen. Was ERC-1155 betrifft, so wird dieser Token-Standard verwendet, um sowohl Utility-Token als auch NFTs zu erstellen.

Entwicklung von dezentralen Anwendungen

Die Grundidee hinter Ethereum ist, dass Entwickler die Möglichkeit erhalten, Code in einem verteilten System zu erstellen und auszuführen, das in keiner Weise von außen manipuliert werden kann. Das heißt, Sie können sichere dApps erstellen und mit Anwendungen interagieren, die von anderen Nutzern auf der Ethereum-Blockchain erstellt wurden.

Fundraising

Startups, Unternehmen und Privatpersonen können Ethereum nutzen, um Crowdfunding-Plattformen aufzubauen. Über Ethereum-basierte Plattformen haben Sie Zugang zu einer Vielzahl von Investoren und können Anteile an Ihrem Unternehmen in Form von Token verkaufen und so Geld für zukünftige Projekte sammeln.

Aufbau von Online-Organisationen

Mithilfe der Ethereum-Blockchain können Sie eine Online-Organisation gründen, der Sie später neue Mitglieder hinzufügen und ihnen das Stimmrecht geben können. Wenn die Abstimmung beginnt und die Mitglieder Ihrer Organisation die im Smart Contract festgelegte Anzahl von Stimmen erhalten, wird der Vertrag automatisch ausgeführt.Mit Ethereum können Entwickler auch Spielplattformen mit integrierten ETH-Zahlungen, Kunstmarktplätze, DeFi-Lösungen, Token-Börsen, Token-Communities und so weiter erstellen.

Ethereum Smart Contracts erklärt

Die Blockchain-Technologie hat sich erheblich weiterentwickelt und ist dank der Einführung von Smart Contracts in verschiedenen Branchen weit verbreitet. Die Ethereum-Plattform hat in diesem Prozess eine unschätzbare Rolle gespielt, denn ihre Smart Contracts haben die Möglichkeiten der Technologie erheblich erweitert und für Komfort, Effizienz und größere Sicherheit der damit entwickelten Anwendungen gesorgt.

Es ist eine Tatsache, dass seit der Einführung von Ethereum die meisten Entwickler Ethereum gewählt haben, um ihre Smart Contracts zu schreiben. Aber wie genau funktioniert Ethereum mit Smart Contracts?

Virtuelle Maschine von Ethereum

Die Ethereum Virtual Machine (EVM) ist die Ausführungsumgebung für Smart Contracts in Ethereum. Für die Plattform ist die EVM also der grundlegende Konsensmechanismus.

Smart Contracts werden in der Regel in höheren Programmiersprachen wie Solidity geschrieben und dann in EVM-Bytecode kompiliert, was bedeutet, dass der Maschinencode vollständig von allen Prozessen auf dem Host-Computer isoliert ist. Jeder Knoten im Ethereum-Netzwerk startet eine EVM-Instanz, die es den Knoten ermöglicht, sich auf die Ausführung der gleichen Anweisungen zu einigen.

EVMs wurden bereits erfolgreich in verschiedenen Programmiersprachen wie JavaScript, Python, C++, Go, Ruby, Rust und anderen implementiert.

Solidity

Solidity ist zwar nicht die einzige Programmiersprache, die für das Schreiben von Smart Contracts auf Ethereum verwendet wird, aber die meisten Programmierer entscheiden sich dennoch für diese Sprache. Solidity wurde ursprünglich im Jahr 2014 vorgeschlagen und dann vom Ethereum-Projektteam speziell für die Erstellung von Smart Contracts auf der Ethereum-Blockchain-Plattform entwickelt. Solidity wird auch in anderen privaten Blockchains verwendet, die auf Plattformen laufen, die mit Ethereum konkurrieren.

Gas

Erinnern wir uns daran, wie ein normales Auto funktioniert – es fährt einfach nicht ohne Benzin. Smart Contracts funktionieren auf die gleiche Weise: Verträge legen die Menge an Benzin fest, die die Nutzer zahlen müssen, damit sie funktionieren, und wenn nicht genug Benzin vorhanden ist, wird der Vertrag ausgesetzt.

Der Gaspreis kann in Abhängigkeit von der Komplexität des Vertrags und der Überlastung des Netzwerks variieren: Wenn das Netzwerk überlastet ist und viele Nutzer Transaktionen senden, steigt der durchschnittliche Gaspreis, bei geringer Aktivität fällt er. Ein weiterer wichtiger Vorteil von Gas ist der Schutz des EVM vor potenziellen Angriffen, die das gesamte System ausbremsen können.

Einsatz von Ethereum Smart Contracts mit Solidity (Beispiel mit Kovan Testnet)

Damit ein Smart Contract den Nutzern des Ethereum-Netzwerks zur Verfügung steht, muss er bereitgestellt werden. Wir haben eine Schritt-für-Schritt-Anleitung erstellt, die Entwicklern hilft, Ethereum Smart Contracts auf einfachste Weise einzusetzen.

1. Truffle einrichten

npm install -g truffle

Erstellen Sie ein leeres Repository, wechseln Sie dorthin und dann

truffle init

HDWalletProvider installieren

npm install –save @truffle/hdwallet-provider

2. Erstellen Sie Ihren Vertrag

Erstellen Sie in ./contracts einen neuen Vertrag namens Example.sol mit dem folgenden Code:

// SPDX-License-Identifier: MIT pragma solidity >=0.4.22 <0.9.0;
contract Example {   function getString() public pure returns (string memory) {return “string”;   } }

3. Setzen Sie Ihren Vertrag ein

Erstellen Sie in ./migrations ein Deployment-Skript namens 2_deploy_contracts.js mit dem folgenden Code:

const Example = artifacts.require(“HelloWorld”); module.exports = (deployer) => {   deployer.deploy(Example,”hello”);};

4. Konfigurieren Sie das Kovan Netzwerk und den Provider

Fügen Sie in der Datei truffle-config.js den folgenden Abschnitt in der Datei module.exports ein:

var HDWalletProvider = require(“@truffle/hdwallet-provider”); const MNEMONIC = ‘YOUR WALLET KEY’; 
module.exports = {  networks:{    development:{      host:”127.0.0.1″,      port:8545,      network_id:”*”    },    kovan: {      provider: () =>new HDWalletProvider(MNEMONIC, “wss://kovan.infura.io/ws/v3/YOUR_API_KEY”)      },      network_id:42,      gas:4000000,      skipDryRun: true,    }  }};

Stellen Sie sicher, dass Sie MNEMONIC und API_KEY durch Ihre eigenen ersetzen.

Sicherheitshinweis: Vergessen Sie nicht, die Datei, die Ihr Wallet-Mnemonic enthält, mit .gitignore zu versehen!

Verteilen (oder migrieren) Sie nun Ihren Vertrag auf Kovan wie folgt. Standardmäßig stellt Truffle nur für das lokale Entwicklernetzwerk bereit.

truffle migrate –network kovan

Sie sollten ein Konsolenprotokoll wie folgt sehen:

Compiling your contracts…===========================> Everything is up to date, there is nothing to  compile.

Starting migrations…======================> Network name:   ‘kovan’> Network id:     42> Block gas limit: 12500000 (0xbebc20)   2_deploy_contracts.js=====================    Deploying ‘Example’   ——————-   > transaction hash:  0x65f54c156d5f10e6b140fa99bda7dc3b1de4327c894667805e9d54175734b04d   > Blocks: 2           Seconds: 12   > contract address:  0xB82262a6a26a1a64C31D1ddbEd75d66B96f6d6Ea   > block number:      24123722   > block timestamp:   1617280572   > account:            0x7c7CBF06b87a8e349f45dAB1FE7bb813E3bDe849   > balance:            1.190678937095346919   > gas used:           114721 (0x1c021)   > gas price:         20 gwei   > value sent:        0 ETH   > total cost:        0.00229442 ETH    > Saving migration to chain.   > Saving artifacts   ————————————-   > Total cost:        0.00229442 ETH Summary=======> Total deployments:   2> Final cost:        0.00613304 ETH

5. Zugriff auf Ihren bereitgestellten Vertrag

Verbinden Sie Ihre Truffle-Konsole mit dem Kovan-Netzwerk:

truffle console –network kovan

Greifen Sie auf Ihre eingesetzte Vertragsinstanz über zu:

Example.deployed();

Oder Sie können die Instanz über ihre öffentliche Adresse abrufen:

web3.eth.contract(Example.abi, contractAddress);

wobei Example.abi die lokal kompilierte abi ist und contractAddress Ihre öffentlich bereitgestellte Vertragsinstanz ist.

6. Rufen Sie schließlich die Vertragsfunktion auf und sagen Sie „Hallo“!

Example.deployed().then(instance => instance.getString());

Nun ist die Arbeit getan!

Fazit

Ethereum hat sich in kürzester Zeit zu einer unverzichtbaren Plattform für technikbegeisterte Unternehmen und Entwickler entwickelt. Heute werden auf der Grundlage der Ethereum-Blockchain eine immense Anzahl dezentraler Anwendungen erstellt, bei denen Smart Contracts eine wichtige Funktion sind.

Ethereum-basierte Anwendungen verfügen über ein offenes, transparentes und rechenschaftspflichtiges Umfeld und können die Notwendigkeit, sich an Vermittler zu wenden, vollständig beseitigen. Diese dApps werden in verschiedenen Branchen eingesetzt, von Finanzen und Crowdfunding bis hin zu Versicherungen, Immobilien und dem Gesundheitswesen.

Die erfolgreiche Umsetzung zahlreicher Projekte beweist, dass Ethereum und seine Smart Contracts keine vorübergehende Innovation sind, sondern sich weiterentwickeln und zur neuen Norm in den meisten Bereichen unseres Lebens werden. Lassen Sie uns also die Blockchain-Innovation nicht auf die lange Bank schieben. Leisten Sie stattdessen einen Beitrag zur Entwicklung dieser Technologie und beginnen Sie jetzt mit einer positiven Veränderung Ihres Unternehmens.

Wir bei PixelPlex haben jahrelange Erfahrung in der Entwicklung von Blockchain-Lösungen, einschließlich Ethereum-basierter Plattformen. Wenden Sie sich an unsere Smart-Contract-Entwickler, die Sie bei Ihrem zukünftigen Projekt beraten und die sicherste und effizienteste dezentrale Anwendung entwickeln, die perfekt auf Ihre Geschäftsanforderungen zugeschnitten ist.

Erhalten Sie Updates zu Blockchain, Technologien und unserem Unternehmen
Folgen Sie uns in den sozialen Netzwerken und verpassen Sie nicht die neuesten Tech-News
Bleiben Sie dran und steigern Sie den Wert Ihres Feeds.

Kontaktiere uns

Wir lieben spannende Partnerschaften rund um den Globus. Falls Sie auf der Suche nach einem vertrauenswürdigen ausgelagerten Team sind, das Ihre Chatbot-Idee zum Leben erweckt – hinterlassen Sie uns eine Nachricht, wir rufen so schnell wie möglich für ein Gespräch zurück.

Indem Sie auf „Nachricht senden“ klicken, stimmen Sie den Datenschutz- und Cookie-Richtlinien von PixelPlex zu.

Nachricht senden