+

CN118316925A - Data processing method, device, readable medium and equipment based on distributed nodes - Google Patents

Data processing method, device, readable medium and equipment based on distributed nodes Download PDF

Info

Publication number
CN118316925A
CN118316925A CN202310020504.9A CN202310020504A CN118316925A CN 118316925 A CN118316925 A CN 118316925A CN 202310020504 A CN202310020504 A CN 202310020504A CN 118316925 A CN118316925 A CN 118316925A
Authority
CN
China
Prior art keywords
data
processing
share
blockchain
processed
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN202310020504.9A
Other languages
Chinese (zh)
Inventor
张慧
王宗友
蓝虎
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Tencent Technology Shenzhen Co Ltd
Original Assignee
Tencent Technology Shenzhen Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Tencent Technology Shenzhen Co Ltd filed Critical Tencent Technology Shenzhen Co Ltd
Priority to CN202310020504.9A priority Critical patent/CN118316925A/en
Publication of CN118316925A publication Critical patent/CN118316925A/en
Pending legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/602Providing cryptographic facilities or services
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/62Protecting access to data via a platform, e.g. using keys or access control rules
    • G06F21/6218Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database
    • G06F21/6245Protecting personal data, e.g. for financial or medical purposes
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/64Protecting data integrity, e.g. using checksums, certificates or signatures
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0816Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
    • H04L9/085Secret sharing or secret splitting, e.g. threshold schemes

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Health & Medical Sciences (AREA)
  • Bioethics (AREA)
  • General Health & Medical Sciences (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Medical Informatics (AREA)
  • Databases & Information Systems (AREA)
  • Storage Device Security (AREA)

Abstract

本申请的实施例提供了一种基于分布式节点的数据处理方法、装置、可读介质及设备。该基于分布式节点的数据处理方法包括:接收区块链参与方发送的份额数据,份额数据是由区块链参与方对待处理数据进行秘密共享得到的;对份额数据进行处理得到份额处理结果,并获取其它分布式节点对接收到的份额数据进行处理得到的份额处理结果;对获取到的份额处理结果进行重组,得到待处理数据对应的处理结果;将处理结果进行上链处理,以使区块链参与方从区块链中获取处理结果。本申请实施例的技术方案实现了在不公开隐私数据的情况下依旧可以使用该数据,从而提升了隐私数据的安全性。

The embodiments of the present application provide a data processing method, device, readable medium and equipment based on distributed nodes. The data processing method based on distributed nodes includes: receiving share data sent by blockchain participants, the share data is obtained by the blockchain participants through secret sharing of the data to be processed; processing the share data to obtain the share processing result, and obtaining the share processing result obtained by other distributed nodes processing the received share data; reorganizing the obtained share processing results to obtain the processing results corresponding to the data to be processed; and up-chaining the processing results so that the blockchain participants can obtain the processing results from the blockchain. The technical solution of the embodiments of the present application realizes that the private data can still be used without disclosing the private data, thereby improving the security of the private data.

Description

基于分布式节点的数据处理方法、装置、可读介质及设备Data processing method, device, readable medium and equipment based on distributed nodes

技术领域Technical Field

本申请涉及计算机技术领域,具体而言,涉及一种基于分布式节点的数据处理方法、装置、可读介质及设备。The present application relates to the field of computer technology, and in particular to a data processing method, apparatus, readable medium and device based on distributed nodes.

背景技术Background technique

隐私数据即包含为所有者不愿意被披露的敏感信息,包括敏感数据以及数据所表征的特性。由于隐私数据的特殊性,对于所有者而言,希望隐私数据对于其他对象能够“可用不可见”,即其他对象可以对隐私数据执行计算,但是不希望任何人、任何系统窥探到隐私数据。Private data contains sensitive information that the owner does not want to be disclosed, including sensitive data and the characteristics represented by the data. Due to the particularity of private data, the owner hopes that the private data can be "available but invisible" to other objects, that is, other objects can perform calculations on the private data, but do not want anyone or any system to spy on the private data.

在多方协作的场景中,区块链上的多个业务方,在执行业务流程时,往往涉及到商业机密或者对象敏感信息等隐私数据需要进行联合计算,此时就需要区块链具备多方隐私计算的能力,保障数据的安全性。因此,在涉及到商业机密数据等问题时,如何实现隐私数据的安全计算亟待解决。In the scenario of multi-party collaboration, when multiple business parties on the blockchain execute business processes, they often need to jointly calculate private data such as commercial secrets or object sensitive information. At this time, the blockchain needs to have the ability of multi-party privacy computing to ensure data security. Therefore, when it comes to issues such as commercial confidential data, how to achieve secure computing of private data needs to be solved urgently.

发明内容Summary of the invention

本申请的实施例提供了一种基于分布式节点的数据处理方法、装置、可读介质及设备,进而可以实现在不公开隐私数据的情况下依旧可以使用,从而提升了数据的安全性。The embodiments of the present application provide a data processing method, apparatus, readable medium and device based on distributed nodes, so that private data can still be used without being disclosed, thereby improving the security of the data.

本申请的其他特性和优点将通过下面的详细描述变得显然,或部分地通过本申请的实践而习得。Other features and advantages of the present application will become apparent from the following detailed description, or may be learned in part by the practice of the present application.

根据本申请实施例的一个方面,提供了一种基于分布式节点的数据处理方法,所述方法包括:According to one aspect of an embodiment of the present application, a data processing method based on a distributed node is provided, the method comprising:

接收区块链参与方发送的份额数据,所述份额数据是由所述区块链参与方对待处理数据进行秘密共享得到的;Receiving share data sent by a blockchain participant, where the share data is obtained by the blockchain participant through secret sharing of data to be processed;

对所述份额数据进行处理得到份额处理结果,并获取其它分布式节点对接收到的份额数据进行处理得到的份额处理结果;Processing the share data to obtain a share processing result, and obtaining a share processing result obtained by other distributed nodes processing the received share data;

对获取到的份额处理结果进行重组,得到所述待处理数据对应的处理结果;Reorganize the acquired share processing results to obtain the processing results corresponding to the data to be processed;

将所述处理结果进行上链处理,以使所述区块链参与方从区块链中获取所述处理结果。The processing result is uploaded to the blockchain so that the blockchain participants can obtain the processing result from the blockchain.

根据本申请实施例的一个方面,提供了一种基于分布式节点的数据处理方法,所述方法包括:According to one aspect of an embodiment of the present application, a data processing method based on a distributed node is provided, the method comprising:

接收区块链参与方发送的份额数据,所述份额数据是由所述区块链参与方对待处理数据进行秘密共享得到的;Receiving share data sent by a blockchain participant, where the share data is obtained by the blockchain participant through secret sharing of data to be processed;

对所述份额数据进行处理得到份额处理结果;Processing the share data to obtain a share processing result;

将所述份额处理结果发送到指定的分布式节点,以使所述指定的分布式节点基于多个分布式节点发送的所述份额处理结果重组得到所述待处理数据对应的处理结果,并将所述处理结果进行上链处理。The share processing result is sent to the designated distributed node, so that the designated distributed node reorganizes the share processing results sent by multiple distributed nodes to obtain the processing result corresponding to the data to be processed, and processes the processing result on the chain.

根据本申请实施例的一个方面,提供了一种基于分布式节点的数据处理方法,所述方法包括:According to one aspect of an embodiment of the present application, a data processing method based on a distributed node is provided, the method comprising:

获取待处理数据;Get the data to be processed;

将所述待处理数据进行秘密共享处理,得到多个份额数据;Perform secret sharing processing on the data to be processed to obtain multiple share data;

将所述多个份额数据分别发送给对应的分布式节点,以使所述分布式节点对所述份额数据进行处理,并将处理得到的份额处理结果进行重组得到处理结果后进行上链;Send the multiple share data to corresponding distributed nodes respectively, so that the distributed nodes process the share data, and reorganize the processed share processing results to obtain the processing results and then upload them to the chain;

从区块链中获取所述处理结果。The processing result is obtained from the blockchain.

根据本申请实施例的一个方面,提供了一种基于分布式节点的数据处理装置,所述装置包括:According to one aspect of an embodiment of the present application, a data processing device based on a distributed node is provided, the device comprising:

接收模块,用于接收区块链参与方发送的份额数据,所述份额数据是由所述区块链参与方对待处理数据进行秘密共享得到的;A receiving module, used to receive share data sent by a blockchain participant, where the share data is obtained by the blockchain participant through secret sharing of data to be processed;

处理模块,用于对所述份额数据进行处理得到份额处理结果,并获取其它分布式节点对接收到的份额数据进行处理得到的份额处理结果;A processing module, used to process the share data to obtain a share processing result, and obtain the share processing results obtained by other distributed nodes processing the received share data;

重组模块,用于对获取到的份额处理结果进行重组,得到所述待处理数据对应的处理结果;A reorganization module, used to reorganize the acquired share processing results to obtain processing results corresponding to the data to be processed;

上链模块,用于将所述处理结果进行上链处理,以使所述区块链参与方从区块链中获取所述处理结果。The on-chain module is used to process the processing results on the chain so that the blockchain participants can obtain the processing results from the blockchain.

在本申请的一些实施例中,基于以上技术方案,所述分布式节点上部署有用于对所述份额数据进行处理的智能合约,所述处理模块还用于将所述份额数据作为合约参数,调用所述智能合约对所述合约参数进行处理,得到所述份额处理结果。In some embodiments of the present application, based on the above technical solution, a smart contract for processing the share data is deployed on the distributed node, and the processing module is also used to use the share data as a contract parameter, call the smart contract to process the contract parameter, and obtain the share processing result.

在本申请的一些实施例中,基于以上技术方案,所述重组模块还用于,从所述份额处理结果中选择设定数量的份额处理结果,所述设定数量至少超过所述待处理数据进行秘密共享得到的份额数量的一半;将所述设定数量的份额处理结果进行重组,得到所述待处理数据对应的处理结果。In some embodiments of the present application, based on the above technical solution, the reorganization module is also used to select a set number of share processing results from the share processing results, and the set number is at least more than half of the number of shares obtained by secret sharing of the data to be processed; and reorganize the set number of share processing results to obtain the processing results corresponding to the data to be processed.

在本申请的一些实施例中,基于以上技术方案,所述装置还包括校验模块,用于接收所述区块链参与方发起的处理任务请求;对所述处理任务请求的签名进行校验,以验证所述区块链参与方的身份;若所述区块链参与方的身份验证通过,则对所述份额数据进行处理。In some embodiments of the present application, based on the above technical solution, the device also includes a verification module for receiving a processing task request initiated by the blockchain participant; verifying the signature of the processing task request to verify the identity of the blockchain participant; if the identity authentication of the blockchain participant is passed, the share data is processed.

在本申请的一些实施例中,基于以上技术方案,所述重组模块还用于,对所述份额处理结果进行签名,并获取所述其它分布式节点对份额处理结果进行的签名;对获取到的签名进行验证,并将签名验证通过的份额处理结果作为待重组的份额处理结果。In some embodiments of the present application, based on the above technical solution, the reorganization module is also used to sign the share processing result and obtain the signature of the other distributed nodes on the share processing result; verify the obtained signature, and use the share processing result that passes the signature verification as the share processing result to be reorganized.

根据本申请实施例的一个方面,提供了一种基于分布式节点的数据处理装置,所述装置包括:According to one aspect of an embodiment of the present application, a data processing device based on a distributed node is provided, the device comprising:

接收模块,用于接收区块链参与方发送的份额数据,所述份额数据是由所述区块链参与方对待处理数据进行秘密共享得到的;A receiving module, used to receive share data sent by a blockchain participant, where the share data is obtained by the blockchain participant through secret sharing of data to be processed;

处理模块,用于对所述份额数据进行处理得到份额处理结果;A processing module, used for processing the share data to obtain a share processing result;

发送模块,用于将所述份额处理结果发送到指定的分布式节点,以使所述指定的分布式节点基于多个分布式节点发送的所述份额处理结果重组得到所述待处理数据对应的处理结果,并将所述处理结果进行上链处理。The sending module is used to send the share processing results to the designated distributed nodes, so that the designated distributed nodes can reorganize the share processing results sent by multiple distributed nodes to obtain the processing results corresponding to the data to be processed, and upload the processing results to the chain.

根据本申请实施例的一个方面,提供了一种基于分布式节点的数据处理装置,所述装置包括:According to one aspect of an embodiment of the present application, a data processing device based on a distributed node is provided, the device comprising:

第一获取模块,用于获取待处理数据;A first acquisition module, used to acquire data to be processed;

处理模块,用于将所述待处理数据进行秘密共享处理,得到多个份额数据;A processing module, used for performing secret sharing processing on the data to be processed to obtain a plurality of share data;

发送模块,用于将所述多个份额数据分别发送给对应的分布式节点,以使所述分布式节点对所述份额数据进行处理,并将处理得到的份额处理结果进行重组得到处理结果后进行上链;A sending module, used to send the plurality of share data to corresponding distributed nodes respectively, so that the distributed nodes process the share data, and reorganize the processed share processing results to obtain the processing results and then upload them to the chain;

第二获取模块,用于从区块链中获取所述处理结果。The second acquisition module is used to obtain the processing result from the blockchain.

在本申请的一些实施例中,基于以上技术方案,所述装置还包括请求模块,用于向所述区块链发起处理任务请求,并将所述处理任务请求进行上链。In some embodiments of the present application, based on the above technical solution, the device also includes a request module, which is used to initiate a processing task request to the blockchain and upload the processing task request to the blockchain.

在本申请的一些实施例中,基于以上技术方案,所述请求模块还用于,通知其他区块链参与方将所述其他区块链参与方对应的待处理数据进行秘密共享得到多个待处理份额数据,并将所述多个待处理份额数据分别发送给对应的分布式节点。In some embodiments of the present application, based on the above technical solution, the request module is also used to notify other blockchain participants to secretly share the corresponding data to be processed of the other blockchain participants to obtain multiple shares of data to be processed, and send the multiple shares of data to be processed to the corresponding distributed nodes respectively.

在本申请的一些实施例中,基于以上技术方案,从所述区块链中获取到的所述处理结果由所述区块链参与方的公钥进行加密;所述第二获取模块还用于,使用所述区块链参与方的私钥对所述处理结果进行解密,得到解密后的处理结果。In some embodiments of the present application, based on the above technical solution, the processing result obtained from the blockchain is encrypted by the public key of the blockchain participant; the second acquisition module is also used to decrypt the processing result using the private key of the blockchain participant to obtain the decrypted processing result.

在本申请的一些实施例中,基于以上技术方案,所述第一获取模块还用于,获取所述区块链参与方的身份信息;将所述区块链参与方的身份信息进行上链。In some embodiments of the present application, based on the above technical solution, the first acquisition module is also used to obtain the identity information of the blockchain participant; and upload the identity information of the blockchain participant to the chain.

根据本申请实施例的一个方面,提供了一种计算机可读介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现如上述实施例中所述的基于分布式节点的数据处理方法。According to one aspect of an embodiment of the present application, a computer-readable medium is provided, on which a computer program is stored. When the computer program is executed by a processor, the distributed node-based data processing method as described in the above embodiment is implemented.

根据本申请实施例的一个方面,提供了一种电子设备,包括:一个或多个处理器;存储装置,用于存储一个或多个计算机程序,当所述一个或多个计算机程序被所述一个或多个处理器执行时,使得所述电子设备实现如上述实施例中所述的基于分布式节点的数据处理方法。According to one aspect of an embodiment of the present application, an electronic device is provided, comprising: one or more processors; a storage device for storing one or more computer programs, wherein when the one or more computer programs are executed by the one or more processors, the electronic device implements the data processing method based on distributed nodes as described in the above embodiments.

根据本申请实施例的一个方面,提供了一种计算机程序产品,该计算机程序产品包括计算机程序,该计算机程序存储在计算机可读存储介质中。电子设备的处理器从计算机可读存储介质读取并执行该计算机程序,使得该电子设备执行上述各种可选实施例中提供的基于分布式节点的数据处理方法。According to one aspect of an embodiment of the present application, a computer program product is provided, the computer program product comprising a computer program, the computer program being stored in a computer-readable storage medium. A processor of an electronic device reads and executes the computer program from the computer-readable storage medium, so that the electronic device executes the data processing method based on distributed nodes provided in the above-mentioned various optional embodiments.

在本申请的一些实施例所提供的技术方案中,先由区块链参与方对待处理数据进行秘密共享得到多份份额数据,然后将份额数据分发到各个分布式节点,由各个分布式节点对份额数据进行处理得到份额处理结果。在得到份额处理结果之后,将得到的份额处理结果进行重组得到待处理数据对应的处理结果。最后,将待处理数据对应的处理结果进行上链,以供区块链参与方可以从区块链中获取得到该处理结果。这样,由于先由区块链参与方将待处理数据进行秘密共享拆分为多个份额数据,然后再将份额数据分发到各个分布式节点进行处理,在多个分布式节点上进行处理之后,再将处理结果进行重组,实现了在不公开隐私数据的情况下依旧可以使用该隐私数据,从而提升了隐私数据的安全性,达到了“可用不可见”的目的。In the technical solutions provided in some embodiments of the present application, the blockchain participants first share the data to be processed secretly to obtain multiple share data, and then distribute the share data to each distributed node, and each distributed node processes the share data to obtain a share processing result. After obtaining the share processing result, the obtained share processing result is reorganized to obtain the processing result corresponding to the data to be processed. Finally, the processing result corresponding to the data to be processed is uploaded to the chain so that the blockchain participants can obtain the processing result from the blockchain. In this way, since the blockchain participants first share the data to be processed secretly and split it into multiple share data, and then distribute the share data to each distributed node for processing, after processing on multiple distributed nodes, the processing results are reorganized, it is achieved that the private data can still be used without disclosing the private data, thereby improving the security of the private data and achieving the purpose of "available but invisible".

应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本申请。It should be understood that the foregoing general description and the following detailed description are exemplary and explanatory only and are not restrictive of the present application.

附图说明BRIEF DESCRIPTION OF THE DRAWINGS

图1示出了示例性的多方隐私数据计算的示意图。FIG1 shows a schematic diagram of an exemplary multi-party private data computation.

图2示出了示例性的多方隐私数据计算的示意图。FIG. 2 shows a schematic diagram of an exemplary multi-party private data computation.

图3是本申请实施例提供的分布式系统应用于区块链系统的一个可选的结构示意图。FIG3 is an optional structural diagram of a distributed system provided in an embodiment of the present application applied to a blockchain system.

图4是本申请实施例提供的区块结构一个可选的示意图。FIG. 4 is an optional schematic diagram of a block structure provided in an embodiment of the present application.

图5示出了根据本申请的一个实施例的基于分布式节点的数据处理方法的流程图。FIG5 shows a flow chart of a data processing method based on distributed nodes according to an embodiment of the present application.

图6示出了根据本申请的一个实施例的基于分布式节点的数据处理方法的流程图。FIG6 shows a flow chart of a data processing method based on distributed nodes according to an embodiment of the present application.

图7示出了根据本申请的一个实施例的基于分布式节点的数据处理方法的流程图。FIG7 shows a flow chart of a data processing method based on distributed nodes according to an embodiment of the present application.

图8示出了根据本申请的一个实施例的基于分布式节点的数据处理方法的流程图。FIG8 shows a flow chart of a data processing method based on distributed nodes according to an embodiment of the present application.

图9示出了根据本申请的一个实施例的基于分布式节点的数据处理方法的流程图。FIG9 shows a flow chart of a data processing method based on distributed nodes according to an embodiment of the present application.

图10示出了根据本申请的一个实施例的基于分布式节点的数据处理方法的流程图。FIG10 shows a flow chart of a data processing method based on distributed nodes according to an embodiment of the present application.

图11示出了根据本申请的一个实施例的基于分布式节点的数据处理方法的流程图。FIG. 11 shows a flow chart of a data processing method based on distributed nodes according to an embodiment of the present application.

图12示出了根据本申请的一个实施例的基于分布式节点的数据处理方法的流程图。FIG. 12 shows a flow chart of a data processing method based on distributed nodes according to an embodiment of the present application.

图13示出了根据本申请的一个实施例的基于分布式节点的数据处理方法的流程图。FIG. 13 shows a flow chart of a data processing method based on distributed nodes according to an embodiment of the present application.

图14示出了根据本申请的一个实施例的基于分布式节点的数据处理方法的流程图。FIG. 14 shows a flow chart of a data processing method based on distributed nodes according to an embodiment of the present application.

图15示出了根据本申请的一个实施例的基于分布式节点的数据处理方法的流程图。FIG15 shows a flowchart of a data processing method based on distributed nodes according to an embodiment of the present application.

图16示出了根据本申请的一个实施例的基于分布式节点的数据处理方法的流程图。FIG16 shows a flow chart of a data processing method based on distributed nodes according to an embodiment of the present application.

图17示出了根据本申请的一个实施例的基于分布式节点的数据处理装置的框图。FIG. 17 shows a block diagram of a data processing device based on distributed nodes according to an embodiment of the present application.

图18示出了根据本申请的一个实施例的基于分布式节点的数据处理装置的框图。FIG. 18 shows a block diagram of a data processing device based on distributed nodes according to an embodiment of the present application.

图19示出了适于用来实现本申请实施例的电子设备的计算机系统的结构示意图。FIG. 19 shows a schematic diagram of the structure of a computer system suitable for implementing an electronic device of an embodiment of the present application.

具体实施方式Detailed ways

现在参考附图以更全面的方式描述示例实施方式。然而,示例的实施方式能够以各种形式实施,且不应被理解为仅限于这些范例;相反,提供这些实施方式的目的是使得本申请更加全面和完整,并将示例实施方式的构思全面地传达给本领域的技术人员。The exemplary embodiments are now described in a more comprehensive manner with reference to the accompanying drawings. However, the exemplary embodiments can be implemented in various forms and should not be understood as being limited to these examples; on the contrary, the purpose of providing these embodiments is to make this application more comprehensive and complete, and to fully convey the concept of the exemplary embodiments to those skilled in the art.

此外,本申请所描述的特征、结构或特性可以以任何合适的方式结合在一个或更多实施例中。在下面的描述中,有许多具体细节从而可以充分理解本申请的实施例。然而,本领域技术人员应意识到,在实施本申请的技术方案时可以不需用到实施例中的所有细节特征,可以省略一个或更多特定细节,或者可以采用其它的方法、元件、装置、步骤等。In addition, the features, structures or characteristics described in the present application may be combined in one or more embodiments in any suitable manner. In the following description, there are many specific details so that the embodiments of the present application can be fully understood. However, those skilled in the art will appreciate that when implementing the technical scheme of the present application, all the detailed features in the embodiments may not be needed, one or more specific details may be omitted, or other methods, elements, devices, steps, etc. may be adopted.

附图中所示的方框图仅仅是功能实体,不一定必须与物理上独立的实体相对应。即,可以采用软件形式来实现这些功能实体,或在一个或多个硬件模块或集成电路中实现这些功能实体,或在不同网络和/或处理器装置和/或微控制器装置中实现这些功能实体。The block diagrams shown in the accompanying drawings are merely functional entities and do not necessarily correspond to physically independent entities. That is, these functional entities may be implemented in software form, or in one or more hardware modules or integrated circuits, or in different networks and/or processor devices and/or microcontroller devices.

附图中所示的流程图仅是示例性说明,不是必须包括所有的内容和操作/步骤,也不是必须按所描述的顺序执行。例如,有的操作/步骤还可以分解,而有的操作/步骤可以合并或部分合并,因此实际执行的顺序有可能根据实际情况改变。The flowcharts shown in the accompanying drawings are only exemplary and do not necessarily include all the contents and operations/steps, nor must they be executed in the order described. For example, some operations/steps can be decomposed, and some operations/steps can be combined or partially combined, so the actual execution order may change according to actual conditions.

需要说明的是:在本文中提及的“多个”是指两个或两个以上。“和/或”描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。字符“/”一般表示前后关联对象是一种“或”的关系。It should be noted that the "multiple" mentioned in this article refers to two or more. "And/or" describes the association relationship of the associated objects, indicating that there can be three relationships. For example, A and/or B can mean: A exists alone, A and B exist at the same time, and B exists alone. The character "/" generally indicates that the associated objects before and after are in an "or" relationship.

可以理解的是,在本申请的具体实施方式中,涉及到对象信息等相关的数据,当本申请以上实施例运用到具体产品或技术中时,需要获得用户许可或者同意,且相关数据的收集、使用和处理需要遵守相关国家和地区的相关法律法规和标准。It is understandable that in the specific implementation of this application, related data such as object information is involved. When the above embodiments of this application are applied to specific products or technologies, user permission or consent is required, and the collection, use and processing of relevant data need to comply with relevant laws, regulations and standards of relevant countries and regions.

为了便于理解本申请的技术方案,对部分缩略词以及关键术语进行如下说明:In order to facilitate understanding of the technical solution of the present application, some abbreviations and key terms are explained as follows:

区块链:区块链(Blockchain)技术是一种不依赖第三方、通过自身分布式节点进行网络数据的存储、验证、传递和交流的一种技术方案。区块链是一种由多方共同维护,使用密码学保证传输和能够实现数据一致存储、难以篡改、防止抵赖的记账技术,也称为分布式账本技术。Blockchain: Blockchain technology is a technical solution that does not rely on a third party and uses its own distributed nodes to store, verify, transmit and communicate network data. Blockchain is a bookkeeping technology that is jointly maintained by multiple parties, uses cryptography to ensure transmission and can achieve consistent data storage, is difficult to tamper with, and prevents denial. It is also called distributed ledger technology.

MPC:(secure multiparty computation,多方安全计算),针对无可信第三方情况下,安全地进行多方协同的计算问题。即在一个分布式网络中,多个参与方各自持有秘密输入,各方希望共同完成对某函数的计算,每个参与方除计算结果以外,不能得到其他参与方的任何输入信息。MPC: (secure multiparty computation) is aimed at the problem of secure multi-party collaborative computing without a trusted third party. That is, in a distributed network, multiple participants each hold secret inputs, and all parties hope to jointly complete the calculation of a certain function. Each participant cannot obtain any input information from other participants except the calculation result.

具体地,MPC是一种加密原语,以分布式方式运行。执行计算的各方将他们的输入分成秘密份额,每一方接收每个输入的份额。然后,各方对这些份额进行操作,交换对应于中间值的新中间份额,使用一些预定义的协议来表达所需的功能。最后,各方揭示最终的秘密份额,以重构出函数的最终输出。Specifically, MPC is a cryptographic primitive that operates in a distributed manner. The parties performing the computation split their inputs into secret shares, with each party receiving a share for each input. The parties then operate on these shares, exchanging new intermediate shares corresponding to intermediate values, using some predefined protocol to express the desired function. Finally, the parties reveal the final secret shares to reconstruct the final output of the function.

秘密共享(secret share):MPC可以被认为是一种秘密共享方案,其中包含一组附加协议,这些协议在共享方案产生的份额上计算函数。一个值的秘密份额可以解码为该值,但是单独的秘密共享(或低于可配置阈值的子集)不会泄漏有关该值的信息。Secret share: MPC can be thought of as a secret sharing scheme with a set of additional protocols that compute functions on the shares produced by the sharing scheme. A secret share for a value can be decoded to that value, but an individual secret share (or a subset below a configurable threshold) does not leak information about that value.

对于秘密共享例如可以采用shamir算法,shamir算法具体地,在一个t度多项式上,大于等于t+1个点可以唯一确定多项式。如果构建一个t度的多项式,秘密值s作为多项式在x=0点的值,将多项式上t个不相等(且>0)的点公开,分发给t个参与方。由于经过t个点的多项式有无数过,参与方无法猜测出秘密s的值。多项式上的任何t+1个点,可以唯一确定这个t度多项式,从而确定s。例如,将n个点分发给n个参与方,若n个参与方中大于t个共享了这些点,就能够恢复多项式,从而知道秘密s。在基于椭圆曲线的加密算法中,G为椭圆曲线点生成器,p为私钥,则公钥为Q=p*G。For secret sharing, for example, the Shamir algorithm can be used. Specifically, on a t-degree polynomial, greater than or equal to t+1 points can uniquely determine the polynomial. If a t-degree polynomial is constructed, the secret value s is used as the value of the polynomial at point x=0, and t unequal (and >0) points on the polynomial are made public and distributed to t participants. Since there are countless polynomials passing through t points, the participants cannot guess the value of the secret s. Any t+1 points on the polynomial can uniquely determine the t-degree polynomial, thereby determining s. For example, n points are distributed to n participants. If more than t of the n participants share these points, the polynomial can be restored, thereby knowing the secret s. In the encryption algorithm based on elliptic curves, G is the elliptic curve point generator, p is the private key, and the public key is Q=p*G.

例如,要实现一个(2,3)的shamir秘密分享,可随机选取一个t=2的2度多项式,多项式的常量为s,y=a1*x^2+a2*x+s,然后分别将x=1、x=2、x=3时的多项式y1、y2、y3的值作为份额,y1、y2、y3任意两个值即可恢复出s(具有阈值秘密恢复能力)。由于shamir秘密分享安全性更高,在一个(t,n)的分享中,t个份额值可恢复秘密,允许部分n-t个份额丢失,具备容灾能力。For example, to implement a (2,3) Shamir secret sharing, you can randomly select a 2nd degree polynomial with t=2, the constant of the polynomial is s, y=a1*x^2+a2*x+s, and then use the values of the polynomial y1, y2, and y3 when x=1, x=2, and x=3 as shares, and any two values of y1, y2, and y3 can restore s (with threshold secret recovery capability). Since Shamir secret sharing is more secure, in a (t,n) sharing, t share values can restore the secret, allowing some n-t shares to be lost, and has disaster recovery capabilities.

在相关技术方案中,对多方隐私数据进行计算的时候,采用如下几种方式,具体包括可信第三方方案、Tee可信硬件方案、zk零知识证明方案以及多方安全计算方案,而多方安全计算方案又包括秘密分享、同态加密、OT、混淆电路等。In relevant technical solutions, when calculating the privacy data of multiple parties, the following methods are adopted, including trusted third-party solution, Tee trusted hardware solution, zk zero-knowledge proof solution and multi-party secure computing solution. The multi-party secure computing solution includes secret sharing, homomorphic encryption, OT, obfuscated circuits, etc.

对于可信第三方方案,具体地,参见图1,图1示出了示例性的多方隐私数据计算的示意图。在该方式中,多方隐私数据包括银行1、银行2、银行3以及金融机构各自对应的隐私数据,寻找一个可信的第三方,将私钥数据交给第三方执行计算。对于该种计算方式,该方式在现实场景是不可行的,因为现实场景中不存在可信的第三方,若仅有一个第三方执行计算,第三方就可能私自保留隐私数据,利用隐私数据谋取利润,泄露隐私数据等。这样会严重损害数据的安全性,这对于商业机密数据、企业敏感数据、个人敏感数据等,均是不可取的。For the trusted third party solution, specifically, see Figure 1, which shows a schematic diagram of an exemplary multi-party private data calculation. In this method, the multi-party private data includes the private data corresponding to Bank 1, Bank 2, Bank 3, and the financial institutions. A trusted third party is found, and the private key data is handed over to the third party to perform the calculation. For this type of calculation method, this method is not feasible in real scenarios, because there is no trusted third party in real scenarios. If there is only one third party to perform the calculation, the third party may privately retain the private data, use the private data to make profits, leak the private data, etc. This will seriously damage the security of the data, which is not advisable for commercial confidential data, enterprise sensitive data, personal sensitive data, etc.

对于tee硬件方案,利用tee的特性,实现“可用不可见”。但是该方式需硬件设备支持,对硬件有一定要求,无跨平台能力,这就需要每个平台均有自己的实现方案,这样开发成本较高,且安全性依赖于平台的实现。For the tee hardware solution, the characteristics of tee are used to achieve "available but invisible". However, this method requires hardware device support, has certain requirements for hardware, and has no cross-platform capabilities. This requires each platform to have its own implementation solution, which has a high development cost and security depends on the platform's implementation.

对于zk零知识证明方案,证明者计算数据并附带计算的证明,验证者可验证证明的真实性。但是该方式仅适用于两方,不适用于多方数据联合计算的场景。For the zk zero-knowledge proof scheme, the prover calculates the data and provides proof of the calculation, and the verifier can verify the authenticity of the proof. However, this method is only applicable to two parties and is not applicable to scenarios where multiple parties jointly calculate data.

对于多方安全计算方案,参见图2,图2示出了示例性的多方隐私数据计算的示意图。在该方案中,MPC方案中的同态加密和混淆电路,参与者需要大量的计算和网络交互,计算的性能和网络带宽的要求较高。For the multi-party secure computing scheme, see Figure 2, which shows a schematic diagram of an exemplary multi-party privacy data computing. In this scheme, the homomorphic encryption and obfuscation circuits in the MPC scheme require a large amount of computing and network interaction for the participants, and the computing performance and network bandwidth requirements are high.

基于此,本申请实施例提供了一种基于分布式节点的数据处理方法,该分布式节点的数据处理方案涉及的系统可以是由客户端、多个节点(接入网络中的任意形式的计算设备,如服务器、用户终端)通过网络通信的形式连接形成的分布式系统。Based on this, an embodiment of the present application provides a data processing method based on distributed nodes. The system involved in the data processing scheme of the distributed nodes can be a distributed system formed by connecting a client and multiple nodes (any form of computing devices in the access network, such as servers and user terminals) through network communication.

以分布式系统为区块链系统为例,参见图3,图3是本申请实施例提供的分布式系统应用于区块链系统的一个可选的结构示意图,该分布式系统100由多个节点(接入网络中的任意形式的计算设备,如服务器、用户终端)和客户端形成,节点之间形成组成的点对点(P2P,Peer To Peer)网络,P2P协议是一个运行在传输控制协议(TCP,TransmissionControl Protocol)协议之上的应用层协议。在分布式系统中,任何机器如服务器、终端都可以加入而成为节点,节点包括硬件层、中间层、操作系统层和应用层。Taking the distributed system as a blockchain system as an example, see Figure 3, which is an optional structural diagram of the distributed system provided by the embodiment of the present application applied to the blockchain system. The distributed system 100 is formed by multiple nodes (any form of computing devices in the access network, such as servers, user terminals) and clients, and the nodes form a peer-to-peer (P2P, Peer To Peer) network. The P2P protocol is an application layer protocol running on the Transmission Control Protocol (TCP, Transmission Control Protocol) protocol. In a distributed system, any machine such as a server or a terminal can join and become a node, and the node includes a hardware layer, an intermediate layer, an operating system layer, and an application layer.

参见图3示出的区块链系统中各节点的功能,涉及的功能包括:Referring to the functions of each node in the blockchain system shown in FIG3 , the functions involved include:

1)路由,节点具有的基本功能,用于支持节点之间的通信。1) Routing: a basic function of a node, used to support communication between nodes.

节点除具有路由功能外,还可以具有以下功能:In addition to the routing function, the node can also have the following functions:

2)应用,用于部署在区块链中,根据实际业务需求而实现特定业务,记录实现功能相关的数据形成记录数据,在记录数据中携带数字签名以表示任务数据的来源,将记录数据发送到区块链系统中的其他节点,供其他节点在验证记录数据来源以及完整性成功时,将记录数据添加到临时区块中。2) Applications, which are deployed in the blockchain to implement specific businesses according to actual business needs, record data related to the implementation of functions to form record data, carry digital signatures in the record data to indicate the source of the task data, and send the record data to other nodes in the blockchain system for other nodes to add the record data to the temporary block when they successfully verify the source and integrity of the record data.

例如,应用实现的业务包括:For example, the services implemented by the application include:

2.1)钱包,用于提供进行电子货币的交易的功能,包括发起交易(即,将当前交易的交易记录发送给区块链系统中的其他节点,其他节点验证成功后,作为承认交易有效的响应,将交易的记录数据存入区块链的临时区块中;当然,钱包还支持查询电子货币地址中剩余的电子货币;2.1) Wallet, used to provide the function of conducting electronic currency transactions, including initiating transactions (i.e., sending the transaction record of the current transaction to other nodes in the blockchain system. After the other nodes successfully verify the transaction, as a response to acknowledge the validity of the transaction, the transaction record data is stored in the temporary block of the blockchain; of course, the wallet also supports querying the remaining electronic currency in the electronic currency address;

2.2)共享账本,用于提供账目数据的存储、查询和修改等操作的功能,将对账目数据的操作的记录数据发送到区块链系统中的其他节点,其他节点验证有效后,作为承认账目数据有效的响应,将记录数据存入临时区块中,还可以向发起操作的节点发送确认。2.2) Shared ledger, which is used to provide functions such as storage, query and modification of account data. The record data of the operation on the account data is sent to other nodes in the blockchain system. After other nodes verify the validity, as a response to acknowledging the validity of the account data, the record data is stored in a temporary block, and a confirmation can also be sent to the node that initiated the operation.

2.3)智能合约,计算机化的协议,可以执行某个合约的条款,通过部署在共享账本上的用于在满足一定条件时而执行的代码实现,根据实际的业务需求代码用于完成自动化的交易,例如查询买家所购买商品的物流状态,在买家签收货物后将买家的电子货币转移到商户的地址;当然,智能合约不仅限于执行用于交易的合约,还可以执行对接收的信息进行处理的合约。2.3) Smart contracts are computerized protocols that can execute the terms of a contract. They are implemented by deploying code on a shared ledger that is executed when certain conditions are met. The code is used to complete automated transactions based on actual business needs, such as querying the logistics status of the goods purchased by the buyer and transferring the buyer's electronic currency to the merchant's address after the buyer signs for the goods. Of course, smart contracts are not limited to executing contracts for transactions, but can also execute contracts for processing received information.

3)区块链,包括一系列按照产生的先后时间顺序相互接续的区块(Block),新区块一旦加入到区块链中就不会再被移除,区块中记录了区块链系统中节点提交的记录数据。3) Blockchain, including a series of blocks that are connected to each other in the order of their generation. Once a new block is added to the blockchain, it will not be removed. The block records the record data submitted by the nodes in the blockchain system.

参见图4,图4是本申请实施例提供的区块结构(Block Structure)一个可选的示意图,每个区块中包括本区块存储交易记录的哈希值(本区块的哈希值)、以及前一区块的哈希值,各区块通过哈希值连接形成区块链。另外,区块中还可以包括有区块生成时的时间戳等信息。区块链(Blockchain),本质上是一个去中心化的数据库,是一串使用密码学方法相关联产生的数据块,每一个数据块中包含了相关的信息,用于验证其信息的有效性(防伪)和生成下一个区块。See Figure 4, which is an optional schematic diagram of the block structure (Block Structure) provided in the embodiment of the present application. Each block includes the hash value of the transaction record stored in this block (the hash value of this block) and the hash value of the previous block. Each block is connected by the hash value to form a blockchain. In addition, the block can also include information such as the timestamp when the block was generated. Blockchain is essentially a decentralized database, a string of data blocks generated by cryptographic methods. Each data block contains relevant information for verifying the validity of its information (anti-counterfeiting) and generating the next block.

在本申请的一个实施例中,本申请的分布式节点为MPC计算节点,区块链参与方使用shamir秘密分享对待处理数据进行处理得到多份份额数据,将份额数据分发给多个分布式节点,在多个分布式节点上执行计算后,再将处理结果进行恢复,最后,将处理结果进行上链处理,以使区块链参与方从区块链中获取处理结果。In one embodiment of the present application, the distributed nodes of the present application are MPC computing nodes, and the blockchain participants use Shamir secret sharing to process the data to be processed to obtain multiple share data, distribute the share data to multiple distributed nodes, perform calculations on multiple distributed nodes, and then restore the processing results. Finally, the processing results are processed on the chain so that the blockchain participants can obtain the processing results from the blockchain.

这样,先由区块链参与方对待处理数据进行秘密共享得到多份份额数据,然后将份额数据分发到各个分布式节点,由各个分布式节点对份额数据进行处理得到份额处理结果。在得到份额处理结果之后,将得到的份额处理结果进行重组得到待处理数据对应的处理结果。最后,将待处理数据对应的处理结果进行上链,以供区块链参与方可以从区块链中获取得到该处理结果。这样,由于先由区块链参与方将待处理数据进行秘密共享拆分为多个份额数据,然后再将份额数据分发到各个分布式节点进行处理,在多个分布式节点上进行处理之后,再将处理结果进行重组,从而实现了在不公开隐私数据的情况下依旧可以使用该隐私数据,提升了隐私数据的安全性,达到了“可用不可见”的目的。In this way, the blockchain participants first share the data to be processed secretly to obtain multiple shares of data, and then distribute the share data to each distributed node, and each distributed node processes the share data to obtain a share processing result. After obtaining the share processing result, the obtained share processing result is reorganized to obtain the processing result corresponding to the data to be processed. Finally, the processing result corresponding to the data to be processed is uploaded to the chain so that the blockchain participants can obtain the processing result from the blockchain. In this way, since the blockchain participants first share the data to be processed secretly and split it into multiple shares of data, and then distribute the share data to each distributed node for processing, after processing on multiple distributed nodes, the processing results are reorganized, thereby achieving the use of the private data without disclosing it, improving the security of the private data, and achieving the purpose of "available but invisible".

需要说明的是,本申请的基于分布式节点的数据处理方法可以用于进行风险评估、定位服务等场景中,下面进行简要的场景说明。It should be noted that the distributed node-based data processing method of the present application can be used in scenarios such as risk assessment and positioning services. A brief scenario description is given below.

在本申请的一个应用场景中,待计算数据可以是多个银行以及金融机构上传的数据,多个银行以及金融机构作为区块链参与方,通过对这些数据进行处理来对某企业的风险进行评估。具体地,多个银行以及金融机构将待处理数据进行秘密共享得到多个份额数据,指定的分布式节点接收区块链参与方发送的份额数据,然后对份额数据进行处理得到份额处理结果,并获取其它分布式节点对接收到的份额数据进行处理得到的份额处理结果;对获取到的份额处理结果进行重组,得到待处理数据对应的处理结果,也就是得到对某企业的风险评估结果;将处理结果进行上链处理,以使区块链参与方从区块链中获取处理结果。这样,在各个银行之间看不见数据的情况下,可以实现对企业风险进行评估。In an application scenario of the present application, the data to be calculated may be data uploaded by multiple banks and financial institutions. As blockchain participants, multiple banks and financial institutions process these data to assess the risk of a certain enterprise. Specifically, multiple banks and financial institutions secretly share the data to be processed to obtain multiple share data. The designated distributed node receives the share data sent by the blockchain participants, and then processes the share data to obtain the share processing results, and obtains the share processing results obtained by other distributed nodes processing the received share data; reorganizes the obtained share processing results to obtain the processing results corresponding to the data to be processed, that is, to obtain the risk assessment results of a certain enterprise; and processes the processing results on the chain so that the blockchain participants can obtain the processing results from the blockchain. In this way, the risk of the enterprise can be assessed without the data being visible between the banks.

在本申请的一个应用场景中,待计算数据可以是个人上传的位置信息和目的地信息,个人作为区块链参与方,通过对这些数据进行处理来对实现导航服务。具体地,区块链参与方将待处理数据进行秘密共享得到多个份额数据,指定的分布式节点接收区块链参与方发送的份额数据,然后对份额数据进行处理得到份额处理结果,并获取其它分布式节点对接收到的份额数据进行处理得到的份额处理结果;对获取到的份额处理结果进行重组,得到待处理数据对应的处理结果;将处理结果进行上链处理,以使区块链参与方从区块链中获取处理结果。这样,在不暴露个人位置信息和目的地信息的情况下,为个人提供定位和导航服务。In an application scenario of the present application, the data to be calculated may be the location information and destination information uploaded by an individual. As a blockchain participant, the individual processes these data to realize navigation services. Specifically, the blockchain participants secretly share the data to be processed to obtain multiple share data, and the designated distributed nodes receive the share data sent by the blockchain participants, and then process the share data to obtain the share processing results, and obtain the share processing results obtained by other distributed nodes processing the received share data; reorganize the obtained share processing results to obtain the processing results corresponding to the data to be processed; and process the processing results on the chain so that the blockchain participants can obtain the processing results from the blockchain. In this way, positioning and navigation services are provided to individuals without exposing personal location information and destination information.

以下对本申请实施例的技术方案的实现细节进行详细阐述:The implementation details of the technical solution of the embodiment of the present application are described in detail below:

图5示出了根据本申请的一个实施例的基于分布式节点的数据处理方法的流程图,该基于分布式节点的数据处理方法可以由分布式节点来执行。参照图5所示,该基于分布式节点的数据处理方法至少包括S201至S204,详细介绍如下:FIG5 shows a flow chart of a data processing method based on distributed nodes according to an embodiment of the present application. The data processing method based on distributed nodes can be executed by distributed nodes. Referring to FIG5 , the data processing method based on distributed nodes at least includes S201 to S204, which are described in detail as follows:

在S201中,接收区块链参与方发送的份额数据,份额数据是由区块链参与方对待处理数据进行秘密共享得到的。In S201, share data sent by a blockchain participant is received, where the share data is obtained by the blockchain participant through secret sharing of the data to be processed.

在一些可选的实施例中,区块链参与方的数量可以有多个,每个区块链参与方都持有对应的待处理数据,每个区块链参与方持有的待处理数据均为隐私数据,即都只能自己看到。每个区块链参与方先获取到属于各自的待处理数据,然后区块链参与方对待处理数据进行秘密共享得到多份份额数据,接着将这些份额数据分发到各个分布式节点上,由各个分布式节点对得到的份额数据进行处理。这样,通过先由区块链参与方将待处理数据进行秘密共享得到多个份额数据,使得隐私数据处于不公开的状态,从而保证了隐私数据的安全性。其中,区块链参与方对待处理数据进行秘密共享时,可以采用私密算法(例如shamir算法)进行共享得到。对于shamir算法在前述内容已经进行详细介绍,在此不予赘述。In some optional embodiments, there may be multiple blockchain participants, each of which holds corresponding data to be processed, and the data to be processed held by each blockchain participant is private data, that is, it can only be seen by itself. Each blockchain participant first obtains the data to be processed belonging to each blockchain participant, and then the blockchain participants secretly share the data to be processed to obtain multiple copies of share data, and then distribute these share data to each distributed node, and each distributed node processes the obtained share data. In this way, by first secretly sharing the data to be processed by the blockchain participants to obtain multiple shares of data, the private data is in a non-public state, thereby ensuring the security of the private data. Among them, when the blockchain participants secretly share the data to be processed, they can use a private algorithm (such as the Shamir algorithm) to share it. The Shamir algorithm has been introduced in detail in the above content and will not be repeated here.

可选地,在接收区块链参与方发送的份额数据之前,可以对分布式节点进行初始化,然后将分布式节点的身份信息注册到区块链中。这样,通过将分布式节点的身份信息进行上链,便于后续在校验分布式节点身份信息时较能容易获取到对应的数据。Optionally, before receiving the share data sent by the blockchain participants, the distributed nodes can be initialized and then the identity information of the distributed nodes can be registered in the blockchain. In this way, by putting the identity information of the distributed nodes on the chain, it is easier to obtain the corresponding data when verifying the identity information of the distributed nodes later.

在S202中,对份额数据进行处理得到份额处理结果,并获取其它分布式节点对接收到的份额数据进行处理得到的份额处理结果。In S202, the share data is processed to obtain a share processing result, and the share processing results obtained by other distributed nodes processing the received share data are obtained.

在一些可选的实施例中,先将待处理数据进行秘密共享成多份份额数据,然后将多份份额数据分发到各个分布式节点,各个分布式节点分别对自己节点得到的份额数据进行处理,以得到各个分布式节点对应的份额处理结果。对于指定的分布式节点而言,不仅获取自身节点得到的份额处理结果,还同时获取其他分布式节点得到的份额处理结果,从而有利于后续得到待计算数据对应的处理结果。这样,通过将待处理数据分发到各个分布式节点进行处理,一方面加快了处理效率,另一方面,通过对各个份额数据进行分散处理,也保证了待处理数据的安全性。In some optional embodiments, the data to be processed is first secretly shared into multiple shares of data, and then the multiple shares of data are distributed to each distributed node. Each distributed node processes the share data obtained by its own node to obtain the share processing results corresponding to each distributed node. For a designated distributed node, not only the share processing results obtained by its own node are obtained, but also the share processing results obtained by other distributed nodes are obtained at the same time, which is conducive to the subsequent processing results corresponding to the data to be calculated. In this way, by distributing the data to be processed to each distributed node for processing, on the one hand, the processing efficiency is accelerated, and on the other hand, by decentralized processing of each share of data, the security of the data to be processed is also guaranteed.

在S203中,对获取到的份额处理结果进行重组,得到待处理数据对应的处理结果。In S203, the acquired share processing results are reorganized to obtain processing results corresponding to the data to be processed.

在一些可选的实施例中,在得到当前分布式节点得到的份额处理结果,以及其他分布式节点的份额处理结果之后,对获取到的所有份额处理结果进行重组,从而有利于得到待处理数据对应的处理结果。In some optional embodiments, after obtaining the share processing results obtained by the current distributed node and the share processing results of other distributed nodes, all the obtained share processing results are reorganized, which is conducive to obtaining the processing results corresponding to the data to be processed.

可选地,在对获取到的份额处理结果进行重组时,可以将获取到的所有份额处理结果进行重组,当然也可以只获取其中的一部分份额处理结果进行重组,本领域技术人员可以根据实际需要进行选择,在此不予限制。Optionally, when reorganizing the acquired share processing results, all the acquired share processing results may be reorganized, or of course only a portion of the acquired share processing results may be reorganized. Those skilled in the art may make a choice based on actual needs and are not limited here.

在S204中,将处理结果进行上链处理,以使区块链参与方从区块链中获取处理结果。In S204, the processing result is uploaded to the blockchain so that the blockchain participants can obtain the processing result from the blockchain.

在一些可选的实施例中,在得到处理结果之后,将处理结果进行上链处理,通过将处理结果进行上链公开,从而有利于区块链参与方从区块链中获取得到处理结果。In some optional embodiments, after obtaining the processing results, the processing results are uploaded to the chain for processing. By publishing the processing results on the chain, it is convenient for blockchain participants to obtain the processing results from the blockchain.

在本申请的一些实施例所提供的技术方案中,先由区块链参与方对待处理数据进行秘密共享得到多份份额数据,然后将份额数据分发到各个分布式节点,由各个分布式节点对份额数据进行处理得到份额处理结果。在得到份额处理结果之后,将得到的份额处理结果进行重组得到待处理数据对应的处理结果。最后,将待处理数据对应的处理结果进行上链,以供区块链参与方可以从区块链中获取得到该处理结果。这样,由于先由区块链参与方将待处理数据进行秘密共享拆分为多个份额数据,然后再将份额数据分发到各个分布式节点进行处理,在多个分布式节点上进行处理之后,再将处理结果进行重组,从而实现了在不公开隐私数据的情况下依旧可以使用该隐私数据,提升了隐私数据的安全性,达到了“可用不可见”的目的。In the technical solutions provided in some embodiments of the present application, the blockchain participants first share the data to be processed in secret to obtain multiple share data, and then distribute the share data to each distributed node, and each distributed node processes the share data to obtain a share processing result. After obtaining the share processing result, the obtained share processing result is reorganized to obtain the processing result corresponding to the data to be processed. Finally, the processing result corresponding to the data to be processed is uploaded to the chain so that the blockchain participants can obtain the processing result from the blockchain. In this way, since the blockchain participants first share the data to be processed in secret to obtain multiple share data, and then distribute the share data to each distributed node for processing, after processing on multiple distributed nodes, the processing results are reorganized, thereby achieving the use of the private data without disclosing the private data, improving the security of the private data, and achieving the purpose of "available but invisible".

在一些可选的实施例中,参见图6,图6示出了根据本申请的一个实施例的基于分布式节点的数据处理方法的流程图。该基于分布式节点的数据处理方法主要可以包括如下步骤。In some optional embodiments, see Figure 6, which shows a flow chart of a data processing method based on distributed nodes according to an embodiment of the present application. The data processing method based on distributed nodes may mainly include the following steps.

在S201中,接收区块链参与方发送的份额数据,份额数据是由区块链参与方对待处理数据进行秘密共享得到的。In S201, share data sent by a blockchain participant is received, where the share data is obtained by the blockchain participant through secret sharing of the data to be processed.

该步骤的具体处理过程及相关说明可以参照前述实施例的技术方案,不再赘述。The specific processing process and related instructions of this step can refer to the technical solution of the aforementioned embodiment and will not be repeated here.

在S301中,将份额数据作为合约参数,调用智能合约对合约参数进行处理,得到份额处理结果,并获取其它分布式节点对接收到的份额数据进行处理得到的份额处理结果。In S301, the share data is used as a contract parameter, and the smart contract is called to process the contract parameter to obtain the share processing result, and the share processing result obtained by other distributed nodes processing the received share data is obtained.

在一些可选的实施例中,为了得到份额处理结果,可以先在分布式节点中部署有用于对份额数据进行处理的智能合约。其中,智能合约可以根据预设处理策略生成,而预设处理策略与针对份额数据得到的处理结果相关联。对于智能合约中规则的设定,本领域技术人员可以根据实际需要进行限定,在此不予限制。In some optional embodiments, in order to obtain the share processing result, a smart contract for processing the share data may be deployed in the distributed nodes. The smart contract may be generated according to a preset processing strategy, and the preset processing strategy is associated with the processing result obtained for the share data. The setting of the rules in the smart contract may be limited by those skilled in the art according to actual needs, and is not limited here.

通过先在分布式节点中部署有用于对份额数据进行处理的智能合约,分布式节点在接收到份额数据后,将份额数据作为合约参数,调用智能合约对合约参数进行处理,得到份额处理结果。对于其他分布式节点也可以同时部署有对份额数据进行处理的智能合约,其他分布式节点将份额数据作为合约参数,调用智能合约对合约参数进行处理,得到份额处理结果。这样,通过调用智能合约得到份额处理结果,极大的提升了处理效率。By first deploying a smart contract for processing share data in the distributed nodes, after receiving the share data, the distributed nodes use the share data as contract parameters, call the smart contract to process the contract parameters, and obtain the share processing results. Smart contracts for processing share data can also be deployed on other distributed nodes at the same time. Other distributed nodes use the share data as contract parameters, call the smart contract to process the contract parameters, and obtain the share processing results. In this way, the share processing results are obtained by calling the smart contract, which greatly improves the processing efficiency.

在S203中,对获取到的份额处理结果进行重组,得到待处理数据对应的处理结果。In S203, the acquired share processing results are reorganized to obtain processing results corresponding to the data to be processed.

在S204中,将处理结果进行上链处理,以使区块链参与方从区块链中获取处理结果。In S204, the processing result is uploaded to the blockchain so that the blockchain participants can obtain the processing result from the blockchain.

步骤S203-S204的具体处理过程及相关说明可以参照前述实施例的技术方案,不再赘述。The specific processing process and related instructions of steps S203-S204 can refer to the technical solutions of the aforementioned embodiments and will not be repeated here.

与图5所示实施例不同的地方在于,图6所示实施例的技术方案将份额数据作为合约参数,调用智能合约对合约参数进行处理,得到份额处理结果。这样,通过将分布式节点上部署有用于对份额数据进行处理的智能合约,通过调用智能合约从而有利于得到份额处理结果,而且提升了处理效率。The difference from the embodiment shown in FIG5 is that the technical solution of the embodiment shown in FIG6 uses the share data as the contract parameter, calls the smart contract to process the contract parameter, and obtains the share processing result. In this way, by deploying a smart contract for processing the share data on the distributed node, calling the smart contract is conducive to obtaining the share processing result and improving the processing efficiency.

在一些可选的实施例中,参见图7,图7示出了根据本申请的一个实施例的基于分布式节点的数据处理方法的流程图。该基于分布式节点的数据处理方法主要可以包括如下步骤。In some optional embodiments, see Figure 7, which shows a flow chart of a data processing method based on distributed nodes according to an embodiment of the present application. The data processing method based on distributed nodes may mainly include the following steps.

在S201中,接收区块链参与方发送的份额数据,份额数据是由区块链参与方对待处理数据进行秘密共享得到的。In S201, share data sent by a blockchain participant is received, where the share data is obtained by the blockchain participant through secret sharing of the data to be processed.

在S202中,对份额数据进行处理得到份额处理结果,并获取其它分布式节点对接收到的份额数据进行处理得到的份额处理结果。In S202, the share data is processed to obtain a share processing result, and the share processing results obtained by other distributed nodes processing the received share data are obtained.

步骤S201-S202的具体处理过程及相关说明可以参照前述实施例的技术方案,不再赘述。The specific processing process and related instructions of steps S201-S202 can refer to the technical solutions of the aforementioned embodiments and will not be repeated here.

在S401中,从份额处理结果中选择设定数量的份额处理结果,设定数量至少超过待处理数据进行秘密共享得到的份额数量的一半。In S401, a set number of share processing results are selected from the share processing results, and the set number is at least more than half of the number of shares obtained by secret sharing of the data to be processed.

在一些可选的实施例中,在得到分布式节点得到的份额处理结果,以及其他分布式节点的份额结果之后,可以从份额处理结果中选择设定数量的份额处理结果。其中,设定数量可以设置成至少超过待处理数据进行秘密共享得到的份额数量的三分之二。这样,通过从份额处理结果中选择部分份额处理结果进行处理,由于减少了数据量,从而有利于提升数据处理效率。另外,若为了提升数据处理效率,大大减少重组的份额处理结果数量,这样则会对处理结果的安全性造成威胁。在本申请实施例中将预设数量设置成至少超过待处理数据进行秘密共享得到的份额数量的三分之二,这样,不仅兼顾了数据处理效率,同时有利于提高处理结果的安全性。In some optional embodiments, after obtaining the share processing results obtained by the distributed node and the share results of other distributed nodes, a set number of share processing results can be selected from the share processing results. Among them, the set number can be set to at least exceed two-thirds of the number of shares obtained by secret sharing of the data to be processed. In this way, by selecting part of the share processing results from the share processing results for processing, the data processing efficiency is improved due to the reduction in the amount of data. In addition, if the number of reorganized share processing results is greatly reduced in order to improve the data processing efficiency, this will pose a threat to the security of the processing results. In the embodiment of the present application, the preset number is set to at least exceed two-thirds of the number of shares obtained by secret sharing of the data to be processed. In this way, not only the data processing efficiency is taken into account, but also it is beneficial to improve the security of the processing results.

在S402中,将设定数量的份额处理结果进行重组,得到待处理数据对应的处理结果。In S402, a set number of share processing results are reorganized to obtain processing results corresponding to the data to be processed.

在一些可选的实施例中,在确定需要进行重组的份额处理结果之后,将这些份额处理结果进行重组,最后可以得到待处理数据对应的处理结果。例如通过采用秘密共享将待处理数据拆分为3份,则需要2个份额处理结果进行重组,才能得到最终的处理结果。In some optional embodiments, after determining the share processing results that need to be reorganized, these share processing results are reorganized, and finally the processing results corresponding to the data to be processed can be obtained. For example, by using secret sharing to split the data to be processed into 3 parts, 2 share processing results need to be reorganized to obtain the final processing result.

在S204中,将处理结果进行上链处理,以使区块链参与方从区块链中获取处理结果。In S204, the processing result is uploaded to the blockchain so that the blockchain participants can obtain the processing result from the blockchain.

该步骤的具体处理过程及相关说明可以参照前述实施例的技术方案,不再赘述。The specific processing process and related instructions of this step can refer to the technical solution of the aforementioned embodiment and will not be repeated here.

与图5所示实施例不同的地方在于,图7所示实施例的技术方案在对获取到的份额处理结果进行重组,从份额处理结果中选择设定数量的份额处理结果,将设定数量的份额处理结果进行重组。这样,通过从份额处理结果中选择部分份额处理结果进行处理,由于减少了数据量,从而有利于提升数据处理效率。The difference from the embodiment shown in FIG5 is that the technical solution of the embodiment shown in FIG7 reorganizes the acquired share processing results, selects a set number of share processing results from the share processing results, and reorganizes the set number of share processing results. In this way, by selecting part of the share processing results from the share processing results for processing, the amount of data is reduced, which is conducive to improving data processing efficiency.

在一些可选的实施例中,参见图8,图8示出了根据本申请的一个实施例的基于分布式节点的数据处理方法的流程图。该基于分布式节点的数据处理方法主要可以包括如下步骤。In some optional embodiments, see Figure 8, which shows a flow chart of a data processing method based on distributed nodes according to an embodiment of the present application. The data processing method based on distributed nodes may mainly include the following steps.

在S201中,接收区块链参与方发送的份额数据,份额数据是由区块链参与方对待处理数据进行秘密共享得到的。In S201, share data sent by a blockchain participant is received, where the share data is obtained by the blockchain participant through secret sharing of the data to be processed.

该步骤的具体处理过程及相关说明可以参照前述实施例的技术方案,不再赘述。The specific processing process and related instructions of this step can refer to the technical solution of the aforementioned embodiment and will not be repeated here.

在S501中,接收区块链参与方发起的处理任务请求。In S501, a processing task request initiated by a blockchain participant is received.

在S502中,对处理任务请求的签名进行校验,以验证区块链参与方的身份。In S502, the signature of the task processing request is verified to verify the identity of the blockchain participant.

在S503中,若区块链参与方的身份验证通过,则对份额数据进行处理。In S503, if the identity authentication of the blockchain participant is passed, the share data is processed.

在一些可选的实施例中,为了进一步保证数据的安全性,需要对区块链参与方的身份进行验证,只有区块链参与方的身份验证通过,才会对份额数据进行处理。In some optional embodiments, in order to further ensure the security of the data, the identity of the blockchain participants needs to be verified. Only when the identity authentication of the blockchain participants is passed, the share data will be processed.

在S202中,对份额数据进行处理得到份额处理结果,并获取其它分布式节点对接收到的份额数据进行处理得到的份额处理结果。In S202, the share data is processed to obtain a share processing result, and the share processing results obtained by other distributed nodes processing the received share data are obtained.

在S203中,对获取到的份额处理结果进行重组,得到待处理数据对应的处理结果。In S203, the acquired share processing results are reorganized to obtain processing results corresponding to the data to be processed.

在S204中,将处理结果进行上链处理,以使区块链参与方从区块链中获取处理结果。In S204, the processing result is uploaded to the blockchain so that the blockchain participants can obtain the processing result from the blockchain.

步骤S202-S204的具体处理过程及相关说明可以参照前述实施例的技术方案,不再赘述。The specific processing process and related instructions of steps S202-S204 can refer to the technical solutions of the aforementioned embodiments and will not be repeated here.

这样,在接收到区块链参与方发起的处理任务请求之后,对处理任务请求的签名进行校验,从而可以验证区块链参与方的身份,只有区块链参与方的身份验证通过,才可以对份额数据进行处理,进一步保证了数据的安全性。In this way, after receiving the processing task request initiated by the blockchain participant, the signature of the processing task request is verified, so that the identity of the blockchain participant can be verified. Only when the identity authentication of the blockchain participant is passed can the share data be processed, which further ensures the security of the data.

在一些可选的实施例中,参见图9,图9示出了根据本申请的一个实施例的基于分布式节点的数据处理方法的流程图。该基于分布式节点的数据处理方法主要可以包括如下步骤。In some optional embodiments, see Figure 9, which shows a flow chart of a data processing method based on distributed nodes according to an embodiment of the present application. The data processing method based on distributed nodes may mainly include the following steps.

在S201中,接收区块链参与方发送的份额数据,份额数据是由区块链参与方对待处理数据进行秘密共享得到的。In S201, share data sent by a blockchain participant is received, where the share data is obtained by the blockchain participant through secret sharing of the data to be processed.

在S202中,对份额数据进行处理得到份额处理结果,并获取其它分布式节点对接收到的份额数据进行处理得到的份额处理结果。In S202, the share data is processed to obtain a share processing result, and the share processing results obtained by other distributed nodes processing the received share data are obtained.

步骤S201-S202的具体处理过程及相关说明可以参照前述实施例的技术方案,不再赘述。The specific processing process and related instructions of steps S201-S202 can refer to the technical solutions of the aforementioned embodiments and will not be repeated here.

在S601中,对份额处理结果进行签名,并获取其它分布式节点对份额处理结果进行的签名。In S601, the share processing result is signed, and the signatures of other distributed nodes on the share processing result are obtained.

在一些可选的实施例中,在得到份额处理结果之后,对份额处理结果进行签名。所谓签名指的是对处理得到的份额处理结果作一个准确性承诺,即确认该份额处理结果是准确的。需要说明的是,不仅是当前分布式节点对自身处理得到的份额处理结果进行签名,其他分布式节点也可以同样对自身处理得到的份额处理结果进行签名。In some optional embodiments, after obtaining the share processing result, the share processing result is signed. The so-called signature refers to a commitment to the accuracy of the processed share processing result, that is, to confirm that the share processing result is accurate. It should be noted that not only the current distributed node signs the share processing result obtained by itself, but other distributed nodes can also sign the share processing results obtained by themselves.

在S602中,对获取到的签名进行验证,并将签名验证通过的份额处理结果作为待重组的份额处理结果。In S602, the acquired signature is verified, and the share processing result that passes the signature verification is used as the share processing result to be reorganized.

在一些可选的实施例中,在得到签名后的份额处理结果之后,对签名进行验证,也就是验证这些份额处理结果是否是准确的、可靠的。在进行验证时,可以采用公钥去进行验证,并将验证通过的份额处理结果作为待重组的份额处理结果。In some optional embodiments, after obtaining the signed share processing results, the signature is verified, that is, whether the share processing results are accurate and reliable. When verifying, the public key can be used for verification, and the share processing results that pass the verification are used as the share processing results to be reorganized.

在S203中,对获取到的份额处理结果进行重组,得到待处理数据对应的处理结果。In S203, the acquired share processing results are reorganized to obtain processing results corresponding to the data to be processed.

在S204中,将处理结果进行上链处理,以使区块链参与方从区块链中获取处理结果。In S204, the processing result is uploaded to the blockchain so that the blockchain participants can obtain the processing result from the blockchain.

其中,S203-S204步骤的具体处理过程及相关说明可以参照前述实施例的技术方案,不再赘述。Among them, the specific processing process and related instructions of steps S203-S204 can refer to the technical solutions of the aforementioned embodiments and will not be repeated here.

这样,在得到份额处理结果之后,对份额处理结果进行签名,然后对签名进行验证,只有签名验证通过的份额处理结果才可以作为待重组的份额处理结果,对于签名验证不同的份额处理结果,则舍弃掉。即通过对份额处理结果进行签名并进行签名验证,从而有利于保证份额处理结果的准确性。In this way, after obtaining the share processing result, the share processing result is signed, and then the signature is verified. Only the share processing result that passes the signature verification can be used as the share processing result to be reorganized, and the share processing result with different signature verification is discarded. That is, by signing the share processing result and performing signature verification, it is helpful to ensure the accuracy of the share processing result.

在一些可选的实施例中,图10示出了根据本申请的一个实施例的基于分布式节点的数据处理方法的流程图,该基于分布式节点的数据处理方法可以由其它分布式节点来执行。参照图10所示,该基于分布式节点的数据处理方法至少包括S701至S703,详细介绍如下:In some optional embodiments, FIG10 shows a flow chart of a data processing method based on a distributed node according to an embodiment of the present application, and the data processing method based on a distributed node can be executed by other distributed nodes. Referring to FIG10 , the data processing method based on a distributed node at least includes S701 to S703, which are described in detail as follows:

在S701中,接收区块链参与方发送的份额数据,份额数据是由区块链参与方对待处理数据进行秘密共享得到的。In S701, share data sent by a blockchain participant is received, where the share data is obtained by the blockchain participant through secret sharing of the data to be processed.

在一些可选的实施例中,区块链参与方的数量可以有多个,每个区块链参与方都持有对应的待处理数据,每个区块链参与方持有的待处理数据均为隐私数据,即都只能自己看到。每个区块链参与方先获取到属于各自的待处理数据,然后区块链参与方对待处理数据进行秘密共享得到多份份额数据,接着将这些份额数据分发到各个分布式节点上,由各个分布式节点对得到的份额数据进行处理。这样,通过先由区块链参与方将待处理数据进行秘密共享得到多个份额数据,使得隐私数据处于不公开的状态,从而保证了隐私数据的安全性。其中,区块链参与方对待处理数据进行秘密共享时,可以采用私密算法(例如shamir算法)进行共享得到。In some optional embodiments, there may be multiple blockchain participants, each of which holds corresponding data to be processed, and the data to be processed held by each blockchain participant is private data, that is, it can only be seen by itself. Each blockchain participant first obtains the data to be processed belonging to each blockchain participant, and then the blockchain participants secretly share the data to be processed to obtain multiple shares of data, and then distribute these shares of data to each distributed node, and each distributed node processes the obtained share of data. In this way, by first secretly sharing the data to be processed by the blockchain participants to obtain multiple shares of data, the private data is kept in a non-public state, thereby ensuring the security of the private data. Among them, when the blockchain participants secretly share the data to be processed, they can use a private algorithm (such as the Shamir algorithm) to share it.

可选地,在接收区块链参与方发送的份额数据之前,可以对分布式节点进行初始化,然后将分布式节点的身份信息注册到区块链中。这样,通过将分布式节点的身份信息进行上链,便于后续在校验分布式节点身份信息时较能容易获取到对应的数据。Optionally, before receiving the share data sent by the blockchain participants, the distributed nodes can be initialized and then the identity information of the distributed nodes can be registered in the blockchain. In this way, by putting the identity information of the distributed nodes on the chain, it is easier to obtain the corresponding data when verifying the identity information of the distributed nodes later.

在S702中,对份额数据进行处理得到份额处理结果。In S702, the share data is processed to obtain a share processing result.

在一些可选的实施例中,先将待处理数据进行秘密共享成多份份额数据,然后将多份份额数据分发到各个分布式节点,各个分布式节点分别对自己节点得到的份额数据进行处理,以得到各个分布式节点对应的份额处理结果。In some optional embodiments, the data to be processed is first secretly shared into multiple shares of data, and then the multiple shares of data are distributed to each distributed node. Each distributed node processes the share data obtained by its own node to obtain the share processing results corresponding to each distributed node.

在S703中,将份额处理结果发送到指定的分布式节点,以使指定的分布式节点基于多个分布式节点发送的份额处理结果重组得到待处理数据对应的处理结果,并将处理结果进行上链处理。In S703, the share processing results are sent to the designated distributed node, so that the designated distributed node reorganizes the share processing results sent by multiple distributed nodes to obtain the processing results corresponding to the data to be processed, and processes the processing results on the chain.

在一些可选的实施例中,在得到当前分布式节点得到的份额处理结果,将份额处理结果发送到指定的分布式节点,以使指定的分布式节点基于多个分布式节点发送的份额处理结果重组得到待处理数据对应的处理结果。在得到处理结果之后,将处理结果进行上链处理,通过将处理结果进行上链公开,从而有利于区块链参与方从区块链中获取得到处理结果。In some optional embodiments, after obtaining the share processing result obtained by the current distributed node, the share processing result is sent to the designated distributed node, so that the designated distributed node reorganizes the processing result corresponding to the to-be-processed data based on the share processing results sent by multiple distributed nodes. After obtaining the processing result, the processing result is uploaded to the chain, and the processing result is publicly uploaded to the chain, which is conducive to the blockchain participants obtaining the processing result from the blockchain.

在本申请的一些实施例所提供的技术方案中,先由区块链参与方对待处理数据进行秘密共享得到多份份额数据,然后将份额数据分发到各个分布式节点,由各个分布式节点对份额数据进行处理得到份额处理结果。在得到份额处理结果之后,将份额处理结果发送到指定的分布式节点,以使指定的分布式节点基于多个分布式节点发送的份额处理结果重组得到待处理数据对应的处理结果,并将处理结果进行上链处理。这样,由于先由区块链参与方将待处理数据进行秘密共享拆分为多个份额数据,然后再将份额数据分发到各个分布式节点进行处理,在多个分布式节点上进行处理之后,再将处理结果进行重组,从而实现了在不公开隐私数据的情况下依旧可以使用该隐私数据,提升了隐私数据的安全性,达到了“可用不可见”的目的。In the technical solutions provided in some embodiments of the present application, the blockchain participants first share the data to be processed in secret to obtain multiple copies of share data, and then distribute the share data to each distributed node, and each distributed node processes the share data to obtain a share processing result. After obtaining the share processing result, the share processing result is sent to the designated distributed node, so that the designated distributed node reorganizes the share processing results sent by multiple distributed nodes to obtain the processing result corresponding to the data to be processed, and processes the processing result on the chain. In this way, since the blockchain participants first share the data to be processed in secret to obtain multiple copies of share data, and then distribute the share data to each distributed node for processing, after processing on multiple distributed nodes, the processing results are reorganized, thereby achieving the use of the private data without disclosing the private data, improving the security of the private data, and achieving the purpose of "available but invisible".

在一些可选的实施例中,图11示出了根据本申请的一个实施例的基于分布式节点的数据处理方法的流程图,该基于分布式节点的数据处理方法可以由区块链参与方来执行。参照图11所示,该基于分布式节点的数据处理方法至少包括S801至S804,详细介绍如下:In some optional embodiments, FIG11 shows a flow chart of a data processing method based on a distributed node according to an embodiment of the present application, and the data processing method based on a distributed node can be performed by a blockchain participant. Referring to FIG11 , the data processing method based on a distributed node includes at least S801 to S804, which are described in detail as follows:

在S801中,获取待处理数据。In S801, data to be processed is obtained.

在一些可选的实施例中,区块链参与方都持有对应的待处理数据,区块链参与方持有的待处理数据均为隐私数据,即都只能自己看到。In some optional embodiments, all blockchain participants hold corresponding data to be processed, and the data to be processed held by the blockchain participants are all private data, that is, they can only be seen by themselves.

在S802中,将待处理数据进行秘密共享处理,得到多个份额数据。In S802, the data to be processed is subjected to secret sharing processing to obtain a plurality of share data.

在一些可选的实施例中,先由区块链参与方对待处理数据进行秘密共享得到多份份额数据。其中,区块链参与方对待处理数据进行秘密共享时,可以采用私密算法(例如shamir算法)进行共享得到。In some optional embodiments, the blockchain participants first perform secret sharing on the data to be processed to obtain multiple shares of data. When the blockchain participants perform secret sharing on the data to be processed, they can use a private algorithm (such as Shamir's algorithm) to share and obtain.

在S803中,将多个份额数据分别发送给对应的分布式节点,以使分布式节点对份额数据进行处理,并将处理得到的份额处理结果进行重组得到处理结果后进行上链。In S803, multiple share data are sent to corresponding distributed nodes respectively, so that the distributed nodes process the share data, and reorganize the processed share processing results to obtain the processing results and then upload them to the chain.

在一些可选的实施例中,区块链参与方在对待处理数据进行秘密共享得到多份份额数据之后,将这些多份份额数据分发到各个分布式节点中,由各个分布式节点对得到的份额数据进行处理,以得到对应的份额处理结果。在得到当前分布式节点得到的份额处理结果,以及其他分布式节点的份额处理结果之后,对获取到的所有份额处理结果进行重组,从而有利于得到待处理数据对应的处理结果。In some optional embodiments, after the blockchain participants obtain multiple shares of the data to be processed through secret sharing, they distribute the multiple shares of the data to each distributed node, and each distributed node processes the obtained share data to obtain the corresponding share processing results. After obtaining the share processing results obtained by the current distributed node and the share processing results of other distributed nodes, all the obtained share processing results are reorganized, so as to facilitate obtaining the processing results corresponding to the data to be processed.

在S804中,从区块链中获取处理结果。In S804, the processing result is obtained from the blockchain.

在一些可选的实施例中,在得到处理结果之后,将处理结果进行上链处理,通过将处理结果进行上链公开,从而有利于区块链参与方从区块链中获取得到处理结果。In some optional embodiments, after obtaining the processing results, the processing results are uploaded to the chain for processing. By publishing the processing results on the chain, it is convenient for blockchain participants to obtain the processing results from the blockchain.

在本申请的一些实施例所提供的技术方案中,先由区块链参与方对待处理数据进行秘密共享得到多份份额数据,然后将份额数据分发到各个分布式节点,由各个分布式节点对份额数据进行处理得到份额处理结果。在得到份额处理结果之后,将得到的份额处理结果进行重组得到待处理数据对应的处理结果。最后,将待处理数据对应的处理结果进行上链,以供区块链参与方可以从区块链中获取得到该处理结果。这样,由于先由区块链参与方将待处理数据进行秘密共享拆分为多个份额数据,然后再将份额数据分发到各个分布式节点进行处理,在多个分布式节点上进行处理之后,再将处理结果进行重组,从而实现了在不公开隐私数据的情况下依旧可以使用该隐私数据,提升了隐私数据的安全性,达到了“可用不可见”的目的。In the technical solutions provided in some embodiments of the present application, the blockchain participants first share the data to be processed in secret to obtain multiple share data, and then distribute the share data to each distributed node, and each distributed node processes the share data to obtain a share processing result. After obtaining the share processing result, the obtained share processing result is reorganized to obtain the processing result corresponding to the data to be processed. Finally, the processing result corresponding to the data to be processed is uploaded to the chain so that the blockchain participants can obtain the processing result from the blockchain. In this way, since the blockchain participants first share the data to be processed in secret to obtain multiple share data, and then distribute the share data to each distributed node for processing, after processing on multiple distributed nodes, the processing results are reorganized, thereby achieving the use of the private data without disclosing the private data, improving the security of the private data, and achieving the purpose of "available but invisible".

在一些可选的实施例中,参见图12,图12示出了根据本申请的一个实施例的基于分布式节点的数据处理方法的流程图。该基于分布式节点的数据处理方法主要可以包括如下步骤。In some optional embodiments, see Figure 12, which shows a flow chart of a data processing method based on distributed nodes according to an embodiment of the present application. The data processing method based on distributed nodes may mainly include the following steps.

在S901中,向区块链发起处理任务请求,并将处理任务请求进行上链。In S901, a processing task request is initiated to the blockchain, and the processing task request is uploaded to the blockchain.

在一些可选的实施例中,向区块链发起处理任务请求,并将处理任务请求进行上链,从而有利于指示进入数据处理阶段。In some optional embodiments, a processing task request is initiated to the blockchain, and the processing task request is uploaded to the chain, which is conducive to indicating the entry into the data processing stage.

在S801中,获取待处理数据。In S801, data to be processed is obtained.

在S802中,将待处理数据进行秘密共享处理,得到多个份额数据。In S802, the data to be processed is subjected to secret sharing processing to obtain a plurality of share data.

在S803中,将多个份额数据分别发送给对应的分布式节点,以使分布式节点对份额数据进行处理,并将处理得到的份额处理结果进行重组得到处理结果后进行上链。In S803, multiple share data are sent to corresponding distributed nodes respectively, so that the distributed nodes process the share data, and reorganize the processed share processing results to obtain the processing results and then upload them to the chain.

在S804中,从区块链中获取处理结果。In S804, the processing result is obtained from the blockchain.

步骤S801-S804的具体处理过程及相关说明可以参照前述实施例的技术方案,不再赘述。The specific processing process and related instructions of steps S801-S804 can refer to the technical solutions of the aforementioned embodiments and will not be repeated here.

这样,向区块链发起处理任务请求,并将处理任务请求进行上链,从而有利于确定指示进入数据处理阶段。In this way, a processing task request is initiated to the blockchain and uploaded to the chain, which is conducive to determining the instruction to enter the data processing stage.

在一些可选的实施例中,参见图13,图13示出了根据本申请的一个实施例的基于分布式节点的数据处理方法的流程图。该基于分布式节点的数据处理方法主要可以包括如下步骤。In some optional embodiments, see Figure 13, which shows a flow chart of a data processing method based on distributed nodes according to an embodiment of the present application. The data processing method based on distributed nodes may mainly include the following steps.

在S901中,向区块链发起处理任务请求,并将处理任务请求进行上链。In S901, a processing task request is initiated to the blockchain, and the processing task request is uploaded to the blockchain.

该步骤的具体处理过程及相关说明可以参照前述实施例的技术方案,不再赘述。The specific processing process and related instructions of this step can refer to the technical solution of the aforementioned embodiment and will not be repeated here.

在S902中,通知其他区块链参与方将其他区块链参与方对应的待处理数据进行秘密共享得到多个待处理份额数据,并将多个待处理份额数据分别发送给对应的分布式节点。In S902, other blockchain participants are notified to secretly share the corresponding data to be processed of other blockchain participants to obtain multiple shares of data to be processed, and the multiple shares of data to be processed are sent to the corresponding distributed nodes respectively.

在一些可选的实施例中,在确定向区块链发起处理任务请求之后,通知其他区块链参与方将其他区块链参与方对应的待处理数据进行秘密共享得到多个待处理份额数据,然后将多个待处理份额数据分别发送给对应的分布式节点。这样,便于同时对其他参与方发送的待处理份额数据进行处理。In some optional embodiments, after determining to initiate a processing task request to the blockchain, notify other blockchain participants to secretly share the corresponding data to be processed of other blockchain participants to obtain multiple shares of data to be processed, and then send the multiple shares of data to be processed to the corresponding distributed nodes respectively. In this way, it is convenient to process the shares of data to be processed sent by other participants at the same time.

在S801中,获取待处理数据。In S801, data to be processed is obtained.

在S802中,将待处理数据进行秘密共享处理,得到多个份额数据。In S802, the data to be processed is subjected to secret sharing processing to obtain a plurality of share data.

在S803中,将多个份额数据分别发送给对应的分布式节点,以使分布式节点对份额数据进行处理,并将处理得到的份额处理结果进行重组得到处理结果后进行上链。In S803, multiple share data are sent to corresponding distributed nodes respectively, so that the distributed nodes process the share data, and reorganize the processed share processing results to obtain the processing results and then upload them to the chain.

在S804中,从区块链中获取处理结果。In S804, the processing result is obtained from the blockchain.

步骤S801-S804的具体处理过程及相关说明可以参照前述实施例的技术方案,不再赘述。The specific processing process and related instructions of steps S801-S804 can refer to the technical solutions of the aforementioned embodiments and will not be repeated here.

这样,在确定向区块链发起处理任务请求之后,通知其他区块链参与方将其他区块链参与方对应的待处理数据进行秘密共享得到多个待处理份额数据,然后将多个待处理份额数据分别发送给对应的分布式节点,便于同时对其他参与方发送的待处理份额数据进行处理。In this way, after determining to initiate a processing task request to the blockchain, other blockchain participants are notified to secretly share the corresponding data to be processed of other blockchain participants to obtain multiple shares of data to be processed, and then the multiple shares of data to be processed are sent to the corresponding distributed nodes respectively, so as to facilitate the simultaneous processing of the shares of data to be processed sent by other participants.

在一些可选的实施例中,参见图14,图14示出了根据本申请的一个实施例的基于分布式节点的数据处理方法的流程图。该基于分布式节点的数据处理方法主要可以包括如下步骤。In some optional embodiments, see Figure 14, which shows a flow chart of a data processing method based on distributed nodes according to an embodiment of the present application. The data processing method based on distributed nodes may mainly include the following steps.

在S801中,获取待处理数据。In S801, data to be processed is obtained.

在S802中,将待处理数据进行秘密共享处理,得到多个份额数据。In S802, the data to be processed is subjected to secret sharing processing to obtain a plurality of share data.

在S803中,将多个份额数据分别发送给对应的分布式节点,以使分布式节点对份额数据进行处理,并将处理得到的份额处理结果进行重组得到处理结果后进行上链。In S803, multiple share data are sent to corresponding distributed nodes respectively, so that the distributed nodes process the share data, and reorganize the processed share processing results to obtain the processing results and then upload them to the chain.

在S804中,从区块链中获取处理结果。In S804, the processing result is obtained from the blockchain.

步骤S801-S804的具体处理过程及相关说明可以参照前述实施例的技术方案,不再赘述。The specific processing process and related instructions of steps S801-S804 can refer to the technical solutions of the aforementioned embodiments and will not be repeated here.

在S1101中,使用区块链参与方的私钥对处理结果进行解密,得到解密后的处理结果。In S1101, the processing result is decrypted using the private key of the blockchain participant to obtain the decrypted processing result.

若处理结果是隐私数据,即从区块链中获取到的处理结果由区块链参与方的公钥进行加密,则使用区块链参与方的私钥对处理结果进行解密,进一步保障了处理结果的安全性。If the processing result is private data, that is, the processing result obtained from the blockchain is encrypted by the public key of the blockchain participant, the processing result is decrypted using the private key of the blockchain participant, further ensuring the security of the processing result.

在一些可选的实施例中,参见图15,图15示出了根据本申请的一个实施例的基于分布式节点的数据处理方法的流程图。该基于分布式节点的数据处理方法主要可以包括如下步骤。In some optional embodiments, see Figure 15, which shows a flow chart of a data processing method based on distributed nodes according to an embodiment of the present application. The data processing method based on distributed nodes may mainly include the following steps.

在S1201中,获取区块链参与方的身份信息。In S1201, identity information of blockchain participants is obtained.

在S1202中,将区块链参与方的身份信息进行上链。In S1202, the identity information of the blockchain participants is uploaded to the chain.

在一些可选的实施例中,将区块链参与方的身份信息注册到区块链中。这样,通过将区块链参与方的身份信息进行上链,便于后续在校验区块链参与方的身份信息时较能容易获取到对应的数据。In some optional embodiments, the identity information of the blockchain participants is registered in the blockchain. In this way, by putting the identity information of the blockchain participants on the chain, it is easier to obtain the corresponding data when verifying the identity information of the blockchain participants later.

在S801中,获取待处理数据。In S801, data to be processed is obtained.

在S802中,将待处理数据进行秘密共享处理,得到多个份额数据。In S802, the data to be processed is subjected to secret sharing processing to obtain a plurality of share data.

在S803中,将多个份额数据分别发送给对应的分布式节点,以使分布式节点对份额数据进行处理,并将处理得到的份额处理结果进行重组得到处理结果后进行上链。In S803, multiple share data are sent to corresponding distributed nodes respectively, so that the distributed nodes process the share data, and reorganize the processed share processing results to obtain the processing results and then upload them to the chain.

在S804中,从区块链中获取处理结果。In S804, the processing result is obtained from the blockchain.

步骤S801-S804的具体处理过程及相关说明可以参照前述实施例的技术方案,不再赘述。The specific processing process and related instructions of steps S801-S804 can refer to the technical solutions of the aforementioned embodiments and will not be repeated here.

这样,通过将区块链参与方的身份信息进行上链,便于后续在校验区块链参与方的身份信息时较能容易获取到对应的数据。In this way, by uploading the identity information of the blockchain participants to the chain, it is easier to obtain the corresponding data when verifying the identity information of the blockchain participants later.

为了便于理解本申请的技术方案,参见图16,图16示出了根据本申请的一个实施例的基于分布式节点的数据处理方法的流程图。To facilitate understanding of the technical solution of the present application, refer to FIG. 16 , which shows a flow chart of a data processing method based on distributed nodes according to an embodiment of the present application.

步骤1:对MPC网络初始化。具体地,MPC链下组合成一个MPC计算网络,MPC计算网络包括计算节点(也可称为分布式节点)和预处理节点,计算节点用于负责分布式计算,预处理节点用于负责预处理MPC计算时的预处理参数,例如shamir秘密分享的乘法计算需要消耗范德蒙矩阵,此时,预处理节点则需提前准备范德蒙矩阵,并在计算消耗时继续补充范德蒙矩阵。另外,计算节点在启动时,将自身的信息上报到MPC身份合约进行节点身份注册。Step 1: Initialize the MPC network. Specifically, the MPC chain is combined into an MPC computing network, which includes computing nodes (also called distributed nodes) and preprocessing nodes. The computing nodes are responsible for distributed computing, and the preprocessing nodes are responsible for preprocessing parameters during MPC computing. For example, the multiplication calculation of Shamir's secret sharing requires the consumption of the Vandermonde matrix. At this time, the preprocessing node needs to prepare the Vandermonde matrix in advance and continue to supplement the Vandermonde matrix when the calculation is consumed. In addition, when the computing node is started, it reports its own information to the MPC identity contract for node identity registration.

步骤2:部署协作计算合约:将业务的MPC计算实现为智能合约,部署到计算节点上。需要说明的是,由于MPC节点本身集成了区块链虚拟机,具备智能合约的管理接口,支持合约代码的部署。Step 2: Deploy collaborative computing contracts: Implement the MPC computing of the business as a smart contract and deploy it to the computing node. It should be noted that since the MPC node itself integrates the blockchain virtual machine, it has a smart contract management interface and supports the deployment of contract code.

步骤3:银行1、银行2、银行3以及金融结构作为区块链参与方,分别注册各自的身份信息到区块链的身份合约中,完成参与方的身份注册。其中,对于区块链的身份合约,具体地,身份合约部署在核心链上,管理节点的信息,维护和管理MPC节点的状态。由于MPC计算网络由不同的参与方节点组成,联合提供外包计算服务,节点在启动时,将自己的节点id、身份信息、公钥地址,注册到MPC身份合约,若发现MPC节点作恶,可冻结节点。Step 3: Bank 1, Bank 2, Bank 3 and the financial structure, as blockchain participants, register their own identity information in the blockchain's identity contract to complete the identity registration of the participants. Specifically, for the blockchain's identity contract, the identity contract is deployed on the core chain to manage the node information and maintain and manage the status of the MPC node. Since the MPC computing network is composed of different participant nodes, which jointly provide outsourced computing services, the node will register its node id, identity information, and public key address to the MPC identity contract when it starts. If the MPC node is found to be malicious, the node can be frozen.

步骤4:若金融机构希望对企业A进行风险等级评估,则金融机构向区块链发起一笔MPC处理任务请求并进行上链,其中,处理任务请求包括了MPC的算法、合约id、合约方法、企业id等。Step 4: If the financial institution wishes to conduct a risk level assessment on Enterprise A, the financial institution initiates an MPC processing task request to the blockchain and uploads it to the chain. The processing task request includes the MPC algorithm, contract ID, contract method, enterprise ID, etc.

步骤5:在向区块链发起一笔MPC处理任务请求之后,金融机构链下通知其他区块链参与方包括银行1、银行2、银行3发起MPC计算。然后,金融机构、银行1、银行2以及银行3分别将待参与计算的秘密数据,使用shamir算法分享为份额数据,将份额数据作为合约参数对应的计算节点。Step 5: After initiating an MPC processing task request to the blockchain, the financial institution notifies other blockchain participants including Bank 1, Bank 2, and Bank 3 to initiate MPC calculations. Then, the financial institution, Bank 1, Bank 2, and Bank 3 use the Shamir algorithm to share the secret data to be calculated as share data, and use the share data as the calculation node corresponding to the contract parameters.

步骤6:进行MPC计算,计算节点收到处理任务请求之后,校验请求的签名,以对区块链参与方的身份进行验证。在区块链参与方的身份验证通过后,分别使用份额参数执行计算f。其中,对于加法、减法、常数乘法对应线性计算,若包含乘法、除法计算,需使用范德蒙矩阵进行降阶处理。各个节点均在份额数据上执行计算,得到份额处理结果。Step 6: Perform MPC calculation. After receiving the processing task request, the computing node verifies the signature of the request to verify the identity of the blockchain participant. After the identity authentication of the blockchain participant is passed, the share parameters are used to perform calculation f. Among them, for addition, subtraction, and constant multiplication, linear calculations are corresponding. If multiplication and division calculations are included, the Vandermonde matrix needs to be used for order reduction. Each node performs calculations on the share data to obtain the share processing results.

步骤7:所有计算完成后,各计算节点对份额的计算结果进行签名,对获取到的签名进行验证,并将签名验证通过的份额处理结果作为待重组的份额处理结果,将重组得到的待处理数据对应的处理结果,并将处理结果进行上链处理。金融机构可从任务合约中获取到MPC计算的最终结果。若结果也是隐私数据,则将份额结果使用金融机构的公钥进行加密后发给金融机构,金融机构验证结果后,更新任务合约,扭转任务状态。Step 7: After all calculations are completed, each computing node signs the calculation results of the shares, verifies the obtained signatures, and uses the share processing results that pass the signature verification as the share processing results to be reorganized, and the processing results corresponding to the reorganized data to be processed are processed on the chain. Financial institutions can obtain the final results of the MPC calculations from the task contract. If the result is also private data, the share result is encrypted with the public key of the financial institution and sent to the financial institution. After the financial institution verifies the result, it updates the task contract and reverses the task status.

以下介绍本申请的装置实施例,可以用于执行本申请上述实施例中的基于分布式节点的数据处理方法。对于本申请装置实施例中未披露的细节,请参照本申请上述的基于分布式节点的数据处理方法的实施例。The following describes an embodiment of the device of the present application, which can be used to execute the data processing method based on distributed nodes in the above embodiment of the present application. For details not disclosed in the embodiment of the device of the present application, please refer to the embodiment of the data processing method based on distributed nodes in the above embodiment of the present application.

图17示出了根据本申请的一个实施例的基于分布式节点的数据处理装置的框图。FIG. 17 shows a block diagram of a data processing device based on distributed nodes according to an embodiment of the present application.

参照图17所示,根据本申请的一个实施例的基于分布式节点的数据处理装置1700,包括:As shown in FIG. 17 , a data processing device 1700 based on distributed nodes according to an embodiment of the present application includes:

接收模块1701,用于接收区块链参与方发送的份额数据,份额数据是由区块链参与方对待处理数据进行秘密共享得到的;The receiving module 1701 is used to receive the share data sent by the blockchain participants, where the share data is obtained by the blockchain participants through secret sharing of the data to be processed;

处理模块1702,用于对份额数据进行处理得到份额处理结果,并获取其它分布式节点对接收到的份额数据进行处理得到的份额处理结果;The processing module 1702 is used to process the share data to obtain a share processing result, and obtain the share processing results obtained by other distributed nodes processing the received share data;

重组模块1703,用于对获取到的份额处理结果进行重组,得到待处理数据对应的处理结果;The reorganization module 1703 is used to reorganize the obtained share processing results to obtain the processing results corresponding to the data to be processed;

上链模块1704,用于将处理结果进行上链处理,以使区块链参与方从区块链中获取处理结果。The on-chain module 1704 is used to process the processing results on the chain so that the blockchain participants can obtain the processing results from the blockchain.

在本申请的一些实施例中,基于以上技术方案,分布式节点上部署有用于对份额数据进行处理的智能合约,处理模块1702还用于将份额数据作为合约参数,调用智能合约对合约参数进行处理,得到份额处理结果。In some embodiments of the present application, based on the above technical solution, a smart contract for processing share data is deployed on the distributed node, and the processing module 1702 is also used to use the share data as a contract parameter, call the smart contract to process the contract parameter, and obtain the share processing result.

在本申请的一些实施例中,基于以上技术方案,重组模块1703还用于,从份额处理结果中选择设定数量的份额处理结果,设定数量至少超过待处理数据进行秘密共享得到的份额数量的一半;将设定数量的份额处理结果进行重组,得到待处理数据对应的处理结果。In some embodiments of the present application, based on the above technical solution, the reorganization module 1703 is also used to select a set number of share processing results from the share processing results, and the set number is at least more than half of the number of shares obtained by secret sharing of the data to be processed; and the set number of share processing results are reorganized to obtain the processing results corresponding to the data to be processed.

在本申请的一些实施例中,基于以上技术方案,装置还包括校验模块,用于接收区块链参与方发起的处理任务请求;对处理任务请求的签名进行校验,以验证区块链参与方的身份;若区块链参与方的身份验证通过,则对份额数据进行处理。In some embodiments of the present application, based on the above technical solution, the device also includes a verification module for receiving a processing task request initiated by a blockchain participant; verifying the signature of the processing task request to verify the identity of the blockchain participant; if the identity authentication of the blockchain participant is passed, the share data is processed.

在本申请的一些实施例中,基于以上技术方案,重组模块1703还用于,对份额处理结果进行签名,并获取其它分布式节点对份额处理结果进行的签名;对获取到的签名进行验证,并将签名验证通过的份额处理结果作为待重组的份额处理结果。In some embodiments of the present application, based on the above technical solution, the reorganization module 1703 is also used to sign the share processing results and obtain the signatures of other distributed nodes on the share processing results; verify the obtained signatures, and use the share processing results that pass the signature verification as the share processing results to be reorganized.

根据本申请实施例的一个方面,提供了一种基于分布式节点的数据处理装置,装置包括:According to one aspect of an embodiment of the present application, a data processing device based on a distributed node is provided, the device comprising:

接收模块,用于接收区块链参与方发送的份额数据,份额数据是由区块链参与方对待处理数据进行秘密共享得到的;A receiving module is used to receive the share data sent by the blockchain participants, where the share data is obtained by the blockchain participants through secret sharing of the data to be processed;

处理模块,用于对份额数据进行处理得到份额处理结果;A processing module, used for processing the share data to obtain a share processing result;

发送模块,用于将份额处理结果发送到指定的分布式节点,以使指定的分布式节点基于多个分布式节点发送的份额处理结果重组得到待处理数据对应的处理结果,并将处理结果进行上链处理。The sending module is used to send the share processing results to the designated distributed nodes, so that the designated distributed nodes can reorganize the share processing results sent by multiple distributed nodes to obtain the processing results corresponding to the data to be processed, and process the processing results on the chain.

图18示出了根据本申请的一个实施例的基于分布式节点的数据处理装置的框图。参照图18所示,根据本申请实施例的一个方面,提供了一种基于分布式节点的数据处理装置1800包括:FIG18 shows a block diagram of a data processing device based on distributed nodes according to an embodiment of the present application. Referring to FIG18 , according to one aspect of an embodiment of the present application, a data processing device based on distributed nodes 1800 is provided, including:

第一获取模块1801,用于获取待处理数据;The first acquisition module 1801 is used to acquire data to be processed;

处理模块1802,用于将待处理数据进行秘密共享处理,得到多个份额数据;The processing module 1802 is used to perform secret sharing processing on the data to be processed to obtain multiple share data;

发送模块1803,用于将多个份额数据分别发送给对应的分布式节点,以使分布式节点对份额数据进行处理,并将处理得到的份额处理结果进行重组得到处理结果后进行上链;The sending module 1803 is used to send multiple share data to corresponding distributed nodes respectively, so that the distributed nodes process the share data, and reorganize the processed share processing results to obtain the processing results and then upload them to the chain;

第二获取模块1804,用于从区块链中获取处理结果。The second acquisition module 1804 is used to obtain the processing result from the blockchain.

在本申请的一些实施例中,基于以上技术方案,装置还包括请求模块,用于向区块链发起处理任务请求,并将处理任务请求进行上链。In some embodiments of the present application, based on the above technical solution, the device also includes a request module, which is used to initiate a processing task request to the blockchain and upload the processing task request to the blockchain.

在本申请的一些实施例中,基于以上技术方案,请求模块还用于,通知其他区块链参与方将其他区块链参与方对应的待处理数据进行秘密共享得到多个待处理份额数据,并将多个待处理份额数据分别发送给对应的分布式节点。In some embodiments of the present application, based on the above technical solution, the request module is also used to notify other blockchain participants to secretly share the corresponding data to be processed of other blockchain participants to obtain multiple shares of data to be processed, and send the multiple shares of data to be processed to the corresponding distributed nodes respectively.

在本申请的一些实施例中,基于以上技术方案,从区块链中获取到的处理结果由区块链参与方的公钥进行加密;第二获取模块1804还用于,使用区块链参与方的私钥对处理结果进行解密,得到解密后的处理结果。In some embodiments of the present application, based on the above technical solution, the processing result obtained from the blockchain is encrypted by the public key of the blockchain participant; the second acquisition module 1804 is also used to decrypt the processing result using the private key of the blockchain participant to obtain the decrypted processing result.

在本申请的一些实施例中,基于以上技术方案,第一获取模块1801还用于,获取区块链参与方的身份信息;将区块链参与方的身份信息进行上链。In some embodiments of the present application, based on the above technical solution, the first acquisition module 1801 is also used to obtain the identity information of the blockchain participants; and upload the identity information of the blockchain participants to the chain.

图19示出了适于用来实现本申请实施例的电子设备的计算机系统的结构示意图。FIG. 19 shows a schematic diagram of the structure of a computer system suitable for implementing an electronic device of an embodiment of the present application.

需要说明的是,图19示出的电子设备的计算机系统1900仅是一个示例,不应对本申请实施例的功能和使用范围带来任何限制。It should be noted that the computer system 1900 of the electronic device shown in FIG. 19 is merely an example and should not bring any limitation to the functions and scope of use of the embodiments of the present application.

如图19所示,计算机系统1900包括中央处理单元(Central Processing Unit,CPU)1901,其可以根据存储在只读存储器(Read-Only Memory,ROM)1902中的程序或者从存储部分1908加载到随机访问存储器(Random Access Memory,RAM)1903中的程序而执行各种适当的动作和处理,例如执行上述实施例中的方法。在RAM 1903中,还存储有系统操作所需的各种程序和数据。CPU 1901、ROM 1902以及RAM 1903通过总线1904彼此相连。输入/输出(Input/Output,I/O)接口1905也连接至总线1904。As shown in FIG. 19 , a computer system 1900 includes a central processing unit (CPU) 1901, which can perform various appropriate actions and processes according to a program stored in a read-only memory (ROM) 1902 or a program loaded from a storage part 1908 to a random access memory (RAM) 1903, such as executing the method in the above embodiment. Various programs and data required for system operation are also stored in RAM 1903. CPU 1901, ROM 1902, and RAM 1903 are connected to each other via a bus 1904. An input/output (I/O) interface 1905 is also connected to bus 1904.

以下部件连接至I/O接口1905:包括键盘、鼠标等的输入部分1906;包括诸如阴极射线管(Cathode Ray Tube,CRT)、液晶显示器(Liquid Crystal Display,LCD)等以及扬声器等的输出部分1907;包括硬盘等的存储部分1908;以及包括诸如LAN(Local AreaNetwork,局域网)卡、调制解调器等的网络接口卡的通信部分1909。通信部分1909经由诸如因特网的网络执行通信处理。驱动器1910也根据需要连接至I/O接口1905。可拆卸介质1911,诸如磁盘、光盘、磁光盘、半导体存储器等等,根据需要安装在驱动器1910上,以便于从其上读出的计算机程序根据需要被安装入存储部分1908。The following components are connected to the I/O interface 1905: an input section 1906 including a keyboard, a mouse, etc.; an output section 1907 including a cathode ray tube (CRT), a liquid crystal display (LCD), etc., and a speaker, etc.; a storage section 1908 including a hard disk, etc.; and a communication section 1909 including a network interface card such as a LAN (Local Area Network) card, a modem, etc. The communication section 1909 performs communication processing via a network such as the Internet. A drive 1910 is also connected to the I/O interface 1905 as needed. A removable medium 1911, such as a magnetic disk, an optical disk, a magneto-optical disk, a semiconductor memory, etc., is installed on the drive 1910 as needed so that a computer program read therefrom is installed into the storage section 1908 as needed.

特别地,根据本申请的实施例,上文参考流程图描述的过程可以被实现为计算机软件程序。例如,本申请的实施例包括一种计算机程序产品,其包括承载在计算机可读介质上的计算机程序,该计算机程序包含用于执行流程图所示的方法的计算机程序。在这样的实施例中,该计算机程序可以通过通信部分1909从网络上被下载和安装,和/或从可拆卸介质1911被安装。在该计算机程序被中央处理单元(CPU)1901执行时,执行本申请的系统中限定的各种功能。In particular, according to an embodiment of the present application, the process described above with reference to the flowchart can be implemented as a computer software program. For example, an embodiment of the present application includes a computer program product, which includes a computer program carried on a computer-readable medium, and the computer program includes a computer program for executing the method shown in the flowchart. In such an embodiment, the computer program can be downloaded and installed from a network through a communication section 1909, and/or installed from a removable medium 1911. When the computer program is executed by a central processing unit (CPU) 1901, various functions defined in the system of the present application are executed.

需要说明的是,本申请实施例所示的计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质或者是上述两者的任意组合。计算机可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子可以包括但不限于:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机访问存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(Erasable Programmable Read Only Memory,EPROM)、闪存、光纤、便携式紧凑磁盘只读存储器(Compact Disc Read-Only Memory,CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本申请中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。而在本申请中,计算机可读的信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的计算机程序。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。计算机可读的信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。计算机可读介质上包含的计算机程序可以用任何适当的介质传输,包括但不限于:无线、有线等等,或者上述的任意合适的组合。It should be noted that the computer-readable medium shown in the embodiment of the present application may be a computer-readable signal medium or a computer-readable storage medium or any combination of the above two. The computer-readable storage medium may be, for example, but not limited to, an electrical, magnetic, optical, electromagnetic, infrared, or semiconductor system, device or device, or any combination of the above. More specific examples of computer-readable storage media may include, but are not limited to: an electrical connection with one or more wires, a portable computer disk, a hard disk, a random access memory (RAM), a read-only memory (ROM), an erasable programmable read-only memory (EPROM), a flash memory, an optical fiber, a portable compact disk read-only memory (CD-ROM), an optical storage device, a magnetic storage device, or any suitable combination of the above. In the present application, a computer-readable storage medium may be any tangible medium containing or storing a program, which may be used by an instruction execution system, device or device or used in combination with it. In the present application, a computer-readable signal medium may include a data signal propagated in a baseband or as part of a carrier wave, wherein a computer-readable computer program is carried. Such propagated data signals may take a variety of forms, including but not limited to electromagnetic signals, optical signals, or any suitable combination of the above. Computer-readable signal media may also be any computer-readable medium other than computer-readable storage media, which may send, propagate, or transmit programs for use by or in conjunction with an instruction execution system, apparatus, or device. The computer program contained on the computer-readable medium may be transmitted using any appropriate medium, including but not limited to: wireless, wired, etc., or any suitable combination of the above.

附图中的流程图和框图,图示了按照本申请各种实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。其中,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,上述模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图或流程图中的每个方框、以及框图或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机程序的组合来实现。The flowchart and block diagram in the accompanying drawings illustrate the possible architecture, functions and operations of the system, method and computer program product according to various embodiments of the present application. Wherein, each box in the flowchart or block diagram can represent a module, a program segment, or a part of the code, and the above-mentioned module, program segment, or a part of the code contains one or more executable instructions for realizing the specified logical function. It should also be noted that in some alternative implementations, the functions marked in the box can also occur in a different order from the order marked in the accompanying drawings. For example, two boxes represented in succession can actually be executed substantially in parallel, and they can sometimes be executed in the opposite order, depending on the functions involved. It should also be noted that each box in the block diagram or flowchart, and the combination of the boxes in the block diagram or flowchart can be implemented with a dedicated hardware-based system that performs a specified function or operation, or can be implemented with a combination of dedicated hardware and a computer program.

描述于本申请实施例中所涉及到的单元可以通过软件的方式实现,也可以通过硬件的方式来实现,所描述的单元也可以设置在处理器中。其中,这些单元的名称在某种情况下并不构成对该单元本身的限定。The units involved in the embodiments described in this application may be implemented by software or hardware, and the units described may also be set in a processor. The names of these units do not constitute limitations on the units themselves in some cases.

作为另一方面,本申请还提供了一种计算机可读介质,该计算机可读介质可以是上述实施例中描述的电子设备中所包含的;也可以是单独存在,而未装配入该电子设备中。上述计算机可读介质承载有一个或者多个计算机程序,当上述一个或者多个计算机程序被一个该电子设备执行时,使得该电子设备实现上述实施例中的方法。As another aspect, the present application also provides a computer-readable medium, which may be included in the electronic device described in the above embodiment; or may exist independently without being assembled into the electronic device. The above computer-readable medium carries one or more computer programs, and when the above one or more computer programs are executed by an electronic device, the electronic device implements the method in the above embodiment.

应当注意,尽管在上文详细描述中提及了用于动作执行的设备的若干模块或者单元,但是这种划分并非强制性的。实际上,根据本申请的实施方式,上文描述的两个或更多模块或者单元的特征和功能可以在一个模块或者单元中具体化。反之,上文描述的一个模块或者单元的特征和功能可以进一步划分为由多个模块或者单元来具体化。It should be noted that, although several modules or units of the equipment for action execution are mentioned in the above detailed description, this division is not mandatory. In fact, according to the embodiments of the present application, the features and functions of two or more modules or units described above can be embodied in one module or unit. On the contrary, the features and functions of one module or unit described above can be further divided into being embodied by multiple modules or units.

通过以上的实施方式的描述,本领域的技术人员易于理解,这里描述的示例实施方式可以通过软件实现,也可以通过软件结合必要的硬件的方式来实现。因此,根据本申请实施方式的技术方案可以以软件产品的形式体现出来,该软件产品可以存储在一个非易失性存储介质(可以是CD-ROM,U盘,移动硬盘等)中或网络上,包括若干指令以使得一台计算设备(可以是个人计算机、服务器、触控终端、或者网络设备等)执行根据本申请实施方式的方法。Through the description of the above implementation methods, it is easy for those skilled in the art to understand that the example implementation methods described here can be implemented by software, or by software combined with necessary hardware. Therefore, the technical solution according to the implementation method of the present application can be embodied in the form of a software product, which can be stored in a non-volatile storage medium (which can be a CD-ROM, a USB flash drive, a mobile hard disk, etc.) or on a network, including several instructions to enable a computing device (which can be a personal computer, a server, a touch terminal, or a network device, etc.) to execute the method according to the implementation method of the present application.

本领域技术人员在考虑说明书及实践这里公开的实施方式后,将容易想到本申请的其它实施方案。本申请旨在涵盖本申请的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本申请的一般性原理并包括本申请未公开的本技术领域中的公知常识或惯用技术手段。Those skilled in the art will readily appreciate other embodiments of the present application after considering the specification and practicing the embodiments disclosed herein. The present application is intended to cover any variations, uses or adaptations of the present application, which follow the general principles of the present application and include common knowledge or customary technical means in the art that are not disclosed in the present application.

应当理解的是,本申请并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本申请的范围仅由所附的权利要求来限制。It should be understood that the present application is not limited to the precise structures that have been described above and shown in the drawings, and that various modifications and changes may be made without departing from the scope thereof. The scope of the present application is limited only by the appended claims.

Claims (16)

1. A method for processing data based on distributed nodes, the method comprising:
the method comprises the steps of receiving share data sent by a blockchain participant, wherein the share data is obtained by secret sharing of data to be processed by the blockchain participant;
processing the share data to obtain a share processing result, and obtaining share processing results obtained by processing the received share data by other distributed nodes;
recombining the obtained share processing results to obtain processing results corresponding to the data to be processed;
and carrying out uplink processing on the processing result so that the blockchain participant obtains the processing result from the blockchain.
2. The distributed node-based data processing method of claim 1, wherein the distributed node has a smart contract deployed thereon for processing the share data;
the processing of the share data to obtain a share processing result comprises the following steps:
and taking the share data as a contract parameter, and calling the intelligent contract to process the contract parameter to obtain the share processing result.
3. The distributed node-based data processing method according to claim 1, wherein the reorganizing the obtained share processing result to obtain a processing result corresponding to the data to be processed includes:
Selecting a set number of share processing results from the share processing results, wherein the set number is at least more than half of the share number obtained by secret sharing of the data to be processed;
And reorganizing the share processing results of the set number to obtain processing results corresponding to the data to be processed.
4. A distributed node based data processing method according to any of claims 1 to 3, wherein before processing the share data to obtain a share processing result, the method further comprises:
receiving a processing task request initiated by the blockchain participant;
verifying the signature of the processing task request to verify the identity of the blockchain participant;
and if the identity verification of the blockchain participant passes, processing the share data.
5. A distributed node based data processing method according to any of claims 1 to 3, characterized in that before reorganizing the obtained share processing results, the method further comprises:
Signing the share processing result, and obtaining signatures of the other distributed nodes on the share processing result;
And verifying the obtained signature, and taking the share processing result passing the signature verification as the share processing result to be recombined.
6. A method for processing data based on distributed nodes, the method comprising:
the method comprises the steps of receiving share data sent by a blockchain participant, wherein the share data is obtained by secret sharing of data to be processed by the blockchain participant;
Processing the share data to obtain a share processing result;
And sending the share processing results to a designated distributed node, so that the designated distributed node can reconstruct the share processing results sent by a plurality of distributed nodes to obtain processing results corresponding to the data to be processed, and carrying out uplink processing on the processing results.
7. A method for processing data based on distributed nodes, the method comprising:
Acquiring data to be processed;
carrying out secret sharing processing on the data to be processed to obtain a plurality of share data;
the plurality of share data are respectively sent to the corresponding distributed nodes, so that the distributed nodes process the share data, and the share processing results obtained through processing are recombined to obtain processing results and then are uplink;
and obtaining the processing result from the block chain.
8. The distributed node-based data processing method of claim 7, wherein prior to acquiring the data to be processed, the method further comprises:
And initiating a processing task request to the block chain, and uplink the processing task request.
9. The distributed node-based data processing method of claim 8, wherein after initiating a processing task request to the blockchain, the method further comprises:
Notifying other blockchain participants to carry out secret sharing on the data to be processed corresponding to the other blockchain participants to obtain a plurality of share data to be processed, and respectively sending the share data to the corresponding distributed nodes.
10. The distributed node-based data processing method of claim 7, wherein the processing results obtained from the blockchain are encrypted by a public key of the blockchain participant;
after obtaining the processing result from the blockchain, the method further includes:
And decrypting the processing result by using the private key of the blockchain participant to obtain a decrypted processing result.
11. A distributed node based data processing method according to any of claims 7 to 10, wherein prior to obtaining the data to be processed, the method further comprises:
Acquiring identity information of the blockchain participant;
and the identity information of the blockchain participant is uplink.
12. A data processing apparatus based on a distributed node, the apparatus comprising:
the system comprises a receiving module, a processing module and a processing module, wherein the receiving module is used for receiving share data sent by a blockchain participant, and the share data is obtained by secret sharing of data to be processed by the blockchain participant;
The processing module is used for processing the share data to obtain a share processing result, and acquiring share processing results obtained by processing the received share data by other distributed nodes;
The reorganization module is used for reorganizing the obtained share processing results to obtain processing results corresponding to the data to be processed;
and the uplink module is used for carrying out uplink processing on the processing result so that the blockchain participant can acquire the processing result from the blockchain.
13. A data processing apparatus based on a distributed node, the apparatus comprising:
the first acquisition module is used for acquiring data to be processed;
The processing module is used for carrying out secret sharing processing on the data to be processed to obtain a plurality of share data;
the sending module is used for respectively sending the plurality of share data to the corresponding distributed nodes so that the distributed nodes process the share data, and recombining the share processing results obtained by processing to obtain processing results and then carrying out uplink;
And the second acquisition module is used for acquiring the processing result from the block chain.
14. A computer readable medium, on which a computer program is stored, which computer program, when being executed by a processor, implements a distributed node based data processing method according to any of claims 1 to 11.
15. An electronic device, comprising:
One or more processors;
A memory for storing one or more computer programs that, when executed by the one or more processors, cause the electronic device to implement the distributed node-based data processing method of any of claims 1-11.
16. A computer program product, characterized in that the computer program product comprises a computer program stored in a computer readable storage medium, from which computer readable storage medium a processor of an electronic device reads and executes the computer program, causing the electronic device to perform the distributed node based data processing method according to any of claims 1 to 11.
CN202310020504.9A 2023-01-06 2023-01-06 Data processing method, device, readable medium and equipment based on distributed nodes Pending CN118316925A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202310020504.9A CN118316925A (en) 2023-01-06 2023-01-06 Data processing method, device, readable medium and equipment based on distributed nodes

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202310020504.9A CN118316925A (en) 2023-01-06 2023-01-06 Data processing method, device, readable medium and equipment based on distributed nodes

Publications (1)

Publication Number Publication Date
CN118316925A true CN118316925A (en) 2024-07-09

Family

ID=91722904

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202310020504.9A Pending CN118316925A (en) 2023-01-06 2023-01-06 Data processing method, device, readable medium and equipment based on distributed nodes

Country Status (1)

Country Link
CN (1) CN118316925A (en)

Similar Documents

Publication Publication Date Title
US12341908B2 (en) Computer-implemented method and system for transferring access to a digital asset
US11196556B2 (en) Method for restoring public key based on SM2 signature
EP3673435B1 (en) Improving integrity of communications between blockchain networks and external data sources
CN109937557B (en) System and method for information protection
JP6908700B2 (en) Systems and methods for information protection
CN109756485B (en) Electronic contract signing method, electronic contract signing device, computer equipment and storage medium
RU2736447C1 (en) Asset cross-trade in networks of blockchains
Wei et al. Security and privacy for storage and computation in cloud computing
JP2020507222A (en) System and method for information protection
WO2021114819A1 (en) Methods for generating and executing smart contract transaction and device
JP2020515087A5 (en)
CN110771094A (en) Computer-implemented system and method for time released encryption over a blockchain network
EP3563553A1 (en) Method for signing a new block in a decentralized blockchain consensus network
WO2017145016A1 (en) Determining a common secret for the secure exchange of information and hierarchical, deterministic cryptographic keys
CN109617699A (en) A key generation method, blockchain network service platform and storage medium
US10630476B1 (en) Obtaining keys from broadcasters in supersingular isogeny-based cryptosystems
CN111737715A (en) A method and system for online signing of a decentralized electronic contract
KR102074381B1 (en) Method, device and recording medium for processing confidential transaction based on blockchain
Xiong et al. Anonymous auction protocol based on time-released encryption atop consortium blockchain
US20240396735A1 (en) Round optimal oblivious transfers from isogenies
CN118133349A (en) Privacy computing method, device, equipment, storage medium and computer program product
US10880278B1 (en) Broadcasting in supersingular isogeny-based cryptosystems
TW202318833A (en) Threshold signature scheme
CN115131018A (en) Block chain based private transaction method and related product
CN120380719A (en) Key derivation for account management

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
点击 这是indexloc提供的php浏览器服务,不要输入任何密码和下载