WO2024062223A1 - Nœud de minage, et produit-programme informatique et procédé de fonctionnement associés destinés à être utilisés dans l'ajout d'un enregistrement de bloc à une chaîne de blocs - Google Patents

Nœud de minage, et produit-programme informatique et procédé de fonctionnement associés destinés à être utilisés dans l'ajout d'un enregistrement de bloc à une chaîne de blocs Download PDF

Info

Publication number
WO2024062223A1
WO2024062223A1 PCT/GB2023/052414 GB2023052414W WO2024062223A1 WO 2024062223 A1 WO2024062223 A1 WO 2024062223A1 GB 2023052414 W GB2023052414 W GB 2023052414W WO 2024062223 A1 WO2024062223 A1 WO 2024062223A1
Authority
WO
WIPO (PCT)
Prior art keywords
metadata
data
commitment
mining node
mining
Prior art date
Application number
PCT/GB2023/052414
Other languages
English (en)
Inventor
Roxana Iuliana TEODOR
Peter Damian ASHTON
Remy Lyon
Siamak Fayyaz Shahandashti
Original Assignee
Veiovia Limited
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Priority claimed from US17/948,337 external-priority patent/US20240095251A1/en
Priority claimed from GB2213758.2A external-priority patent/GB2622596A/en
Priority claimed from US17/948,355 external-priority patent/US20240095730A1/en
Priority claimed from US17/948,347 external-priority patent/US11652650B1/en
Application filed by Veiovia Limited filed Critical Veiovia Limited
Publication of WO2024062223A1 publication Critical patent/WO2024062223A1/fr

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/62Protecting access to data via a platform, e.g. using keys or access control rules
    • G06F21/6218Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database
    • G06F21/6245Protecting personal data, e.g. for financial or medical purposes
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/12Applying verification of the received information
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/50Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using hash chains, e.g. blockchains or hash trees
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2209/00Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
    • H04L2209/56Financial cryptography, e.g. electronic payment or e-cash

Definitions

  • the present disclosure relates to mining nodes, and computer program products and methods of operation thereof for establishing an externally verifiable proof of work for use in appending a block record to a blockchain.
  • a blockchain sometimes known as a distributed ledger or a distributed consensus ledger, is a type of distributed database.
  • a blockchain enables tamper-resistant and decentralised storage of data.
  • a copy of the ledger/ blockchain can be stored on each of multiple nodes of a blockchain network.
  • a blockchain comprises a plurality of block records, also known as blocks or data structure blocks.
  • a block record of a blockchain typically comprises payload data (i.e. the data recorded in that block record for storage in the blockchain), a unique identifier of a preceding block record of the blockchain, and a proof-of-work (POW).
  • payload data i.e. the data recorded in that block record for storage in the blockchain
  • PW proof-of-work
  • a block record typically comprises payload data in the form of data and/or computerexecutable instructions.
  • the blockchain is used, for example, to record instructions such as transactions, then a complete history of transactions can be established on the ledger.
  • Each transaction is a data structure that encodes the transfer of control of a digital asset from one party of a blockchain system to another.
  • the blockchain is used, for example, to record computer-executable instructions (often referred to as a “smart contract” - a computerized protocol that executes the terms of a machine-readable contract or agreement) then function calls to the computer-executable instructions can be used to initiate a computer-executable process.
  • a smart contract can process inputs in order to produce results, which can then cause actions to be performed based on those results.
  • Each block record typically contains a link to a preceding block record, for example, a hash value of the information in the preceding block record or a hash value of a header of the previous block record.
  • the hash value is typically determined by using the information of the preceding block as part of the input to a hash function which outputs the hash value.
  • Each block record links back to the preceding block record. In this way, once validated, a block record will be linked to a preceding block record and, through that preceding block record, to each earlier block record in turn back to a genesis block record - the only block record which does not contain a link to a preceding block record.
  • the hash value is typically simple to compute, there may be one or more validity requirements imposed on the hash value.
  • the hash value is normally based on a special type of mathematical function that is not reversible and so one cannot readily know which input will give a desired output without trialling numerous inputs.
  • Each block record typically also comprises a proof-of-work (POW).
  • POW is a piece of data which is difficult to produce but easy for others (that is, other users or other computing devices) to verify and which satisfies certain validity requirements.
  • Each block record thereby provides trustable, reliable evidence that work has been done generating it. That work may be, for example an expenditure of a significant amount of processing resources such as the time taken to compute some output.
  • each block includes a header having a hash value for the previous block.
  • a miner To create a new block, a miner must find a nonce value which, when included as part of the input to the hash function, results in a hash value which meets a certain validity requirement, in particular a hash value that is below a predetermined threshold value.
  • a miner typically guesses a nonce value and then checks that, when the guessed nonce value is combined with other fixed data including the hash of the preceding block and input into the hash function, the hash function outputs a hash value that is below the predetermined threshold value.
  • the miner does work in expending computational resources to find a suitable nonce value satisfying a validity requirement.
  • a second miner can check that a particular block is valid by inputting the same information including the declared nonce value into the hash function and checking that the output is valid.
  • the declared nonce thus serves as a proof-of-work for the relevant block.
  • an authority server provides data packages for processing to mining nodes in a mining network.
  • the data packages each comprise a plurality of datasets.
  • Each of the datasets comprises signal information.
  • a mining node can analyse the data package to convert the signal information of each dataset to a corresponding data output by performing computational work.
  • the mining node then communicates the plurality of data outputs to an authority server, the plurality of data outputs for use in establishing a proof-of-work for appending a block record to the blockchain.
  • the authority server may generate a signed cryptographically generated datum (such as a “cryptotoken”) which is provided to the mining node.
  • the signed cryptotoken can then be used by the mining node as a proof of work, by which the mining node can create a block record that can be successfully appended to the blockchain and communicated throughout the mining network for duplication.
  • the signed token may be intrinsically linked to the specific work performed by the mining node by, for example, containing a signed hash of the analysed data package.
  • the authority server may send the same data package to plural different mining nodes for independent processing, with the data outputs produced by each being differently encoded using a different substitution cipher where the key is determined by the content of the data package, and the ID of the miner. As a result, the mining nodes will generate different ciphers, stopping them colluding directly to submit fake results.
  • the authority server may decode the results received from the mining nodes, and may check that the data outputs provided by (at least a threshold number of) the other mining nodes corroborate against each other before signing a cryptotoken for the mining nodes.
  • the proof of work for appending a block record to a blockchain should ideally be testable by any observer to verify that the work has actually been performed and that the requirements for appending a block record to the blockchain have been satisfied.
  • the declared nonce value providing the proof of work can be tested by any mining node by using the hash function to determine whether or not it does produce an output value below the requisite level.
  • the proof of work is prima facie and independently verifiable evidence that the work needed has been successfully completed.
  • the proof of work does not itself provide prima facie and independently verifiable evidence that the participating mining nodes have successfully completed the computational work in such a way that the data outputs corroborate against each other.
  • the mining nodes have to trust the authority server's validation of the data outputs from the mining nodes in the creation of the proof of work.
  • the mining nodes have no choice but to trust the authority server's validation in the generation of the proof of work.
  • the blockchain implementation more closely resembles a proof-of-authority system in which the consensus mechanism relies on one or more trusted nodes in the blockchain network (i.e. the authority servers).
  • the systems and methods described herein may be applied in a wide range of practical applications.
  • a blockchain facilitates information sharing and asset management throughout decentralization. There may be a reduction in the cost burden associated with decentralization.
  • the systems and methods disclosed herein can improve current blockchain technology protocols by establishing an externally verifiable proof of work completed by the mining node to generate a private data output. This serves as immutable evidence of computational work, wherein the proof of work is used in appending a block record to a blockchain.
  • mining nodes may be configured to post metadata commitment values and validation data to a commitment database.
  • the entries in the commitment database may, by cross-validation, be usable to check that other mining nodes have processed the same data package and obtain the same private data output. This evidence allows the mining nodes to demonstrate that they have successfully completed the analysis work on the data package, without colluding with other mining nodes, and without needing to reveal the private data output or having to trust a data broker server to validate the work.
  • the present disclosure provides a method, performed in a mining node in a mining network, for establishing an externally verifiable proof of work as immutable evidence of computational work completed by the mining node to generate a private data output, the proof of work being for use in appending a block record to a blockchain, the method comprising: receiving from a data broker server a data package comprising signal information to be kept private by the mining node; analysing, by computational work, the data package to convert the signal information to a corresponding private data output also to be kept private by the mining node; as a result of the analysing, generating metadata characteristic of the analysis of the corresponding signal information, the metadata being independent of the private data output generated by the analysis; using a cryptographic commitment scheme to generate, from a combination of the metadata and validation data, a metadata commitment value for the data package as analysed by the mining node; communicating the metadata commitment value and the validation data to a commitment database server permitting external access to the metadata commitment value for use in providing an
  • the present disclosure provides a mining node for establishing an externally verifiable proof of work as immutable evidence of computational work completed by the mining node to generate a private data output, the proof of work being for use in appending a block record to a blockchain
  • the mining node comprising: a processor; and a memory storing instructions that, when executed by the processor, configure the mining node to: receive from a data broker server a data package comprising signal information to be kept private by the mining node; analyse, by computational work, the data package to convert the signal information to a corresponding private data output also to be kept private by the mining node; as a result of the analysing, generate metadata characteristic of the analysis of the corresponding signal information, the metadata being independent of the private data output generated by the analysis; use a cryptographic commitment scheme to generate, from a combination of the metadata and validation data, a metadata commitment value for the data package as analysed by the mining node; communicate the metadata commitment value and the validation data to a commitment database server
  • the present disclosure provides a computer program product, optionally embodied in a non-transitory computer-readable storage medium, the computer program product including instructions that when executed by a computer, cause the computer to: receive from a data broker server a data package comprising signal information to be kept private by the mining node; analyse, by computational work, the data package to convert the signal information to a corresponding private data output also to be kept private by the mining node; as a result of the analysing, generate metadata characteristic of the analysis of the corresponding signal information, the metadata being independent of the private data output generated by the analysis; use a cryptographic commitment scheme to generate, from a combination of the metadata and validation data, a metadata commitment value for the data package as analysed by the mining node; communicate the metadata commitment value and the validation data to a commitment database server permitting external access to the metadata commitment value for use in providing an externally verifiable proof of work.
  • the method may further comprise: validating, using a second metadata commitment value received from the commitment database server, the second metadata commitment value being generated by a second mining node by analysing the same data package, that a second mining node has produced matching metadata as a result of the analysis performed by the second mining node; and based on the validating, communicating the metadata for the data package to the commitment database server permitting external access to the metadata for durable storage therein.
  • the validating may further comprise: receiving, from the commitment database server, after a second mining node has completed analysing the same data package, second metadata commitment value and second validation data for the data package generated by the second mining node and communicated to the commitment database server; using a cryptographic commitment scheme to generate, from a combination of the metadata for the data package generated by the mining node and the received second validation data, a recreated second metadata commitment value for the data package; comparing the recreated second metadata commitment value and the received second metadata commitment value generated by the second mining node; and if the comparing indicates the recreated second metadata commitment value and the received second metadata commitment value match, validating that the second mining node has successfully performed the same analysis of the data package to generate the same metadata and the same private data output.
  • the method may further comprise: only communicating the metadata for the data package to the commitment database server if the second metadata commitment value validates.
  • mining nodes can check and validate whether other mining nodes in the mining network have analysed the same data package and produced by their analysis the same metadata. This is achieved by the mining node accessing the metadata commitment values posted by other mining nodes to the commitment database, and attempting to recreate, using the cryptographic commitment scheme, that metadata commitment value using the metadata generated by the mining node in its own analysis, and the validation data posted to the commitment database together with the metadata commitment value.
  • the mining node will be able to demonstrate that it has successfully completed the analysis and that this corroborates against another mining node, with which it cannot have colluded.
  • the mining node can then request the issuance of a cryptotoken, for example from the data broker server, with the metadata commitment value entry posted in the commitment database acting as an externally verifiable proof of work without that private data output needing to be revealed.
  • the mining node posts to the commitment database the metadata it generated
  • any node having access to the commitment database can validate the work completed by the mining node using the cryptographic commitment scheme based on the combination of the posted metadata and validation data, and by comparing the recreated metadata commitment value with the posted metadata commitment value.
  • the commitment database entry by the mining node acts as an externally verifiable proof of work for the analysis of the data package performed at the mining node, without the private data output needing to be revealed.
  • the commitment database can support a proof of work for such a blockchain implementation, without having to rely solely on the authority of the data broker server.
  • mining nodes can be caused to perform computational work to produce private data outputs, in a way in which collusion between the mining nodes is prevented, while also allowing non-colluding mining nodes to cross check their analysis, and post an externally verifiable proof of work.
  • At least one further of mining node may been sent the data package for analysis, and the method may further comprise: validating, using one or more further metadata commitment values received from the commitment database server, the or each further metadata commitment value having been generated by a respective at least one further mining node, that all of the at least one further mining nodes have produced matching metadata as a result of their analysis; and based on the validating, only communicating the metadata for the data package to the commitment database server if a minimum number of the received metadata commitment values validate.
  • the same data package can be analysed by two or more, or at least three, mining nodes, with the results of the analysis by each mining node being externally verifiable.
  • the external access from the commitment database server to the or each metadata commitment value and the or each respective validation data for each metadata commitment value, and the subsequently revealed metadata may allow a proof of work by verification that each metadata commitment value produced by each mining node was produced using the cryptographic commitment scheme from a combination of their respective validation data and the matching metadata produced by the analysis performed at each mining node.
  • the proof of work may be validated without reference to the private data output.
  • the method may further comprise communicating the private data output for the data package to the data broker server.
  • the method may further comprise: creating a block record for the blockchain using a reference to at least the metadata commitment value stored at the commitment database server as the proof of work; and communicating the created block record to at least another mining node of the mining network.
  • the metadata commitment value may serve as a proof of work.
  • creating a block record for the blockchain may include: consulting a version of the blockchain stored in one or more machine readable storage media to extract the unique identifier of the preceding block of the blockchain; and retrieving payload data from a data pool of unprocessed payload data.
  • the validation data may comprise one or more of: a mining node identifier for the mining node performing the analysis of the data package; a data package identifier for the data package, as assigned by the data broker server; a cryptographic nonce.
  • the metadata commitment value for the identical metadata output for the same data package may be different for each mining node.
  • the data package identifier assigned by the data broker server for the same data package may be different for each mining node assigned with analysing the data package. This can prevent collusion between mining nodes as they cannot identify other mining nodes processing the same data package.
  • the mining nodes may watch the commitment database and attempt to validate metadata commitment values posted thereto by cross-checking against the metadata produced by the mining node in as-yet unvalidated data packages to attempt to find identical metadata produced by other mining nodes that may have analysed the same data package and produced the same metadata.
  • using the cryptographic commitment scheme may comprise generating a hash of a combination of the metadata generated by the mining node and the validation data using a cryptographic hash function.
  • a suitable cryptographic hash function has the properties needed to provide a suitable cryptographic commitment scheme.
  • the data package may comprise at least one data entity, wherein the or each data entity comprises signal information, the signal information of the or each data entity being analysed to convert it to a corresponding private data output, the metadata commitment value being a hash of a combination of the metadata for all data entities in the data package and the validation data.
  • the signal information may be representative of a polynucleotide or polypeptide sequence; and converting the signal information to a corresponding private data output may comprise converting the signal information to a corresponding read, each read of the plurality of reads describing the respective polynucleotide or polypeptide sequence.
  • the polynucleotide sequence may comprise a deoxyribonucleic acid, DNA, sequence or a ribonucleic acid, RNA, sequence.
  • the signal information may comprise raw data produced by a nanopore sequencer.
  • the signal information may comprise current information corresponding to current flow through a nanopore and a polynucleotide or polypeptide translocating through the nanopore.
  • the method may provide a mechanism for mining nodes to analyse signal information output from a genetic sequencer to generate reads of a polynucleotide or polypeptide sequence, and for the computational work necessary to generate the polynucleotide or polypeptide sequence to be externally verifiable such that a proof of work can be generated and used for appending a block record to a block chain.
  • the data package received from the data broker server allocated to the mining node for analysis may be randomly selected from a plurality of data packages stored at the data broker server for analysis.
  • the data package received from the data broker server may specify one or more computer programme products or algorithms to be used by the mining node in analysing the data package.
  • the analysing of the data package by the or each mining node outputs the same metadata for the same private data output produced by the analysis, the metadata and private data output containing no mutual information.
  • the metadata is deterministically produced as a by-product of the analysis of the data package to convert the signal information to the private data output.
  • the metadata and the metadata commitment value are usable as evidence to indicate a private data output of an analysis of the data package by the mining node.
  • the analysing of the data package by the mining node may include using a pre-trained neural network to convert the signal information to the private data output.
  • the metadata is based on a score produced by the neural network, the score being representative of the probability of correctness of the private data output and/or a quality of the input signal information.
  • the blockchain is permissionless allowing any computing device to operate as a mining node.
  • the metadata commitment value, validation data and metadata for any data package is accessible in the commitment database server by any mining node.
  • the commitment database in the commitment database server may be publicly accessible. In this way, any computational node capable of processing the signal data may act as a mining node in the mining network.
  • the method may further comprise: receiving, from another mining node of the blockchain network, a block record for addition to the blockchain; extracting from the received block record a reference to a second metadata commitment value stored at the commitment database server; verifying the proof of work for the second mining node using the second metadata commitment value stored at the commitment database server; and based on the verifying, updating the blockchain to include the received block record.
  • the proof of work in block records received for appending to the blockchain may be validated at each mining node with reference to the entries in the commitment database, without having to relying on trust in the data broker server to act as an authority server.
  • verifying the proof of work for the second mining node may comprise: receiving, from the commitment database server, the second metadata commitment value, second validation data, and the subsequently revealed second metadata; hashing the received second metadata and the second mining node identifier to generate a recreated second metadata commitment value; comparing the recreated second metadata commitment value and the received second metadata commitment value; and if the comparing indicates the recreated second metadata commitment value and the received second metadata commitment value match, validating the proof of work for the received block record.
  • the present disclosure provides a commitment database server, a method and computer program product for implementing the method in a commitment database server, for use in conjunction with a plurality of mining nodes as described herein, the method in the commitment database server comprising: receiving from a first mining node, a first metadata commitment value and first validation data; receiving from a second mining node, a second metadata commitment value and second validation data; the first and second metadata commitment values being generated by the first and second mining nodes using a cryptographic commitment scheme from a combination of respective validation data on and metadata characteristic of analysis, by computational work by the respective mining nodes, of a data package provided by a data broker server, the data package comprising signal information to be kept private by the mining node, the analysis converting the signal information to a corresponding private data output and generating metadata characteristic of the analysis of the corresponding signal information; the method further comprising: storing the first and second metadata commitment values and first and second validation data together with timestamps for the time of their receipt at the commitment database server
  • the commitment database retaining a tamper-proof and timestamped record of metadata commitment values and validation data allows external verification by mining nodes of the computational work done to generate a private data output, without needing to reveal the private data output, the successfully validated entries including the metadata providing an externally verifiable proof of work for use in appending a block record to a blockchain.
  • the present disclosure provides a data broker server, a method and computer program product for implementing the method in a data broker server, for use in conjunction with a commitment database server and a plurality of mining nodes as described herein, the method in the data broker server comprising: receiving signal information to be kept private; storing the signal information as one or more data packages in a data package store; receiving a request for a data package from a first mining node and a request for a data package from a second mining node; randomly selecting a data package awaiting processing from the data package store; sending the selected data package to the first mining node with a first data package identifier and sending the selected data package to the second first mining node with a second data package identifier, different to the first data package identifier; receiving a first private data output from the first mining node having analysed the data package and receiving a second private data output from the second mining node having analysed the data package; accessing the commitment database in the commitment database server and cross checking that
  • a data broker server may provide randomly selected data packages for processing to mining nodes in a mining network, and it may provide signed cryptotokens for adding block records to a blockchain if the metadata commitment value posted to a commitment database cross validates the computational work performed by the mining node, such that the entry in the commitment database provides an externally verifiable proof of work.
  • FIG. 1 shows an example system of networked apparatus for providing data packages derived from a genetic sequencer to mining nodes of a mining network for analysis, and for providing an externally verifiable proof of work usable for appending a block record to a blockchain, without needing to publish the private data output of the analysis, in accordance with aspects of the present disclosure
  • FIG. 2 shows a graph plotting signal information in the form of a current data output by the genetic sequencer shown in FIG. 1 over time, the signal information being provided to a mining node for analysis by the data broker server, and an example sequence of values generated by the mining nodes from analysing the signal information, the sequence values representing a private data output;
  • FIG. 3 shows a block diagram of an embodiment of a computing apparatus for use as a mining node shown in FIG. 1;
  • FIG. 4 shows an embodiment of a method for implementation by the example mining node as shown in FIG. 3 for establishing an externally verifiable proof of work as immutable evidence of computational work completed by the mining node to generate a private data output, the proof of work being for use in appending a block record to a blockchain;
  • FIG. 5 shows a block diagram of an embodiment of a computing apparatus for use as a commitment database server shown in FIG. 1;
  • FIG. 6 shows an embodiment of a method for implementation by the example commitment database server as shown in FIG. 5 for use in conjunction with a plurality of example mining nodes as shown in FIG. 3;
  • FIG. 7 shows a block diagram of an embodiment of a computing apparatus for use as a data broker server shown in FIG. 1;
  • FIG. 8 shows an embodiment of a method for implementation by the example data broker server as shown in FIG. 7 for use in conjunction with an example commitment database server as shown in FIG. 5 and a plurality of example mining nodes as shown in FIG. 3.
  • the terms “have,” “may have,” “include,” or “may include” a feature indicate the existence of the feature and do not exclude the existence of other features.
  • a feature e.g., a number, function, operation, or a component such as a part
  • the words “comprise” and “contain” and variations of them mean “including but not limited to”, and they are not intended to (and do not) exclude other components, integers or steps.
  • the singular encompasses the plural unless the context otherwise requires.
  • the indefinite article the specification is to be understood as contemplating plurality as well as singularity, unless the context requires otherwise.
  • the terms “A or B,” “at least one of A and/or B,” or “one or more of A and/or B” may include all possible combinations of A and B.
  • “A or B,” “at least one of A and B,” “at least one of A or B” may indicate all of (1) including at least one A, (2) including at least one B, or (3) including at least one A and at least one B.
  • first and second may modify various components regardless of importance and do not limit the components. These terms are only used to distinguish one component from another. For example, reference to a first component and a second component may indicate different components from each other regardless of the order or importance of the components.
  • FIG. 1 shows an example system 100 of networked apparatus for providing data packages derived from a genetic sequencer to mining nodes of a mining network for analysis, and for providing an externally verifiable proof of work usable for appending a block record to a blockchain, without needing to publish the private data output of the analysis, in accordance with aspects of the present disclosure.
  • the system 100 comprises a genetic sequencer 102 for extracting genetic signal information from a sample tube 106 containing polynucleotide strands from biological organism 104, in this case a human subject. That is, the sample tube 106 may contain a sample of the DNA or RNA of the biological organism 104 suitably prepared for sequencing by the genetic sequencer 102.
  • the genetic sequencer 102 provides output data including a genetic signal information contained in the sample tube 106 to a computing apparatus, configured as a genetic sequencer user node 110.
  • the genetic sequencer user node 110 takes a read of genetic signal information from the genetic sequencer 102, and passes it via Internet 112 to a data broker server 114 which arranges the genetic signal information in one or more data packages, which are then randomly distributed to plural mining nodes 116a, 116b, 116c ... 116n (only mining nodes 116a-116c are illustrated) for analysis to extract, by computational work, a polynucleotide sequence from the genetic signal information.
  • the genetic sequencer 102 and genetic sequencer user node 110 are merely provided to facilitate understanding of the operation of the system 100.
  • the data broker server 114 may include a store of data packages of genetic signal information for processing by mining network 120 obtained from any suitable source. No direct connection is needed to a genetic sequencer or genetic sequencer user node 110.
  • the example genetic sequencer 102 shown represents a third generation nanopore sequencer such as those available from Oxford Nanopore Technologies (https://nanoporetech.com/).
  • the genetic signal information used in the system 100 can come from any suitable source and is not limited to this sequencing technology and can use genetic signal information provided by second generation sequencers, or any other suitable signal information that requires analysis or processing by computational work, that is suitable for processing by mining nodes 116a-l 16c in a mining network 120, where proof of work is usable for appending block records to a blockchain.
  • the genetic sequencer 102 includes a transmembrane pore 108 (e.g. a nanopore) is used as an electrical biosensor for sensing genetic signal information in the form of the polynucleotides in a sequence in strands of DNA or RNA from the biological sample contained in the sample tube 106.
  • a transmembrane pore 108 e.g. a nanopore
  • Such transmembrane pores 108 can be used to identify small molecules or folded proteins and to monitor chemical or enzymatic reactions at approximately the single molecule level by means of sending the ion flow across the transmembrane pore 108, for example, as the strand of DNA/RNA passes through the pore.
  • Interaction of an analyte with the transmembrane pore 108 can give rise to a characteristic change in ion flow (for example, a characteristic current profile) as the analyte translocates through the nanopore. That is, the ion flow (for example, electron flow/current) through a transmembrane pore 108 may be measured under a potential difference applied across the transmembrane pore 108.
  • ion flow for example, electron flow/current
  • FIG. 2 A graph plotting an example of genetic signal information 200 by the genetic sequencer 102 over time is shown in FIG. 2. As can be seen, the plot shows the genetic signal information 200 in the form of ion flow/current signal information, the form of which is characteristic of the analyte passing through the transmembrane pore 108.
  • the nucleobases of the DNA i.e. adenine (A), cytosine (C) , guanine (G), and thymine (T)
  • A adenine
  • C cytosine
  • G guanine
  • T thymine
  • genetic signal information 200 produced by a genetic sequencer is typically very noisy due to, for example, electrical and environmental interference.
  • the signal as measured by the current passing through the pore, reflects the presence in the pore of 4-5 nucleotides which are part of the DNA strand.
  • the task of base calling to determine a polynucleotide sequence i.e. determining a “read” from the genetic signal information 200 is a computationally intensive task to complete, often requiring processing by artificial neural networks to analyse the genetic signal information 200.
  • a mining network 120 of a plurality of mining nodes 116a-116n is used to provide distributed computation power to perform the base calling analysis of the genetic signal information 200.
  • the or each genetic sequencer user node 110 may send its unprocessed genetic signal information 200 via Internet 112 to data broker server 114 which is configured to assemble the genetic signal information 200 as a plurality of data packages and distribute them via Internet 112 among the plurality of mining nodes 116a-l 16n of mining network 120 for processing.
  • Each mining node on receipt of the data package, may analyse the genetic signal information 200 contained in the data package using an appropriate base calling software, such as a pre-trained artificial neural network, and generate as a private data output a sequence of nucleobases in the read, as genetic information which, for reasons of confidentiality, may not be shared publicly and is to be kept secret.
  • the private data output is then sent by the mining nodes back to the data broker server 114, which then may assemble and store or relay the genetic sequence sequence information for example for the benefit of the genetic sequencer user node 110.
  • a blockchain may be maintained by the mining network 120, with block records being added when a mining node completes an analysis of a data package received from the data broker server 114, to the satisfaction of the validation requirements.
  • the mining nodes 116a-116n are configured to post metadata commitment values and validation data to a commitment database in a commitment database server 118.
  • the entries in the commitment database may, by cross-validation, be usable to check that other mining nodes have processed the same data package and obtain the same private data output. This evidence allows the mining nodes to demonstrate that they have successfully completed the analysis work on the data package, without colluding with other mining nodes, and without needing to reveal the private data output or having to trust the data broker server to validate the work.
  • mining node 116a-116n generates a private data output, metadata and posts a metadata commitment value to a commitment database for use as an externally verifiable proof of work when adding a block record to a blockchain.
  • FIG. 3 shows a block diagram of an embodiment of a computing apparatus for use as a mining node shown in FIG. 1.
  • FIG. 3 refers to mining node 116a, this is for illustration and by way of example only, and it is to be understood to explain the configuration and operation of any mining node 116a-116n of mining network 120.
  • the mining node 116a comprises memory 302, one or more processors 304 and an input/output module 308.
  • a bus system (not shown) may be provided which supports communication between at the least one processor 304, memory 302 and input/output module 308.
  • the processor 304 executes instructions that can be loaded into memory 302.
  • the processor 304 can include any suitable number(s) and type(s) of processors or other devices in any suitable arrangement.
  • Example types of processor include microprocessors, microcontrollers, digital signal processors, field programmable gate arrays and application specific integrated circuits.
  • the memory 302 may be provided by any structure(s) capable of storing and facilitating retrieval of information (such as data, program code, and/or other suitable information on a temporary or permanent basis).
  • the memory 302 can represent a random access memory or any other suitable volatile or non-volatile storage device(s).
  • the memory 302 may also contain one or more components or devices supporting longer-term storage of data, such as a read only memory, hard drive, flash memory, or optical disc, which may store software code for loading into the memory 302 at runtime.
  • the processor 304 and memory 302 provide a runtime environment 306 in which instructions or code loaded into the memory 302 can be executed by the processor 304 to generate instances of software modules in the runtime environment 306.
  • the mining node 116a also comprises input/output module 308 providing a communications interface for receiving, via a network such as Internet 112, data from one or more data broker servers 114 and commitment database servers 118.
  • the mining node 116a may be configured as a networked server or as a virtual machine implemented in a cloud computing service, any of which may be suitable for carrying out the genetic signal information analysis, proof of work-generating and block record-appending methods described herein.
  • the memory 302 comprises instructions for instantiating software modules corresponding to a sequence data processor 310, a sequence metadata handler 312, a sequence data handler 314, a blockchain management module 316 and a commitment database management module 318.
  • the function and operation of these modules will now be described with reference to FIG. 4.
  • FIG. 4 shows an embodiment of a method 400 for implementation by the example mining node as shown in FIG. 3 for establishing an externally verifiable proof of work as immutable evidence of computational work completed by the mining node to generate a private data output, the proof of work being for use in appending a block record to a blockchain.
  • the mining node 116a receives, via input/output module 308, from data broker server 114 a data package comprising signal information to be kept private by the mining node 116a.
  • the data package is representative of the genetic signal information 200 of the type shown in FIG. 2.
  • the data package may be passed to the sequence data processor 310 which may store it in memory 302 for analysis using an appropriate analysis tool.
  • the data package may comprise at least one data entity, wherein the or each data entity comprises genetic signal information representative of a polynucleotide sequence in the sense that it comprises current information corresponding to current flow through a nanopore and a polynucleotide translocating through the nanopore.
  • the data package may include any other form of signal information for processing by one or more mining nodes.
  • the signal information may represent batches of images for analysis by object recognition algorithms, the images needing to be kept private, or batches of documents needing to be processed by optical character recognition to convert them to a machine readable format.
  • step 404 the sequence data processor 310 analyses, by computational work, the data package to convert the signal information to a corresponding private data output also to be kept private by the mining node.
  • the polynucleotide sequence may comprise a deoxyribonucleic acid, DNA, sequence or a ribonucleic acid, RNA, sequence.
  • the signal information may comprise raw data produced by a nanopore sequencer.
  • the sequence data processor 310 may analyse the data package using a pre-trained neural network to convert the signal information to the private data output. This base calling process generates called bases predicting the nucleobases that passed through the nanopore to generate the current signal analysed in the genetic signal information. To illustrate this, in FIG. 2, the called bases 204 output as a private data output by sequence data processor 310 are shown overlaid above the detail 202 of the genetic signal information 200.
  • the sequence data processor 310 may specify one or more computer programme products or algorithms to be used by the mining node 116a in analysing the data package. If that is the case, the sequence data processor 310 uses the computer program product of algorithm specified.
  • sequence data processor 310 may generate a read of the DNA fragment being analysed, the read being a representation the basecalled DNA sequence of nucleobases (A, C, G, T) in a suitable data structure, such as a FASTQ format.
  • a suitable data structure such as a FASTQ format.
  • the base called reads are then passed to a sequence data handler 314 and stored in a payload showing the sequence of nucleobases for sharing with the data broker server 114.
  • This data needs to be kept private so long as the genetic sequencer user node 110 does not consent to the genetic sequence information for the reads from the biological organism 104 being shared by the data broker server 114 with anyone other than the user.
  • the sequence data processor 310 as a result of the analysing, also generates metadata characteristic of the analysis of the corresponding signal information, the metadata being independent of the private data output generated by the analysis.
  • the metadata may be based on a score produced by the neural network, the score being representative of the probability of correctness of the private data output and/or a quality of the input signal information. That is, when the base calling software determines which base is at each position in the DNA sequence, it assigns a probability-based quality score to the base, which can be used by downstream software.
  • An example quality string generated by the sequence data processor 310 and stored alongside the base called data in the FASTQ data structure for the read shown above is as follows:
  • the quality metadata contains one character for each base in the DNA in the read, and the quality score can be calculated as the ordinal value of the character minus 33. This integer value is calculated by the base calling software as -10 logio(p), where p is an estimate that the call for that base is incorrect. This quality score is a measure of the quality of the raw signal data, and is not related in any way to the base that is called from the signal. Given that, for any version of the base calling software (and any version of the neural network model) these scores are deterministically calculated, any two mining nodes will produce the same sequence and the same quality data for a given input. This should be true regardless of e.g., the architecture that the software is run upon.
  • This quality data can be used in the analysis of the sequence data, for example to provide a measure of reliability for each base of the sequence, particularly when constructing consensus sequences at the data broker server during alignment.
  • the quality string can also be used as metadata allowing external verification by using a cryptographic commitment scheme and a commitment database server 118.
  • the analysing of the data package by the mining node 116a outputs the same quality metadata for the same genetic sequence information as a private data output produced by the analysis.
  • the metadata and private data output contain no mutual information.
  • the metadata is deterministically produced as a by-product of the analysis of the data package to convert the signal information to the private data output.
  • the metadata and the metadata commitment value are usable as evidence to indicate a private data output of an analysis of the data package by the mining node. Because this quality data is independent of the DNA sequence, but still requires that the computation effort of base calling is undertaken to produce it, it can be used by e.g. any other mining node to openly validate that two miners have run the base calling software on the data entity, and have produced the same private data output, without the private data output having to be revealed or the verifying miner also having to decode the sequence in the data package to confirm this.
  • the sequence data processor 310 passes the metadata to a sequence metadata handler 312 which uses a cryptographic commitment scheme to generate, from a combination of the metadata and validation data, a metadata commitment value for the data package as analysed by the mining node.
  • the validation data may comprise one or more of: a mining node identifier for the mining node performing the analysis of the data package; a data package identifier for the data package, as assigned by the data broker server; a cryptographic nonce.
  • the metadata commitment value for the identical metadata output for the same data package may be different for each mining node.
  • the data package identifier assigned by the data broker server for the same data package may be different for each mining node assigned with analysing the data package. This can prevent collusion between mining nodes as they cannot identify other mining nodes processing the same data package.
  • Any suitable cryptographic commitment scheme can be used that enables the mining node 116a to generate and first reveal only a 'commitment' (i.e. the metadata commitment value, different to the metadata itself) to some hidden value (i.e. the metadata itself), and later 'open' the commitment (by revealing the hidden value, i.e. the metadata).
  • the cryptographic commitment scheme must enable the public (or at least any other mining node) to re-use the cryptographic commitment scheme to verify that the commitment value (i.e. the metadata commitment value) corresponds to the opening (the 'correctness' property - i.e. that the cryptographic commitment scheme generates the metadata commitment value from the metadata itself, and any validation data used to generate the metadata commitment value).
  • the cryptographic commitment scheme must also guarantee that given only the commitment (i.e. the metadata commitment value) the opening (i.e. the metadata used to generate it) remains hidden (the 'hiding' property, which is that the metadata cannot be worked out from the metadata commitment value).
  • the cryptographic commitment scheme must be one in which a commitment cannot be opened in multiple different ways (i.e. the 'binding' property that the metadata commitment value actually binds the committer to the one hidden metadata value).
  • the cryptographic commitment scheme may be a cryptographic hash function, such as SHA256 or SHAKE256, as these are particularly efficient as cryptographic commitment schemes. However, any suitable cryptographic commitment scheme can be used.
  • the generated metadata commitment value may be a hash of a combination of the metadata for all data entities in the data package and the validation data.
  • the combination may be a concatenation of the quality strings.
  • the validation data used is such that the metadata commitment value is different for each mining node analysing the data package and producing the same metadata output and the same private data output. This facilitates external verification and prevents collusion.
  • step 410 the sequence metadata handler 312 of the mining node 116a communicates (via input/output module 308) the metadata commitment value and the validation data to commitment database server 118 via Internet 112.
  • the commitment database server 118 permitting external access to the metadata commitment value for use in providing an externally verifiable proof of work.
  • the method may further comprise the mining node 116a communicating the private data output for the data package to the data broker server 114 which may validate, align and assemble all the reads, as generated by the mining network 120, for the data set for all the genetic signal information received from the genetic sequencer 102 for biological organism 104 and share them with the genetic sequencer user node 110.
  • FIG. 5 shows a block diagram of an embodiment of a computing apparatus for use as a commitment database server 118.
  • the commitment database server 118 comprises memory 502, one or more processors 504 and an input/output module 508.
  • a bus system (not shown) may be provided which supports communication between at the least one processor 504, memory 502 and input/output module 508.
  • the processor 504 executes instructions that can be loaded into memory 502.
  • the processor 504 can include any suitable number(s) and type(s) of processors or other devices in any suitable arrangement.
  • Example types of processor include microprocessors, microcontrollers, digital signal processors, field programmable gate arrays and application specific integrated circuits.
  • the memory 502 may be provided by any structure(s) capable of storing and facilitating retrieval of information (such as data, program code, and/or other suitable information on a temporary or permanent basis).
  • the memory 502 can represent a random access memory or any other suitable volatile or non-volatile storage device(s).
  • the memory 502 may also contain one or more components or devices supporting longer-term storage of data, such as a read only memory, hard drive, flash memory, or optical disc, which may store software code for loading into the memory 502 at runtime.
  • the processor 504 and memory 502 provide a runtime environment 506 in which instructions or code loaded into the memory 502 can be executed by the processor 504 to generate instances of software modules in the runtime environment 506.
  • the commitment database server 118 also comprises input/output module 508 providing a communications interface for receiving, via a network such as Internet 112, data from one or more data broker servers 114 and mining node 116a-l 16n.
  • the commitment database server 118 may be configured as a networked server or as a virtual machine implemented in a cloud computing service, any of which may be suitable for carrying out the method described below in relation to FIG. 6.
  • the memory 502 comprises instructions for instantiating software modules corresponding to a commitment database request handler 510 and a commitment database 512. The function and operation of these modules will now be described with reference to FIG. 6.
  • FIG. 6 shows an embodiment of a method 600 for implementation by the example commitment database server as shown in FIG. 5 for use in conjunction with a plurality of example mining nodes as shown in FIG. 3.
  • the commitment database server 118 receives at an input/output module 508 via Internet 112, from a first mining node (e.g. mining node 116a), a first metadata commitment value and first validation data. This may be the output of step 410 performed by mining node 116a.
  • the commitment database request handler 510 receives the first metadata commitment value and stores it in the commitment database 512 together with a timestamp.
  • the commitment database server 118 receives at an input/output module 508 via Internet 112, from a second mining node (e.g. mining node 116b), a second metadata commitment value and second validation data. This may be the output of step 410 performed by mining node 116b.
  • the commitment database request handler 510 receives the second metadata commitment value and stores it in the commitment database 512 together with a timestamp.
  • the commitment database server 118 stores the first and second metadata commitment values and first and second validation data together with timestamps for the time of their receipt at the commitment database server in a externally accessible, tamper-proof and immutable commitment database 512.
  • the commitment database 512 is maintained as an immutable and tamper-proof record of data entered to it, and so provides permanent and evidence of work done and metadata commitment values generated and posted by the mining nodes of the mining network 120. To achieve this, the commitment database 512 may be maintained itself as a blockchain across multiple nodes of the blockchain network.
  • the first mining node 116a and second mining node 116b may (or may not) have successfully performed the same analysis on the same data package.
  • the metadata commitment values stored in the commitment database 512 allow cross-checking by the mining nodes to determine whether any other mining nodes have analysed the same data package and achieved the same result, to allow them to provide an externally verifiable proof of work for appending a block record to the blockchain.
  • step 608 the commitment database request handler 510 provides the second metadata commitment value and second validation data to the first mining node 116a for verification by the first mining node 116a. This may be sent as a result of a request from the first mining node.
  • mining node 116a On receiving, via the input/output module 308 the second metadata commitment value and second validation data from the commitment database server, mining node 116a passes the second metadata commitment value and second validation data to sequence metadata handler 312 for verification that the second mining node has produced matching metadata as a result of the analysis performed on the (same or different) data package.
  • the validating of the second metadata commitment value by the first mining node 116a includes using the cryptographic commitment scheme (each mining node is specified to use the same cryptographic commitment scheme) to generate, from a combination of the first metadata for the data package generated by the mining node 116a and the received second validation data, a recreated second metadata commitment value for the data package.
  • the mining node 116a is testing whether it can recreate the second metadata commitment value using metadata it itself generated by analysing data packages, by hashing it together with the second validation data received from the commitment database 512.
  • validation is performed by the mining node 116a comparing the recreated second metadata commitment value and the second metadata commitment value generated by the second mining node received from the commitment database 512 together with the second validation data. If the comparing indicates the recreated second metadata commitment value and the received second metadata commitment value match, the mining node 116a may validate that the second mining node has successfully performed the same analysis of the data package to generate the same metadata and the same private data output.
  • the mining node 116a may communicate the metadata for the data package to the commitment database server permitting external access to the metadata for durable storage therein. This is to ‘open’ the hiding, and further enable external verification of the work done by the mining node 116a (not least by virtue of the metadata being posted with a later timestamp than the metadata commitment value and validation data).
  • step 610 if the first mining node 116a verifies that the second mining node 116b has analysed the same data package as the first mining node 116b (and achieved the same result), the commitment database server 118 receives, from the first mining node 116a the metadata characteristic of the analysis of the data package by the first mining node 116a.
  • step 612 the commitment database request handler 510 stores the metadata together with a timestamp for the time of receipt at the commitment database server 118 in the commitment database 512.
  • the timestamped metadata received from the first mining node 116a may be stored alongside the earlier received timestamped first metadata commitment value and first validation data.
  • the mining node 116a can use the entry of the first metadata commitment value and first validation data in the commitment database 512 as an externally verifiable proof of work.
  • the external access from the commitment database server to the or each metadata commitment value and the or each respective validation data for each metadata commitment value, and the subsequently revealed metadata may allow a proof of work by verification that each metadata commitment value produced by each mining node was produced using the cryptographic commitment scheme from a combination of their respective validation data and the matching metadata produced by the analysis performed at each mining node.
  • the metadata stored in the commitment database 512 further enables this external verification.
  • the mining nodes may watch the commitment database and attempt to validate metadata commitment values posted thereto by cross-checking against the metadata produced by the mining node in as-yet unvalidated data packages to attempt to find identical metadata produced by other mining nodes that may have analysed the same data package and produced the same metadata.
  • FIG. 7 shows a block diagram of an embodiment of a computing apparatus for use as a data broker server 114 shown in FIG. 1;
  • the data broker server 114 comprises memory 702, one or more processors 704 and an input/output module 708.
  • a bus system (not shown) may be provided which supports communication between at the least one processor 704, memory 702 and input/output module 708.
  • the processor 704 executes instructions that can be loaded into memory 702.
  • the processor 704 can include any suitable number(s) and type(s) of processors or other devices in any suitable arrangement.
  • Example types of processor include microprocessors, microcontrollers, digital signal processors, field programmable gate arrays and application specific integrated circuits.
  • the memory 702 may be provided by any structure(s) capable of storing and facilitating retrieval of information (such as data, program code, and/or other suitable information on a temporary or permanent basis).
  • the memory 702 can represent a random access memory or any other suitable volatile or non-volatile storage device(s).
  • the memory 702 may also contain one or more components or devices supporting longer-term storage of data, such as a read only memory, hard drive, flash memory, or optical disc, which may store software code for loading into the memory 302 at runtime.
  • the processor 704 and memory 702 provide a runtime environment 306 in which instructions or code loaded into the memory 702 can be executed by the processor 704 to generate instances of software modules in the runtime environment 706.
  • the mining node 116a also comprises input/output module 708 providing a communications interface for receiving, via a network such as Internet 112, data from one or more mining nodes 116a-l 16n and commitment database servers 118.
  • the data broker server 114 may be configured as a networked server or as a virtual machine implemented in a cloud computing service, any of which may be suitable for carrying out the methods described herein.
  • the memory 702 comprises instructions for instantiating software modules corresponding to a data package creator 710, data package store 712 and data package request handlers 714. The function and operation of these modules will now be described with reference to FIG. 8.
  • FIG. 8 shows an embodiment of a method 800 for implementation by the example data broker server as shown in FIG. 7 for use in conjunction with an example commitment database server as shown in FIG. 5 and a plurality of example mining nodes as shown in FIG. 3.
  • the data broker server 114 receives datasets from the sequencing users (such as genetic sequencer user node 110), and then creates work packages of data entities for the mining nodes to process. Once all data entities from a dataset have been basecalled by the mining nodes, the data broker server 114 returns the assembled based called data to the sequencing user
  • step 802 the data broker server 114 receives, via input/output module 708, signal information to be kept private such as genetic signal information 200 in the form of a dataset produced by genetic sequencer 102 processing a sample from biological organism 104.
  • the received signal information is passed to data package creator 710, which configures and stores the signal information as one or more data packages in data package store 712.
  • the data broker server 114 may divide up the received signal information (for example by separating the reads of the genetic sequencer 102) and randomly group them together into packages of signal information to be processed. This helps to mask the signal information and prevent the reassembly by the mining nodes of the genetic sequence information of the biological organism 104, which is to be kept private.
  • the data broker server 114 may publish the data packages that need processing to the mining nodes, to allow the mining nodes to request a data package to work on.
  • the data broker server 114 receives, via input/output module 708, a request for a data package from a first mining node 116a and a request for a data package from a second mining node 116b. These requests are passed to the data package request handler 714 for processing.
  • step 808 the data package request handler 714 randomly selects a data package awaiting processing from the data package store.
  • the data package request handler 714 sends, via the input/output module 708, the selected data package from the data package store 712 to the first mining node with a first data package identifier and to the second first mining node with a second data package identifier, different to the first data package identifier.
  • the first and second mining nodes do not know they are in receipt of the same data package and collusion is averted.
  • the data packages are randomly allocated, it is impractical for mining nodes to try to find other mining nodes in the mining network 120 that are in receipt of the same data package and so collusion is averted.
  • At least one further of the mining nodes 116c-116n may been sent the data package for analysis, and the mining nodes may each cross-check against the other entries in the commitment database server 118.
  • the same data package can be analysed by two or more, or at least three, mining nodes, with the results of the analysis by each mining node being externally verifiable.
  • first and second mining nodes have processed the data package and have themselves used the commitment database 512 to cross-check that another mining node has successfully validated the same data package, they send the private data output back to the data broker server 114.
  • the data broker server 114 receives, via input/output module 708, a first private data output from the first mining node having analysed the data package and a second private data output from the second mining node having analysed the data package.
  • the data broker server 114 can directly cross check and validate the private data outputs for the same data package.
  • a substitution cipher may be used by the mining nodes for the genetic sequence information, so two miners would not be able to directly see that they had produced the same sequence, but these could both be decoded by the data broker server 114.
  • the data broker server 114 may also check that commitment database for an externally verifiable proof of work by, in step 814, accessing the commitment database 512 in the commitment database server 118 and cross checking that the database entries for the first data package identifier and the second data package identifier validate.
  • the data broker server 114 may have other validation requirements before a signed cryptotoken may be issued, such as a minimum number of matching private data outputs.
  • a data broker server 114 may provide randomly selected data packages for processing to mining nodes in a mining network, and it may provide signed cryptotokens for adding block records to a blockchain if the metadata commitment value posted to a commitment database cross validates the computational work performed by the mining node, such that the entry in the commitment database provides an externally verifiable proof of work.
  • a signed cryptotoken from the data broker server 114 is not needed for the mining nodes to append block records to the blockchain, and the mining nodes may rely on the entries in the commitment database 512 directly.
  • the blockchain management module 316 may create a block record for the blockchain using a reference to at least the metadata commitment value stored at the commitment database server 118 as the proof of work.
  • creating a block record for the blockchain may include the blockchain management module 316 consulting a version of the blockchain stored in one or more machine readable storage media locally to the mining node 116a to extract the unique identifier of the preceding block of the blockchain, and retrieving payload data from a data pool of unprocessed payload data.
  • the new block may be created including the reference to the preceding block and a reference to the commitment database 512 entry at the commitment database server 118 as the proof of work, and/or any cryptotoken received from the data broker server 114.
  • the mining node 116a may then communicate, via the input/output module 308, the created block record to at least another mining node (e.g. mining node 116b and mining node 116b) of the mining network.
  • mining nodes may consult their locally stored versions of the blockchain and check that the newly received block from mining node 116a is valid by checking the proof of work validates (with reference to the commitment database server 118), before appending the block record to their locally stored block chains, before sending the new block record on to other mining nodes in the mining network for them to update their block chains to append the block record.
  • Appending a block record to the blockchain at another mining node may include the mining node 116b receiving, from another mining node of the blockchain network (in this case mining node 116a), a block record for addition to the blockchain.
  • the mining node 116b may extract from the received block record a reference to the first metadata commitment value stored at the commitment database server and verify the proof of work for the first mining node using the first metadata commitment value stored at the commitment database server. Based on the verifying, the mining node 116b may update the version of the blockchain stored thereat to include the received block record.
  • Verifying the proof of work for the first mining node 116a may comprise the second mining node 116b receiving, from the commitment database server, the first metadata commitment value, first validation data, and the subsequently revealed first metadata.
  • the second mining node 116b may then use the cryptographic commitment scheme, such as by hashing the received first metadata and the first mining node identifier to generate a recreated first metadata commitment value.
  • the second mining node 116b may then compare the recreated first metadata commitment value and the received first metadata commitment value, and if the comparing indicates the recreated first metadata commitment value and the received first metadata commitment value match, the second mining node 116b may validate the proof of work for the received block record.
  • the proof of work in block records received for appending to the blockchain may be validated at each mining node with reference to the entries in the commitment database, without having to relying on trust in the data broker server to act as an authority server.
  • the blockchain may be permissionless, which should allow any computing device to operate as a mining node (provided they are able to run the mining software to process the signal information).
  • the commitment database retaining a tamper-proof and timestamped record of metadata commitment values and validation data allows external verification by mining nodes of the computational work done to generate a private data output, without needing to reveal the private data output, the successfully validated entries including the metadata providing an externally verifiable proof of work for use in appending a block record to a blockchain.
  • mining nodes can check and validate whether other mining nodes in the mining network have analysed the same data package and produced by their analysis the same metadata.
  • the mining node accessing the metadata commitment values posted by other mining nodes to the commitment database, and attempting to recreate, using the cryptographic commitment scheme, that metadata commitment value using the metadata generated by the mining node in its own analysis, and the validation data posted to the commitment database together with the metadata commitment value. If the recreated metadata commitment value is the same as the metadata commitment value posted to the commitment server by the other mining node, the mining node will be able to demonstrate that it has successfully completed the analysis and that this corroborates against another mining node, with which it cannot have colluded.
  • the mining node can then request the issuance of a cryptotoken, for example from the data broker server, with the metadata commitment value entry posted in the commitment database acting as an externally verifiable proof of work without that private data output needing to be revealed.
  • a cryptotoken for example from the data broker server
  • the mining node posts to the commitment database the metadata it generated
  • any node having access to the commitment database can validate the work completed by the mining node using the cryptographic commitment scheme based on the combination of the posted metadata and validation data, and by comparing the recreated metadata commitment value with the posted metadata commitment value.
  • the commitment database entry by the mining node acts as an externally verifiable proof of work for the analysis of the data package performed at the mining node, without the private data output needing to be revealed.
  • the commitment database can support a proof of work for such a blockchain implementation, without having to rely solely on the authority of the data broker server.
  • mining nodes can be caused to perform computational work to produce private data outputs, in a way in which collusion between the mining nodes is prevented, while also allowing non-colluding mining nodes to cross check their analysis, and post an externally verifiable proof of work.
  • the method may provide a mechanism for mining nodes to analyse signal information output from a genetic sequencer to generate reads of a polynucleotide sequence, and for the computational work necessary to generate the polynucleotide sequence to be externally verifiable such that a proof of work can be generated and used for appending a block record to a block chain, while being able to keep the polynucleotide sequence private.
  • signal information may relate to other native molecules such as proteins or secondary modifications.
  • signal information may relate to modified or synthetic molecules such as oligonucleotide tags, analogs of nucleic acids, or expandomers including expandable nucleoside triphosphate.

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Hardware Design (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Bioethics (AREA)
  • General Health & Medical Sciences (AREA)
  • Health & Medical Sciences (AREA)
  • Computing Systems (AREA)
  • Medical Informatics (AREA)
  • General Physics & Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Databases & Information Systems (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

La présente demande concerne des nœuds de minage dans un réseau de minage, un serveur de base de données d'engagement, un serveur de courtier en données, leurs procédés de fonctionnement et des produits-programmes informatiques destinés à établir une preuve de travail extérieurement vérifiable comme signe immuable d'un travail de calcul accompli par le nœud de minage pour générer une sortie de données privées, la preuve de travail étant destinée à être utilisée dans l'ajout d'un enregistrement de bloc à une chaîne de blocs.
PCT/GB2023/052414 2022-09-20 2023-09-18 Nœud de minage, et produit-programme informatique et procédé de fonctionnement associés destinés à être utilisés dans l'ajout d'un enregistrement de bloc à une chaîne de blocs WO2024062223A1 (fr)

Applications Claiming Priority (8)

Application Number Priority Date Filing Date Title
GB2213758.2 2022-09-20
US17/948,347 2022-09-20
US17/948,337 2022-09-20
US17/948,337 US20240095251A1 (en) 2022-09-20 2022-09-20 Externally validated proof of work for appending a block record to a blockchain with a mining node
GB2213758.2A GB2622596A (en) 2022-09-20 2022-09-20 Mining node, computer program product and method of operation thereof for use in appending a block record to a blockchain
US17/948,355 US20240095730A1 (en) 2022-09-20 2022-09-20 Externally validated proof of work for appending a block record to a blockchain with a data broker server
US17/948,347 US11652650B1 (en) 2022-09-20 2022-09-20 Externally validated proof of work for appending a block record to a blockchain with a commitment database server
US17/948,355 2022-09-20

Publications (1)

Publication Number Publication Date
WO2024062223A1 true WO2024062223A1 (fr) 2024-03-28

Family

ID=88197124

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/GB2023/052414 WO2024062223A1 (fr) 2022-09-20 2023-09-18 Nœud de minage, et produit-programme informatique et procédé de fonctionnement associés destinés à être utilisés dans l'ajout d'un enregistrement de bloc à une chaîne de blocs

Country Status (1)

Country Link
WO (1) WO2024062223A1 (fr)

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20170359374A1 (en) * 2016-06-11 2017-12-14 Lntel Corporation Blockchain System with Nucleobase Sequencing as Proof of Work
WO2020120933A1 (fr) 2018-12-12 2020-06-18 University Of York Preuve de travail pour applications de chaîne de blocs

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20170359374A1 (en) * 2016-06-11 2017-12-14 Lntel Corporation Blockchain System with Nucleobase Sequencing as Proof of Work
WO2020120933A1 (fr) 2018-12-12 2020-06-18 University Of York Preuve de travail pour applications de chaîne de blocs
US20220027352A1 (en) * 2018-12-12 2022-01-27 Roxana Iuliana Teodor Proof-of-work for blockchain applications

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
ATALAY M ILERI ET AL: "Coinami: A Cryptocurrency with DNA Sequence Alignment as Proof-of-work", ARXIV.ORG, CORNELL UNIVERSITY LIBRARY, 201 OLIN LIBRARY CORNELL UNIVERSITY ITHACA, NY 14853, 9 February 2016 (2016-02-09), XP080682525 *

Similar Documents

Publication Publication Date Title
JP7285840B2 (ja) プルーフ検証に基づいてオフ・チェーン・データを認証するシステム及び方法
US10796000B2 (en) Blockchain system with nucleobase sequencing as proof of work
CN110383279B (zh) 用于检测重放攻击的系统和方法
EP3669521B1 (fr) Procédé et système pour des preuves de récupération vérifiables publiquement dans des chaînes de blocs
CN110597925B (zh) 一种基于区块链的跨链数据处理方法及装置
US20220027352A1 (en) Proof-of-work for blockchain applications
US20210192514A1 (en) Distributed computing system and method
WO2018158936A1 (fr) Dispositif de gestion de chaîne de blocs, procédé de gestion de chaîne de blocs et programme
CN108985100B (zh) 基于区块链的元素安全性证明方法、装置、设备和介质
CN108650231B (zh) 基于区块链的生物特征采集方法及系统
JP2021502750A (ja) メディエータコンピュータシステムを使用してコンピュータプログラムの正しい実行を確保するシステム及び方法
CN111033506A (zh) 利用匹配操作和差异操作的编辑脚本核实
CN112613601B (zh) 神经网络模型更新方法、设备及计算机存储介质
CN114281888A (zh) 一种区块链共识方法、装置、设备及存储介质
US11652650B1 (en) Externally validated proof of work for appending a block record to a blockchain with a commitment database server
He et al. Consensus mechanism design based on structured directed acyclic graphs
KR20220010534A (ko) 작업 증명 블록체인 네트워크 상의 비병렬식 채굴용 시스템 및 방법
EP3868054B1 (fr) Système et procédé mis en oeuvre par ordinateur comprenant une confirmation de combinaison de clés publiques
Roy et al. UML based modeling of ECDSA for secured and smart E-Governance system
US20240095251A1 (en) Externally validated proof of work for appending a block record to a blockchain with a mining node
US20240095730A1 (en) Externally validated proof of work for appending a block record to a blockchain with a data broker server
WO2024062223A1 (fr) Nœud de minage, et produit-programme informatique et procédé de fonctionnement associés destinés à être utilisés dans l'ajout d'un enregistrement de bloc à une chaîne de blocs
GB2622596A (en) Mining node, computer program product and method of operation thereof for use in appending a block record to a blockchain
WO2018219425A1 (fr) Procédé de validation et/ou d'authentification de curriculum vitae en ligne à l'aide d'une technologie des registres distribués par chaîne de blocs
CN111147477B (zh) 一种基于区块链网络的验证方法及装置

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 23777017

Country of ref document: EP

Kind code of ref document: A1