IPFS & d-Websites by D3CONOMIST
Carl Sagan once said, “you can measure the progress of any civilisation [in the universe] by the scale of information it can access.”
IPFS is certainly contributing towards this on planet earth, but maybe they have their sites set further afield with a name like ’InterPlanetary File System’.
Definition: IPFS is a peer-to-peer network for storing and accessing files, websites, applications & data.
Content (not location) addressing
Whereas traditional URLs identify a file by its location, IPFS addresses a file by its content. For example, when you look for a book in the library, you often ask for it by the title; that’s content addressing. Where as, if you were using location addressing to find that book, you’d say; “I’d like the book on the third floor, second rack, fourth shelf from the top, five books from the right.” If someone moved that book, you’d be out of luck!
‘Content addressing’ is achieved by applying a hash function (SHA-256) to each unique piece of data, generating a unique CID. Due to the insignificant size of these hashes, nodes are able to send out many requests (to all peers connected) asking whether they have the associated data. If they do, only then do they return the whole file. Without this highly efficient way of uniquely identifying data, content addressing would not be possible.
A CID is completely unique, deterministic & uncorrelated, meaning the same input message will always output exactly the same hash. Equally, it’s infeasible to generate the same hash from two different messages. For example, if text on a web page is edited at all, the new version will get a new, different hash. The old hash will however, still point to the old version.
One advantage to this is the ability to verify you got what you asked for. This is done by checking that the hash of whatever’s returned, matches the hash of what was originally requested. Ie. bad actors can’t just hand you content that doesn’t match.
IPNS / Blockchain Domains
The downside to this is, anytime you update a website, you need to provide the new CID to anybody wishing to view the updated version. There’s a solution to this however, it’s called IPNS (Inter-Planetary Naming System). This lets you point a single/stable address to an IPFS record, which can be updated (as long as you hold the private keys). Services like ‘Fleek’ make this process even more streamlined & user friendly.
You can also link a decentralized/blockchain domain to your IPNS eg. ENS, WNS, Unstoppable Domain (UD) or Handshake, enabling a fully user-owned, decentralized & immutable website, immune from censorship by any centralized control/authority. Eg. deconomist.nft (UD)
At this moment, only ENS & UD domains are resolved natively in Brave & Opera. Other services offer a kind of ‘half-way house’ solution, via Web2 gateways. For example, with WNS you simply add [.auto] onto the end of their domains in the url bar, in order to reach any IPFS d-website that might be linked (eg. deconomist.web3.auto). ENS & UD offer this kind of solution in browsers such as Chrome & Firefox that don’t resolve their domains natively.
As we start to see Web3 gain more traction however, we will surely see more & more integrations with big browsers etc. In fact, search volume for the term ‘web3’ has increased by around 700% in the past year alone.
.Web3 is the default extension of WNS. The reason I say ‘default’ is due to their novel model, where by registrants own the SLD (left of the dot) across all extensions & as such can exchange the TLD (right of the dot) for say an NFT based extension. For example [.punk], as long as they hold a Cryptopunk NFT. This adds another layer to Web3 identity we feel, allowing people to express their kinship to a community within it. Registrants will also be able to use the same name for WNS’ upcoming [decentralized] Web3 mail & wallet.
‘A 2011 study found that the average lifespan of a web page is 100 days before it’s gone forever. It’s not good enough for the primary medium of our era to be this fragile.’
Whereas the legacy web is based on ownership & access, where a user is granted access to a file by the ‘owner’, IPFS is based on possession & participation, meaning the more nodes that participate and possess each others’ files around the world, the faster & more resilient the network will be to attacks, censorship, accidents & disaster.
In order to further aid possession, IPFS enables ‘content de-duplication’. Whilst entire files produce a single hash, these can be broken down into blocks which each return a unique CID. This allows different files (hashes) to share common blocks (CIDs). This greatly improves storage efficiency, allowing for increased mirroring / wider distribution of data, further improving the geographic resiliency of the network & speedy retrieval of high-demand ‘content/blocks’.
However, if you’d like more assurance your files will be readily available on the network (24/7), a bit like Dropbox on the legacy web, people have started offering similar services on IPFS incentivising ‘pinning’ (eg. Pinata). You also have protocols like Filecoin, which is an incentive layer to persist data vs IPFS which focuses on addressing / moving the data.
IPFS state, “we hope we can be the low-level tool that allows a rich fabric of communities, business and cooperative organisations to all form a distributed web that is much more reliable, robust and equitable than the one we have today.”
While traffic between IPFS nodes is encrypted, just like the legacy web, the metadata is public knowledge. Therefore, so too is which nodes are requesting/reproviding what content. This is deliberate, due to the protocol’s principles of highly modular design. It’s to make sure they don’t ‘box in’ any future builders / use cases due to lack of flexibility, as different uses may call for different approaches to privacy.
In terms of node identifiability, every node has a unique peerID and although a long string of letters/numbers may not point to an individual human per-say, it’s a long lived unique identifier for your node. This means anyone monitoring the network could potentially associate a peerID with a particular IP address. It is possible to reset your peerID, but just like changing your username on legacy web apps/services, this is likely to involve extra effort.
As a local node though, you can take measures against this, such as choosing to only reprovide pinned content, encrypting sensitive content or even running your own private IPFS network. It’s also possible to run your node over ‘Tor’, although this requires some knowledge of command lines.
All-in-all solutions like IPFS offers a promising [decentralized] alternative to a [centralized] legacy web. One which should become faster & more resilient to attacks, disasters & censorship, as apposed to one where publishers have little to no control over the persistence of their content on it.
So what are you waiting for… Join in the d-Web / #Web3revolution today by installing IPFS Desktop, or better still Brave or Opera browser with their native IPFS integration & UD / ENS(Brave-only) domain resolution.
You can also keep up with all the latest on web3 domain names by following @cloudnamecom on Twitter… as well as all the latest on decentralization & Web3 by following @D3CONOMIST
Cloudname is the innovative platform for online domain trading. Discover the world of cloudname and everything you didn’t know about domain trading.
Most valuable Domain extensions: is .eth the next .com? What are Web domain extensions? In the beginning, domains were created as an alternative to the