| 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)] | 12 Claims |

|
1. A computer implemented method of executing a smart contract generated by a first computing entity and a second computing entity, the method implemented by a third computing entity different from both the first computing entity and the second computing entity, the method comprising:
determining, based at least in part on exchanging powers of a secret using elliptic curve points, a common reference string comprising a verification key, wherein the power of the secret is based at least in part on a first set of the elliptic curve points generated by the first computing entity and a second set of the elliptic curve points generated by the second computing entity;
receiving, at the third computing entity, a smart contract comprising a first transaction input provided by the first computing entity and a second transaction input provided by the second computing entity;
executing the smart contract by performing an evaluation of values of a plurality of internal circuit wires of a quadratic arithmetic program to produce an output of the quadratic arithmetic program;
producing a proof of correct execution of the smart contract;
generating a blockchain transaction using an output of the smart contract; and
validating, by a fourth computing entity, the generated blockchain transaction using the verification key and the proof of correct execution.
|