mc-crawler

A MobileCoin network crawler.

mc-crawler is a crawler for the MobileCoin network built in Rust. The project begun as a small research project as part of my required coursework for my Master’s but I later continued working on the crawler within the scope of my part time job at the Weizenbaum Institute. The overall goal of this project was to learn more about the budding cryptocurrency on a technical level, i.e., learn about the network size and structure of the peer-to-peer overlay, which we achieved by first collecting data using a crawler.

The binary crawls the network and communicates with the validators using RPCs provided by the MobileCoin API. The crawler provides 2 JSON files with a crawl report comprising data about found nodes such as hostnames, public keys and IP-based geolocation data. We published a paper with our findings based on the data collected by the crawler and analyses performed with a related tool – the fbas_analyzer. The TLDR is that there are a total of 10 validator nodes operated by 7 different organisations and the MobileCoin quorum system resulting from individual validators’ configurations prioritises safety over liveness.

I also wrote an API using Rocket and MongoDB with which the crawl data can be queried via HTTP; unfortunately the API code is currently not open source.

New Technologies

  • MongoDB
  • Rocket
  • GitHub Actions
  • Gitlab CI

References