You may have heard about Quantum Entanglement, it's a way of 'virtually connecting' two things in a certain way so that no matter how far apart they get if something specific happens to one of the things then the other thing 'knows' it happened. A lot of people have thought that Quantum Entanglement could be used as a way of communicating over vast distances in real-time (faster than light communication), but so far nobody has figured out how to do it because of the specifics of how Quantum Entanglement works.
The way it works is that after two atoms are entangled with each other they can be separated and then measured. Measuring an entangled atom will tell you if the other entangled atom has already been measured or not. That's the important paradox that makes it difficult to create a communication system with Quantum Entanglement. The only way to send a signal between a pair of entangled atoms is to check if the signal has already been sent, and then the entanglement is broken (the same pair of atoms can't be used another time unless they come back together and entangle all over again). And you can't look for a signal without sending the signal.
Sounds like an impossible paradox, right? Well I think I may have figured out a way to use Quantum Entanglement for communication without breaking any laws of physics. Here's how: first you're going to need two very long molecules with the same shape and length, something like strands of DNA would work perfectly. Then you entangle those two molecules together (I won't go into how to entangle things, that's beyond the scope of this article, instead I'll describe how to use entangled objects for communication).
Now the way to do it is you need to agree on some things in advance for this communication protocol to work, like a time-frame (let's say one measurement per second for example), and you also need to decide which one in the pair of molecules should be the sender and which one should be the receiver, then you can separate the two molecules by a huge distance. Let's say for example you keep molecule A here on Planet Earth and you put Molecule B on a spaceship traveling to the Andromeda Galaxy.
Okay, now let's assume that Molecule A is the receiver, and Molecule B has already arrived at the Andromeda Galaxy, and we'll measure a different atom from these molecules one time every second (like burning a fuse). So, a machine on Earth measures a fresh atom from Molecule A every second, and a machine in the space ship measures a fresh atom from Molecule B every second (but with a half-second delay, so that A 'goes first').
Now for the protocol part of it. Let's say that when Molecule A is measured first then there is no signal being sent, but when Molecule B is measured before Molecule A then that's a signal. But this is only a one-way one-bit signal, maybe useful for messages like "Attack now!" but not really suitable for robust communications like sending a page of text.
But we can do better than that! Let's use a set of two DNA Double-Helix strands for our molecules. The fact that DNA is a Double-Helix means that we can use Binary. Let's say for example, if Molecule A gets measured and reveals that both of the DNA atoms at the end of the Molecule B were already measured then that signal translates to a '1'. Otherwise if only one of the atoms were measured then that signal would translate to a '0'. And like normal, if Molecule A is measured first then that would translate to 'off'.
This is still just one-way communication, but all we would need to do in order to scale it up to a two-way communication system would be to duplicate this as another pair of DNA Molecules, just with Molecule B receiving instead of sending. So basically, all it would take to have a faster than light conversation across the Universe would be just four strands of DNA.
Human DNA has about 3.2 Billion 'letters' in it, with each letter being 2 atoms. That means that if we measure 1 DNA Letter every second then a strand of Human DNA would last about 100 years. And if we used DNA from a Marbled Lungfish (Protopterus aethiopicus) which has about 133 Billion letters, then we could get more than 4,000 years worth of use out of it. The hard part would be preserving the DNA Molecules for that long.
And if you want to send data at a higher bit-rate then you would just need to use a faster time-frame at the cost of total usage-time. For example, if one bit per second isn't fast enough then you could speed it up to 100 bits (measurements) per second, but then you would be 'burning the fuse' 100 times faster, so a strand of Human DNA would last 1 year at 100 bits per second. At 9,600 bits per second (equivilant to an old dial-up modem) a Human DNA molecule would last about 90 minutes (you could watch a whole movie at low-resolution).
With something like a lock of hair you may be able to transmit the entire Internet across the Universe. And it doesn't need to be DNA molecules (DNA is just the most ideal molecule for this process that we can find in nature), we can manufacture Carbon Nano-Tubes that can be used the same way. It's just a lot more expensive to produce Carbon Nano-Tubes than it is to get a hair-cut.
The good things about Carbon Nano-Tubes are that they can last millions of years without needing to be preserved, and they can be made to practically any length. (They're a lot thicker than DNA, but these are tiny microscopic things so their size barely matters because they have very little mass, and when we're dealing with moving them over great distances it's the mass and lasting-time that we would have to worry about.) They can also be made into special shapes so that they can work more like a circular CD or DVD Disk instead of like a linear fuse.
The best part is that everything I've described here (except for the inter-galactic space ship) can be accomplished with today's current technology, we don't have to wait hundreds of years for this; we could get started today.