for the end user there are not so much changes .. the browser/operating system just asks a resolver that is BitShares DNS capable to resovle a domain name into an IP .. the local users not necessarily needs the whole blockchain ... If more trust is needed we could go for a SPV wallet which is currently not yet implemented ...
No .. the classical end-user justs points its DNS entries to a different, BDNS capable, resolver ..
thinkg of if as what google runs at 18.104.22.168
Unfortunately, only using a resolver just gets you the domain name to IP mapping but none of the security that BitShares DNS can provide. But there is a way to provide a moderate amount of security while remaining backwards compatible. We can have the delegates act as the certificate authority signing the SSL certificate for a BitShares DNS domain. This signed certificate can also act as the cryptographic proof to get a delegate fired if the delegate signed a false SSL certificate (verified by looking at the full blockchain). A user then needs to add the current delegates as trusted certificate authorities to their device (and keep them up to date as delegates change).
This is obviously not an ideal setup. There is another method that may also work. It is really useful if you can run a daemon on your local device. You basically run an HTTP proxy which intentionally man-in-the-middle attacks your SSL connections (check out http://wiki.squid-cache.org/Features/BumpSslServerFirst
). This then allows the proxy to read the SSL certificate from the server and dynamically rewrite it to its own signed SSL certificate. As long as that proxy's certificate authority is the only trusted CA on the device, you can have backwards compatibility, securely access legacy domains, and securely access new BitShares domains. Unfortunately, a third-party cannot be trusted to run this proxy, since they will have access to the plain-text communication between the user and the server. So, I am not sure if this is a workable solution on most mobile devices (it could probably work on an unrooted Android, but I am not sure if this is possible on the iPhone).