The guys explore SMTP fixes, quantum mechanics, and how quantum computing might disrupt encryption, plus IBM’s free quantum resources.
Bits, Quits, and Quantum Fits: The Mysteries of SMTP and Superposition
Ned and Chris dive back into the nightmare disaster hellscape that is SMTP and explore the band-aid solutions of SPF, DKIM, and DMARC. Then, they take on quantum mechanics and computing. After all, who doesn’t love a good brain-melting challenge? The guys also explore the wild world of qubits, superposition, and the potential future where quantum computing could make encryption as we know it obsolete. Plus, Chris gives a shout-out to IBM’s free quantum computing resources—because who wouldn’t want to dabble in quantum for fun?
Links
Ned: Funnier if we’d hit record first.
Chris: Would it though?
Ned: Probably not. I don’t remember us being humorous. That was not promised in the podcast contract.
Chris: I mean, looks aren’t everything.
Ned: Thank God. I mean, for you. I’m beautiful. Everyone says so.
Chris: Now, you have a song that you play that says so. That’s different.
Ned: You leave me and [unintelligible 00:00:19] alone. Hello alleged human, and welcome to the Chaos Lever podcast. My name is Ned and I’m definitely not a robot. I am a real human person with feelings, DNS records, and DMARC keys. Watch out. I sign all of my email just like a good human should. With me is Chris, who also signs his emails.
Chris: What?
Ned: [laugh]. Oh, I sincerely hope that the editors cut the entire front-end of our conversation so that that quip makes no sense at all.
Chris: Oh, even if the conversation’s there, it still doesn’t.
Ned: Oh, that’s fair. All right we need to do a whole show about em—well haven’t we done one about email security? I don’t know if we ever actually got into SPF, DKIM, and DMARC.
Chris: We did, like, a lightning-round coverage of those things. Really, what we were talking about is SMTP and why it’s a nightmare disaster hellscape of a protocol that, for some reason, we’re still using.
Ned: All of that is true. And now we can move on to all of the weird Band-Aids that we’ve added to get around the nightmare hellscape that is SMTP.
Chris: With more to come.
Ned: Yay. I love nightmares. They keep me from sleeping, and sleep is a little death. I got morbid. I’m sure it’s fine. Should we talk about something else?
Chris: Anything else, I think. Okay, go for it. So, before I start, I do want to make the preface that I actually originally anticipated this having three topics to talk through, and by the time I was finished with topic number one, I was out of words.
Ned: [laugh]. Boy, that’s never happened before in the history of Chaos Lever… every episode.
Chris: A few weeks ago, though, we talked about what can only be described as, the ineffable weirdness of light, which was fun.
Ned: Yeah.
Chris: I hinted that we were going to do more about quantum mechanics and quantum computing in the near future, and at the time, I believed me.
Ned: Whoa.
Chris: Then I kept reading about quantum mechanics and quantum computing, and here’s the thing, that shit is hard.
Ned: [laugh]. Fair.
Chris: Hard to grasp, hard to keep concepts straight in your head, hard to remember 30 seconds after you turn the page what you just read, and do you actually understand it?
Ned: Even the best quantum scientists and experts that I’ve heard talk about this stuff say they don’t really understand it.
Chris: Right. It’s kind of like trying to understand the fifth dimension.
Ned: Right.
Chris: You actually can’t understand it.
Ned: Yeah. It’s like trying to draw a four dimensional cube in three-dimensional space. You just can’t. But you can give an approximation of what it looks like for a particular plane.
Chris: The best approximation I heard about these types of things is, like, if you have a three-dimensional cube, and you shine light on it, and it puts a two-dimensional shadow on the wall. You sort of get the gist of what the cube is, if you, like, move it around in your hand and everything, but you’re never going to actually be able to understand what the cube is, something like a tesseract, that’s the only way we’re ever going to understand it: as though it was a shadow on the wall.
Ned: All right, Plato’s Cave. We get it. Moving on.
Chris: Well, what we’re going to do is continue down the quantum weirdness rabbit hole with some of the essential topics that make quantum computing possible. And somewhere along the way, I might even just give you a quantum computing example that you can try for yourself at home.
Ned: Ooh, I know how well the split-beam experiment went.
Chris: [laugh]. And by at home, I mean creating an account with IBM and running it as a cloud job that runs on one of their available quantum computers because it’s 2024 and everything is in the cloud.
Ned: All right.
Chris: I actually got a new washer and dryer, and the washer and dryer wants to connect to the cloud, and I’m just, like, “Why?”
Ned: [laugh]. So, they can talk to your toaster oven, naturally.
Chris: Por qué suds? Por qué? Anyway, like I said, we set up some of the essentials of why quantum is weird, and the topics that I’m going to talk about now, we’ve at least alluded to in the earlier episodes. But if we’re going to start talking about quantum computing a little bit more focused manner, I think the first thing to do is talk actually about what is the same from what we do understand? What in the classical world—the classical computing world—can we use as an immediate one-to-one so that we can then understand the quantum stuff from there?
Ned: Okay.
Chris: And what’s interesting is the answer is, kind a lot. First, let’s do a little review of the fundamental way that data is stored or expressed in a classical computer. That is our good friend, the bit.
Ned: Hey, bit.
Chris: A bit is pretty simple. It’s the digital representation of either a one or a zero somewhere in a computer system. How this is expressed can be wildly varied. It can be a voltage difference. It can be an opened or closed physical or logical gate, it could be a burn onto an actual CD, it could be a blip on a disk that is either full or empty, all depending on where that bit is either stored or being processed. The point is, the value is only ever zero or one.
Ned: Right.
Chris: If we go back far enough in time, it could be a punched piece of tape.
Ned: Sure can. Ohh, nice callback.
Chris: Paper tape, I’ll have you know because I’m a thousand. Now, if you want an image to go along with this discussion, just imagine that you have some coins, like a quarter, lying flat on your desk. Let’s say that tails is zero and heads is one.
Ned: Okay.
Chris: That’s your bit. When it’s heads up, that is worth one. Now, what’s fun is we can start to combine multiples of these. So, let’s say you’ve got four quarters on your desk. You have four bits of available space to store information. Depending on the way that some of the coins in the different ranks are either heads up or heads down, you will get a number, and this is where we’re counting from binary into decimal. So, four bits: 0000. What’s that worth?
Ned: Zero?
Chris: Good.
Ned: Ooh, I did it.
Chris: All right. Participation time is over.
Ned: Thank God.
Chris: 0001, is equal to one, and with the quarters, it’s the same thing. Tails, tails, tails, heads, right?
Ned: Sure.
Chris: This is where the simplicity stops because 0010, is not equal to ten. It is equal to two in decimal because we’re counting up.
Ned: Right.
Chris: 0011 is equal to three, so on and so forth, all the way up to 1111, which is equal to—
Ned: 15.
Chris: Well done.
Ned: I hex. Equal to F, you jerk.
Chris: So, if you’re playing along at home, you’ll see that all four quarters have flipped to be heads up, 1111, or heads, heads, heads, heads. It doesn’t make a difference; it’s the same representation. And this is also a demonstration of binary being powers of two. A binary system can store the maximum number equal to two to the power of the number of bits available. And we just demonstrated that: we had four coins; two to the fourth is equal to 16. Remember, computers start counting from zero. Our top number, 1111, was 15, therefore making 16 total combinations. This—not too complicated, right?
Ned: Right, right.
Chris: Now, these numbers obviously get much larger as we go along. If you had a computer that could only process four bits, you wouldn’t really be doing anything.
Ned: No, no, it’s the reason why, if you look at the specs on any given system, so many things are in powers of two, even if they don’t need to be because that’s just what we’ve come to accept when it comes to computing. So like, memory is still allocated in, like, 128 gig, not because it has to be a power of two. It’s just that’s what we expect.
Chris: Yeah, that’s true. I didn’t even think about it that way.
Ned: Yeah, there’s no reason it can’t be a hundred gigs. Like, it doesn’t matter at that point. The gig is already a power of two.
Chris: Do you remember when virtualization first came out, and you could create a computer with three CPUs?
Ned: [laugh]. And you’re like, that’s—
Chris: What?
Ned: —stupid, but I can do it.
Chris: Anyway, we’re getting off track. So, powers of two binary zeros and ones. What does this have to do with quantum? Well, quantum uses what are called qubits. These are quantum bits, hence the name ‘q’ and then ‘bits.’
Ned: We did it. Yay.
Chris: In their base state, a qubit stores a value exactly the same as a classical computer does. When it is measured, it can have a value of zero or one, and when you add up all of those bits, you have to answer to the quantum question. The data that is stored in there is exactly the same. It’s powers of two. Two to the fourth, the same amount of data that can be presented in a classical system, is the answer from the basis state of a quantum system.
Ned: Right.
Chris: Now, you might notice that probably sounded super close to the same thing, except for a small wrench I threw in at the end there.
Ned: You said ‘basis.’ I feel like that’s important.
Chris: Correct because quantum computing doesn’t just do computing on the basis state. Quantum computing can do something—for lack of a better term—in between. And that is where the crux of this episode comes in, with a fun sounding name, called ‘superposition.’ Now, I did promise that there would be no math, and I swear I’m going to try.
Ned: [laugh]. Fair.
Chris: I might have to allude to math, hint at it behind the curtain.
Ned: Perhaps quiz me once or twice. Jerk.
Chris: Participation time is over. Let’s continue with the metaphor we had before. Remember the four quarters from earlier?
Ned: Mm-hm.
Chris: Well, we can still use them for the four qubit system. When the system is at rest, aka when the answer is kicked out, the four qubit system has the ability to show the exact amount of data that we talked about before: two to the fourths worth, aka, 16 possible states.
Ned: Right.
Chris: And once again, that number gets bigger with the more qubits, but we’re going to keep it at four for simplicity’s sake. When the system is in action, as in, when the quantum computer is computering—technical term—the qubits can have a value either one or zero or both.
Ned: ‘Both’ is an option.
Chris: [laugh].
Ned: Okay.
Chris: So, imagine again your four quarters. For a quantum computer at rest, there are four quarters lying flat on the table. A quantum computer that is in operation, those four quarters are still on the table, but now they’re spinning.
Ned: Ooh, okay.
Chris: And this one you can practice at home. This is kind of fun. Grab a quarter and spin it on a table. When it’s in motion, what is its value? Is it a head, or is it a tail?
Ned: It’s indeterminate.
Chris: Exactly. You could say things like, “It’s neither,” or, “It’s both,” or, “We’re not going to know for sure until it lands,” all of which is a good correlation to what is actually going on. The quarter when spun—and this is actually kind of fun—if you look at it closely enough, you can actually see—you’ll see a flash of heads, and then a flash of tails, and then a flash of heads, and then eventually it will settle and land. This works if you flip it too, which is kind of cool. So, the way to make sense of this in your head is to consider the quarter not as a basic unit of storage like a bit, but as a system all on its own that has different states.
When the system is at rest—aka the quarter is flat on the table—it has a value of either one or zero, heads or tails. When the system is in action—aka doing processing, or in our purposes, spinning—then the superposition says that the value of that qubit is the sum of the possible outcomes. This is the only time I’m going to try to math, so bear with me.
Ned: Okay. We’ll all math together. It’s going to be all right.
Chris: When the system is in action, it is about the possibility of which of these two states is going to come up. In the case of a quarter, it’s very simple. It’s 50% chance heads or 50% chance tails. Now, in the real world, somebody is screaming, I know, that’s not actually true. The coin always has a minuscule advantage in the potential of it landing on heads.
Ned: Also the way that you flip it, the surface of the table, et cetera, et cetera. But this is, like, one of those physics formulas where we just assume friction doesn’t exist or that, like, air flow isn’t a thing. It’s fine.
Chris: [laugh]. “Assume gravity doesn’t exist.”
Ned: [laugh].
Chris: Okay. So, this is a system. A bit, and a classical computer is a physical unit that is either—it’s static. It’s a switch, a light switch: up or down, and that’s it. A qubit is a system, and as such, it is not described by zero or one until the system is at rest.
When the system is in action, it is described by what’s called the psi function, P-S-I, the Greek letter. The Greek letter ( |𝜓⟩=𝛼|0⟩+𝛽|1⟩ ). And what that means is, the percentage chance of this qubit coming to rest as zero, plus the percentage chance of this qubit coming to rest as beta or one.
Ned: So, that would be, like, a hundred percent.
Chris: Correct. And if it doesn’t add up to a hundred percent, congratulations, you failed linear algebra.
Ned: Well, I did that anyway, but we don’t need to bring that up.
Chris: I bring all this up, actually, just to make people understand the fundamental difference of how to think about a qubit versus a bit. Because if you think about it as a system and not a light switch, you get a little bit more mental freedom to think about why some of the more crazy things I’m going to talk about in a second can possibly be true.
Ned: Okay.
Chris: So, you’ve got this function that it describes the system in action, this psi function, ( |𝜓⟩=𝛼|0⟩+𝛽|1⟩ ). Alpha and beta are complex numbers. Very quickly, things have to be squared. Like I said, there’s a lot of math; we don’t have to get into it. But the point is the system in action, that value is a probability calculation based on that alpha and beta.
When the system is in action, those four quarters are spinning simultaneously. When the system is at rest, aka the algorithm has completed, all four quarters collapse, they are then back to being either a zero or a one, and you have your answer.
Ned: Okay.
Chris: Okay? So, what does this mean? Why does it matter?
Ned: I am wondering that. I’m also thinking about the Mandelbrot set.
Chris: God bless you. In short, classical computing can only be in one definite state at one time. So, all four quarters can only be set in one way, and then we do something. Then you set them again, and you do it again. This means that if we were to try to do some kind of process based on maximizing the checking of all of these different states, all 16 states, they would have to be done one at a time, and that is exactly what classical CPUs do.
This is just something that they’re extremely good at, and they do it unbelievably fast. Due to the nature of quantum computing and the fundamental difference imparted by the superposition of these systems in action, however, a quantum computer can evaluate all 16 states at the same time.
Ned: Okay.
Chris: That is the miracle of quantum computing and the promise of it. Now, how do we know this? Well, I know you’re going to be mad, but you’re just going to have to trust me when I say, “Math.” I could go into it—kind of—but I won’t. But much like we talked about in the quantum mechanics primer, the math works, and the stuff I’m talking about is experimentally proven.
You can look up the algorithms pretty easily and the equations that explain them. But basically, what they do is exactly what I said above: they mathematically show that the system in action is considering all possible values simultaneously. There are actually a number of algorithms that can be used to prove this, and even easily set up to execute a quantum program on a quantum computer to do it. One of the most common is called Grover’s Algorithm. This—again—exists, and as we talked about in the state of quantum episode from way back in May, the only limitation is the quantum computer error correction, which, at the moment, is still enormously hard of a problem to manage.
Right now, quantum computers are still in a state where we can only do processing against a limited number of qubits for a limited amount of time, but that’s a hardware problem. So, let’s set aside the talk about error correction for now, and talk about the theoretical because once the mechanical problems are solved, it is going to be possible to do some really crazy stuff.
Ned: Does it make sense to stretch the analogy of the spinning quarters to say, sort of, the hardware component of is you have to make sure that the surface they’re spinning on is absolutely flat and even and consistent for all the quarters, and that maybe you pump all the air out of the chamber that they’re spinning in because you want to remove air resistance, and you also have to worry about any magnets that are near the quarters that might inform their spin, and you also want to shave the sides of the quarter so that it’s not weighted towards heads, as you indicated. Like those are all the weird hardware things that maybe we could draw an analogy over to what’s happening in the quantum computer hardware.
Chris: That’s a good point, yes, and I think that’s a good way to describe it too because while I’m talking about each individual quarter as a system all by itself, when you try to use quantum computers to solve a problem, all the qubits together are also a system. And what that means is, if there is a problem with any piece of that system, then the calculation completely falls apart. So, in your example, let’s say you spun four quarters on the table, but the table’s not completely level. One of the computers—or one of the computers—one of the quarters falls off the table, the system is done. You can’t come back from that.
Ned: Right. You can’t get meaningful output from that because the system itself sort of crashed.
Chris: Exactly. And to be fair, again, this is something that has happened in the history of computing, all the way back to when we invented computing. It’s just that with classical computers, we have really solved so many of the problems with error correction.
Ned: It reminds me a lot of the move from vacuum tubes that we talked about last week to transistors, and what a change that was because vacuum tubes would constantly fail, so half of a—or probably more than half of the operator’s job was just replacing and finding bad vacuum tubes. And then suddenly they didn’t need to do that anymore.
Chris: Yeah. I mean, you have to imagine that life was a little bit more stressful for people working in a computer room, where sometimes small pieces of the computer would just spontaneously explode.
Ned: That’s still possible.
Chris: [laugh].
Ned: Anyway.
Chris: So, let’s talk about some of the theoretical stuff.
Ned: Yeah.
Chris: Remember, all of this comes from powers of two. With two qubits, you have two to the second. With four qubits, you have two to the fourth, so 16 combinations of data. By the time we get up to ten qubits, we now have 1024 possible combinations. And because of superposition, all 1024 combinations can be processed simultaneously, not sequentially, like a classical computer does.
Ned: Right.
Chris: By the time you get to a shockingly small number of functional qubits—like, say, 300—you’re talking about being able to process a number of different variations higher than the total number of atoms in the universe. Now, side point: thinking about exponentials is one of the weirdest things that you have to learn to do when you do math, at all, ever, and I think a lot of people still don’t grasp it. But if you’re curious, and you want to see the power of exponential growth, I’m going to throw a link in the [show notes 00:21:47] to a world-famous nine-minute video that came out in, I want to say 1977 called, “Powers of Ten.” All this video does is shows a camera pulling back to the power of ten distance away from a couple that is sitting on a blanket having a picnic. Every ten seconds they go back one more power of ten: ten to the second, ten to the third, ten to the fourth, ten to the fifth. You will be shocked how quickly you leave Earth.
Ned: Or maybe you won’t.
Chris: [laugh]. Anyway. If people have never seen this before, I highly recommend it. It’s a little dated because it came out in the ’70s, but it’s still really cool.
Ned: A lot of bell-bottoms, I get it.
Chris: There’s a lot of copycats out there, so I always try to, you know, link people to the original.
Ned: All right.
Chris: Anyway, let’s look at this from the way that it is done from both classical and quantum computing. Let’s say you’re trying to find a specific item in a list of n items, n being any random large number. A classical computer would basically just start at the beginning of the list and try item number one. If it doesn’t work, then it goes to try number two. If that doesn’t work, then it tries number three, et cetera, et cetera, et cetera. This is also known as brute-forcing to find a solution.
Now, this relies on the fact that everything about this list is effectively random, and there’s no way to shortcut the sort because I know for sure there are ways to do, like, sorting and searching better than what I’m talking about, but for certain types of unstructured databases, this is the only option.
Ned: Just picking up cards: nope, nope, nope, nope. Found it.
Chris: Correct. A quantum computer, however, with a sufficient amount of functional qubits in a system, would simply initialize the superposition of all of those possible states, check them all at once, and mark the correct answer. Even though processing by qubit is wildly slower than processing by classical CPU, and even though the quantum algorithm requires it to be run multiple times to be sure, this process is faster. The classical operation will be slower once you cross a certain number of items, no matter what because the classical operation increases in speed by a linear fashion, meaning the more things that you have to search, the longer it’s going to take based on the number of things you have to search. The quantum computer, based off of Grover’s Algorithm, will complete with a total number of runs equal to the square root of the number of values.
So, if operation time is one second, and you have a hundred items, then a classical CPU will be done in one hundred seconds, right? It’s a straight, linear progression. The same search in a quantum computer based on Grover’s Algorithm will be completed in the square root of one hundred.
Ned: Which is A.
Chris: I should probably have checked that, or had a calculator up. Is it ten? It might be ten.
Ned: That’s what I said. A.
Chris: [laugh].
Ned: You’re going to smack me at some point.
Chris: [sigh]. I’m great at math, I think is what we’ve learned.
Ned: Indeed.
Chris: Now, think about this, too: the larger that the number is, the larger that n is in this example, the more efficient the quantum computer is going to be at this thing. So, this leads us into what people are always fearing, which is, quantum computing is going to destroy encryption as we know it.
Ned: Yep.
Chris: Remember many kinds of encryption—RSA encryption, to be specific, but there’s a lot of them—is based on trying to solve a math problem, like a division problem, just one with excruciatingly large numbers. Obviously, I’m simplifying it, but honestly, I’m not simplifying it by much.
Ned: Not by much. That’s pretty much what all modern cryptography is based off of is really large numbers [crosstalk 00:26:06] factors.
Chris: A quantum system with an appropriate number of fault-tolerant qubits will be able to hold all the possible numbers that could be the answer, and process them simultaneously.
Ned: Ouch.
Chris: Now, it should be said that there is plenty of research to say that the concerns of quantum instantly rendering RSA security moot is a bit overblown. A report from just last year from Fujitsu Labs pessimistically estimated it would take 10,000 fault-tolerant qubits, quote, “About 104 days” to successfully crack RSA-2048. And there are some other people that even think that number is optimistic. Still, 104 days is a hell of a lot better than the classical computer estimate for cracking RSA-2048, which is something like 28,000 million years.
Ned: [laugh]. That’s slightly longer. So, what’s this IBM thing that you were mentioning, that if people want to try it out for themselves?
Chris: Oh, so IBM is committed to educating people about quantum in a way that is, it seems to me, honest and not cynical. They have a website called learning.quantum.ibm.com. You can go there, you can create an account for free, you can run through some of the classes that they have—the video-on-demand type of classes—you can run jobs against their quantum computers, and you can do ten minutes’ worth of quantum jobs a month, completely for free.
Ned: Wow. Okay.
Chris: One of the classes is called, “The Fundamentals of Quantum Computing,” and class number two—or lecture number two, I guess I should say—in that class is called, “Grover’s Algorithm.” So, it explains what their algorithm does, it explains how to do the programming, and send a job to IBM’s quantum computers, and it gives you the interface for how to actually do it. And what’s cool is, since this is a known, solved problem, they also will tell you how much time out of your ten minutes of quantum computing per month you’re allowed to have for free this particular job is estimated to run. When you do these things, realize that they’re going to be run on, like, two, three, four, five, six qubits at the most.
Ned: Right.
Chris: This is proof-of-concept type of stuff, and that’s fine. These are also the systems that we can run in a stable way because when you get to the numbers that we talked about a few months ago, like, four or five-hundred or a thousand qubits, you can’t run a system that big because of the error correction problem. And even if you did, it would take longer than ten minutes to run.
Ned: True. And I think it’s interesting you mentioned the whole Fujitsu thing, and the estimate of… what was it 104 days with 10,000 fault-tolerant qubits. That’s with the algorithms that we’ve developed so far.
Chris: Great point.
Ned: There’s a really good chance—as computing does—that we will find more efficient algorithms, and we will find a way for qubits to process quicker. The idea that we would have processors in our pockets that ran at three gigahertz would have been ludicrous 40 years ago. Now, it’s commonplace. And I expect a similar thing will happen with quantum, but maybe on a slightly different scale.
Chris: Yes, I would agree. And something to keep in mind is, much like the development of quantum mechanics as a science, it all starts as theory, and then you get to the point where the equipment catches up with the theory, and you can test these things. And the second that those two things can work hand-in-hand, we will see—no pun intended—quantum leaps forward in both equipment and algorithms.
Ned: That’s essentially what happened with AI in the last five to ten years—
Chris: Yeah.
Ned: —is the hardware caught up with the theory and then—well, it remains to be seen whether it’s good or bad, but it certainly has accelerated [laugh].
Chris: It happened.
Ned: We were there. Hooray. Why, thanks for listening or something. I guess you found it worthwhile enough if you made it all the way to the end, so congratulations to you, friend. You accomplished something today. Now, you can go sit on the couch, eat a chili dog, and while away your time with the Grover Equation. Maybe Elmo will show up, too. Who knows?
You can find more about this show by visiting our LinkedIn page, just search ‘Chaos Lever,’ or go to our website, chaoslever.com where you’ll find show notes, blog posts, and general tomfoolery. We’ll be back next week to see what fresh hell is upon us. Ta-ta for now.
Ned: I was really waiting for you to make, like, a Sesame Street joke, and you just didn’t… and I’m disappointed in you.
Chris: Well, the other one that I was going to talk about, but we ran out of time, was Shor’s Algorithm, and then I was going to make a lot of jokes about the beach, so I was just unprepared.
Ned: [laugh]. The Count was right there. [slowly] Ah, ah, ah.