Curating DApps in Status

Hey everyone. So, I have done a tech talk about dapp curation using SNT, and Richard and I wrote a basic contract (with a few TODOs still in it) to show how this would work in practice.

Some of the feedback I have received has been that decentralised search is a far bigger space than some of the simplistic stuff I was focussing on, that we should think about using elements of the discovery protocol and leverage the whisper network topology to add richness to search, rather than just economics. There are also a bunch of other companies out there, from StateOfTheDApps to Dappist that are tracking usage of dapps in other ways who we could think about leveraging.

I met Ethan from Dappist in Berlin and we got chatting about how Status might leverage some of their work to build a basic search which we could then enrich with curation as I have proposed, rather than doing things the other way around. Below, I will summarise who they are, what they do and how we can think about moving the conversation forward.

  • Dappist is a search and discovery engine that crawls the ledger and identifies dapps and other crypto data assets (eg NFTs) so that end-users can can find and access them. They are primarily focused on semantically identifying these data, as well as using analytics of ledger transaction data to influence ranking. Dappist rank takes many factors into consideration, including transaction volume and value, so that a dapp’s liquidity potential influences its order in results in addition to simple DAU. Dappist will be a standalone application for end-users, but they will open the platform to any/all other applications that find it useful. Think of Dappist as the next-generation of dapp lists, like DappRadar or StateOfTheDapps, only with a scalable backend and sophisticated ranking method.
  • One of the first steps they see in this mission is to draft and promote a common dapp metadata standard via EIP, so that dapp publishers can programmatically identify themselves on-chain. They are collaborating with OpenSea to extend the work they’ve done on 721 metadata, so they keep a common convention. In this standard, any smart contract wishing to identify themselves would provide a URI pointer to a JSON file that would return a data blob for our crawlers to ingest (or any application to read). They will start with a simple structure to the data (eg, dapp name, description, category, key terms, etc), but this is an area of collaboration where they can work with dapp builders to add to the schema to more specifically describe what different classes of dapps do, what they’re about, what key functions they have, etc., and they can surface this information in the search UX. Eventually, these schema extensions could be held in a registry to standardize across markets and categories. This convention could open amazing search and discovery use cases for end-users and between applications.
  • Dappist can be a search AND ingest backend for other applications. They can take feeds of data and ranking inputs to provide specific views and slices of the index for a given partner.
  • Some future initiatives they’re exploring, again focused around semantic identification of the blockchain and advanced ranking and relevancy:
    • TCRs – they’ve thought about how to apply various curation models, from standard TCR for in/out voting by a general community (ie, “in” the Dappist list or “out”), to curation bounty models for augmenting accurate meta-data, to multi-tier models that in-vote candidates which are subsequently sorted and ranked either by a staking model or a mini-prediction game to peg dapps in position by category or key terms. The underlying search/discovery platform would “feed” candidates in an evergreen stream for the curation community to evaluate and sort through, as well as gut-check community decisions against our algorithms. Until they have the core engine built and they understand its capabilities and deficits, however, they are pausing on further TCR or other cryptoeconomic modeling. This is a technically speculative area but one we’d love to explore if you’re interested.
    • They have a few lines of thought and experimentation on ledger activity analysis to help inform ranking and semantic classification, including:
      • “Logical operations expressed in constellation patterns of dapps” – they have a hypothesis that complex dapps will chain their smart contracts together in predictable patterns according the logical operations they have to perform. Since applications in similar markets perform similar business logic, they should expect to see the same structural patterns for dapps in a given market or category. If they can train crawlers from an early stage to classify these structures they can semantically identify new dapps with more confidence.
      • “Use transitive “voting” properties of key wallets as a seed for crawling” – without identifying a wallet, they hypothesize they can classify a wallet by its past smart contract transactions in conjunction with its token portfolio history to help identify new dapps. Put simply: “if a wallet they know to be a power user (by spend, repeat transactions, holdings, etc) interacts with a known dapp of one class, it is likely the next smart contract it interacts with will be a “quality” dapp, and likely of the same or adjacent semantic category, therefore follow that wallet.”

With regards to product readiness:

  • They are weeks away from our production-ready dapp index and backend.
  • This first instance will contain only dapps. They anticipate merging NFTs roughly a month later.
  • This index will have a rank listing (“static” ranking) based on our Dappist rank, support text/keyword search, and support category browse and search.
  • This index will provide trend data on core dapp statistics like DAU, Daily Trx Volume and MAU, as well as 7-, 30- and all-time time series views.
  • They have thumbnail images for a majority of the index entries. They have clean, hand-reviewed metadata for all entries.

Early thoughts on first-integration points:

  • Status could use Dappist’s search backend to broaden its dapp listings feature, improving user retention and wallet liquidity.
    • This could be done through a simple search box query feature that would provide “backfill” for user queries not satisfied by your existing curated list.
    • Dappist could provide a simple URI structure for the Status client to send queries.
    • Dappist could return a “white label” HTML results page renderable in the Status browser and formatted to Status UX requirements, or provide a data response via API for Status to render directly in client chrome.
  • Alternatively, they could ingest a feed of our existing dapp affiliates and provide Status a single backend for all dapp results.
    • They could ensure ranking your affiliates in whatever order your require and provide click tracking data if needed.
  • They could pursue a similar path for NFT search and other ledger data, as desired.
  • Status could call the Dappist backend from anywhere in the Status UX using this method, if other search touch points are desired (eg, using query syntax in the IM interface to search/return dapps and NFTs inline of conversation, etc.)

This type of simple integration would enable a baseline of end-user dapp search/browse behavior, and provide input for how a TCR or other curation mechanic could and should operate.

It was clear, I think, that most of the criticism around pure curation was that it was too limited, so I see this as an opportunity to enrich search and then implement curation with SNT, so we get the best of both worlds.

Primary discussion points for now include:

  1. How can we trust their data? Is this a centralized solution that might compromise privacy?
  2. How do we really go about incorporating SNT into dapp search and curation - i.e. how easily can we work on an implementation of bonded curves with them?

cc @rramos @ricardo3 @okwme @rachel