Smart Contract Blockchains im Überblick
Smart Contracts, auch häufig als digitale Verträge bezeichnet, basieren auf der Blockchain-Technologie. Sie sind von Entwicklern individuell programmiert und enthalten vordefinierte Regeln und Standards.
Die automatische Abwicklung erlaubt die Ausführung von Ereignissen und Transaktionen, ohne dass der Mensch interagieren muss.
Übersicht der Smart Contract Blockchains
Aus den Smart Contracts hat sich nach anfänglichem Nutzen für die Bitcoin Blockchain inzwischen der Mehrwert für die industrielle Wertschöpfung entwickelt. Die klugen Verträge erlauben das automatische Inkrafttreten von bestimmten Bedingungen. Sie funktionieren dabei ähnlich einer „wenn…dann“ Formulierung und lassen sich in Echtzeit überwachen.
Durch den Verzicht auf Mittelsmänner steckt in den Smart Contracts ein enormes Einsparungspotenzial. Ihr Einsatz ist branchenübergreifend möglich und in vielen Branchen sinnvoll.
Die Blockchain bietet als dezentraler Datenspeicher die optimalen Bedingungen für ihren Einsatz. Deshalb sind zahlreiche Anbieter von Plattformen und Blockchains bemüht, sich rechtzeitig eine gute Marktposition zu sichern.
Der Kampf um die Smart Contract Blockchain zeigt sich vor allem bei den derzeit führenden Anbietern der Technologie.
Smart Contract Blockchain Ethereum
Die Plattform von Ethereum hat klassische Geschäftsmodelle ins Wanken gebracht, denn sie bietet Einsatzmöglichkeiten entlang der Wertschöpfungsketten und damit in einem der aufstrebenden Wachstumsmärkte der digitalen Transformation. Die Software kann selbst überprüfen, ob die beteiligten Parteien die niedergelegten Konditionen im Code der Smart Contracts erfüllt haben.
Der Vertragsabschluss hat derzeit noch keine Gültigkeit im zivilrechtlichen Sinne, wie auch PWC betont. Aber ihre Relevanz nimmt ständig zu und früher oder später, muss sich die Politik mit dem Thema beschäftigen.
In den ETH-Handbüchern für Entwickler finden sich bei Ethereum interessante Informationen und wesentliches Hintergrundwissen zu den auf der Plattform laufenden Smart Contracts. Zunächst ist es wichtig zu wissen, dass bei Ethereum, anders als bei Bitcoin, nicht die Bezahlung im Vordergrund steht. Die Plattform setzt ihren Schwerpunkt auf die Steuerung und Entwicklung von Smart Contracts.
Die internetbasierten Verträge prüfen sich fortlaufend selbständig auf die vorher definierten Vertragsbedingungen. Es entstehen schnelle und kosteneffiziente Verträge auf Basis der Ethereum-Blockchain. Die Sammlung aus Programmcode und Daten befindet sich an einer bestimmten Adresse in der ETH-Blockchain.
Ethereum beschreibt Smart Contracts in seiner technischen Dokumentation auch als eine Art Ethereum-Konto, dass über ein Guthaben verfügt und Transaktionen über das Netzwerk senden kann. Dieses Nutzerkonto wird jedoch nicht von einem Benutzer gesteuert, sondern im Netzwerk bereitgestellt und, wie vorab von Blockchain-Entwicklern programmiert, ausgeführt.
Durch das Senden der Transaktionen gehen diese Benutzerkonten einen digitalen Vertrag ein. Erstellen kann die Smart Contracts im Grunde jeder, der über ausreichend Kenntnisse der verwendeten Programmiersprachen verfügt.
Entwickler für Smart Contracts auf EVM
Der Entwickler muss außerdem über genügend ETH verfügen, um den Vertrag auf der Plattform bereitzustellen. Die Gebühren sind bei Smart Contracts auf der Ethereum Blockchain weitaus höher als die üblichen Transaktionskosten.
Auf der Ethereum-Blockchain stehen die Programmiersprachen Solidity und Vyper zur Verfügung. Die Smart Contracts müssen vor der Bereitstellung kompiliert werden, damit die Virtual Machine (VM) den Vertrag interpretieren und speichern kann. Alle Smart Contracts auf der Ethereum-Blockchain sind öffentlich, sie können als offene API betrachtet werden.
Das erlaubt Entwicklern andere Smart Contracts in ihrem digitalen Vertrag aufzurufen und diesen möglicherweise zu erweitern. Es gibt sogar die Möglichkeit, dass ein Smart Contract andere Smart Contracts bereitstellt.
Smart Contract Blockchain Polkadot
Eine andere Blockchain, die Smart Contracts zulässt, ist Polkadot. Das Protokoll hat eigenen Angaben nach zwei Ziele:
- Die Bereitstellung von gemeinsamer Sicherheit und
- Die Zusammenarbeit aller Relaisketten mithilfe von XCMP
Während es früher Jahre dauerte, eine neue Relaiskette zu veröffentlichen, ist diese Zeit heute auf Wochen oder sogar nur noch Tage begrenzt. Polkadot unterscheidet zwischen Parachains und Smart Contracts. Die Anwendungsmöglichkeiten sind bei beiden unterschiedlich.
Die Polkadot Plattform unterstützt von Haus aus keine digitalen Verträge. Aber die Parachains auf der Polkadot-Blockchain unterstützen Smart Contracts. Zusätzlich ist Polkadot in die ETH-VM integrierbar. Projekte aus diesem Modellrahmen sind Edgeware, Moonbeam und Frontier.
Auf Polkadot befindet sich eine sogenannte Vertrags-Plattform, das Contract Module. Es bietet für die Laufzeit der Verträge verschiedene Funktionen an. Das Modul erweitert dazu Konten basierend auf ihrem Währungsmerkmal um Smart-Contracts-Funktionen.
Die Interaktion zwischen Konten mit gleicher Währung ist auch für die Smart Contracts gesichert. Diese Smart Contract Konten können digitale Verträge erzeugen und andere Vertrags- sowie Nicht-Vertragskonten aufrufen.
Der Smart Contract Code ist einmal in einem Code Cache gespeichert und lässt sich später über seinen Code Hash abrufen. Dies bedeutet, dass sich mehrere Smart-Verträge aus demselben Code Cache erzeugen lassen, ohne den Code jedes Mal zu replizieren.
Ein Smart Contract ist wie ein Benutzerkonto
Wenn ein Smart-Vertrag aufgerufen wird, wird der zugehörige Code über den Code Hash abgerufen und ausgeführt. Dieser Aufruf kann die Speichereinträge des Smart-Contract-Kontos ändern, neue digitale Verträge erzeugen und andere Smart Contracts aufrufen.
Intelligente Verträge sind ausführbare Programme, die nur in einer einzigen Kette existieren und deren Komplexität begrenzt ist. Dadurch können sie reibungslos mit anderen intelligenten Verträgen in derselben Kette zusammenarbeiten. Allerdings sind sie durch die Eigenschaften der Kette stark eingeschränkt und begrenzt.
Parachains und Parathreads
Zu den intelligenten Verträgen gehören bei Polkadot nicht nur Smart Contracts, sondern auch die Parachains und die Parathreads.
Der Entwickler muss für jedes spezifische Projekt anhand der Dokumentation von Polkadot entscheiden, welcher intelligente Vertrag geeignet ist.
Smart Contracts werden bei Polkadot von der Technologie „Substrate“ gesteuert. Die Entwicklung einer lokalen Vertragsplattform ist noch in Arbeit und kommt erst zur Veröffentlichung, wenn die Technologie ausgereift ist.
Substrate ist für die Verknüpfung mit der ETH-VM zuständig und bindet diese über eine Frame-Bibliothek dort ein.
Substrate kann aber auch den Code der EVM-basierten Smart Contracts bereitstellen, damit Entwickler Tools auf Basis von Solidity oder Vyper ebenfalls über Polkadot verwenden können.
Auch hier müssen Smart Contracts natürlich über Guthaben verfügen und Transaktionskosten zahlen. Ist das Guthaben aufgebraucht und Vertrag nicht mehr in Verwendung, dann wird sein Code aus dem Speicher gelöscht.
Um eine lokale Testumgebung für Smart Contracts aufzubauen, sollten Blockchain Entwickler mit einer der beiden Plattformen Edgeware oder Moonbeam beginnen und durch die Verbindung von Substrate mit einem Node die intelligenten Verträge entwickeln und in einer Live-Umgebung bereitstellen.
Einen Edgeware Contracts Workshop stellt Polkadot bereits zur Verfügung.
Smart Contract Blockchain Near
Auch das Near-Protokoll erlaubt die Verwendung von Smart Contracts. Alle intelligenten Verträge auf NEAR müssen in WebAssembly oder einfach in WASM kompiliert werden.
Derzeit unterstützt die Plattform AssemblyScript und Rust als Programmiersprachen für Smart Contracts. Sie lassen sich mithilfe von benutzerdefinierten SDKs erstellen.
Der Anbieter empfiehlt die Verwendung von AssemblyScript nicht bei Finanzanwendungen, während Rust eine großartige Entwicklererfahrung liefern soll.
Blockchain Entwickler, die Javascript bevorzugen, sollten AssemblyScript verwenden. Unabhängig von der verwendeten Sprache werden die Verträge auf genau dieselbe Weise auf der Near-Plattform bereitgestellt.
Innerhalb weniger Minuten lassen sich intelligente Verträge auf Near mit der App Near CLI erstellen. Near CLI ist eine NodeJS-Befehlszeilenschnittstelle, die Near API Js verwendet, um eine Verbindung zur NEAR-Blockchain herzustellen und mit dieser zu interagieren.
Der Status des Vertrags, den Entwickler normalerweise durch Schreiben von Werten in eine Datenbank speichern würden, ist stattdessen in der Blockchain gesichert.
Jede Operation eines Smart Contracts auf der Near-Plattform verursacht Kosten. Desto komplexer der Vorgang, umso höher die Kosten.
Smart Contract Blockchain Dfinity
Dfinity ist ein Blockchain-Start-up aus der Schweiz und hat im Dezember 2020 sein Mainnet live geschaltet. Hinter Dfinity steht die Idee eines dezentralen Netzwerks aus Rechnern, die über ein Blockchain-Protokoll verbunden sind.
Eine verteilte Cloud, die jedoch – anders als Amazon oder Google – nicht auf einem zentralisierten System beruht.
Der Internetcomputer erweitert die Funktionalität des öffentlichen Internets und es entsteht eine globale Computerplattform. Mithilfe des Internetcomputers können Entwickler Webseiten, IT-Systeme und Anwendungen erstellen, indem sie ihren Code direkt installieren und so auf kommerzielle Cloud-Dienste verzichten.
Die zunehmende Monopolisierung soll damit aufgehalten werden und das Internet wieder verstärkt als innovatives und erlaubnislose Technologie zur Verfügung stehen.
Dfinity hostet seine native Software in einer manipulationssicheren Umgebung, sodass Systeme erstellt werden können, deren Sicherheit nicht von Firewalls, Sicherungssystemen und Failover abhängt.
Dieses Framework macht die Interoperabilität zwischen verschiedenen Systemen so einfach wie ein Funktionsaufruf und behält automatisch den Speicher bei. Unternehmen können auf eigenständige Infrastrukturen wie Datenbankserver verzichten.
Canister sind Smart Contracts
Der Blockchain-Computer von Dfinity ist ein vom Netzwerk unabhängiges Rechenzentrum mit einem dezentralen Protokoll und ermöglicht ein nahtloses Software-Ökosystem. Smart Contracts sind hier Canister, bei denen es sich um Recheneinheiten handelt, die sowohl aus Daten als auch aus Code bestehen können.
Canister unterstützen ein offenes und kollaboratives Internet und sind ein Schlüsselkonzept für den Internetcomputer Dfinity.
Ein Canister ist wie ein Smart Contract, da seine Ausführung durch ein sicheres Protokoll geregelt wird: das Internet Computer Protocol (ICP). Er ist manipulationssicher, was bedeutet, dass sein Status nur durch Nachrichten geändert werden kann, die in der Blockchain enthalten sind. Und diese sind vom Protokoll geregelt.
Der Status lässt sich kryptografisch sicher überprüfen, indem die Nachrichten über die Blockchain geprüft werden. Jeder Dfinity Canister verfügt über alle Funktionen eines herkömmlichen Smart Contracts.
Allerdings weisen Sie Unterschiede bei den Leistungsmerkmalen auf, mit denen sich skalierbare Softwarelösungen erstellen können.
Nachrichten im Canister sind folglich in Anfragen und Antworten unterteilt. Sie können Anfragen beantworten, während der Internetcomputer von Dfinity ihre Antworten verfolgt. Ein Canister hat auch eine Postanschrift, die einer IPv6-Adresse ähnelt.
Entwickler verwenden die von der Dfinity Foundation entwickelte Programmiersprache Motoko zum Erstellen von Canister. Ein Canister ähnelt einem Prozess in einem Betriebssystem wie Linux, macOS oder Windows.
Das Betriebssystem verfolgt gültige Speicherbereiche für einen Prozess, während ein Canister eine Grenze für seinen linearen Speicher besitzt.
Über APIs können Canister Berechtigungen verwalten, selbst weitere Canister erstellen und verwalten sowie Transaktionen auslösen.
Smart Contract Blockchain IOTA
Bei IOTA sind die vertraglichen Verpflichtungen in Software verankert und heißen ISCP für IOTA-Smart-Contract-Protokoll. Am 4. März 2021 hat die IOTA-Foundation die Alpha-Version dieses Protokolls veröffentlicht und damit den Nachfolger der Pre-Alpha-Version vorgestellt.
Eigenen Angaben nach sollen die Verbesserungen gegenüber der ersten Version erheblich sein und drehen sich vor allem um die Integration einer mehrkettigen Umgebung, die durch den Tangle als sogenannte „Schicht 1“ gesichert wird.
Jede dieser Ketten ist ein funktionales Äquivalent zu einer Ethereum-Blockchain und kann viele intelligente Verträge hosten.
Während herkömmliche Architekturen für Smart Contracts Probleme und Limitierungen bei der Effizienz aufwiesen und keine parallelen sowie skalierbaren Ausführungen existierten, ist das ISCP von IOTA nun die Lösung für die bisher bekannten Probleme.
Mit dem IOTA Smart Contracts-Protokoll können Entwickler und Unternehmen ihre eigenen, flexiblen Umgebungen definieren, die ihren Anforderungen hinsichtlich des Grades der Dezentralisierung und der Sicherheit entsprechen.
IOTA Stiftung stellt ihren Plan für die Migration zu Chrysalis Phase 2 vor by @FlashDeutsch@iotatoken #IOTA #TANGLE #coordicide #chrysalis #firefly #smartcontracts #TRUSTtheTANGLE https://t.co/MPiVup2MvX
— IOTA Tangle Network (@IotaTangleFacts) February 17, 2021
Die IOTA Smart Contracts erfordern nicht, dass alle Knoten im Netzwerk alle Smart Contracts ausführen können. Das ermöglicht eine flexiblere und sinnvollere Definition der Anforderungen seitens des Entwicklers. Und das wiederum führt zu reduzierten Kosten und minimiert den Energieverbrauch drastisch.
Ein weiterer Vorteil zeigt sich in der hohen Interoperabilität und der geforderten Kompositionsfähigkeit (Verknüpfbarkeit) von dApps.
Durch die jetzt vorhandene Möglichkeit lassen sich im IOTA-Netzwerk zahlreiche Anwendungen umsetzen. Dazu gehören unter anderem native digitale Assets, dezentrale Börsen, NFT-Marktplätze und intelligente Verträge, die IOTA-Oracles nutzen.
Bis zur Freigabe von IOTA 2.0 wird an der ISCP-Software gearbeitet, um weitere signifikante Verbesserungen umzusetzen.
Denn bei dem Kampf der Smart Contract Blockchains will die IOTA-Foundation ganz vorn sein und damit seine Marktposition weiter ausbauen.