Mapping the Interplanetary Filesystem

The Interplanetary Filesystem (IPFS) is a distributed data storage service frequently used by blockchain applications and for sharing content in a censorship-resistant manner. Data is hosted by an open set of peers, pointers to which are distributed using a Kademlia-based distributed hash table (DHT). In this paper, we study the structure of the resulting overlay network, as it significantly influences the robustness and performance of IPFS. We monitor and systematically crawl IPFS’ DHT towards mapping the IPFS overlay network. Our measurements found an average of 44474 nodes at every given time. At least 52. 19% of these reside behind a NAT and are not reachable from the outside, suggesting that a large share of the network is operated by private individuals on an as-needed basis. Based on our measurements and our analysis of the IPFS code, we observe that IPFS bears similarities to unstructured overlay networks in terms of content retrieval mechanics and overlay topology. While such a structure has benefits for robustness and the resistance against Sybil attacks, it leaves room for improvement in terms of performance and query privacy.

[1]  Hannes Hartenstein,et al.  Timing Analysis for Inferring the Topology of the Bitcoin Peer-to-Peer Network , 2016, 2016 Intl IEEE Conferences on Ubiquitous Intelligence & Computing, Advanced and Trusted Computing, Scalable Computing and Communications, Cloud and Big Data Computing, Internet of People, and Smart World Congress (UIC/ATC/ScalCom/CBDCom/IoP/SmartWorld).

[2]  Taoufik En-Najjary,et al.  Long Term Study of Peer Behavior in the kad DHT , 2009, IEEE/ACM Transactions on Networking.

[3]  Sebastian Henningsen,et al.  Eclipsing Ethereum Peers with False Friends , 2019, 2019 IEEE European Symposium on Security and Privacy Workshops (EuroS&PW).

[4]  Hani Salah,et al.  Capturing Connectivity Graphs of a Large-Scale P2P Overlay Network , 2013, 2013 IEEE 33rd International Conference on Distributed Computing Systems Workshops.

[5]  David Mazières,et al.  Kademlia: A Peer-to-Peer Information System Based on the XOR Metric , 2002, IPTPS.

[6]  Ethan Heilman,et al.  Low-Resource Eclipse Attacks on Ethereum's Peer-to-Peer Network , 2020, IACR Cryptol. ePrint Arch..

[7]  John R. Douceur,et al.  The Sybil Attack , 2002, IPTPS.

[8]  Xin Wang,et al.  Understanding I/O Performance of IPFS Storage: A Client's Perspective , 2019, 2019 IEEE/ACM 27th International Symposium on Quality of Service (IWQoS).

[9]  Hannes Hartenstein,et al.  Towards a Basic DHT Service: Analyzing Network Characteristics of a Widely Deployed DHT , 2011, 2011 Proceedings of 20th International Conference on Computer Communications and Networks (ICCCN).

[10]  David Mazières,et al.  Self-certifying file system , 2000 .

[11]  Taoufik En-Najjary,et al.  A global view of kad , 2007, IMC '07.

[12]  Bastien Confais,et al.  Performance Analysis of Object Store Systems in a Fog/Edge Computing Infrastructures , 2016, 2016 IEEE International Conference on Cloud Computing Technology and Science (CloudCom).

[13]  Taoufik En-Najjary,et al.  Actively Monitoring Peers in KAD , 2007, IPTPS.

[14]  Antonio A. Sánchez-Ruiz-Granados,et al.  Towards a Decentralized Process for Scientific Publication and Peer Review using Blockchain and IPFS , 2019, HICSS.

[15]  Liming Zhu,et al.  Blockchain Based Data Integrity Service Framework for IoT Data , 2017, 2017 IEEE International Conference on Web Services (ICWS).

[16]  Daniel Stutzbach,et al.  Capturing Accurate Snapshots of the Gnutella Network , 2005, Proceedings IEEE INFOCOM 2006. 25TH IEEE International Conference on Computer Communications.

[17]  Satoshi Nakamoto Bitcoin : A Peer-to-Peer Electronic Cash System , 2009 .

[18]  Christoph Meinel,et al.  A Survey on Essential Components of a Self-Sovereign Identity , 2018, Comput. Sci. Rev..

[19]  George Pavlou,et al.  Towards Peer-to-Peer Content Retrieval Markets: Enhancing IPFS with ICN , 2019, ICN.

[20]  Zhoujun Li,et al.  Active Measurement of Routing Table in Kad , 2009, 2009 6th IEEE Consumer Communications and Networking Conference.

[21]  Daniel Stutzbach,et al.  Large-scale monitoring of DHT traffic , 2009, IPTPS.

[22]  Ingmar Baumgart,et al.  S/Kademlia: A practicable approach towards secure key-based routing , 2007, 2007 International Conference on Parallel and Distributed Systems.

[23]  Juan Benet,et al.  IPFS - Content Addressed, Versioned, P2P File System , 2014, ArXiv.

[24]  Daniel Stutzbach,et al.  Evaluating the Accuracy of Captured Snapshots by Peer-to-Peer Crawlers , 2005, PAM.

[25]  Robert H. Deng,et al.  CrowdBC: A Blockchain-Based Decentralized Framework for Crowdsourcing , 2019, IEEE Transactions on Parallel and Distributed Systems.

[26]  Johan A. Pouwelse,et al.  The Bittorrent P2P File-Sharing System: Measurements and Analysis , 2005, IPTPS.

[27]  Stefanie Roos,et al.  Characterizing graph-theoretic properties of a large-scale DHT: Measurements vs. simulations , 2014, 2014 IEEE Symposium on Computers and Communications (ISCC).

[28]  Bastien Confais,et al.  An Object Store Service for a Fog/Edge Computing Infrastructure Based on IPFS and a Scale-Out NAS , 2017, 2017 IEEE 1st International Conference on Fog and Edge Computing (ICFEC).