InterPlanetary File System

The InterPlanetary File System (IPFS) is a protocol, hypermedia and file sharing peer-to-peer network for storing and sharing data in a distributed hash table. By using content addressing, IPFS uniquely identifies each file in a global namespace that connects IPFS hosts, creating a resilient system of file storage and sharing.[4][5]

InterPlanetary File System
Original author(s)Juan Benet and Protocol Labs[1]
Developer(s)Protocol Labs
Initial releaseFebruary 2015 (y)[1]
Stable release
0.32.1[2] / 15 November 2024; 9 days ago (15 November 2024)
Repositorygithub.com/ipfs/ipfs
Written in
  • Protocol implementations: Go (reference implementation), JavaScript, C (obsolete),[3] Python
  • Client libraries: Go, Java, JavaScript, Python, Scala, Haskell, Swift, Common Lisp, Rust, Ruby, PHP, C#, Erlang
Available inGo, JavaScript, Python
Type
LicenseMIT license, Apache license 2.0
Websiteipfs.tech

IPFS allows users to host and receive content in a manner similar to BitTorrent. As opposed to a centrally located server, IPFS is built around a decentralized system of user-operators who hold a portion of the overall data. Any user in the network can serve a file by its content address, and other peers in the network can find and request that content from any node who has it using a distributed hash table (DHT).[6]

In contrast to traditional location-based protocols like HTTP and HTTPS, IPFS uses content-based addressing to provide a decentralized alternative for distributing the World Wide Web.[5][7][8]

IPFS is used in decentralized applications and content archiving.[9][10]

Design

edit

The InterPlanetary File System (IPFS) is a decentralized protocol, hypermedia, and peer-to-peer (P2P) network for distributed file storage and sharing. By using content-addressing, IPFS uniquely identifies files in a global namespace that interlinks IPFS hosts, creating a hypermedia system that enables efficient and reliable data distribution.[11]

IPFS allows users to host and receive content in a manner similar to BitTorrent. As opposed to a centrally located server, IPFS is built around a decentralized system of user-operators who hold a portion of the overall data, creating a resilient system of file storage and sharing. Any user in the network can serve a file by its content address, and other peers in the network can find and request that content from any node who has it using a distributed hash table (DHT). In contrast to BitTorrent, IPFS aims to create a single global network. This means that if two users publish a block of data with the same hash, the peers downloading content from one user will also exchange data with those downloading it from the second.[12]

Key features of IPFS include:

  • Content-addressed file storage: Each file is uniquely identified based on its content hash, ensuring data integrity and facilitating efficient retrieval.
  • Peer-to-peer architecture: A distributed network of nodes facilitates direct file sharing without the need for centralized servers.
  • Versioned file system: Supports file versioning and allows users to track changes over time.
  • Interoperability with distributed applications: IPFS seamlessly integrates with decentralized applications (dApps), offering a robust storage layer for blockchain and Web3 ecosystems.

IPFS aims to replace protocols used for static webpage delivery by using gateways that are accessible with HTTP.[13] Users may choose not to install an IPFS client on their device and instead use a public gateway. A list of these gateways is maintained on the IPFS GitHub page.[14]

Beyond providing an alternative for web hosting, IPFS is widely used in decentralized applications, scientific data sharing, and content archiving, serving as a foundational layer for the emerging decentralized internet.[15][16][17]

History

edit

IPFS was created by Juan Benet, who later founded Protocol Labs in May 2014.[5][18]An alpha version was launched in February 2015, and by October of the same year was described by TechCrunch as "quickly spreading by word of mouth."[1] Network service provider Cloudflare started using IPFS in 2018 and launched its own gateway in the system in 2022.

In March 2020, the Opera browser provided access to the centralized resources of the Unstoppable Domains provider by hosting content in IPFS.

Applications

edit

Anti-censorship

edit

Malware

edit

Phishing attacks have also been distributed through Cloudflare's IPFS gateway since July 2018. The phishing scam HTML is stored on IPFS, and displayed via Cloudflare's gateway. The connection shows as secure via a Cloudflare TLS certificate.[34]

The IPStorm botnet, first detected in June 2019, uses IPFS so it can hide its command-and-control amongst the flow of legitimate data on the IPFS network.[35] Security researchers had worked out previously the theoretical possibility of using IPFS as a botnet command-and-control system.[36][37]

See also

edit

References

edit
  1. ^ a b c Case, Amber (2015-10-04). "Why The Internet Needs IPFS Before It's Too Late". TechCrunch. Archived from the original on 2022-02-05. Retrieved 2019-07-16.
  2. ^ "Release 0.32.1". 2024-11-15. Retrieved 2024-11-23.
  3. ^ "agorise / c-ipfs". git.agorise.net.
  4. ^ Benet, Juan (2014-07-14). "IPFS - Content Addressed, Versioned, P2P File System". arXiv:1407.3561 [cs.NI].
  5. ^ a b c Finley, Klint (2016-06-20). "The Inventors of the Internet Are Trying to Build a Truly Permanent Web". Wired. ISSN 1078-3148. OCLC 24479723. Archived from the original on 2020-12-15. Retrieved 2017-03-07.
  6. ^ Krishnan, Armin (2020). "Blockchain Empowers Social Resistance and Terrorism Through Decentralized Autonomous Organizations". Journal of Strategic Security. 13 (1): 41–58. doi:10.5038/1944-0472.13.1.1743. ISSN 1944-0464. JSTOR 26907412.
  7. ^ Youtube: Stanford Seminar - "IPFS and the Permanent Web"- Juan Benet of Protocol Labs Archived 2022-08-09 at the Wayback Machine Quote: "...The InterPlanetary File System (IPFS) is a new hypermedia distribution protocol, to complement--and eventually replace--HTTP. It improves the security, performance, operation modes, and data friendliness of the Web. In particular, it yields a powerful new model, where websites and web applications are decoupled from origin servers, are distributed trustlessly through the network, and are encrypted, authenticated, and executed safely..."
  8. ^ Youtube: IPFS: Interplanetary file storage! Archived 2022-08-09 at the Wayback Machine
  9. ^ Benet, Juan (2014). "IPFS - Content Addressed, Versioned, P2P File System". pp. 1–21. arXiv:1407.3561 [cs.NI].
  10. ^ "IPFS powers the distributed web". Retrieved 2024-05-09. volume 1
  11. ^ Krishnan, Armin (2020). "Blockchain Empowers Social Resistance and Terrorism Through Decentralized Autonomous Organizations". Journal of Strategic Security. 13 (1): 41–58. doi:10.5038/1944-0472.13.1.1743. ISSN 1944-0464. JSTOR 26907412.
  12. ^ "Content addressing". docs.ipfs.tech. Archived from the original on 2020-08-29. Retrieved 2020-08-29.
  13. ^ "IPFS Gateway". docs.ipfs.tech. Archived from the original on 2020-08-29. Retrieved 2020-08-29.
  14. ^ "Public Gateway Checker | IPFS". GitHub. Archived from the original on 2020-08-24. Retrieved 2020-08-29.
  15. ^ Benet, Juan (2014). "IPFS - Content Addressed, Versioned, P2P File System". arXiv:1407.3561 [cs.NI].
  16. ^ "IPFS powers the distributed web". Retrieved 2024-05-09.
  17. ^ "What is IPFS?". Retrieved 2024-05-09.
  18. ^ "About". Protocol Labs. Archived from the original on 2021-04-28. Retrieved 2021-04-28.
  19. ^ Johnson, Steven (2018-01-16). "Beyond the Bitcoin Bubble". The New York Times. ISSN 1553-8095. OCLC 1645522. Archived from the original on 2021-12-21. Retrieved 2018-09-26.
  20. ^ Orcutt, Mike (2018-10-05). "A big tech company is working to free the internet from big tech companies". MIT Technology Review. ISSN 0040-1692. Archived from the original on 2021-01-26. Retrieved 2020-04-21.
  21. ^ ""Anna's Archive" Opens the Door to Z-Library and Other Pirate Libraries * TorrentFreak". TorrentFreak. Archived from the original on 2022-11-19. Retrieved 2023-01-08.
  22. ^ "'Shadow Libraries' Are Moving Their Pirated Books to The Dark Web After Fed Crackdowns". VICE. Archived from the original on 2022-11-30. Retrieved 2023-01-08.
  23. ^ "Web3 tech helps banned books on piracy site Library Genesis slip through the Great Firewall's cracks, but for how long?". South China Morning Post. 2022-04-16. Archived from the original on 2022-11-29. Retrieved 2023-01-08.
  24. ^ "Internet Archive: Digital Library of Free & Borrowable Books, Movies, Music & Wayback Machine". archive.org. Retrieved 2024-04-16.
  25. ^ oduwsdl/ipwb, ODU WS-DL, 2024-04-09, retrieved 2024-04-16
  26. ^ Universal Access to All Knowledge: Decentralization Experiments at the Internet Archive. Retrieved 2024-04-16 – via archive.devcon.org.
  27. ^ "Brave Launches New Swag Store Powered by Origin". Brave (Press release). 2020-03-24. Archived from the original on 2020-04-25. Retrieved 2020-04-21.
  28. ^ Porter, Jon (2021-01-19). "Brave browser takes step toward enabling a decentralized web". The Verge. Archived from the original on 2021-02-26. Retrieved 2021-01-29.
  29. ^ "Deprecate local node support and ipfs:// scheme · Issue #37735 · brave/brave-browser". GitHub. Retrieved 2024-09-01.
  30. ^ "Opera introduces major updates to its blockchain-browser on Android". Opera (Press release). 2020-03-03. Archived from the original on 2020-04-02. Retrieved 2020-04-21.
  31. ^ Balcell, Marta Poblet (2017-10-05). "Inside Catalonia's cypherpunk referendum". Eureka Street. Vol. 27, no. 20. ISSN 1833-7724. Archived from the original on 2021-09-15. Retrieved 2021-09-15.
  32. ^ Hill, Paul (2017-09-30). "Catalan referendum app removed from Google Play Store". Neowin. Archived from the original on 2020-11-01. Retrieved 2017-10-06.
  33. ^ Dale, Brady (2017-05-10). "Turkey Can't Block This Copy of Wikipedia". Observer. ISSN 1052-2948. Archived from the original on 2017-10-18. Retrieved 2017-12-20.
  34. ^ Abrams, Lawrence (2018-10-04). "Phishing Attacks Distributed Through Cloudflare's IPFS Gateway". Bleeping Computer. Archived from the original on 2019-10-09. Retrieved 2019-08-31.
  35. ^ Palmer, Danny (2019-06-11). "This unusual Windows malware is controlled via a P2P network". ZDNet. Archived from the original on 2019-09-06. Retrieved 2019-08-31.
  36. ^ Patsakis, Constantinos; Casino, Fran (2019-06-04). "Hydras and IPFS: a decentralised playground for malware". International Journal of Information Security. 18 (6): 787–799. arXiv:1905.11880. doi:10.1007/s10207-019-00443-0. S2CID 167217444.
  37. ^ Macabeus, Bruno; Vinicius, Marcus; Cavalcante, João Paolo; de Souza, Cidcley Teixeira (2018-05-06). Protocolos IPFS e IPNS como meio para o controle de botnet: prova de conceito. Workshop de Segurança Cibernética em Dispositivos Conectados (in Brazilian Portuguese). Archived from the original on 2021-01-17. Retrieved 2021-04-27 – via SBC Open Lib.
edit