Summary
It seems that most .eth websites are pinned to IPFS via commercial pinning services. These services are fantastic for uploading to IPFS, but we should not rely on them as the primary host of .eth websites. Otherwise, we’re back at step 1 (centralized website hosts). To further decentralize the stack, the ENS DAO should have its own IPFS nodes that are dedicated to pinning .eth website content.
Background
During the last .eth Websites Subgroup meeting, we heard from several community members who are working on apps that allow ENS users to easily create a decentralized website and attach it to their ENS name.
Apologies if I’m missing any, but we heard from:
- nimi.eth by dvve.eth and zett.eth
- simple.eth by Brian Soule
- My unnamed app at ens.art
In our conversations, we realized that all of these services use Pinata’s API to upload/pin files to IPFS. This works perfectly as an on-ramp, but feels like a loss for decentralization. Content on IPFS is only accessible for as long it is pinned, so relying on a single commercial service to be the sole pinner of all .eth websites is not ideal in the long term.
How to further decentralize .eth websites
To reduce our reliance on commercial pinning services, I propose that the DAO should host IPFS nodes dedicated to pinning .eth websites. It does not have to be as complicated as Pinata by any means, and I actually think this works best if it operates in the background without any need to opt-in.
At least to start, there is no need to build alternative solutions to uploading to IPFS. The current solutions for that are sufficient. My concern is more about long-term content availability.
In practice, this looks like ENS hosting a few lightweight servers around the world that will be IPFS nodes. The esteroids team has already built a solution that listens to the ENS Public Resolver contract for setContenthash
function calls, which @neiman confirmed we would be able to use for this pinning service as well. There are currently some limitations to this, namely added complexity with IPNS since that doesn’t require a new contract call to update website content, but that’s also being worked on.
The average size of a dWebsite from the aforementioned projects is less than 20kb, which means an IPFS node with a 100GB disk size could pin millions of websites. Clearly, the files generated by these projects are smaller than most websites as it’s a single page with minimal content, but the point is that we don’t need super powerful servers to support this initiative.
Next steps
This post is mostly a temp check to see if the DAO would be interested in supporting the effort to further decentralize .eth websites. If there is interest, the next steps would be to regroup with members of the subgroup who would like to contribute to this proposal so we can sort out logistics (how many servers should we have, who manages them, where are they located, how do we limit abuse with large file sizes, etc.), then come back to the DAO with a request for funding.
Would love to hear any feedback!