Quantum Token: Difference between revisions
m (→Pseudocode) |
No edit summary |
||
(6 intermediate revisions by 4 users not shown) | |||
Line 28: | Line 28: | ||
==Requirements== | ==Requirements== | ||
*Network stage: [[:Category: Quantum Memory Network Stage|quantum memory network]][[Category:Quantum Memory Network Stage]]. | *Network stage: [[:Category: Quantum Memory Network Stage|quantum memory network]][[Category:Quantum Memory Network Stage]]. | ||
==Knowledge Graph== | |||
{{graph}} | |||
==Properties== | ==Properties== | ||
Line 36: | Line 40: | ||
* An honest user is exponentially likely to succeed with probability at least, <math>p^{cv}_h = e^{ND}(F^{exp}||F^{cv}_{tol})</math> | * An honest user is exponentially likely to succeed with probability at least, <math>p^{cv}_h = e^{ND}(F^{exp}||F^{cv}_{tol})</math> | ||
== | ==Protocol Description== | ||
'''Input:''' ( | '''Input:''' Bank (<math>\text{n*r}</math> qubit pairs), where, qubit-pairs <math>\epsilon_R\{(0,+),(0,-),(1,+),(1,-),(+,0),(-,0),(+,1),(-,1)\}</math> </br> | ||
'''Output:''' (Merchant) accept or reject</br> | '''Output:''' (Merchant) accept or reject</br> | ||
<u>'''Stage 1'''</u> Preparation </br> | <u>'''Stage 1'''</u> Preparation </br> | ||
# Bank prepares Token<math>_S</math> with <math>n*r | # Bank prepares Token<math>_S</math> with <math>n*r</math> qubit pairs | ||
# Bank distributes tickets to clients | # Bank distributes tickets to clients | ||
# Bank distributes the classical record of states corresponding to S to trusted verifiers (merchants). | # Bank distributes the classical record of states corresponding to S to trusted verifiers (merchants). | ||
<u>'''Stage 2'''</u> Interaction </br> | <u>'''Stage 2'''</u> Interaction </br> | ||
# Merchant asks client to measure a few qubit-pairs(say, a row) in a randomly chosen basis M \epsilon_R \{X,Z\} | # Merchant asks client to measure a few qubit-pairs(say, a row) in a randomly chosen basis M <math> \epsilon_R \{X,Z\}</math> | ||
# Client returns measurement outcome (m) for all qubit pairs asked to measure | # Client returns measurement outcome (m) for all qubit pairs asked to measure | ||
<u>'''Stage 3'''</u> Transaction </br> | <u>'''Stage 3'''</u> Transaction </br> | ||
# Merchant compares the number of qubit pairs with the valid outcome for the qubit which was generated in M basis as k. | # Merchant compares the number of qubit pairs with the valid outcome for the qubit which was generated in M basis as k. | ||
# Merchant accepts if <math>k/(r*2)>F^{cv}_{tol}</math> else he rejects | # Merchant accepts if <math>k/(r*2)>F^{cv}_{tol}</math> else he rejects | ||
==Simulation and benchmark== | |||
A simulation code for benchmarking the Quantum Token Protocol is available [https://github.com/LiaoChinTe/netsquid-simulation/tree/main/QToken here]. | |||
Hardware parameter analysis can be found in the following [https://cloud.veriqloud.fr/index.php/s/iiw1SxU4D22FyQ7 preprint] | |||
==Further Information== | ==Further Information== |
Latest revision as of 06:58, 12 November 2021
Money is issued by one party (bank) to a prover (client) such that when he presents it to a verifier
(merchant), he/she is satisfied that the money presented by client comes from the bank. It comes
with the property of unforgeability and transferability. Unforgeability means that there should exist
no method to produce an identical copy by anyone but the bank, and transferability allows that this
money can be used by the verifier as a client himself in the next round.
Tags: Multi Party Protocols, non local games, Quantum Enhanced Classical Functionality, Specific Task
Assumptions[edit]
- Money is physically transferred to the holders
- If , a dishonest user is exponentially unlikely to be authenticated by two independent verifiers (success in cheating to use the same ticket for two independent verifiers by measuring in intermediate basis between the two bases, asked by the verifiers individually).
Outline[edit]
The protocol can be divided into three parts
- Preparation Bank prepares few rows of qubit-pairs chosen from two different non-orthogonal sets of basis. Each pair has at least one state from both bases, such that the qubit pair states are non-orthogonal. It associates each such chosen set with a serial number and shares the classical information about the choices for respective serial number with trusted merchants.
- Interaction This step involves challenge questions by the verifier to prove that he has a valid token, by playing a part of a non-local game. In this game, the merchant asks the client to measure in one of the two bases in from which the qubit pairs were chosen. As each qubit pair contains at least one state from each basis chosen, after the measurement one of the qubits (encoded in the basis chosen by the merchant) would give the correct result.
- Transaction The merchant compares this qubit outcome whose encoding basis matches with merchant's basis for the game. The merchant accepts the ticket if the ratio of the number of valid outcomes to the total number of qubits measured is more than or equal to a certain threshold fidelity value.
Notation[edit]
- Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://wikimedia.org/api/rest_v1/":): {\displaystyle N=n*r*2} , total number of qubits
- is the tolerance fidelity set by the verifiers
- where Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://wikimedia.org/api/rest_v1/":): {\displaystyle F^{exp}} is the average experimental fidelity
Requirements[edit]
- Network stage: quantum memory network.
Knowledge Graph[edit]
Properties[edit]
- Challenge questions reveal no information about the token
- No quantum communication is needed
- Tokens are remotely verifiable/ classically verifiable
- A dishonest user is exponentially unlikely to succeed with probability at most, , where is the fraction of qubits to be copied in order to forge a ticket and 2/3 is the average fidelity of copies produced by optimal cloning map, D being relative entropy.
- An honest user is exponentially likely to succeed with probability at least, Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://wikimedia.org/api/rest_v1/":): {\displaystyle p^{cv}_h = e^{ND}(F^{exp}||F^{cv}_{tol})}
Protocol Description[edit]
Input: Bank (Failed to parse (SVG (MathML can be enabled via browser plugin): Invalid response ("Math extension cannot connect to Restbase.") from server "https://wikimedia.org/api/rest_v1/":): {\displaystyle \text{n*r}}
qubit pairs), where, qubit-pairs
Output: (Merchant) accept or reject
Stage 1 Preparation
- Bank prepares Token with qubit pairs
- Bank distributes tickets to clients
- Bank distributes the classical record of states corresponding to S to trusted verifiers (merchants).
Stage 2 Interaction
- Merchant asks client to measure a few qubit-pairs(say, a row) in a randomly chosen basis M
- Client returns measurement outcome (m) for all qubit pairs asked to measure
Stage 3 Transaction
- Merchant compares the number of qubit pairs with the valid outcome for the qubit which was generated in M basis as k.
- Merchant accepts if else he rejects
Simulation and benchmark[edit]
A simulation code for benchmarking the Quantum Token Protocol is available here. Hardware parameter analysis can be found in the following preprint
Further Information[edit]
- BOTZKD-QMoney (2018) replaces qubits with coherent states and it implements the quantum money on the fly (i.e. without quantum memory).