InterPlanetary File System

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]

InterPlanetary File System
Original author(s)Juan Benet and Protocol Labs[1]
Developer(s)Protocol Labs
Initial releaseFebruary 2015 (2015-02)[1]
Stable release
0.7.0 / 23 September 2020 (2020-09-23)[2]
Repositorygithub.com/ipfs/ipfs
Written inProtocol implementations: Go (reference implementation), JavaScript, C,[3] Python
Client libraries: Go, Java, JavaScript, Python, Scala, Haskell, Swift, Common Lisp, Rust, Ruby, PHP, C#, Erlang
Operating systemLinux, FreeBSD, macOS, Windows
Available inGo, JavaScript, Python
TypeProtocol, distributed file system, content delivery network
LicenseMIT license, Apache license 2.0
Websiteipfs.io

IPFS allows users to not only receive but host content, in a similar manner 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).

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 logo of the online encyclopedia Wikipedia has an IPFS hash with the following code: QmRW3V9znzFW9M5FYbitSEvd5dQrPWGvPvgQD6LM22Tv8D. It can be accessed with that hash over HTTP by a public gateway or a local IPFS instance.

Design

IPFS allows users to not only receive, but to host content in a manner similar to BitTorrent as well. 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 Alice and Bob publish a block of data with the same hash, the peers downloading the content from Alice will exchange data with the ones downloading it from Bob.[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

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.[9][10]

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.[11]

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

Other notable uses

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

See also

References

  1. Case, Amber (4 October 2015). "Why The Internet Needs IPFS Before It's Too Late". TechCrunch. Retrieved 16 July 2019.
  2. https://github.com/ipfs/go-ipfs/releases
  3. Agorise (23 October 2017). "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.com. Retrieved 25 October 2017.
  4. Finley, Klint (20 June 2016). "The Inventors of the Internet Are Trying to Build a Truly Permanent Web". Wired.
  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. Retrieved 29 August 2020.
  7. "IPFS Gateway". docs.ipfs.io. Retrieved 29 August 2020.
  8. "Public Gateway Checker | IPFS". ipfs.github.io. Retrieved 29 August 2020.
  9. Balcell, Marta Poblet (5 October 2017). "Inside Catalonia's cypherpunk referendum". Eureka Street.
  10. Hill, Paul (30 September 2017). "Catalan referendum app removed from Google Play Store". Neowin. Retrieved 6 October 2017.
  11. Abrams, Lawrence (4 October 2018). "Phishing Attacks Distributed Through Cloudflare's IPFS Gateway". Bleeping Computer. Retrieved 31 August 2019.
  12. Palmer, Danny (11 June 2019). "This unusual Windows malware is controlled via a P2P network". ZDNet. Retrieved 31 August 2019.
  13. Patsakis, Constantinos; Casino, Fran (4 June 2019). "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.
  14. Macabeus, Bruno; Vinicius, Marcus (6 May 2018). "Protocolos IPFS e IPNS como meio para o controle de botnet: prova de conceito". WSCDC - SBRC 2018.
  15. Dale, Brady (10 May 2017). "Turkey Can't Block This Copy of Wikipedia". Observer Media. Archived from the original on 18 October 2017. Retrieved 20 December 2017.
  16. Johnson, Steven (16 January 2018). "Beyond the Bitcoin Bubble". The New York Times. Retrieved 26 September 2018.
  17. Orcutt, Mike (5 October 2018). "A big tech company is working to free the internet from big tech companies". MIT Technology Review. Retrieved 21 April 2020.
  18. Simons, Alex (13 May 2019). "Toward scalable decentralized identifier systems". Azure Active Directory Identity Blog.
  19. "Brave Launches New Swag Store Powered by Origin". Brave.com. 2 April 2020. Retrieved 21 April 2020.
  20. Porter, Jon (19 January 2021). "Brave browser takes step toward enabling a decentralized web". The Verge. Retrieved 29 January 2021.
  21. "Opera introduces major updates to its blockchain-browser on Android". Opera Blog. 3 March 2020. Retrieved 21 April 2020.
This article is issued from Wikipedia. The text is licensed under Creative Commons - Attribution - Sharealike. Additional terms may apply for the media files.