The Interplanetary File System (IPFS) sounds like just the kind of futuristic protocol that would coalesce with blockchain, and its inventor, Juan Benet, has big plans for the two decentralized technologies.
By storing multiple copies of data, the IPFS protocol, heralded as a tool for building a more permanent web, makes data more difficult to erase. Notably, it caught the attention of global warming archivists earlier this year when many worried that US government agency data would disappear under the new administration.
But Benet envisions future blockchain applications as well.
Mainly since blockchains have proven an inefficient and expensive way of storing data, Benet believes data, from webpages to PDFs, can be offloaded to another computing layer like IPFS. Since distributed ledgers can be put on top of IPFS for application building, he calls the two systems a "great marriage".
"If you add it to IPFS and take that hash and put it in a block, you can then use IPFS to browse the transaction and browse the file directly on the web," he told CoinDesk.
Benet continued:
The ethereum–zcash example, which is currently in progress, is an interesting one, since those blockchain's developers have previously floated the idea of connecting the two blockchains.
Linking blockchain data
So, how does it work? It's a bit of a complex process, one that's more easily grasped by understanding IPFS and its functionality.
Much like ethereum developers, IPFS developers want to decentralize the internet. The protocol is an experimental replacement for HTTP, the technology currently responsible for delivering webpages like this CoinDesk article to a computer.
But rather than central servers managed by a few companies storing webpages online in the cloud (think Google Docs and emails), IPFS distributes data across a web of computers. A single computer, for instance, could participate in storing a slice of data.
The way this is achieved is through content addressing, hash-linked lists and other technology that's still being worked on today.
With this underpinning, data links can be embedded in other places, such as in blockchains.
"What we have is a situation where you can create a link. You can go into the ethereum blockchain and issue a transaction that links to zcash. You can browse and access the entire ethereum blockchain and the entire zcash blockchain on IPFS," Benet said.
Effectively, it's a way to abstract away from cryptocurrencies.
"Imagine you're browsing one blockchain," Benet explained. "You can click through from one to the other, which means that you can write applications that relate the two without those applications having to understand either ethereum or zcash."
The idea is, if ethereum, zcash and other blockchains can store smaller amounts of data, IPFS can be a tool for linking them and browsing them.
Interplanetary ambitions
If this sounds forward-looking, Benet's long-term vision is much stranger, and revolved around the 'interplanetary' in the protocol's name.
"Yes, we mean it,” Benet said, noting the team is working on versions of today's most popular applications available over IPFS in time for people to travel to Mars.
"By the time SpaceX sends the first people to Mars – or NASA if it's them – we want people to be able to use their normal computer applications there so that they have a good internet experience," he said.
The idea is an homage to computer scientist and internet pioneer JCR Licklider, who directed ARPANet, one of the precursors to the internet, Benet said. In one of his early memos, the word internet is actually short for 'Intergalactic network'.
"He had this crazy vision of all these computers hooked up together and this network of networks, and then he wanted to extend it to the whole galaxy," Benet said.
IPFS is then an extension of Licklider's original vision, one that cryptocurrency and other blockchain technology have expanded on by added immutability and permanence of data.
STORY CONTINUES BELOW
Recommended for you:
For now, however, it's watch and wait as the idea tries to stand the test of time.
Earth network image via IPFS