Systems and methods for storage, generation and verification of tokens used to control access to a resource
A computer-implemented access method is provided. The method comprises the steps of: (i) submitting, to a blockchain (such as the Bitcoin blockchain), an access blockchain transaction addressed to a derived public key derived at least in part from a secret value and a public key; (ii) generating a verification public key based at least in part on the secret value and the public key; (iii) comparing the derived public key and the verification public key; and (iv) based on the comparison of step (iii): (a) allocating the at least one of the derived and verification public key as a further public key for verifying a further derived public key; and (b) granting access to a resource associated with at least one of the secret value and the derived public key.
1 . A computer-implemented access method performed by a first party, comprising the steps of:
determining a number of tokens to be generated by the first party, the number of tokens corresponding to a number of resources which require activation of a respective token to access, each token is associated with a respective resource;
generating an access chain of tokens having the determined number of tokens by successively applying a one-way function to a previous result starting with an initial value, wherein the access chain includes a first token and a second token;
generating a plurality of verification data items including a first verification data item and a second verification data item, each verification data item corresponding to a hash of one of the tokens, and wherein each verification data item of the plurality of verification data items is a reference value used for private verification;
sending the first verification data item to a second party;
publishing a first access blockchain transaction comprising the first token to a blockchain network, wherein the first access blockchain transaction comprises information identifying a first resource of the number of resources;
determining access to the first resource in response to the second party determining whether the first token has been correctly activated;
sending the second verification data item to the second party;
publishing a second access blockchain transaction comprising the second token to the blockchain network, wherein the second access blockchain transaction comprises information identifying a second resource of the number of resources; and
determining access to the second resource in response to the second party determining whether the second token has been correctly activated.
2 . The method of claim 1 , wherein the each of the verification data items is sent iteratively until the determined number of tokens have been activated.
3 . The method of claim 1 , further comprising storing the initial value from which at least one data item of the one-way function chain is calculable.
4 . A system, comprising:
one or more processors; and
memory including executable instructions that, as a result of execution by the one or more processors, cause the system to perform a computer-implemented method of:
determining a number of tokens to be generated by a first party, the number of tokens corresponding to a number of resources which require activation of a respective token to access, each token is associated with a respective resource;
generating an access chain of tokens having the determined number of tokens by successively applying a one-way function to a previous result starting with an initial value, wherein the access chain includes a first token and a second token;
generating a plurality of verification data items including a first verification data item and a second verification data item, each verification data item corresponding to a hash of one of the tokens and each verification data item of the plurality of verification data items is a reference value used for private verification;
sending the first verification data item to a second party;
publishing a first access blockchain transaction comprising the first token to a blockchain network, wherein the first access blockchain transaction comprises information identifying a first resource;
determining access to the first resource in response to the second party determining whether the first token has been correctly activated;
sending the second verification data item to the second party;
publishing a second access blockchain transaction comprising the second token to the blockchain network, wherein the second access blockchain transaction comprises information identifying a second resource; and
determining access to the second resource in response to the second party determining whether the second token has been correctly activated.
5 . A non-transitory computer-readable storage medium having stored thereon executable instructions that, when executed by one or more processors of a computer system, cause the computer system to at least perform a computer-implemented method of:
determining a number of tokens to be generated by a first party, the number of tokens corresponding to a number of resources which require activation of a respective token to access, each token is associated with a respective resource;
generating an access chain of tokens having the determined number of tokens by successively applying a one-way function to a previous result starting with an initial value, wherein the access chain includes a first token and a second token;
generating a plurality of verification data items including a first verification data item and a second verification data item, each verification data item corresponding to a hash of one of the tokens and each verification data item of the plurality of verification data items is a reference value used for private verification;
sending the first verification data item to a second party;
publishing a first access blockchain transaction comprising the first token to a blockchain network, wherein the first access blockchain transaction comprises information identifying a first resource;
determining access to the first resource in response to the second party determining whether the first token has been correctly activated;
sending the second verification data item to the second party;
publishing a second access blockchain transaction comprising the second token to the blockchain network, wherein the second access blockchain transaction comprises information identifying a second resource; and
determining access to the second resource in response to the second party determining whether the second token has been correctly activated.
6 . The method of claim 1 , wherein the initial value is the last token in the access chain of tokens.