[grant update] bleu's Farcaster sybil detection

Hello Optimism community!

The bleu team is excited to start building a sybil detection algorithm for Farcaster using social graph data. Our goal is to enhance the integrity of Farcaster and the ecosystem around it.

We’ll post bi-weekly updates here as comments. Your feedback is invaluable for us!

For transparency, you can track our progress on our GitHub Repository.

We look forward to your insights as we go!

2 Likes

Farcaster Social Graph Project Update #1

Hello everyone!

We’ve officially kicked off the Farcaster Social Graph project and have begun working on our first milestone: “Requirements Definition and Data Extraction”. This milestone should be complete in the next few weeks!

Milestones Tracker

Milestone Type Status ETA
:bar_chart: Requirements Definition and Data Extraction Critical In progress 2 weeks
:abacus: Algorithm Design and Architecture Critical Planned 3 weeks
:robot: Algorithm Development and Evaluation Critical Planned 5 weeks
:rocket: Algorithm Integration and Monitoring Critical Planned 2 weeks

Data Extraction

We plan to run an instance of Hubble to get Farcaster links data and work on replicating it into a Postgres database for further analysis. This approach seems to be our best path forward to get the graph and apply the Sybil Detection algorithms.

Upcoming Tasks

Before our next update, we aim to complete the following tasks:

  • Run a private instance of the Farcaster network with Hubble
  • Extract Warpcast users along with their connections
  • Create a script to track Warpcast user activity
2 Likes

Farcaster Social Graph Project Update #2

Hey folks! We’ve made significant progress on the project since our last update. We’ve completed our first milestone and are well into the next phases of the project.

Milestones Tracker

Milestone Type Status ETA
:bar_chart: Requirements Definition and Data Extraction Critical Wrapping up 2 weeks
:abacus: Algorithm Design and Architecture Critical In progress 3 weeks
:robot: Algorithm Development and Evaluation Critical In progress 5 weeks
:rocket: Algorithm Integration and Monitoring Critical Planned 2 weeks

Data Extraction

We’ve pivoted from our initial plan to run a private Hubble instance. Instead, we’re now using the Neynar API, which provides data in Parquet format. This shift allows for more efficient processing and reduces infrastructure costs. Key achievements in data extraction:

  1. Extracted key metrics about Farcaster users (likes, casts, recasts, follower/following counts)
  2. Built a dataset of over 11,000 labeled users (sybil/benign) using BotOrNot and manual verification
  3. Transformed Farcaster data into an undirected social network (focusing on mutual connections between users)

SybilSCAR Implementation

After exploring several graph-based Sybil detection algorithms, including SybilRank and SybilBelief, we’ve selected SybilSCAR as our primary method. SybilSCAR offers the best balance of speed, memory allocation, and accuracy for our needs.

We’ve begun applying it to our transformed Farcaster social network data and are developing a Sybil detection API. This API will manage and update datasets while providing an endpoint to check whether a Farcaster user is classified as a Sybil or a benign user.

Upcoming Tasks

  • Document first milestone
  • Extract gitcoin passports of users
  • Conduct thorough testing of the API results
  • Deploy the Sybil detection API to production
  • Enhance the training dataset to improve overall accuracy
1 Like

Farcaster Social Graph Project Update #3

Hey folks! We’ve been refining the graph-based algorithm, testing, and improving our training dataset. While we’ve been able to accomplish less than we wanted in the last two weeks, we’ll pick up some speed as another teammate is jumping on the project!

Milestones Tracker

Milestone Type Status ETA
:bar_chart: Requirements Definition and Data Extraction Critical Wrapping up 2 weeks
:abacus: Algorithm Design and Architecture Critical In progress 3 weeks
:robot: Algorithm Development and Evaluation Critical In progress 5 weeks
:rocket: Algorithm Integration and Monitoring Critical Planned 2 weeks

Key Progress

Gitcoin Stamps Extraction

We extracted Gitcoin badges from noisy users detected by the graph-based algorithm, enriching our training and test datasets. These stamps provide an additional layer of verification for users who use Warpcast and have registered at least one stamp on Gitcoin.

Improved Graph-based Model and Model Testing

Since the API must support a large amount of data, it is important to have an algorithm that can be executed asynchronously and to provide fast benign/sybil checks. We’ve built on top of the graph-based SybilScar algorithm to have a smaller memory footprint for the full dataset so that we can get a sybil response for each farcaster user in that dataset with subsecond response times.

Upcoming Tasks

  • Warpcast Bot Reporting Frame
  • First milestone documentation
  • Start developing a machine learning-based detection model
1 Like