DApp

aus Wikipedia, der freien Enzyklopädie

DApp steht für „dezentrale Applikation“ bzw. „decentralized Application“. Bei diesem Konzept werden die elementaren Werte und Zustände, anders als bei üblichen Applikationen, nicht auf einer einzigen Maschine (beispielsweise Server, Computer etc.), sondern in einem Netzwerk von Maschinen, wie einem Peer-to-Peer-Netzwerk, gespeichert und verifiziert. Auch wenn „dezentrale Applikation“ es anders vermuten lässt, so ist häufig die Tatsache einer dezentralen Speicherung wichtiger Daten und Zustände einer Applikation gemeint, aber die zur Ausführung einer Applikation verwendeten Elemente, wie Code oder visuelle Darstellungselemente, werden häufig nach wie vor von bestimmten zentralen Punkten abgerufen. Unter anderem können benötigter Javascript- oder CSS-Code und Grafiken auf einem regulären Server bzw. auf von (Server-)Hostern verwalteten Servern gespeichert und von dort aus abgerufen werden. Die Werte, wer beispielsweise ein bestimmtes (virtuelles) Gut besitzt, werden im Gegensatz dazu dezentral abgespeichert.

Charakteristiken

In regulären Applikationen können häufig die Betreiber oder Dritte direkt auf Nutzerdaten zugreifen und diese modifizieren, löschen oder neue Daten einfügen. Dezentrale Applikationen dienen hingegen dem Zweck, dass Nutzende eine Anwendung verwenden können, ohne die Sorge zu haben, dass ihre prioritären Daten, wie beispielsweise der Besitz virtueller Güter, gelöscht, entfernt oder modifiziert werden können. Das Hauptmerkmal und gleichzeitig auch der größte Unterschied zwischen dApps und Apps ist also, dass die wichtigen Werte und Zustände der Applikation, nicht unbedingt jedoch die für die visuelle oder benutzerfreundliche Darstellung der Applikation genutzten Elemente, dezentral gespeichert sind und diese nicht einmal von den Entwicklern einer dApp zum Nachteil eines oder mehrerer Nutzer modifiziert werden können. Dieser Gedanke und auch eine persönliche Erfahrung mit Nachteilen zentralisierter Applikationen[1] inspirierten Vitalik Buterin, die heute nach Marktkapitalisierung bemessene zweitgrößte Kryptowährung Ethereum zu entwickeln, die die Speicherung von Werten dezentral ermöglicht. Diese Erfindung, die nach dem Vorbild der nach Marktkapitalisierung größten Kryptowährung Bitcoin geschaffen wurde, war es auch, die dem Begriff „dApp“ maßgeblich insbesondere in der Kryptowährungsbranche und in den Medien Bekanntheit verschaffte. Entwickler können, beispielsweise mit Hilfe der Programmiersprache Solidity, sogenannte Smart Contracts schreiben und diese würden aufgrund der Kernkomponente von Ethereum, der dezentralen Blockchain, später dezentral auf dieser verteilt und gespeichert und ebenso dezentral aufrufbar und ausführbar sein. Anders als der Code von zentral auf einer Maschine ausgeführten Applikationen, ist der Code eines Smart Contracts für immer bzw. auf Lebenszeit einer Blockchain in dieser abgespeichert. Der Code eines Smart Contracts wird beim Senden von Ethereum-Transaktionen mit bestimmten Anweisungen (beispielsweise „sende X Token an Y“) dezentral auf unzähligen Servern und Computern ausgeführt und das Ergebnis der Anweisung dezentral in unveränderbaren Blöcken in der Ethereum Blockchain abgespeichert.

Ethereum dApps haben den großen und sicheren Vorteil, dass Daten in dezentralen voneinander unabhängigen Servern bzw. Computern gespeichert sind, jedoch den Nachteil, dass aufgrund des Erfordernisses von Anweisungen in Transaktionen, im Zusammenhang mit dem Proof-Of-Work Algorithmus von Ethereum, nur limitiert Datenänderungen möglich sind. Um dem entgegenzukommen, haben sich Projekte wie EOS ein dem dezentralen Konzept von Ethereum ähnliches Modell zu Nutze gemacht, bei dem die Nodes, also die Teilnehmer an dem dezentralen Netzwerk (Server, Computer etc.), die in EOS „block producer“ heißen, limitiert sind und zudem durch ein Voting ernannt werden. Dies ermöglicht auf der EOS-Blockchain basierte dApps eine wesentlich schnellere Abwicklung, da im Vergleich zu Ethereum deutlich geringere Bestätigungen für eine Transaktion notwendig und somit wesentlich mehr Transaktionen mit Anweisungen für dApps möglich sind. EOS geriet jedoch genau durch diesen Faktor in die Kritik, denn eine fixe Anzahl an Teilnehmern könnte ebenso ein größeres Risiko für eine Zentralität darstellen. Zudem zeigen vergangene Anweisungen von der EOS Core Arbitration Forum (ECAF), einer Instanz zur Schlichtung von Streitigkeiten, dass in EOS Entscheidungen, die die Dezentralität des Projekts in Frage stellen könnten, fast problemlos möglich sind, für die in Ethereum jedoch teilweise ein Hard Fork nötig wäre.[2] Höhepunkt dieser Diskussionen war das Einfrieren von Konten durch eine gemeinsame Entscheidung der damaligen 21 Block Producer,[3][4] wobei diese Fähigkeit bereits im sogenannten "White Paper" verankert war[5] und auch in Ethereum möglich wäre. Durch diese Punkte stehen dApp-Entwickler in ständigem Konflikt, ob sie aus der Vielzahl an Blockchain-Möglichkeiten auf dezentrale, aber langsamere, oder auf mehr in Richtung Zentralität gehende, aber schnellere, Blockchains setzen sollen.

DApp Beispiele

Die berühmteste Ethereum-dApp ist das 2017 von Axiom Zen gegründete Spiel CryptoKitties, in dem Nutzer mit dezentral gespeicherten Katzen handeln können und das 2017 sogar so schnell bekannt wurde, dass es aufgrund der Schwächen von Ethereum die Ethereum-Blockchain zeitweise durch ein zu hohes Transaktionsaufkommen enorm verlangsamte.[6] Auch wenn bei CryptoKitties die Entwickler die Katzen ausgeben, so sind diese dezentral im Besitz der Nutzer und niemand könnte sie einem Nutzer wegnehmen bzw. transferieren, außer der Nutzer selbst.

Eine weitere berühmte dApp war Fomo3D, eine dApp, bei der Nutzer auf Schlüssel bieten konnten und der letzte Bieter die Chance hatte, einen großen Jackpot zu erhalten. Auch wenn diese dApp rechtlich bedenklich und hochgradig riskant war, zog sie unter anderem durch Verwendung eines Referral-Systems, bei dem Werber mit vergütet wurden, wenn von ihnen geworbene Nutzer investierten, tausende Spieler an. Später erhielten einige der (anonymen) Entwickler der dApp sogar $500,000 vom Tron-CEO Justin Sun, um ein neues Produkt, das ähnlich viral gehen sollte, auf der Blockchain der Ethereum-Konkurrenz Tron zu erstellen. Dieses lief jedoch nicht so gut wie der Vorgänger und einige der Hauptentwickler verschwanden zwischenzeitlich.[7] Zudem geriet Sun für das Bewerben eines vermeintlichen Schneeballsystems in die Kritik.[8][9]

Beispiele von bekannten DApps

  • Gnosis – Plattform für Vorhersagen
  • CryptoKitties – Onlinespiel mit virtuellen Katzen
  • SportCrypt – Peer to peer-Wettplattform
  • Leeroy – Social-Media-Plattform
  • Landmark – Soziales Netzwerk als Ethereum Smart Contract
  • xcontract – Webapp Interface für Smart Contracts
  • Shop – dezentraler Shop auf Blockchainbasis
  • uPort – Identitätssystem auf Open Source-Basis
  • Augur – Dezentrale Marktvorhersagen
  • BlockCAT – Smart Contracts per Visual interface erstellen
  • Golem – Die Computer DApp (weltweite Supercomputer)

Siehe auch

Einzelnachweise

  1. Vitalik Buterin: Vitalik Buterin on about.me. Abgerufen am 16. Oktober 2020: „I happily played World of Warcraft during 2007-2010, but one day Blizzard removed the damage component from my beloved warlock's Siphon Life spell. I cried myself to sleep, and on that day I realized what horrors centralized services can bring.“
  2. EOS ‘Reverses’ Previously-Confirmed Transactions as Pundits Decry Centralization. Abgerufen am 16. Oktober 2020 (englisch).
  3. EOS' Blockchain Arbitrator Orders Freeze of 27 Accounts. 22. Juni 2018, abgerufen am 16. Oktober 2020 (englisch).
  4. Neer Varshney: EOS freezes 7 accounts in violation of its own ‘constitution’. 19. Juni 2018, abgerufen am 16. Oktober 2020 (amerikanisches Englisch).
  5. EOSIO/Documentation. Abgerufen am 16. Oktober 2020 (englisch): „The block producers on all blockchains have the power to select which transactions are included in blocks which gives them the ability to freeze accounts.“
  6. The Inside Story of the CryptoKitties Congestion Crisis. Abgerufen am 16. Oktober 2020 (englisch).
  7. Decrypt / Will Heasman: Justin Sun paid $500,000 for Fomo3D to migrate to Tron. 11. Juni 2020, abgerufen am 16. Oktober 2020 (amerikanisches Englisch): „But the core developers have since disappared from the Team JUST community, and the game has flopped.“
  8. Mariya Shvets: TRON: Justin Sun wird beschuldigt, ein Schneeballsystem zu bewerben. In: Decentralbox. 24. Dezember 2019, abgerufen am 16. Oktober 2020 (deutsch).
  9. Prashant Jha: Justin Sun Promotes a Potential Pyramid Scheme Game on Tron Network - News. In: Cryptoknowmics-Crypto News and Media Platform. 23. Dezember 2019, abgerufen am 16. Oktober 2020 (amerikanisches Englisch).