Garbling scheme-based secure multi-party computation (MPC)
AssigneeSoda Bubble Labs LTD
InventorsAvishay Yanai, Meital Levy
Life of this patent
Estimating the term…
Abstract
A novel secure multi-party computation (MPC) protocol that uses a cryptographic primitive known as a garbling scheme is provided. In certain embodiments, this protocol enables a set of N parties (such as nodes in a blockchain network) to execute an arbitrary function (such as a smart contract method) on confidential data, without revealing that confidential data to the parties.
Claims19
A method performed by a set of evaluators for executing a function using a garbling scheme-based secure multi-party computation (MPC) protocol, the method comprising, by each evaluator:
- obtaining a garbled circuit representing the function, a secret share of encoding information for the garbled circuit, and a secret share of decoding information for the garbled circuit;
- providing the secret share of the encoding information and a secret share of an input to the function to an encoding functionality;
- receiving a garbled version of the input from the encoding functionality;
- and
- evaluating the garbled circuit using the garbled version of the input, wherein the evaluating results in a garbled output, wherein the garbled output is a garbled version of a result generated by the function when the function is executed using the input, wherein the set of evaluators are execution nodes in a blockchain network, wherein the function is a smart contract method that is invoked by a user of the blockchain network, and wherein the input to the function is private to the user.
A non-transitory computer readable storage medium having stored thereon program code executable by a computer system acting as an evaluator in a set of evaluators implementing a garbling scheme-based secure multi-party computation (MPC) protocol, the program code embodying a method comprising:
- obtaining a garbled circuit representing the function, a secret share of encoding information for the garbled circuit, and a secret share of decoding information for the garbled circuit;
- providing the secret share of the encoding information and a secret share of an input to the function to an encoding functionality;
- receiving a garbled version of the input from the encoding functionality;
- and
- evaluating the garbled circuit using the garbled version of the input, wherein the evaluating results in a garbled output, wherein the garbled output is a garbled version of a result generated by the function when the function is executed using the input, wherein the set of evaluators are execution nodes in a blockchain network, wherein the function is a smart contract method that is invoked by a user of the blockchain network, and wherein the input to the function is private to the user.
A computer system acting as an evaluator in a set of evaluators, the computer system comprising:
- one or more processors;
- and
- a non-transitory computer readable medium having stored thereon program code that, when executed, causes the one or more processors to:
- obtain a garbled circuit representing the function, a secret share of encoding information for the garbled circuit, and a secret share of decoding information for the garbled circuit;
- provide the secret share of the encoding information and a secret share of an input to the function to an encoding functionality;
- receive a garbled version of the input from the encoding functionality;
- and
- evaluate the garbled circuit using the garbled version of the input, wherein the evaluating results in a garbled output, wherein the garbled output is a garbled version of a result generated by the function when the function is executed using the input, wherein the set of evaluators are execution nodes in a blockchain network, wherein the function is a smart contract method that is invoked by a user of the blockchain network, and wherein the input to the function is private to the user.
Dependencies are inferred from the claim text.