OK, look. Since this has been requested and requested and +1’d so many times I think it’s worth dispelling a few myths and providing an idea of how you could actually achieve what you’re after.
First: a block device is not just a “magic storage thing”. It’s like a physical hard drive and, as one commenter said: “You can’t plug one hard drive into two computers”. Another way to think of this is the name: “block device”. In other words, one machine accessing the device blocks another.
Second: you can have you cake and eat it, depending on how technical you want to get.
Your easiest bet is to use a droplet with an attached block device (which has redundancy, if you want it) and then share that to your other droplets using NFS. Out of the box, NFS is fairly straightforward to configure, but it’s performance can vary depending on what you’re doing with it. Running lots of “slave” web servers all reading off an NFS share for their content is fine IMHO, but lots of nodes writing to it = less good.
DRBD [distributed redundant block device] is phenomenal, but probably not I’d consider inside a VM environment. I used this when I ran a digital agency a while back: this allows you to create partitions on separate machines (100GB on machine A and the same on B) and it’ll synchronise between both machines and provide failover support without a central storage area (which is why we used it). It was [at the time] rock solid, but unless you find a decent guide on how to set it up, it can feel a bit overwhelming.
There are also other options like GlusterFS (lordy!) but here (for me) is the Fog or War and I haven’t touched this much.
In short: you cannot have a block device which connects to two things, by definition, but you can get something close.