1 Introduction
The first researcher who formalised the above “paradox” as a complexity theoretic question was Gottesman, in a 2004 conference [10]. It was then promoted, in 2007, as a complexity challenge by Aaronson who asked: “If a quantum computer can efficiently solve a problem, can it also efficiently convince an observer that the solution is correct? More formally, does every language in the class of quantumly tractable problems (BQP) admit an interactive proof where the prover is in \(\mathsf {BQP}\) and the verifier is in the class of classically tractable problems (BPP)?” [10]. Vazirani, then emphasized the importance of this question, not only from the perspective of complexity theory, but from a philosophical point of view [11]. In 2007, he raised the question of whether quantum mechanics is a falsifiable theory, and suggested that a computational approach could answer this question. This perspective was explored in depth by Aharonov and Vazirani in [12]. They argued that although many of the predictions of quantum mechanics have been experimentally verified to a remarkable precision, all of them involved systems of low complexity. In other words, they involved few particles or few degrees of freedom for the quantum mechanical system. But the same technique of “predict and verify” would quickly become infeasible for systems of even a few hundred interacting particles due to the exponential overhead in classically simulating quantum systems. And so what if, they ask, the predictions of quantum mechanics start to differ significantly from the real world in the high complexity regime? How would we be able to check this? Thus, the fundamental question is whether there exists a verification procedure for quantum mechanical predictions which is efficient for arbitrarily large systems.If aquantum experiment solves aproblem which is proven to be intractable for classical computers, how can one verify the outcome of the experiment?
1.1 Blind Quantum Computing
-
(1) Alice chooses an input x and a quantum computation \(\mathcal {C}\) that she would like Bob to perform on \({\left \vert {x}\right \rangle }\).
-
(2) She converts x and \(\mathcal {C}\) into a pair \((G, \{\phi _{i}\}_{i})\), where \({\left \vert {G}\right \rangle }\) is an N-qubit universal graph state (with an established ordering for measuring the qubits), \(N = O(|\mathcal {C}|)\) and \(\{\phi _{i}\}_{i}\) is the set of computation angles allowing for the MBQC computation of \(\mathcal {C}\left \vert {x}\right \rangle \).
-
(3) She picks, uniformly at random, values \(\theta _{i}\), with i going from 1 to N, from the set \(\{0, \pi /4, 2\pi /4, ... 7\pi /4\}\) as well as values \(r_{i}\) from the set \(\{0, 1\}\).
-
(4) She then prepares the states \({\left \vert {+_{\theta _{i}}}\right \rangle }\) and sends them to Bob, who is instructed to entangle them, using \(\mathsf {CZ}\) operations, according to the graph structure G.
-
(5) Alice then asks Bob to measure the qubits at the angles \(\delta _{i} = \phi ^{\prime }_{i} + \theta _{i} + r_{i} \pi \) and return the measurement outcomes to her. Here, \(\phi ^{\prime }_{i}\) is an updated version of \(\phi _{i}\) that incorporates corrections resulting from previous measurements, as in the description of MBQC given in Section A.
-
(6) After all the measurements have been performed, Alice undoes the \(r_{i}\) one-time padding of the measurement outcomes, thus recovering the true outcome of the computation.
2 Prepare-and-Send Protocols
2.1 Quantum Authentication-Based Verification
-
(1) The sender performs the encoding procedure \(Enc_{k}\). This consists of applying the Clifford operation \(C_{k}\) to the state \({\left \vert {\psi }\right \rangle }{\left \vert {acc}\right \rangle }\).
-
(2) The state is sent through the quantum channel.
-
(3) The receiver applies the decoding procedure \(Dec_{k}\) which consists of applying \(C_{k}^{\dagger }\) to the received state.
-
(4) The receiver measures the flag subsystem and accepts if it is in the \({\left \vert {acc}\right \rangle }\) state.
-
(1) Suppose the input state that the verifier intends to prepare is \({\left \vert {\psi }\right \rangle } = {\left \vert {\psi _{1}}\right \rangle } \otimes {\left \vert {\psi _{2}}\right \rangle } \otimes ... \otimes {\left \vert {\psi _{n}}\right \rangle }\), where each \(\left \vert {\psi _{i}}\right \rangle \) is a one qubit state.19 Also let \(\mathcal {C}\) be quantum circuit that the verifier wishes to apply on \(\left \vert {\psi }\right \rangle \). The verifier prepares (one block at a time) the state \(\left \vert {\psi }\right \rangle \left \vert {flag}\right \rangle = \left \vert {block_{1}}\right \rangle \otimes \left \vert {block_{2}}\right \rangle \otimes ... \otimes \left \vert {block_{n}}\right \rangle \), where \(\left \vert {block_{i}}\right \rangle = \left \vert {\psi _{i}}\right \rangle \left \vert {acc}\right \rangle \) and each \(\left \vert {acc}\right \rangle \) state consists of a constant number m of qubits. Additionally let the size of each block be \(t = m + 1\).
-
(2) The verifier applies a random Clifford operation, from the set \(\mathfrak {C}_{t}\) on each block and sends it to the prover.
-
(3) The verifier requests a pair of blocks, \(({\left \vert {block_{i}}\right \rangle }, {\left \vert {block_{j}}\right \rangle })\), from the prover, in order to apply a gate from \(\mathcal {C}\) on the corresponding qubits, \((\left \vert {\psi _{i}}\right \rangle , \left \vert {\psi _{j}})\right \rangle \). Once the blocks have been received, the verifier undoes the random Clifford operations and measures the flag registers, aborting if these are not in the \(\left \vert {acc}\right \rangle \) state. Otherwise, the verifier performs the gate from \(\mathcal {C}\), applies new random Clifford operations on each block and sends them back to the prover. This step repeats until all gates in \(\mathcal {C}\) have been performed.
-
(4) Once all gates have been performed, the verifier requests all the blocks (one by one) in order to measure the output. As in the previous step, the verifier will undo the Clifford operations first and measure the flag registers, aborting if any of them are not in the \(\left \vert {acc}\right \rangle \) state.
-
(1) Suppose the input state that the verifier intends to prepare is \({\left \vert {\psi }\right \rangle } = {\left \vert {\psi _{1}}\right \rangle } \otimes {\left \vert {\psi _{2}}\right \rangle } \otimes ... \otimes {\left \vert {\psi _{n}}\right \rangle }\), where each \(\left \vert {\psi _{i}}\right \rangle \) is a q-qudit. Also suppose that the verifier wishes to apply the quantum circuit \(\mathcal {C}\) on \(\left \vert {\psi }\right \rangle \), which contains L Toffoli gates. The verifier prepares the state \(\left \vert {{\Psi }_{in}}\right \rangle = \left \vert {\psi _{1}}\right \rangle \left \vert {0}\right \rangle ^{t-1} \otimes \left \vert {\psi _{2}}\right \rangle \left \vert {0}\right \rangle ^{t-1} \otimes ... \otimes \left \vert {\psi _{n}}\right \rangle \left \vert {0}\right \rangle ^{t-1} \otimes \left \vert {M_{1}}\right \rangle \left \vert {0}\right \rangle ^{3t-3} \otimes ... \otimes \left \vert {M_{L}}\right \rangle \left \vert {0}\right \rangle ^{3t-3}\), where \(t = 2d + 1\) and each \(\left \vert {M_{i}}\right \rangle \) is a 3-qudit magic state, used for performing Toffoli gates. Groups of t qubits will comprise a block as follows. The first n blocks are simply \(\left \vert {block_{i}}\right \rangle =\left \vert {\psi _{i}}\right \rangle \left \vert {0}\right \rangle ^{t-1}\), with \(i \in \{1, ..., n\}\). Next, we have the states of the form \(\left \vert {M_{i}}\right \rangle \left \vert {0}\right \rangle ^{3t-3}\) which consist of 3 blocks, each. Each block, from such a state, will comprise of one qudit from \(\left \vert {M_{i}}\right \rangle \) and a \(\left \vert {0}\right \rangle ^{t-1}\) state. Note that we can no longer represent these blocks as pure states, since the 3 qudits of a \(\left \vert {M_{i}}\right \rangle \) state are entangled. So, to summarize, each block contains one qudit from either the state \(\left \vert {\psi }\right \rangle \) or a magic state \(\left \vert {M_{i}}\right \rangle \), together with a flag system, \(\left \vert {0}\right \rangle ^{t-1}\).
-
(2) The verifier encodes each block in a signed polynomial code with a randomly chosen key \(k \in \{-1, + 1\}^{t}\) (the same key for each block) and then quantum one-time pads each block (using different keys for the padding of each block). The blocks are prepared and encoded in sequence (the verifier has the ability to process 3 blocks, or \(3t\) qudits, at a time) and then sent to the prover.
-
(3) When applying Clifford operations, the verifier simply asks the prover to apply the gates in a transversal fashion. Since Clifford operations normalise Pauli operators, the verifier then updates the one-time pad keys similar to Childs’ protocol (see Section 1.1).
-
(4) When applying a Toffoli gate, the verifier asks the prover to measure 3 blocks, comprising a magic state, in the computational basis and report the measurement outcomes. It is assumed that the magic state was entangled, using a Clifford operation, with 3 target blocks on which the Toffoli gate is to be applied. The verifier undoes the (classical) one-time padding of the measurement outcomes and expects each of the 3 groups of measurement outcomes (associated with each of the 3 blocks) to be of the form \([ k_{1} p(\alpha _{1}), ..., k_{t} p(\alpha _{t})]\). The verifier then takes these classical strings and turns them into states of the form \(\left \vert {\phi }\right \rangle = \left \vert {k_{1} p(\alpha _{1})}\right \rangle ... \left \vert {k_{t} p(\alpha _{t})}\right \rangle \) (using her constant-sized quantum computer).22 She then applies \(D_{k}^{\dagger }\) on each of these \(\left \vert {\phi }\right \rangle \) states and checks that the last d qudits, of each state, are \(\left \vert {0}\right \rangle \), aborting otherwise. Assuming not-abort, the verifier instructs the prover to perform the appropriate Pauli corrections resulting from the gate teleportation.
-
(5) Once all gates have been performed, the verifier instructs the prover to measure all blocks in the computational basis. As in step 4, the verifier will then de-one-time pad the outcomes, apply \(D_{k}^{\dagger }\) to each state of the form \(\left \vert {\phi }\right \rangle \) (prepared from these outcomes), and check that the last d qudits are \(\left \vert {0}\right \rangle \), aborting otherwise.
2.2 Trap-Based Verification
-
(1) The verifier chooses an input x and a quantum computation \(\mathcal {C}\) that she would like the prover to perform on \({\left \vert {x}\right \rangle }\).25
-
(2) She converts x and \(\mathcal {C}\) into a pair \((G, \{\phi _{i}\}_{i})\), where \({\left \vert {G}\right \rangle }\) is an N-qubit universal graph state (with an established ordering for measuring the qubits), which admits an embedding of T traps and D dummies. We therefore have that \(N = T + D + Q\), where \(Q = O(|\mathcal {C}|)\) is the number of computation qubits used for performing \(\mathcal {C}\) and \(\{\phi _{i}\}_{i \leq Q}\) is the associated set of computation angles.26
-
(3) Alice picks, uniformly at random, values \(\theta _{i}\), with i going from 1 to \(T+Q\), from the set \(\{0, \pi /4, 2\pi /4, ... 7\pi /4\}\) as well as values \(r_{i}\) from the set \(\{0, 1\}\) for the trap and computation qubits.
-
(4) She then prepares the \(T+Q\) states \({\left \vert {+_{\theta _{i}}}\right \rangle }\), as well as D dummy qubits which are states chosen at random from \(\{ {\left \vert {0}\right \rangle }, {\left \vert {1}\right \rangle } \}\). All these states are sent to Bob, who is instructed to entangle them, using \(\mathsf {CZ}\) operations, according to the graph structure G.
-
(5) Alice then asks Bob to measure the qubits as follows: computation qubits will be measured at \(\delta _{i} = \phi ^{\prime }_{i} + \theta _{i} + r_{i} \pi \), where \(\phi ^{\prime }_{i}\) is an updated version of \(\phi _{i}\) that incorporates corrections resulting from previous measurements; trap qubits will be measured at \(\delta _{i} = \theta _{i} + r_{i} \pi \); dummy qubits are measured at randomly chosen angles from \(\{0, \pi /4, 2\pi /4, ... 7\pi /4\}\). This step is interactive as Alice needs to update the angles of future measurements based on past outcomes. The number of rounds of interaction is proportional to the depth of \(\mathcal {C}\). If any of the trap measurements produce incorrect outcomes, Alice will abort upon completion of the protocol.
-
(6) Assuming all trap measurements succeeded, after all the measurements have been performed, Alice undoes the \(r_{i}\) one-time padding of the measurement outcomes, thus recovering the outcome of the computation.
2.3 Verification Based on Repeated Runs
-
Computation run. The verifier delegates \(\mathcal {C} {\left \vert {0}\right \rangle }^{\otimes n}\) to the prover.
-
X-test run. The verifier delegates the identity computation on the \({\left \vert {0}\right \rangle }^{\otimes n}\) state to the prover.
-
Z-test run. The verifier delegates the identity computation on the \({\left \vert {+}\right \rangle }^{\otimes n}\) state to the prover.
-
Computation run. The verifier one-time pads the \({\left \vert {0}\right \rangle }^{\otimes n}\) state and sends it to the prover. The prover is then instructed to apply \(\mathcal {C}\) on this state, such that for each \(\mathsf {T}\) gate in the circuit the prover and the verifier interact in order to perform the \(\mathsf {T}\) gadget. Additionally, any \(\mathsf {H}\) in \(\mathcal {C}\) is performed as in (52). For Clifford operations, the verifier updates the one-time pad of the state accordingly. The prover is instructed to measure the output state of the circuit in the computational basis and return the outcome to the verifier. The verifier undoes the padding of this outcome and accepts if the output of the circuit indicates acceptance.
-
X-test run. The verifier one-time pads the \({\left \vert {0}\right \rangle }^{\otimes n}\) state and sends it to the prover. As in the computation run, for each \(\mathsf {T}\), the verifier and the prover will interact to run the \(\mathsf {T}\) gate gadget. In this case, however, the verifier will use the \(\mathsf {T}\) gate gadget from Fig. 8, making the circuit effectively act as identity and checking that the prover is performing these gadgets correctly (rejecting otherwise). Additionally, the \(\mathsf {H}\) gates in \(\mathcal {C}\) will also act as identity, from (53), as described previously. The verifier updates the one-time padding of the state accordingly for all gates in the circuit. Once the circuit is finished, the prover is instructed to measure the output in the computational basis and report the outcome to the verifier. The verifier accepts if the de-one-time padded output is \(\left \vert {0}\right \rangle ^{\otimes n}\).
-
Z-test run. The verifier one-time pads the \({\left \vert {+}\right \rangle }^{\otimes n}\) state and sends it to the prover. As in the \(\mathsf {X}\)-test run, the \(\mathsf {T}\) gate gadgets will act as identity. The \(\mathsf {H}\) operations that the prover performs will temporarily switch the \(\mathsf {Z}\)-test run into an \(\mathsf {X}\)-test run, in which the verifier uses the gadget from Fig. 8 to check that prover implemented it correctly. Any subsequent \(\mathsf {H}\) will switch back to a \(\mathsf {Z}\)-test run. Additionally, the verifier updates the one-time padding of the state accordingly for all gates in the circuit. The prover is instructed to measure the output in the computational basis and report the outcome to the verifier, however in this case the verifier discards the output.
2.4 Summary of Prepare-and-Send Protocols
Protocol | Verifier resources | Communication | 2-way quantum comm. |
---|---|---|---|
Clifford-QAS VQC | O(log(1/𝜖)) | O(N ⋅ log(1/𝜖)) | Y |
Poly-QAS VQC | O(log(1/𝜖)) | O((n + L) ⋅ log(1/𝜖)) | N |
VUBQC | O(1) | O(N ⋅ log(1/𝜖)) | N |
Test-or-Compute | O(1) | O((n + T) ⋅ log(1/𝜖)) | N |
3 Receive-and-Measure Protocols
3.1 Measurement-Only Verification
-
(1) The verifier chooses an input x and a quantum computation \(\mathcal {C}\).
-
(2) She instructs the prover to prepare \(2k + 1\) copies of a 2D cluster state, \({\left \vert {G}\right \rangle }\), for some constant k, and send all of the qubits, one at a time, to the verifier.
-
(3) The verifier randomly picks one copy to run the computation of \(\mathcal {C}\) on x in an MBQC fashion. The remaining \(2k\) copies are randomly divided into the \(\mathsf {X}\mathsf {Z}\) groups and the \(\mathsf {Z}\mathsf {X}\) group and measured, as described above, so as to check the stabilizers of \(\left \vert {G}\right \rangle \).
-
(4) If all stabilizer measurement outcomes are successful (i.e. produced the outcome \(+ 1\)), then the verifier accepts the outcome of the computation, otherwise she rejects.
3.2 Post Hoc Verification
-
(1) The verifier chooses a quantum circuit, \(\mathcal {C}\), and an input x to delegate to the prover.
-
(1) The verifier computes the terms \(a_{i}\) of the \(\mathsf {X}\textsf {Z}\)-Hamiltonian, \(H = {\sum }_{i} a_{i} S_{i} \), having as a ground state the Feynman-Kitaev state asswith \(\mathcal {C}\) and x, denoted \(\left \vert {\psi }\right \rangle \).
-
(2) The verifier instructs the prover to send her \({\left \vert {\psi }\right \rangle }\), qubit by qubit.
-
(4) The verifier chooses one of the \(\mathsf {X}\textsf {Z}\)-terms \(S_{i}\), according to the normalized distribution \(\{|a_{i}|\}_{i}\), and measures it on \({\left \vert {\psi }\right \rangle }\). She accepts if the measurement indicates the energy of \(\left \vert {\psi }\right \rangle \) is below a.
3.3 Summary of Receive-and-Measure Protocols
Protocol | Measurements | Observables | Blind |
---|---|---|---|
Measurement-only | O(N ⋅ 1/α ⋅ 1/𝜖2) | 5 | Y |
Hypergraph measurement-only | O(max(N, 1/𝜖2)22) | 3 | Y |
1S-Post-hoc | O(N2 ⋅ log(1/𝜖)) | 2 | N |
Steering-based VUBQC | O(N13log(N) ⋅ log(1/𝜖)) | 5 | Y |
4 Entanglement-Based Protocols
4.1 Verification Based on CHSH Rigidity
-
CHSH games. In this subprotocol, the verifier will simply play CHSH games with Alice and Bob. To be precise, the verifier will repeatedly instruct Alice and Bob to perform the ideal measurements of the CHSH game. She will collect the answers of the two provers (which we shall refer to as CHSH statistics) and after a certain number of games, will compute the win rate of the two provers. The verifier is interested in the case when Alice and Bob win close to the maximum number of games as predicted by quantum mechanics. Thus, at the start of the protocol she takes \(\epsilon = poly(1/|\mathcal {C}|)\) and accepts the statistics produced by Alice and Bob if and only if they win at least a fraction \((1 - \epsilon )cos^{2}(\pi /8)\) of the total number of games. Using the rigidity result, this implies that Alice and Bob share a state which is close to a tensor product of perfect Bell states (up to a local isometry). This step is schematically illustrated in Fig. 11.
-
State tomography. This time the verifier will instruct Alice to perform the ideal CHSH game measurements, as in the previous case. However, she instructs Bob to measure his halves of the entangled states so that they collapse to a set of resource states which will be used to perform gate teleportation. The resource states are chosen so that they are universal for quantum computation. Specifically, in the RUV protocol, the following resource states are used: \(\{ \mathsf {P}\left \vert {0}\right \rangle , (\mathsf {HP})_{2} \left \vert {{\Phi }_{+}}\right \rangle , (\mathsf {GY})_{2} \left \vert {{\Phi }_{+}}\right \rangle , \textsf {CNOT}_{2,4}\mathsf {P}_{2} \mathsf {Q}_{4} (\left \vert {{\Phi }_{+}}\right \rangle \otimes \left \vert {{\Phi }_{+}}\right \rangle ) : \mathsf {P}, \mathsf {Q} \in \{\textsf {X}, \textsf {Y}, \textsf {Z}, I \} \}\), where \(\mathsf {G} = exp \left (-i \frac {\pi }{8} \textsf {Y}\right )\) and the subscripts indicate on which qubits the operators act. Assuming Alice and Bob do indeed share Bell states, Bob’s measurements will collapse Alice’s states to the same resource states (up to a one-time padding known to the verifier). Alice’s measurements on these states are used to check Bob’s preparation, effectively performing state tomography on the resource states.
-
Process tomography. This subprotocol is similar to the state tomography one, except the roles of Alice and Bob are reversed. The verifier instructs Bob to perform the ideal CHSH game measurements. Alice, on the other hand, is instructed to perform Bell basis measurements on pairs of qubits. As in the previous subprotocol, Bob’s measurement outcomes are used to tomographically check that Alice is indeed performing the correct measurements.
-
Computation. The final subprotocol combines the previous two. Bob is asked to perform the resource preparation measurements, while Alice is asked to perform Bell basis measurements. This effectively makes Alice perform the desired computation through repeated gate teleportation.
-
(1)Verified preparation. This part is akin to the state tomography subprotocol of RUV. The verifier is trying to certify the correct preparation of states \(\{ {\left \vert {+_{\theta }}\right \rangle } \}_{\theta }\) and \({\left \vert {0}\right \rangle }\), \({\left \vert {1}\right \rangle }\), where \(\theta \in \{0, \pi /4, ..., 7\pi /4 \}\). Recall that these are the states used in VUBQC. We shall refer to them as the resource states. This is done by self-testing a tensor product of Bell pairs and the observables of the two provers using CHSH games and the rigidity result of Theorem 8.37 As in the RUV protocol, the verifier will play multiple CHSH games with the provers. This time, however, each game will be an extended CHSH game (as defined in [18]) in which the verifier will ask each prover to measure an observable from the set \(\{ \mathsf {X}, \mathsf {Y}, \mathsf {Z}, (\mathsf {X} \pm \mathsf {Z})/\sqrt {2}, (\mathsf {Y} \pm \mathsf {Z})/\sqrt {2}, (\mathsf {X} \pm \mathsf {Y})/\sqrt {2} \}\). Alternatively, this can be viewed as the verifier choosing to play one of 6 possible CHSH games defined by the observables in that set38 These observables are sufficient for obtaining the desired resource states. In particular, measuring the \(\mathsf {X}\), \(\mathsf {Y}\), and \((\textsf {X} \pm \textsf {Y}) / \sqrt {2}\) observables on the Bell pairs will collapse the entangled qubits to states of the form \(\{ {\left \vert {+_{\theta }}\right \rangle } \}_{\theta }\), while measuring \(\mathsf {Z}\) will collapse them to \({\left \vert {0}\right \rangle }\), \({\left \vert {1}\right \rangle }\). The verifier accepts if the provers win a fraction \((1-\epsilon )cos^{2}(\pi /8)\) of the CHSH games, where \(\epsilon = poly(\delta , 1/|\mathcal {C}|)\), and \(\delta > 0\) is the desired trace distance between the reduced state on the receiver’s side and the ideal state consisting of the required resource states in tensor product, up to a local isometry (\(\epsilon \rightarrow 0\) as \(\delta \rightarrow 0\) or \(|\mathcal {C}| \rightarrow \infty \)). The verifier will also instruct the sender prover to perform additional measurements so as to carry out the remote preparation on the receiver’s side. This verified preparation is illustrated in Fig. 12.
-
(2)Verified computation. This part involves verifying the actual quantum computation, \(\mathcal {C}\). Once the resource states have been prepared on the receiver’s side, the verifier will perform the VUBQC protocol with that prover as if she had sent him the resource states. She accepts the outcome of the computation if all trap measurements succeed, as in VUBQC.
-
(1)Verified preparation. The verifier is trying to certify the correct preparation of the resource states \(\{ {\left \vert {+_{\theta }}\right \rangle } \}_{\theta }\) and \({\left \vert {0}\right \rangle }\), \(\left \vert {1}\right \rangle \), where \(\theta \in \{0, \pi /4, ..., 7\pi /4 \}\). The verifier instructs each prover to prepare a Bell pair and send one half to her untrusted measurement device. For each received state, she will randomly measure one of the following observables \(\{ \mathsf {X}, \mathsf {Y}, \mathsf {Z}, (\mathsf {X} + \mathsf {Z})/\sqrt {2}, (\mathsf {Y} + \mathsf {Z})/\sqrt {2}, (\mathsf {X} + \mathsf {Y})/\sqrt {2}, (\mathsf {X} - \mathsf {Y})/\sqrt {2} \}\). Each prover is either instructed to randomly measure an observable from the set \(\{ \mathsf {X}, \mathsf {Y}, \mathsf {Z} \}\) or to not perform any measurement at all. The latter case corresponds to the qubits which are prepared for the computation stage. The verifier will compute correlations between the measurement outcomes of her device and the provers and accept if these correlations are above some threshold parametrized by \(\epsilon = poly(\delta , 1/|\mathcal {C}|)\) (\(\epsilon \rightarrow 0\) as \(\delta \rightarrow 0\) or \(|\mathcal {C}| \rightarrow \infty \)), where \(\delta > 0\) is the desired trace distance between the reduced state on the receiving provers’ sides and the ideal state consisting of the required resource states in tensor product, up to a local isometry.
-
(2)Verified computation. Assuming the verifier accepted in the previous stage, she instructs the provers that have received the resource states to act as a single prover. The verifier then performs the VUBQC protocol with that prover as if she had sent him the resource states. She accepts the outcome of the computation if all trap measurements succeed, as in VUBQC.
4.2 Verification Based on Self-Testing Graph States
-
Vertex test, chosen with probability \(\frac {n}{N_{G}}\). The verifier randomly picks a vertex v of the graph. She instructs the prover having the qubit corresponding to v to measure it in the \(\mathsf {X}\) basis. At the same time, she asks the provers having the neighboring qubits, \(N(v)\), to measure them in the \(\mathsf {Z}\) basis. The \(\pm 1\) outcomes of the provers are multiplied by the verifier and she checks to see whether this product is 1 (since she is essentially measuring the \(S_{v}\) stabilizer). If this is the case, she accepts, otherwise she rejects.
-
Triangle test, chosen with probability \(\frac {T}{N_{G}}\). Similar to the previous test, the verifier picks a random triangle in G, consisting of the vertices \(\tau \). She instructs the provers having these vertices to measure them in the \(\mathsf {X}\) basis, while their neighbors (N(τ)) are instructed to measure in the \(\mathsf {Z}\) basis. The verifier checks if the product of their outcomes is \(-1\) and if so, she accepts, otherwise she rejects.
-
]\(\boldsymbol {R(\theta )}\)test, chosen with probability \(\frac {2n}{N_{G}}\). In this case the verifier first randomly picks a vertex v of the graph, a neighbor u of v (so \(u \in N(v)\)) and t in \(\{-1, + 1\}\). She then randomly picks \(\mathsf {X}\) with probability \(p = \frac {cos(\theta _{v})}{cos(\theta _{v}) + |sin(\theta _{v})|}\) or \(\mathsf {Z}\) with probability \(1-p\), where \(\theta _{v}\) is the computation angle associated with v. If she chose \(\mathsf {X}\), then she queries the prover holding v to measure \(\mathsf {R}(t \theta _{v})\), and his neighbors (N(v)) to measure \(\mathsf {Z}\). She accepts if the product of their replies is \(+ 1\). If the verifier instead chose \(\mathsf {Z}\), then she instructs the prover holding v to measure \(t \mathsf {R}(t \theta _{v})\), the prover holding u to measure \(\mathsf {X}\) and the neighbors of u and v to measure \(\mathsf {Z}\). She accepts if the product of their outcomes is \(+ 1\).
-
Computation. In this case, the verifier instructs the provers to perform the MBQC computation of \(\mathcal {C}\) on the graph state \({\left \vert {G}\right \rangle }\), as described above.
-
Testing\({\left \vert {G}\right \rangle }\). In this case, the verifier will randomly choose between one of the three tests described above accepting if an only if the test succeeds.
4.3 Post Hoc Verification
-
Energy measurement. In this case, the verifier will pick a random term \(H_{i}\), from H, and ask each prover for k qubits corresponding to the logical states on which \(H_{i}\) acts. The verifier will then perform a two-outcome measurement, defined by the operators \(\{H_{i}, I - H_{i} \}\)on the received qubits. As in the 1S-Post-hoc protocol, this provides an estimate for the energy of \(\left \vert {\psi }\right \rangle \). The verifier accepts if the measurement outcome indicates the state has energy below a.
-
Encoding measurement. In this case the verifier will choose at random between two subtests. In the first subtest, she will choose j at random from 1 to n and ask each prover to return the physical qubits comprising the j’th logical qubit. She then measures these qubits to check whether their joint state lies within the code space, accepting if it does and rejecting otherwise. In the second subtest, the verifier chooses a random set, S, of 3 values between 1 and n. She also picks one of the values at random, labelled j. The verifier then asks a randomly chosen prover for the physical qubits of the logical states indexed by the values in S, while asking the remaining provers for their shares of logical qubit j. As an example, if the set contains the values \(\{1, 5, 8 \}\), then the verifier picks one of the 5 provers at random and asks him for his shares (physical qubits) of logical qubits 1, 5 and 8 from \(\left \vert {\psi }\right \rangle \). Assuming that the verifier also picked the random value 8 from the set, then she will ask the remaining provers for their shares of logical qubit 8. The verifier then measures logical qubit j (or 8, in our example) and checks if it is in the code subspace, accepting if it is and rejecting otherwise. The purpose of this second subtest is to guarantee that the provers respond with different qubits when queried.
Generator | Name |
---|---|
I XZZX |
g
1
|
XI XZZ |
g
2
|
Z XI XZ |
g
3
|
Z ZXI X |
g
4
|
Generator | Name |
---|---|
\(I \textsf {X} \textsf {Z} \textsf {Z} \textsf {X}^{\prime }\)
|
\(g^{\prime }_{1}\)
|
\(\mathsf {X} I \textsf {X} \textsf {Z} \textsf {Z}^{\prime }\)
|
\(g^{\prime }_{2}\)
|
\(\mathsf {Z} \textsf {X} I \textsf {X} \textsf {Z}^{\prime }\)
|
\(g^{\prime }_{3}\)
|
\(\mathsf {Z} \textsf {Z} \textsf {X} I \textsf {X}^{\prime }\)
|
\(g^{\prime }_{4}\)
|
-
(1) The verifier instructs the provers to share the Feynman-Kitaev state, associated with her circuit \(\mathcal {C}\), encoded in the 5-qubit error correcting code, as described above. We denote this state as \(\left \vert {\psi }\right \rangle _{L}\). The provers are then split up and not allowed to communicate. The verifier then considers a k-local Hamiltonian having \(\left \vert {\psi }_{L}\right \rangle \) as a ground state as well as the threshold values a and b, with \(b - a > 1/poly(|\mathcal {C}|)\).
-
(2) The verifier chooses to either perform the energy measurement or the encoding measurement as described above. For the energy measurement she asks the provers to measure a randomly chosen \(\mathsf {X}\mathsf {Z}\)-term from the local Hamiltonian. The verifier accepts if the outcome indicates that the energy of \(\left \vert {\psi }_{L}\right \rangle \) is below a. For the encoding measurement the verifier instructs the provers to perform the measurements of the 5-player non-local game. She accepts if the provers win the game, indicating that their shared state is correctly encoded.
-
Linearity test. In this test, the referee will randomly pick a basis setting, W, from the set \(\{ \textsf {X}, \textsf {Z} \}\). She then randomly chooses two strings \(\mathbf {a_{1}}, \mathbf {a_{2}} \in \{ 0, 1 \}^{n}\) and sends them to Alice. With equal probability, the referee takes \(\mathbf {b_{1}}\) to be either \(\mathbf {a_{1}}\), \(\mathbf {a_{2}}\) or \(\mathbf {a_{1}} \oplus \mathbf {a_{2}}\). She also randomly chooses a string \(\mathbf {b_{2}} \in \{ 0, 1 \}^{n}\) and sends the pair \((\mathbf {b_{1}}, \mathbf {b_{2}})\) to Bob.43 Alice and Bob are then asked to measure the observables \(W(\mathbf {a_{1}})\), \(W(\mathbf {a_{2}})\) and \(W(\mathbf {b_{1}})\), \(W(\mathbf {b_{2}})\), respectively, on their shared state. We denote Alice’s outcomes as \(a_{1}\), \(a_{2}\) and Bob’s outcomes as \(b_{1}\), \(b_{2}\). If \(\mathbf {b_{1}} = \mathbf {a_{1}}\) (or \(\mathbf {b_{1}}=\mathbf {a_{2}}\), respectively), the referee checks that \(b_{1} = a_{1}\) (or \(b_{1} = a_{2}\), respectively). If \(\mathbf {b_{1}} = \mathbf {a_{1}} \oplus \mathbf {a_{2}}\), she checks that \(b_{1} = a_{1} a_{2}\). This test is checking, on the one hand, that when Alice and Bob measure the same observables, they should get the same outcome (which is what should happen if they share Bell states). On the other hand, and more importantly, it is checking the commutation and linearity of their operators, i.e. that \(W(\mathbf {a_{1}})W(\mathbf {a_{2}}) = W(\mathbf {a_{2}})W(\mathbf {a_{1}}) = W(\mathbf {a_{1}} + \mathbf {a_{2}})\) (and similarly for Bob’s operators).
-
Anticommutation test. The referee randomly chooses two strings \(\mathbf {x}, \mathbf {z} \in \{ 0, 1 \}^{n}\), such that \(\mathbf {x} \cdot \mathbf {z} = 1 \; mod \; 2\), and sends them to both players. These strings define the observables \(\mathsf {X}(\mathbf {x})\) and \(\mathsf {Z}(\mathbf {z})\) which are anticommuting because of the imposed condition on \(\mathbf {x}\) and \(\mathbf {z}\). The referee then engages in a non-local game with Alice and Bob designed to test the anticommutation of these observables for both of their systems. This can be any game that tests this property, such as the CHSH game or the magic square game, described in [82, 83]. As an example, if the referee chooses to play the CHSH game, then Alice will be instructed to measure either \(\mathsf {X}(\mathbf {x})\) or \(\mathsf {Z}(\mathbf {z})\) on her half of the shared state, while Bob would be instructed to measure either \((\mathsf {X}(\mathbf {x}) + \mathsf {Z}(\mathbf {z}))/\sqrt {2}\) or \((\mathsf {X}(\mathbf {x}) - \mathsf {Z}(\mathbf {z}))/\sqrt {2}\). The test is passed if the players achieve the win condition of the chosen anticommutation game. Note that for the case of the magic square game, the condition can be achieved with probability 1 when the players implement the optimal quantum strategy. For this reason, if the chosen game is the magic square game, then \(\omega ^{*}(PBT) = 1\).
-
Consistency test. This test combines the previous two. The referee randomly chooses a basis setting, \(W \in \{ \textsf {X}, \textsf {Z} \}\) and two strings \(\mathbf {x}, \mathbf {z} \in \{ 0, 1 \}^{n}\). Additionally, let \(\mathbf {w} = \mathbf {x}\), if \(W = \mathsf {X}\) and \(\mathbf {w} = \mathbf {z}\) if \(W = \mathsf {Z}\). The referee sends W, \(\mathbf {x}\) and \(\mathbf {z}\) to Alice. With equal probability the referee will then choose to perform one of two subtests. In the first subtest, the referee sends \(\mathbf {x}, \mathbf {z}\) to Bob as well and plays the anticommutation game with both, such that Alice’s observable is \(W(\mathbf {w})\). As an example, if \(W = \mathsf {X}\) and the game is the CHSH game, then Alice would be instructed to measure \(\mathsf {X}(\mathbf {x})\), while Bob is instructed to measure either \((\mathsf {X}(\mathbf {x}) + \mathsf {Z}(\mathbf {z}))/\sqrt {2}\) or \((\mathsf {X}(\mathbf {x}) - \mathsf {Z}(\mathbf {z}))/\sqrt {2}\). This subtest essentially mimics the anticommutation test and is passed if the players achieve the win condition of the game. In the second subtest, which mimics the linearity test, the referee sends W, \(\mathbf {w}\) and a random string \(\mathbf {y} \in \{ 0, 1 \}^{n}\) to Bob, instructing him to measure \(W(\mathbf {w})\) and \(W(\mathbf {y})\). Alice is instructed to measure \(W(\mathbf {x})\) and \(W(\mathbf {z})\). The test if passed if Alice and Bob obtain the same result for the \(W(\mathbf {w})\) observable. For instance, if \(W = \mathsf {X}\), then both Alice and Bob will measure \(\mathsf {X}(\mathbf {x})\) and their outcomes for that measurement must agree.
Generator | Name |
---|---|
III XXXX |
g
1
|
I XXII XX |
g
2
|
XI XI XI X |
g
3
|
III ZZZZ |
g
4
|
I XXII XZ |
g
5
|
ZI ZI ZI Z |
g
6
|
-
Pauli braiding test. The verifier chooses one of the 7 provers at random to be Alice, while the remaining provers will take on the role of Bob. The verifier then performs the Pauli braiding test with Alice and Bob in order to self-test the logical qubits in \(\left \vert {\psi }_{L}\right \rangle \). As mentioned, each logical qubit, encoded in the 7 qubit code, is equivalent to a Bell pair under the chosen bi-partition. The Pauli braiding test is essentially checking that the provers have correctly encoded each of the qubits in \(\left \vert {\psi }\right \rangle \) and that they are correctly measuring \(\mathsf {X}\) and \(\mathsf {Z}\) observables. The verifier rejects if the provers do not pass the test.
-
Energy test. In this case, the verifier will pick an \(\mathsf {X}\textsf {Z}\)-term, S, from H, at random, and instruct the provers to measure this term on their shared state. Note that S consists of logical\(\mathsf {X}\) and \(\mathsf {Z}\) operators. This means that each prover will need to perform local measurements so that their joint measurement acts as either \(\mathsf {X}_{L}\) or \(\mathsf {Z}_{L}\), respectively. Additionally, \(\mathsf {X}_{L}\) and \(\mathsf {Z}_{L}\), for the 7 qubit code, are expressed as tensor products of physical \(\mathsf {X}\) and \(\mathsf {Z}\) operations. This means that each prover will be instructed to measure an operators of the form \(\mathsf {X}(\mathbf {x})\) and \(\mathsf {Z}(\mathbf {z})\), on its physical qubits, where \(\mathbf {x}, \mathbf {z} \in \{0, 1\}^{N}\), and N is the total number of logical qubits on which H acts. The product \(\mathsf {X}(\mathbf {x})\mathsf {Z}(\mathbf {z})\) is the outcome for that prover’s share of S. The verifier then takes all of these \(\pm 1\) outcomes and multiplies them together, thus obtaining the outcome of measuring S itself. She accepts if the outcome of the measurement indicates that the estimated energy of \(\left \vert {\psi }\right \rangle \) is below a and rejects otherwise.
-
Energy consistency test. This test is a combination of the previous two. As in the Pauli braiding test, the provers are bi-partitioned into two sets, one consisting of one prover, denoted Alice, and the other consisting of the other 6 provers, jointly denoted as Bob. The verifier now performs a test akin to the linearity test from Pauli braiding. She randomly chooses \(W \in \{ \mathsf {X}, \mathsf {Z} \}\), and let \(\mathbf {w} = \mathbf {x}\), if \(W = \mathsf {X}\) and \(\mathbf {w} = \mathbf {z}\) if \(W = \mathsf {Z}\). She also chooses \(\mathbf {x}, \mathbf {z} \in \{0, 1\}^{N}\) according to the same distribution as in the energy test (i.e. as if she were instructing the provers to measure a random \(\mathsf {X}\mathsf {Z}\)-term from H). The verifier then does one of the following:
-
With probability \(1/2\), instructs Alice to measure the observables \(\mathsf {X}(\mathbf {x})\) and \(\mathsf {Z}(\mathbf {z})\). Additionally, the verifier chooses \(\mathbf {y} \in \{0, 1\}^{N}\) at random and instructs Bob to measure \(W(\mathbf {y})\) and \(W(\mathbf {y} \oplus \mathbf {w})\). If \(W = \mathsf {X}\), the verifier accepts if the product of Bob’s answers agrees with Alice’s answer for the \(\mathsf {X}(\mathbf {x})\) observable. If \(W = \mathsf {Z}\), the verifier accepts if the product of Bob’s answers agrees with Alice’s answer for the \(\mathsf {Z}(\mathbf {z})\) observable. Note that this is the case since the product of Bob’s observables should be \(W(\mathbf {w})\) if he is behaving honestly.
-
With probability \(1/4\), instructs Alice to measure \(W(\mathbf {y})\) and \(W(\mathbf {v})\), where \(\mathbf {y}, \mathbf {w} \in \{0, 1\}^{N}\) are chosen at random. Bob is instructed to measure \(W(\mathbf {y})\) and \(W(\mathbf {y} \oplus \mathbf {w})\). The verifier accepts if the outcomes of Alice and Bob for \(W(\mathbf {y})\) agree.
-
With probability \(1/4\), instructs Alice to measure \(W(\mathbf {y} \oplus \mathbf {w})\) and \(W(\mathbf {v})\), where \(\mathbf {y}, \mathbf {w} \in \{0, 1\}^{N}\) are chosen at random. Bob is instructed to measure \(W(\mathbf {y})\) and \(W(\mathbf {y} \oplus \mathbf {w})\). The verifier accepts if the outcomes of Alice and Bob for \(W(\mathbf {y} \oplus \mathbf {w})\) agree.
-
4.4 Summary of Entanglement-Based Protocols
Protocol | Provers | Qmem provers | Rounds | Communication | Blind |
---|---|---|---|---|---|
RUV | 2 | 2 | O(N8192 ⋅ log(1/𝜖)) | O(N8192 ⋅ log(1/𝜖)) | Y |
McKague | O(N22 ⋅ log(1/𝜖)) | 0 | O(N22 ⋅ log(1/𝜖)) | O(N22 ⋅ log(1/𝜖)) | Y |
GKW | 2 | 1 | O(N2048 ⋅ log(1/𝜖)) | O(N2048 ⋅ log(1/𝜖)) | Y |
HPDF | O(N4log(N) ⋅ log(1/𝜖)) | O(log(1/𝜖)) | O(N4log(N) ⋅ log(1/𝜖)) | O(N4log(N) ⋅ log(1/𝜖)) | Y |
FH | 5 | 5 | O(N16 ⋅ log(1/𝜖)) | O(N19 ⋅ log(1/𝜖)) | N |
NV | 7 | 7 | O(1) | O(N3 ⋅ log(1/𝜖)) | N |
5 Outlook
5.1 Sub-Universal Protocols
5.2 Fault Tolerance
5.3 Experiments and Implementations
6 Conclusions
-
While the problem of a classical verifier delegating computations to a single prover is the main open problem of the field, we emphasize a more particular instance of this problem: can the proof that any problem in \(\mathsf {PSPACE}\)49 admits an interactive proof system, be adapted to show that any problem in \(\mathsf {BQP}\) admits an interactive proof system with a \(\mathsf {BQP}\) prover? The proof that \(\mathsf {PSPACE} = \mathsf {IP}\) (in particular the \(\mathsf {PSPACE} \subseteq \mathsf {IP}\) direction) uses error-correcting properties of low-degree polynomials to give a verification protocol for a \(\mathsf {PSPACE}\)-complete problem [107]. We have seen that the Poly-QAS VQC scheme, presented in Section 16, also makes use of error-correcting properties of low-degree polynomials in order to perform quantum verification (albeit, with a quantum error correcting code and a quantum verifier). Can these ideas lead to a classical verifier protocol for \(\mathsf {BQP}\) problems with a \(\mathsf {BQP}\) prover?
-
In all existing entanglement-based protocols, one assumes that the provers are not allowed to communicate during the protocol. However, this assumption is not enforced by physical constraints. Is it, therefore, possible to have an entanglement-based verification protocol in which the provers are space-like separated?50 Note, that since all existing protocols require the verifier to query the two (or more) provers adaptively, it is not directly possible to make the provers be space-like separated.
-
What is the optimal overhead (in terms of either communication complexity, or the resources of the verifier) in verification protocols? For all types of verification protocols we have seen that, for a fixed completeness-soundness gap, the best achieved communication complexity is linear. For the prepare-and-send case is it possible to have a protocol in which the verifier need only prepare a poly-logarithmic number of single qubits (in the size of the computation)? For the entanglement-based case, can the classical verifier send only poly-logarithmic sized questions to the provers? This latter question is related to the quantum \(\mathsf {PCP}\) conjecture [108].
-
Are there other models of quantum computation that are suitable for developing verification protocols? We have seen that the way in which we view quantum computations has a large impact on how we design verification protocols and what characteristics those protocols will have. Specifically, the separation between classical control and quantum resources in MBQC lead to VUBQC, or the \(\mathsf {QMA}\)-completeness of the local Hamiltonian problem lead to the post hoc approaches. Of course, all universal models are equivalent in terms of the computations which can be performed, however each model provides a particular insight into quantum computation which can prove useful when devising new protocols. Can other models of quantum computation, such as the adiabatic model, the anyon model etc, provide new insights?
-
We have seen that while certain verification protocols employ error-correcting codes, these are primarily used for boosting the completeness-soundness gap. Alternatively, for the protocols that do in fact incorporate fault tolerance, in order to cope with noisy operations, there are additional assumptions such as the noise in the verifier’s device being uncorrelated with the noise in the prover’s devices. Therefore, the question is: can one have a fault tolerant verification protocol, with a minimal quantum verifier, in the most general setting possible? By this we mean that there are no restrictions on the noise affecting the quantum devices in the protocol, other than those resulting from the standard assumptions of fault tolerant quantum computations (constant noise rate, local errors etc). This question is addressed in more detail in [26]. Note that the question refers in particular to prepare-and-send and receive-and-measure protocols, since entanglement-based approaches are implicitly fault tolerant (one can assume that the provers are performing the computations on top of error correcting codes).