Back to results
US 12,307,453 B2Granted
Cryptographic encryption protocol for data types and values
AssigneePolymath Inc.
InventorsAram Jivanyan, Jesse Lancaster
Life of this patent
Estimating the term…
Abstract
Disclosed herein is a means that takes advantage of the immutable security provided by blockchain data structures and further implements measures that enable data in blockchain records to remain private to their respective users via the use of multiple ciphertexts that are subjected to zero-knowledge proofs and manipulated homomorphically. Ciphertexts make use of cryptographic key pair encryption where participants make use of public keys to encrypt data intended for one another alone.
Claims17
A method comprising:
- initiating a cryptographic blockchain exchange between a first user and a second user, wherein the first user and the second user each have a respective cryptographic key pair including a public key and a private key;
- establishing a first user profile associated with the first user that includes a first account ciphertext and a second account ciphertext, wherein the first account ciphertext encrypts an amount associated with the first user profile and the second account ciphertext encrypts an asset type associated with the first user profile;
- establishing a second user profile associated with the second user that includes a third account ciphertext, wherein the third account ciphertext encrypts an asset type associated with the second user profile;
- providing to the cryptographic blockchain exchange a first operand, a second operand, and a third operand, wherein the first and second operands originate from different respective sources;
- encrypting the first operand with a first public key associated with the first user, thereby generating a first ciphertext, wherein the first operand is associated with an amount of the cryptographic blockchain exchange;
- encrypting the second operand with a second public key associated with the second user, thereby generating a second ciphertext, wherein the second operand is associated with an amount of the cryptographic blockchain exchange;
- encrypting the third operand with the second public key associated with the second user, thereby generating a third ciphertext, wherein the third operand is associated with an asset type of the cryptographic blockchain exchange;
- confirming, via zero-knowledge proof, that the first ciphertext and the second ciphertext have matching plaintext amounts;
- identifying, via zero-knowledge proof, that the third ciphertext and the second account ciphertext associated with the first user have matching plaintext asset types;
- verifying, via zero-knowledge proof, that the third ciphertext and the third account ciphertext associated with the second user have matching plaintext asset types;
- in response to said confirming, identifying, and verifying, appending the cryptographic blockchain exchange to an immutable public ledger with the first ciphertext, the second ciphertext, and the third ciphertext;
- and
- in response to identifying the third ciphertext has a matching plaintext asset type with the second account ciphertext associated with the first user, and verifying the third ciphertext has a matching plaintext asset type with the third account ciphertext associated with the second user, executing the cryptographic blockchain exchange such that a first value associated with the amount of the first operand is shifted from the first user profile to the second user profile.
10 more elements
A method comprising:
- initiating a cryptographic blockchain exchange between a first user and a second user, wherein the first user and the second user each having a respective cryptographic key pair including a public key and a private key, the cryptographic blockchain exchange including a first operand, a second operand, and a third operand wherein the first and second operands are associated with an amount of the cryptographic blockchain exchange and the third operand is associated with an asset type of the cryptographic blockchain exchange;
- establishing a first account asset type ciphertext associated with the first user, wherein the first account asset type ciphertext encrypts an asset type associated with the first user;
- establishing a second account asset type ciphertext associated with the second user, wherein the second account asset type ciphertext encrypts an asset type associated with the second user;
- providing to the cryptographic blockchain exchange the first operand, the second operand, and the third operand, wherein the first and second operands originate from different respective sources;
- encrypting the first operand with a first public key associated with the first user, thereby generating a first ciphertext;
- encrypting the second operand and the third operand with a second public key associated with the second user, thereby generating a second ciphertext and a third ciphertext respectively;
- confirming, via zero-knowledge proof, that the first ciphertext and the second ciphertext have matching plaintext values;
- identifying, via zero-knowledge proof, that the third ciphertext and the first account asset type ciphertext associated with the first user have matching plaintext asset types;
- verifying, via zero-knowledge proof, that the third ciphertext and the second account ciphertext associated with the second user have matching plaintext asset types;
- and
- in response to said confirming, identifying, and verifying, executing the cryptographic blockchain exchange on an immutable public ledger wherein the first ciphertext, the second ciphertext, and the third ciphertext are published, and wherein the amount of the cryptographic blockchain exchange is transferred from the first user to the second user.
8 more elements
A system comprising:
- a first node on a cryptographic network, the first node associated with a first user having a first cryptographic wallet and wherein the first user is identified by a first cryptographic keypair including a first public key and a first private key;
- a second node on a cryptographic network, the second node associated with a second user having a second cryptographic wallet and wherein the second user is identified by a second cryptographic keypair including a second public key and a second private key;
- and
- a distributed, immutable public ledger configured to store cryptographic transaction records;
- wherein the first node is configured to initiate a cryptographic blockchain exchange between the first user and the second user, and wherein the first node is configured to receive values associated with a first operand, a second operand, and a third operand and the values associated with the first operand and the second operand originate from different users, wherein the first and second operands are associated with an amount of the cryptographic blockchain exchange and the third operand is associated with an asset type of the cryptographic blockchain exchange;
- wherein the first node is configured to establish a first account asset type ciphertext associated with the first user, wherein the first account asset type ciphertext encrypts an asset type associated with the first cryptographic wallet;
- wherein the second node is configured to establish a second account asset type ciphertext associated with the second user, wherein the second account asset type ciphertext encrypts an asset type associated with the second cryptographic wallet;
- wherein the first node is configured to encrypt the first operand with the first public key thereby generating a first ciphertext, and encrypt the second operand and the third operand with the second public key thereby generating a second ciphertext and a third ciphertext respectively, and to confirm, via zero-knowledge proof, that the first ciphertext and the second ciphertext have matching plaintext values, and to identify, via zero-knowledge proof, that the third ciphertext and the first account asset type ciphertext have matching plaintext asset types;
- wherein the second node is configured to verify that the third ciphertext and the second account asset type ciphertext have matching plaintext asset types;
- and
- wherein the distributed immutable public ledger is configured to execute the cryptographic blockchain exchange in response to said verification by the second node, and wherein the distributed immutable public ledger is configured to publish the first ciphertext, the second ciphertext, and the third ciphertext, and wherein the amount of the cryptographic blockchain exchange is transferred from the first cryptographic wallet to the second cryptographic wallet.
8 more elements
Dependencies are inferred from the claim text.