Was sind Software Canister?
Software Canister sind eine neue Technologie, die das ebenfalls neue Internet Computer Protocol (ICP) zur Kommunikation nutzen.
Dabei handelt es sich um ein Blockchain-Projekt der Stiftung Dfinity, die auch eine dazugehörige Kryptowährung mit der Bezeichnung Internet Computer (ICP) aufgelegt hat.
An dem Projekt arbeiten über 200 Programmierer, Kryptografen und Mathematiker in Zürich, San Francisco und Tokio. Gründer des Projektes ist der Engländer Dominic Williams.
Einer der bekanntesten Mitarbeiter bei Dfinity ist der Schweizer Jan Camenisch, der fast 20 Jahre lang einer der führenden Wissenschaftler bei IBM war. Camenisch hält 120 Patente aus den Bereichen Kryptografie und Datenschutz.
Die Revolution des Internets ist im Fokus von Dfinity
Dfinity will mit ICP und Software Canistern das Internet revolutionieren. Wie das genau passieren soll, zeigen wir in diesem Beitrag ausführlicher.
Der bekannteste Part des neuen Projektes ist sicherlich die Kryptowährung ICP. Beim ICP-Token handelt es sich aber nicht nur um eine weitere Kryptowährung, sondern ein Projekt, das Webdienste und Anwendungen im Internet revolutionieren will.
Goldmann Sachs ordnet das Projekt als eines der zehn wichtigsten Blockchain-Projekte der nächsten Jahre ein. Ob sich die Bemühungen der Entwickler lohnen, zeigt die Zeit.
Es ist aber durchaus zu erwarten, dass in Zukunft verschiedene Serverdienste im Internet mit Internet Computer durchgeführt werden können und auf Software Canistern basieren.
Bei dem Projekt handelt es sich zunächst um ein weltweites Computernetzwerk mit der Bezeichnung „Internet-Computer“. Aktuell nutzt die Organisation dazu verschiedene Rechenzentren.
In Zukunft sollen Anbieter Speicherplatz und Rechenpower zur Verfügung stellen und damit in ICP-Token bezahlt werden. Auf den Knoten des Internet-Computers laufen dabei eine große Anzahl an Software Canistern.
In diesen Canistern sind wiederum Anwendungen in Betrieb, mit denen Benutzer mit dem Internet-Computer interagieren können.
Diese ICP Software Canister entsprechen im Grunde genommen Smart Contracts und tauschen über Smart Contracts auch Nachrichten untereinander aus.
Wir erklären im folgenden Beitrag näher, was die Software Canister sind und wie sie funktionieren.
Software Canister und das ICP-Token
In der Kryptowelt spielen Software Canister derzeit noch keine große Rolle. Im Fokus steht eher die damit einhergehende Kryptowährung des Internet Computers (ICP).
Das ändert aber nichts daran, dass das Projekt durchaus interessant ist. Es muss nicht gleich die komplette Umstellung des Internets zum Internet Computer Protocol erfolgen.
Es reicht, wenn verschiedene Serverdienste sinnvoll auf das dezentrale Konzept umgestellt werden. Anwendungen sicher in der Blockchain zu betreiben, ist mit Sicherheit ein wachsender Markt in der Zukunft.
Web 3.0 und Hype von ICP mit anschließendem Absturz
Der Internet-Computer von Dfinity will den Wechsel zum Web 3.0 vollziehen, bei dem das Internet noch interaktiver wird, und die Blockchain enger in die Infrastruktur Einzug hält.
Außerdem möchte das Projekt die Monopole der großen Internetkonzerne aufbrechen, indem das neue ICP-Protokoll für die Kommunikation im Internet zum Einsatz kommt und Webanwendungen verstärkt auf den Internet-Computer setzen.
Das Projekt ging im Mai 2021, mit wenig Erfolg und nach fünf Jahren, online, erholte sich aber im Laufe des Jahres 2021 wieder.
Zwar ist der Kurs des ICP-Tokens mit 700 US-Dollar in kurzer Zeit auf eine Marktkapitalisierung von über 20 Milliarden US-Dollar gewachsen, danach aber wieder um über 90 % deutlich abgestürzt.
Das liegt natürlich nicht nur an ICP selbst, sondern auch am generellen, schwachen Kryptowährungsmarkt im Sommer 2021. Der Erfolg der Kryptowährung hängt in Zukunft auch davon ab, ob sich das Projekt profitabel und vor allem funktional erweist.
Software Canister sind ein wichtiger Bestandteil des Internet-Computers
Ein Canister ist eine bestimmte Recheneinheit, die Programm und Zustand gleichermaßen enthält.
Software Canister entsprechen im Grunde genommen Containern, da sie nicht nur den kompilierten Code enthalten, sondern auch die Abhängigkeiten von Anwendungen oder Diensten. Die Container-Funktionen sind aber nicht alles, was Canister können.
Vor allem im Zusammenhang mit Smart Contracts in Blockchains sind Software Canister interessant, da sie das ideale Werkzeug zum Skalieren von Internetdiensten sind.
Software Canister und Smart Contracts sind eng miteinander verknüpft, da Smart Contracts auch steuern, auf welchem Knoten ein Software Canister mit seiner virtuellen Anwendung derzeit bereitgestellt wird. Einfach ausgedrückt, handelt es sich auch bei Software Canistern um bessere Smart Contracts.
Gleichzeitig stellen Software Canister selbst Smart Contracts dar, nur mit deutlich mehr Möglichkeiten in der Kommunikation und Skalierung.
Damit lassen sich auch komplexe Softwaredienste in der Blockchain selbst betreiben. Gerade die Skalierung ist bei vielen Blockchain-Lösungen der limitierende Faktor, der sich mit Software Canister auflösen lässt.
Open Source-Programmiersprache Motoko unter der Apache 2.0-Lizenz verfügbar
Um dApps und Smart Contracts in der Blockchain des Internet-Computers bereitstellen zu können, ist eine Programmiersprache notwendig, welche die Blockchain unterstützt und auch ICP beherrscht.
Seit Juni 2021 ist dazu die Open Source-Programmiersprache Motoko verfügbar, mit der sich Smart Contracts und dApps erstellen lassen.
Wer ICP Software Canister entwickeln will, sollte sich mit der Open Source-Programmiersprache auseinandersetzen.
Die Programmiersprache unterstützt die ICP Software Canister vollständig. Parallel dazu stellt Dfinity auch das Toolkit „Quill“ auf GitHub zur Verfügung.
Dabei handelt es sich um ein Ledger- und Governance-Toolkit zur Verwaltung der ICP-Tokens und zum Senden und Empfangen von Nachrichten von und zu Software Canistern. Auch diese Software basiert auf Open Source.
Canister und Aktoren verstehen
Canister verhalten sich grundsätzlich wie Aktoren. Dabei werden einzelne Einheiten, in diesem Fall Software Canister, miteinander verbunden, indem der Datenaustausch ausschließlich über Nachrichten in einem sicheren System stattfindet.
Die Programmiersprachen Erlang und Scala setzen stark auf Aktoren, und auch die ICP-Programmersprache Motoko nutzt sie für Software Canister.
Ein Beispielcode dafür sieht folgendermaßen aus:
actor Factorial {
var last = 1;
public func next() : async Nat {
last *= await Counter.inc();
return last;
}
};
ignore await Factorial.next();
ignore await Factorial.next();
await Factorial.next();
Das mathematische Modell für gleichzeitige Berechnungen steuert, dass ein Aktor seinen Zustand ändern kann, wenn er bestimmte Nachrichten erhält. Gleichzeitig kann er Nachrichten auf Basis seiner Aktionen versenden.
Der private Zustand eines Canisters kann nur durch den Canister selbst geändert werden. Canister können durch asynchrone Nachrichten miteinander kommunizieren und auch selbst weitere Canister erstellen.
Diese Technologien sind zentraler Bestandteil des Internet-Computers und lassen sich durch Motoko programmieren.
Software Canister sind Bestandteil des neuen Internet-Computers
Software Canister sind ein wichtiger Bestandteil des Internet-Computer-Projektes der Stiftung Dfinity. Im Fokus des Internet-Computers sind virtuelle Anwendungen, die ähnlich wie Container funktionieren.
Die Anwendungen laufen in Software Canister, die keine physische Adresse bekommen, sondern unabhängig vom eingesetzten Rechnerknoten innerhalb des Rechnerverbundes von Dfinity laufen.
In Zukunft soll es immer mehr Knoten geben, die zu einem gemeinsamen Internet-Computer zusammengefasst werden und auf denen die Software Canister laufen.
Zusammengehalten und abgesichert wird diese Technik durch die ICP-Blockchain, die finanziellen Transaktionen laufen über die Kryptowährung ICP.
Derzeit gibt es Rechenzentren in der EU, USA und Singapur. Das ist aber natürlich nur der Anfang des Projektes.
Die Software Canister enthalten Code, der als WebAssembly im Browser der Anwender laufen soll. In Zukunft sind natürlich weitere Möglichkeiten und Client-Anwendungen denkbar.
Wichtig ist, dass Anwender auf die jeweilige Anwendung immer zugreifen können, ohne die genaue Adresse zu kennen.
Die Blockchain verbindet Anwender über Smart Contracts mit dem Software Canister der jeweiligen Anwendung und Anwender können das Programm überall nutzen.
Grundsätzlich es denkbar, dass alle Arten von Software in den Software Canistern laufen. Dabei kann es sich um Unternehmenssoftware handeln, soziale Netzwerke, Spiele und Dienste wie E-Mail und Chats.
Software Canister vs. Container
Ähnlich wie Container können Software Canister Anwendungen von der Umgebung entkoppeln und dadurch unabhängig von Betrieb und Speicherort machen.
Ergänzend können Canister auch den aktuellen Stand der Software speichern, inklusive Ereignisse und Interaktionen von Benutzern.
Das macht die Anwendungen extrem flexibel, da sie überall gestartet werden können und auch ein Wechsel der physischen Knoten, auf denen die Software Canister laufen, problemlos möglich ist.
Software Canister können Aufzeichnungen von Zustandsänderungen integrieren, die auf Basis der selbst bereitgestellten Anwendung aufbauen.
Genau das macht die Kombination von Software und deren Zustand im Canister aus. Diese Möglichkeiten sind auch für Smart Contracts ideal, da auch hier der Zustand und der Programmcode selbst im Canister darstellbar sind.
Software Canister verhalten sich im Grunde genommen genauso wie Container, sind aber wesentlich flexibler.
Canister als Smart Contracts verstehen
Wer mit Motoko dApps in Canistern programmiert, behandelt Canister grundsätzlich wie Smart Contracts. Die Ausführung von Canistern erfolgt mit dem Internet Computer Protocol (ICP), gesichert in der Blockchain.
Das entspricht der Vorgehensweise von Smart Contracts. Gleichzeitig stellt diese Integration die Manipulationssicherheit dar, da Änderungen nur durch Transaktionen in der Blockchain möglich sind.
Anwendungen und Dienste im Web mit Software Canister betreiben
Software Canister sind nicht nur die ideale Basis für einfache Webanwendungen. Auch komplexere Umgebungen, bei denen mehrere Software Canister einen Webdienst zur Verfügung stellen, sind denkbar.
Microservices sind bereits in Container-Umgebungen gängig. Durch Software Canister lassen sich Container aber deutlich aufbohren und mit der Blockchain auch komplett ins Internet auslagern.
Verschiedene Canister können in der Blockchain zu Clustern zusammengefasst werden und gemeinsam einen zentralen Dienst zur Verfügung stellen.
Web canister: A bundling of software and state.
Scalable internet services and software systems are implemented on the @dfinity Internet Computer using web canisters. The front end code (HTML, JavaScript, etc.) can even be bundled into a canister and pulled from the network. pic.twitter.com/tOf5rIgb2B
— ICP Explorer ∞ (@icpexplorer) June 3, 2019
Software Canister und das Internet Computer Protocol
Software Canister sind der wichtigste Faktor für den Internet-Computer von Dfinity. Generell verhalten sich Canister wie Smart Contracts.
Die Ausführung und Kommunikation erfolgt mit dem neuen Internet Computer Protocol (ICP). Dieses Protokoll soll für alle Dienste nutzbar sein, die in Software Canistern der Blockchain laufen. Weitere Protokolle sind für die Kommunikation nicht notwendig.
Da Canister eng mit der Blockchain verknüpft sind, profitieren sie auch von den Vorteilen der Blockchain. Zunächst sind Software Canister und deren Dienste sicher vor Manipulation.
Die Nachrichten zu und zwischen den Canister laufen über Smart Contracts und innerhalb der Blockchain. Die Ausführung des Canisters ist ebenfalls in der Blockchain geschützt und der Zustand ist kryptografisch jederzeit vollständig nachvollziehbar.
Wie und ob sich diese Technik durchsetzt, lässt sich derzeit noch nicht genau sagen. Klar ist, dass es ständigen Bedarf daran gibt, immer mehr Dienste in die Cloud auszulagern.
Microsoft zeigt das aktuell mit seinem Cloud-PC/Windows 365, der von überall Zugriff gestattet, unabhängig von der eingesetzten Hardware.
Zusammen mit den Vorteilen der Blockchain, können sich hier einige Vorteile für Unternehmen ergeben, die sichere Clouddienste mit der Blockchain verknüpfen wollen.
Abrechnung und Bezahlung von Software Canister
Natürlich muss auch irgendwo die Software tatsächlich bereitgestellt werden, auf der die Software Canister aufbauen. Trotz Containerisierung und Virtualisierung ist physische Hardware notwendig.
Kritiker sagen über solche Dienste gerne: „Es gibt keine Cloud, nur die Computer anderer Leute“. Am Ende laufen also auch Software Canister auf physischer Hardware, die wiederum Energie und Platz benötigt.
Derzeit bietet Dfinity die bereits erwähnten Rechenzentren. In Zukunft kommen hier natürlich weitere Knoten dazu, auch von externen Anbietern, die Knoten für die ICP-Blockchain bereitstellen.
Die Bezahlung von Software Canistern und deren Betrieb erfolgt mit „Cycles“, die auf dem ICP-Token aufbauen. Abrechnung, Verteilung und Kommunikation funktionieren hier wieder über Smart Contracts.
Das deckt auch einen Nachteil dieser Möglichkeiten auf. Alle Aktionen und Software Canister muss jemand bezahlen. Auch Transaktionen in der ICP-Blockchain kosten etwas.
Der Dienst bietet daher viele Verdienstmöglichkeiten, allerdings sind derzeit keine Open Source-Lösungen in Planung, mit denen Dienste auch kostenlos dargestellt werden können.
Einfach ausgedrückt könnte man den Internet-Computer auch als neue Cloud-Lösung auf Basis von Containern bezeichnen, der mit der Blockchain abgesichert ist und auf Smart Contracts aufbaut.
CanCan – Der TikTok-Klon auf Basis von Software Canister
Mit CanCan, einer der ersten Apps auf Basis von Software Canistern, lassen sich Funktionen, die aus TikTok bekannt sind, auch in der Blockchain nutzen.
Die Software nutzt das ICP-Protokoll und damit Blockchain-Technologien. Aus diesem Grund sind auch Belohnungen in Form von Token möglich, die wiederum innerhalb der App reinvestiert werden können.
Auch das Spenden zum Uploader des Videos ist möglich, genauso wie der Umtausch in ICP-Tokens. CanCan zeigt die Möglichkeiten, die ICP bietet, und auch welche Transaktionen notwendig sind.
Fazit
Das Internet-Computer-Projekt und die Software Canister haben das Potenzial, die Container-Technologie zu revolutionieren und auch die Verwendung des Internets auf neue Stufen zu heben.
Ob es Dfinity schafft, das Monopol von Amazon, Google und Microsoft zu brechen ist eher unwahrscheinlich. Wahrscheinlicher ist, dass einer der großen Player am Markt in das Objekt einsteigen wird, unter Umständen sogar mehrere.
Durch die Verknüpfung von Cloud, Blockchain und Container ergeben sich viele Einsatzmöglichkeiten, auch über die Bezahlung in der Kryptowährung.
Nicht ohne Grund zählt Goldmann Sachs das Projekt zu den wichtigsten Projekten im Blockchain-Bereich und sieht eine große Zukunft voraus.
Hier reicht es bereits aus, wenn es erste Projekte gibt, die produktiv die Funktionen von ICP und Software Canister nutzen.