BLOCKCHAIN DATA PROTECTION BASED ON GENERIC ACCOUNT MODEL AND HOMOMORPHIC ENCRYPTION
First Claim
1. A computer-implemented method performed by a consensus node for validating a transaction between a first node and a second node within a blockchain network, the method comprising:
- receiving transaction data associated with the transaction, the transaction data comprising;
data representative of a plurality of assets, a first commitment that hides a first random number and a transaction amount of the transaction, a second commitment that hides a second random number and a change calculated based on deducting the transaction amount from a total value of the plurality of assets, the transaction amount and a third random number both encrypted by a public key of the second node based on a probabilistic homomorphic encryption (HE) scheme, the change and a fourth random number both encrypted by a public key of the first node based on the probabilistic HE scheme, one or more range proofs, a zero-knowledge proof (ZKP), and a digital signature generated based on a private key corresponding to the public key of the first node;
verifying the digital signature based on the public key of the first node;
determining that the one or more range proofs prove that the transaction amount and the change are each greater than, or equal to, zero;
determining that the total value of the plurality of assets equals a sum of the transaction amount and the change; and
determining, based on the ZKP, that the transaction is valid by determining that the first random number is equal to the third random number, the second random number is equal to the fourth random number, and the transaction amount hidden in the first commitment is equal to the transaction amount encrypted by the public key of the second node.
3 Assignments
0 Petitions
Accused Products
Abstract
Implementations of the specification include receiving transaction data associated with a transaction, the transaction data comprising: data representative of a plurality of assets, a first commitment that hides a first random number and a transaction amount, a second commitment that hides a second random number and a change, the transaction amount and a third random number both encrypted by a public key of the second node, the change and a fourth random number both encrypted by a public key of the first node, and a zero-knowledge proof (ZKP); determining, based on the ZKP, whether the transaction is valid based on determining if the first random number is equal to the third random number, the second random number is equal to the fourth random number, and the transaction amount hidden in the first commitment is equal to the transaction amount encrypted by the public key of the second node.
-
Citations
30 Claims
-
1. A computer-implemented method performed by a consensus node for validating a transaction between a first node and a second node within a blockchain network, the method comprising:
-
receiving transaction data associated with the transaction, the transaction data comprising;
data representative of a plurality of assets, a first commitment that hides a first random number and a transaction amount of the transaction, a second commitment that hides a second random number and a change calculated based on deducting the transaction amount from a total value of the plurality of assets, the transaction amount and a third random number both encrypted by a public key of the second node based on a probabilistic homomorphic encryption (HE) scheme, the change and a fourth random number both encrypted by a public key of the first node based on the probabilistic HE scheme, one or more range proofs, a zero-knowledge proof (ZKP), and a digital signature generated based on a private key corresponding to the public key of the first node;verifying the digital signature based on the public key of the first node; determining that the one or more range proofs prove that the transaction amount and the change are each greater than, or equal to, zero; determining that the total value of the plurality of assets equals a sum of the transaction amount and the change; and determining, based on the ZKP, that the transaction is valid by determining that the first random number is equal to the third random number, the second random number is equal to the fourth random number, and the transaction amount hidden in the first commitment is equal to the transaction amount encrypted by the public key of the second node. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10)
-
-
11. A non-transitory, computer-readable medium storing one or more instructions executable by a computer system to perform operations comprising:
-
receiving transaction data associated with a transaction between a first node and a second node within a blockchain network, the transaction data comprising;
data representative of a plurality of assets, a first commitment that hides a first random number and a transaction amount of the transaction, a second commitment that hides a second random number and a change calculated based on deducting the transaction amount from a total value of the plurality of assets, the transaction amount and a third random number both encrypted by a public key of the second node based on a probabilistic homomorphic encryption (HE) scheme, the change and a fourth random number both encrypted by a public key of the first node based on the probabilistic HE scheme, one or more range proofs, a zero-knowledge proof (ZKP), and a digital signature generated based on a private key corresponding to the public key of the first node;verifying the digital signature based on the public key of the first node; determining that the one or more range proofs prove that the transaction amount and the change are each greater than, or equal to, zero; determining that the total value of the plurality of assets equals a sum of the transaction amount and the change; and determining, based on the ZKP, that the transaction is valid by determining that the first random number is equal to the third random number, the second random number is equal to the fourth random number, and the transaction amount hidden in the first commitment is equal to the transaction amount encrypted by the public key of the second node. - View Dependent Claims (12, 13, 14, 15, 16, 17, 18, 19, 20)
-
-
21. A computer-implemented system, comprising:
-
one or more computers; and one or more computer memory devices interoperably coupled with the one or more computers and having tangible, non-transitory, machine-readable media storing one or more instructions that, when executed by the one or more computers, perform one or more operations comprising; receiving transaction data associated with a transaction between a first node and a second node within a blockchain network, the transaction data comprising;
data representative of a plurality of assets, a first commitment that hides a first random number and a transaction amount of the transaction, a second commitment that hides a second random number and a change calculated based on deducting the transaction amount from a total value of the plurality of assets, the transaction amount and a third random number both encrypted by a public key of the second node based on a probabilistic homomorphic encryption (HE) scheme, the change and a fourth random number both encrypted by a public key of the first node based on the probabilistic HE scheme, one or more range proofs, a zero-knowledge proof (ZKP), and a digital signature generated based on a private key corresponding to the public key of the first node;verifying the digital signature based on the public key of the first node; determining that the one or more range proofs prove that the transaction amount and the change are each greater than, or equal to, zero; determining that the total value of the plurality of assets equals a sum of the transaction amount and the change; and determining, based on the ZKP, that the transaction is valid by determining that the first random number is equal to the third random number, the second random number is equal to the fourth random number, and the transaction amount hidden in the first commitment is equal to the transaction amount encrypted by the public key of the second node. - View Dependent Claims (22, 23, 24, 25, 26, 27, 28, 29, 30)
-
Specification