Web3, DApps, and Cloudflare IPFS and Ethereum Gateways

Syndicated blog from humairahmed.com.

One of the interesting areas I’ve been reading-up and working on past few months has been Web3. Web3 can be viewed as a new iteration of the Web incorporating technologies that exhibit characteristics of decentralization, trustlessness, immutability, inherent verification, while also providing transparency. Additionally, Web3 moves away from the aspect of a single entity controlling user data such as we’ve see in the current Web 2.0 model. That’s a mouthful, and I’ll briefly explain some more below and also follow-up with an additional blog post going into more details when time is more on my side :-).

InterPlanetary File System (IPFS) and the Ethereum blockchain are both distributed, decentralized technologies that are seen as part of the Web3 ecosystem; these technologies are currently being used to create decentralized applications (DApps).

You can think of IPFS as the storage layer and Ethereum as the compute layer. Each of these technologies have their own protocols and networks. IPFS being a peer-to-peer (P2P) distributed network for sharing and storing data and Ethereum being a programmable blockchain that can store and run code. Exciting things happening in this space!

As mentioned prior, technologies used for Web3 and DApps possess a few important characteristics, which I briefly expand on below.

  • Decentralization – move from a centralized model such as server-based to a more distributed decentralized model like a P2P network
  • Trustlessness – move from an explicit trust model to a trustless model where obtaining data or using an app does not require explicit trust of an entity
  • Immutability – inherent immutability to prevent tampering of data/transactions
  • Verification – provide for inherent verification of data/transactions
  • Transparency – data and application logic should be transparent to the user; execution and result is determined by code without intervention of any entity.

With the above in mind, some use cases you’ll come across in this evolving space is Defi, NFTs, Decentralized Autonomous Organizations (DAOs), gaming, and compliance and auditing systems, to name a few.

So what has Cloudflare done in the Web3 space? Well, check-out this blog: Announcing The Cloudflare Distributed Web Gateways Private Beta: Unlocking the Web3 Metaverse and Decentralized Finance for Everyone.

In a nutshell, Cloudflare currently has both an IPFS Gateway and Ethereum Gateway in private Beta. So how can users benefit from these gateways? Well you can use these gateways to access the IPFS and/or Ethereum networks without deploying and managing any of your own nodes! You can also connect your own domain name to these gateways allowing access to the respective networks/content from your own domain.

Below you can see a screen shot of my domain at https://ipfs.cloudmight.com where I’m using Cloudflare IPFS Gateway to serve IPFS content through my domain name. All of the HTML and CSS files are stored in IPFS. I accomplish this via the DNSlink protocol supported by Cloudflare DNS.

Humair's Test Website Stored on IPFS
Humair’s Test Website Stored on IPFS

An IPFS Gateway basically bridges between HTTPS and the IPFS network by exposing a HTTPS interface where requests for IPFS content is made. Libp2p is a system of protocols providing the network layer for IPFS.

IPFS Gateway
IPFS Gateway

Additionally, these IPFS and Ethereum nodes are running on Cloudflare’s robust and security-hardened global network, so, in addition to ease-of-access, you get all the benefits provided by the Cloudflare platform – performance, security, reliability and of-course no maintenance/monitoring of IPFS nodes.

Stay tuned! More to come on Web3, DApps, IPFS, Ethereum, and the Cloudflare IPFS/Ethereum Gateways. Check out the Cloudflare documentation if you would like to start learning more about Cloudflare’s IPFS/Ethereum Gateways now.

Follow SuperTechCamp on Twitter: @SuperTechCamp

Leave a Reply

Your email address will not be published. Required fields are marked *