Was ist eine dApp (dezentralisierte Applikation)?

Wir erklären dir in diesem Beitrag, was eine dApp ist - auch dezentralisierte Applikation oder Anwendung genannt.

Schon einmal etwas von dApps gehört? DApp ist die Abkürzung für dezentrale Applikation. Wir erklären dir in diesem Beitrag, was genau dApps sind.

[toc]

Einfach ausgedrückt sind dApps (dezentrale Applikationen) ganz normale Softwareanwendungen wie wir sie kennen, die aber im Hintergrund verteilt und dezentral über ein Peer-to-Peer-Netzwerk laufen. In dezentralen Anwendungen kann keine zentrale Stelle jemanden sperren oder zensieren. Sie sind frei und unzerstörbar.

Apps können Reichweite einschränken


Jeder kennt Anwendungen wie Facebook, Instagram und WhatsApp. Hinter diesen Apps steht eine große Firma, die diese Applikationen pflegt, kontrolliert und weiterentwickelt. Facebook und Instagram haben beispielsweise die Zugangsdaten aller User, bestimmen, wer was sieht, welche Themen angemessen sind und wer seine Reichweite benutzen darf.

Giganten entscheiden, was wir sehen dürfen und was nicht.

Sie entscheiden darüber, welcher User reden und seine Meinung kundtun darf. Sie entscheiden aber auch welcher User gesperrt und wessen Reichweite auf ein Minimum beschränkt wird. Ist das gerecht? Haben wir wirklich eine Meinungsfreiheit in solchen Anwendungen?

DApps können uns die Freiheit der Reichweite zurückgeben.

Viele große Firmen sammeln Daten und Informationen der Nutzer an einer zentralen Stelle. Dies ist nicht immer wünschenswert. Eine verteilte und dezentrale Anwendung kann dieses Problem lösen.

dApp – Definition & Erklärung


Dezentrale Applikationen haben einen Open Source Code und besitzen eine eigene Blockchain oder benutzen die Blockchain einer dafür entwickelten dApp-Plattform. Solche Apps oder Anwendungen laufen nicht auf einem zentralen Server, sondern verteilt und dezentral auf mehreren Nodes.

DApps haben entweder eine eigene Kryptowährung oder einen Token, um Benutzer für die Bereitstellung von Rechenleistung zu belohnen, die für dezentrale Anwendungen unerlässlich sind. Die Coins werden entweder durch einen Mining Algorithmus erzeugt oder es werden durch einen Smart Contract Token erstellt, die dann per ICO, Token Sale oder DAICO in Umlauf gebracht werden.

Die genaue und weltweit standardisierte Definition einer dezentralen Anwendung ist noch in der Entwicklung und Diskussion.

Anmerkung zu dem Kürzel „dApp“

Um Anfänger und Neulinge nicht zu verwirren, nehmen wir in diesem Artikel den Begriff „dezentrale Applikationen“, welchen wir als das Gegenteil zu „zentralen Apps und Anwendungen“ verwenden. Mit dApps könnte man aber auch über verteilte Anwendungen (Distributed Applications) sprechen. Mehr zu distributed und dezentralen Anwendungen findest du am Ende dieses Artikels.

Die genaue und weltweit standardisierte Definition einer dezentralen Anwendung ist noch in der Entwicklung und Diskussion.

Eine dApp kann diese Merkmale aufweisen

Folgende Kriterien erfüllen die meisten dApps. Sie besitzen meistens mehrere Merkmale, die nun folgen:

Es gibt 3 Arten von dApps

Hier findest du die 3 Arten von dezentralen Applikationen, mit passenden Beispielen.

Art 1Art 2Art 3
Besitzt ihre eigene BlockchainVerwendet die Blockchain von Art 1DApps, die von Art 2 das Protokoll verwenden
Bitcoin (BTC)Omni (OMNI)MaidSafeCoin (MAID)
Synereo (AMP)
Ethereum (ETH)0x Protocol (ZRX)Aragon (ANT)
district0x (DNT)

Du möchtest dApps programmieren lernen?

Jeder, der programmieren kann, hat die Möglichkeit dApps zu erstellen, wenn er dies möchte. Bitcoin und andere Kryptowährungen sind beispielsweise dApps.

Man kann aber auch dApp-Plattformen benutzen, um dezentrale Anwendungen zu entwickeln und anschließend zu veröffentlichen.

Mit CryptoZombies kannst du beispielsweise lernen, dApps auf der Ethereum Blockchain zu programmieren. Ideal für Anfänger und auch Fortgeschrittene.

Mit dieser Website kannst du die Basics lernen, wenn du dezentrale Anwendungen programmieren möchtest.

DApp Plattformen

DApp Plattformen bieten ihre eigene Blockchain an, um Entwicklern die Möglichkeit zu geben, ihre Programme darauf zu entwickeln. Solche Plattformen unterscheiden sich in der Programmiersprache und im Algorithmus.

Sie besitzen ihre eigenen Entwicklertools, können unterschiedliche Transaktionen pro Sekunde verarbeiten und haben ihre eigen definierte Protokolle (Regeln). Auf solchen dApp-Plattformen kann man ziemlich einfach Smart Contracts erstellen und dezentrale Programme entwickeln und ausführen.

Beispiele für dApp-Plattformen:

Apps vs. DApps – wer hat mehr Potenzial?


DApps sind gegen Zensur resistent – 0:1

Keine zentrale Stelle kann deine Meinung oder deine Postings zensieren, außer sie sind unerwünscht und von der Community als schlecht empfunden. In einer dezentralen Social Media Anwendung könnte die Community beispielsweise gegen pornografische oder gewalttätige Inhalte stimmen. Diese würden zwar auf der Blockchain existieren, aber sie wären gefiltert und nicht sichtbar.

Apps sind zurzeit schneller – 1:1

Der Vorteil von Apps besteht darin, dass sie deutlich schneller und leistungsfähiger sind. Man kann die Serverkapazität und Stärke der Anwendung erhöhen, da es eine zentrale Stelle ist. Bei dApps hingegen, hängt es von der Blockchain und dem Algorithmus/Protokoll ab. Nehmen wir Ethereum als Beispiel: Zurzeit kann Ethereum etwa 15 Transaktionen/Interaktionen pro Sekunde verarbeiten. Wenn man Facebook als dApp auf der Ethereum-Blockchain herausbringen würde, wäre das viel zu langsam. Dieses Problem kann aber durch eine Erweiterung der Blockchain gelöst werden, zum Beispiel durch das, von Vitalik Buterin, angekündete Sharding. Es besteht allerdings auch die Möglichkeit, andere Plattformen wie NEO oder EOS zu benutzen, da diese schon eine höhere Skalierung aufweisen.

DApps sind unzerstörbar – 1:2

Dezentrale Applikationen laufen wie der Name schon sagt, dezentral. Man kann also dApps nicht einfach so deaktivieren oder abschalten lassen. Jeder Nutzer, der die dApp unterstützt, hat eine Kopie davon auf seinem Handy, Rechner oder Server. Wenn man die Anwendung zerstören wollen würde, müsste man jede Kopie davon, auf Tausenden oder Millionen Stellen, gleichzeitig zerstören.

DApps kosten Geld – 1:3

Einige sehen es als Nachteil, dass die Interaktionen auf einer dApp kleine Gebühren kosten, um sie dezentral ausführen zu können. Sie meinen, eine Anwendung sollte kostenlos sein. Aber dies muss nicht zwingend ein Nachteil sein. Wenn du beispielsweise Facebook oder Google benutzt, zahlst du mit deinen persönlichen Daten. Diese Firmen können aus deinen persönlichen Interaktionen ein Profil erstellen, um diese an Firmen für Werbezwecke zu verkaufen. Du wirst in eine Zielgruppe gesteckt, bei der Firmen an diese zentralen Stellen Geld zahlen können, um für dich optimierte Werbung zu schalten. Wenn eine App oder Anwendung kostenlos ist, dann bist du meistens das Produkt! Mit einem kleinen Gebührenbetrag kann das verhindert werden und die persönlichen Daten werden zudem nicht zweckentfremdet.

Teure Mittelsmänner fallen weg + dApps können Vermögenswerte speichern – 1:4

DApps sind in der Lage, Vermögenswerte in sich zu speichern. Nehmen wir die Ethereum Blockchain als Beispiel: Es wäre möglich, eine „Lotterie-dApp“ zu erstellen, die Ether speichert und nach einer bestimmten Anzahl, beispielsweise nach 50 ETH im Smart Contract, den gesamten Gewinn an einen beliebigen Teilnehmer ausgibt. Diese dezentrale Art von Lotto unterscheidet sich grundlegend von der Nationallotterie, die lediglich als vertrauenswürdiger dritter Vermittler zwischen den Teilnehmern fungiert, aber keinen Wert in der eigenen zentralen App speichert. Einer der Hauptvorteile von dApps ist die Möglichkeit, diese „vertrauenswürdigen Mittelsmänner“ zu entfernen und so dem Endbenutzer einen größeren Nutzen zu bieten.

Apps funktionieren auch offline (einige, nicht alle) 2:4

Einer der größten Vorteile von normalen Apps und Anwendungen besteht darin, dass sie auch großteils offline funktionieren. Bei einer dApp ist das nicht möglich. Man muss online an das verteilte Peer-to-Peer-Netzwerk angeschlossen sein, damit eine Übereinstimmung des Gesamtzustandes (Konsensus) ermittelt werden kann.

Die Gewinner sind die DApps!
Mit 4 Punkten gewinnen derzeit die dezentralen Anwendungen. Doch noch ist der Kampf nicht entschieden. Fallen dir mehr Vorteile und Nachteile zu Apps und dApps ein? Schreibe es in die Kommentare, damit wir das Duell mit deiner Meinung und deinem Wissen weiterführen können.

Distributed vs. dezentrale Anwendungen


Unterschied von distributed zu dezentralen Anwendungen

Verteilt (engl. „distributed“) bedeutet, dass die Berechnung auf mehreren Nodes verteilt ist und nicht nur auf einen. Verschiedene Systeme arbeiten bei der Verarbeitung einer Anwendung zusammen. Viele Giganten wie Google haben intern eine verteilte Architektur eingeführt, um die Rechenleistung und Datenlatenz zu beschleunigen.

Dezentral bedeutet, dass keine Node eine andere Node anweist, was zu tun ist. Außerdem fehlt bei dezentralen Systemen ein zentraler Kontrollpunkt. Bei dezentralen Systemen ist das Ausfallen einer Node ohne weiteres möglich, ohne Auswirkungen auf das gesamte System zu haben.

Hier siehst du den Unterschied zwischen zentralen, dezentralen und verteilten (distributed) Systemen.

Zusammengefasst bedeutet das, ein System kann sowohl zentralisiert als auch verteilt (engl. „distributed“) sein. Distributed Systeme können jedoch auch verteilt und dezentralisiert in ihrer Beschaffenheit sein.

Es gibt noch keine eindeutige Definition zu dApps

Richtig betrachtet, würden dApps ausgeschrieben „Verteilte Anwendungen“ oder auch „Dezentrale Anwendungen“ heißen. Da dApps auf mehreren Rechnern von Netzwerk-Teilnehmern verteilt laufen, den sogenannten Nodes, können diese auch als verteilte (engl. „distributed“) Applikationen bezeichnet werden. Wie wir aber auch bereits wissen, können sie verteilt und dezentral laufen, somit wäre der Begriff „Dezentrale Anwendungen“ genauso richtig.

Der Begriff dApp und die damit verbundene Branche ist derzeit ein aufstrebendes Feld mit vielen klugen Leuten, die immer noch mit neuen Modellen experimentieren. Verschiedene Entwickler haben unterschiedliche Meinungen darüber, was genau eine dApp nun wirklich ist. Einige Entwickler denken, es genügt, keinen zentralen Punkt des Scheiterns zu haben und andere wiederum denken, dass es noch weitere Anforderungen zu erfüllen gibt.

Was ist aber nun richtig?

Viele User verwenden den Begriff „Dezentrale Anwendungen“ statt „Distributed Applications“ und sehen darin keinen Unterschied. Die Nutzer meinen also oft dasselbe. Rein technisch gesehen gibt es sehr wohl Unterschiede zwischen dezentralen und verteilten Systemen. Diese werden wir zu einem späteren Zeitpunkt, in einem anderen Tutorial näher für euch erläutern.


Quellen:
Blockgeeks.com
Edward Ward auf Medium
Wikipedia.org
safaribooksonline.com

Bildquellen:
#206669009 – © pickup / Fotolia.com – Titelbild – bearbeitet
CryptoZombies Logo von cryptozombies.io
Alle anderen Bilder: © Mariya Shvets | Decentralbox.com

Kommentieren Sie den Artikel

Bitte geben Sie Ihren Kommentar ein!
Bitte geben Sie hier Ihren Namen ein