Was genau steckt eigentlich hinter “DApps”?
Im Blockchain Universum wird man regelmäßig mit Begriffen konfrontiert, von denen man zuerst einmal keine klare Idee hat, wofür sie eigentlich stehen.
Ein Beispiel könnten so genannte “DApps” sein, also “Decentralized Applications”.
In diesem Artikel möchten wir genauer erläutern, was DApps sind, welche Anwendungsmöglichkeiten sich durch sie ergeben und wie man starten könnte, wenn man seine eigene DApp entwickeln möchte.
Was sind DApps?
Um zu verstehen, was DApps sind, sollten wir uns zunächst die zugrundeliegende Technologie anschauen. Die “Distributed Ledger Technologie” – oder oft auch einfach nur Blockchain-Technologie genannt – ist eine Datenbank, die verteilt über eine Vielzahl an Rechnern im Netzwerk gespeichert wird. Das bedeutet, dass Daten weder zentralisiert gespeichert, noch von einer einzigen Instanz verwaltet werden. Der Konsens des gesamten Peer-to-Peer Netzwerks bestimmt über die Speicherung der Daten und macht diese somit für einzelne Personen unveränderlich.
DApps sind nun – vereinfacht gesagt – Software-Anwendungen, die von so einem verteilten Netzwerk profitieren und die Anwendungsmöglichkeiten der Blockchain erweitern.
Es wird erwartet, dass die gesamte Software Landschaft in den nächsten 5-10 Jahren einen kompletten Paradigmenwechsel durchlaufen wird. Computeranwendungen werden zukünftig nicht mehr lokal auf dem Heimrechner ausgeführt, sondern über die freie Rechenleistung von Computern aus der ganzen Welt betrieben. Zentralisierte Cloud Server werden durch verteilte Rechnernetzwerke ersetzt, sodass Nutzer ihre freien Ressourcen zur Verfügung stellen und damit Geld verdienen können.
Die Grundlage für diesen Paradigmenwechsel von Zentralität hin zur Dezentralität soll durch DApps geschaffen werden.
Anforderungen an eine DApp:
Damit eine Software als DApp bezeichnet werden kann, muss sie folgende 4 Bedingungen erfüllen:
- Sie muss Open Source sein
- Auf einer Blockchain basieren
- Kryptografisch verschlüsselte Token anbieten
- Über einen Mechanismus verfügen, der diese Token erzeugt
Die erste Kryptowährung, die es in einer einfachen Form ermöglichte DApps zu erstellen, war Ethereum. Im Zusammenhang mit Ethereum werden DApps auch oft als Smart Contracts bezeichnet. Diese “intelligenten Verträge” ermöglichen es, relativ einfach neue Token auf der Ethereum Blockchain zu erstellen. Anfang 2018 motivierte diese neue Technologie viele Start Ups dazu, ihre eigenen Token zu erstellen, was zu einem großen ICO Hype führte.
Welche Arten an DApps gibt es?
DApps basieren meist auf einem so genannten Token-Standard, der von der zugrundeliegenden Blockchain bestimmt wird.
Derzeit basiert der Großteil an Token auf dem ERC-20 Standard der Ethereum Blockchain.
Ein Token-Standard bestimmt welche Funktionen in einer DApp integriert werden müssen.
Der ERC-20 Standard setzt z.B. folgende Funktionen voraus:
- totalSupply () – “Zeige die Gesamtanzahl aller Token”
- balanceOf (address) – “Zeige die Anzahl der Token folgender Adresse”
- transfer (address, value) – “Sende X Token an folgende Adresse”
- transferFrom (address, address, value) – “Sende X Token von Adresse A an Adresse B”
- approve (address, value) – “Erlaube der Adresse einen Betrag bis zu X auszuzahlen”
- allowance (address, address) – “Zeige, wie viel von Adresse A noch an Adresse B geschickt werden darf”
Inzwischen gibt es mehr als 205.000 DApps, die auf dem ERC-20 Standard basieren. Darunter befinden sich auch einige Kryptowährungen aus der Top20 nach Marktkapitalisierung, z.B. der Binance (BNB) Token, die Maker DAO Währung (MKR) oder das Chainlink Token (LINK).
Neben Ethereum Smart Contracts gibt es aber natürlich auch andere Plattformen, die es Entwicklern ermöglichen, ihre eigenen DApps zu entwickeln.
Die größten Wettbewerber von Ethereum sind aktuell die Kryptowährungen EOS und Tron.
Besonders EOS hat es geschafft, sich in den letzten Jahren einen großen Stamm an interessierten Entwicklern aufzubauen.
Damit man eine grobe Vorstellung davon bekommt, wie sich Token Standards unterscheiden können, haben wir hier noch einmal ein kurze Auflistung der Anforderungen des EOS Standards an DApps:
- create – “Erstelle eine neue Kryptowährung”
- issue – “Verteile die neue Währung auf folgende Adressen”
- retire – “Reduziere die Gesamtanzahl aller Token”
- transfer – “Sende X Token von Adresse A an Adresse B”
- close – “Lösche die Transaktionshistorie einer Adresse, falls keine Token mehr auf ihr liegen”
Es lässt sich erkennen, dass beide Standards versuchen die Komplexität auf ein Minimum zu reduzieren und nur die wichtigsten Funktionen zu integrieren.
Dies hat den einfachen Grund, dass zu komplexer Code oftmals zu irreversiblen Fehlern führen kann. Denn wurde der Code einmal in den Smart Contract geschrieben, ist er unveränderlich in der Adresse verankert.
In der Vergangenheit führte dies bereits öfters zu großen Verlusten, wie beispielsweise beim DAO Hack 2016, bei dem durch eine Sicherheitslücke im Code mehr als 50 Millionen US-Dollar gestohlen wurden.
Programmierer sollten bei der DApp Entwicklung deshalb besonders viel Wert auf eine klare Struktur und eine saubere Programmcode-Ausführung legen.
Wie erstelle ich meine eigene DApp?
Wer seine eigene DApp erstellen möchte, dem sei geraten, dies zunächst auf einem Testnet zu tun. Durch die direkte Verknüpfung von Geld und Programmcode bietet den Entwicklern so nämlich eine risikofreie Möglichkeit, seinen Code zu testen und optimal für den späteren Mainnet Launch zu vorzubereiten.
Zudem basieren viele DApps noch auf relativ neuen Programmiersprachen (bspw. schreibt man Ethereum Smart Contracts in der eigenen Sprache Solidity, die Sprache für EOS DApps ist WASM), was den Einstieg noch einmal erschwert.
Dennoch gibt es bereits einiges an gutem Lernmaterial, durch das man einen guten Überblick zur Vorgehensweise erhält.
Einen guten Einsteiger Guide um sein eigenes ERC-20 Token zu erstellen, finden Sie hier.
Um gratis Ethereum Token auf dem Testnet zu erhalten, können Sie den aktuellen Rinkeby Faucet benutzen, durch den Ihnen alle 3 Tage 18,75 Testnet Ether überwiesen werden.
Fazit
Die besten Programmierer der Welt beschäftigen sich derzeit mit dezentralisierten Applikationen (DApps). Sei es im vorherrschenden Ethereum Netzwerk oder bei den konkurrierenden Netzwerken von Tron oder EOS. Nicht ohne Grund erhalten DApps eine starke Aufmerksamkeit. Sie haben das Potential zahlreiche traditionelle und ineffiziente Systeme zu verbessern und zu ersetzen. Aufgrund der unabhängigen und dezentralen Eigenschaften von DApps erhalten immer mehr Applikationen Zuspruch.
Nichtsdestotrotz existiert bis heute keine DApp, die es zu einer weltweiten, flächendeckenden Adaption geschafft hat. Experten meinen, dass sich dieser Status jedoch in unmittelbarer Zukunft ändern könnte.