1 00:00:19,240 --> 00:00:25,725 Alright, so I'd like to first off thank you guys for having me here. This is an 2 00:00:25,795 --> 00:00:31,283 amazing conference. So far, during lunch, someone gave me multiple high-fives in a 3 00:00:31,368 --> 00:00:37,912 conversation about hypervisors, so I feel like I'm in a room of kindred spirits. 4 00:00:38,606 --> 00:00:42,611 Just to test that out, who wants to hear about math? (room cheers) 5 00:00:44,369 --> 00:00:52,043 That would only work here. I'll tell you a bit about myself, and then a bit about the 6 00:00:52,174 --> 00:00:59,988 talk, and then I'll give you the talk. I'm a security researcher first, but also 7 00:01:00,057 --> 00:01:04,804 I'm a PhD candidate in mathematics at the University of Waterloo; if you haven't 8 00:01:04,966 --> 00:01:10,469 heard of it, it's in Canada. I work on quantum algorithms for cryptanalysis, 9 00:01:10,662 --> 00:01:15,509 so what this means is we look at the difficulty of computational problems on 10 00:01:15,700 --> 00:01:20,417 which cryptography is built, and we find sometimes that the problems that we thought 11 00:01:20,676 --> 00:01:26,888 were very hard on a classical computer are in fact very easy on our proposed quantum 12 00:01:27,088 --> 00:01:31,404 systems. What I'm going to talk to you about today is a bit related to that, but I'd 13 00:01:31,478 --> 00:01:37,135 like to ground it in programming and thinking about programming languages and 14 00:01:37,179 --> 00:01:42,962 systems that we can actually construct. What I hope you can take away from the talk 15 00:01:43,172 --> 00:01:47,812 I'm about to give is an understanding of what -- It's not quite the network stack, 16 00:01:47,852 --> 00:01:53,876 but what the various levels of abstraction are in quantum computing and how a room 17 00:01:54,022 --> 00:01:58,835 full of people inclined toward the use of classical conventional computing could make 18 00:01:58,952 --> 00:02:03,383 use of quantum resources for speedups in their algorithms. 19 00:02:04,204 --> 00:02:09,549 Whenever I'm getting a big head about how I feel about my research, I have to remind 20 00:02:09,689 --> 00:02:14,556 myself that I spend all day thinking about imaginary computers, and that brings me 21 00:02:14,607 --> 00:02:20,410 right back down. Quantum computing, a very simple definition is using quantum mechanical 22 00:02:20,525 --> 00:02:27,280 phenomena like entanglement or superposition to perform computational tasks. Why do we 23 00:02:27,325 --> 00:02:32,197 do this? It wouldn't make a lot of sense if it were just as good as the computers we 24 00:02:32,197 --> 00:02:38,737 have, because quantum computers are very, very expensive, and so far we have 15 or so 25 00:02:38,851 --> 00:02:44,248 qubits, and maybe that's not as useful as what we're looking for, so why do we have 26 00:02:44,399 --> 00:02:48,826 these very expensive computers? Because we think that we can have some tradeoff and 27 00:02:48,921 --> 00:02:54,539 have less computationally expensive algorithms. This is only true if we can scale it up. 28 00:02:55,976 --> 00:03:00,165 To be useful, a quantum computer needs to scale, but this is very challenging, because 29 00:03:00,187 --> 00:03:05,183 the things that make a quantum computer useful are the exact things that are getting 30 00:03:05,259 --> 00:03:10,010 in its way. Quantum computers are very sensitive to environmental noise. If we 31 00:03:10,050 --> 00:03:15,610 have a qubit in a room, and someone walks down a hall in a non-specialized building 32 00:03:15,736 --> 00:03:20,406 many floors away, it will disturb our qubit and it will collapse, and maybe we're not 33 00:03:20,446 --> 00:03:24,847 doing our computation. So we have to have very specialized buildings. Another thing 34 00:03:24,906 --> 00:03:29,871 is we have a challenge with measurement in quantum systems. When we measure a quantum 35 00:03:29,992 --> 00:03:34,844 state, we destroy a superposition, which is something I'll explain, and it's really 36 00:03:34,844 --> 00:03:39,966 hard to create memory. Beyond this, there are other things, but I don't want to use 37 00:03:40,142 --> 00:03:43,322 too much time. I stole this from Scott Aaronson, who is a 38 00:03:43,370 --> 00:03:46,406 phenomenal phsysicist. Quantum mechanics in one slide: 39 00:03:46,828 --> 00:03:51,092 You can think of quantum mechanics as probability theory, but you're doing it over 40 00:03:51,183 --> 00:03:56,247 the complex numbers, and this allows us to compute things in a really interesting way. 41 00:03:57,054 --> 00:04:05,734 The basic unit for a quantum computer is a qubit. We have regular bits, 1s and 0s, and 42 00:04:05,852 --> 00:04:11,226 a quantum bit is a superposition, which is kind of when we put them all together, of 43 00:04:11,271 --> 00:04:16,829 values 0 and 1. We're creating some linear combination of things, and that's when 44 00:04:16,920 --> 00:04:23,171 something is both values at the same time. With measurement or noise, we can collapse 45 00:04:23,225 --> 00:04:27,933 this superposition, and what's interesting about it is sometimes we'll get a 0 out 46 00:04:28,007 --> 00:04:32,736 and sometimes we'll get a 1 out, but we can set the same superposition up over and 47 00:04:32,886 --> 00:04:36,743 over again, and sometimes get a 1 and some times get a 0 and not really know what's 48 00:04:36,743 --> 00:04:41,988 going to happen.