IBM Blockchain Platform – Blockchain-as-a-Service
Mit seiner Blockchain Platform bietet IBM die Möglichkeit für Unternehmen eigene Blockchain-Lösungen zu entwickeln und über die Cloud von IBM zur Verfügung zu stellen.
Als technische Grundlage verwendet IBM die bekannte Hyperledger Fabric. Das Open Source-Blockchain-Framework gehört zu den Projekten der Linux Foundation und ist aktuell einer der Standards für das Entwickeln von Blockchain-Anwendungen.
Das bietet viele Vorteile, unter anderem die Möglichkeiten, Blockchain-Anwendungen jederzeit auch auf anderen Plattformen bereitstellen zu können.
IBM stellt für die Entwicklung von Smart Contracts auch eine kostenlose Erweiterung für die kostenlose Entwicklungs-Umgebung Microsoft Visual Studio Code zur Verfügung.
Sie enthält auch Tutorials, mit der Entwickler sehr schnell einen Einstieg in Smart Contracts mit Hyperledger Fabric erhalten.
Mit der Erweiterung können sich Entwickler in Blockchain-Anwendungen mit Hyperledger Fabric 2.0 einarbeiten, ohne ein Abonnement für IBM Blockchain Platform abschließen zu müssen.
Dabei können komplett kostenlose Tools verwendet werden, um Blockchain-Anwendungen zu entwickeln. Das stellt sicherlich einen idealen Einstieg dar, wenn sich Entwickler in das Thema Smart Contracts oder andere Blockchain-Lösungen einarbeiten wollen.
Das Blockchain-Framework Hyperledger Fabric bietet nahezu alle notwendigen Tools und Schnittstellen für die Entwicklung von Blockchain-Anwendungen.
Was in Hyperledger Fabric nicht möglich ist, wird durch Drittentwickler zur Verfügung gestellt. Schnittstellen gibt es auch für Entwickler haufenweise, zum Beispiel zu Microsoft Visual Studio, auch zur kostenlosen Version Visual Studio Code.
Die Blockchain-Plattform setzt auf Open Source, bietet aber SLAs, auf deren Basis der Support und Betrieb gewährleistet sind. IBM ermöglicht in der IBM Blockchain Plattform 24 × 7 × 365 Support.
Das heißt, trotz der Verwendung von Open Source können mit der IBM Blockchain Platform auch umfassende Blockchain-Lösungen hochverfügbar mit Unterstützung durch Spezialisten bereitgestellt werden.
Beim Betrieb einer eigenen Lösung muss der Support von anderen Dienstleistern dazugekauft werden.
Blockchain in der IBM Cloud betreiben
Mit IBM Blockchain Platform können Unternehmen ihren Entwicklern die Möglichkeit zur Verfügung stellen, eigene Blockchains zu entwickeln, ohne eigene Hardware bereitstellen zu müssen.
Die Anwendungen können mit den Tools der IBM Blockchain Platform nicht nur entwickelt, sondern auch bereitgestellt werden.
Dadurch können Unternehmen Blockchains in der IBM Cloud bereitstellen und dabei auch auf andere Funktionen zurückgreifen, zum Beispiel zur Datenanalyse, Virtualisierung, Datenbanken und vieles mehr.
IBM setzt beim Betrieb seiner IBM Blockchain Platform auf die Hardware der IBM Cloud. Hier setzt IBM wiederum auf sein Hochleistungs-Betriebssystem Linux One, das wiederum auf Linux-One-Servern betrieben wird.
Dadurch erhalten Kunden in der IBM Blockchain Platform maximale Leistung von High-End-Servern mit einem Mainframe.
Parallel kann noch optional im lokalen Rechenzentrum Linux One-Server betrieben werden, mit denen eine Hybrid-Lösung bereitgestellt werden kann. IBM stellt dazu auch das Whitepaper „Enterprise Blockchain on Linux One“ zur Verfügung.
IBM Linux One, IBM Blockchain Platform und IBM Cloud arbeiten eng zusammen und harmonisieren auch miteinander. Dazu hat IBM Linux One auch für den Betrieb von Blockchain-Anwendungen optimiert.
Basis der Bereitstellung von Blockhain-Anwendungen in der IBM Cloud mit IBM Blockchain Platform ist die Open Source-Container-Lösung Red Hat OpenShift.
Auch Red Hat CodeReady Workspaces und Ansible Content Collections sind in der IBM Blockchain Platform verfügbar.
Neben Hyperledger Fabric, sind auch „Apache Spark“, „Elasticsearch“ und „Tensorflow“ für Linux One und damit dem Betrieb in der IBM Blockchain Platform freigegeben.
Als Datenbanken lassen sich „MariaDB“, „MongoDB“ und „PostgreSQL“ nutzen. Daher können hier auch die Blockchain-Lösungen der IBM Blockchain Platform auf Linux One-Servern betrieben und die Daten zur Analyse an verschiedenen Stellen weitergenutzt werden.
Durch den Einsatz einer Blockchain in der IBM Platform erhalten Entwickler Zugriff auf Container-Technologien, mit denen Blockchain-Lösungen virtualisiert als Microservices bereitgestellt werden können.
Ein Wechsel der Plattform ist jederzeit möglich. IBM Cloud und IBM Blockchain Platform arbeiten nahtlos miteinander zusammen.
Auch Kubernetes wird in der IBM Cloud und damit der IBM Blockchain Platform unterstützt.
Das bedeutet, dass nicht nur die einzelnen Anwendungen in der Umgebung leicht zu anderen Plattformen transferiert werden können, sondern der komplette Betriebsrahmen, inklusive der Container, umgezogen werden kann. Das macht die Bereitstellung sehr flexibel.
Durch die Bereitstellung der Blockchain-Anwendungen mit Red Hat OpenShift sowie der zentralen Verwaltung der Container mit Kubernetes, sind die Blockchain-Apps in den Containern extrem flexibel und können nahezu überall bereitgestellt werden, wo Kubernetes und Red Hat OpenShift unterstützt werden.
Gleichzeitig ist auch der Aufbau des Knowhows keine Einbahnstraße, da im kompletten Lebenszyklus von Blockchain-Anwendungen auf Open Source und Standard-Lösungen gesetzt wird.
Wenn Entwickler und Administratoren Erfahrungen mit Hyperledger Fabric und Red Hat OpenShift lernen, können sie dieses Wissen auch in anderen Bereichen und auch auf anderen Plattformen nutzen.
Auch die lokale Bereitstellung ist in diesem Fall weitgehend identisch, mit dem Unterschied, dass die Infrastruktur für Red Hat OpenShift selbst aufgebaut werden muss.
Da die technische Grundlage von IBM Blockchain Platform aus Open Source besteht, müssen Unternehmen nicht befürchten sich zu stark an einen Anbieter zu binden.
Die erstellten Lösungen sind komplett transportabel und können auch auf anderen Plattformen betrieben werden, die auf Hyperledger Fabric aufbauen.
IBM Blockchain Platform – Blockchain-as-a-Service
Bei der IBM Blockchain Platform handelt es sich um eine komplett verwaltete Blockchain-Infrastruktur, also Blockchain-as-a-Service (BaaS).
Zugriff und Bereitstellung können aber nicht nur in der IBM Cloud erfolgen, sondern auch On-Premises und in anderen Clouds.
Auch die Zusammenarbeit mit anderen Cloud-Anbietern wie Microsoft Azure, Amazon Web Services (AWS) und Google Cloud Platform (GCP) sind möglich.
Blockchain-Anwendungen, die in der IBM Cloud bereitgestellt werden, sind generell Hybrid- und Multi-Cloud-fähig.
Durch APIs, Gateways und der Verwendung von Open-Source-Tools und -Standards können Anwendungen in der IBM Blockchain Platform Daten von anderen Umgebungen nutzen, oder Funktionen für andere Plattformen bereitstellen.
Durch den Betrieb in einer Cloud haben Unternehmen den großen Vorteil, dass sich schnell und einfach Schnittstellen, Anwender und andere Objekte anbinden lassen, ohne im internen Netzwerk Berechtigungen zu ändern, Firewallregeln anzupassen oder neue Server zu installieren. Teilnehmer können also sehr schnell angebunden werden.
IBM Blockchain Platform stellt Gateways und APIs zur Verfügung, mit denen Migrationen von anderen Plattformen erfolgen oder externe Dienste angebunden werden können. Das macht die Plattform flexibel ausbaubar und transportabel.
Mit der IBM Blockchain Platform können Blockchains schnell erstellt und Funktionen wie Smart Contracts über verschiedene Schnittstellen bereitgestellt und an unterschiedliche Systeme angebunden werden.
Ein Schwerpunkt dabei ist das Einladen von weiteren Mitgliedern zur eigenen Blockchain. Das ist über eine Cloud-Lösung natürlich wesentlich einfacher, als beim Betrieb On-Premises.
Alle Teilnehmer am Netzwerk verbinden sich mit der Cloud und im eigenen Rechenzentrum müssen weder Hardware bereitgestellt, noch Firewalls angepasst werden.
Datenschutz in der Blockchain
Beim Betrieb von Blockchain-Lösungen spielt natürlich auch der Datenschutz eine wichtige Rolle. Die IBM Plattform, die in der IBM Cloud bereitgestellt wird, erfüllt den Standard FIPS 140-2 Level 4 für Hardware-Sicherheitsmodule (HSM).
IBM Cloud Platform setzt auf Kanäle, private Datenbanken und Zero-Knowledge-Proof-Lösungen. Die Kanäle ermöglichen, Transaktionen nicht dem kompletten Blockchain-Netzwerk zur Verfügung zu stellen, sondern nur vorher definierten Teilnehmern.
Mit Zero-Knowledge-Proof-Konzepten kann ein Teil der Teilnehmer über die Eigenschaften von privaten Informationen nachweisen, dass sie im Besitz der privaten Informationen sind, ohne die Informationen selbst nicht berechtigten Teilnehmern zur Verfügung zu stellen.
Das ermöglicht die Verifizierung von Transaktionen und Teilnehmern, ohne private Daten an nicht berechtigte Teilnehmer zu übermitteln.
Developer und IBM Blockchain Platform
Entwickler profitieren von der Arbeit mit IBM Blockchain Platform. Da hier keine nativen Technologien zum Einsatz kommen, sondern führende Open Source-Frameworks wie Hyperledger Fabric 2.0 und den dazugehörigen SDKs, kann die Entwicklung mit Standard-Tools für die Entwicklung stattfinden.
Es gibt auch Erweiterungen für Visual Studio Code. Unterstützt werden zahlreiche Programmiersprachen, die es auch ermöglichen, Smart Contracts zu programmieren.
Beispiele dafür sind Node.js, Go, Java, JavaScript oder Solidity. Das heißt, Entwickler mit Erfahrung in diesen Sprachen und Entwicklungsumgebungen können in der IBM Blockchain Platform schnell einsteigen.
Wer sich in die Technologien der IBM Blockchain Platform einarbeitet, kommt schnell auch auf anderen Plattformen voran, wenn hier ebenfalls Hyperledger Fabric zum Einsatz kommt.
Dazu kommt, dass IBM Vorlagen für Smart Contracts zur Verfügung, genauso wie Vorlagen und eine kostenlose Erweiterung für Visual Studio Code. Die Erweiterung umfasst auch einige Beispiele und Tutorials.
Die Entwicklung der Smart Contracts und anderer Blockchain-Anwendungen können in eigene CI/CD-Pipelines nahtlos integriert werden. Visual Studio Code und die IBM Blockchain Platform Extension for VS Code unterstützen Windows, Linux und macOS.
Das Debuggen von Smart Contracts funktioniert auf diesem Weg genauso, wie beim Entwickeln von anderen Anwendungen.
Für nahezu alle Aufgaben zum Entwickeln und Bereitstellen von Blockchain-Anwendungen können Entwickler mit ihrer Entwicklungsumgebung (IDE) arbeiten und müssen diese auch nicht verlassen.
Arbeiten Entwickler mit der Erweiterung für IBM Blockchain in Visual Studio Code, können die Blockchain-Anwendungen auf allen Plattformen bereitgestellt werden, die Hyperledger Fabric 2.0 unterstützen. Das Debuggen kann innerhalb von Visual Studio Code erfolgen.
Wenn Updates in der Plattform notwendig sind oder die eigenen Blockchain-Anwendungen aktualisiert werden sollen, ist das ohne Downtime der Umgebung möglich. Dadurch kann eine Blockchain-Umgebung in der Cloud hochverfügbar betrieben werden.
Die Plattform ermöglicht den Betrieb von privaten Blockchains, bei denen nicht beliebige Teilnehmer Zugriff haben, sondern bei denen die Teilnehmer eingeladen werden.
Die Vorgehensweise dazu ist in wenigen Sekunden möglich. Das vereinfacht den Ausbau der eigenen Plattform. In Lieferketten darf es keine Herausforderung sein, neue Mitglieder hinzuzufügen.
Durch die Funktion der Kanäle (Channels) können innerhalb einer privaten Blockchain weitere, private Bereiche geschaffen werden. Das ist notwendig, um Sicherheit und Datenschutz zu gewährleisten, zum Beispiel im medizinischen Bereich oder bei Lieferketten.
Visual Studio Code-Erweiterung für IBM Blockchain Platform in der Praxis
Mit der Erweiterung für Visual Studio Code kann jederzeit eine Verbindung zu beliebigen Instanzen der Hyperledger Fabric aufgebaut werden. Hier können verschiedene Aufgaben durchgeführt werden, ohne Visual Studio Code verlassen zu müssen. Dazu gehören Installieren, Instanziieren, Registrieren und Eintragen von Identitäten.
Um eine Verbindung zu einer Hyperledger Fabric-Instanz herzustellen, klicken Sie im Panel „Fabric Environments“ auf die Schaltfläche „+“.
Über JSON-Knotendateien baut Visual Studio Code anschließend eine Verbindung zu einem Hyperledger Fabric-Knoten auf. Zusammen mit der IBM-Erweiterung und Visual Studio Code können Smart Contracts komplett kostenlos entwickelt werden.
Die Smart Contracts funktionieren auf allen Plattformen, die Hyperledger Fabric 2.0 unterstützten. Es ist also nicht notwendig, die Smart Contracts nach der Entwicklung in der IBM Cloud bereitzustellen. Auch lokale Fabrics oder andere Plattformen können dazu genutzt werden.
Generell können neben Instanzen der IBM Blockchain Platform in der IBM Cloud auch andere Instanzen parallel genutzt werden, zum Beispiel Testumgebungen im lokalen Rechenzentrum oder auf dem Rechner der Entwickler.
Über die Option „Enable Local Fabric“ ist es auch möglich, eine auf Docker-basierte Entwicklungsumgebung auf dem lokalen Rechner zu starten. Die Option kann in den Einstellungen der Erweiterung aber jederzeit deaktiviert werden.
In der Konsole kann auch leicht eine Anmeldung an IBM Blockchain Platform mit Benutzername und Kennwort, API-Schlüssel oder Single Sign-On erfolgen.
Für die Entwicklung von Smart Contracts oder anderen Blockchain-Anwendungen ist aber keine dauerhafte Internetverbindung notwendig und auch keine ständige Verbindung zur IBM Blockchain Platform.
Auch offline kann mit Visual Studio weitergearbeitet werden. Für andere Instanzen von Hyperledger Fabric, außerhalb von IBM Blockchain Platform, können Sie die JSON-Knotendateien selbst erstellen.
Nach der Installation der Erweiterung prüft diese, ob die Voraussetzungen auf dem Rechner für die Entwicklung von Blockchain-Anwendungen mit Hyperledger Fabric getroffen wurden.
Fehlen Voraussetzungen, können diese innerhalb von Visual Studio Code hinzugefügt werden. Nachdem die Erweiterung installiert wurde, überprüft sie zunächst die Voraussetzungen.
Wenn die lokale Hyperledger-Fabric genutzt werden soll, werden noch Docker und weitere Tools benötigt. Bei einer Anbindung an eine andere Hyperledger Fabric, zum Beispiel in der IBM Blockchain Platform, reicht es aus, wenn mindestens die „Windows-Build-Tools“ installiert werden.
Nach dem Start von Visual Studio kann über den Menüpunkt „Create New Project“ bei „Smart Contracts“ ein neues Projekt erstellt werden.
Hier können auch alle Gateways, Wallets und angebundenen Instanzen der Hyperledger-Fabrics ausgewählt werden. Auf der Webseite der Erweiterung sind zahlreiche Code-Beispiele zu finden.
Zusammen mit der Erweiterung kann auch das kostenlose E-Book „Getting Started with Enterprise Blockchain“ von IBM heruntergeladen werden.
Das Buch beschreibt, wie eigene Blockchain-Anwendungen effektiv entwickelt werden können, unabhängig von der IBM Blockchain Platform.
Dazu kommen wöchentliche Webcasts, bei denen Spezialisten von IBM regelmäßig über die Möglichkeiten von Blockchain-Anwendungen informieren.
IBM Blockchain Platform kostenlos testen
Parallel zu den Möglichkeiten, mit der kostenlosen Erweiterung für Visual Studio Code zu arbeiten, können Entwickler auch 30 Tage kostenlos auf die Funktionen der IBM Blockchain Platform zugreifen. Dazu gehört etwas Fachwissen zur IBM Cloud dazu.
Es besteht die Möglichkeit, einen Kubernetes-Cluster in der IBM Cloud zu erstellen, den die IBM Blockchain Platform nutzen kann. In der Dokumentation zur Plattform werden die Schritte dazu erläutert.
Auf der Seite „How to get started with IBM Blockchain now“ können Sie sich darüber informieren, wie der Einstieg in die Plattform am schnellsten gelingt.
Fazit
Die IBM Blockchain Platform bietet die Möglichkeit eigene Blockchain-Anwendungen, wie Smart Contracts in einer vollständig verwalteten Blockchain-as-a-Service-Umgebung zu betreiben.
Da die Plattform auf Hyperledger Fabric 2.0 aufbaut, können die Anwendungen auch auf allen anderen Plattformen betrieben werden, die Hyperledger Fabric 2.0 unterstützten.
IBM bietet mit der kostenlosen Erweiterung für Visual Studio Code, inklusive zahlreichen Tutorials und Beispielen einen umfassenden Einstieg in die Entwicklung von Smart Contracts.
Die Erweiterung kann auch unabhängig von der IBM Blockchain Platform genutzt werden, und ermöglicht die Entwicklung mit zahlreichen Programmiersprachen.
Es lohnt sich für Entwickler, sich einen Überblick zu den Möglichkeiten der Erweiterung und damit der IBM Blockchain Platform zu verschaffen.
Für erste Schritte zur Entwicklung sind keinerlei kostenpflichtige Tools oder Abonnements notwendig.
Wer sich nach einem ausführlichen Test für die Verwendung der IBM Blockchain Platform entscheidet, fällt dennoch keine endgültige Entscheidung.
Da die Blockchain-Anwendungen auf der IBM-Plattform auf Hyperledger Fabric 2.0 aufbauen, lassen sich diese jederzeit auch auf anderen Plattformen betreiben.
Die IBM Blockchain Platform setzt bei dem Betrieb der Blockchain auf Container-Lösungen wie Red Hat OpenShift. Dadurch können auf Anforderung auch komplette Blockchain-Lösungen zu anderen Plattformen umgezogen werden.