Was ist eine DApp (dezentralisierte App)?

Eine DApp bezeichnet eine dezentralisierte App. Anders als übliche Apps, wie beispielsweise der Instant-Messenger WhatsApp, werden DApps nicht von einem einzelnen Anbieter betrieben, gewartet oder weiterentwickelt. Wäre WhatsApp eine DApp, würde sie nicht allein von Facebook betrieben werden. Facebook hat jederzeit die Möglichkeit die Software des Instant-Messengers nach den eigenen Vorstellungen zu verändern.

Das ist z.B. bei Bitcoin und Ether nicht möglich. Bitcoin und Ether sind eine DApp und im Unterschied zu WhatsApp Open Source. Die Software von Bitcoin und Ether funktioniert dezentralisiert, nicht zentralisiert. Wo genau liegen die Unterschiede zwischen Apps und DApps? Wofür wurden DApps entwickelt? Wie funktionieren sie?

 

apps-vs-dapps Was ist eine DApp (dezentralisierte App)?
Apps vs DApps @wikipedia.org

 

DApp – Vier Definitionskriterien

Eine Software sollte vier Kriterien erfüllen, damit sie als DApp bezeichnet werden kann. Sie muss Open Source sein, auf einer Blockchain basieren, kryptografisch verschlüsselte Token anbieten und über einen Mechanismus verfügen der diese Token erzeugt. Wie sich zeigen wird, hängen diese vier Kriterien eng miteinander zusammen.

 

1. Kriterium: Open Source

Eine Open-Source-Software verfügt über einen frei zugänglichen Quelltext. Der Quelltext ist der Code einer Software, der in einer bestimmten Programmiersprache verfasst ist und als geschriebener Text besteht. Ein Quelltext verhält sich zu einer App, wie die DNA zu einer Maus. Wird im Quelltext etwas geändert, verändern sich die Funktionen des Computerprogramms. Genauso wie einer Maus ein Ohr auf dem Rücken wächst, wenn Wissenschaftler in ihrer DNA etwas ändern. Ein frei zugänglicher Quelltext kann, abgesehen von den Entwicklern der Software, von Dritten eingesehen, umprogrammiert und frei verwendet werden.

Eine DApp sollte über einen zugänglichen Quelltext verfügen. Zudem muss dieser Quelltext autonom operieren. Es gibt keine zentrale Instanz, wie einen Systemadministratoren, der alleine darüber entscheidet, wie die zukünftige Entwicklung der DApp aussehen soll. Vielmehr muss sich das Protokoll, wodurch der Quellcode festgehalten wird, an Veränderungsvorschläge für die zukünftige Entwicklung oder aber auch an Marktreaktionen anpassen. Alle Entwicklungen innerhalb des Quellcodes müssen außerdem durch einen Konsens der Entwickler entschieden werden.

 

2. Kriterium: Blockchain

Alle DApps müssen, um die Definition zu erfüllen, Daten, Berichte und den Quellcode auf einer dezentralisierten Blockchain speichern. Eine Blockchain (dtsch. Block-Kette) ist eine Software, die auf vielen verschiedenen, miteinander vernetzten Computern betrieben wird. Anders als bei WhatsApp, wo der Instant-Messenger durch ein zentrales Rechenzentrum betrieben wird, funktionieren DApps deshalb dezentralisiert. Das hat den Vorteil, dass sie nicht gehackt werden können. Wird das gesamte Rechenzentrum von WhatsApp gehackt, funktioniert WhatsApp nicht mehr und Daten können gestohlen werden und im schlimmsten Fall missbraucht werden.

Das ist bei einer DApp nicht möglich, weil ihr Quellcode auf einer Blockchain und damit auf vielen verschiedenen, miteinander vernetzten Computern gespeichert ist. Um eine DApp zu hacken, müssten Angreifer jeden einzelnen Computer des Netzwerkes gleichzeitig angreifen, die kryptografische Verschlüsselung der Blockchain knacken und dann den Quellcode der DApp ändern. Das ist nahezu unmöglich, weshalb die Wahrscheinlichkeit, eine DApp zu hacken, gegen null geht. Die Speicherung des Quellcodes auf einer dezentralen, aber dennoch öffentlich einsehbaren, Blockchain verringert Angriffsflächen. Der Quellcode einer Software wird bloß gezielt ausgewählten Entwicklern zur Verfügung gestellt. Denn den Quellcode dürfen nur Entwickler ändern, welche über sogenannte Tokens verfügen.

 

apps-in-zukunft-dapps Was ist eine DApp (dezentralisierte App)?
Aus Apps werden bald DApps

 

3. Kriterium: kryptografisch verschlüsselte Token

Kryptografisch verschlüsselte Token sind beispielsweise Teil einer kryptografisch verschlüsselten Blockchain. Was genau ein Token ist, ist nicht ganz so einfach zu verstehen. Wenn jemand in einem Satz das Wort „Hund“ verwendet, kann dieser Begriff unterschiedliche Bedeutungen haben. In dem Satz „Das ist mein Hund Bello.“, bezeichnet der Begriff tatsächlich einen echten Hund. In dem Satz „Du Hund!“, wird der Begriff als Beleidigung verwendet. Und in dem Satz „Was ist das für ein Hundewetter.“, meint der Begriff beispielsweise ein stürmisches, regnerisches Wetter.

Es ist erkennbar, dass der Begriff von der Grundbedeutung her ein Säugetier mit Fell, mit vier Beinen, einem Schwanz, einer feuchten Nase, was bellen kann bezeichnet. In den unterschiedlichen Satzkontexten jedoch bekommt der Begriff eine andere Bedeutung. Die Grundbedeutung des Begriffes „Hund“ bleibt jedoch dieselbe. Sie bezeichnet in der eigenen Vorstellung immer das Säugetier. Die Grundbedeutung des Begriffes kann auch als „Type“ bezeichnet werden. Je nachdem in welchen Kontexten der Begriff nun verwendet wird, ändert sich diese Bedeutung. Die tatsächliche Verwendung des Begriffes „Hund“ wird „Token“ genannt.

Ein Token ist eine definite Verwendung eines Begriffes in einem festgelegten Kontext. Kryptografisch verschlüsselte Token sind digitale Einheiten, welche eine Kopie eines sensiblen Datensatzes auf einer Blockchain darstellen. Wenn Miner mit Token operieren, also mit Bitcoins Handel betreiben, denn Bitcoins sind die Token der Bitcoin-Blockchain, handeln sie mit einer Kopie eines Datensatzes der Bitcoin-Blockchain. Das hat den Zweck, dass sie einerseits für das Mining, also die Erzeugung von Bitcoin durch die Lösung von Hashfunktionen, belohnt werden und andererseits die Blockchain nicht hacken können. Jedes Token bleibt solange ein Token, bis mehrere Miner, durch ein Peer-to-Peer-Netzwerk, eine Transaktion über die Blockchain bestätigt haben.

Auf eine einfache Ebene runtergebrochen, kann Paul Marie einen Bitcoin senden. Paul sendet den Bitcoin direkt an die Wallet-Adresse von Marie. Der Bitcoin, bzw. das Token, wird nun gemeinsam mit den Sender- und Empfänger-Adressen auf der Blockchain verzeichnet. In einem nächsten Schritt überprüfen Miner die Transaktionsbedingungen. Wenn mehrere Miner zum selben Ergebnis kommen, hat die Transaktion wirklich stattgefunden. Das hat den Zweck, dass keine zentrale Instanz notwendig ist, um eine Transaktion durchführen zu können. Weiterhin kann Paul auf diese Weise sein Token, also den Betrag den er in Bitcoin versendet, nicht beliebig umprogrammieren. Paul könnte sein Token einfach so umprogrammieren, dass er auf einmal zwei Bitcoin an Marie sendet, obwohl er nur einen besitzt. Genau dafür sind Token da. Sie verändern die Information, wer wie viel an wen gesendet hat, nicht direkt auf der Blockchain, sondern stellen eine verschlüsselte Datenkopie dar, welche von mehreren Minern überprüft wird, bevor sie endgültig in die Blockchain integriert wird. Auf diese Weise können Miner belohnt werden und falsche Transaktionen bzw. Angriffe auf die Blockchain können sehr effizient abgewehrt werden.

 

4. Erzeugung von Token

DApps müssen einen Mechanismus verwenden, um kryptografisch verschlüsselte Token generieren zu können, damit Miner eine Belohnung bekommen können. Bitcoin verwendet den SHA-256-Algorithmus, den sogenannten Proof-of-Work-Algorithmus, um Bitcoins zu schürfen. Miner können sich einfach eine Bitcoin-Software herunterladen und Rechenleistung zur Verfügung stellen, um über eine Hashfunktion Transaktionsdaten miteinander zu verrechnen, damit diese verschlüsselt in der Bitcoin-Blockchain gespeichert werden können. Miner bilden das Rückgrat des Bitcoin-Netzwerkes. Ohne sie würde das Netzwerk nicht funktionieren. Diese vier Kriterien müssen erfüllt sein, damit eine App als DApp bezeichnet werden kann. Weiterhin gibt es drei Klassen von DApps.

 

Drei Klassen von DApps

Die drei Klassen von DApps sind:

  • Typ 1: DApps die eine eigene Blockchain betreiben
  • Typ 2: DApps die eine Blockchain von Typ 1 verwenden
  • Typ3: DApps die das Protokoll von Typ 2 verwenden

Die drei Klassen bauen logisch aufeinander auf. Als Beispiel sei die Kryptowährung Ethereum angeführt. Ethereum erfüllt die vier Kriterien einer DApp. Das Protokoll von Ethereum ist Open Source, Ethereum verfügt über eine eigene Blockchain, verwendet kryptografisch verschlüsselte Token und verfügt über einen Token-Erzeugungs-Mechanismus.

Ethereum bietet sogenannte Smart Contracts an. Das sind digitale Verträge, welche zu festen Bedingungen programmiert werden und bei Erfüllung dieser Bedingung automatisch die vereinbarten Vertragsbedingungen erfüllt. Das hat beispielsweise den Vorteil, dass menschliche Fehler, beim Abschluss eines Vertrages, vollständig ausgeschlossen werden können. Über die Smart Contracts wird es möglich eigene DApps anbieten zu können. DApps die auf der Ethereum-Blockchain basieren sind beispielsweise R3, ein Blockchain-Konsortium, GNOSIS, eine Anwendung für dezentrale Prognosemärkte oder Microsoft Azure, ein Blockchain as a Serivice (SaaS). Diese drei Beispiele sind in den Typ 2 einzuordnen, weil sie die Blockchain von Ethereum verwenden, also Typ 1. Eine Applikation die nun die Infrastruktur der Microsoft Azure Cloud nutzt, kann in den Typ 3 eingeordnet werden. Ein Beispiel dafür ist Heineken, Real Madrid oder Absolut, die alle auf Basis von Microsoft Azure eine App betreiben.

Über die Smart Contracts wird es möglich eigene DApps anbieten zu können

 

 

Liste von bekannten DAPPS

  • UbiTok.io – Exchange Plattform für Ethereum Token
  • Decentraland – Virual Reality Plattform
  • Life Lottery – Faires Lotterie
  • Gnosis – Plattform für Vorhersagen
  • CryptoKitties – Onlinespiel mit virtuellen Katzen
  • GotCHA – Simples und faires Spiel um ETH zu gewinnen
  • SportCrypt – Peer-to-Peer Wettplattform
  • EthColor – einfaches Investing-Spiel
  • LifeSlot – Slot Spiel
  • Leeroy – Social Media Plattform
  • The Rouleth – Roulette Spiel
  • CryptoFace – Erstelle Dein eigenen Avatar
  • Landmark – Soziales Netzwerk als Ethereum Smart Contract
  • xcontract – Webapp Interface für Smart Contracts
  • Shop – dezentraler Shop auf Blockchainbasis
  • uPort – Identiätssystem auf Open-Source Basis
  • Augur – Dezentrale Marktvorhersagung
  • BlockCAT – Smart Contracts per Visual Interface erstellen
  • FunFair – Smart Contracts für Gaming und Onlinekasinos
  • Golem – Die Computer DApp (weltweite Supercomputer)

 

Fazit

Eine DApp ist eine dezentralisierte App. Sie muss die vier Kriterien erfüllen, dass sie über eine eigene Blockchain verfügt, welche Open Source ist. Weiterhin muss sie kryptografisch verschlüsselte Token anbieten und über einen Mechanismus verfügen, wodurch diese Token erzeugt werden. Außerdem können DApps in drei verschiedene Kategorien eingeordnet werden. Typ 1 verfügt über eine eigene Blockchain, Typ 2 verwendet die Blockchain von Typ 2 und Typ 3 verwendet das Protokoll von Typ 2. Auf diese Weise ist mittlerweile ein ganzes Universum von DApps entstanden, welche aufgrund der zugrundeliegenden Technologie besonders effizient, kostengünstig und sicher ist. Die Entwicklung dezentraler Applikationen steht jedoch noch am Anfang.