EP3769467B1

Computer-implemented system and method for exchange of data

Abstract

This record has no abstract on file.

EP3769467B1, drawing sheet 1
Sheet 1 of 134

Term

12.5 yearsleft in the term

Expires 18 March 2039.

  1. Priority
  2. Filed
  3. Granted
  4. Today
  5. Expires

18 claims: 5 independent, 13 dependent

  1. 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 the public key ( P A ) of said pair to the verifier, and retaining the 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 the private key ( s B ) of said pair;the prover sending a data set to the verifier, said data set including a zero-knowledge proof statement (S), one or more commitments, an input (P x ) and a function circuit output (h);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 broadcasting said transaction on the 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 broadcasted on the second blockchain network by the verifier after confirming the 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 a private key corresponding to the common public key address P C , which is s B + x from the homomorphic properties of elliptic curve point multiplication.
  2. 8
    A computer-implemented method according to any of claims 3 to 7, 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 the wire denomination, such that Com w r = w × G + r × F wherein F and G are elliptic curve points.
  3. 15
    A computer readable storage medium comprising computer-executable instructions which, when executed, configure a processor to perform the method of any one of claims 1 to 14.
  4. 16
    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 any one of claims 1 to 14.
  5. 17
    A node of a blockchain network, the node configured to perform the method of any one of claims 1 to 14.