System, method, and computer program product for privacy-preserving transaction validation mechanisms for smart contracts that are included in a ledger

  • US 9,992,028 B2
  • Filed: 12/03/2015
  • Issued: 06/05/2018
  • Est. Priority Date: 11/26/2015
  • Status: Active Grant
First Claim
Patent Images

1. A method of processing digital transactions in a network of computer systems comprising:

  • creating a digital message including;

    a specification of a set of validator computer systems to validate computer program instructions and results of execution of the computer program instructions, wherein each validator computer system is provided with a public signing key and private key pair and is associated with a blockchain network, andcomputer program instructions to be executed to perform at least one function relating to a digital transaction, wherein the computer program instructions are encrypted so that only validator computer systems in the specified set of validator computer systems have access to the computer program instructions; and

    a specification of a set of user computer systems to be parties to the transaction, wherein each user computer system is provided with a public signing key and private key pair, wherein only user computer systems in the specified set of user computer systems have access to the computer program instructions, access to the computer program instructions by each user computer system in the set of user computer systems being based on its respective public signing key and private key pair;

    signing a portion of the digital message including identities of the specified computer systems using a user-private system key, wherein the specified validator computer systems do not have access to the identities of the specified user computer systems;

    generating a copy of the digital message, including the signed portion, for each specified validator computer system and signing the copy for each specified validator computer system with that validator computer system'"'"'s public signing key;

    transmitting the digital messages over the network to at least the set of validator computer systems; and

    receiving a validation result from at least two of the set of validator computer systems, wherein the validation result is generated at a validator computer system of the set of validator computer systems by;

    decrypting the signed digital message using the respective validator computer system'"'"'s private key,executing the computer program instructions in the digital message;

    determining, based on the execution of the computer program instructions, whether the computer program instructions are valid, andgenerating the validation result indicating whether the computer program instructions are valid;

    determining that at least a threshold number of the validation results received from the at least two of the set of validator computer systems indicate that the computer program instructions are valid;

    determining that the digital message is valid based on the determination that at least the threshold number of validation results indicate that the computer program instructions are valid; and

    adding the digital message to a ledger of the blockchain network in response to determining that the digital message is valid.

View all claims
    ×
    ×

    Thank you for your feedback

    ×
    ×