Mining node used to add block records to a blockchain, computer program product and method of operation thereof Mining node used to add block records to a blockchain, computer program product and method of operation thereof

Mining nodes generate metadata commitment values using cryptographic schemes to provide externally verifiable proof of work, addressing the lack of independent validation in existing blockchain systems and ensuring decentralized validation of block records.

JP2025531365APending Publication Date: 2025-09-19VEIOVIA LTD
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
JP2025517117
Authority / Receiving Office
JP · JP
Patent Type
Applications
Current Assignee / Owner
Priority Date
2022-09-20
Filing Date
2023-09-18
Publication Date
2025-09-19

AI Technical Summary

Technical Problem

In existing blockchain implementations, the proof of work (POW) provided by mining nodes is not independently verifiable, especially when the data output is confidential, leading to a reliance on a trusted authority server for validation, which undermines the decentralized nature of the blockchain.

Method used

A method and system where mining nodes generate a metadata commitment value using a cryptographic commitment scheme, allowing external verification of computational work without disclosing private data outputs, and store this metadata in a commitment database for cross-validation.

Benefits of technology

Enables independent verification of computational work by mining nodes, ensuring decentralized validation of block records without collusion, thus maintaining the integrity of the blockchain without relying on a central authority.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 2025531365000001_ABST
    Figure 2025531365000001_ABST
Patent Text Reader

Abstract

Mining nodes used to add block records to a blockchain, computer program products, and methods of operation thereof. This application discloses mining nodes, commitment database servers, data broker servers, and methods of operation thereof in a mining network, as well as a computer program product that establishes an externally verifiable proof of work as immutable evidence of the computational work completed by the mining nodes to generate private data outputs. The proof of work is used to add block records to the blockchain.
Need to check novelty before this filing date? Find Prior Art

Description

[Technical Field]

[0001] The present disclosure relates to a mining node, computer program product, and method of operation thereof that establishes an externally verifiable proof of work for use in adding block records to a blockchain. [Background technology]

[0002] A blockchain, also known as a distributed ledger or distributed consensus ledger, is a type of distributed database. Blockchains enable tamper-proof and decentralized data storage. A copy of the ledger / blockchain can be stored on each of multiple nodes in a blockchain network.

[0003] A blockchain consists of multiple block records, also known as blocks or data structure blocks. A blockchain's block record typically contains payload data (i.e., the data recorded in that block record for storage in the blockchain), a unique identifier for the previous block record in the blockchain, and a proof-of-work (POW). When a block record is added to the blockchain, a copy of the new block / blockchain is distributed to other nodes in the blockchain network. Other nodes can either validate the work done to add the new block and accept the update to the blockchain, or ignore the new block if they cannot validate the associated work.

[0004] Block records typically consist of payload data in the form of data and / or computer-executable instructions. Thus, for example, when a blockchain is used to record instructions, such as transactions, 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 to another in the blockchain system. For example, when a blockchain is used to record computer-executable instructions (computerized protocols that carry out the terms of a machine-readable contract or agreement, often called a "smart contract"), a function call to the computer-executable instructions can be used to initiate a computer-executable process. A smart contract can process inputs to produce a result and then take action based on that result.

[0005] Each block record typically contains a link to the previous block record, for example, a hash value of the previous block record's information or a hash value of the previous block record's header. The hash value is typically determined by using the previous block's information as part of the input to a hash function, which outputs a hash value. Each block record links to the previous block record. Thus, when validated, a block record is linked to the previous block record, and through that previous block record, to each of the previous block records, all the way back to the genesis block record (the only block record that does not contain a link to any previous block record). While hash values ​​are typically easy to compute, one or more validity requirements may be imposed on hash values. Furthermore, because hash values ​​are typically based on special mathematical functions that are not invertible, it is not easy to know which input will produce the desired output without trying a large number of inputs.

[0006] Each block record also typically includes a proof of work (POW). A POW is data that is difficult to generate but easy to verify by others (i.e., other users or other computing devices) and meets certain validity requirements. Each block record therefore provides reliable evidence that work was done to generate it. The work may involve the consumption of significant processing resources, such as the time it took to compute some output.

[0007] The integrity of the payload data stored in the blockchain is guaranteed because each block record links to the previous block record, and to tamper with the payload data of a block record in the blockchain, a tamperer must perform the additional work of storing the tampered block and each subsequent block in the blockchain. However, this is impossible in a situation where the majority of nodes in the blockchain network each verify the validity of the blockchain and add their own block records.

[0008] In some blockchain implementations, such as the popular Bitcoin, each block contains a header with the hash value of the previous block. To generate a new block, miners must find a nonce value to include as part of the input to a hash function. This nonce value produces a hash value that meets certain validity requirements, specifically a hash value below a predetermined threshold. Miners typically guess a nonce value and verify that when the guessed nonce value is input into the hash function in combination with other fixed data, including the hash of the previous block, the hash function outputs a hash value below the predetermined threshold. Thus, miners expend computational resources to find an appropriate nonce value that meets the validity requirements. Once an appropriate nonce value is found, another miner can verify the validity of a particular block by inputting the same information, including the declared nonce value, into the hash function and verifying that the output is valid. In such blockchain implementations, the declared nonce serves as proof-of-work for the associated block.

[0009] Recently, alternative blockchain implementations have been proposed, such as International Patent Application Publication No. WO2020 / 120933A1, in which proof-of-work is provided by mining nodes that perform "useful" computational work rather than solving mathematical puzzles that have no practical or value beyond generating the proof-of-work. In WO2020 / 120933A1, an authority server provides data packages to mining nodes in a mining network for processing. Each data package consists of multiple data sets. Each data set contains signal information. Upon receiving the data packages, the mining nodes can analyze the data packages and convert the signal information for each data set into corresponding data outputs by performing computational work. The mining nodes then send the multiple data outputs to the authority server. These multiple data outputs are used to establish proof-of-work for adding block records to the blockchain. In particular, upon receiving the data outputs from the mining nodes, the authority server can generate signed cryptographically generated data (e.g., "cryptographic tokens") that are provided to the mining nodes. Signed cryptographic tokens can be used by mining nodes as proof-of-work, allowing them to generate block records that have been successfully added to the blockchain and communicated across the mining network for replication. Signed tokens can be intrinsically linked to the specific work performed by the mining node, for example, by including a signed hash of the analyzed data package. An authority server can send the same data package to multiple different mining nodes, allowing each to process it independently. In this case, the data output generated by each node is encoded differently using a different substitution cipher, where the key is determined based on the contents of the data package and the miner's identity. As a result, mining nodes generate different cryptographic tokens, preventing them from colluding to directly submit false results.

[0010] The authoritative server can decrypt the results received from the mining node and verify that the data outputs provided by other mining nodes (at least a threshold number) match each other before signing the mining node's cryptographic token.

[0011] It is in this context that the present invention was conceived. Summary of the Invention

[0012] The proof of work that adds a block record to the blockchain should ideally be verifiable by any observer that the work was actually performed and that the requirements for adding the block record to the blockchain were met. For example, in a Bitcoin implementation, the declared nonce value that provides the proof of work can be tested by any mining node by using a hash function to determine whether it produces an output value below a required level. Thus, the proof of work provides prima facie, independently verifiable evidence that the required work was successfully completed.

[0013] However, in the blockchain implementation described in WO2020 / 120933A1, particularly when the data output provided by the mining nodes is highly confidential and should be kept private (at least at the time of creating the block record) (e.g., genetic sequence data), the proof of work itself does not provide, at first glance, independently verifiable evidence that the participating mining nodes successfully completed their computational tasks and that their data outputs corroborate each other. Instead, in this implementation, the mining nodes must trust the authority server's validation of their data outputs in creating the proof of work. That is, the mining nodes cannot independently verify that their data outputs are corroborated; they must rely on the authority server's validation in generating the proof of work. In this sense, in the absence of external validation of the proof of work, the blockchain implementation closely resembles a proof-of-authority system, whose consensus mechanism relies on one or more trusted nodes (i.e., authority servers) in the blockchain network. However, this may be seen as undermining the premise of the blockchain system that the successful completion of the computational work performed by a mining node is direct and unquestionable in itself, without the need to trust any particular node in the blockchain network to provide the necessary validation to add a block record to the blockchain.

[0014] The systems and methods described herein are applicable to a wide range of practical applications. Among many practical applications, blockchain facilitates information sharing and asset management through decentralization. Decentralization potentially reduces the cost burden. The systems and methods disclosed herein improve current blockchain technology protocols by establishing an externally verifiable proof of work completed by a mining node and generating a private data output. This serves as immutable evidence of the computational work, and the proof of work is used to add block records to the blockchain. To provide the externally verifiable proof of work for each block record, the mining node communicates a metadata commitment value and validation data to a commitment database. Entries in the commitment database can be used to verify, through cross-validation, that other mining nodes processed the same data package and obtained the same private data output. This proof allows a mining node to prove that it successfully completed analysis work on a data package without colluding with other mining nodes, disclosing the private data output, or relying on a data broker server to validate its work.

[0015] Thus, from one aspect, the present disclosure provides a method executed by a mining node of a mining network, the method establishing an externally verifiable proof of work as immutable evidence of computational work completed by the mining node and generating a private data output. The proof of work is used to add block records to a blockchain. The method includes receiving, from a data broker server, a data package including signal information to be kept private by the mining node; analyzing the data package to convert, by computational work, the signal information into a corresponding private data output to be kept private by the mining node; generating, as a result of the analysis, a metadata characteristic of the analysis of the corresponding signal information; generating, using a cryptographic commitment scheme, a metadata commitment value for the data package analyzed by the mining node from a combination of the metadata and validation data; and transmitting the metadata commitment value and the validation data to a commitment database server that allows external access to the metadata commitment value to provide the externally verifiable proof of work.

[0016] Viewed from another aspect, the present disclosure provides a mining node that establishes an externally verifiable proof of work as immutable evidence of the computational work completed by the mining node to generate a private data output. The proof of work is used to add block records to a blockchain. The mining node includes a processor and memory storing instructions that, when executed by the processor, cause the mining node to perform the following operations: receiving a data package from a data broker server, the data package including signal information to be made private by the mining node; analyzing the data package to convert, by computational work, the signal information into a corresponding private data output that is also made private by the mining node; generating, as a result of the analysis, metadata characteristic of the analysis of the corresponding signal information, independent of the private data output generated by the analysis; generating, using a cryptographic commitment scheme, a metadata commitment value for the data package analyzed by the mining node from a combination of the metadata and validation data; and communicating the metadata commitment value and the validation data to a commitment database server that allows external access to the metadata commitment value to provide the externally verifiable proof of work.

[0017] Viewed from another aspect, 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 perform the following operations: receiving, from a data broker server, a data package including signal information to be kept private by a mining node; analyzing, by computational operations, the data package to transform the signal information into corresponding private data output to be kept private by the mining node; generating, as a result of the analysis, a metadata characteristic of the analysis of the corresponding signal information, the metadata being independent of the private data output generated by the analysis; generating, using a cryptographic commitment scheme, a metadata commitment value for the data package analyzed by the mining node from a combination of the metadata and verification data; and communicating the metadata commitment value and the verification data to a commitment database server that allows external access to the metadata commitment value to provide an externally verifiable proof of work.

[0018] In an embodiment, the method may further include: verifying, using a second metadata commitment value received from the commitment database server, that the second mining node generated matching metadata as a result of an analysis performed by the second mining node, where the second metadata commitment value was generated by analyzing the same data package by the second mining node; and, based on the verification, allowing external access to the metadata for persistent storage in the commitment database server, communicating the metadata of the data package to the commitment database server.

[0019] In an embodiment, the verifying may further include receiving, from the commitment database server after the second mining node completes analysis of the same data package, a second metadata commitment value for the data package generated by the second mining node and communicated to the commitment database server, and second verification data; generating, using a cryptographic commitment scheme, a regenerated second metadata commitment value for the data package from a combination of the metadata for the data package generated by the mining node and the received second verification data; comparing the regenerated second metadata commitment value with the received second metadata commitment value generated by the second mining node; and, if the comparison indicates that the regenerated second metadata commitment value and the received second metadata commitment value match, verifying that the second mining node successfully performed the same analysis of the data package and produced the same metadata and the same private data output.

[0020] In an embodiment, the method may further include communicating the metadata of the data package to a commitment database server only if the second metadata commitment value is verified.

[0021] In this way, a mining node can verify whether other mining nodes in the mining network analyzed the same data package and generated the same metadata as a result of their analysis by referencing other metadata commitment values ​​in an externally accessible commitment database. This is achieved by the mining node accessing the metadata commitment value submitted to the commitment database by the other mining nodes and attempting to regenerate the metadata commitment value using a cryptographic commitment scheme with the metadata generated by the mining node's own analysis and the verification data submitted to the commitment database along with the metadata commitment value. If the regenerated metadata commitment value is the same as the metadata commitment value submitted to the commitment server by the other mining nodes, the mining node can prove that its analysis was successfully completed and that it can be corroborated against other mining nodes that could not have colluded. If the minimum verification requirements are met, the mining node can request the issuance of a cryptographic token, for example, from a data broker server. The metadata commitment value entry submitted to the commitment database then serves as an externally verifiable proof of work without disclosing the private data output. In particular, if a mining node verifies a second metadata commitment value from a second mining node and then submits the mining node's generated metadata to a commitment database, any node with access to the commitment database can verify the work completed by the mining node by using a cryptographic commitment scheme based on the combination of the submitted metadata and verification data and comparing the regenerated metadata commitment value with the submitted metadata commitment value. In this way, the mining node's entry into the commitment database serves as an externally verifiable proof-of-work for analysis of data packages performed by the mining node, without the need to disclose private data outputs.Thus, a commitment database can support proof-of-work in such blockchain implementations without relying solely on the authority of a data broker server. Furthermore, a commitment database allows mining nodes to perform computational work that produces private data outputs while preventing collusion between mining nodes. It also allows non-colluding mining nodes to cross-check their analysis and submit externally verifiable proof-of-work.

[0022] In an embodiment, the data package is sent to at least one additional mining node for analysis, and the method may further include verifying, using one or more additional metadata commitment values ​​received from the commitment database server, that all of the at least one additional mining node generated matching metadata as a result of the analysis, where the or each metadata commitment value was generated by at least one additional mining node, and communicating the metadata of the data package to the commitment database server only if a minimum number of the received metadata commitment values ​​have been verified based on the verification. In this way, the same data package can be analyzed by more than one, or at least three, mining nodes, and the analysis results by each mining node are externally verifiable.

[0023] In an embodiment, external access to one or each metadata commitment value and one or each respective validation data for each metadata commitment value, and subsequently published metadata from a commitment database server enables proof of work by verifying that each metadata commitment value generated by each mining node was generated using a cryptographic commitment scheme from a combination of the respective validation data and matching metadata generated by analysis performed at each mining node.

[0024] In embodiments, the proof of work may be verified without reference to the private data output.

[0025] In an embodiment, the method may further include communicating the private data output of the data package to a data broker server.

[0026] In an embodiment, the method may further include generating a block record of the blockchain using a reference to at least the metadata commitment value stored in the commitment database server as a proof of work, and communicating the generated block record to at least another mining node of the mining network. In this manner, the metadata commitment value may function as a proof of work.

[0027] In embodiments, generating a block record for a blockchain may include referencing a version of the blockchain stored in one or more machine-readable storage media to extract a unique identifier for a previous block of the blockchain, and obtaining payload data from a data pool of unprocessed payload data.

[0028] In an embodiment, the verification data may include one or more of: a mining node identifier of the mining node performing the analysis of the data package; a data package identifier of the data package assigned by the data broker server; and a cryptographic nonce. Thus, the metadata commitment value for the same metadata output of the same data package may be different for each mining node. The data package identifier assigned by the data broker server to the same data package may be different for each mining node assigned to analyze the data package. This prevents collusion between mining nodes, since the mining nodes cannot identify other mining nodes processing the same data package. A mining node may monitor the commitment database and attempt to verify the metadata commitment value submitted to it by matching the metadata generated by the mining node with data packages that have not yet been verified. This is to attempt to find identical metadata generated by other mining nodes that analyzed the same data package and may have generated the same metadata.

[0029] In an embodiment, using a cryptographic commitment scheme includes generating a hash of the combination of the metadata and verification data generated by the mining node using a cryptographic hash function, where a suitable cryptographic hash function has the necessary properties to provide a suitable cryptographic commitment scheme.

[0030] In an embodiment, the data package includes at least one data entity, one or each data entity including signal information, the one or each data entity signal information being analyzed to convert it into a corresponding private data output, and the metadata commitment value may be a hash of a combination of metadata and verification data for all data entities in the data package.

[0031] In embodiments, the signal information represents a polynucleotide or polypeptide sequence, and converting the signal information into a corresponding non-public data output comprises converting the signal information into a corresponding read, wherein each read of the plurality of reads may describe a respective polynucleotide or polypeptide sequence.

[0032] In embodiments, the polynucleotide sequence may include a deoxyribonucleic acid (DNA) sequence or a ribonucleic acid (RNA) sequence. In embodiments, the signal information may include raw data generated by a nanopore sequencer. In embodiments, the signal information may include current flow through the nanopore and current information corresponding to the polynucleotide or polypeptide moving through the nanopore. In this manner, the method may provide a mechanism by which a mining node analyzes the signal information output from a genetic sequencer to generate polynucleotide or polypeptide sequence reads, and a mechanism by which the computational work required to generate the polynucleotide or polypeptide sequence can be externally verified and used to generate proof of work and add block records to a blockchain.

[0033] In an embodiment, a data package received from a data broker server assigned to a mining node may be randomly selected from a plurality of data packages stored on the data broker server for analysis.

[0034] In an embodiment, a data package received from a data broker server may specify one or more computer program products or algorithms for the mining node to use in analyzing the data package.

[0035] In embodiments, analysis of a data package by one or each mining node outputs the same metadata for the same private data output produced by the analysis, and the metadata and private data output do not comprise mutual information. In embodiments, the metadata is generated deterministically as a by-product of analysis of a data package that transforms signal information into private data output. In embodiments, the metadata and metadata commitment value are usable as evidence indicative of the private data output of analysis of a data package by a mining node.

[0036] In embodiments, the analysis of the data package by the mining node may include converting the signal information into a private data output using a pre-trained neural network, in embodiments, the metadata is based on a score generated by the neural network, the score representing the probability of accuracy of the private data output and / or the quality of the input signal information.

[0037] In embodiments, the blockchain is permissionless, allowing any computing device to act as a mining node.

[0038] In an embodiment, the metadata commitment value, validation data, and metadata of any data package are accessible by any mining node in a commitment database server. The commitment database of the commitment database server is publicly accessible. In this manner, any computing node capable of processing signal data can operate as a mining node in the mining network.

[0039] In an embodiment, the method further includes receiving a block record to add to the blockchain from another mining node in the blockchain network, extracting from the received block record a reference to a second metadata commitment value stored in a commitment database server, verifying the proof of work of the second mining node with the second metadata commitment value stored in the commitment database server, and updating the blockchain to include the received block record based on the verification. In this manner, the proof of work of the received block record to add to the blockchain can be verified by each mining node with reference to an entry in the commitment database without relying on trust in the data broker server acting as an authoritative server. In an embodiment, verifying the proof of work of the second mining node may include receiving, from a commitment database server, a second metadata commitment value, second verification data, and the subsequently revealed second metadata; hashing the received second metadata and the second mining node identifier to generate a regenerated second metadata commitment value; comparing the regenerated second metadata commitment value with the received second metadata commitment value; and verifying the proof of work of the received block record if the comparison indicates that the regenerated second metadata commitment value and the received second metadata commitment value match.

[0040] From another aspect, the present disclosure provides a commitment database server for use with multiple mining nodes as described herein, a method, and a computer program product implementing the method on the commitment database server. The method in the commitment database server includes receiving a first metadata commitment value and first verification data from a first mining node and receiving a second metadata commitment value and second verification data from a second mining node. The first and second metadata commitment values ​​are generated by the first and second mining nodes using a cryptographic commitment scheme from a combination of the respective verification data and analysis metadata characteristics through computational work by the respective mining nodes on a data package provided by a data broker server. The data package includes signal information kept private by the mining nodes. The analysis converts the signal information into corresponding private data output and generates analysis metadata characteristics for the corresponding signal information. The method further includes storing the first and second metadata commitment values ​​and the first and second verification data in an externally accessible, tamper-proof, and unalterable commitment database along with a timestamp of the time of receipt at a commitment database server; providing the second metadata commitment value and the second verification data to the first mining node for verification by the first mining node; and, when the first mining node determines that the second mining node analyzed the same data package as the first mining node, receiving from the first mining node metadata characteristics of the first mining node's analysis of the data package and storing in the commitment database along with a timestamp of the time of receipt at the commitment database server.

[0041] In this way, the commitment database maintains a tamper-proof, time-stamped record of metadata commitment values ​​and validation data, allowing mining nodes to externally validate the computational work done to generate the private data output without having to reveal the private data output, and successfully validated entries contain metadata that provides externally verifiable proof-of-work for use in adding block records to the blockchain.

[0042] In another aspect, the present disclosure provides a data broker server, a method for implementing the method in the data broker server, and a computer program product for use in combination with a commitment database server and a plurality of mining nodes as described herein. The method in the data broker server includes 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 the data package from a first mining node and a request for the data package from a second mining node, randomly selecting a data package to be processed 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 a second mining node with a second data package identifier different from the first data package identifier, receiving a first private data output from the first mining node that analyzed the data package, and receiving a second private data output from the second mining node that analyzed the data package. Accessing a commitment database in the commitment database server and cross-checking the validity of database entries for the first data package identifier and the second data package identifier. Once both miners have verified the value of the commitment database, they each release a metadata string to the database, making the process externally verifiable.

[0043] In this way, the data broker server can provide randomly selected data packages to mining nodes in the mining network for processing, and if the metadata commitment values ​​submitted to the commitment database cross-verify the computational work performed by the mining nodes, can provide signed cryptographic tokens that add block records to the blockchain, such that entries in the commitment database provide externally verifiable proof of work.

[0044] From the foregoing disclosure and the detailed description of the examples that follow, it will be appreciated by the reader that certain features and implementations described as optional with respect to any aspect of the disclosure above are also disclosed in combination with other aspects of the disclosure, where applicable. Similarly, attendant advantages described with respect to any aspect of the disclosure above should be understood to be disclosed as advantages of other aspects of the disclosure, where applicable. In other words, the description of optional features and advantages associated with particular aspects of the disclosure above is not intended to be limiting, and the disclosure of these optional features and advantages is intended to relate to all aspects of the disclosure in combination, where such combinations are applicable.

[0045] Specific embodiments of the present invention will now be described, by way of example only, with reference to the accompanying drawings, in which: [Brief explanation of the drawings]

[0046] [Figure 1] FIG. 1 illustrates an example system of networked devices that provides data packages obtained from genetic sequencers to mining nodes in a mining network for analysis, providing an externally verifiable proof of work that can be used to add block records to a blockchain without disclosing the private data output of the analysis, according to an embodiment of the present disclosure. [Figure 2]FIG. 2 shows a graph plotting signal information over time in the form of current data output by the gene sequencer shown in FIG. 1 , where the signal information is provided to a mining node for analysis by a data broker server, and shows an example sequence of values ​​generated by the mining node by analyzing the signal information, where the sequence values ​​represent private data output. [Figure 3] FIG. 3 illustrates a block diagram of one embodiment of a computing device used as a mining node shown in FIG. [Figure 4] FIG. 4 illustrates one embodiment of a method implemented by the exemplary mining node shown in FIG. 3 to establish an externally verifiable proof of work as immutable evidence of the computational work completed by the mining node and generate a private data output, which is used in adding block records to the blockchain. [Figure 5] FIG. 5 illustrates a block diagram of one embodiment of a computing device that may be used as the commitment database server shown in FIG. [Figure 6] FIG. 6 illustrates one embodiment of a method implemented by the exemplary commitment database server illustrated in FIG. 5 used in conjunction with the exemplary plurality of mining nodes illustrated in FIG. [Figure 7] FIG. 7 illustrates a block diagram of one embodiment of a computing device that may be used as the data broker server shown in FIG. [Figure 8] FIG. 8 illustrates one embodiment of a method implemented by an example data broker server, such as that shown in FIG. 7, for use in combination with an example commitment database server, such as that shown in FIG. 5, and an example plurality of mining nodes, such as that shown in FIG. 3. DETAILED DESCRIPTION OF THE INVENTION

[0047] Hereinafter, embodiments of the present disclosure will be described with reference to the accompanying drawings. However, it should be understood that the present disclosure is not limited to the embodiments, and all modifications and / or equivalents or alternatives thereto also fall within the scope of the present disclosure. The same or similar reference numerals may be used throughout this specification and drawings to refer to the same or similar elements.

[0048] As used herein, the terms "have," "may have," "include," or "may include" indicate the presence of a feature (e.g., a value, function, operation, or component such as a part) and do not exclude the presence of other features. Throughout this description and claims, the words "comprise" and "contain" and variations thereof mean "including but not limited to" and are not intended to (and do not) exclude other components, integers, or steps. Throughout this description and claims, the singular encompasses the plural unless the context otherwise requires. In particular, where the indefinite article is used, it shall be understood that the specification contemplates the plural as well as the singular unless the context otherwise dictates.

[0049] As used herein, 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. For example, "A or B," "at least one of A and B," or "at least one of A or B" may refer to 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.

[0050] As used herein, the terms "first" and "second" may modify various components, regardless of importance, and do not limit the components. These terms are used only to distinguish one component from another. For example, references to a first component and a second component may refer to components that are different from each other, regardless of the order or importance of the components.

[0051] When an element (e.g., a first element) is described as being "coupled" or "connected" (physically, operationally, or communicatively) to another element (e.g., a second element), it is understood that the element may be coupled or connected to the other element directly or through a third element. In contrast, when an element (e.g., a first element) is described as being "directly coupled" or "directly connected" to another element (e.g., a second element), it is understood that there are no intervening elements (e.g., a third element) between the element and the other element.

[0052] The terms used herein are provided only to describe some of the embodiments and do not limit the scope of other embodiments of the present disclosure. Unless the context clearly dictates otherwise, the singular forms "a," "an," and "the" are understood to include the plural. All terms, including technical and scientific terms, used herein have the same meaning as commonly understood by those skilled in the art to which the embodiments of the present disclosure belong. Furthermore, terms defined in commonly used dictionaries should be interpreted as meanings consistent with the meanings in the context of the relevant art, and should not be interpreted in an idealized or overly formal sense unless explicitly defined herein.

[0053] FIG. 1 illustrates an exemplary system 100 of networked devices that provides data packages obtained from genetic sequencers to mining nodes of a mining network for analysis, providing an externally verifiable proof of work that can be used to add block records to a blockchain without disclosing the private data output of the analysis, according to an embodiment of the present disclosure.

[0054] The system 100 includes a genetic sequencer 102 that extracts genetic signal information from a sample tube 106 containing polynucleotide strands from an organism 104 (in this case, a human). That is, the sample tube 106 may contain a sample of DNA or RNA from the organism 104 that has been appropriately prepared for sequencing by the genetic sequencer 102.

[0055] The genetic sequencer 102 provides output data, including genetic signal information contained in the sample tube 106, to a computing device configured as a genetic sequencer user node 110. The genetic sequencer user node 110 reads the genetic signal information from the genetic sequencer 102 and passes it to a data broker server 114 via the Internet 112. The data broker server 114 organizes the genetic signal information into one or more data packages, which are then randomly distributed to multiple mining nodes 116a, 116b, 116c...116n (only mining nodes 116a-116c are shown) for analysis and computational work to extract polynucleotide sequences from the genetic signal information.

[0056] For purposes of this disclosure, the gene sequencer 102 and gene sequencer user node 110 are provided solely to facilitate understanding of the operation of the system 100. The data broker server 114 may include a data package store of genetic signal information obtained from any suitable source that is processed by the mining network 120. A direct connection to the gene sequencer or gene sequencer user node 110 is not required.

[0057] In this embodiment, the illustrated exemplary genetic sequencer 102 represents a third-generation nanopore sequencer available from Oxford Nanopore Technologies (https: / / nanoporetech.com / ). However, the genetic signal information used in system 100 can be obtained from any suitable source and is not limited to this sequencing technology, including genetic signal information provided by second-generation sequencers or other suitable signal information requiring analysis or processing by computational work, suitable for processing by mining nodes 116a-116c in mining network 120, and usable by the proof-of-work to add block records to the blockchain.

[0058] In the example shown in FIG. 1 , the genetic sequencer 102 includes a membrane pore 108 (e.g., a nanopore) and is used as an electrical biosensor to detect genetic signal information in the form of polynucleotides contained in DNA or RNA sequences from a biological sample contained in a sample tube 106. Such membrane pores 108 can be used, for example, to identify small molecules or folded proteins or monitor chemical or enzymatic reactions at a near-single-molecule level by directing ion flow through the membrane pore 108 as the DNA / RNA strand passes through the membrane pore 108. When an analyte interacts with the membrane pore 108, a characteristic change in ion flow (e.g., a characteristic current profile) can occur as the analyte passes through the nanopore. That is, the ion flow (e.g., electron flow / current) through the membrane pore 108 can be measured under an applied potential difference across the membrane pore 108.

[0059] An example of genetic signal information 200 from genetic sequencer 102 plotted over time is shown in Figure 2. As can be seen, the plot shows genetic signal information 200 in the form of ion flow / current signal information, the morphology of which is characteristic of the analyte passing through transmembrane pore 108.

[0060] For example, when a polynucleotide strand, such as DNA, passes through a transmembrane pore 108, the nucleic acid bases of the DNA (i.e., adenine (A), cytosine (C), guanine (G), and thymine (T)) passing through the transmembrane pore 108 generate a resulting characteristic current profile depending on which combination of the four to five nucleic acid bases that make up the DNA strand passes through the sequencer. As seen in the genetic signal information 200 in Figure 2, this generates a current signal that drops to different levels, changing as each base leaves the pore and a new base enters from above. By interpreting the changes in current, the nucleic acid base sequence on the DNA strand can be inferred through a process known as "base calling." The results of base calling provide predicted values ​​for called bases 204 for various segments of raw data and are overlaid on a detailed portion 202 of the genetic signal information 200 shown in the bottom panel of Figure 2.

[0061] As can be seen, the genetic signal information 200 generated by a genetic sequencer (e.g., a nanopore sequencer) is typically very noisy due to electrical and environmental interference. Furthermore, the signal measured by the current passing through the pore reflects the presence of 4 to 5 nucleotides within the pore that make up the DNA strand. Therefore, the task of base calling to determine the polynucleotide sequence (i.e., determine the "read") from the genetic signal information 200 is a computationally intensive task to complete and often requires processing by artificial neural networks to analyze the genetic signal information 200. Therefore, determining the nucleic acid bases in the raw genetic signal information 200 requires processing by base calling using computationally intensive processes such as deep neural networks to predict the nucleic acid bases that produce the raw genetic signal information 200.

[0062] To facilitate accurate sequencing of this genetic signal information 200, a mining network 120 consisting of multiple mining nodes 116a-116n is used to provide distributed computing power to perform base calling analysis of the genetic signal information 200.

[0063] That is, the genetic sequencer user node 110 transmits raw genetic sequence information 200 to the data broker server 114 via the Internet 112. The data broker server 114 then assembles the genetic signal information 200 into multiple data packages and distributes them via the Internet 112 to multiple mining nodes 116a-116n in the mining network 120 for processing. Upon receiving the data packages, each mining node analyzes the genetic signal information 200 contained in the data packages using appropriate base-calling software, such as a pre-trained artificial neural network, to generate the nucleic acid base sequences within the reads as private data output. This genetic information is not made public and is kept confidential for confidentiality purposes. The private data output is then transmitted by the mining node back to the data broker server 114, which can then assemble, store, or relay the genetic sequence information, for example, for use by the genetic sequencer user node 110.

[0064] As a record of the successful completion of basecalling operations by mining nodes, the mining network 120 may maintain a blockchain, and block records that meet the validation requirements are added when mining nodes complete analysis of data packages received from the data broker server 114.

[0065] To provide an externally verifiable proof of work for each block record, mining nodes 116a-116n submit metadata commitment values ​​and verification data to a commitment database on a commitment database server 118. Entries in the commitment database can be used to verify, through cross-validation, that other mining nodes processed the same data package and obtained the same private data output. This proof allows a mining node to prove that it successfully completed its analysis work on a data package without colluding with other mining nodes, without having to reveal the private data output, and without having to trust a data broker server to verify its work.

[0066] 3-8, the configuration and operation of the mining nodes 116a-116c, commitment database server 118, and data broker server 114 that implement the exemplary system 100 will be described in more detail.

[0067] 3 and 4, we describe how, in response to receiving a data package, mining nodes 116a-116n generate private data outputs and metadata and submit metadata commitment values ​​to a commitment database for use as externally verifiable proof-of-work when adding block records to the blockchain.

[0068] Figure 3 shows a block diagram illustrating an embodiment of a computing device that may be used as a mining node as shown in Figure 1. While Figure 3 refers to mining node 116a, it should be understood that this is exemplary and is intended to describe the configuration and operation of any of mining nodes 116a-116n in mining network 120.

[0069] The mining node 116a includes a memory 302, one or more processors 304, and an input / output module 308. A bus system (not shown) may be provided to support communication between the at least one processor 304, the memory 302, and the input / output module 308.

[0070] The processor 304 executes instructions that may be loaded into the memory 302. The processor 304 may include any suitable number and type of processors or other devices in any suitable arrangement. Examples of types of processors include microprocessors, microcontrollers, digital signal processors, field programmable gate arrays, and application specific integrated circuits.

[0071] Memory 302 may be provided by any structure capable of temporarily or persistently storing and facilitating retrieval of information (such as data, program code, and / or other suitable information). Memory 302 may represent random access memory or other suitable volatile or non-volatile storage device(s). Memory 302 may include one or more components or devices that support long-term storage of data (e.g., read-only memory, hard drive, flash memory, optical disk, etc.) and may store software code that is loaded into memory 302 at execution time. In use, processor 304 and memory 302 provide a runtime environment 306, and instructions or code loaded into memory 302 may be executed by processor 304 to instantiate software modules in runtime environment 306.

[0072] The mining node 116 a also includes an input / output module 308 that provides a communication interface for receiving data from one or more data broker servers 114 and commitment database servers 118 over a network such as the Internet 112 .

[0073] Although shown in FIG. 1 as a standalone computing device, mining node 116a may be configured as a network-connected server or as a virtual machine implemented on a cloud computing service, either of which may be suitable for performing the gene signal information analysis, proof-of-work generation, and block record addition methods described herein.

[0074] In this example, memory 302 includes instructions to instantiate software modules corresponding to array data processor 310, array metadata handler 312, array data handler 314, blockchain management module 316, and commitment database management module 318. The functionality and operation of these modules are described with reference to FIG.

[0075] FIG. 4 illustrates one embodiment of a method 400 implemented by the exemplary mining node shown in FIG. 3 for establishing an externally verifiable proof of work as immutable evidence of the computational work completed by a mining node to generate private data outputs, which are used in adding block records to the blockchain.

[0076] In method 400, at step 402, mining node 116a receives a data package containing signal information to be made private by mining node 116a from data broker server 114 via input / output module 308. In an exemplary embodiment, the data package represents genetic signal information 200 of the type shown in Figure 2. The data package may be passed to sequence data processor 310 and stored in memory 302 for analysis using appropriate analytical tools.

[0077] The data package can include at least one data entity, where one or each data entity includes current information corresponding to current flow through the nanopore and genetic signal information representing a polynucleotide sequence in the sense that it includes polynucleotides passing through the nanopore. In other embodiments, the data package can include any other form of signal information processed by one or more mining nodes. For example, the signal information can represent a batch of images to be analyzed by an object recognition algorithm, images that need to be made private, or a batch of documents that need to be converted to a machine-readable format by optical character recognition.

[0078] Returning to method 400, in step 404, the sequence data processor 310 performs computational operations to analyze the data package and convert the signal information into corresponding private data output that is made private by the mining node.

[0079] In this step, in the example shown in FIG. 1 , the genetic signal information 200 output by the genetic sequencer 102 can be analyzed by a sequence data processor 310 that executes a suitable algorithm to perform base calling to determine the sequence of nucleic acid bases of the DNA / RNA molecules in the sample tube 108. Converting the genetic signal information 200 into corresponding non-public data output can include converting the genetic signal information 200 into corresponding reads, where each read of the plurality of reads describes a respective polynucleotide sequence for each data entity. The polynucleotide sequences can include deoxyribonucleic acid (DNA) sequences or ribonucleic acid (RNA) sequences. In embodiments, the signal information can include raw data generated by a nanopore sequencer. Specifically, the sequence data processor 310 can analyze the data package using a pre-trained neural network to convert the signal information into non-public data output. This base calling process generates called bases that predict the nucleic acid bases that passed through the nanopore to generate the current signal analyzed in the genetic signal information. To illustrate this, FIG. 2 shows the called bases 204 output as private data by the sequence data processor 310 overlaid on the details 202 of the genetic signal information 200. A significant amount of computational work is performed by the mining node 116a when applying the sequence data processor 310 to the data package. In particular, the data package may contain many data entities corresponding to the current trace obtained by the genetic sequencer 102 from a single DNA fragment that passed through the transmembrane pore 108. The data package received from the data broker server 114 may specify one or more computer program products or algorithms for the mining node 116a to use in analyzing the data package. In that case, the sequence data processor 310 uses the computer program product of the specified algorithm.

[0080] Processing of each data entity by the sequence data processor 310 generates a read for the analyzed DNA fragment, which is a representation of the base sequence of nucleic acid bases (A, C, G, T) in a suitable data structure such as FASTQ format. An example of the confidential data output by the sequence data processor 310 for a data entity in a data package is shown below: @5d08ebdf-4b02-45bf-ac72-8e5716ca468d runid=3b55a2b916b3c56c641a45f4898b156692a08534 sampleid=Strawb_leaf read=1440 ch=2028 start_time=2018-08-30T15:49:09Z

[0081] The base call data shown above for a single read includes a header indicating a data package identifier randomly assigned to the data package by the data broker server (in this example, "@5d08ebdf-4b02-45bf-ac72-8e5716ca468d") and a run identifier (in this example, "runid=3b55a2b916b3c56c641a45f4898b156692a08534"), as well as details about the sample, read size, start time, etc., providing original tracking data for the read. The bases called the read are then passed to the sequence data handler 314, which stores them in a payload indicating the nucleic acid base sequence to be shared with the data broker server 114. This data should be kept private unless the genetic sequencer user node 110 consents to the data broker server 114 sharing genetic sequence information about the read from the organism 104 with anyone other than the user. This nominally prevents blockchain network entities other than the data broker server 114 from verifying the private data outputs generated by a mining node for a data package, for example, by cross-checking the private data outputs generated for the same data package by multiple mining nodes.

[0082] To allow for external validation by entities other than the data broker server 114, metadata generated for the data package reads by the sequence data processor 310, which does not need to be kept private, is used.

[0083] That is, in step 406, the sequence data processor 310 also generates metadata characteristics of the analysis of the corresponding signal information as a result of the analysis. This metadata is independent of the private data output generated by the analysis. This metadata can be based on scores generated by the neural network, which represent the probability of accuracy of the private data output and / or the quality of the input signal information. That is, the base calling software assigns a probability-based quality score to bases in determining the base at each position in the DNA sequence that can be used by downstream software. This quality score is calculated as q=-10log10(p), where p is the probability of an incorrect base call. An example of a quality string generated by the sequence data processor 310 for the above read and stored with the base call data in the FASTQ data structure is as follows: )$$$%%$%'+*) / 3 / *+,5424-4.+,..-0+'0::1190.1 / 6)*-88- / / 0,1:;.37977944.781(-"&(#,$)(+-+().5-,('0,&.16:1'1;7.344..09<89734;<3 / 34:+)57+. / / -82$$(+%$&$&*.()(.9-8;:--111 / 0%&%$&&)*'((*'""$%$()'&)####%'*)16-+,5)'++48321"#$$%%$*)*$)&&$&&+. / &17557020*-&%%$%*( / -$&'&9::*04 / ##"#"#*')*742-)* / ,&* / ''-1+-.-.0 / -***,)67:9:.,567:787*2.%$&&'+ / (+*,-36<+6499++',$$2:4613539,+*)(+*20-2)&**))6-0112:91.50 / %'(1:41 / 11054<8248596)7*+71+-.43222+:;)'*#+ / 1 / 1-; / 107:882;8.0:58:64583*-*19:6,05804.4'(&(%(&'5-++*(+)-& / 3 / 0-%-2('+0.01-+,,,11.#$$$(-(,.50470.-*,(#%&$,.8187766<<8988<95692:9 / ),611272846('*,, / :4 / / 1694.:3*-4:001,.)052.-%)&-, / 75343)-)'+$$"%( / ,:1, / 53*,)--:*++- / ,-.433('$#$&&,+243791,*8+460*)+ / 3-'*%((7167 / 8. / ,;<2, / 912222$*++040.110.'4842;3.092250: / 2.;6'.,(.)&*,*+%4(+'(.-2 / ,-,1100297-799:323.000. / 1211()*.-02-.8 / <98. / ..9: / / ..- / 6 / %(-+'$+*+-2 / 0 / #%-' / .) / -),-0+.)'%%$&**',-.+5+06-.(2('*+0("#$"%'),+ / 073)'$&(+,9866()-.00308 / 0715--.&"&((''&'"&,)$#,-,2&&&%)0( / 7 / )''')%& / 1&+-"$#&,2 / 022703613-,+++ / 1$11&%#%&-,24715*))+596896788864(++10310))1-56689772;0-,&%&#-*6 / 27'####.

[0084] The quality metadata contains one character for each base of DNA contained in the read, and a quality score can be calculated as the character's ordinal value minus 33. This integer value is calculated by the base-calling software as -10log10(p), where p is an estimate of how incorrectly the base is called. This quality score is a measure of the quality of the raw signal data and is in no way related to the bases called from the signal. In any version of base-calling software (and any version of the neural network model), these scores are calculated deterministically, so any two mining nodes will produce the same sequence and the same quality data for a given input. This is true, for example, regardless of the architecture on which the software runs.

[0085] This quality data can be used in analyzing sequence data, for example to provide a measure of the reliability of each base of a sequence when building a consensus sequence on a data broker server during alignment. However, the quality string can also be used as metadata to enable external verification using a cryptographic commitment scheme and the commitment database server 118.

[0086] That is, analysis of a data package by a mining node 116a outputs the same quality metadata for the same genetic sequence information as the private data output produced by the analysis. The metadata and private data output do not contain mutual information. The metadata is generated deterministically as a by-product of the analysis of a data package to convert signal information into private data output. The metadata and metadata commitment value can be used as evidence of the private data output of a mining node's analysis of a data package. While this quality data is independent of the DNA sequence, its generation requires the computational work of base calling. Therefore, for example, the private data output does not need to be made public, and a verifying miner does not need to decode and verify the sequence of the data package, so that other mining nodes can publicly verify that two miners ran base calling software on a data entity and produced the same private data output.

[0087] To allow mining nodes to verify that each miner obtained the same sequence of quality scores without sharing the quality scores (which would enable collusion), a cryptographic commitment scheme and commitment database are used.

[0088] That is, in step 408, the array data processor 310 passes the metadata to the array metadata handler 312. The array metadata handler 312 uses a cryptographic commitment scheme to generate a metadata commitment value for the data package analyzed by the mining node from the combination of the metadata and the verification data. The verification data includes one or more of the following: a mining node identifier for the mining node that performed the analysis of the data package, a data package identifier for the data package assigned by the data broker server, and a cryptographic nonce. In this way, the metadata commitment value for the same metadata output for the same data package may be different for each mining node. The data package identifier assigned to the same data package by the data broker server may be different for each mining node responsible for analyzing that data package. This prevents collusion between mining nodes because a mining node cannot identify other mining nodes processing the same data package.

[0089] Any suitable cryptographic commitment scheme can be used that allows a mining node 116a to generate and initially publish only a "commitment" (i.e., a metadata commitment value that is different from the metadata itself) to some hidden value (i.e., the metadata itself), and then "reveal" that commitment (by publishing the hidden value, i.e., the metadata). The cryptographic commitment scheme must allow the public (or at least other mining nodes) to reuse 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., the cryptographic commitment scheme generates the metadata commitment value from the metadata itself and the verification data used to generate the metadata commitment value). The cryptographic commitment scheme must also ensure that, given only the commitment (i.e., the metadata commitment value), the opening (i.e., the metadata used to generate it) remains hidden (the "obscurity" property, i.e., the inability to decipher the metadata from the metadata commitment value). Finally, the cryptographic commitment scheme must ensure that the commitment cannot be revealed in multiple different ways (the "binding" property, i.e., the metadata commitment value actually ties the committer to one hidden metadata value). The cryptographic commitment scheme may be a cryptographic hash function such as SHA256 or SHAKE256, which are particularly efficient as cryptographic commitment schemes, however, any suitable cryptographic commitment scheme may be used.

[0090] If a cryptographic hash function is used, then in step 408, the generated metadata commitment value may be a hash of a combination of the metadata and verification data of all data entities in the data package. This combination may be a concatenation of quality strings. The verification data used is such that the metadata commitment value is different for each mining node that analyzes the data package and produces the same metadata output and the same private data output. This facilitates external verification and prevents collusion.

[0091] To enable cross-checking between mining nodes and subsequent external verification that the mining nodes have successfully completed their computational work and generated valid private data outputs, in step 410, the array metadata handler 312 of the mining node 116a communicates the metadata commitment value and verification data (via the input / output module 308) over the Internet 112 to the commitment database server 118. The commitment database server 118 allows external access to the metadata commitment value to provide an externally verifiable proof-of-work.

[0092] The method further includes the mining node 116a sending the private data output of the data package to the data broker server 114, which can verify, align, and assemble all reads generated by the mining network 120 for the dataset of all genetic signal information received for the organism 104 from the genetic sequencer 102 and share it with the genetic sequencer user node 110.

[0093] The operation of the commitment database server 118 and mining nodes to externally verify the work done by mining on data packages and then make them available for use as proof of work in the blockchain network is described with reference to Figures 5 and 6.

[0094] 5 shows a block diagram of an embodiment of a computing device used as the commitment database server 118. The commitment database server 118 comprises a memory 502, one or more processors 504, and an input / output module 508. A bus system (not shown) may be provided to support communication between the at least one processor 504, the memory 502, and the input / output module 508.

[0095] The processor 504 executes instructions that may be loaded into the memory 502. The processor 504 may include any suitable number and type of processors or other devices in any suitable arrangement. Examples of types of processors include microprocessors, microcontrollers, digital signal processors, field programmable gate arrays, and application specific integrated circuits.

[0096] The memory 502 may be provided by any structure capable of temporarily or permanently storing and facilitating retrieval of information (such as data, program code, and / or other suitable information). The memory 502 may represent random access memory or other suitable volatile or non-volatile storage. The memory 502 may also include one or more components or devices that support long-term storage of data, such as read-only memory, a hard drive, flash memory, or an optical disk, which may store software code that is loaded into the memory 502 at execution time. In use, the processor 504 and the memory 502 provide a runtime environment 506, in which instructions or code loaded into the memory 502 are executed by the processor 504 to instantiate software modules in the runtime environment 506.

[0097] The commitment database server 118 also includes an input / output module 508 that provides a communication interface for receiving data from one or more data broker servers 114 and mining nodes 116a-116n over a network such as the Internet 112.

[0098] Although shown in FIG. 5 as a standalone computing device, the commitment database server 118 may be a networked server or a virtual machine implemented in a cloud computing service, either of which is suitable for performing the method described below in connection with FIG. 6.

[0099] In this example, memory 502 includes instructions to instantiate software modules corresponding to a commitment database request handler 510 and a commitment database 512. The functionality and operation of these modules will be described with reference to FIG.

[0100] FIG. 6 illustrates one embodiment of a method 600 implemented by the commitment database server shown in FIG. 5 for use in conjunction with the multiple mining nodes shown in FIG.

[0101] In step 602, the commitment database server 118 receives a first metadata commitment value and first verification data from a first mining node (e.g., mining node 116a) via the Internet 112 at input / output module 508, which may be the output of step 410 performed by mining node 116a. A commitment database request handler 510 receives the first metadata commitment value and stores it in a commitment database 512 along with a timestamp.

[0102] In step 604, the commitment database server 118 receives, at input / output module 508, the second metadata commitment value and second verification data from a second mining node (e.g., mining node 116b) via the Internet 112. 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 along with a timestamp.

[0103] Accordingly, in step 606, the commitment database server 118 stores the first and second metadata commitment values ​​and the first and second verification data, along with a timestamp of their receipt at the commitment database server, in an externally accessible, tamper-proof, and immutable commitment database 512. The commitment database 512 is maintained as an immutable, tamper-proof record of the data entered, providing permanent proof of the work and metadata commitment values ​​generated and submitted by mining nodes in the mining network 120. To accomplish this, the commitment database 512 may itself be maintained as a blockchain spanning multiple nodes in the blockchain network.

[0104] In generating the first and second metadata commitment values, the first mining node 116a and the second mining node 116b may (or may not) successfully perform the same analysis on the same data package. The metadata commitment values ​​stored in the commitment database 512 allow mining nodes to cross-check to determine whether other mining nodes have analyzed the same data package and obtained the same results. This allows mining nodes to provide externally verifiable proof-of-work for adding block records to the blockchain.

[0105] To this end, in step 608, the commitment database request handler 510 provides the second metadata commitment value and second verification data to the first mining node 116a for verification by the first mining node 116a, which may be sent as a result of a request from the first mining node.

[0106] Next, verification of the second metadata commitment value by the first mining node 116a in the process executed by the first mining node 116a will be described.

[0107] When the mining node 116a receives the second metadata commitment value and the second verification data from the commitment database server via the input / output module 308, it passes them to the array metadata handler 312 to verify whether the second mining node generated matching metadata as a result of an analysis performed on the (same or different) data package. Verification of the second metadata commitment value by the first mining node 116a includes using a cryptographic commitment scheme (each mining node is designated to use the same cryptographic commitment scheme) to generate a regenerated second metadata commitment value for the data package from a combination of the first metadata for the data package generated by the mining node 116a and the received second verification data.

[0108] That is, the mining node 116a tests whether it can regenerate a second metadata commitment value using the metadata it generated by analyzing the data package and hashing it with the second verification data received from the commitment database 512. Thus, the verification is performed by the mining node 116a comparing the regenerated second metadata commitment value with the second metadata commitment value generated by the second mining node together with the second verification data received from the commitment database 512. If the comparison results in a match between the regenerated second metadata commitment value and the received second metadata commitment value, the mining node 116a can verify that the second mining node successfully performed the same analysis of the data package and generated the same metadata and the same private data output. Based on this verification, the mining node 116a can submit the data package's metadata to a commitment database server, allowing external access to the metadata for persistent storage. This is to "reveal" the hiding and further enable external verification of the work done by the mining node 116a (particularly since the metadata is sent with a later timestamp than the metadata commitment value and verification data).

[0109] Thus, in step 610, if the first mining node 116a verifies that the second mining node 116b analyzed the same data package (and achieved the same results) as the first mining node 116a, the commitment database server 118 receives from the first mining node 116a metadata characteristics of the first mining node 116a's analysis of the data package.

[0110] In step 612, the commitment database request handler 510 stores the metadata in the commitment database 512 along with a timestamp of the time of receipt at the commitment database server 118. Thus, the timestamped metadata received from the first mining node 116a may be stored along with the previously received timestamped first metadata commitment value and first verification data.

[0111] Because the first and second metadata commitment values ​​are stored in the externally accessible, time-stamped, immutable, and tamper-proof commitment database 512, the mining node 116a can use the entries of the first metadata commitment value and the first verification data stored in the commitment database 512 as externally verifiable proof-of-work. Thus, external access to one or each metadata commitment value and one or each verification data for each metadata commitment value, and the metadata subsequently published, from the commitment database server enables proof-of-work by verifying that each metadata commitment value generated by each mining node was generated using a cryptographic commitment scheme from a combination of the respective verification data and corresponding metadata generated by analysis performed at each mining node. The metadata stored in the commitment database 512 further enables this external verification.

[0112] The mining node monitors the commitment database and attempts to verify the metadata commitment values ​​submitted therein against metadata generated by the mining node in data packages that have not yet been verified, and attempts to find identical metadata generated by other mining nodes that may have analyzed the same data packages and generated the same metadata.

[0113] The operation of the data broker server that distributes data packages will now be described with reference to FIGS.

[0114] FIG. 7 illustrates a block diagram of one embodiment of a computing device for use as the data broker server 114 shown in FIG.

[0115] The data broker server 114 comprises a memory 702, one or more processors 707, and an input / output module 708. A bus system (not shown) supporting communication between the at least one processor 707, the memory 702, and the input / output module 708 may be provided.

[0116] Processor 707 executes instructions that may be loaded into memory 702. Processor 707 may include any suitable number and type of processors or other devices in any suitable arrangement. Examples of types of processors may include microprocessors, microcontrollers, digital signal processors, field programmable gate arrays, and application specific integrated circuits.

[0117] Memory 702 may be provided by any structure capable of temporarily or permanently storing and facilitating retrieval of information (such as data, program code, and / or other suitable information). Memory 702 may represent random access memory or other suitable volatile or non-volatile storage. Memory 702 may also include one or more components or devices that support long-term storage of data, such as read-only memory, a hard drive, flash memory, or an optical disk, which may store software code that is loaded into memory 702 at execution time. In use, processor 707 and memory 702 provide a runtime environment 706. Runtime environment 706 is configured such that instructions or code loaded into memory 702 are executed by processor 707 to instantiate software modules in runtime environment 706.

[0118] The mining node 116a also includes an input / output module 708 that provides a communication interface for receiving data from one or more mining nodes 116a-116n and the commitment database server 118 over a network such as the Internet 112.

[0119] Although shown in FIG. 1 as a standalone computing device, the data broker server 114 may be a networked server or a virtual machine implemented on a cloud computing service, either of which is suitable for performing the methods described herein.

[0120] In this example, memory 702 includes instructions to instantiate software modules corresponding to a data package generator 710, a data package store 712, and a data package request handler 714. The functionality and operation of these modules will be described with reference to FIG.

[0121] FIG. 8 illustrates one embodiment of a method 800 implemented by the example data broker server shown in FIG. 7 for use in conjunction with the example commitment database server shown in FIG. 5 and the example plurality of mining nodes shown in FIG. 3.

[0122] Generally, the data broker server 114 receives datasets from sequencing users (such as gene sequencer user nodes 110) and generates work packages of data entities for processing by mining nodes. Once all data entities in the dataset have been base called by the mining nodes, the data broker server 114 returns the assembled base-called data to the sequencing user.

[0123] Thus, in method 800, in step 802, the data broker server 114 receives, via the input / output module 708, signal information to be made private, such as genetic signal information 200 in the form of a dataset generated by a genetic sequencer 102 processing a sample from an organism 104.

[0124] The received signal information is passed to a data package generator 710, which organizes the signal information into one or more data packages and stores them in a data package store 712. For example, the data broker server 114 can divide the received signal information (e.g., by separating the reads of the genetic sequencer 102) and randomly group them into packages of signal information to be processed. This masks the signal information, preventing the mining nodes from reconstructing the genetic sequence information of the organism 104 and keeping it private.

[0125] Once the data packages are assembled and stored ready for processing, the data broker server 114 publishes the data packages requiring processing to the mining nodes, allowing the mining nodes to request the data packages for processing. Thus, in step 806, the data broker server 114 receives a data package request from the first mining node 116a and a data package request from the second mining node 116b via the input / output module 708. These requests are passed to the data package request handler 714 for processing.

[0126] In step 808, the data package request handler 714 randomly selects a data package from the data package store that is waiting to be processed.

[0127] In step 810, the data package request handler 714 transmits the selected data package from the data package store 712 via the input / output module 708 to a first mining node having a first data package identifier and a second mining node having a second data package identifier that is different from the first data package identifier. In this way, the first mining node and the second mining node are unaware that they are receiving the same data package, and collusion is avoided. Because the data packages are assigned randomly, it is impractical for a mining node to try to find other mining nodes in the mining network 120 that are receiving the same data package, and collusion is avoided.

[0128] In an embodiment, a data package is sent for analysis to at least one of mining nodes 116c-116n, and each mining node can cross-check each with other entries in commitment database server 118. In this way, the same data package can be analyzed by more than one, or at least three, mining nodes, and the results of each mining node's analysis can be externally verified.

[0129] After the first and second mining nodes process the data package and cross-confirm using the commitment database 512 that another mining node has successfully verified the same data package, the nodes send a private data output back to the data broker server 114.

[0130] Thus, in step 812, the data broker server 114 receives, via input / output module 708, a first private data output from a first mining node that analyzed the data package and a second private data output from a second mining node that analyzed the data package. The data broker server 114 can directly cross-check and verify the private data outputs of the same data package before assembling the genetic sequence information from all the private data outputs and sending it back to the genetic sequencer user node 110. Because the mining nodes use substitution encryption on the genetic sequence information, it is not possible to directly verify that two miners generated the same sequence, but both sequences can be decrypted by the data broker server 114.

[0131] When the data broker server 114 issues a cryptographic token to a mining node for adding a block record to the blockchain, the data broker server 114 may verify the externally verifiable proof of work in the commitment database by accessing the commitment database 512 of the commitment database server 118 and cross-checking that the database entries for the first data package identifier and the second data package identifier are verified, in step 814. The data broker server 114 may need to meet other verification requirements, such as a minimum number of matching private data outputs, before issuing a signed cryptographic token.

[0132] In this manner, the data broker server 114 can provide randomly selected data packages to mining nodes in the mining network for processing, and if the metadata commitment values ​​submitted to the commitment database cross-verify the computational work performed by the mining nodes, can provide signed cryptographic tokens that add block records to the blockchain, such that the commitment database entries provide externally verifiable proof of work.

[0133] In other embodiments, a mining node does not need a signed cryptographic token from the data broker server 114 to add a block record to the blockchain; the mining node can directly use an entry in the commitment database 512.

[0134] Once a mining node has verified the commitment database server 118 and can use the entry as an externally verifiable proof of work for the data package, and other requirements are met, a block record can be added to the blockchain. Method steps for achieving this are described in relation to the mining node 116a and FIG. 3. The blockchain management module 316 can generate block records for the blockchain using at least a reference to the metadata commitment value stored in the commitment database server 118 as proof of work.

[0135] Thus, generating a block record of the blockchain may include the blockchain management module 316 referencing a version of the blockchain stored locally on the mining node 116a in one or more machine-readable storage media to extract a unique identifier for a previous block of the blockchain and obtain payload data from a data pool of unprocessed payload data. A new block may be generated that includes a reference to the previous block and a reference to a commitment database 512 entry in the commitment database server 118 (as proof of work) and / or any cryptographic tokens received from the data broker server 114.

[0136] Mining node 116a can then communicate the generated block record to at least other mining nodes in the mining network (e.g., mining node 116b and mining node 116b) via input / output module 308. These mining nodes consult their locally stored blockchain to verify that the newly received block from mining node 116a is valid (see commitment database server 118) before adding the lock record to their locally stored blockchain and before sending the new block record to other mining nodes in the mining network so that each node can update the blockchain and add the block record.

[0137] Adding a block record to the blockchain at another mining node (e.g., mining node 116b) can include mining node 116b receiving a block record to add to the blockchain from another mining node in the blockchain network (in this case, mining node 116a). Mining node 116b can extract a reference to a first metadata commitment value stored in a commitment database server from the received block record and verify the first mining node's proof of work using the first metadata commitment value stored in the commitment database server. Based on this verification, mining node 116b can update the version of the blockchain stored therein to include the received block record.

[0138] The verification of the proof of work of the first mining node 116a may include the second mining node 116b receiving the first metadata commitment value, the first verification data, and the subsequently published first metadata from the commitment database server. The second mining node 116b may then generate a regenerated first metadata commitment value using a cryptographic commitment scheme, such as hashing the received first metadata and the first mining node identifier. The second mining node 116b may then compare the regenerated first metadata commitment value with the received first metadata commitment value, and if the comparison shows that the regenerated first metadata commitment value and the received first metadata commitment value match, the second mining node 116b may verify the proof of work of the received block record.

[0139] In this way, proof of work of block records received for addition to the blockchain can be verified by each mining node by reference to entries in the commitment database, without relying on trust in the data broker server to act as an authoritative server.

[0140] Because blockchain is permissionless, any computing device can act as a mining node (provided it can run mining software and process signal information).

[0141] According to the present disclosure, a commitment database, which maintains a tamper-proof and time-stamped record of metadata commitment values ​​and verification data, allows mining nodes to externally verify the computational work performed to generate private data outputs without revealing the private data outputs. Successfully verified entries contain metadata that provides externally verifiable proof-of-work for use in adding block records to the blockchain. By referencing other metadata commitment values ​​in the externally accessible commitment database, a mining node can check and verify whether other mining nodes in the mining network have analyzed the same data package and generated the same metadata from that analysis. This is achieved by a mining node accessing the metadata commitment values ​​submitted to the commitment database by other mining nodes and attempting to regenerate the metadata commitment value using a cryptographic commitment scheme with the metadata generated by the mining node's own analysis and the verification data submitted to the commitment database along with the metadata commitment value. If the regenerated metadata commitment value is identical to the metadata commitment value submitted to the commitment server by the other mining nodes, the mining node can prove that the analysis was successfully completed and that it can be corroborated by other non-colluding mining nodes. If the minimum validation requirements are met, the mining node can request the issuance of a cryptographic token, for example from a data broker server. The metadata commitment value entry submitted to the commitment database serves as an externally verifiable proof-of-work without revealing its private data output.In particular, if a mining node verifies a second metadata commitment value from a second mining node and then submits the mining node's generated metadata to a commitment database, any node with access to the commitment database can verify the work completed by the mining node by comparing the regenerated metadata commitment value with the submitted metadata commitment value using a cryptographic commitment scheme based on the combination of the submitted metadata and verification data. In this way, the mining node's entry into the commitment database serves as an externally verifiable proof-of-work for the analysis of the data package performed by the mining node without revealing the private data output. Therefore, the commitment database can support proof-of-work in such blockchain implementations without relying solely on the authority of the data broker server. Furthermore, the commitment database allows mining nodes to perform computational work that generates private data outputs while preventing collusion between mining nodes. At the same time, non-colluding mining nodes can cross-check their analysis results and submit externally verifiable proof-of-work.

[0142] Further, according to the present disclosure, the method may provide a mechanism by which mining nodes analyze signal information output from a genetic sequencer to generate polynucleotide sequence reads, and a mechanism by which the computational work required to generate the polynucleotide sequences can be externally verified, thereby generating proof of work that can be used to add block records to the blockchain, while keeping the polynucleotide sequences private.

[0143] It should be understood that features, integers, properties, or groups described in connection with a particular aspect, embodiment, or example of the present invention are also applicable to other aspects, embodiments, or examples described herein, unless inconsistent therewith. All features and / or steps of the disclosed methods or processes disclosed herein (including the accompanying claims, abstract, and drawings) may be combined in any combination, except combinations in which at least some features and / or steps are mutually exclusive. The present invention is not limited to the details of the foregoing embodiments. The present invention extends to any novel single or novel combination of features or novel single or novel combination of steps of the disclosed methods or processes disclosed herein (including the accompanying claims, abstract, and drawings). In particular, a dependent claim may be combined with any independent claim and with any other dependent claim.

[0144] In the preceding detailed description, many of the processing tasks described relate to converting signal information representing polynucleotide sequences into base sequences. However, those skilled in the art will appreciate that the methods and apparatus described herein are applicable to other types of signal information. For example, the signal information may relate to other natural molecules, such as proteins or secondary modifications. As another example, the signal information may relate to modified or synthetic molecules, such as oligonucleotide tags, nucleic acid analogs, or extenders containing extendable nucleoside triphosphates.

[0145] Each feature disclosed in this specification (including the accompanying claims, abstract, and drawings) may be replaced by an alternative feature serving the same, equivalent, or similar purpose, unless expressly stated otherwise. Thus, unless expressly stated otherwise, each disclosed feature is only an example of a generic range of equivalent or similar features. The invention is not limited to the details of the foregoing embodiments. The invention extends to any novel form or combination of features disclosed in this specification (including the accompanying claims, abstract, and drawings), or any novel form or combination of steps of a disclosed method or process. The scope of the claims is intended to encompass not only the foregoing embodiments, but also all embodiments falling within the scope of the claims.

Claims

1. 1. A method performed on a mining node of a mining network, comprising:

1. A method for establishing an externally verifiable proof of work as immutable evidence of computational work completed by said mining node and generating a private data output, comprising: The proof of work is used to add a block record to the blockchain, The method comprises: receiving a data package from a data broker server, the data package including signal information made private by the mining node; analyzing the data package to convert, by computational effort, the signal information into a corresponding private data output to be made private by the mining node; generating, as a result of the analysis, metadata characteristic of an analysis of the corresponding signal information, the metadata being independent of the private data output produced by the analysis; generating a metadata commitment value for the data package analyzed by the mining node from the combination of the metadata and verification data using a cryptographic commitment scheme; communicating the metadata commitment value and the verification data to a commitment database server that allows external access to the metadata commitment value to provide an externally verifiable proof of work; A method comprising:

2. verifying that the second mining node generated matching metadata as a result of an analysis performed by the second mining node using a second metadata commitment value received from the commitment database server, where the second metadata commitment value was generated by the second mining node analyzing the same data package; based on the verification, communicating the metadata of the data package to the commitment database server, allowing external access to the metadata for persistent storage in the commitment database server; The method of claim 1 further comprising:

3. The verifying step further comprises: receiving, from the commitment database server after a second mining node has completed analysis of the same data package, a second metadata commitment value and second verification data for the data package generated by the second mining node and communicated to the commitment database server; generating a regenerated second metadata commitment value for the data package from a combination of the metadata for the data package generated by the mining node and the received second verification data using a cryptographic commitment scheme; comparing the regenerated second metadata commitment value with the received second metadata commitment value generated by the second mining node; If the comparison indicates that the regenerated second metadata commitment value matches the received second metadata commitment value, verifying that the second mining node successfully performed the same analysis of the data package and produced the same metadata and the same private data output; The method of claim 1 further comprising:

4. communicating the metadata of the data package to the commitment database server only if the second metadata commitment value is verified; The method of claim 2 or 3, further comprising:

5. transmitting the data package to at least one further mining node for analysis; verifying that all of at least one further mining node generated matching metadata as a result of the analysis using one or more further metadata commitment values ​​received from the commitment database server, wherein the or each metadata commitment value was generated by at least one further mining node; communicating the metadata of the data package to the commitment database server only if a minimum number of the received metadata commitment values ​​are verified based on the verification; The method of claim 4 further comprising:

6. and verifying that each metadata commitment value generated by each mining node was generated using the cryptographic commitment scheme from a combination of the respective validation data and the matching metadata generated by the analysis performed at each mining node, with external access from the commitment database server to one or each of the metadata commitment values ​​and one or each of the validation data for each metadata commitment value, and the metadata subsequently published.

6. The method according to any one of claims 2 to 5.

7. the proof of work is verifiable without reference to the private data output; 7. The method according to any one of claims 1 to 6.

8. communicating the private data output of the data package to the data broker server; The method of any one of claims 1 to 7, further comprising:

9. generating block records of the blockchain using as the proof of work a reference to at least a metadata commitment value stored in the commitment database server; communicating the generated block record to at least another mining node of the mining network; The method of any one of claims 1 to 8, further comprising:

10. generating a block record of the blockchain, extracting a unique identifier of a previous block of the blockchain by referencing a version of the blockchain stored on one or more machine-readable storage media; Obtaining payload data from a data pool of raw payload data; 10. The method of claim 9, comprising:

11. The verification data is a mining node identifier of the mining node that performs the analysis of the data package; a data package identifier for the data package assigned by the data broker server; and A cryptographic nonce, including one or more of:

11. The method of any one of claims 1 to 10.

12. Using the cryptographic commitment scheme generating a hash of the combination of the metadata and the verification data generated by the mining node using a cryptographic hash function; 12. The method of any one of claims 1 to 11.

13. the data package includes at least one data entity; the or each data entity comprises signalling information; analyzing the signal information of the or each data entity to convert it into a corresponding private data output; the metadata commitment value is a hash of the combination of the metadata and the validation data of all data entities of the data package; 13. The method of any one of claims 1 to 12.

14. the signal information represents a polynucleotide sequence; converting the signal information to a corresponding private data output includes converting the signal information to a corresponding read; each read of said plurality of reads describes a respective polynucleotide sequence; 14. The method of any one of claims 1 to 13.

15. The polynucleotide sequence comprises a deoxyribonucleic acid (DNA) sequence or a ribonucleic acid (RNA) sequence.

15. The method of claim 14.

16. The signal information includes raw data generated by a nanopore sequencer.

16. The method of any one of claims 1 to 15.

17. the signal information includes current information corresponding to current flow through the nanopore and polynucleotide translocation through the nanopore; 17. The method of claim 16.

18. The data package received from the data broker server assigned to the mining node for analysis is randomly selected from a plurality of data packages stored on the data broker server for analysis.

18. The method of any one of claims 1 to 17.

19. The data package received from the data broker server specifies one or more computer program products or algorithms for use by the mining node in analyzing the data package.

19. The method of any one of claims 1 to 18.

20. analysis 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 do not include mutual information; 20. The method of any one of claims 1 to 19.

21. The metadata is deterministically generated as a by-product of analyzing the data package to convert the signal information into the private data output.

21. The method of any one of claims 1 to 20.

22. the metadata and the metadata commitment value, can be used as evidence of the private data output of the mining node's analysis of the data package; 22. The method of any one of claims 1 to 21.

23. The analysis of the data package by the mining node includes converting signal information into a non-public data output using a pre-trained neural network.

23. The method of any one of claims 1 to 22.

24. the metadata is based on the scores generated by the neural network; the score represents the probability of accuracy of the private data output and / or the quality of the input signal information; 24. The method of claim 23.

25. The blockchain is permissionless, allowing any computing device to act as a mining node 25. The method of any one of claims 1 to 24.

26. The metadata commitment value, the verification data, and the metadata of any data package are accessible by any mining node in the commitment database server; Optionally, publicly accessible, 26. The method of any one of claims 1 to 25.

27. receiving a block record to add to the blockchain from another mining node of the blockchain network; extracting from the received block record a reference to a second metadata commitment value stored in the commitment database server; Verifying the proof of work of the second mining node using the second metadata commitment value stored in the commitment database server; updating the blockchain to include the received block record based on the validation; 27. The method of any one of claims 1 to 26, further comprising:

28. Verifying the proof of work of the second mining node includes: receiving the second metadata commitment value, second verification data, and subsequently published second metadata from the commitment database server; hashing the received second metadata and the second mining node identifier to generate a regenerated second metadata commitment value; comparing the regenerated second metadata commitment value with the received second metadata commitment value; If the comparison shows that the regenerated second metadata commitment value and the received second metadata commitment value match, verifying the proof of work of the received block record; and 20. The method of claim 17, comprising:

29. A mining node that establishes an externally verifiable proof of work as immutable evidence of the computational work completed by the mining node to generate a private data output, The proof of work is used to add a block record to the blockchain, The mining node a processor; and a memory storing instructions that, when executed by the processor, cause the mining node to perform the following operations: The operation is receiving a data package from a data broker server, the data package including signal information made private by the mining node; analyzing the data package to convert, by computational effort, the signal information into a corresponding private data output to be made private by the mining node; generating, as a result of the analysis, metadata characteristic of an analysis of the corresponding signal information, the metadata being independent of the private data output produced by the analysis; generating a metadata commitment value for the data package analyzed by the mining node from the combination of the metadata and verification data using a cryptographic commitment scheme; communicating the metadata commitment value and the verification data to a commitment database server that allows external access to the metadata commitment value to provide an externally verifiable proof of work; Contains Mining node.

30. 1. A computer program product optionally embodied in a non-transitory computer-readable storage medium, comprising: comprising instructions that, when executed by a computer, cause the computer to perform the following actions: The operation is receiving a data package from a data broker server, the data package including signal information made private by the mining node; analyzing the data package to convert, by computational effort, the signal information into a corresponding private data output to be made private by the mining node; generating, as a result of the analysis, metadata characteristic of an analysis of the corresponding signal information, the metadata being independent of the private data output produced by the analysis; generating a metadata commitment value for the data package analyzed by the mining node from the combination of the metadata and verification data using a cryptographic commitment scheme; communicating the metadata commitment value and the verification data to a commitment database server that allows external access to the metadata commitment value to provide an externally verifiable proof of work; Contains Computer program products.

31. 30. A method executed on a commitment database server and used in conjunction with a plurality of mining nodes according to claim 29, comprising:

1. A method for establishing externally verifiable proof of work as immutable evidence of computational work completed by a mining node, and for establishing said proof of work for use in adding block records to a blockchain, comprising: receiving a first metadata commitment value and first validation data from a first mining node; receiving a second metadata commitment value and second validation data from a second mining node; Including, the first and second metadata commitment values ​​are generated by the first and second mining nodes using a cryptographic commitment scheme from a combination of metadata characteristics of analysis of the data package provided by the data broker server with the respective validation data through computational work by the respective mining nodes; the data package includes signal information made private by the mining node; the analysis converting the signal information into a corresponding non-public data output and generating metadata characteristics related to the analysis of the corresponding signal information; The method further comprises: storing the first and second metadata commitment values ​​and the first and second verification data, along with a timestamp of the time of receipt at the commitment database server, in an externally accessible, tamper-proof, unalterable commitment database; providing the second metadata commitment value and the second validation data to the first mining node for validation by the first mining node; receiving from the first mining node the metadata characteristics of the analysis of the data package by the first mining node when the first mining node determines that the second mining node has analyzed the same data package as the first mining node; storing the metadata in the commitment database together with a timestamp of the time of receipt by the commitment database server; A method comprising:

32. 30. A commitment database server for use in combination with a plurality of mining nodes according to claim 29 to establish externally verifiable proof of work as immutable evidence of computational work completed by said mining nodes to generate private data outputs, comprising: The proof of work is used to add block records to the blockchain; The commitment database server a processor; a memory storing instructions that, when executed by the processor, cause the commitment database server to: The operation is receiving a first metadata commitment value and first validation data from a first mining node; receiving a second metadata commitment value and second validation data from a second mining node; Including, the first and second metadata commitment values ​​are generated by the first and second mining nodes from a combination of validation data for each data package provided by a data broker server and metadata characteristics analyzed by the computational work of each mining node using a cryptographic commitment scheme; the data package includes signal information made private by the mining node; the analysis converting the signal information into a corresponding non-public data output and generating metadata characteristics of the analysis of the corresponding signal information; The commitment database server further storing the first and second metadata commitment values ​​and the first and second verification data together with a timestamp of their receipt at the commitment database server in an externally accessible, tamper-proof, and unalterable commitment database; providing the second metadata commitment value and the second validation data to the first mining node for validation by the first mining node; receiving from the first mining node the metadata characteristic of the first mining node's analysis of the data package when the first mining node determines that the second mining node has analyzed the same data package as the first mining node; storing the metadata in the commitment database together with a timestamp of the time of receipt by the commitment database server; Run Commitment database server.

33. 30. A computer program product optionally embodied in a non-transitory computer-readable storage medium and comprising instructions that, when executed by a computer, cause the computer to perform the method of claim 29.

34. 32. A method executed on a data broker server in combination with a commitment database server according to claim 32 and a plurality of mining nodes according to claim 29, 1. A method for establishing externally verifiable proof of work as immutable evidence of the computational work completed by said mining nodes to generate said private data output, comprising: The proof of work is used to add block records to the blockchain; The method comprises: receiving signal information to be kept private; storing the signaling 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 from the data package store to be processed; 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 from the first data package identifier; receiving a first private data output from the first mining node that analyzed the data package and a second private data output from the second mining node that analyzed the data package; accessing a commitment database of the commitment database server and cross-checking the validity of database entries for the first data package identifier and the second data package identifier; A method comprising:

35. 32. A data broker server used in combination with the commitment database server of claim 32 and the plurality of mining nodes of claim 29 to establish an externally verifiable proof of work as immutable evidence of the computational work completed by the mining nodes to generate private data outputs, comprising: The proof of work is used to add a block record to the blockchain, The data broker server a processor; and a memory storing instructions that, when executed by the processor, cause the data broker or server to perform the following operations: The operation is receiving signal information to be kept private; storing the signaling 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 from the data package store to be processed; Sending the selected data package to a first mining node with a first data package identifier and sending the selected data package to a second first mining node with a second data package identifier different from the first data package identifier; receiving a first private data output from the first mining node that analyzed the data package and receiving the second private data output from a second mining node that analyzed the data package; accessing the commitment database in the commitment database server and cross-checking the database entries of the first data package identifier and the second data package identifier for validity; Data broker server including

36. 1. A computer program product optionally embodied in a non-transitory computer-readable storage medium, comprising:

35. A computer program product comprising instructions that, when executed by a computer, cause the computer to perform the method of claim 34.