project screenshot 1
project screenshot 2
project screenshot 3
project screenshot 4
project screenshot 5

DeCartography

A graph analysis framework for clustering and labeling wallets with similar behavior, which could be used to encourage pluralism in QV/QF.

DeCartography

Created At

ETHNewYork 2022

Winner of

🚀 Optimism — Just Deploy!

Project Description

This project began as an attempt to use SBTs and social graphs to prevent sybil attacks and promote pluralism in quadratic funding and voting. It was inspired by this post from Gitcoin. But this was more complex than our team was prepared for with the limited time available. So we pivoted away from trying to build a dApp and give a demo, realizing that we were better suited to present our work in a research/data analysis format. To that end, we present a method for constructing network graphs from transaction data and then clustering external accounts based on the number of similar contract interactions. In the project's current state, determining the appropriate label for a given cluster (i.e., NFT collectors, MEV bots, DAO voters, etc.) can only be partially automated without sacrificing decentralization - and we don't have an ML-specialist on our team! As such, our half-baked idea is to employ a "mechanical turk" style system, in which users are rewarded with tokens for putting in the labor (i.e. checking which specific contracts are shared among them) needed to label them.

How it's Made

The Problem:

Both voting and quadratic funding allow for the possibility of collusion. In governance, when voting for a particular outcome, parties may collude to ensure that a vote goes in their favor. In quadratic funding, the problem may be even more pronounced. A group could create multiple wallets for a sybil attack or collude with others within their social spheres to receive heightened matching funds. Collusion is a concern that must be addressed across protocols and DAOs.

Current Solutions:

To reduce the likelihood of a sybil attack by verifying that each wallet belongs to a separate individual, Gitcoin Passport allows users to create a decentralized identity record consisting of social credentials such as Twitter, FaceBook (Meta) or ENS. Other protocols, such as open blockchain analytics platform Breadcrumbs.app allows for fund tracing, which may also prevent sybil attacks. However, neither addresses the possibility of collusion between individuals.

To address the often incorrect assumption that funders are inherently uncoordinated, Gitcoin introduced Pairwise Bounding, which “is a way of muting the impact of groups of contributors who contribute to the same grants as each other”. (Pairwise Bounding - Gitcoin support) While this may reduce possibilities for collusion, it also may lead to the punishing of positive coordinated behavior; the foundation of grassroots movements

Our Solution:

Both to reduce the possibility of collusion between individuals who are in small social circles and to improve the possibility of making grants more pluralistic, we propose the use of a Decentralized Cartography Protocol to provide dispersion ratings among wallets (“nodes”). A higher dispersion rating would indicate that the nodes interact with disparate protocols and therefore may have a higher plurality. A lower dispersion rating may suggestion that the nodes are in communication with each other more regularly.

Notes:

  • So as not to punish positive coordinated behavior
  • Using a set of ETH addresses, a Decentralized Cartography Protocol would create a dispersion rating based on the number of interactions between addresses (“nodes”). This would produce clusters based on the commonalities of the interactions, which would be labeled by cartographers.
  • This could be extended to all EVM compatible addresses, including layer 2 protocols, and then later to other chains.
  • The use case is finding out a set of addresses that contributed to a given funding round and it would show the labels for each cluster to see if they fit into these bubbles. It’s a public good that can then be used by any quadratic voting or funding with a matching fund to prevent collusion. It could be used more broadly to promote pluralistic decision making.
  • This applies to any protocol that has a grants program to prevent it from being gamed.
  • The users who go through these addresses to find the protocols that link them together can propose social labels for the clusters in return for tokens.
  • If your DAO wants to more heavily weight votes from dispersed clusters, you could use the labels from the Decentralized Cartography Protocol to provide cluster labels to see how the dispersion rating of the vote, for anything on the EVM chain, such as OpenSea, Decentraland, Uniswap and the Lens Protocol
  • The utility is that when CityDAO has a group of addresses that voted for a specific proposal,
  • The incentive for cartographers to label this could be from the protocol that wants to use it. So if Gitcoin wants to use this, they could provide funding for the cartographers
  • One way to query is to include all external addresses and contracts into the search to find the clusters. Another way is to aggregate the contracts so that the nodes are all external contracts.
  • This then pulls up a cluster. The cartographer could go in and look at the shared commonalities, such as all using paraswap, 1inch and wormhole. This cluster may then be labeled “Defi” sub-label “paraswap”.
background image mobile

Join the mailing list

Get the latest news and updates