Measuring DApp Usage

Alex Wearn
IDEX
Published in
5 min readMay 30, 2019

A few weeks ago Joe Lubin and Jimmy Song formalized a long-standing bet around future Ethereum DApp usage. Song, a vocal critic of Ethereum and the DApp model, bet that there would not be at least 5 DApps with 10k daily active users (DAUs) by 2023. Lubin, head of Ethereum incubator Consensys, took the opposite side.

At IDEX we know a thing or two about measuring DApp adoption. Some may not be aware, but IDEX is by almost all measures the most successful DApp of all time. IDEX consistently captures upwards of 60% of all DEX traffic. The platform has processed 5x the number of trades as all 0x relayers combined, and the contract has received almost 2x the number of transactions as Cryptokitties. IDEX also made a cameo in the Ethereum state rent proposal as the contract with the most network storage (see below where we shoot past EtherDelta). Given our position within the network, we have some insights into how to measure the terms of the bet as well as how the results might shake out.

ETH Smart Contract Storage Size

The Bet

The pair appears to have agreed on more precise conditions. For Lubin to win the bet, “Ethereum needs to have five unique dapps achieving 10,000 or more daily active users and 100,000 monthly active users for any six calendar months in any 12-calendar-month period up to and including May 23, 2023.” Song also clarified that the transactions have to be “on-chain somewhere”, though it’s not required that the end user pay the gas costs. They are working on a more detailed agreement that they’ve promised to share once completed, and we at IDEX are excited to see if they cover all of the edge cases we’ve identified. While a simple enough concept, there are currently some challenges with measuring DApp usage that make this more difficult than it sounds.

On-Chain Transaction Volume

Most DApp ratings website, such as DApp Radar or State of the DApps, measure DAUs by analyzing the on-chain transactions associated with each DApp’s smart contract. Each transaction sent to the contract originates from a particular Ethereum address. Counting the number of unique Ethereum addresses that submit transactions to the contract (i.e. if a particular address sends five transactions in a day count them once) should in theory provide a good estimate of the number of DAUs. However, there are a couple of issues with this approach.

  1. Wallets != users — Without on-chain identity, this contest is subject to a sybil attack. Song seems ok with conceding this, as long as there is an on-chain tx that makes it cost prohibitive for Lubin to fake the metrics. Unclear the impact of Layer 2 scaling (more on this below).
  2. Users don’t always dispatch their own transactions — On IDEX, our system is responsible for submitting trades to the network for settlement, and as such IDEX trades only count for one DAU. As a result our DAUs are constantly under reported by most sites, as they only identify users who submitted deposits directly to the contract. This also came up in a recent metamask post about top DApps, which only measured on-chain transactions submitted through Metamask rather than actions in Metamask. Song has identified this as an acceptable type of DAU, but it will need to be accounted for when analyzing the results.
  3. Not all active users result in on-chain activity — In particular on IDEX, users who place new orders do so off-chain and don’t generate a corresponding on-chain transaction. According to Song it sounds like these users may not count? Or, in the case of IDEX, should they only count once the trade is settled and their address appears as a counterparty on-chain?

Layer 2 Scaling

Layer 2 scaling solutions represent a more extreme case of the impact of off-chain architecture. Many projects, IDEX included, are working on scaling solutions that will minimize the amount of network resources utilized by each transaction. In 2018 IDEX users paid $4.3M worth of gas fees, and on peak days our contract took up as much as 13% of the network capacity. Clearly we need to reduce our reliance on the network if we want to scale further.

A common theme is the use of sidechains to bring most of the actions off of the main chain and only periodically settle to the base layer. To us it’s still unclear whether transactions on this layer will count in this contest as DAUs, and we think it may be a future point of contention (or maybe one they are still hashing out). The data eventually makes it way back to the base layer, per Song’s requirement, but in a condensed form. Is that sufficient to count? If not then we think Lubin may win the bet in spirit, but lose on a technicality.

DAUs Don’t Work for Finance

Specifics of how to measure the bet aside, ultimately we don’t think this is the best way to measure adoption, in particular with respect to the growing DeFi space. DAU/MAU metrics were popularized by the Facebooks of the world where the number one goal is engagement. The more often users came to your platform, the more ads that you could sell them and the more revenue you could earn. But this doesn’t apply to the financial services world which generally makes money based on Assets Under Management (AUM). For example, the whole point of my Vanguard fund is that it’s a passive index that I DON’T interact with on a daily basis. Just because I haven’t logged in to the account in a few months doesn’t mean it’s not a valuable service to me.

The same thing applies to cryptocurrencies and DApps. Should users who supply liquidity to Uniswap contracts be considered DAUs every time someone makes a trade? They are certainly getting value for it in the form of transaction fees. What about those who lock up ETH in a CDP to create DAI? Or those who trade DAI on a centralized exchange where transactions don’t show up on the network?

This argument has also been made for Bitcoin, the one thing in the space Song believes has value. If you’re interested in the asset because you see it as an independent, digital store of value, and a hedge against uncertain monetary policy, then the whole point is to HODL on. Those users who have made zero on-chain transactions since 2010 are the ones who have benefited the most.

Ultimately given what we know about Ethereum capacity and transaction costs we think that the requirement for base layer transactions will cause Lubin to lose the bet. But if Layer 2 counts then he can certainly rely on IDEX to be one of the 5 DApps with the requisite DAUs, so only four more to go!

-Alex

--

--