IP Library › Granted Patent US 12,261,955
Granted Patent B2
US 12,261,955 · App. 18/474,301 · Granted Mar 25, 2025

System and computer program product for fair, secure n-party computation using at least one blockchain

Inventors: Ranjit Kumar Kumaresan (Sunnyvale, CA); Srinivasan Raghuraman (Cambridge, MA); Rohit Sinha (Bokaro Steel, IN)
Assignee: Visa International Service Association
H04L9/3218H04L9/30H04L9/3247H04L9/50H04L2209/46
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 12,261,955
App. No.
18/474,301
Filed
Sep 26, 2023
Granted
Mar 25, 2025
Kind
B2
Art Unit
2438
USPC
713/164
Abstract

Described are a system and computer program product for secure n-party computation. The system includes a computing device programmed or configured to communicate an input to a trusted execution environment (TEE), and receive a first encrypted output. The computing device is also programmed or configured to post the first encrypted output on a blockchain and receive a first proof of publication. The computing device is further programmed or configured to communicate the first proof of publication to the TEE and receive the first function output of the n-party computation. The computing device is further programmed or configured to communicate a witness to the TEE and receive a second encrypted output. The computing device is further programmed or configured to post the second encrypted output on the blockchain, receive a second proof of publication, communicate the second proof of publication to the TEE, and receive the second function output.

Claims (38)

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.

2. The system of claim 1 , wherein the first computing device and the at least one other computing device are permissioned by a consortium to access the at least one blockchain, and wherein the first computing device and the at least one other computing device have different levels of permission to access the at least one blockchain.

3. The system of claim 2 , wherein the first computing device is configured with at least read access and write access to the at least one blockchain, and the at least one other computing device is configured with at least read access to the at least one blockchain.

4. The system of claim 1 , wherein the first function output comprises a signature of a data object generated based on the first input and the at least one second input, wherein the first input comprises a first signature key associated with the first computing device and the at least one second input comprises at least one second signature key associated with the at least one other computing device.

5. The system of claim 1 , wherein the first computing device is configured to communicate with the TEE in a first secure communication channel, in which only the TEE is permitted to read communications from the first computing device to the TEE.

6. The system of claim 1 , wherein the at least one other computing device comprises a second computing device and a third computing device, wherein the at least one second input comprises an input from the second computing device and an input from the third computing device, and wherein the first function output of the n-party computation is determined based on the first input, the input from the second computing device, and the input from the third computing device.

7. The system of claim 6 , wherein the at least one public key comprises a public key of the second computing device and a public key of the third computing device, wherein the at least one second encrypted output comprises the second function output encrypted with the public key of the second computing device and the public key of the third computing device, and wherein the second function output is determined based on the first input, the input of the second computing device, the input of the third computing device, and the witness.

8. A computer program product comprising a non-transitory computer-readable medium storing program instructions configured to cause at least one processor of a first computing device 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.

9. The computer program product of claim 8 , wherein the first computing device and the at least one other computing device are permissioned by a consortium to access the at least one blockchain, and wherein the first computing device and the at least one other computing device have different levels of permission to access the at least one blockchain.

10. The computer program product of claim 9 , wherein the first computing device is configured with at least read access and write access to the at least one blockchain, and the at least one other computing device is configured with at least read access to the at least one blockchain.

11. The computer program product of claim 8 , wherein the first function output comprises a signature of a data object generated based on the first input and the at least one second input, wherein the first input comprises a first signature key associated with the first computing device and the at least one second input comprises at least one second signature key associated with the at least one other computing device.

12. The computer program product of claim 8 , wherein the program instructions cause the at least one processor to communicate with the TEE in a first secure communication channel, in which only the TEE is permitted to read communications from the at least one processor to the TEE.

13. The computer program product of claim 8 , wherein the at least one other computing device comprises a second computing device and a third computing device, wherein the at least one second input comprises an input from the second computing device and an input from the third computing device, and wherein the first function output of the n-party computation is determined based on the first input, the input from the second computing device, and the input from the third computing device.

14. The computer program product of claim 13 , wherein the at least one public key comprises a public key of the second computing device and a public key of the third computing device, wherein the at least one second encrypted output comprises the second function output encrypted with the public key of the second computing device and the public key of the third computing device, and wherein the second function output is determined based on the first input, the input of the second computing device, the input of the third computing device, and the witness.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 3, 2023
From: KUMARESAN, RANJIT KUMAR; SINHA, ROHIT; RAGHURAMAN, SRINIVASAN
To: VISA INTERNATIONAL SERVICE ASSOCIATION
Reel/Frame 065104/0729 →
Continuity (3)
Continuation 17104520 · Nov 25, 2020
Provisional Application 62941045 · Nov 27, 2019
Related Publication 20240022417A1 · Jan 18, 2024
References Cited (59)
US 7181017B1 · Nagel et al. · 2007 [cited by applicant]
US 9419951B1 · Felsher et al. · 2016 [cited by applicant]
US 10601828B2 · Avetisov et al. · 2020 [cited by applicant]
US 10846694B2 · Wong et al. · 2020 [cited by applicant]
US 11159313B2 · Fletcher · 2021 [cited by applicant]
US 11251942B2 · Li et al. · 2022 [cited by applicant]
US 11658815B2 · Ranellucci · 2023 [cited by applicant]
US 11811933B2 · Kumaresan · 2023 [cited by examiner]
US 20080095360A1 · Vuillaume et al. · 2008 [cited by applicant]
US 20180225448A1 · Russinovich et al. · 2018 [cited by applicant]
US 20190034936A1 · Nolan et al. · 2019 [cited by applicant]
US 20190095879A1 · Eyal et al. · 2019 [cited by applicant]
US 20190132295A1 · Lenz et al. · 2019 [cited by applicant]
US 20190156301A1 · Bentov · 2019 [cited by examiner]
US 20190166488A1 · Park et al. · 2019 [cited by applicant]
US 20190222414A1 · Pe'er et al. · 2019 [cited by applicant]
US 20190251249A1 · Sprague et al. · 2019 [cited by applicant]
US 20190319803A1 · Misoczki et al. · 2019 [cited by applicant]
US 20200014546A1 · Karame et al. · 2020 [cited by applicant]
US 20200036707A1 · Callahan et al. · 2020 [cited by applicant]
US 20200074464A1 · Trevethan · 2020 [cited by applicant]
US 20200296128A1 · Wentz · 2020 [cited by applicant]
US 20210119792A1 · Bastable et al. · 2021 [cited by applicant]
US 20210288944A1 · Petri et al. · 2021 [cited by applicant]
US 20210336792A1 · Agrawal et al. · 2021 [cited by applicant]
US 20210377045A1 · Doney et al. · 2021 [cited by applicant]
US 20220006620A1 · Bursell et al. · 2022 [cited by applicant]
US 20220021524A1 · Peddada et al. · 2022 [cited by applicant]
US 20220045867A1 · Beery et al. · 2022 [cited by applicant]
CN 107993059A · 2018 [cited by applicant]
CN 108288159A · 2018 [cited by applicant]
CN 110008686A · 2019 [cited by applicant]
CN 110651291A · 2020 [cited by applicant]
CN 110999204A · 2020 [cited by applicant]
CN 111181720A · 2020 [cited by applicant]
WO 2020157756A1 · 2020 [cited by applicant]
WO 2020223918A1 · 2020 [cited by applicant]
Choudhuri, Arka et al. “Fairness in and Unfair World: Fair Multiparty Computation from Public Bulletin Boards” [online] IEEE, Oct. 30, 2017 [retrieved Apr. 19, 2023]. Retrieved from the Internet: URL: https://dl.acm.org… [cited by examiner]
Bentov, Iddo et al. “Tesseract: Real-Time Cryptocurrency Exchange Using Trusted Hardware” [online] IEEE, Nov. 6, 2019 [ retrieved Apr. 19, 2023]. Retrieved from the Internet: URL: https://dl.acm.org/doi/abs/10.1145/3319… [cited by examiner]
Kosba, Ahmed et al. “Hawk: The Blockchain Model of Cryptography and Privacy-Preserving Smart Contracts” [online] IEEE, Aug. 18, 2016 [retrieved [Apr. 19, 2023]. Retrieved from the Internet: URL: https://ieeexplore.ieee.… [cited by examiner]
Boyle, Elette et al. “Practical Fully Secure Three-Party Computation via Sublinear Distributed Zero-Knowledge Proofs” [online] IEEE, Nov. 6, 2019 [retrieved Apr. 19, 2023]. Retrieved from the Internet: URL: https://dl.a… [cited by examiner]
Ahmed et al., “Don't Mine, Wait in Line: Fair and Efficient Blockchain Consensus with Robust Round Robin”, Jan. 11, 2019, 15 pages. [cited by applicant]
Androulaki et al., “Hyperledger Fabric: A Distributed Operating System for Permissioned Blockchains”, Apr. 17, 2018, 15 pages. [cited by applicant]
Bellare et al., “Authenticated Encryption: Relations among Notions and Analysis of the Generic Composition Paradigm”, J. Cryptol, 2008, pp. 469-491, vol. 21. [cited by applicant]
Bentov et al., “Tesseract: Real-Time Cryptocurrency Exchange Using Trusted Hardware”, CCS '19, Nov. 11-15, 2019, pp. 1521-1538, London, United Kingdom. [cited by applicant]
Boyle et al., “Practical Fully Secure Three-Party Computation via Sublinear Distributed Zero-Knowledge Proofs”, 2019, 37 pages. [cited by applicant]
Choudhuri et al., “Fairness in an Unfair World: Fair Multiparty Computation from public Bulletin Boards”, Proceedings of the 2017 ACM SIGSAC Conference on Computer and Communications Security, 2017, 35 pages. [cited by applicant]
Fisch et al., “IRON: Functional Encryption using Intel SGX”, Proceedings of the 2017 ACM SIGSAC Conference on Computer and Communications Security, 2017, 37 pages. [cited by applicant]
Gilad et al., “Algorand: Scaling Byzantine Agreements for Cryptocurrencies”, SOSP′ 17, Oct. 28-31, 2017, Shanghai, China, pp. 51-68. [cited by applicant]
Goldwasser et al., “A Digital Signature Scheme Secure Against Adaptive Chosen-Message Attacks”, Siam J. Comput, 1988, pp. 281-308, vol. 17:2. [cited by applicant]
Hofheinz et al., “A Modular Analysis of the Fujisaki-Okamoto Transformation”, SIAM Journal of Computing, Apr. 1988, pp. 281-308, vol. 17:2. [cited by applicant]
Kosba et al., “Hawk: The Blockchain Model of Cryptography and Privacy-Preserving Smart Contracts”, 2016 IEEE Symposium on Security and Privacy, pp. 839-858. [cited by applicant]
Kumaresan et al., “Synchronizable Fair Exchange”, Cryptology ePrint Archive, Oct. 7, 2020, pp. 1-56. [cited by applicant]
Pass et al., “Formal Abstractions for Attested Execution Secure Processors”, EUROCRYPT 2017, Part I, LNCS 10210, International Association for Cryptologic Research, 2017, pp. 260-289. [cited by applicant]
Ray, “Fair Multi-Party Computation on the Blockchain”, https://medium.com/hackernoon/fair-multi-party-computation-on-the-blockchain-67d13af13f65, Feb. 24, 2020, 4 pages. [cited by applicant]
Sinha et al., “LucidiTEE: A TEE-Blockchain System for Policy-Compliant Multiparty Computation with Fairness”, Apr. 17, 2019, 18 pages. [cited by applicant]
Soltani et al., “Practical Key Recovery Model For Self-Sovereign Identity Based Digital Wallets”, 2019 IEEE Intl Conference on Dependable, Autonomic and Secure Computing, Intl Conf on Pervasive Intelligence and Computin… [cited by applicant]
Xiao et al., “A Survey of Distributed Consensus Protocols for Blockchain Networks”, IEEE Communications Surveys & Tutorials, 2020, pp. 1-34, vol. 22, No. 2. [cited by applicant]
Yahmed et al., “Trust Execution Environment and Multi-party Computation for Blockchain e-Health Systems”, The Impact of Digital Technologies on Public Health in Developed and Developing Countries: 18th International Con… [cited by applicant]