I think it's an interesting idea, but the use of SSL (actually, PKIX) is really to satisfy one very specific use case, which is to ensure that devices like the Trezor (or phones or any other hardware wallet) can display to the user a human-meaningful identifier rather than an address. So this way a virus on the users computer cannot rewrite an address you are intending to pay to one owned by the botnet controller.
My proposal addresses this issue, sort of, just in a very different way.
Basically, the difference is that each invoice must be signed by domain owner.
But vouchers can be signed all at once,
by anybody who is trusted.
E.g. suppose somebody there is a web site, let's call it bitmutt.com, it finds reputable merchants/vendors, hosts descriptions and so on.
Somebody recommends me bitmutt.com, I go to it, browse product catalog, click on alpaca socks, and it shows up in my bitcoin client as alpaca socks vouchers endorsed by bitmutt.com
So, yes, bitmutt.com, the catalog, needs SSL. But individual merchants do not.
Of course, you don't always need to go through a catalog... Say, your friend might mention that 26546d600e1a6a278eba2170559afe415ddcdd88 alpaca socks are really good, so you put this ID into your color-aware client and buy a voucher.
I need to be able to talk to my friend in the morning and he says, "hey Mike, check out bitmit.net, it's awesome",
I would call that out-of-band verification: your friend confirms that bitmit.net is a reliable merchant.
What if there was bitmitt.net which looks exactly like bitmit.net, but doesn't ship goods?
You absolutely need to verify correct spelling before you pay. And your friend is the source of correct spelling, without his help you can't tell which from bitmit and bitmitt is legit. Both look the same!
no extra work needed.
I don't think there is a difference between "26546d600e1a6a278eba2170559afe415ddcdd88 alpaca socks are really good" and "hey Mike, check out bitmit.net, it's awesome".
So all benefits of SSL boil down to shorter names... Which can be really solved in a different way.
In your proposal the issue of identity is not really addressed
Yes, but the thing is that it
doesn't need same kind of identity resolution. In case with vouchers, you don't really care about merchant's identity, you care about endorsements. Is it endorsed by your friend? Is it endorsed by a reputable catalog? Is it endorsed by people on WoT? That matters.
I don't care if I buy from bitmit.com or bitshit.com if their socks are good and they really ship them. Identity is irrelevant.
If I buy something very expensive I'll need to be able to sue the merchant, THEN I'll check his identity.