US 11,888,976 B2
System and method for multi-party generation of blockchain-based smart contract
Alexandra Covaci, London (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 Feb. 23, 2022, as Appl. No. 17/678,926.
Application 17/678,926 is a continuation of application No. 16/772,136, granted, now 11,271,729, previously published as PCT/IB2018/059918, filed on Dec. 12, 2018.
Claims priority of application No. 1720768 (GB), filed on Dec. 13, 2017; application No. 1813770 (GB), filed on Aug. 23, 2018; and application No. 1813772 (GB), filed on Aug. 23, 2018.
Prior Publication US 2022/0271919 A1, Aug. 25, 2022
Int. Cl. G06F 17/17 (2006.01); H04L 9/32 (2006.01); H04L 9/14 (2006.01); H04L 9/30 (2006.01); H04L 9/08 (2006.01); G06F 7/72 (2006.01); H04L 9/00 (2022.01)
CPC H04L 9/085 (2013.01) [G06F 7/725 (2013.01); G06F 17/17 (2013.01); H04L 9/14 (2013.01); H04L 9/3066 (2013.01); H04L 9/3093 (2013.01); H04L 9/3218 (2013.01); H04L 9/0841 (2013.01); H04L 9/3236 (2013.01); H04L 9/50 (2022.05)] 14 Claims
OG exemplary drawing
 
1. A computer-implemented method of executing a smart contract generated by a first computing entity and a second computing entity, the computer-implemented method implemented by a third computing entity different from both the first computing entity and the second computing entity, the computer-implemented method comprising:
receiving, at the third computing entity, the smart contract comprising a first transaction input and an evaluation key Ek provided by the first computing entity and a second transaction input provided by the second computing entity;
executing the smart contract by performing a computational task comprising the computation of a function on an input to the smart contract to produce an output of the smart contract;
producing a proof of correct execution of the smart contract, wherein the proof is based at least in part on the evaluation key Ek;
generating a blockchain transaction using the output of the smart contract; and
validating, by a fourth computing entity different from the first, second, and third computing entities, the generated transaction using a verification key Vk and the proof.