BLOCKCHAIN SYSTEM FOR CONFIDENTIAL AND ANONYMOUS SMART CONTRACTS
First Claim
Patent Images
1. A method comprising:
- storing, by a computing device, a set of entries representing a state of a platform smart contract in a blockchain network, the set of entries including at least;
a first entry comprising a first public key associated with a first account, and a first ciphertext representing a first balance of the first account;
a second entry comprising a second public key associated with a second account, and a second ciphertext representing a second balance of the second account; and
a third entry comprising a third public key associated with a third account, and a third ciphertext representing a third balance of the third account;
locking, by the platform smart contract executing on the computing device, at least the first, second, and third accounts to an application smart contract;
executing, by the computing device, the application smart contract to perform one or more transactions causing the first balance to be decremented by a first amount and the second balance to be incremented by a second amount;
unlocking, by the application smart contract executing on the computing device, at least the first, second, and third accounts from the application smart contract;
updating, by the computing device, the first ciphertext by adding a first operand ciphertext to the first ciphertext, the first operand ciphertext being generated by encrypting a negative of the first amount using the first public key; and
updating, by the computing device, the second ciphertext by adding a second operand ciphertext to the second ciphertext, the second operand ciphertext being generated by encrypting the second amount using the second public key.
3 Assignments
0 Petitions
Accused Products
Abstract
Blockchain-based, smart contract platforms have great promise to remove trust and add transparency to distributed applications. However, this benefit often comes at the cost of greatly reduced privacy. Techniques for implementing a privacy-preserving smart contract is described. The system can keep accounts private while not losing functionality and with only a limited performance overhead. This is achieved by building a confidential and anonymous token on top of a cryptocurrency. Multiple complex applications can also be built using the smart contract system.
171 Citations
20 Claims
-
1. A method comprising:
-
storing, by a computing device, a set of entries representing a state of a platform smart contract in a blockchain network, the set of entries including at least; a first entry comprising a first public key associated with a first account, and a first ciphertext representing a first balance of the first account; a second entry comprising a second public key associated with a second account, and a second ciphertext representing a second balance of the second account; and a third entry comprising a third public key associated with a third account, and a third ciphertext representing a third balance of the third account; locking, by the platform smart contract executing on the computing device, at least the first, second, and third accounts to an application smart contract; executing, by the computing device, the application smart contract to perform one or more transactions causing the first balance to be decremented by a first amount and the second balance to be incremented by a second amount; unlocking, by the application smart contract executing on the computing device, at least the first, second, and third accounts from the application smart contract; updating, by the computing device, the first ciphertext by adding a first operand ciphertext to the first ciphertext, the first operand ciphertext being generated by encrypting a negative of the first amount using the first public key; and updating, by the computing device, the second ciphertext by adding a second operand ciphertext to the second ciphertext, the second operand ciphertext being generated by encrypting the second amount using the second public key. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10)
-
-
11. A computing system comprising:
-
a processor; and a memory storing executable instructions, which when executed by the processor, causes the computing system to perform operations including; storing a set of entries representing a state of a platform smart contract in a blockchain network, the set of entries including at least; a first entry comprising a first public key associated with a first account, and a first ciphertext representing a first balance of the first account; a second entry comprising a second public key associated with a second account, and a second ciphertext representing a second balance of the second account; and a third entry comprising a third public key associated with a third account, and a third ciphertext representing a third balance of the third account; locking, by the platform smart contract, at least the first, second, and third accounts to an application smart contract; executing the application smart contract to perform one or more transactions causing the first balance to be decremented by a first amount and the second balance to be incremented by a second amount; unlocking, by the application smart contract, at least the first, second, and third accounts from the application smart contract; updating the first ciphertext by adding a first operand ciphertext to the first ciphertext, the first operand ciphertext being generated by encrypting a negative of the first amount using the first public key; and updating the second ciphertext by adding a second operand ciphertext to the second ciphertext, the second operand ciphertext being generated by encrypting the second amount using the second public key. - View Dependent Claims (12, 13, 14, 15, 16, 17, 18, 19, 20)
-
Specification