Was sind Smart Contracts? Definition und Erklärung

Was sind Smart Contracts?

Smart Contracts, im Deutschen als intelligente Verträge bezeichnet, sind elektronische Verträge, die auf einem Computerprogramm basieren und Abläufe im Geschäftsleben rechtssicher automatisieren, auch zwischen Partnerunternehmen. Smart Contracts bauen auf der Blockchain-Technologie auf und nutzen die Vorteile dieser Technologie, wie zum Beispiel Transparenz, Fälschungssicherheit und Verfügbarkeit.

Smart Contracts sind vergleichbar mit herkömmlichen Verträgen, wie sie beispielsweise beim Kauf eines Autos oder bei der Annahme eines Jobs abgeschlossen werden. Häufig werden Smart Contracts bei Lieferketten, sogenannten Supply Chains, eingesetzt, um den Warenverkehr zwischen Partnerunternehmen zu steuern, automatische Bestellungen und damit auch automatische Bezahlungen durchzuführen.

Auch im Internet of Things (IoT), dem Internet der Dinge, werden Smart Contracts eingesetzt, um automatische Transaktionen von Endgeräten abzuwickeln. Im IoT sind verschiedene Geräte über das Internet miteinander vernetzt. Dabei kann es sich um Fahrzeuge, Geräte, Überwachungskameras, Sensoren und andere Maschinen handeln, die miteinander kommunizieren und Daten austauschen. Um den Datenaustausch zu steuern, können auch Smart Contracts genutzt werden. Das ermöglicht automatisierte Kaufverträge und Abrechnungen mit Smart Contracts und die Verwaltung der IoT-Geräte, inklusive der Transaktionen.

Mit Bitcoinj lassen sich Wallets für Smartphones entwickeln

Smart Contracts sind, einfach ausgedrückt, Computerprogramme. Sie kosten weniger Geld und arbeiten effizienter, als manuelle Abläufe und Verträge im Unternehmen, zum Beispiel um Bestellungen auszulösen und den Warenverkehr zu überwachen. In Blockchains kommen häufig dezentralisierte Apps (dApps) zum Einsatz, die sich nicht mit einem Server-Dienst verbinden, sondern auf den Nodes der Teilnehmer im Blockchain-Netzwerk laufen.

dApps sind Apps, die mit Blockchains arbeiten und in Blockchains betrieben werden, zum Beispiel Smart Contracts. Sie spielen in der Blockchain-Welt eine wichtige Rolle, auch wenn es darum geht, Blockchain-Anwendungen auf Basis von Ethereum zu erstellen.

Menschliche Fehlerquellen sind beim Einsatz von dApps und Smart Contracts nahezu ausgeschlossen. Nichtsdestotrotz gibt es ein menschliches Risiko, denn die automatisierten Kontrakte sind nur so gut, wie die Entwickler und deren Code.

Die aktuell bekannteste Blockchain-Plattform, die die Entwicklung Turing-vollständiger Smart Contracts anbietet, ist Ethereum. Neben Ethereum bieten auch zahlreiche weitere Plattformen wie Cardano, Tezos oder in Zukunft auch IOTA Smart Contracts an. Unternehmen, welche stattdessen auf eine eigene Blockchains setzen, nutzen als Basis oftmals Hyperledger.

IOTA Smart Contract
Aufbau eines Smart Contracts Quelle: IOTA

Was sind Smart Contracts – die Definition

Smart Contracts (Intelligente Verträge) sind selbstausführende Verträge (Computerprogramme mit einer bestimmten Funktion). Hierbei werden die Bedingungen der Vereinbarung zwischen Käufer und Verkäufer direkt in Codezeilen geschrieben.

Es handelt sich bei Smart Contracts um dezentrale Anwendungen, die mit einer Blockchain oder Distributed-Ledger-Technologie zusammenarbeiten. Der Code von Smart Contracts und die darin enthaltenen Vereinbarungen bestehen über ein verteiltes, dezentrales Blockchain-Netzwerk.

Smart Contracts ermöglichen die Durchführung vertrauenswürdiger Transaktionen und Vereinbarungen zwischen verschiedenen, pseudoanonymen Parteien. Hierbei gibt es keine Notwendigkeit für zentrale Behörden eines Rechtssystems oder eines externen Durchsetzungsmechanismus.

Die intelligenten Verträge machen alle Transaktionen nachvollziehbar, transparent und irreversibel. Es gibt keine Zentrale, sondern das Netzwerk und dessen Teilnehmer verifizieren die Transaktionen auf Basis des Smart Contracts.

Die Funktionsweise von Smart Contracts

Smart Contracts wurden erstmals 1993 vom Computerwissenschaftler Nick Szabo, einem Kryptografen, beschrieben. Er erkannte, dass Smart Contracts innerhalb einer Blockchain betrieben werden können und die Geschäfte zwischen Unternehmen enorm vereinfachen können, ganz unabhängig von der Branche oder Abteilung.

Verträge sind Vereinbarungen zwischen mehreren Parteien, welche in schriftlicher Form rechtlich bindende Willensbekunden enthalten. Übliche nicht-digitale Verträge werden schriftlich ausformuliert und enthalten neben der Information über die Vertragsparteien die Information über die jeweilige Willensbekundung der entsprechenden Partei, welche ausgeführt werden muss, um das gemeinsame, vertragliche Ziel zu erreichen. Hier unterscheiden sich herkömmliche Verträge zunächst nicht von Smart Contracts.

Auf ein einfaches Beispiel übertragen, beinhaltet ein Kaufvertrag eines Autos die Information über den Automobilhandelspartner und den Käufer, beispielsweise Max Mustermann.

Smart Contracts im Netzwerk (Bild von Gerd Altmann auf Pixabay)

Weiterhin muss der Vertrag in diesem Beispiel die Willensbekundung des Automobilhändlers enthalten, ein Fahrzeug an den Kunden Max Mustermann zu verkaufen. Max Mustermann muss außerdem vertraglich festschreiben lassen, dass er das Auto käuflich erwerben will. Im Vertrag wird festgelegt, wie viel Max Mustermann für das Auto bezahlen muss und was er dafür bekommt.

Smart Contracts enthalten dieselben Informationen, wie herkömmliche Verträge. Die Vertragsinformationen werden jedoch im Programmcode des Smart Contracts festgelegt. Dabei gilt der Grundsatz: Code is law.

Der Autohändler kann beispielsweise durch einen Smart Contract definieren, dass Max Mustermann das Fahrzeug erhält, wenn er dafür 10.000 Euro bezahlt hat. Auf diese Weise funktionieren Smart Contracts: Sie enthalten Wenn-Dann-Regeln. Sollte eine im Vertrag festgelegte Bedingung erfüllt werden, dann hat das automatisch eine Konsequenz zur Folge.

Das heißt, dass festgelegte Aktivitäten, um die Willensbekundung des Vertrages zu verwirklichen, automatisch ausgeführt werden, wenn ein gefordertes Ereignis eintritt. Gleichzeitig werden alle Vertragspartner in Echtzeit über Statusänderungen informiert.

Leistungsmessung in Blockchain-Netzwerken

Die dezentrale Architektur einer Blockchain erfordert, dass alle im Netzwerk befindlichen Computer über den aktuellen Informationsstand verfügen müssen, damit sie sicher bleibt. Je mehr Mitglieder in einer Blockchain zusammenarbeiten, desto höher sind die Sicherheit und der Fälschungsschutz, da keine Zentrale angegriffen, oder Daten manipuliert werden können.

Ein Beispiel für eine Blockchain-Plattform, die digitale Verträge anbietet, haben wir bereits zum Eingang dieses Artikels erwähnt: Ethereum. Die Ethereum-Plattform baut auf dem Peer-to-Peer-Transaktionssystem von Bitcoin auf. Das Netzwerk von Bitcoin arbeitet mit einem dezentral organisierten Netzwerk von Computern, welche alle in Echtzeit miteinander verbunden sind.

Alle Computer innerhalb des Netzwerkes von Bitcoin haben die Bitcoin-Blockchain vollständig oder in Teilen gespeichert. Wird eine Bitcoin-Transaktion ausgeführt, wird diese Information automatisch an alle Computer innerhalb des Netzwerkes gesendet und von ihnen gespeichert.

Ethereum macht dasselbe mit digitalen Verträgen, wodurch diese besonders sicher werden. Wer Smart Contracts im Ethereum-Netzwerk erstellen möchte, sollte sich etwas genauer mit der Programmiersprache Solidity auseinandersetzen.

Vorteile von Smart Contracts

Smart Contracts verfügen über einige Vorteile gegenüber herkömmlichen Verträgen. Insbesondere die folgenden Vorteile sind in der Praxis als relevant zu bezeichnen:

  • Verlässlichkeit: Wenn ein Smart Contract korrekt programmiert ist, sind Interpretationsschwierigkeiten der Vertragsbedingungen nahezu ausgeschlossen. Auch der Verlust von Dokumenten ist dadurch ausgeschlossen.
  • Sicherheit: Intelligente Verträge sind durch kryptografische Verschlüsselungsverfahren vor Hackern geschützt. Niemand kann die ausgehandelten Vertragsbedingungen im Nachhinein verändern. Nichtsdestotrotz bedeutet das nicht, dass Hacker den Quellcode nicht verändern und manipulieren können.
  • Effizienz: Einen Smart Contract zu programmieren beansprucht weniger Zeit, als eine entsprechende bürokratische Verarbeitung. Dadurch sparen Vertragspartner Zeit und Geld.
  • Unabhängigkeit: Durch dezentral ausgeführte, intelligente Verträge, lassen sich redundante Entitäten wie Banken, Versicherungen oder Behörden ersetzen. Zur Verifikation eines Vertrages dient die unveränderliche Blockchain. Aus diesem Grunde gilt der Grundsatz „Code is law“. Allein der Programmcode eines Vertrages entscheidet darüber, ob die Vertragsbedingungen korrekt erfüllt wurden oder nicht.

Hinzu kommt die Möglichkeit eine Kryptowährung in die digitalen Verträge zu implementieren. Das heißt, dass die Vertragserfüllung direkt in einer Kryptowährung bezahlt werden kann – dies ist allerdings nicht verpflichtend. Im Falle von Max Mustermann und dem Autohändler ist es denkbar, dass der digitale Vertrag, dank der Wenn-Dann-Abfolge, dafür sorgt, dass der Händler automatisch eine Bezahlung in ETH von Max Mustermann erhält.

Blockchain im Unternehmen nutzen (Bild von Gerd Altmann auf Pixabay)

Nachteile von Smart Contracts

Das Konzept digitaler Verträge ist noch nicht vollständig ausgereift. Sie können auch Probleme verursachen. Es ist beispielsweise denkbar, dass der Programmcode fehlerhaft ist. Da Informationen auf einer Blockchain unveränderlich sind, können derartige Fehler im Nachhinein nicht mehr verändert werden.

Ein Fehler im Programmcode eines komplexeren digitalen Vertrages in Form einer Dezentrale Autonome Organisation (DAO), ermöglichte es Hackern am 17. Juni 2016 Ether im Wert von 50 Millionen US-Dollar zu erbeuten. Infolge dessen musste Ethereum eine Hard Fork durchführen, wodurch die Kryptowährung Ethereum Classic entstand.

Es ist außerdem denkbar, dass in den Programmcode Hintertüren einprogrammiert werden. Die Verlässlichkeit und Unveränderlichkeit eines digitalen Vertrages auf Basis einer Blockchain hängt demnach von seinem Programmierer ab.

Hinzu kommt, dass sich die Bedingungen für die Vertragserfüllung zufällig ändern können. Wenn Max Mustermann sein Fahrzeug geliefert bekommt, das Auto aber beschädigt ist, registriert der digitale Vertrag das dann, oder bezahlt er den Autohändler dann automatisch?

Ein weiterer Aspekt besteht in der begrenzten Anwendungsmöglichkeit. Weltweit verfügt auch heute nicht jeder Haushalt über einen Internetzugang oder ein internetfähiges Endgerät.

Der Einsatz von Smart Contracts im Geschäftsbereich bedeutet, dass Unternehmen eine Distributed-Ledger-Technologie einsetzen müssen. Folglich ist der Betrieb einer eigenen Infrastruktur oder die Nutzung einer dezentralen Lösung notwendig. Aus heutiger Sicht steht das notwendige technische Knowhow zur Entwicklung und Verwendung einer Blockchain- oder DLT-Lösung noch nicht in der dafür notwendigen Tiefe zur Verfügung.

Außerdem müssen die Handelspartner mit dem Einsatz der Smart Contracts einverstanden sein und sich ebenfalls an die Infrastruktur anbinden. Neben dem nicht zu unterschätzenden Aufwand für das Setup sind auch hohe Investitionskosten die unmittelbare Folge.

Öffentliche und private Blockchains für Smart Contracts nutzen

Im Gegensatz zu öffentlichen Blockchains, den sogenannten Permissionless Blockchains, wie zum Beispiel Ethereum, gibt es noch die privaten Blockchains, welche als Permissioned Blockchain bezeichnet werden. Das wohl bekannteste Beispiel einer solchen privaten Blockchain ist Hyperledger Fabric.

Der Vorteil aus Sicht von Unternehmen ist, dass private Blockchains nur einem definierten, kleinen und ausgewählten Nutzerkreis zur Verfügung steht. Das heißt aber auch, dass der Zugriff auf die Blockchain schwieriger ist, da die Partnerunternehmen erst an die eigene Blockchain angebunden werden müssen.

Generell handelt es sich bei privaten Blockchains auch nicht um Blockchains im Allgemeinen, sondern um Distributed Ledgers. Die Technologie ist generell die Gleiche, aber es dürfen nur wenige Teilnehmer an der DLT arbeiten, was die Fälschungssicherheit natürlich mindert. Grundsätzlich sollte auf eine Distributed-Ledger-Technologie eine möglichst große Gemeinschaft zugreifen dürfen.

Private Blockchains werden meistens mit den Frameworks, Plattformen und Tools von Hyperledger aufgebaut. Ein Beispiel dafür ist die Open Source-Plattform Hyperledger Iroha. Diese bietet die Möglichkeit ein Distributed Ledger zu erstellen. Unternehmen können damit steuern, wer auf eine Blockchain zugreifen darf.

Bitcoin-Wallets mit Java und Javascript entwickeln (Bild von Pexels auf Pixabay)

Smart Contracts und Ethereum 2.0

Ethereum steht in den Versionen 1 und 2 zur Verfügung. Smart Contracts werden umfassend aber in Version 2 erst nach und nach eingeführt. Version 1 unterstützt bereits heute vollständig Smart Contracts. Erst ab Phase 3 der Veröffentlichung von Ethereum 2.0 sind auch Smart Contracts in Ethereum 2 integriert.

Ethereum 2.0 unterstützt die neue virtuelle Maschine eWASM. Ethereum WebAssembly (eWASM) ist eine Neugestaltung der Smart Contracts-Ausführungsschicht von Ethereum. Die neue Ausführungsschicht soll mehr Leistung für Smart Contracts bieten. Eine weitere Neuerung soll die Möglichkeit sein Smart Contracts in Ethereum 2 mit C++ und Rust zu entwickeln.

Anwendungsbeispiele für intelligente Verträge in der Praxis

Anwendungs-Beispiele von Smart Contracts bestehen beispielsweise in:

Lieferketten: Lieferketten von Waren bestehen meistens aus mehreren Parteien. Vom Konsumenten, über den Händler, den Großhändler, dem Unternehmen, dem Lieferanten und den Produzenten können digitale Verträge auf Blockchain-Basis alle beteiligten Parteien eine gemeinsame Vertragsbasis bieten. Alle beteiligten Parteien können in Echtzeit verfolgen, in welchem Stadium das angebotene Produkt sich grade befindet.

Gesundheitswesen: Patientendaten können in einem digitalen Vertrag sowohl für den Patienten, als auch für Ärzte und Versicherungen abgebildet werden. Für jede Partei ist es möglich alle Daten auf einen Blick einzusehen. Patienten könnten individuell entscheiden, welche Informationen sie preisgeben wollen. Blockchain-Anwendungen und Smart Contratcs sind eine effektive Möglichkeit Produktfälschungen zu erkennen und zu vermeiden. Das gilt natürlich und besonders auch für Arzneimittel. Mit Smart Contracts lassen sich zum Beispiel klinische Ergebnisse und Vorgehensweisen verwalten. Apotheken, Krankenhäuser und andere Lieferanten im Gesundheitswesen können untereinander einfacher und schneller abrechnen. Auch elektronische Rezepte sind über diesen Weg wesentlich sicherer und einfacher zu verwenden.

Finanzwesen: Natürlich ist die Blockchain auch im Finanzwesen sinnvoll. Nicht nur Kryptowährungen wie Bitcoin zeigen hier den Nutzen. Im Jahr 2015 haben verschiedene Banken das R3 Consortium gegründet. Die Open Source-Version von Corda besteht vor allem aus einer Sammlung von Smart Contracts. Im Fokus steht die Entwicklung von Blockchain-Lösungen für den Finanzbereich. Die Open Source Blockchain Plattform Corda wurde durch das R3 Consortium entwickelt. Zum Konsortium gehören zum Beispiel Barclays, BBVA, Commonwealth Bank of Australia, Credit Suisse, Goldman Sachs, Royal Bank of Scotland, State Street, und UBS. Ebenfalls Mitglied sind Bank of America, BNY Mellon, Citi, Commerzbank, Deutsche Bank, HSBC, Mitsubishi UFJ Financial Group, Morgan Stanley, National Australia Bank, Royal Bank of Canada, Skandinaviska Enskilda Banken, Société Générale, und Toronto-Dominion Bank.

Bitcoin-Wallets entwickeln (Bild von Gerd Altmann auf Pixabay)

Immobilien: Digitale Verträge können nicht nur Mietverhältnisse regeln, sondern auch den Kauf oder Verkauf von Grundstücken erleichtern.

Regierungen: Regierungen könnten über digitale Verträge Wahlen abhalten. Die Basis dafür könnte ein Vertrag sein, der zwischen der jeweiligen Regierung und allen Staatsbürgern des Landes abgeschlossen wird. Dadurch könnte die Regierung nicht nur einsehen, wer gewählt hat, sondern Bürger hätten auch den Vorteil, dass sie bequem mit einem Klick ihre Stimme abgeben können. Bereits 2017 gibt es in der Stadt Bozen (Südtirol) erste Blockchain-Lösungen für die Kommunalverwaltung. Diese wurden zusammen mit SAP entwickelt.

Lizenzvergaben: Über digitale Verträge können beispielsweise Software-Lizenzen effizient vergeben werden. Auf diese Weise könnten Software-Entwickler im Vertrag festlegen, dass sich die Software automatisch deaktiviert, wenn Unberechtigte auf sie zugreifen.

Smart Contracts finden bereits Anwendung in der realen Wirtschaft. Der Stromanbieter RWE bietet seinen Kunden über die Ethereum-Plattform digitale Verträge an, damit diese unkompliziert an Stromtankstellen den bezogenen Strom bezahlen können.

In die Cloud Platform von SAP und in anderen SAP-Anwendungen kann das Ethereum Mainnet eingebunden werden. Das bietet den Vorteil, dass ein öffentliches Blockchain-Netzwerk mit allen seinen Vorteilen in die eigene Infrastruktur eingebunden werden kann.

Durch den dezentralen und vertrauensvollen Ansatz einer öffentlichen Blockchain profitieren auch private Anwendungen in Unternehmen. Transaktionen zwischen verschiedenen Firmen können auf diesem Weg einfacher validiert werden, da jeder auf das Ethereum Mainnet zugreifen darf. Hierüber können Smart Contracts eingebunden und nahezu vollständig automatisiert werden.

OpenLaw hat sich wiederum darauf spezialisiert traditionelle, rechtliche Vereinbarungen umfassend mit Smart Contracts abzubilden. Das ermöglicht auch das Abbilden von Verträgen mit Smart Contracts, die über umfassende rechtliche Vereinbarungen aufbauen. Ethereum basierende Smart Contracts können mit OpenLaw in Rechtsvereinbarungen eingebettet werden.

Smart Contracts Programmieren

Für das Schreiben von intelligenten Verträgen wird oft die vertragsorientierte Programmiersprache Solidity genutzt, wenn Ethereum als Plattform zum Einsatz kommt.

Solidity wird zur Implementierung von Smart Contracts auf verschiedenen Blockchain-Plattformen verwendet und wurde von ehemaligen Ethereum-Mitarbeitern entwickelt – ursprünglich nur für die Blockchain-Plattform Ethereum.

Auch Vyper spielt eine wichtige Rolle bei Ethereum. Sowohl Solidy, als auch Vyper sind Progammiersprachen, die sich auf Smart Contracts mit Ethereum Virtual Machine konzentrieren. Zu diesem Thema haben wir einen Extra-Artikel: Solidity – Smart Contracts programmieren.

Das nachfolgende Beispiel verdeutlicht das Setup einer VendingMachine mithilfe von Solidity:


pragma solidity 0.6.11;


contract VendingMachine { // Declare state variables of the contract
address public owner;
mapping (address => uint) public cupcakeBalances;

// When 'VendingMachine' contract is deployed:
// 1. set the deploying address as the owner of the contract
// 2. set the deployed smart contract's cupcake balance to 100
constructor() public {
owner = msg.sender;
cupcakeBalances[address(this)] = 100;
}

// Allow the owner to increase the smart contract's cupcake balance
function refill(uint amount) public {
require(msg.sender == owner, "Only the owner can refill.");
cupcakeBalances[address(this)] += amount;
}

// Allow anyone to purchase cupcakes
function purchase(uint amount) public payable {
require(msg.value >= amount * 1 ether, "You must pay at least 1 ETH per cupcake");
require(cupcakeBalances[address(this)] >= amount, "Not enough cupcakes in stock to complete this purchase");
cupcakeBalances[address(this)] -= amount;
cupcakeBalances[msg.sender] += amount;
}
}

Wer sich in die Entwicklung von Smart Contracts einarbeiten will, kann sich das Webtool Remix anschauen. In der browserbasierten Entwicklungsumgebung können automatisierte Verträge für Ethereum entwickelt werden. Remix unterstützt Solidity und Vyper. Für die Verwendung ist keine Installation notwendig.

Es gibt aber zahlreiche weitere Möglichkeiten, um Smart Contracts zu programmieren. Das Azure Blockchain Development Kit bietet mit seinen enthaltenen Vorlagen Möglichkeiten, um Azure-Dienste für eigene Blockchain-Lösungen einzubinden. Auch andere Umgebungen können genutzt werden.

DevOps für Smart Contracts helfen dabei in Blockchain-Umgebungen auch DevOps-Ansätze für Smart Contracts zu nutzen. Auch Oracle bietet auf seiner Cloud-Plattform die Möglichkeit Smart Contracts zu entwickeln. Oracle zeigt die Entwicklung solcher Smart Contracts mit der Oracle Cloud Platform ausführlicher in einem Video.

AMD bietet mit seinen Ryzen-Threadripper-Prozessoren eine CPU, die im Bereich von Blockchain-Berechnungen zu den besten CPUs gehören. Auf der Blockchain-Seite von AMD sind die Lösungspartner aufgelistet, die Hardware auf Basis von AMD-Prozessoren und Grafikadaptern bieten. AMD arbeitet hier auch mit ConsenSys zusammen. Mit der Blockchain-Cloud-Plattform W3BCLOUD können ebenfalls Smart Contracts bereitgestellt werden.

Programmcode für Smart Contracts

 

Embark, Dapp, Truffle und Etherlime für die Entwicklung von intelligenten Verträgen nutzen

Mit Hyperledger Iroha können auch weniger Erfahrene Entwickler und Anwender Smart Contracts erstellen. Dazu haben die Entwickler in Iroha Funktionen integriert, mit denen direkt Befehle ausgeführt werden können, ohne dass eine Entwicklung von Programmen erfolgen muss. Das bedeutet, dass mit Hyperledger Iroha schneller und einfacher Smart Contracts entwickelt werden können.

Als Framework für die Entwicklung von dApps und Smart Contracts steht in Ethereum auch Embark zur Verfügung. Dapp ist ein weiteres Framework mit dem Smart Contracts erstellt werden können. Auch Etherlime wird als Framework zur Entwicklung von DApps genutzt. Das Framework basiert wiederum auf ether.js.

Die Beispiele zeigen, wie beliebt Smart Contracts sind, da es immer mehr Umgebungen und Frameworks gibt, mit denen sich Smart Contracts entwickeln lassen. So gut wie alle Frameworks unterstützen vor allem Ethereum als Basis. Truffle ist ein weiteres, prominentes Beispiel.

Truffle Boxes (https://www.trufflesuite.com/boxes) ist eine Anlaufstelle, an der auch Solidity-Vorlagen und Bibliotheken, zu finden sind. Ethereum-Entwickler setzen auch auf das Framework Cobra, wenn es darum geht Smart Contracts zu entwickeln. Cobra ermöglicht skriptbasierte und automatisierte Bereitstellung von Smart Contracts in öffentlichen oder privaten Blockchains.

Smart Contracts mit Visual Studio Code und Ethereum entwickeln

Als Entwicklungsumgebung für Smart Contracts können auch Standard-Umgebungen und Editoren wie Microsoft Visual Studio Code genutzt werden. Visual Studio Code steht kostenlos zur Verfügung und bietet auch eine Erweiterung für Solidity. Mit der Erweiterung „ETHcode“ kann mit Solidity und Vyper-Code entwickelter Code geschrieben, bereitgestellt und verwaltet werden. Zusätzlich stellt Microsoft auch Blockchain Development Kit for Ethereum kostenlos zur Verfügung.

Auch .NET kann für die Entwicklung von Smart Contracts grundsätzlich eingesetzt werden. Vor allem, wenn die Smart Contracts auch mit anderen Anwendungen im Unternehmen zusammenarbeiten sollen, kann es sinnvoll sein mit Microsoft-Programmen zu arbeiten, wenn im Netzwerk ebenfalls Microsoft-Lösungen zum Einsatz kommen.

Ein Beispiel für die Anbindung von Ethereum-Blockchains und Smart Contracst an .NET-Technologien ist auf der Seite „A .NET Developer’s Workflow for Creating and Calling Ethereum Smart Contracts“ zu finden.

Bild von Darko Stojanovic auf Pixabay

Blockchains für den Einsatz von Smart Contracts

Unternehmen, die Smart Contracts einsetzen wollen, nutzen oft Ethereum als Blockchain. Um eigene Blockchains für Smart Contracts zu entwickeln werden häufig die Open Source-Lösungen von Hyperledger genutzt.

MultiChain ist eine Open Source-Fork von Bitcoin. Mit MultiChain können eigene Blockchains im Unternehmen eingesetzt werden, die wiederum eine Basis von Smart Contracts sein können. Im Fokus von MultiChain steht vor allem der Betrieb eines fälschungssicheren und dezentralen Datenspeichers, der für verschiedene Einsatzszenarien genutzt werden kann.

Seit Version 2 von MultiChain ist auch eine Programmierung möglich, sodass die Umgebung auch für Smart Contracts genutzt werden kann. Wer Smart Contracts in Umgebungen mit SAP nutzen will, setzt meistens auf Hyperledger Fabric in der SAP Cloud Platform.

Hyperledger Fabric wurde bereits zu Beginn des Projektes auf die Erstellung von Smart Contracts optimiert. Es gibt zahlreiche SDKs für Programmiersprachen, um mit Hyperledger Fabric Smart Contracts bereitzustellen. Auf der SAP Cloud Platform gibt es auch aus diesem Grund wesentlich mehr Tools und Erweiterungen für Hyperledger Fabric, als für MultiChain oder Quorum.

Fazit: Smarte Verträge sind ein Gamechanger

Digitale Verträge stellen eine Innovation gegenüber herkömmlichen Verträgen dar. Sie können weltweit zwischen vielen verschiedenen Parteien abgeschlossen werden.

Über einen Smart Contract können die Vertragspartner nicht nur über den Programmcode definieren, welchen Vertragsbedingungen sie sich verpflichten, sondern auch bestimmen, was der Vertrag automatisch ausführen soll, wenn die Bedingungen erfüllt werden.

Es ist möglich Kryptowährungen als Zahlungsmittel in digitale Verträge zu integrieren. Digitale Verträge könnten die Vertragsform von morgen bereitstellen.

Kommentare
  1. Ein aufschlussreicher schriebs, besonders das schon so zeitig die Grundsatzgedanken da gewesen sind ist interessant.
    Danke, Newsletter wird direkt abonniert.

Antworten

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.

Immer aktuell in der Blockchainwelt.

Melden Sie sich zu unserem monatlichen Newsletter an. Garantiert kostenlos und ohne Spam!