Zero-knowledge proof payments using blockchain
AssigneeAmerican Express Travel Related Services Company, Inc.
InventorsANDRAS FERENCZI, DALLAS L. GALE, NILESH Y. JADHAV, HARISH R. NAIK
Life of this patent
Estimating the term…
Abstract
A zero knowledge proof purchase system and process using blockchain is disclosed. The system may comprise a customer device, a merchant system, an issuer system, and a blockchain network having a zero-knowledge proof (ZKP) smart contract. The system may implement a zero-knowledge proof algorithm haying a key generator function, a proof function, and a validate function. Each function may be configured to perform various tasks in the system to support and enable zero-knowledge proof purchases.
Claims20
A method, comprising:
- initiating a transaction with a first computing device via a zero-knowledge proof payment program, the transaction being between registered participants of the zero-knowledge proof payment program, the registered participants comprising an entity associated with the first computing device and a user;
- generating a payment hash associated with the user registered to participate in the zero-knowledge proof payment program, the payment hash being generated using a user hash associated with the user and a user nonce;
- generating a zero-knowledge proof based at least in part on the payment hash, the user hash and a proving key, the user hash and the proving key being issued by a second computing device associated with the zero-knowledge proof payment program;
- and
- transmitting the zero-knowledge proof to the first computing device.
A system, comprising:
- a computing device comprising a processor and a memory, the computing device being associated with an entity registered to participate in a zero-knowledge proof payment program;
- and
- machine-readable instructions stored in the memory, wherein, when executed by the processor, the machine-readable instructions cause the computing device to at least:
- receive a payment process request associated with an initiated transaction from a client device associated with a user registered to participate in the zero-knowledge proof payment program, the payment process request comprising a proof and user hash;
- invoke an application associated with the zero-knowledge proof payment program, the application being configured to verify the proof and adjust a user account balance and an entity account balance on a distributed ledger in response to verifying the proof;
- and
- complete the initiated transaction based at least in part on the user account balance and the entity account balance being adjusted.
A non-transitory, computer-readable medium, comprising machine-readable instructions that, when executed by a processor of a first computing device, cause the first computing device to at least:
- receive a zero-knowledge proof, a user hash associated with a user, an entity hash associated with an entity, a verification key, and a transaction amount from a second computing device associated with the entity;
- verify the user and the entity based at least in part on the verification key, the zero-knowledge proof, and the user hash;
- adjust a user account balance in a distributed ledger based at least in part on the transaction amount, the user account balance being stored in the distributed ledger according to with the user hash;
- adjust an entity account balance in a distributed ledger based at least in part on the transaction amount, the entity account balance being stored in the distributed ledger according to the entity hash;
- and
- write a success notification to the distributed ledger, the success notification comprising data indicating that a payment process was successfully completed.
Dependencies are inferred from the claim text.