Quantum timestamping
View Patent ↗A method of timestamping an item at a timestamping device is provided. The timestamping devices comprising a classical computing device and a quantum computing device. The method comprises at the classical computing device obtaining the item to be timestamped and determining an input token based on the received item. The method further comprises at the quantum computing device receiving a randomly generated quantum state from a verifier via a quantum channel wherein the randomly generated quantum state is received at time, t and wherein the method comprises using the timestamping device to combine the randomly generated quantum state with the input token to produce a timestamp proof token associated with the time, t.
1 . A method of timestamping an item at a timestamping device comprising a classical computing device and a quantum computing device, the method comprising:
at the classical computing device:
obtaining the item to be timestamped; and
determining an input token based on the obtained item; and
at the quantum computing device:
receiving a randomly generated quantum state from a verifier via a quantum channel wherein the randomly generated quantum state is received at time, t; and
wherein the method comprises using the timestamping device to combine the randomly generated quantum state with the input token to produce a timestamp proof token associated with the time, t; and
wherein using the timestamping device to combine the randomly generated quantum state with the input token comprises performing quantum operations on the randomly generated quantum state such that at least some of the quantum operations are related to the input token wherein performing quantum operations on the generated quantum state comprises measuring the randomly generated quantum state to obtain the timestamp proof token associated with the time, t.
2 . The method of claim 1 wherein performing quantum operations on the randomly generated quantum state such that at least some of the quantum operations are related to the input token comprises:
measuring the randomly generated quantum state to obtain the timestamp proof token based on the input token by using the input token to determine a sequence of measurement bases for measuring the randomly generated quantum state.
3 . The method claim 1 further comprising:
at the classical computing device, determining an input quantum state from the input token;
at the quantum computing device preparing a quantum register in the input quantum state; and wherein
the performing of the quantum operations on the randomly generated quantum state received from the verifier such that at least some of the quantum operations are related to the input token further comprises using a sequence of quantum gates to mix the input quantum state and the randomly generated quantum state before measuring the randomly generated quantum state.
4 . The method of claim 1 wherein performing quantum operations on the randomly generated quantum state such that at least some of the quantum operations are related to the input token comprises:
determining, at the classical computing device, a sequence of quantum operations based on the input token; and
implementing, at the quantum computing device, the determined sequence of quantum operations on the randomly generated quantum state before measuring the randomly generated quantum state.
5 . The method of claim 1 further comprising:
sending:
the timestamp proof token, and
the item to be timestamped and/or the input token to the verifier within a threshold period of time of obtaining the timestamp proof token; and
in response to sending the timestamp proof token to the verifier, receiving confirmation of receipt and/or validity of the timestamp proof token.
6 . The method of claim 1 further comprising:
receiving a request from the verifier for at least a portion of the timestamp proof token; and
providing:
the at least a portion of the timestamp proof token, and
the item to be timestamped and/or the input token to the verifier in response to the request.
7 . The method of claim 1 wherein determining an input token based on the obtained item comprises:
determining the input token in dependence on at least a portion of a previous timestamp proof token in the item to be timestamped or the input token.
8 . The method of claim 7 wherein determining the input token in dependence on at least a portion of a previous timestamp proof token in the item to be timestamped or the input token comprises:
hashing the at least a portion of the previous timestamp proof token; and
incorporating the hash of the at least a portion of the previous timestamp proof token in the item to be timestamped or the input token.
9 . The method of claim 7 further comprising:
storing the timestamp proof token on a distributed ledger; and wherein
determining the input token in dependence on at least a portion of a previous timestamp proof token in the item to be timestamped or the input token comprises incorporating a previous entry of the distributed ledger in the item to be timestamped or the input token.
10 . The method of claim 1 wherein obtaining the item to be timestamped comprises:
receiving an item to be timestamped prior to time, t; or
when no item to be timestamped has been received by time, t, obtaining a predetermined value as the item to be timestamped.
11 . The method of claim 1 wherein:
receiving a randomly generated quantum state from a verifier comprises receiving a first randomly generated quantum state from a first source of the verifier and the method further comprises:
at the quantum computing device:
receiving a second randomly generated quantum state from a second source of the verifier via a quantum channel wherein the second randomly generated quantum state is received at time, t; wherein:
performing quantum operations on the randomly generated quantum state such that at least some of the quantum operations are related to the input token comprises performing quantum operations on the first and second randomly generated quantum states such that at least some of the quantum operations are related to the input token; and
the first and second source of the verifier are spatially distributed around the timestamping device.
12 . A method, performed at a verifier, of providing a randomly generated quantum state to a timestamping device wherein the verifier comprises a classical computing device and a quantum computing device and the method comprises:
at the quantum computing device:
preparing the randomly generated quantum state; and
sending the randomly generated quantum state to the timestamping device; and
at the classical computing device:
recording a representation of the randomly generated quantum state; and
recording a time, t′, at which the randomly generated quantum state was sent to the timestamping device;
receiving an indication of a time t, a timestamp proof token associated with the time t, and an item to be timestamped and/or an input token;
determining a time t″ based on the time t wherein the time t″ represents a time at which a randomly generated quantum state received at the timestamping device at the time t would have been sent from the verifier;
looking op a classical representation of a randomly generated quantum state associated with the time t″;
performing a classical simulation of quantum operations performed by the timestamping device; and
based on results of the classical simulation, verifying that time t″ matches time t′.
13 . A timestamping device for timestamping an item, the timestamping device comprising:
a classical computing device configured to:
obtain the item to be timestamped; and
determine an input token based on the obtained item; and
a quantum computing device configured to:
receive a randomly generated quantum state from a verifier via a quantum channel wherein the randomly generated quantum state is received at time, t; and
wherein the timestamping device is configured to combine the randomly generated quantum state with the input token to produce a timestamp proof token associated with the time, t;
wherein the timestamping device being configured to combine the randomly generated quantum state with the input token comprises the timestamping device being configured to perform quantum operations on the randomly generated quantum state such that at least some of the quantum operations are related to the input token; and
wherein the timestamping device being configured to perform quantum operations on the randomly generated quantum state comprises the timestamping device being configured to measure the randomly generated quantum state to obtain the timestamp proof token associated the time, t.
14 . A verifier for providing a randomly generated quantum state to a timestamping device, the verifier comprising:
a quantum computing device configured to:
prepare the randomly generated quantum state; and
send the randomly generated quantum state to a timestamping device; and
a classical computing device configured to:
record a representation of the randomly generated quantum state and a time, t′, at which the randomly generated quantum state was sent to the timestamping device;
receive an indication of a time t, a timestamp proof token associated with the time t, and an item to be timestamped and/or an input token;
determine a time t″ based on the time t wherein the time t″ represents a time at which a randomly generated quantum state received at the timestamping device at the time t would have been sent from the verifier;
look up a classical representation of a randomly generated quantum state associated with the time t″;
perform a classical simulation of quantum operations performed by the timestamping device; and
based on results of the classical simulation, verify that time t″ matches time t′.
15 . The verifier of claim 14 configured to carry out a link-latency calibration to determine a latency for sending the randomly generated quantum state to the timestamping device, and to randomly repeat the link-latency calibration.
16 . A system comprising:
a timestamping device for timestamping an item and
a verifier for providing a randomly generated quantum state to the timestamping device; the timestamping device comprising:
a classical computing device configured to:
obtain the item to be timestamped; and
determine an input token based on the obtained item; and
a quantum computing device configured to:
receive the randomly generated quantum state from the verifier via a quantum channel wherein the randomly generated quantum state is received at time, t; and
wherein the timestamping device is configured to combine the randomly generated quantum state with the input token to produce a timestamp proof token associated with the time, t, wherein the timestamping device being configured to combine the randomly generated quantum state with the input token comprises the timestamping device being configured to perform quantum operations on the randomly generated quantum state such that at least some of the quantum operations are related to the input token, wherein the timestamping device being configured to perform quantum operations on the randomly generated quantum state comprises the time stamping device being configured to measure the randomly generated quantum state to obtain the timestamp proof token associated with the time, t;
the verifier comprising:
a quantum computing device configured to:
prepare the randomly generated quantum state; and
send the randomly generated quantum state to a timestamping device; and
a classical computing device configured to:
record a representation of the randomly generated quantum state and a time, t′, at which the randomly generated quantum state was sent to the timestamping device.
17 . A method performed using a timestamping device and a verifier, the method comprising:
at a classical computing device of the timestamping device:
obtaining an item to be timestamped; and
determining an input token based on the obtained item; and
at a quantum computing device of the timestamping device:
receiving a randomly generated quantum state from the verifier via a quantum channel wherein the randomly generated quantum state is received at time, t; and
wherein the method comprises using the timestamping device to combine the randomly generated quantum state with the input token to produce a timestamp proof token associated with the time, t, wherein using the timestamping device to combine the randomly generated quantum state with the input token comprises performing quantum operations on the randomly generated quantum state such that at least some of the quantum operations are related to the input token, wherein the performing of the quantum operations on the randomly generated quantum state comprises measuring the randomly generated quantum state to obtain the timestamp proof token associated with the time, t; and
using the verifier, to provide the randomly generated quantum state to the timestamping device by:
at a quantum computing device of the verifier:
preparing the randomly generated quantum state; and
sending the randomly generated quantum state to the timestamping device; and
at a classical computing device of the verifier:
recording a representation of the randomly generated quantum state; and
recoding a time, t′, at which the randomly generated quantum state was sent to the timestamping device.
18 . The method of claim 12 , wherein receiving the timestamp proof token associated with the time t comprises receiving the timestamp proof token in response to a first request sent to the timestamping device, the method further comprising:
sending a second request, subsequent to the first request, to the timestamping device and in response to the second request, receiving an indication of a time t*, a timestamp proof token associated with the time t*, and a further item to be timestamped and/or a further input token, wherein a time interval between the first request being sent and the second request being sent is random.
19 . The verifier of claim 14 wherein:
to receive the timestamp proof token associated with the time t, the classical computing device is configured to receive the timestamp proof token in response to a first request sent to the timestamping device; and
a second request is sent, subsequent to the first request, to the timestamping device and in response to the second request, the classical computing device is configured to receive an indication of a time t*, a timestamp proof token associated with the time t*, and a further item to be timestamped and/or a further input token, wherein a time interval between the first request being sent and the second request being sent is random.