3 ms·
There is a smart contract that supports features like domain name resolution and transfers. The data and code needed to resolve the domain to your IP would live
by thebean11 5y ago
There is a smart contract that supports features like domain name resolution and transfers. The data and code needed to resolve the domain to your IP would live on the blockchain, so effectively every node in the network is hosting it. The smart contract could be totally immutable; nobody would have special permissions.
The resolution would work by executing some "lookup" smart contract function on a node (you could run your own local node for lookups, or use a public node similar to hitting your ISP's or Google's DNS server).
None of this is really cutting edge, it has been possible for a long time now.
- Grustaf 5y agoWe all understand the first part. Storing information on the blockchain, that's easy. But where almost all use cases fall down is in interfacing with the real world. In this case it sounds like that is solved though. I know very little about the structure of the internet, but it seems you are saying that instead of asking a DNS server, every computer would ask the blockchain to resolve the domain name, correct? But wouldn't that require every single device that connects to the internet to "update its firmware" or something? Or could this decentralised DNS somehow emulate the old fashioned kind?
- thebean11 5y agoRight exactly. I think from the perspective of devices (say your laptop) it looks pretty similar to the current system. You give it the IP address of a "DNS server", but now it's hitting an Ethereum node who is doing the DNS lookup. There is danger there that the node could lie about the state of the blockchain, so it does need to be trusted. The paranoid can always run their own node and be 100% sure. I do think you could expose the same interface as traditional DNS but backed by the registrations in the blockchain. There are browsers that will resolve Ethereum Name Service domains today, but I'm not sure how that's implemented (probably lookups on a public ETH node). The important improvements IMO are on the registration, transfer, renting of the names rather than the lookup side which doesn't look dramatically different except that other code running on the blockchain could do the lookups too.