Your counterargument sounds silly because it is silly.
Email is a federal system. Even if it's more decentralized than having a single point of failure, it still has authoritative nodes and just a few points of failure (maybe 4-5 instead of a single one, not much of a difference here).
If your system has servers on which clients have to rely, it's not fully decentralized. A fully decentralized system is peer-to-peer only and does not rely on anyone else. You just join the network as a peer and that's all. There's no single point (or a few points) of failure because everyone is authoritative.
If, for example, GMail is taken over your email is gone and any email sent to you thereafter is lost. Your mail address is owned and controlled by GMail, they just allow you access. Even switching from GMail to Yahoo is a burden! All your contacts have to update their address books and all non-updateable media (think printed, downloaded or out of your control, like some whitepapers I published which feature my email) is stuck with your old, unusable address forever. My Bitcoin address is working, regardless of who joins or leaves the Bitcoin network.
Your GMail/GHash simile is misleading. GHash users can leave the pool and they'll still have their coins in their wallet, operating normally. If GHash is closed or DDoSed users could carry on normally, or even switch to another pool if they want to do so.
GHash is external to Bitcoin (a service to gather peers for convenience), while GMail and other massive email servers are critical parts of the system.
Even if you set up your own email server, other servers could refuse to relay email to you, or perhaps DNS servers might choose not to handle your domain... and you're gone. In a federal system, other authoritative nodes have to acknowledge you, which they might not. And even if they acknowledge your existence, your server is still a single point of failure for yourself! And you're still relying on other single-points-of-failure for delivery. Even if your server is fine, you might not be able to deliver messages to your friend in GMail if it's gone.
We've already seen this happening. MtGox is gone, but Bitcoin (the system, not the community) didn't even notice.
For all intents and purposes, E-Mail (assuming you are in control of your own domain name) and Bitcoin are equally decentralized.
E-Mail uses DNS information to find ip addresses matching recipients' host names. Bitcoin uses DNS seeds to bootstrap new peers.
E-Mail can avoid using DNS, for example using /etc/hosts (a series of more-or-less hard coded hostname-ipaddr pairs). Bitcoin can avoid using DNS, through a series of hardcoded seed nodes' ip addresses.
Unless the destination host's IP address is known, E-Mail will rely on DNS to discover it. Bitcoin will broadcast the message and hope for its inclusion in the block chain.
DNS providers, E-Mail providers and other participating Bitcoin peers may at any time decide to ignore or block messages or not to forward them. Bitcoin miners may choose not to include messages in the block chain.
Once the destination host is known, E-Mail can transport messages directly through SMTP. Bitcoin can broadcast to any nodes, including the desired recipient.
As far as I can tell, SMTP is at least as decentralized as Bitcoin. And it avoids the problem of having to rely on unreliable peers and picky miners. I'm happy to learn though, so please feel free to point out any mistakes I made.
> For all intents and purposes, E-Mail (assuming you are in control of your own domain name) and Bitcoin are equally decentralized.
I completely disagree.
If your system isn't fully peer-to-peer, it's not decentralized. Period.
The central servers might federate with each other, but it's still not decentralized since you're still relying on central third parties.
Even if you set up your own server, the recipient's server is still a third party you have to rely on.
> Bitcoin uses DNS seeds to bootstrap new peers.
You focus too much on DNS (which I purposely skimmed over in your parent comment, just a single sentence) while I'm talking about the system itself.
In the first place, Bitcoin relies on DNS much less than email: it's easier to replace DNS for Bitcoin (e.g. using list of known seeds, as you said) and it's something you do once (when connecting to the network for the first time), while email relies entirely on DNS for normal operation.
- If you want to send email to a new unknown domain, you must fetch it's mail server from DNS if you don't know its IP already. And you still have to rely on the destination server proper operation!
- If you want to send some BTC to a new Bitcoin address, you're good to go as long as you're already connected to the network.
Let's level it: even if you avoid using DNSs both on email and Bitcoin, Bitcoin is still way more decentralized (since it's peer-to-peer) compared to email (which is peer-to-server-to-server-to-peer).
If there's a server inbetween, it's not decentralized.
Also: Bitcoin addresses are not tied to single providers, while email addresses are.
> Bitcoin miners may choose not to include messages in the block chain.
But because it is a decentralized protocol, someone else may choose to include it. That's the magic! If a single peer refuses to do something, there are still thousands of peers which might not refuse! In email, you rely on two authoritative servers, the sender and the recipient. If any of those two fail, communication is interrupted.
Even you can include the transaction (with enough horsepower) or offer some compelling reason for others to include it, such as a huge fee.
In email, if the server you rely on refuses to do something (think of a judicial order)... you can't do anything about it other than changing providers, updating your addresses, sharing your address with your recipient (which you might not be able to), etc.
> Once the destination host is known, E-Mail can transport messages directly through SMTP. Bitcoin can broadcast to any nodes, including the desired recipient.
Exactly! Quoting you: Bitcoin can broadcast to any nodes! Even if the recipient isn't even connected, the system keeps working!
That's what makes Bitcoin more decentralized than email.
I'll quote you again: Bitcoin can broadcast to any nodes!
> And it avoids the problem of having to rely on unreliable peers and picky miners.
So you'd rather rely on a few unreliable and picky servers which might be subject to coercion, instead of a lot of unreliable and picky peers which are easily repleaceable without damage or any burden to the system or its users?
The key here is a few vs. a lot, and replaceability of nodes without burden for the users.
Technically SMTP can be decentralized in the way you describe. Anyone can run a MTA. In principle a MTA should try routing messages through alternate routes to the destination if the first route does not work; also messages are stored on the way if some routes are blocked.
The fact people do not currently use SMTP in a fully distributed fashion does not detract from the fact that e-mail can be (re-)made fully distributed if/when need be.
Everyone would have his own single point of failure, but it's still centralized (as I explain there) because SMTP is designed to rely on centralized services (DNS, which you can't practically avoid) and assumes servers which are single points of failure (even if there are millions of them, you can still be cut off from yours).
A government can disrupt email communications even if everyone has its own server because SMTP assumes single central points of delivery by design.
> if the first route does not work
Bitmessage does it even if the first route works. Which is exactly what makes email centralized, and Bitmessage not.
Imagine a malicious MTA saying "ok, got the message" but not relaying it. The email is gone forever and you wont even notice. In Bitmessage the message will reach its destination one way or another... by design!
If you have to hack email to be more like Bitmessage for it to be decentralized... what's exactly your point? :P
All your points seem to focus on DNS. Nobody would argue that DNS is a decentralized system. And in fact neither is IP.
As far as I understand nothing in SMTP makes it inherently more centralized than any piece of software that relies on IP (and for that matter, the web itself). Isn't the internet the poster child of a decentralized system? Does bitcoin/bitpost not rely on IP?
DNS is just one of the many ways email is centralized (email relies in a centralized third party service to resolve domain names and find mail servers for them) but I just mention it near the end in a single sentence. Remove the sentence and my point still stands.
Please read again and understand my comment!
> And in fact neither is IP.
Actually IP is neither centralized nor decentralized. Our current largest scale implementation (which we call the Internet) is centralized, but it's a side-effect, not a requirement.
> As far as I understand nothing in SMTP makes it inherently more centralized than any piece of software that relies on IP
Re-read my comment.
Perhaps you don't know how Bitcoin works? In Bitcoin there are no servers... or rather, everyone is a server. The cool thing is I'm still receiving coins whether I am connected to the Bitcoin network or not. It just works, regardless of who is or isn't connected to the network!
In email, I'm still tied to a provider (even if I'm my own provider) which is a single point of failure.
I'll say it again: if your systems has clients relying on servers (which Bitcoin does not), it is not decentralized.
Come on, this is actually what makes Bitcoin so revolutionary!
> Does bitcoin/bitpost not rely on IP?
It does (remember IP is not inherently centralized), but it does not rely on the Internet.
Even if we're using IP (the protocol), Bitcoin is transport-agnostic. In fact it is a goal for the community to use other transports (such as radio or satellites) to avoid the problem of relying on the centralized Internet.
Even then, IP (the protocol) will probably be used for addressing and such, but in a decentralized manner. It's not a requirement, but IP is a useful protocol and nobody wants to reinvent the wheel.
I didn't say SMTP is inherently centralized. I said email is inherently centralized.
You could use (a variant of) SMTP as a transfer protocol in Bitmessage ignoring target host discovery and using the p2p network for relaying, and then it would be decentralized... but without them SMTP is not much besides the envelope part, which is pretty meaningless.
The great thing about Bitmessage is that it replaces DNS, target host discovery and single sending/receiving points.
SMTP relies on single relay points, while Bitmessage relays through the whole network (regardless of who's online or not).
Bitmessage's architecture actively avoids users lumping in a single provider since each user is his own provider by design.
Also: SMTP relies on mail servers and ties addresses to them. In Bitmessage, your address belongs to the whole system. You can't switch from an SMTP provider to another while keeping the same address. That's a single point of failure.
----
Imagine a perfect scenario where everyone on the internet has its own mail server and nobody uses DNS for target discovery because they send emails directly to IPs (e.g. target@10.10.10.10). What if your IP changes to 10.10.10.11? Are you going to update your address everywhere? What about people with dynamic IPs? What if I don't want to give you my IP? You wouldn't have a mail address you could publish!
How did we solve these problems? Using centralized DNS and mail servers. Which is what we want to avoid in the first place.
So SMTP isn't centralized by design, but for it to be comfortable, it has to be centralized.
----
And Bitmessage solves even more problems:
Let's say your ISP or your government wants to isolate you from communications.
You publish target@10.10.10.10 as your email. Your government finds it out and tells your ISP to close your server at 10.10.10.10.
Now you won't receive communications. Single point of failure!
You can change your address (which is a burden in and of itself) but then you have a single point of failure again which is as easy to cut you off from.
You can't do that in Bitmessage because everyone has and can relay your email, whichever their IP or yours is. They'd have to control and cut you off from all relay servers, which is everyone on the network as opposed to email where they have to cut you off from a single server.
----
Okay, so for SMTP to be decentralized we have to strip email down so it:
- Wouldn't rely on DNS which is centralized.
- Wouldn't rely on target host discovery, which creates single points of failure (i.e. addresses weren't tied to single servers and could "float" in the network).
- Would broadcast your messages to all their known relays (which would in turn relay to all their relays, which would in turn... ad infinitum) so they can't cut you off the network.
I see your point, however I have to politely disagree:
The naive solution to the problem you described would be to simply broadcast every email to every possible receiver. And in fact, I believe this is how bitcoin actually works (but I am happy to be corrected).
> The naive solution to the problem you described would be to simply broadcast every email to every possible receiver.
Exactly. And to every possible relayer too! Assuming we've dealt with the SMTP assumption of hostname = final delivery point.
You might have read the parent reply before I finished it (I have a bad habit of editing after sending replies, sorry).
As email works now, you'd receive duplicate emails, right? Easy to deal with if you wanted to, but Bitmessage works like that by design and assumes duplication as part of the system.
So, if your solution to the centralization problem is, literally, for email to become more like Bitmessage/Bitcoin... then what are we arguing about? :P