A Brief Glance at DApps
Blockchain-based DApps can do anything web or mobile apps can do, while keeping privacy, maintaining immutable records, and bypassing middlemen.
From the user’s perspective, there is little difference between a decentralized app running on a blockchain and a traditional app running on the web or an operating system.
The main difference is that decentralized apps — DApps — run on distributed and immutable blockchain networks rather than a centrally controlled operating system. This makes them essentially impossible to censor.
In terms of what they can do, DApps run everything from games and marketplaces to decentralized finance (DeFi) lending platforms.
Under the hood, however, DApps generally share several basic characteristics that set them apart from their centralized kin.
First, DApps must be open source, meaning the code is available for anyone to see, and any updates and changes decided upon through a consensus mechanism that amounts to some form of majority vote rather than by a developer.
Second, DApps must (obviously) be decentralized. This means all data and records generated by the DApp are stored on an immutable, public blockchain.
Third, DApps are incentivized, generating and using tokens to reward validators.
By these definitions, Bitcoin itself qualifies as a DApp, albeit one with its own built-in blockchain.
That said, almost all DApps have smart contracts at their core. These are self-executing agreements with the terms between buyer and seller written into the code. Smart contracts are settled automatically when predetermined conditions are met, doing away with intermediaries that inject cost and risk into transactions.
More importantly, smart contracts are “trustless” — which in the blockchain/crypto world means that anonymous parties can trust the contract because they don’t need to trust each other to carry out a transaction. These can be relatively straightforward — trading one cryptocurrency for another or buying a piece of art on an NFT marketplace — or very complex.
The benefits DApps bring include zero downtime, as the smart contracts will be available on every node in the blockchain, and data integrity, thanks to blockchain’s immutable transaction record. That also makes censorship of data very hard without overwhelming resources along the lines of China’s Great Firewall.
Smart contracts can also be written and executed privately, without the need to identify the parties.
That said, those strengths of DApps and their smart contracts also creates a weakness: any mistake in writing the contract or exploit found by unscrupulous parties cannot be reversed.
That mean that smart contracts must — or at least should — be analyzed to guarantee they will be executed in the way intended
Ethereum Killers: NFT & DeFi DApps
While Ethereum remains far and away the dominant DApp platform, it suffered substantial growing pains in 2020, with DApps from two booming segments overwhelming it, often making transactions slow and very expensive.
The first of these segments to overwhelm Ethereum was DeFi, with DApps from protocols like Compound, Aave, and Uniswap leading the way. Next came non-fungible tokens, or NFTs, used for everything from digital art such as NBA Top Shots and Beeple’s almost $70 million collage to real estate and commodities.
While Ethereum seeks to resolve its troubles by moving from a proof-of-work consensus mechanism to proof-of-stake — better known as Ethereum 2.0 — it is a long, slow process that has allowed several other blockchains to compete as DApp platforms, notably Cardano, EOS, Polkadot and recently Binance Smart Chain (BSC).
In fact, BSC surpassed Ethereum in the number of unique active wallets in Q1 2021, with 105,000 to Ethereum’s 75,000, according to DappRadar.
Still, Ethereum is the clear leader, doubling its total value locked (TVL) to $54 billion in the first three months of 2021. And it has a number of benefits when it comes to DApps, starting with Solidity, a well-established language for writing DApps for Ethereum Virtual Machine. EVM is Turing complete, meaning it can execute any operation a regular computer can.