Introduction

After the ICO craze of 2017 that led to the inception of a line of new blockchain platforms, 2018 was predicted to be the year of DApps. It had a perfect start with the success of CryptoKitties, and explosive growth among similar DApps was highly anticipated.

Fluence Labs aims to develop a decentralized network capable of carrying out real-time high-volume data processing for the emerging Web3. As an infrastructure project, we’ve been curious what was happening in the DApp market. This research started as an attempt to contact the DApp developer community to dig into what’s been going on.

To approach this systematically, we have surveyed multiple DApp project developers and founders with the goal of separating facts from speculation and rumor to find out who they are, what they are up to, what challenges they’re facing, and finally, how many active DApp projects there are and how hard it is to reach these apps.

We believe that the insights discovered in the process can help not just us but everyone in the field to better understand the current state of DApps in terms of user adoption and available technology.

Key insights:

Despite harsh market conditions, the majority of projects surveyed were started in 2018.

A quarter of the surveyed projects were gaming DApps.

About half of the projects used a centralized cloud backend and centralized tools like Infura to connect to the Ethereum blockchain.

Transactional fees prevailed as the central monetization model for most projects.

New user onboarding was mentioned by more than three quarters of the respondents as the major obstacle to adoption.

These findings might be of interest not only to developers working directly with Web3 tech but also to investors inside and outside the crypto space as well as anyone planning to start a DApp project who wants to learn about the challenges that might lie ahead.

Some background knowledge of crypto inner workings and key terminology (public/private keys, Layer 1/2 blockchains, MetaMask, etc.) might be required for a better understanding of this report.

This report is structured similarly to a production workflow. It starts with the inception and the choice of a technological platform, then goes into development obstacles, and in the end discusses adoption and business issues.

For those of you who would like to dig for more information, we have also published the anonymized raw results. Join the results discussion on our Discord!

DISCLAIMER: This document should not be considered a recommendation by Fluence Labs or any of its directors, officers, employees, agents or advisors in connection with any purchase of or subscription for securities. Recipients should not construe the contents of this document as legal, tax, regulatory, financial or accounting advice and are urged to consult their own advisors in relation to such matters. The content of this document has been prepared purely for informational purposes. In all cases persons should conduct their own investigation and analysis of the data in the Document.

1.1 DApp Definition

To construct this survey, we first had to define which projects should be considered DApps. The term “DApp,” which originated in the Ethereum community, can be applied to basically anything that has a smart contract as the key component. To reduce ambiguity, in this report we’ve limited DApps to those applications that focus on the end user.

Using this definition, we were able to aggregate a list of 1624 DApp projects. Of these, only 900 projects had either email, Telegram, or Discord available for contact; of those, 160 project spokespeople ultimately filled out the survey.

1.2 Surveyed DApps Profile

Despite harsh market conditions, the majority of projects (72%) were started in 2018. Only 12.5% of surveyed projects were being run by a solo developer. The bulk of DApps had a team size between two and five (47.5%) or more than five developers (40%).

2.1 Platforms (Layer 1 Blockchains)

The majority of DApps used Ethereum (87%), with EOS ranking second (19%) and TRON ranking third (8%). Ten percent of surveyed projects were simultaneously building on more than one chain. Though we were quite curious about the state of DApps using other chains, we were unable to locate a statistically significant number of such projects.

2.2 Technology Stack

The majority of DApps used a web-based frontend, and almost half (48%) of surveyed DApp projects were relying on a traditional cloud to run their backend code.It should be noted that roughly the same number of DApps were using a decentralized storage solution like IPFS (32%) as were using a centralized CDN (31%). A similar proportion was found in respect to databases: 31% of DApps relied on a centralized database while 25% of DApps used a decentralized DB.

Regarding the used technologies, React and Node.js took a significant lead, leaving behind other popular languages and frameworks. The list of mentioned databases included MongoDB, PostgreSQL, and MySQL, with MongoDB being mentioned most often.

2.3 Centralized Parts of the Stack

More than half of respondents mentioned that they have to use centralized infrastructure when developing their projects: 48% of surveyed DApps relied on a centralized backend, 31% used a centralized file storage, and 21% used authentication APIs such as Facebook Connect.

3.1 Tool Quality and Documentation

Generally, onboarding new developers is crucial in advancing the adoption of emerging technologies. Notwithstanding, DApp developers mentioned that tools and libraries used in the decentralized ecosystem were often unstable, not compatible with each other, poorly documented, and unpredictable in the way they worked.

“Solidity has a lot of ‘gotchas’ that can be catastrophic if you’re not aware of them.” — Anonymous

“Lack of documentation for the blockchain clients is a big problem.” — CryptoKube

“Angular and Ethereum libraries don’t always play nicely together. Docker is great technology, but still can be tricky to get configured properly in a DevOps workflow. Lastly, interacting with the Ethereum blockchain and smart contracts is complex, both from a UX and technology perspective.” — Emoon

3.2 State of the Network

Of respondents building Ethereum Dapps, 63% mentioned Infura as a means to connect to the Ethereum network. Developers pointed out that sometimes using multiple technologies to connect to the blockchain was required to keep the DApp state and user interface up to date. Among the reasons to use multiple technologies was the fact that connectivity issues and node stability might present a problem and affect overall DApp quality — having a negative impact on the end user experience.

“The supernode [full node] is unstable — lots of issues with handling transactions” — Anonymous

“Geth could not finish synchronisation for 4 weeks on a good machine” — Alice

“Mainnet [is] behaving differently than testnets.” — FABG

“Slow. Huge hard drive space requirements.” — Quick Blocks

“Web3 injection delays, syncing delays between the blockchain and Infura. Users might already have the TX approved, but our server will take at least another minute before it actually shows up synced. Not a biggy once you get used to it. But real gamers are used to instant feedback and not a coffee break with each mouse click.” — Chibi Fighters

3.3 Event Tracking and Data Querying

Respondents indicated that retrieving data from a blockchain might present a challenge, especially when real-time performance is required. Some developers were even using in-house tools to track smart contract events and process incoming data.

“Handling a huge volume of RPC requests [is the most frustrating]. This is mostly solved now using an in-house Parity load balancer.” — Local Ethereum

“[The most problematic part is] maintaining our DB of events — I think there should be a pay-as-you-go service for this sort of thing.” — Known Origin

“Sometimes the node is not very stable (especially 1.5 years ago we experienced outage problems) so we’ve needed to develop our own middleware to track transactions.” — Alice

“Polling events and checking block confirmations in a deterministic way are problematic.” — Crypto Care

4.1 Audience

While some audience data can be gathered by examining transactions sent to DApp smart contracts, not every interaction with a DApp has to involve a smart contract call. We directly asked developers about the number of users interacting with their applications because we expected them to have more accurate data derived from internally available analytics tools.

Although 58% of DApps had less than 50 daily active users, 12% of projects reported having more than 500 daily active users.

4.2 Funding

DApps from 2017 were mainly self-funded (38%) or funded by token sales (31%); VC-invested projects accounted for only 24%. In 2018, the majority of DApp projects were still self-funded, with only a small portion receiving funds through token sales (10%) or VC investment (16%).

In absolute numbers, however, the difference is not as striking: the number of token sales has slightly declined, whereas the amount of VC funding has slightly increased. The biggest difference between 2017 and 2018 is that the number of self-funded DApps has grown almost four times.

4.3 Monetization

The majority (55%) of respondents were planning to monetize via transactional fees. Other developers indicated plans to rely on subscriptions (16%) and ads (11%). Finally, a few answers suggested selling NFTs or staking Ethereum as a potential monetization model.

Other mentioned business models include the following:

“Deploying a token for licensing our desktop client usage from users that generate profits through our DApp.” — Kryptium

“Issuing an ERC-20 work token (like Augur or KEEP) that appreciates in value over time. Could change the token dynamics and set up separate entities that provide centralized services (that accrue revenue), but the main organization should remain feeless to not extract any rents.” — Anonymous

5.1 Onboarding

When asked about adoption challenges, developers mentioned user onboarding as their biggest concern, with the limited crypto audience size being their second.

Creating a wallet, getting coins, and explaining what gas is were mentioned among the aspects that developers found difficult to explain when they first reached out to their audiences.

“Getting them started with a wallet and explaining that they’ll have to ‘sign in’ to that wallet using widely varying software, some of which has a high incidence of fraud and failure, and that they can’t ever lose (or change!) that password or else they’ll permanently lose access to everything — that’s a hard sell without some seriously good onboarding tools.” — Anonymous

“New users don’t understand how much gas they should set.” — Riot Cats

“Getting them Ether is still the hardest challenge. The number of people who have Ether off of an exchange is tiny.” — Daxia

“Onboarding. Once the wallet is set up and Ether is in hand, our experience is pretty easy to understand.” — Anonymous

“If even creating the wallet is too much hassle for developers, how can we expect less tech-savvy users to adopt crypto with the current awful UX?” — FundRequest

“At the moment, the steps of creating an EOS wallet are complicated. Besides, the concept of CPU usage time and RAM are difficult for normal people. These are the obstacles for people to play DApps.” — Dice

Some respondents working on Ethereum-based DApps reported that the MetaMask user experience could be improved. One of the mentioned reasons was that individually signing every transaction causes too much friction, especially for complex applications.

“For the simple one-tab games, Metamask works fine. But complex games like Chibi Fighters that can be played in 10 tabs simultaneously make it pop all over the place.” — Chibi Fighters

“Having to sign every TX in Metamask.” — FABG

5.2 Figuring DApps and Crypto

The need to educate users who don’t have a deep understanding of crypto was another issue mentioned by our respondents. One of the reported issues was that users were surprised to find that there is no “restore my password” option in crypto. Another problem area was that users don’t always understand the difference between cryptocurrency, ERC20 tokens, and non-fungible tokens.

“[One thing we hadn’t anticipated was that we would need to be] helping people understand that CryptoKitties are not a cryptocurrency.” — CryptoKitties

“[The most unexpected obstacle is] that it [our DApp] is on the same platform as other DApps.” — CryptoKitties City

“However, assuming that crypto is perfectly scalable to non-banked people in emerging economies, asking them to safely store their private keys is just too much.” — Ethichub

“We don’t have [user] passwords and can’t help recover their accounts.” — Primas

”We lack an OAuth2-style flow in which a user can sign up for the first time and port that [identity] to other platforms. This is the single biggest issue with Be Your Own Bank / IDentity Manager.” — Anonymous

6.1 Scalability

To address scalability concerns, the majority of surveyed developers were planning to handle their potentially growing user base with either Layer 2 or some other solution. However, 33% of DApp developers did not have a plan in place for how to scale if their Layer 1 platform was unable to handle their increased volumes.

An existing Layer 2 platform was planned to use by 39% of respondents, while 27% planned to build their own.

6.2 Decentralization

Respondents were quite optimistic about the use of decentralized computation and storage platforms as building blocks to achieve future scalability. However, around a quarter of developers were planning to use centralized hardware to perform intensive computations.

That being said, 32% of respondents indicated that they might use a decentralized database service in the future as their primary data-storage solution, and 33% were thinking about using a decentralized file storage.

One of the common beliefs in the blockchain ecosystem is that scalability is the first and major hurdle that any blockchain-based application will face. On the contrary, DApp developers responded that their biggest current pain points were “limited number of users” (67%) and “poor user experience” (44%). Although scalability limitations were only mentioned by 36% of the respondents, they might eventually become a priority once a project gathers a larger audience.

We believe that several things could help to reduce the friction between DApps and their audiences:

At Fluence, we’re anxiously looking forward to the progress that will be made in 2019. The DApp ecosystem is something we are following closely and have a direct connection to as a blockchain infrastructure project. Over the coming year, we will be providing additional insights into our research.

Thanks for getting this far!

Please share your thoughts about this report (and what we can improve for next year) on our Discord!

We had the opportunity to learn about lots of great projects, teams, and communities. Every DApp project faces unique challenges, which is to be expected in the early stages of any new technology. We sincerely hope that these challenges can be seen as opportunities and that the decentralized ecosystem will continue to grow.

We would like to express our gratitude to everyone who made this research possible. First of all, we are thankful to all the projects that contributed to the survey (the full list can be found below, although some projects wished to stay anonymous).

We would also like to say a huge thank you to Joris Bontje from StateoftheDApps, Kyle Jianqiang Lu from Dapp.com, and the administrators of the Slack, Telegram, and Discord groups who helped us to distribute the survey: Block Decentral, Colorado Blockchain, CryptoGames, Crypto Gamers Community, CryptoGameTalk, DappDevs, Dappreview, Dappsify, Dappswiki, Egamers, EOS Developers, EOS Game Developers, EOSindex, EOS Jungle Testnet, EOS RAM, EOS RAM tech, EOS Talk, EOS Community Testnet, EOS Scholar Testnet, EOS wallet dev, FIBOS dev, Let’s build EOS, NonFungible, NFT for EOS, SuperDapps, and TRON Developers & SRs.

Special thanks also to Christopher Heymann, Lasse Clausen, Addison Huegel, and Bethany D’Sylva for their immense support.

Contributors:

A Table Game, Ad chain, Akasha, Alice, Angel Battles, Astro Ledger, Auctionity, Avarkey, Axie Infinity, Bamboo Relay, Beyond The Void, Biteye, BitPortal, Block Bits, Block Scores, Blockchain Cuties, Blockchain Lottery, Blockimmo, Bulk Sender, Button Wallet Bot, Carmel, CBS-Casper, Chain Breakers, Chainclouding, Chibi Fighters, Chicken Hunt, Clovers, Coinmirror, Coinslot, Convergent, Crypto Cards, Crypto Care, Crypto Countries, Crypto Derby, Crypto Dozer, CryptoKitties, CryptoKitties City, Crypto Kube, Crypto Numismat, Crypto Oink, Crypto Rancho, Crypto Rome, Crypto Wars, Crypto Atoms, CryptoCrystal, DApple Airdrops, Darkwinds, Daxia, DEx.top, Dice, Dragonglass, Emoon, EOS Bet, EOS Live, EOS Mediterrenian, EOS name swaps, EOS web wallet, EOSDAQ, Eth Battle, Ether Kingdoms, Ethex, EthicHub, Eva, Everipedia, Evolution Land, Exoplanets, Fair Dapp, Fomo3D, Freaking Awesome Blockchain Games, FundRequest, Goat Cash, Gods Unchained, Hash Kings, Hedgie, Hyper Dragons, Inzhoop, JOY, Jukeblox, Karma, Kickback, Kickstarter Next App, Kitty Battles, Kleros, Known Origin, Kryptium, Local Ethereum, Luckbet, Mentat, Mobius, Mokens, MultiSender, MultiTokens, Mutual Uniting System, Mythereum, NaviAddress, NonFungible, Onder, Piggy Bank, Primas, Prime Node, Project Chaos, Prompt Kicker, QuickBlocks, QuikNode, RiotCats, RotoHive, Seedom, Signup EOS, SnailThrone, Spl.yt, Stable Bank, Statebox, SteemSTEM, Switcheo, Taiga Market, The HODL Community, Tokenmint, Tokenville, Tron Shrimp Farm, Tronman, To The Moon, Ventuary, Verity, Volca, Votoco, Web3devs.

Please let us know if we have missed anyone.

Thanks again folks. You are awesome!

Subscribe to Fluence news: