Wat is een dApp?
Ontwikkelaars hebben sinds de komst van de
blockchain-technologie steeds meer mogelijkheden. Normaal zouden ze een applicatie op een server moeten plaatsen, waarna gebruikers via een webadres bij de applicatie konden komen. De ontwikkelaar had vervolgens volledige controle over de data van de gebruikers.
Steeds vaker kwam naar voren dat ontwikkelaars van zulke applicaties eigenlijk helemaal niet zo goed konden omgaan met deze data. Ondanks strenge wet- en regelgeving verkochten ze gebruikersdata door, of zorgden ze niet voor voldoende beveiliging.
Gebruikers hoeven zich hier geen zorgen meer over te maken wanneer ze gebruik maken van een dApp. Hieronder leggen we je uit wat een dApp is, hoe deze werkt en welke soort dApps er zijn.
Wat kan je met een dApp doen?
Een dApp is een applicatie die op de blockchain is opgeslagen en ook vanuit hier draait. De data die door gebruikers wordt gegenereerd wordt vervolgens ook op de blockchain bewaard. Dit maakt de applicatie decentraal, en vandaar de naam dApp (decentralized application).
Ontwikkelaars kunnen namelijk een code ontwikkelen en opslaan op de blockchain. Gebruikers kunnen deze code opvragen, om zo gebruik te maken van de applicatie. Er zijn ontzettend veel mogelijkheden met dApps, waar we het verder in dit artikel over zullen hebben.
Bij het gebruik van een applicatie wordt natuurlijk veel data geproduceerd. Deze data wordt direct op de blockchain bewaard. Alleen de eigenaar van de data kan bij deze data komen. Dit heeft als voordeel dat anderen deze data niet kunnen misbruiken. Denk bijvoorbeeld aan grote Big Tech bedrijven die de data zouden kunnen doorverkopen. In het verleden is al meermaals gebleken dat bedrijven niet altijd even zorgvuldig omgaan met de data van hun gebruikers.
Ontwikkelaars hebben veel mogelijkheden bij de ontwikkeling van dApps. Daarom zijn er ook ontzettend veel verschillende soorten dApps, die ieder zo hun eigen functie hebben. De populariteit van deze dApps is de afgelopen jaren sterk toegenomen, omdat steeds meer mensen de voordelen van dApps inzien. Een aantal bekende dApps zijn
Uniswap (UNI), Aave (AAVE), Decentraland (MANA) en Maker (MKR).
dApps draaien op de blockchain
De blockchain bestaat uit een netwerk van computers. Iedereen kan een eigen computer toevoegen aan het netwerk van de blockchain, mits het om een publieke blockchain gaat. Op deze computers wordt data van de blockchain-gebruikers bewaard. Normaal zou een gebruiker van het internet de data bewaren op de eigen computer, of op de computer van iemand anders. Denk bijvoorbeeld aan een webserver of de cloud.
De eigenaren van de computers in het netwerk hebben geen toegang tot de data van anderen, ook al wordt andermans data op hun computer bewaard. Dit komt doordat de data is versleuteld met cryptografie. Iedere gebruik is in bezit van twee sleutels: de publieke sleutel en de privé sleutel. Laatstgenoemde is bij niemand anders dan de gebruiker bekend. Data die op de blockchain wordt geplaatst wordt met deze twee sleutels omgezet naar een encryptie, wat je kunt vergelijken met een geheimtaal. Deze encryptie kan alleen teruggezet worden naar de originele data door de twee sleutels te gebruiken.
Op welke blockchains kunnen dApps draaien?
Het is niet mogelijk om een dApp op iedere blockchain te laten draaien. De blockchain moet namelijk ondersteuning bieden aan smart contracts. Dit is vorm van digitale contracten die ontwikkelaars de mogelijkheid biedt geavanceerde functies op de blockchain te bewaren, zoals de code van een applicatie.
De meest gebruikte en bekendste blockchain voor dApps is
Ethereum (ETH). Omdat deze blockchain problemen heeft met de schaalbaarheid (hoge transactiekosten en langzame verwerkingstijd van transacties) komen er steeds meer alternatieven. Zo worden de volgende blockchains ook vaak gebruikt voor de ontwikkeling van dApps:
- Binance Smart Chain (BNB);
- Cardano (ADA);
- Polkadot (DOT);
- Solana (SOL);
- Avalanche (AVAX);
- Cosmos (ATOM).
Het verschil tussen dApps en normale applicaties
Het grote verschil tussen dApps en normale applicaties is dat dApps op de blockchain draaien, en dus worden ondersteund en beheerd door een
decentraal netwerk van computers. Er is niet één eigenaar van de applicatie. In plaats daarvan kan de applicatie door iedereen gebruikt worden.
Een dApp is daarbij open-source. Dit houdt in dat iedereen de dApp zou mogen dupliceren, aanpassen en uitbrengen. Bij normale applicaties is dit vaak niet mogelijk, al zijn er ook enkele open-source applicaties die door een centrale uitgever zijn ontwikkeld.
Normale applicaties zijn kwetsbaarder voor aanvallen dan dApps. Dit komt doordat dApps geen single-point-of-failure hebben. Het is vrijwel onmogelijk om de blockchain aan te vallen en tot stoppen te brengen. Dit komt doordat de blockchain uit duizenden computers bestaat. Een aanvaller zou dan alle duizenden computers moeten uitschakelen om de blockchain tot stilstand te brengen. Bij een centrale applicatie hoeven aanvallers vaak maar één of enkele servers uit te schakelen.
Ook de betaling is een groot verschil. Bij een centrale applicatie betaal je vaak maandelijks of eenmalig een bedrag. In sommige gevallen hoef je niet te betalen, en kun je er gratis gebruik van maken. Voor dApps betaal je per gebruik. Zo betaal je aan de blockchain, die de transacties verwerkt, en in sommige gevallen aan de maker van de applicatie. Deze kosten worden betaald met cryptocurrencies, terwijl je bij een centrale applicatie in de meeste gevallen met fiat valuta betaalt.
Conclusie
dApps zijn applicaties die op de blockchain draaien, en dus worden ondersteund en beheerd door een groot netwerk van computers. Deze computers bewaren de applicatie, maar zorgen er ook voor dat de gebruikersdata op een veilige manier wordt opgeslagen. Alleen de gebruiker zelf kan toegang krijgen tot zijn data, mits hij zijn sleutels niet kwijtraakt. Deze vorm van veiligheid en privacy is dan ook het belangrijkste voordeel van dApps.
Daarnaast is een groot voordeel van dApps dat ze geen single-point-of-failure hebben en open-source zijn. Iedereen kan een eigen applicatie ontwikkelen en op de blockchain laten draaien. Je zult dan wel moeten kiezen voor een blockchain die ondersteuning biedt aan dApps, waarvan Ethereum het bekendst is.