US 12,261,955 B2
System and computer program product for fair, secure n-party computation using at least one blockchain
Ranjit Kumar Kumaresan, Sunnyvale, CA (US); Srinivasan Raghuraman, Cambridge, MA (US); and Rohit Sinha, Bokaro Steel (IN)
Assigned to Visa International Service Association, San Francisco, CA (US)
Filed by Visa International Service Association, San Francisco, CA (US)
Filed on Sep. 26, 2023, as Appl. No. 18/474,301.
Application 18/474,301 is a continuation of application No. 17/104,520, filed on Nov. 25, 2020, granted, now 11,811,933.
Claims priority of provisional application 62/941,045, filed on Nov. 27, 2019.
Prior Publication US 2024/0022417 A1, Jan. 18, 2024
This patent is subject to a terminal disclaimer.
Int. Cl. H04L 9/32 (2006.01); H04L 9/00 (2022.01); H04L 9/30 (2006.01)
CPC H04L 9/3218 (2013.01) [H04L 9/30 (2013.01); H04L 9/3247 (2013.01); H04L 9/50 (2022.05); H04L 2209/46 (2013.01)] 14 Claims
OG exemplary drawing
 
1. A system comprising a first computing device programmed or configured to:
communicate a first input of an n-party computation to a trusted execution environment (TEE);
receive, from the TEE, at least one first encrypted output comprising a first function output of the n-party computation encrypted with at least one public key of at least one other computing device, the first function output of the n-party computation determined based on the first input and at least one second input from the at least one other computing device;
post the at least one first encrypted output on at least one blockchain accessible by the at least one other computing device, the at least one first encrypted output being decryptable using at least one private key of the at least one other computing device to obtain the first function output of the n-party computation;
in response to posting the at least one first encrypted output on the at least one blockchain, receive at least one first proof of publication;
communicate the at least one first proof of publication to the TEE;
receive the first function output of the n-party computation from the TEE;
communicate a witness of a witness encryption scheme to the TEE;
receive at least one second encrypted output comprising a second function output encrypted with the at least one public key of the at least one other computing device, the second function output determined based on the first input, the at least one second input, and the witness;
post the at least one second encrypted output on the at least one blockchain, the at least one second encrypted output being decryptable using the at least one private key to obtain the second function output;
in response to posting the at least one second encrypted output on the at least one blockchain, receive at least one second proof of publication;
communicate the at least one second proof of publication to the TEE; and
receive the second function output from the TEE.