I2P does something similar. It’s a bitch to surf at first but gets easier as you go on. We could learn a lot from these other projects. +1
Sounds good. An introduction hub in which each account can vote once (using their pub key) on their belief of the authenticity of a site. User rating systems have been proven to work. Items on amazon that have a high rating almost always see a greater number of purchases than their lower rated counterparts. Greatly simplifies things for popular sites but not so much for more obscure ones.
One idea is to have the safe addon ask the user if they believe the site is an impostor site after they have been connected to it for at least 3 min. These ratings are then aggregated and made available to all who desire to use it in their app or search engine. The importance of making the distinction between authenticity and being an impostor is that sites that have similar names to popular sites might be marked as not authentic when they are actually genuine in their own right. Asking users if they believe the site is attempting to impersonate another site for malicious purposes is for this reason better. This helps to clarify that just because the site has google in its name, if the site has a different purpose/function, it’s not trying to impersonate google.
It was suggested elsewhere that the current web could have pages as landing pages so that people still using the traditional web could land on one of those pages and it directs them to the SAFE version.
Then the likes of Google could have a link to the SAFE version of Google.
Thus if I am new to SAFE, don’t have any petnames etc etc, then the old web can link me to SAFE pages for the sites I am used to. Then as I get used to the freer way of thinking I learn to search for the sites natively on SAFE (using search engines, names off others etc etc)
Maybe, just maybe one day the old web will just be a load of landing/link pages
Hi Pol, indeed we love our DNS, I certainly do. Any flaws? Not securely unique perhaps (Zooko) …and a bit of a challenge to replicate on SAFE. However panic we need not, 'cause there is a solution: in a world without DNS the DNS becomes optional and multiple.
###Optional
In today’s world DNS has oozed too deeeply:
- this webpage fetches new posts as you scroll
- my antivirus dowloads virus signatures
- paypal communicates with sellers’ websites
Do you care if human-readable URL-s are used for any of this? I believe not.
However switch off the DNS and all apps on today’s internet break down.
Universal use of native links can make SAFE apps independent of DNS.
Even humble webpages can and probably should use native addresses in hyperlinks.
DNS then would become an optional human-machine translation layer.
###Multiple
But why should we strive to make our apps independent of DNS? This is because just like the crowdsale of MaidSafeCoin did not go to plan any DNS that we build for SAFE may end up not functioning properly.
However if DNS is optional then it is also easily swappable. Don’t like an implementation? Off it goes to the bin.
Better yet different people can use different DNS-s. I test one and you another.
###Conclusion
I see it as desirable to
- let the best DNS win
- have a choice of several competing DNS
However as I switch from one DNS to another
- the list of resolvable names may change dramatically
- it can go from 500k registered names to 125 or none at all
- a name which resolved to one website yesterday may resolve to another tomorrow
I strongly believe SAFE applications will function correctly under such a stress only if they
- were designed to and actually can work with no DNS at all
- make use of human readable names only when communicating with humans
- keep all addresses internally in their native form
Bizarrely enough when I argue for a no-DNS system I’m actually paving the way for a better DNS. The only catch would be that names resolved that way will not be globally unique - since you and I may resolve differently. But we already know that names can not be all of (securely unique), (global) and (memorable) so this trade-off should be ok, n’est pas?
Once again, you failed to conceive that there is a contact booknaming system. You can name it, and boom, it’s memorable for your end. When you connect, it is still using the random selected numbers.
This is revolutionary. No offense, but I like this much more than even @Seneca 's idea about the bidding system.
I find myself using tinyURL.com or bit.do or other URL shorteners all the time on today’s internet, and absolutely love it. It makes the internet so much easier to think about, remember, and access for me. Every file just has a little nickname, type it in, & done!!
This is awesome in every way, please implement this idea Mr @dirvine and Mr @nicklambert and everyone else on the MaidSafe team please! It is the most user friendly and is the simplest easiest idea
And to anyone considering this idea… Cmon… Isn’t this how YOU would like YOUR internet experience to be like? Isn’t it?? Think@it
EDIT: Wait, sorry, this idea could actually just be an app that someone makes, doesn’t have to be built into the core, so I guess the official MaidSafe team need not worry about this, they only need to make the network.
This is a great idea for an SAFE App (those things I love) so I’m sure someone will build it because of the massive money (SC) potential. So no worries, it will just happen on its own
…now, just what to call it?.. And how to logo it?.. These are the important questions we need to be asking…
Think about this, when you ask your friend phone number, he said sure! He tells you the number, 111-2222-3333. Then you can name him whatever you like, “petname.” This is no different.
So elegant in it’s simplicity.
Wow that is an amazingly perfect way of explaining it
OK that’s it, I’m gonna go learn Rust and start making this app right now before any of you!! That SafeCoin is MINE >:D
The race is on!!
SAFElinx ftw
DNS is not part of TCP/IP. It is an extra service. I think this is the way SAFE ought to look at it too. It shouldn’t be part of the core protocol, Competing schemes can be tried and the best one will be the one that sticks.
This RFC -V seems to be ideal to me.
Any permissionless system is going to be as useful as TCP/IPv6 addresses (not very) Having an extra layer that provides directory services that allow you to be sure you are talking with the people you intended to talk with is not a hard problem. Doing it in a decentralized manner is harder, but not necessary, so long as it is accurate.and competition is allowed… Not building such thing into the core protocol is wise…
Users can define their own petnames, or they can subscribe to other services that maintain petnames for everybody they know about. The more accurate these services are, the more apt folks are to subscribe to them.
This should be built into all browsers so it’s cross-application
EDIT: Also, say you (Alex) are chatting with your buddy. You want to reference your petname (Max) for entity A. If you type “Max” into the chat and hit send, you’ll still see max, buy your buddy with either see:
- His petname if he already knows the entity (say his petname is “Sam’s idiot brother”)
- A Nickname (suggested name provided by that entity) that he can assign to a petname right then and there (Alex’s friend Max)
I agree. Like I said, DNS is basically a big bookmarking service. It’s nice and fancy but that’s basically what it is. And the only real difference between TCP/IP that I can see and tor/safe so far is that one uses a string of numbers, that is an ip address, and the other uses a hash. But essentially it’s the same thing. The only reason onlon links look so strange to people is they’re not used to looking at raw ip addresses, which actually don’t look all that much different than onion hashes. And if people had to subscribe to competing dns/bookmarking services in either case they wouldn’t really be all that different at all.
Right. Something that looks alien shouldn’t scare people away. We’re in 21st century. XD
The best part is that you don’t NEED to write, safe:whatever.com
The truth is… I still don’t understand why we should need to add safe:whatever.com where we could do safe:whatever
With this RFC technique… it would be, safe:6sgjmi53igmg7fm7
If the site contains html, then safe:6sgjmi53igmg7fm7/index.html
Hey man I liked this idea so much I made a logo and page for it on my new site I’ll post a new link when it’s 100%
I think if we go with the no-dns route there should be an option upon account creatiion to offer the user an option to sign up to a list of dns providers. These providers could be decentralized and when one creates a new dns system of one kind or another they just submit it anonymously to the network to be presented to new users. These DNS systems could opt to have their stats submitted along with their names so new users could see a bit about them and more easily select. Kind of like a “pick your race and class” selection screen when making a new character for an rpg. You can of course opt not to select any dns service and instead just use the raw hashes and build your own set of bookmarks (ie go classless) and of course you can select a dns of your choosing at another time.
Just to understand, the solution would be:
- I generate an address which is a random hash vmfv324k32rmflcqs01ri3432e11rd (or even longer). This is my native address. Everything beyond is NOT done within the SAFE protocol as @jreighley suggests
- I relate the address to a Naming System and give it a human-readable name. This affords me to provide a private key to authentificate me as the owner.
- Since the naming system is not part of the SAFE protocol it cannot be resolved in the browser without a correspondent plugin
Some considerations:
On the free market there are three leading DNS/bookmarking systems. So let´s say I am a representative of IBM and want my customers to be able to arrive at my page at any cost. Now in two of the dominant DNS “ibm” is already registered. I could register ibm5 on all networks, but that would spoil my brand, so I decide to contact both owners. One is offfering me to sell for 100,000 $ and since it is important to me and I really want the largest possible coverage I pay. The other one that is on the currently most used DNS turns out to be dead or there´s anyone I can reach out to. Now, how do I advertise my page? I could use a QR code with my native address, but a) most of my clients do not use QR codes and b) it´s not as quick as memorizing a name. Plus - whenever a new domain name system evolves, I need to react because someone could register my name, clone my page and scam users by selling them expensive hardware that never arrives. So I start wondering what kind of advantage this provides to me and decide to stick with a centralized system that may not be safe, but at least provides a stable relation between me and my customers.
I don´t think this has to be a necessary disadvantage to be honest. Maybe SAFE is not made for enterprises like google, skype or ibm and maybe a different type of enterprise will develop to which human readable brands are irrelevant. However, I doubt that this will happen in the near future and I also think that there is merit to attract all sort of enterprises, particularly the leading ones.
In consequence I believe that individual bookmarking doesn´t work out even for smaller enterprises as it affords the customer to do work for you, while memorizable names stick with them if they want it or not.
I wonder whether the solution could be some sort of decentralized name system based on vaults. Imagine vault owners could set up a TLD and allow users to assign their native address with a custom string. Let´s say I assign to a service called “brand” my native address vmfv324k32rmflcqs01ri3432e11rd could resolve to ibm.brand. The problem is that this would only work if this particular vault is online and occasionally there may be a lot of downtime (plus I am unsure whether the vaults are addressable in the needed way). An alternative is that a TLD that was set up is broadcasted throughout all nodes. This again would lead to “first take”. But if vaults had the ability to disagree then it would eventually lead to a web of trust between vault owners.
Let´s say “brand” becomes a popular TLD which is accepted by 99% of all vaults, then there is a lot of stability to resolve a once-registered string. If I don´t get my domain on .brand I may get a better one or host my own one, i.e. .com However, if my proposal is refused by the majority of vaults it will be effectively unusable. This could be the case if people believe that is was only set up to squat all potentially valuable addresses. Or: someone else proposes the same ending and receives >50% approval - then his table of addresses and strings will be superior to mine.
While I believe that collective bookmarking systems could (and - given this solution - would still be able to) do the same with a plugin, I personally believe that having a basic decentralized protocol that allows to find agreement about how to resolve a native address throughout the network would workout better for most users.
Just to be clear, this concept has essentially the same principles as GNUnet’s “delegated” DNS (Petname system)?
the main principle is that all raw addresses would be hash addresses generated by the system, and could be accessed as they are. out of the box. no central or official dns. if the users will build apps on top of apps on top of other apps, the free market will decide. and it will not be the network’s fault that users abuse ‘domains’ inside of other applications
as for the ever debated advertising on buses or whatever, a possible client that INDEED and TRULY needs your services, will run after that bus to note down your address, because you advertised on the bus: ‘safe:4536478yf87eyfuhf48 → the best place where you could buy hairdryers’