US 12,273,324 B2
Systems and methods for ensuring correct execution of computer program using a mediator computer system
Alexandra Covaci, Canterbury (GB); Simone Madeo, London (GB); Patrick Motylinski, London (GB); and Stephane Vincent, Luxembourg (LU)
Assigned to NCHAIN LICENSING AG, Zug (CH)
Filed by nChain Licensing AG, Zug (CH)
Filed on Dec. 29, 2022, as Appl. No. 18/091,193.
Application 18/091,193 is a continuation of application No. 16/762,487, granted, now 11,546,162, previously published as PCT/IB2018/058491, filed on Oct. 30, 2018.
Claims priority of application No. 1718505 (GB), filed on Nov. 9, 2017; application No. 1719998 (GB), filed on Nov. 30, 2017; application No. 1720768 (GB), filed on Dec. 13, 2017; application No. 1720946 (GB), filed on Dec. 15, 2017; application No. 1805948 (GB), filed on Apr. 10, 2018; and application No. 1806444 (GB), filed on Apr. 20, 2018.
Prior Publication US 2023/0216833 A1, Jul. 6, 2023
Int. Cl. H04L 9/40 (2022.01); G06V 10/75 (2022.01); H04L 9/08 (2006.01); H04L 9/32 (2006.01); H04L 9/00 (2022.01)
CPC H04L 63/04 (2013.01) [G06V 10/7557 (2022.01); H04L 9/0825 (2013.01); H04L 9/085 (2013.01); H04L 9/0894 (2013.01); H04L 9/3221 (2013.01); H04L 9/3236 (2013.01); H04L 9/3247 (2013.01); H04L 9/50 (2022.05)] 16 Claims
OG exemplary drawing
 
1. A computer-implemented method comprising:
encrypting, by a client computer system, a secret value under a public key associated with a mediator computer system;
generating a cryptographic hash output based at least in part on the secret value;
generating an attestation that the encrypted secret value and the cryptographic hash output are both determined based at least in part on the secret value;
providing the encrypted secret value, the cryptographic hash output and the attestation to a worker computer system, wherein the worker computer system is operable to use the attestation to determine whether the encrypted secret value and the cryptographic hash output are based at least in part on a same value, and the encrypted secret value is usable by the worker computer system and the mediator computer system to collectively execute a first program;
causing a second program to be made available on a blockchain data structure, wherein execution of the second program has an input obtained from a trusted authority source external to the blockchain structure;
determining that the blockchain data structure reflects:
a proof of correct execution of the second program; and
an input value, wherein execution of the second program to generate the proof is based at least in part on using the input value as the input to the second program;
determining, based at least in part on the proof, that the input value is valid;
in response to determining that the input value is valid, providing, by the client computer system, the secret value to the worker computer system, and accepting, by the client computer system, a returning of a security deposit to the worker computer system when it is determined, by the client computer system, that a protocol for correct program execution is followed by the worker computer system; the security deposit having been posted, by the worker computing system, to the blockchain data structure, wherein the worker computer system is able to execute the first program using at least the secret value.