Entanglement Generation in Quantum Networks: Towards a universal and scalable quantum internet

Quantum mechanics shows that if one is able to generate and manipulate entanglement over a distance, one is able to perform certain tasks which are impossible using only classical communication. Classical communication refers to what is used in the Internet of today. A quantum internet would therefore bring new capabilities to our highly connected world. These capabilities both involve (1) the ability to perform tasks with are provably impossible in the current Internet, such as unconditionally secure communication, and (2) the ability to perform certain tasks much more efficient, such as distributed (quantum) computing or extending the baseline of telescopes. To be able to build a quantum internet, two main components are needed: (i) hardware that can store, manipulate and entangle qubits and (ii) a software stack to control the hardware. The core task of both of these is to generate entanglement to be used by applications. In this thesis we focus on the latter, i.e. the development of software and protocols that enable entanglement generation using capable hardware. To enable a certain application, one can certainly, in theory, manually specify each operation the hardware should perform, involving micro-wave pulses, lasers etc. However, in practice this is not feasible, if not to say impossible, due to the complexity of the operations needed, especially in a distributed system such as a quantum network. What is needed is a software stack, which can help with abstracting complexity away in multiple layers. This allows for someone to program a protocol in one layer without knowing all the details of the lower layers. In particular, one can abstract away the hardware details, in order to make higher-layer protocols and applications hardware-agnostic. Therefore, to be able to build a universal, efficient and scalable quantum internet, a software stack is crucial. In chapter 2 we start discussing the networking part of a software stack. Namely, we introduce a network stack for a quantum internet, drawing parallels to the IP/TCP-suite of the classical Internet. We continue with proposing a service and interface of the lowest layer of the network stack: the link layer. The link layer is here responsible for generating entanglement between nodes in a quantum network which are directly connected by a quantum link, i.e. a fiber cable. When developing a protocol or application it is very useful to be able to run it. Both to see if the intended ideas make sense and also to check that the implementation is actually correct. Currently we do not have quantum hardware that exposes a full-fledge API that can be used to execute applications. For this reason, it is very useful to be able to instead simulate the hardware in a way that exposes the same API as the hardware being developed. In chapter 3 we introduce SimulaQron for this exact purpose. Any application of a quantum internet will need entanglement in one way or another. However, entanglement is generally hard to generate and is usually the bottleneck when executing an application. We would therefore like to make use of the generated entanglement in the most optimal way. To be able to do this we need to understand how entanglement can be transformed and distributed in a quantum network. We study the entanglement of a particular class of states called graph states in chapters 4 to 9 and how these states can be transformed in a quantum network.