Kurzdefinition: Bei einer Decentralized Application, häufig abgekürzt als DApp, handelt es sich um eine Software-Anwendung, die auf einem dezentralen Peer-to-Peer-Netzwerk aufgebaut ist.
Ohne Apps wären Smartphones und Computer nur halb so benutzerfreundlich und nützlich, wie sie es heute sind. Viele Aufgaben und Probleme, ob alltäglich, privat oder beruflich, lassen sich mit Applikationen verwalten und bewältigen. Dezentrale Apps sind eine Weiterentwicklung und erlauben es Anwendungen auf Blockchains auszuführen und zu speichern. Doch wie funktioniert das eigentlich und warum ist eine solche Entwicklung so wichtig?
Die Entstehung der dApps
Bitcoins Blockchain war das erste dezentrale Netzwerk dieser Art. Ihre Hauptfunktion war es den Austausch und Speicherung von Werten, in diesem Fall der Kryptowährung Bitcoin, zu gewährleisten. Die Funktionalität der Bitcoin Blockchain war jedoch nicht darauf ausgelegt größere Datenmengen zu speichern. Außerdem eignete sich die Bitcoin aufgrund ihrer Skriptsprache nicht dafür dezentrale Anwendungen auszuführen. Sie ist stark vereinfacht, nicht Turing-complete und bietet keinen Loop-Support.
Erst mit der Entwicklung von Ethereum, kam die erste Blockchain, die für die Entwicklung von dezentralen Anwendungen wie DeFi geeignet war. Ethereum Virtual Machine (VM) und Smart Contracts bildeten den Grundstein für dApps. Später wurden auch andere Blockchains, wie zum Beispiel von NEO, EOS oder Lisk entwickelt, die ebenfalls für die Entwicklung von dezentralen Anwendungen ausgelegt sind. Seit ihrer Entwicklung hat die Anzahl der dezentralen Apps rasant zugelegt. Die Website State of the DApps dokumentiert diesen Prozess anschaulich. Während es im April 2015 insgesamt nur 24 dezentrale Anwendungen auf dem Markt gab, sind es im Mai 2021 bereits mehr als 3500 dieser dezentralen Apps.
Der entscheidende Unterschied liegt im Backend-Code
Der Frontend-Code einer DApp kann in jeder beliebigen Sprache erstellt sein und unterscheidet sich für den Benutzer häufig kaum von einer beliebigen anderen App. Im Gegensatz dazu sieht der Backend-Code jedoch ganz anders aus. Bei den dezentralen Apps besteht dieser aus Smart Contracts, die auf einem dezentralisierten Netzwerk gespeichert sind. Ein Smart Contract ist wie ein Regelwerk oder Vertrag, der auf der Blockchain gespeichert wird. Der Inhalt des Smart Contracts ist durch die Speicherung auf der Blockchain für alle nachvollziehbar und transparent. Ein Smart Contract kann dabei nicht nur Transaktionen, sondern auch jede andere beliebige Vereinbarung ausführen. Somit sind sie für die App-Logik verantwortlich.
Wie funktioniert eine DApp?
DApps bestehen aus Smart Contracts. Doch nicht jeder intelligente Vertrag ist automatisch eine dezentrale Anwendung. Eine wichtige und entscheidende weitere Komponente, die einen Smart Contract erst zu einer dezentralen Anwendung macht, ist die Frontend-Anwendung, die eine Benutzerinteraktion erst möglich macht. Für das Frontend kann dabei jede beliebige Sprache genutzt werden. Häufig benötigen Benutzer eine Browsererweiterung, die es ihnen erlaubt mit der Blockchain zu interagieren und die Benutzeridentität zu verwalten.
Ethereum war die erste Blockchain, die für DApps ausgelegt war. Daher soll sie hier beispielhaft für die Beschreibung der Funktionsweise dienen. Eine der wichtigsten Gründe für den Erfolg von Ethereum war die Entwicklung einer Technologie namens quasi-Turing Ethereum Virtual Machine, abgekürzt EVM. Eine Turing-Machine kann jeden Computeralgorithmus simulieren und ausführen.
Der Code im Backend für die EVM besteht aus Smart Contracts. Dieser Code kann für die EVM programmiert werden und wird dann auf dem dezentralen Computernetzwerk ausgeführt. Netzwerkknoten innerhalb der Blockchain, führen die Berechnungen des Konsensalgorithmus aus, die für die Aktivität und Funktion der DApps nötig sind aus. Dafür erhalten die Knotenbetreiber eine Belohnung in Form von Kryptowährungen, im Fall von Ethereum handelt es sich um Gas.
Die einzige Einschränkung für den Entwickler einer DApp liegt damit in der Anzahl der Berechnungen, die erforderlich sind, um den Algorithmus des Smart Contracts zu vervollständigen. Denn steht kein Gas mehr für den Code des Smart Contracts zur Verfügung, dann wird er gekündigt. Das schränkt die die Ressourcen ein, die ein Smart Contract verwenden kann, im Vergleich zur abstrakten Turing-Maschine, die über unbegrenzte Ressourcen verfügt und Endlosschleifen ausführen kann. Aus diesem Grund bezeichnet man die EVM auch als quasi-Turing.
Die wichtigsten Eigenschaften einer DApp sind:
- Dezentralisiert: Im Gegensatz zu herkömmlichen Apps, werden dezentrale Anwendungen nicht auf einem einzelnen Server gespeichert und können nicht von einer Gruppe oder Organisation kontrolliert werden.
- Deterministisch: Sie können unabhängig von ihrer Umgebung die gleiche Funktion ausführen.
- Touring-complete: Mit den erforderlichen Ressourcen kann eine dezentrale App jede Aktion ausführen.
- Isoliert: DApps werden in einer virtuellen Umgebung ausführt. Wenn ein Smart Contract oder eine dezentrale Anwendung einen Fehler aufweist, schränkt das nicht die Funktionalität des Blockchain-Netzwerks ein.
Die verschiedenen DApp Typen
Es gibt verschiedene Möglichkeiten DApps zu klassifizieren. Eine der gängigsten Methoden ist sie nach der Art der verwendeten Blockchain einzuteilen:
- DApps, die auf ihrer eigenen Blockchain basieren, wie zum Beispiel Ethereum.
- DАррs, die zwar auf der Blockchains von Typ-1-Apps laufen, aber ihre eigenen Token (was ist ein non-fungible Token) verwenden. Ein Beispiel für eine solchen Typen findet sich auf Augur Plattform. Augur basiert auf der Ethereum Blockchain, verwendet jedoch einen eigenen Token.
- Schließlich gibt es noch dezentrale Anwendungen, die Typ-2-Quellcodes verwenden. Ein Beispiel ist das SAFE-Netzwerk. Es verwendet das Omni-Protokoll (eine Typ-2 DApp-Plattform), gibt jedoch seine eigenen Token aus.
Eine weitere Möglichkeit DApps einzuteilen, ist nach ihrem Verwendungszweck:
- Finanz-Apps: Diese DApps geben ihren Benutzern Werkzeuge an die Hand, um ihre Finanzen zu verwalten. Dabei kann es sich sowohl um Fiat- als auch Kryptowährungen handeln.
- Teil-Finanz-Apps: Bei dieser Art geht es nur im entfernten Sinne um Geld. Ihr Hauptzweck ist ein anderer. Beispiele hierfür sind Bonus- und Punktesysteme innerhalb von Treueprogrammen. In diese Gruppe fallen auch Glücksspiel DApps.
- Nicht-finanzbasierte Apps: Diese Kategorie hat nichts mit Geld zu tun. Hier stehen andere Dienste im Vordergrund. Dazu gehören zum Beispiel DApps zur Personenidentifikation, Umfragen, dezentrale Dateispeicherung, Spiele und vieles mehr.
Welche Vorteile bietet die DApp Entwicklung?
Der Einsatz von DApps bietet im Vergleich zu herkömmlichen Anwendungen viele Vorteile. Dazu gehören unter anderem:
- Keine Ausfallzeiten: Ist ein Smart Contract im Kern einer DApp und in der Blockchain bereitgestellt ist, kann das Netzwerk als Ganzes immer Kunden bedienen, die mit ihr interagieren möchten. Dezentrale Apps sind damit vor böswilligen Attacken wie zum Beispiel Denial-of-Service-Angriffe geschützt.
- Datenschutz: Benutzer müssen keine realen Identitäten oder persönliche Daten angeben, um mit einer DAPP zu interagieren.
- Zensurresistent: Durch ihre dezentrale und autonome Natur sind dezentrale Awendugen vor Zensur geschützt.
- Vollständige Datenintegrität: Daten, die in der Blockchain gespeichert sind, sind unveränderlich und unbestreitbar. Transaktionen oder bereits veröffentlichte Daten können nicht gefälscht oder manipuliert werden.
- Vertrauenslose Umgebung: Durch den Einsatz von Smart Contracts auf der Blockchain garantieren dezentrale Anwendungen einen reibungslosen Ablauf, ohne dabei auf zentrale Behörden oder einen Vermittler vertrauen zu müssen. Bei traditionellen Systemen ist dies nicht der Fall. Hier müssen Nutzer darauf vertrauen, dass Institutionen, Server-Betreiber oder Firmen ihre Daten nicht missbrauchen und vor Hacking-Angriffen schützen.
Die Zukunft der DApps
Die Anzahl und Anwendungsmöglichkeiten für dezentrale Apps wächst stetig und rasant. In naher Zukunft werden DApps in vielen Branchen von großer Bedeutung werden. Ihre Auswirkungen sind bereits in vielen Branchen spürbar oder nehmen erste Formen an. Darunter gehören zum Beispiel:
- Bankwesen
- Glücksspiel
- Immobilien
- Energie
- Wahlen und Abstimmungen
- Sozialen Medien
- Internet of Things
- Identitätsüberprüfung
- Die Weiterentwicklung des Internets als Ganzes zu einem dezentralen Internet Computer