A graph analysis framework for clustering and labeling wallets with similar behavior, which could be used to encourage pluralism in QV/QF.
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.
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: