I understand that DNS/HTTP is needed right now to serve the Dapps through human-readable names (e.g., mkr.market), but very soon it seems like this will be possible with a combination of ENS and Swarm (or alternative decentralized protocols).

Is there any other part of the core ethereum protocol that depends on DNS or HTTP?


In my opinion, we've already reached a point where there is no technical dependency on either of those things. In deference to convention, a lot of apps we see will choose to use such things for some time.

To elaborate, an Ethereum node can bootstrap itself with nothing more than a clue about where it can find a peer. There are lots of ways to do that without involving DNS or HTTP. If you've got Ethereum, you can have a name service. If you've got a name service, you can have IPFS ... and so on.

In practice, developers are faced with decisions about the system requirements. For example, insisting that the user has both an Ethereum full node and an IPFS node (or similar) may alienate too many users to be commercially viable in the near term. Consequently, a lot of the apps we see use a server-side assist. That contains the system requirements to fair assumptions about the user: a browser and an internet connection. It ends up using DNS and HTTP.

In my opinion, the current state of affairs is analogous to the early days of the internet when the TCP/IP stack and a browser wasn't something to take for granted. Users had to set it up. It wasn't something my mom could set up.

When it's a safe bet that the users will have a stack of distributed services on their end, we'll start to see more fully decentralized apps. It's anyone's guess which staple services will rise to the level of standard equipment. I don't see how DNS or HTTP are required from a technical standpoint, but they are useful.

Great question. It will be interesting to see what others think about this.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.