InterPlanetary File System

From Wikipedia, the free encyclopedia
Jump to navigation Jump to search

InterPlanetary File System
Ipfs-logo-1024-ice-text.png
Original author(s)Juan Benet and Protocol Labs[1]
Developer(s)Protocol Labs
Initial releaseFebruary 2015 (y)[1]
Stable release
0.12.0 / 2022-02-18 (y)[2]
Repositorygithub.com/ipfs/ipfs
Written in
  • Protocol implementations: Go (reference implementation), JavaScript, C,[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.io

The InterPlanetary File System (IPFS) is a protocol and peer-to-peer network for storing and sharing data in a distributed file system. IPFS uses content-addressing to uniquely identify each file in a global namespace connecting all computing devices.[4]

Design[edit]

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[5] 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 the content from "user 1" will also exchange data with the ones downloading it from "user 2".[6] IPFS aims to replace protocols used for static webpage delivery by using gateways which are accessible with HTTP.[7] 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.[8]

History[edit]

IPFS was created by Juan Benet, who later founded Protocol Labs in May 2014.[4][9]

Implementations and uses[edit]

IPFS was launched in an alpha version in February 2015, and by October of the same year was described by TechCrunch as "quickly spreading by word of mouth."[1]

The Catalan independence referendum, taking place in September–October 2017, was deemed illegal by the Constitutional Court of Spain and many related websites were blocked. Subsequently, the Catalan Pirate Party mirrored the website on IPFS to bypass the High Court of Justice of Catalonia order of blocking.[10][11]

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 SSL certificate.[12]

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.[13] Security researchers had worked out previously the theoretical possibility of using IPFS as a botnet command-and-control system.[14][15]

Other notable uses[edit]

  • During the block of Wikipedia in Turkey, IPFS was used to create a mirror of Wikipedia, which allowed access to the content of Wikipedia despite the ban.[16] However, that version of Wikipedia was archived and therefore static.
  • Filecoin is an IPFS-based cooperative storage cloud.[17]
  • Cloudflare runs a distributed web gateway to simplify, speed up, and secure access to IPFS without needing a local node.[18]
  • Microsoft's self-sovereign identity system, Microsoft ION, builds on the Bitcoin blockchain and IPFS through a Sidetree-based DID network.[19]
  • Brave uses Origin Protocol and IPFS to host its decentralized merchandise store[20] and, in 2021, added support into their browser.[21]
  • Opera for Android has default support for IPFS, allowing mobile users to browse ipfs:// links to access data on the IPFS network.[22]

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 v0.12.0". GitHub. Retrieved 2022-03-06.
  3. ^ Agorise (2017-10-23). "c-ipfs: IPFS implementation in C. Why C? Think Bitshares' Stealth backups, OpenWrt routers (decentralize the internet/meshnet!), Android TV, decentralized Media, decentralized websites, decent." GitHub. Archived from the original on 2020-04-22. Retrieved 2017-10-25.
  4. ^ a b 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.
  5. ^ 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.
  6. ^ "Content addressing". docs.ipfs.io. Archived from the original on 2020-08-29. Retrieved 2020-08-29.
  7. ^ "IPFS Gateway". docs.ipfs.io. Archived from the original on 2020-08-29. Retrieved 2020-08-29.
  8. ^ "Public Gateway Checker | IPFS". GitHub. Archived from the original on 2020-08-24. Retrieved 2020-08-29.
  9. ^ "About". Protocol Labs. Archived from the original on 2021-04-28. Retrieved 2021-04-28.
  10. ^ 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.
  11. ^ 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.
  12. ^ 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.
  13. ^ 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.
  14. ^ 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.
  15. ^ 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.
  16. ^ 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.
  17. ^ 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.
  18. ^ 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.
  19. ^ Simons, Alex (2019-05-13). "Toward scalable decentralized identifier systems". Microsoft. Archived from the original on 2020-04-29. Retrieved 2021-04-27.
  20. ^ "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.
  21. ^ 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.
  22. ^ "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.

External links[edit]