Das sogenannte DApp (Decentralized App), ist eine dezentrale und webbasierte Benutzerschnittstelle zu einer Anwendung, die auf einer Blockchain Plattform basiert. Je nach Anwendung ist es auch erforderlich über diese Schnittstelle mit den installierten Smart Contracts zu kommunizieren.
Das DApp erfüllt demnach drei Haupt-Aufgaben im Kontext der Blockchain:
- Stellt entsprechende Web UI’s (meistens im Browser) für die Anwendung den Benutzern zur Verfügung
- Greift auf die Schnittstelle der entsprechenden Blockchain-Plattform zu und interagiert mit den Smart Contracts
- Kommuniziert mit anderen DApps über ein Messaging System (wie z.B. Whisper von Parity)
Für die Entwicklung von DApps existieren noch keine einheitlichen oder verbindlichen technischen Standards. Es handelt sich primär noch um ein Konzept, welches mit dem richtigen Knowhow und Technologien mal besser, mal schlechter umgesetzt werden kann.
So werden zum jetzigen Zeitpunkt vielfach nur die Fingerprints der Web-Dateien, aber nicht die Dateien selber in auf Blockchain Infrastruktur abgespeichert. Anders gesagt, die Webdateien (z.B. HTML-, CSS-, JS-Dateien) werden zwar zentral auf einem einzelnen Server gehalten deren Fingerabdruck, also der Beweis, dass es sich um die gleichen Daten handelt, wird dezentral gespeichert.
Bei Ethereum z.B. kommt herfür das sogenannte Swarm- oder IPFS-Protokoll zum Einsatz, ein für die dezentrale Speicherung von Daten entwickeltes P2P-Protokoll. Dabei ist im Gegensatz zu IPFS in der Lage Datenblöcke (z.B. Webdateien) zu speichern. Diese Technologien sind jedoch alle noch im Beta-Stadium und meistens nur auf dem Mainnet verfügbar.