text: Dezentralisierte Blockchain-Anwendungen DApps entwickeln und monetisieren
  31.07.2019 Autor / Redakteur: Anna Kobylinska und Filipe Pereira Martins / Peter Schmitz
  Leistungsstarke DApps vermitteln dezentralisiert, autark und unabhängig zwischen einer Blockchain und der Außenwelt. DApps lassen eine Blockchain erst recht so richtig aufleben und wenn man Planung, Entwicklung und Testing richtig angeht, dann lassen sich DApps auch erfolgreich monetisieren.
  Leistungsstarke DApps lassen eine Blockchain erst recht so richtig aufleben.
  (© tippapatt - adobe.stock.com)
  DApps, also dezentralisierte Anwendungen, sind eine Besonderheit des Blockchain-Ökosystems. DApps fungieren als das Frontend für Smarte Verträge. Sie exponieren die Geschäftslogik der Blockchain in Form von dezentralisierten Diensten. DApps vermitteln zwischen der Blockchain und ihren Nutzern und zeichnen relevante Ereignisse in der Blockchain gleich mit auf.
  DApps für Ethereum gibt es wie Sand am Meer. Dennoch kommen sie bisher nicht an die Nutzerzahlen gewöhnlicher Web- oder mobiler Apps heran. Experten nennen dafür zwei Hauptursachen: die hohen Latenzen und die astronomischen Kosten der Transaktionsabwicklung.
  Die Unterstützung für DApps beschränkt sich im Übrigen nicht auf Ethereum (ETH). Auch EOS, Steem, POA, xDai, Tron, IOST, ONT, Loom, GoChain und andere Blockchain-Plattformen können eigene DApps ausführen. Nur drei der Top-50 DApps sollen auf Ethereum laufen.
  Ausgereift? Die Gesamtanzahl neuer Dapps steigt kontinuierlich, auch wenn sich das Wachstum etwas verlangsamt haben mag. Laut Angaben von Stateofthedapps.com dominiert Ethereum mit 2518 Dapps gegenüber 396 Dapps auf allen anderen Plattformen. Insgesamt soll es im Juni 2914 Dapps gegeben haben.
  (Bild: Stateofthedapps.com)
  Eine der beliebtesten DApps aller Zeiten ist der quelloffene Webbrowser Brave der kalifornischen Brave Software Inc. Brave verspricht seinen Nutzern verbesserte Sicherheit und mehr Kontrolle über ihre Daten.
  Ein gesundes Ökosystem: Die überwiegende Mehrheit der Dapps ist im aktiven Produktionseinsatz.
  Die Funktionsweise einer DApp
  DApps auf Ethereum exponieren typischerweise eine JavaScript-API und/oder die HTML/Javascript-Schnittstelle einer Webanwendung. Eine DApp kommuniziert mit einer eigenen Sammlung zugehöriger smarter Verträge auf der jeweiligen Blockchain. Die smarten Verträge encoden die Geschäftslogik und erfassen den konsenskritischen Zustand einer DApp.
  Jede Instanz einer DApp kann mit einem anderen Knoten des Blockchain-Netzwerks kommunizieren.
  Die Entwicklung von Blockchain-Anwendungen muss allem voran die gewünschte Laufzeitumgebung der avisierten Blockchain-Plattform adressieren. Diese Entscheidung bestimmt die Auswahl zulässiger Programmiersprachen, die sich auf der Zielplattform direkt ausführen bzw. in den Bytecode der Zielplattform kompilieren lassen.
  Go ist typischerweise die Sprache der Wahl für Chaincode auf Hyperledger Fabric oder Sawtooth. Solidity ist die bevorzugte Programmiersprache für die Ethereum Virtual Machine.
  Die Wahl der Zielplattform bestimmt die Entwicklungsumgebung
  In der Ethereum-Gemeinde hat sich die Entwicklungsumgebung Truffle durchgesetzt. Truffle beinhaltet unter anderem eine Ethereum-spezifische Testumgebung und eine Asset-Pipeline.
  Es gibt allerdings Möglichkeiten, den Blockchain-Anwendungscode zwischen verschiedenen Blockchain-Ökosystemen zu portieren. Einige Entwickler schreiben beispielsweise ihre smarten Verträge in Ethereums Solidity, um diese mit Hilfe von Hyperledger Sawtooth Seth im Blockchain-Ökosysteme von Hyperledger Sawtooth ausführen zu lassen. Seth integriert die EVM-Implementierung aus Hyperledger Burrow in Sawtooth mit Hilfe des Sawtooth-Transaction-Processor-SDKs. Der Client von Sawtooth Seth repliziert Ethereums JSON-RPC-API.
  Bei Seth handelt es sich keinesfalls um eine vollständige Implementierung der EVM, sie ist jedoch hinreichend funktionsfähig, um smarte Verträge, die für Ethereum geschrieben wurden, für die EVM (zum Beispiel mit solc) zu kompilieren und auszuführen — ob in EVM selbst oder in Sawtooth via Seth
  Debugging: ein Testnet im Eigenbau
  Auf Grund der redundanten Natur der Berechnungen im Ethereum-Netzwerk fallen die Ausführungskosten in Gas, der Recheneinheit auf Ethereum, immer wesentlich höher aus als die Kosten der privaten Ausführung derselben Berechnungen off-chain. Dies gibt DApp-Entwicklern einen Anreiz dazu, den Umfang des Codes und der zu verarbeitenden bzw. zu sichernden Daten innerhalb der Ethereum-Blockchain möglichst gering zu halten.
  Zum Debuggen von DApps können Entwickler natürlich nicht auf Offchain-Berechnungen ausweichen. Dafür gibt es zum Glück die sogenannten Testnets.
  Bei einem Testnet handelt es sich um einen insolierten "Blockchain-Sandkasten" — eine Replika der jeweiligen Mainchain — zum Debuggen von DApps und smarten Verträgen (bzw. Hyperledger Chaincode). Einige Dienstleister bieten solche Testnets kostenlos an. Gängige Ethereum-Testnets beinhalten etwa Rinkeby.io und ropsten.etherscan.io.
  Wer für Testzwecke lieber ein eigenes Blockchain-Netzwerk aufsetzen möchte, findet die nötigen technischen Voraussetzungen zur dezentralisierten Anwendungsausführung in einer Public Cloud wie AWS und kann sich bei der Konfiguration geeigneter Werkzeuge wie beispielsweise Puppeth (für Ethereum Proof-of-Authority) behelfen.
  Puppeth übernimmt sämtliche Aufgaben rund um die Erstellung einer Ethereum-Blockchain, vom Anlegen des Genesis-Blocks über die Konfiguration der Bootknoten, der Unterzeichner, der Ethstat-Server, des Krypto-Faucets, der Wallet-Browser, des Block-Explorers bis hin zum Bereitstellen eines Dashboards und anderer Dienste.
  Führende Blockchain-Frameworks lassen sich im Übrigen auch in Form von Blockchain-as-a-Service-Diensten in der Cloud in Betrieb nehmen.
  Debugging dank Altruisten: Rinkeby.io, ein zentralisiertes Ethereum-Testnet mit einem Proof-of-Authority-Konsensverfahren, ermöglicht das Testen von smarten Verträgen kostenfrei und ohne Risiko.
  (Bild: Rinkeby.io)
  Beim Aufruf eines smarten Vertrages in EVM entsteht im Erfolgsfalle ein neuer Account. Um zu ermitteln, welche Funktion in dem smarten Vertrag ausgeführt werden soll und welche Argumente der Funktionsaufruf beinhaltet, kommt ein sogenanntes Application Binary Interface (ABI) zum Einsatz. Die Erstellung der Eingabedaten für einen Vertragsaufruf lässt sich mit Hilfe diverser Bibliotheken (z.B. ethereumjs-abi) umsetzen.
  Goldgrube DApps
  Viele Entwicklungsschmieden konnten ihre DApps bereits erfolgreich monetisieren. Die berühmt-berüchtigte DApp CryptoKitties konnte in ihrem ersten Monat der erstmaligen Verfügbarkeit satte 12 Millionen USD an Umsatz einfahren; die Entwickler konnten einen Anteil davon mit einkassieren.
  Wo das Geld drinsteckt: Im Hinblick auf den Gesamtwert der Transaktionen dominieren Apps in den Kategorien Marktplätze, Finanzen und Glücksspiele.
  Ein sehr interessantes Geschäftsmodell liegt dem Webbrowser Brave zu Grunde. Bei Brave handelt es sich zweifelsohne um eine überaus innovative Desktop-DApp. Der Browser setzt auf der Chromium-Engine auf, stützt sich jedoch im Backend auf eine eigene Blockchain, um fortgeschrittene Features rund um die Privatsphäre und Anzeigenverwaltung zu implementieren.
  Brave beinhaltet sogar eine eigene Krypto-Wallet für den hauseigenen Token BAT. Mit Hilfe dieser Integration möchte die kalifornische Brave Software Inc. wirtschaftliche Anreize schaffen, um bestimmte Verhaltensweisen der Nutzer zu fördern. Brave würde beispielsweise Besucher Brave-befreundeter Webseiten, also solcher mit Werbeeinblendungen aus dem Brave-Werbenetzwerk, für ihre Aufmerksamkeit mit Tokens belohnen. Brave-Nutzer könnten außerdem für die Anzeigen und andere Inhalte abstimmen. In Zukunft möchte Brave ein Pay-to-Surf-Geschäftsmodell implementieren.
  Die Entwicklung von DApps mit der Absicht zu Monetarisierung setzt allerdings voraus, dass die jeweilige Blockchain-Plattform selbst als hinreichend seriös gilt, um der jeweiligen DApp eine Überlebenschance zu sichern.
  Die überwiegende Mehrheit der DApps auf Blockchain-Netzwerken EOS und TRON fällt in die Kategorie der Glücksspiele. Gleiches gilt zwar auch für Ethereum, aber hier fließt zumindest die Mehrheit der Umsätze tragfähigeren Anwendungsszenarien zu.
  DApp-Aktivität auf Ethereum: Das Nutzerengagement in den verschiedenen DApp-Kategorien im Überblick.
  Unter den öffentlichen Blockchains gibt es auch schwarze Schafe. So geriet beispielsweise die Steem-Blockchain mit sogenannten Vote-Bots in das Sperrfeuer der Kritik.
  Bei Vote-Bots auf Steem handelt es sich um automatisierte Steem-Accounts, die über eine große Anzahl von Tokens verfügen und damit eine beachtliche "Steem-Power" innehaben. Steem-Nutzer senden Geld an diese Accounts, um diese Steem-Power in Anspruch nehmen zu können und sich für ihre eigenen Inhalte Steem-Upvotes und damit mehr Geld zu erschleichen. (Das so "investierte" Geld, welches nicht für das Kaufen von Stimmrechten verschwendet wurde, kann erst mit einer Verzögerung von 13 Wochen wieder zurückgezogen werden.) Leider hat sich die Steem-Gemeinde bisher nicht dazu entscheiden können, dieser dubiosen Praxis endlich ein Ende zu setzen.
  DApps haben es in sich. Diese Anwendungen vermitteln zwischen einer Blockchain und der Außenwelt — dezentralisiert, autark und unabhängig.
  (ID:46045933)
  zapp2photo - stock.adobe.com; Sergey Nivens – stock.adobe.com; Stateofthedapps.com; Rinkeby.io; tippapatt - adobe.stock.com; Jaguar Land Rover; Tierney - stock.adobe.com; smarko; Gerd Altmann; Die Wirtschaftsnews; Romolo Tavani; sdecoret - stock.adobe.com; Urupong – stock.adobe.com; A M Hasan Nasim; NicoElNino - stock.adobe.com; Elnur Amikishiyev; gemeinfrei; phive2015 - stock.adobe.com; gemeinfrei Terry @blueskin auf Unsplash