# IPFS & d-Websites

By [D3conomist](https://paragraph.com/@d3conomist) · 2022-08-24

---

**_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
---------------------------------

![](https://storage.googleapis.com/papyrus_images/c70090b8692f7aa14d72ebe5d3a5f5770921df662356f60c86a94ebc4e2ee9ba.png)

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
-------------------------

![](https://storage.googleapis.com/papyrus_images/cbfbd8c2ebfbf67dd30350e20c820ad19f1abf5271f545d9f040dc18cf2563c3.png)

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](https://ens.domains/) & [UD](https://unstoppabledomains.com/) domains are resolved natively in Brave & Opera. Other services offer a kind of ‘half-way house’ solution, via Web2 gateways. For example, with [WNS](https://wnsdomains.io/) 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](https://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.

![](https://storage.googleapis.com/papyrus_images/1f935d6e5957ec43b7ae5d9ac0e85926fe7741a613f79035d1d21090efc59692.png)

[.Web3](https://wnsdomains.io/) is the default extension of [WNS](https://wnsdomains.io/). 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](https://twitter.com/adamhunt__/status/1530546468783722496?s=20&t=gllTuwXjF-p0bOyGFkvdiQ) & 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.’_**

Network Effect
--------------

![](https://storage.googleapis.com/papyrus_images/d0eae0dde1a48f4ddb3df9f4d377629e74e22add7181b3a7b8cc922d71091f5d.png)

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.”

Privacy
-------

While traffic between IPFS _node_s 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.

Conclusion
----------

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](https://twitter.com/cloudnamecom) on Twitter... as well as all the latest on decentralization & Web3 by following [@D3CONOMIST](https://twitter.com/D3CONOMIST)

On auction soon…
----------------

1/1 \[OG\] CN-D3CONOMIST - an honorary Cloudname x D3CONOMIST NFT… All earnings will be reinvested in Cloudname domains and shared as prizes with followers of @Cloudnamecom and @D3CONOMIST.

Details of how to enter the giveaway will be announced soon on the @D3CONOMIST Twitter…

![](https://storage.googleapis.com/papyrus_images/498eb81a281242faa0b111bcc186808e94d7fab6261b5c2978cfaf48a54093c9.jpg)

This article was written & published by [D3CONOMIST](https://twitter.com/D3CONOMIST). Special thanks to [Cloudname](https://cloudname.com/) for their support.

### About D3ECONOMIST

D3CONOMIST is a publication, network & launchpad on the hunt for the next big innovation Web3. We’re launching the D3CONOMISTS NFT for exclusive access to our network, launchpad & more. The launchpad will give holders opportunities to invest in cutting edge projects at seed round prices. As a team, we’ve been involved in Crypto / Web3 for over a decade now and have established some strong connections in the space. As such, we already have some well backed projects who are looking to launch with us.

Mint our NFT and start investing from the word GO!

### Join Us

We invite you to [follow us on Twitter](https://twitter.com/D3CONOMIST) to keep up to date with all things decentralization. Also, check out our blog for more golden nuggets of web3 goodness.

---

*Originally published on [D3conomist](https://paragraph.com/@d3conomist/ipfs-d-websites)*
