The proposal is to integrate dynamic decentralized websites with ENS
What is a dynamic decentralized website?
A dynamic decentralized website is a smart contract hosted by an EVM-compatible blockchain (Mainnet, Testnets, L2s (Optimism/Arbitrum), etc). When users browses the website, we will call the contract (together with additional web arguments such as pathinfo), and the contract will return dynamically generated web contents (HTML/SVG/PNG, etc).
To browse the website, a user can type a web3:// URL defined by ERC-4804. An example of a Web3 URL is
web3://enshomepage.eth/
or using Web2 gateway, the equivalent URL is
https://web3q.io/enshomepage.eth/
Browsing the web3 URL will find the contract address of enshomepage.eth, call the contract following ERC-4804, and return the generated web content back to the browser.
What is the difference with IPFS?
The major difference is that the content of IPFS is static, while the web3:// websites are dynamically generated thanks to the programmability of EVM! With this feature, developers could easily create an interactive website such as a decentralized blogger with user comments, and decentralized social networks just based on Ethereum and ENS technologies!
The following is an example of a decentralized blog powered by ENS!
web3://w3home.eth/#/blog/0x362AD160C9622F95D042D8D83258909F3676AA9B
Would it be expensive to upload all web data to Ethereum?
Admittedly, uploading the web data to Ethereum will be very expensive due to the high gas price and storage cost. One way to solve the issue is to deploy the content to Ethereum L2 solutions such as Optimism/Arbitrum. However, these solutions mainly optimize for transaction throughput, but not large storage. To enable richer dweb applications, we are currently closely working with ETH community on the L2 solution for storage scalability. A couple of technologies will be involved are:
- EIP-4488: Calldata Gas Cost Reduction
- EIP-4444: Bound Historical Data in Execution Clients
- Dynamic Data Sharding
- W3IP-4: EVM Memory Optimization
- ERC-5018: Filesystem-like Interface for Smart Contracts
- etc
You can check out web3://w3home.eth/ for more info!
What is the addon value to ENS?
We believe the dynamic decentralized website can bring a lot of value to ENS. Users can now easily interact with .eth
dwebs and dynamically change the content defined by the smart contract. Furthermore, users can just use using existing Ethereum wallets/accounts without additional effort.
Note that ERC-4804 allows translating a .eth
domain to an EIP-3770 chain-specific address - this means that we can use .eth
domains to locate any contracts on any EVM-compatible blockchains.
What are the next steps?
We cordially invite ENS community to build the decentralized dynamic website ecosystem together! A couple of directions in our minds are
- Integration;
- ERCs improvements;
- Dynamic website application development and support (blogger, social network, on-chain generative NFT, etc);
- Etc
Feel free to us know if you have feedback/suggestions/ideas! A lot of exciting stuff!