Computer-implemented system and method for exchange of data

US12307447B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-12307447-B2
Application numberUS-202318368473-A
CountryUS
Kind codeB2
Filing dateSep 14, 2023
Priority dateMar 23, 2018
Publication dateMay 20, 2025
Grant dateMay 20, 2025

How to read this patent

A practical reading order for non-experts. Skip the full description unless you need deep technical detail.

  1. Title

    What the patent document calls the invention.

  2. Abstract

    A short plain-language summary of the technical disclosure.

  3. Assignees and inventors

    Who owns or filed the patent and who is credited as inventor.

  4. Key dates

    Filing, priority, publication, and grant dates set the timeline.

  5. First independent claim

    The legal scope of protection — read this for what is actually claimed.

  6. CPC / IPC classifications

    Technology tags used to group this patent with similar filings.

  7. Citations and related patents

    Prior art links and similar publications in this corpus.

Abstract

Official abstract text for this publication.

The invention relates to a method of enabling zero-knowledge proof or verification of a statement (S) for enabling exchange of data between a prover and a verifier, wherein the prover has access to first data on a first blockchain, and the verifier has access to second data on a second blockchain. In the method, a prover sends to a verifier a set of data including a statement, which for a given function circuit output and an elliptic curve point, the function circuit input is equal to the corresponding elliptic curve point multiplier. The statement can be that the prover knows a private key for an address on a blockchain network.

First claim

Opening claim text (preview).

What is claimed is: 1. A computer-implemented method for enabling zero-knowledge proof or verification of a statement (S) for enabling exchange of data between a prover and a verifier, wherein the prover has access to first data on a first blockchain, and the verifier has access to second data on a second blockchain, the method including: the prover generating a key-pair for the second blockchain, sending a public key (P A ) of said pair to the verifier, and retaining a private key (s_A) of said pair; the prover receiving a verifier's public key (P B ) for the first blockchain, said verifier having generated a key-pair for the first blockchain and retaining a private key (s B ) of said pair; the prover computing a function circuit output (h) based at least in part on a secure random number generated by the prover, and an input (P x ) corresponding to the secure random number; the prover sending a data set to the verifier, said data set including a zero-knowledge proof statement (S), one or more commitments, the input (P x ) and the function circuit output (h), wherein the data further comprises a vanity address, and wherein the zero-knowledge proof statement (S) comprises data indicative of a pre-image of the function circuit output (h) being equal to a private key used to generate the input (P x ), wherein the vanity address is obtained from a third party, wherein the prover sends a batch of wire to form a proving key (PrK); the prover creating a first blockchain transaction Tx A that transfers access to the first data to a common public key address (P c ), and broadcasts said transaction on a first blockchain network, said address defined by a sum of the input (P x ) and the verifier's public key (P B ) P C =P B +P x the prover verifying a second blockchain transaction Tx B , said transaction created and broadcast on a second blockchain network by the verifier after confirming inclusion of the first blockchain transaction Tx A in the first blockchain, said transaction transferring access to the second data to the prover's public key address (P A ) that is accessible by the prover using: a valid signature (s A ) for the prover's public key address (P A ), and a value (x) that is the function circuit input that determines the function circuit output (h), and the prover confirming the second blockchain transaction Tx B is included on the second blockchain and accessing the second data by providing their signature (s A ) and the value (x) that is the function circuit input of the function circuit output (h), thus enabling the verifier to observe the value (x) that is the function circuit input that determines the function circuit output (h) and access the first data by providing a signature using the private key for P C , which is s B +x from the homomorphic properties of elliptic curve point multiplication. 2. The method of claim 1 , wherein the vanity address comprises a string identifying a party. 3. A computer-implemented method according to claim 1 for enabling zero-knowledge proof or verification of a statement (S) in which a prover proves to a verifier that a statement is true while keeping a witness (w) to the statement a secret, the method including: the prover sending to the verifier: a statement (S) represented by an arithmetic circuit with m gates and n wires configured to implement a function circuit and determine whether for a given function circuit output (h) and an elliptic curve point (P), the function circuit input (s) to a wire of the function circuit is equal to a corresponding elliptic curve point multiplier (s); individual wire commitments and/or a batched commitment for wires of the circuit; a function circuit output (h); and the proving key (PrK), which enables the verifier to determine that the circuit is satisfied and calculate the elliptic curve point (P) and validate the statement, thus determining that the prover holds the witness (w) to the statement (S). 4. A computer-implemented method according to claim 3 , wherein the prover sends to the verifier a random value (x) for enabling the verifier to determine that the statement (S) is true and calculate the elliptic curve point (P). 5. A computer-implemented method according to claim 3 , wherein the commitment W i is: W i =Com ( w i , r i ), wherein Com is the commitment to the function circuit, w i is the wire value, r i is a random number—different for each wire commitment, and i is a wire denomination, such that Com ( w, r )= w×G+r×F, wherein F and G are elliptic curve points. 6. A computer-implemented method according to claim 5 , wherein the input for the wire n in the arithmetic circuit is: ko n =r×F+Σ i=1 n−1 w i ×K i , wherein ko n is a key-opening input, r is a random number, and F is a point on an elliptic curve. 7. A computer-implemented method according to claim 1 , wherein the prover additionally sends a fully opened commitment to at least one wire of the function circuit. 8. A computer-implemented method according to claim 1 , wherein the statement uses only one arithmetic circuit for the function circuit. 9. A computer-implemented method according to claim 1 , wherein the function circuit implements a hash function. 10. A non-transitory computer-readable storage medium having stored thereon executable instructions that, as a result of being executed by a processor of a computer system, cause the computer system to at least perform the computer-implemented method according to claim 1 . 11. An electronic device comprising: an interface device; one or more processor(s) coupled to the interface device; a memory coupled to the one or more processor(s), the memory having stored thereon computer executable instructions which, when executed, configure the one or more processor(s) to perform the method of claim 1 . 12. A node of a blockchain network, the node configured to perform the method of claim 1 . 13. A blockchain network having a node according to claim 12 .

Assignees

Inventors

Classifications

  • Hash functions, e.g. MD5, SHA, HMAC or f9 MAC · CPC title

  • to a system of files or objects, e.g. local or distributed file system or database · CPC title

  • H04L9/3221Primary

    interactive zero-knowledge proofs · CPC title

  • using hash chains, e.g. blockchains or hash trees · CPC title

  • Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s) (network architectures or network communication protocols for key distribution in a packet data network H04L63/062) · CPC title

Patent family

Related publications grouped by family.

External sources

Frequently asked questions

Answers are generated from the same data shown on this page.

What does patent US12307447B2 cover?
The invention relates to a method of enabling zero-knowledge proof or verification of a statement (S) for enabling exchange of data between a prover and a verifier, wherein the prover has access to first data on a first blockchain, and the verifier has access to second data on a second blockchain. In the method, a prover sends to a verifier a set of data including a statement, which for a given…
Who is the assignee on this patent?
Nchain Licensing Ag
What technology area does this patent fall under?
Primary CPC classification H04L9/3221. Mapped technology areas include Electricity.
When was this patent published?
Publication date Tue May 20 2025 00:00:00 GMT+0000 (Coordinated Universal Time) (B2). Legal status and post-grant events are not shown on this page.
What related patents are in patentsdb?
We list 12 related publications on this page (citations in our corpus or others sharing the same primary CPC).