CN113067822A - 基于区块链的信息处理方法、装置、设备、介质和产品 - Google Patents

基于区块链的信息处理方法、装置、设备、介质和产品 Download PDF

Info

Publication number
CN113067822A
CN113067822A CN202110299798.4A CN202110299798A CN113067822A CN 113067822 A CN113067822 A CN 113067822A CN 202110299798 A CN202110299798 A CN 202110299798A CN 113067822 A CN113067822 A CN 113067822A
Authority
CN
China
Prior art keywords
message
information
intelligent contract
data
computing
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.)
Granted
Application number
CN202110299798.4A
Other languages
English (en)
Other versions
CN113067822B (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.)
Industrial and Commercial Bank of China Ltd ICBC
Original Assignee
Industrial and Commercial Bank of China Ltd ICBC
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 Industrial and Commercial Bank of China Ltd ICBC filed Critical Industrial and Commercial Bank of China Ltd ICBC
Priority to CN202110299798.4A priority Critical patent/CN113067822B/zh
Publication of CN113067822A publication Critical patent/CN113067822A/zh
Application granted granted Critical
Publication of CN113067822B publication Critical patent/CN113067822B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/04Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
    • H04L63/0428Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload
    • H04L63/0442Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload wherein the sending and receiving network entities apply asymmetric encryption, i.e. different keys for encryption and decryption
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/602Providing cryptographic facilities or services
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/62Protecting access to data via a platform, e.g. using keys or access control rules
    • G06F21/6218Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database
    • G06F21/6245Protecting personal data, e.g. for financial or medical purposes
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/10Network architectures or network communication protocols for network security for controlling access to devices or network resources
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/12Applying verification of the received information
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • 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
    • 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/133Protocols for remote procedure calls [RPC]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/14Session management
    • H04L67/141Setup of application sessions
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/22Parsing or analysis of headers
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2209/00Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
    • H04L2209/46Secure multiparty computation, e.g. millionaire problem
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/50Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using hash chains, e.g. blockchains or hash trees
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Hardware Design (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Bioethics (AREA)
  • Health & Medical Sciences (AREA)
  • General Health & Medical Sciences (AREA)
  • Computing Systems (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Medical Informatics (AREA)
  • Databases & Information Systems (AREA)
  • Financial Or Insurance-Related Operations Such As Payment And Settlement (AREA)
  • Storage Device Security (AREA)

Abstract

本公开提供了一种基于区块链的信息处理的方法,可用于金融技术领域和区块链技术领域。该信息处理方法应用于包括相互通信的多个计算节点的区块链网络中,该信息处理方法包括:接收消息报文;解析消息报文,得到消息报文的消息类型;确定与消息类型匹配的智能合约及与消息类型匹配的智能合约引擎;以及基于智能合约引擎运行智能合约,以对消息报文进行处理,其中,消息类型包括以下任意一个:安全多方计算消息、节点关系消息、拉取机制消息、状态消息、辅助消息。本公开还提供了一种基于区块链的信息处理装置、设备、介质和产品。

Description

基于区块链的信息处理方法、装置、设备、介质和产品
技术领域
本公开涉及计算机技术领域,具体涉及金融技术领域和区块链技术领域,更具体地涉及一种基于区块链的信息处理方法、装置、设备、介质和产品。
背景技术
在可信计算中,区块链和安全多方计算是两个重要技术分支。在数据保护层面,区块链确保数据的真实性,防止数据被恶意篡改,而安全多方计算(Secure Multi-PartyComputation,MPC)能保证参与方在互不信任的环境中执行计算且***露各自的信息。
相关技术中,通常将使用安全多方技术计算得到的结果存储在区块链上,以此将区块链和安全多方计算相结合,确保存储到区块链上的计算结果是安全可信的。
发明内容
鉴于上述问题,本公开提供了用于提高处理流程中信息安全性和可靠性的基于区块链的信息处理方法、装置、设备、介质和产品。
根据本公开的第一个方面,提供了一种基于区块链的信息处理方法,应用于包括相互通信的多个计算节点的区块链网络中。该方法包括:接收消息报文;解析消息报文,得到消息报文的消息类型;确定与消息类型匹配的智能合约及与消息类型匹配的智能合约引擎;以及基于智能合约引擎运行智能合约,以对消息报文进行处理,其中,消息类型安全多方计算消息和以下消息类型中的任意一个:节点关系消息、拉取机制消息、状态消息、辅助消息。
根据本公开的实施例,在消息类型为安全多方计算消息的情况下,消息包括包含参与方信息,上述基于区块链的信息处理方法还包括在基于智能合约引擎运行智能合约之前:根据参与方信息,确定多个计算节点中针对参与方的节点,作为参与节点;以及通过采用与安全多方计算消息匹配的智能合约引擎调用安全多方计算端口,构建与参与节点之间的短连接。
根据本公开的实施例,上述消息报文还包含待计算数据的存储信息;上述基于智能合约引擎运行智能合约包括:根据存储信息读取加密的待计算数据;以及基于可信计算合约,对加密的待计算数据进行计算以获得计算结果。其中,待计算数据存储在针对参与节点的数据库中。
根据本公开的实施例,上述待计算数据的存证信息存储在区块链的分布式数据库中。上述基于智能合约引擎运行智能合约还包括在对加密的待计算数据进行计算之前:确定加密的待计算数据的存证信息;以及对加密的待计算数据的存证信息与分布式数据库存储的待计算数据的存证信息进行一致性校验,其中,在校验加密的待计算数据的存证信息与分布式数据库存储的待计算数据的存证信息一致的情况下,对加密的待计算数据进行计算。
根据本公开的实施例,上述基于区块链的信息处理方法还包括:采用预定非对称密钥的公钥加密计算结果,得到加密后计算结果;以及将加密后计算结果反馈给消息报文的发送设备,以供述发送设备采用非对称密钥的私钥解密得到计算结果,其中,非对称密钥唯一对应发送设备。
根据本公开的实施例,上述将加密后计算结果反馈给消息报文的发送设备包括:确定计算结果的存证信息;将计算结果的存证信息和加密后计算结果反馈给发送设备;上述基于区块链的信息处理方法还包括:将计算结果的存证信息作为区块存储至分布式数据库,以供发送设备对接收的存证信息与分布式数据库存储的存证信息进行一致性校验。
根据本公开的实施例,基于区块链的信息处理方法还包括在接收消息报文之前:接收数据权限申请信息,该数据权限申请信息包括参与方信息;基于预定智能合约,将数据权限申请信息存储至区块链的分布式数据库中,并设定权限申请信息的状态为初始状态;响应于参与节点在分布式数据库中存储了针对权限申请信息的答复信息,对答复信息的提供方进行身份验证;以及在身份验证通过的情况下,根据答复信息更改权限申请信息的状态。其中,在答复信息为同意的情况下,获得从针对参与节点的数据库中读取数据的权限。
本公开的第二方面提供了一种基于区块链的信息处理装置,应用于包括相互通信的多个计算节点的区块链网络中。该信息处理装置包括:消息接收模块,用于接收消息报文;消息解析模块,用于解析消息报文,得到消息报文的消息类型;匹配信息确定模块,用于确定与消息类型匹配的智能合约及与消息类型匹配的智能合约引擎;以及消息处理模块,用于基于智能合约引擎运行智能合约,以对消息报文进行处理,其中,消息类型包括安全多方计算消息和以下信息类型中的任意一个:节点关系消息、拉取机制消息、状态消息、辅助消息。
本公开的第三方面提供了一种电子设备,包括:一个或多个处理器;存储器,用于存储一个或多个程序,其中,当所述一个或多个程序被所述一个或多个处理器执行时,使得一个或多个处理器执行上述的基于区块链的信息处理方法。
本公开的第四方面还提供了一种计算机可读存储介质,其上存储有可执行指令,该指令被处理器执行时使处理器执行上述的基于区块链的信息处理方法。
本公开的第五方面还提供了一种计算机程序产品,包括计算机程序,该计算机程序被处理器执行时实现上述的基于区块链的信息处理方法。
附图说明
通过以下参照附图对本公开实施例的描述,本公开的上述内容以及其他目的、特征和优点将更为清楚,在附图中:
图1示意性示出了运行安全多方计算的***架构图;
图2示意性示出了根据本公开实施例的基于区块链的信息处理方法、装置、设备、介质和产品的应用场景图;
图3示意性示出了根据本公开实施例的基于区块链的信息处理方法的流程图;
图4示意性示出了根据本公开另一实施例的基于区块链的信息处理方法的流程图;
图5示意性示出了根据本公开实施例的基于区块链的信息处理方法的原理示意图;
图6示意性示出了根据本公开另一实施例的基于区块链的信息处理方法的原理示意图;
图7示意性示出了根据本公开实施例的在接收消息报文之前的数据权限申请的流程示意图;
图8示意性示出了根据本公开实施例的基于区块链的信息处理方法的整体流程图;
图9示意性示出了根据本公开实施例的执行基于区块链的信息处理方法的计算节点的结构框图;
图10示意性示出了根据本公开实施例的计算节点中消息通信模块的结构框图;
图11示意性示出了根据本公开实施例的基于区块链的信息处理装置的结构框图;以及
图12示意性示出了根据本公开实施例的适于实现基于区块链的信息处理方法的电子设备的方框图。
具体实施方式
以下,将参照附图来描述本公开的实施例。但是应该理解,这些描述只是示例性的,而并非要限制本公开的范围。在下面的详细描述中,为便于解释,阐述了许多具体的细节以提供对本公开实施例的全面理解。然而,明显地,一个或多个实施例在没有这些具体细节的情况下也可以被实施。此外,在以下说明中,省略了对公知结构和技术的描述,以避免不必要地混淆本公开的概念。
在此使用的术语仅仅是为了描述具体实施例,而并非意在限制本公开。在此使用的术语“包括”、“包含”等表明了所述特征、步骤、操作和/或部件的存在,但是并不排除存在或添加一个或多个其他特征、步骤、操作或部件。
在此使用的所有术语(包括技术和科学术语)具有本领域技术人员通常所理解的含义,除非另外定义。应注意,这里使用的术语应解释为具有与本说明书的上下文相一致的含义,而不应以理想化或过于刻板的方式来解释。
在使用类似于“A、B和C等中至少一个”这样的表述的情况下,一般来说应该按照本领域技术人员通常理解该表述的含义来予以解释(例如,“具有A、B和C中至少一个的***”应包括但不限于单独具有A、单独具有B、单独具有C、具有A和B、具有A和C、具有B和C、和/或具有A、B、C的***等)。
本公开的实施例提供了一种基于区块链的信息处理方法,该方法应用于包括相互通信的多个计算节点的区块链网络中,该方法包括报文接收阶段、报文解析阶段、匹配合约确定阶段和报文处理阶段。在报文接收阶段,接收消息报文。在报文解析阶段,解析消息报文,得到消息报文的消息类型。在匹配合约确定阶段,确定与消息类型匹配的智能合约及与消息类型匹配的智能合约引擎。在报文处理阶段,基于智能合约引擎运行智能合约,以对消息报文进行处理。其中,消息类型包括安全多方计算消息和以下消息类型中的任意一个:节点关系消息、拉取机制消息、状态消息、辅助消息。
图1示意性示出了运行安全多方计算的***架构图。
如图1所示,本公开用于运行安全多方计算的架构为可信计算网络***130中的计算节点131。可信计算网络***130是结合区块链网络***110和安全多方计算网络***120搭建的网络***。计算节点131兼具区块链网络***110中区块链节点111的功能和安全多方计算网络***120中安全多方计算节点121的功能。
区块链网络***110例如可以为联盟链,如Hyperledger Fabric、以太坊或各厂商自研的区块链产品。
区块链节点111指区块链网络***110中构成区块链网络的服务器或虚拟机,一般承担区块链网络中的背书、共识、记账等任务。
安全多方计算网络***120是一个可信计算集群,安全多方计算网络利用不经意传输、秘密分享、混淆电路等密码学技术执行算数或逻辑运算,以保证各参与方提供的计算数据“可用不可见”。
安全多方计算节点121指安全多方计算网络***120中构成安全多方计算网络的服务器或虚拟机。通过采用不经意传输、秘密分享、混淆电路等密码学技术计算各参与方提供的密文数据。
可信计算网络***130本质上是区块链网络***,但对区块链网络***中各节点的功能和遵循的智能合约等进行了修改。
计算节点131指可信计算网络***130中构成可信计算网络的服务器或虚拟机。该计算节点131不仅可以承担背书、记账、共识等任务,还能承担安全多方计算任务。
该可信计算网络***130及计算节点131的设置,可以使得在安全多方计算中,各参与方的计算数据在计算前、计算过程中和计算后都是可信的,各阶段的数据不会对外泄露,达到可信计算网络中的数据“可用不可见”的效果。
图2示意性示出了根据本公开实施例的基于区块链的信息处理方法、装置、设备、介质和产品的应用场景图。
如图2所示,该应用场景200包括可信计算网络***210和客户端设备220。
可信计算网络***210包括彼此之间可以相互通信的多个计算节点211。该计算节点211和可信计算网络***210与图1中描述的计算节点和可信计算网络***类似,在此不再赘述。
客户端设备220可以为发起安全多方计算任务的终端,该客户端设备220可以通过网络与可信计算网络***210中的一个或多个计算节点211通信连接,以经由通信连接的计算节点发起安全多方计算任务。网络例如可以包括有线或无线通信链路。
根据本公开的实施例,客户端设备220例如可以是具有显示屏并且支持网页浏览的各种电子设备,包括但不限于智能手机、平板电脑、膝上型便携计算机和台式计算机等等。
可以理解的是,本公开提供的基于区块链的信息处理方法可以由可信计算节点执行。相应地,本公开提供的基于区块链的可信计算装置可以设置在计算节点中。
以下将结合图3~图8对本公开提供的基于区块链的信息处理方法进行详细描述。
图3示意性示出了根据本公开实施例的基于区块链的信息处理方法的流程图。
如图3所示,该实施例的基于区块链的信息处理方法300包括操作S310~操作S340。该方法例如可以由前文描述的计算节点执行。
在操作S310,接收消息报文。
该消息报文可以为前述客户端设备220发起的交易报文、安全多方计算报文等。或者,该消息报文还可以为包括相互通信的多个计算节点的区块链网络中任一计算节点发送的共识报文、数据拉取报文、状态验证报文等。区块链网络可以为前述安全多方计算网络***的运行所依附的可信计算网络,多个计算节点中的每个计算节点可以为前述的计算节点。
在操作S320,解析所述消息报文,得到消息报文的消息类型。
根据本公开的实施例,在接收到消息报文后,可以采用通用的方法对消息报文进行解析,获取消息报文中key为类型(type)的键值对(key-value),并根据该键值对中value的取值来确定消息报文的消息类型。
本公开实施例可以维护有消息类型与对应的value值的映射关系,该实施例在解析得到消息报文中value的取值后,可以根据该映射关系来找到与value至匹配的消息类型,作为消息报文的消息类型。
根据本公开的实施例,消息类型包括安全多方计算消息和以下消息类型的任意一个:节点关系消息、拉取机制消息、状态消息、辅助消息。接收的消息报文的消息类型则可以为前述安全多方计算消息、节点关系消息、拉取机制消息、状态消息、辅助消息中的任意一个。该消息类型可以包括基于Goosip服务进行处理的消息。
示例性地,在消息类型为安全多方计算消息时,该消息报文即为客户端设备220发起安全多方计算任务的安全多方计算报文。
示例性地,节点关系消息具体指与频道成员身份、关系和存续相关的消息类型,例如可以包括alive消息(Alive Message)、成员关系请求消息(Membership Request)、成员关系应答消息(Membership Response)等。其中,频道成员即指区块链网络中除执行消息处理方法的节点外的任意一个节点。
示例性地,拉取(Pull)机制消息具体指以块数据为内容的消息,或以身份数据为内容的消息,例如可以包括hello消息(Gossip Hello)、消息摘要(Data Digest)、摘要请求(Data Request)和摘要应答(Data Update)。
示例性地,状态(State)消息具体指与状态有关的消息,此处的状态指区块链的数据状态。该状态消息(State Information)例如可以包括数据消息(Data Message)和交易数据(Transaction Message)等。
示例性地,辅助类消息不承担具体传送传播数据的任务,而是辅助性的。该辅助类消息例如可以包括空消息和ConnEstablish消息等。空消息(Empty)用于节点间的Ping(来测试节点是否连通)和测试。ConnEstablish消息用于gossip之间的握手,即任何时候一个节点想与另一个节点连接通信时,都需要先发送这个消息以证明其身份。
在操作S330,确定与消息类型匹配的智能合约及与消息类型匹配的智能合约引擎。
根据本公开的实施例,对于不同类型的消息报文,应采用匹配的智能合约进行处理。例如可以通过switch-case逻辑来确定与消息报文的消息类型匹配的智能合约及智能合约引擎。匹配的智能合约引擎可以与匹配于消息类型的智能合约具有映射关系,智能合约引擎的类型具体可以与智能合约的编写语言相关。对于不同编写语言编写的智能合约,映射至不同的智能合约引擎。例如,若智能合约由Java语言编写,则智能合约引擎为JVM。
示例性地,若消息报文的消息类型为安全多方计算消息时,匹配的智能合约为安全多方计算智能合约(例如DoTask智能合约),该安全多方计算智能合约通常为python语言编译的字节码文件,匹配的智能合约引擎可以为能够支持运行python编译后的字节码的WASM(Web Assembly)引擎。
示例性地,若消息报文的消息类型前述图1中区块链网络***110中产生的消息报文时,则匹配的智能合约可以为以下两类中的某一类:GetStatus合约和PutSatus合约。智能合约引擎还可以为EVM、JAM、GO等等。
在操作S340,基于智能合约引擎运行智能合约,以对消息报文进行处理。
在获得智能合约引擎和智能合约后,可以在智能合约引擎中运行智能合约。该智能合约中规定了对匹配的消息类型的消息报文的处理逻辑,从而通过运行智能合约,实现对消息报文的处理。
示例性地,在消息报文为节点关系消息、拉取机制消息、状态消息、辅助消息等常用区块链网络中产生的消息报文时,可以采用前文区块链网络***110中处理消息报文的方法实现对消息报文的处理。在消息报文为安全多方计算消息时,可以采用前文安全多方计算网络***中执行安全多方计算任务的方法实现对安全多方计算消息的处理,本公开不再详述。
根据本公开的实施例,在通过对消息报文进行处理得到计算结果后,该实施例的信息处理方法300例如还可以将计算结果反馈给消息报文的发送设备。
综上可知,该实施例的基于区块链的信息处理方法,通过解析报文确定消息类型,根据消息类型确定匹配的智能合约和智能合约引擎,不仅可以实现对通用区块链网络中节点关系消息、拉取机制消息、状态消息和辅助消息等的处理,还可以实现对安全多方计算消息的处理。通过此方式,可以在进行安全多方计算时,直接通过运行该安全多方计算的节点实现对计算结果的存证上链,从而避免安全多方计算***与区块链***之间信息传输的阶段,避免计算结果在传输过程中消息被篡改的情况。
根据本公开的实施例,在对消息报文进行处理得到计算结果后,该基于区块链的信息处理方法例如还可以将计算结果的存证信息作为区块存储至分布式数据库中,以供机构或监管部门进行追溯。
图4示意性示出了根据本公开另一实施例的基于区块链的信息处理方法的流程图。
根据本公开的实施例,在消息类型为安全多方计算消息的情况下,可以先基于参与方信息,构建与针对参与方的节点之间的连接,以便于执行安全多方计算任务。其中,参与方信息包含在安全多方计算的消息报文。
如图4所示,该实施例的基于区块链的信息处理方法400除了前述操作S310~操作S340外,还可以包括操作S450和操作S460,该操作S450和操作S460可以在操作S340之前执行。
在操作S450,根据参与方信息,确定多个计算节点中针对参与方的节点,作为参与节点。
消息报文中包括参与方标识,区块链网络中维护有参与方与区块链网络中计算节点之间的映射关系。该实施例在从消息报文中解析得到参与方标识后,即可确定针对参与方的节点。
在操作S460,通过采用与安全多方计算消息匹配的智能合约引擎调用安全多方计算端口,构建与参与节点之间的短连接。
在确定参与节点后,可以通过通信协议向参与节点发送连接建议请求。具体可以复用区块链网络的连接进行二次组网,构成与参与节点之间的短连接。
根据本公开的实施例,计算节点可以基于Docker容器设置有多个智能合约端口,该多个智能合约端口中分别封装有智能合约方法。该多个智能合约端口例如可以包括查询(GetStatus)端口、存证(PutStatus)端口、可信计算(DoTask)端口等。该实施例在构建与参与节点之间的短连接时,可以采用与安全多方计算消息匹配的智能合约引擎调用安全多方计算端口(即可信计算端口)来向参与节点发送连接请求,例如可以基于TCP通信协议建立与参与节点之间的连接。该连接为短连接,以在安全多方计算任务完成之后,断开该短连接。
根据本公开的实施例,在建立了与参与节点之间的短连接后,即可运行智能合约。具体可以依据消息报文中的待计算数据的存储信息,读取待计算数据。随后基于可信计算(DoTask)合约,对读取的待计算数据进行计算,得到计算结果。其中,待计算数据为加密的数据,以此实现数据的“可用不可知”。可以理解的是,数据读取和数据计算的过程与相关技术中完成安全多方计算任务的方法类似,本公开不再详述。
根据本公开的实施例,参与节点为区块链网络的多个计算节点中,对应的数据库中存储了待计算数据的节点。因此,在读取待计算数据时,实际上是从针对参与节点的数据库中读取。
图5示意性示出了根据本公开实施例的基于区块链的信息处理方法的原理示意图。
如图5所示,在该实施例500中,区块链网络中各计算节点例如可以将针对自身的数据库中的数据510进行上链。具体可以将数据库中数据510的存证信息存储至区块链的分布式数据库520中。以此保证数据510不可篡改,提高数据510的真实可信性。其中,数据的存证信息例如可以为采用哈希函数计算得到的数据的哈希摘要,该存证信息可以作为数字指纹。
根据本公开的实施例,在基于智能合约引擎运行智能合约时,若计算节点540读取到全量的待计算数据530,则可以先对待计算数据530的真伪进行验证,验证通过后再基于可信计算合约,对待计算数据进行计算。对待计算数据真伪的验证具体可以依据区块链的分布式数据库520中存储的数据的存证信息。具体地,计算节点540可以先确定读取的待计算数据530的存证信息。然后将确定的存证信息与分布式数据库存储的待计算数据530的存证信息进行一致性校验,即对两者进行比对。若两者一致,则确定读取的待计算数据是真实可信的,可以将读取的待计算数据推送给安全多方计算执行器541,由安全多方计算执行器541基于可信计算可约对待计算数据进行计算。
本公开实施例通过在对待计算数据计算之前,与链上存储的待计算数据的存证信息进行比对,来确定待计算数据的真伪,可以在执行安全多方计算时,保证算前数据的安全可信。
图6示意性示出了根据本公开另一实施例的基于区块链的信息处理方法的原理示意图。
根据本公开的实施例,如图6所示,在消息类型为安全多方计算消息,且通过对所述消息报文进行处理得到计算结果后,该实施例600可以将计算结果610的存证信息存储至区块链的分布式数据库620中。以避免计算结果被篡改,保证计算结果的安全可信。其中,存证信息例如可以为计算结果的哈希摘要。
根据本公开的实施例,在通过对消息报文进行处理得到计算结果后,例如可以将计算结果及其存证信息一并反馈给消息报文的发送设备。发送设备在接收到计算结果及其存证信息后,例如可以先从区块链的分布式数据库620中获取与其发起的安全多方计算任务相对应的计算结果的存证信息。随后对获取的存证信息与接收的存证信息进行一致性校验。若两者一致,则可以确定接收到的计算结果准确无误且未被篡改。
根据本公开的实施例,在通过对消息报文进行处理得到计算结果后,例如可以采用预定非对称密钥对的公钥对计算结果进行加密。随后将加密得到的加密后计算结果(即密文结果630)反馈给发送消息报文的发送设备。其中,预定非对称密钥对例如可以与发送设备唯一对应。该预定非对称密钥对的公钥例如可以与消息报文同时发送给区块链网络中进行安全多方计算的节点。相应地,在发送设备接收到加密后计算结果时,可以采用预定非对称密钥对的私钥对该加密后计算结果进行解密,从而得到安全多方计算的计算结果(即明文结果640)。通过该方式,可以使得安全多方计算的计算结果仅安全多方计算的发起方才有权限查看计算结果,从而进一步保证计算结果的安全可信。
根据本公开的实施例,在向发送设备反馈加密后计算结果时,例如可以将确定的计算结果的存证信息一并反馈给发送设备,以使得发送设备对接收的存证信息和分布式数据库存储的安全多方计算的计算结果的存证信息进行一致性校验。
图7示意性示出了根据本公开实施例的在接收消息报文之前的数据权限申请的流程示意图。
根据本公开的实施例,在消息类型为安全多方计算消息时,由于接收到安全多方消息的节点在进行安全多方计算时,需要从参与节点处获取待计算数据,因此,该实施例的执行基于区块链的信息处理方法的节点在接收到安全多方计算消息之前,需要先获得数据读取权限。该数据读取权限的申请例如可以由安全多方计算任务的发起方(即安全多方计算消息的发送设备)生成。相应地,该实施例的基于区块链的信息处理方法在接收消息报文之前,可以基于接收到的数据权限申请获得访问针对参与方的数据库的权限,例如可以先接收数据权限申请信息,该数据权限申请信息包括参与方信息。然后基于预定智能合约,将数据权限申请信息存储至区块链的分布式数据库中,并设定权限申请信息的状态为初始状态。随后响应于参与节点在分布式数据库中存储了针对权限申请信息的答复信息,对答复信息的提供方进行身份验证;以及在身份验证通过的情况下,根据答复信息更改权限申请信息的状态。在答复信息为同意时,获得针对参与节点的数据库中读取数据的权限。其中,预定智能合约中规定了将数据权限申请信息存储至区块链的分布式数据库中,并对权限申请信息的状态进行更改的处理逻辑。
以下将结合图7对该获得访问针对参与方的数据库的权限进行说明。
如图7所示,安全多方计算任务的发起方客户端710可以响应于用户操作执行操作S711,发起数据权限申请请求。该数据权限申请请求可以包括计算任务信息、参与方信息、待计算数据所在的数据集及发起方的身份信息。
在区块链网络中的计算节点720接收到数据权限申请后,可以先对客户端的身份进行校验(即执行操作S721),确保该数据权限申请请求的真实性。
在身份验证通过后,可以启动/调度前述的预定智能合约,以将数据权限申请信息存储至区块链的分布式数据库中,具体将计算任务信息、参与方信息和待计算数据所在的数据集等信息上链,并把上链的数据的状态置为WAIT(执行操作S722)。
与区块链网络中的计算节点通信的客户端可以使用监听/订阅机制监听链上数据的变化。若参与方客户端监听到链上添加了对应数据库存储的数据集的信息,则可以生成待办信息(执行操作S731)。
参与方可以通过参与方客户端730执行操作,以使得参与方客户端730应答该数据权限申请,应答结果可以为同意或拒绝,并经由参与方客户端与区块链***中计算节点的交互将应答结果存储至分布式数据库中,即将应答结果上链(执行操作S732)。在存储应答结果时,可以将应答结果与已存储的计算任务信息、参与方信息和待计算数据所在的数据集进行关联存储。
计算节点在监听到链上存储了应答结果后,可以对参与方客户端的身份信息进行校验,以确保应答的真实性(执行操作S723)。在身份信息通过校验后,继续调用预定智能合约,将链上存储的计算任务信息、参与方信息和待计算数据的状态由WAIT切换为AGREE或REJECT(执行操作S724)。在应答结果为同意时,切换为AGREE,在应答结果为拒绝时,切换为REJECT。同时,可以将应答结果作为数据申请结果反馈给发起方客户端。
发起方客户端在接收到数据申请结果(执行操作S712)后,即可发起针对具有权限的数据集中数据的安全多方计算。
在已经获得了数据集的访问权限后,若后续发起针对该数据集中数据的安全多方计算任务之前,可以直接根据获得的访问权限发起安全多方计算任务,无需再进行权限申请。
图8示意性示出了根据本公开实施例的基于区块链的信息处理方法的整体流程图。
如图8所示,基于区块链的信息处理方法的整体实施涉及到发起方客户端810及在各个阶段充当不同角色的计算节点,该计算节点可以充当背书节点820、可信计算节点830、排序节点840和记账节点850。
在发起方客户端响应于用户操作执行操作S811,发起可信计算任务,并将该可信计算任务发送给通信连接的计算节点。其中,可信计算任务例如可以为用于计算客户在多个线上购物渠道的总积分的计算任务。
计算节点在接收到可信计算任务后,可以作为背书节点执行操作S821~操作S822。在操作S821,对发起方客户端的身份进行校验;在操作S822,模拟智能合约的执行,当智能合约的类型为DoTask,则调度所有参与方的可信计算节点,并将当前计算节点作为可信计算节点执行操作S831~操作S833。
在操作S831,可信计算节点根据可信计算任务中的参与方信息,复用区块链网络的连接对参与方对应的计算节点与当前可信计算节点进行二次组网。
在操作S832,在组网完成后,根据可信计算任务中待计算数据的信息,从与参与方对应的存储空间中读取计算数据,以加密的方式将读取的计算数据保存在内存中(此过程会进行存证信息校验,以确保读取的计算数据可信)。在读取到计算数据后,执行操作S833,执行安全多方计算,并调用MPC调度接口获取安全多方计算的模拟计算结果。
在得到安全多方计算的模拟计算结果后,计算节点可以作为背书节点执行操作S823,即将该安全多方计算的模拟计算结果返回给发起方客户端,具体可以将模拟计算结果的存证信息和使用发起方的公钥加密的计算结果一并返回给发起方客户端。
发起方客户端通过操作S812接收背书节点反馈的模拟计算结果,并判断该模拟计算结果是否满足背书策略。若满足背书策略,则经由操作S813对该计算结果进行封装,向计算节点提交将该封装的计算结果进行上链的申请请求进行上链排序。
计算节点在接收到上链的申请请求后,可以作为排序节点接收该封装结果(操作S841),并按照上链排序的时间顺序将该封装结果组装为区块(操作S842),在组装得到区块后,可以向区块链网络中发送该区块,以进行区块共识(操作S843)。其中,区块共识例如可以采用PBFT(Practical Byzantine Fault Tolerance,拜占庭容错算法)、RAFT等共识算法来实现。
计算节点在作为记账节点通过操作S851接收到通过共识的区块后,可以通过操作S852对区块进行验证,具体对区块的读写集、版本号等进行验证。在验证通过后,通过操作S853来更新区块数据和世界状态,实现对账本的更新。在完成账本更新后,可以将更新完成事件发送给发起方客户端。
发起方客户端在监听到更新完成事件后,确认区块正常落块,随后执行操作S814,使用发起方的密钥将操作S812获取的模拟计算结果进行解密,还原得到模拟计算结果的明文,得到安全多方计算的计算结果(即获取到链上结果)。
以下基于图9~图10对执行基于区块链的信息处理方法的计算节点的结构,及该计算节点相较于现有技术中计算节点的改进之处进行详细描述。
图9示意性示出了根据本公开实施例的执行基于区块链的信息处理方法的计算节点的结构框图。图10示意性示出了根据本公开实施例的计算节点中消息通信模块的结构框图。
如图9所示,该实施例的基于区块链的信息处理方法的计算节点900可以包括消息通信模块910、共识模块920、智能合约模块930和数据存储模块940。
消息通信模块910负责网络消息通信,该模块在传统区块链通信协议上新增了MPC通信协议。
共识模块920负责计算节点间的共识功能,该模块可根据***配置选择共识策略,如:PBFT、RAFT等等,在本公开中,计算节点首先会承担区块链节点角色,接收客户端发起的可信计算任务,生成区块并在网络中进行共识。
智能合约模块930负责读取区块中的交易信息,并按序执行交易对应的智能合约。本公开中,涉及可信计算的智能合约可以采用python语言编写。
数据存储模块940负责保存区块信息和世界状态,但对于安全多方计算结果仅会以数据指纹的形式存储,最终数据结果将会以密文状态发送给任务发起方。
示例性地,如图10所示,消息通信模块910包括消息接收单元1011、协议解析单元1012、策略选择单元1013、区块链执行单元1014、安全多方计算执行单元1015和消息发送单元1016。
消息接收单元1011和消息发送单元1016本质上是可信计算网络P2P消息通信器,负责接收和发送信息。通信信息可分为两大类,区块链通信信息和MPC通信信息。
协议解析单元1012负责对消息报文拆包,得到消息报文的协议类型。
策略选择单元1013负责根据协议类型对消息报文进行分类,若消息报文为区块链通信信息,则交由区块链执行单元1014进行处理,若消息报文为MPC通信信息,则交由安全多方计算执行单元1015进行处理。该策略选择单元本质上是switch-case逻辑模块,针对不同的Gossip协议类型的消息会执行不同的策略,该策略选择单元1013在现有技术中的基础上增加了对安全多方计算消息的处理策略。
区块链执行单元1014是一个逻辑概念,本质上包含多个模块,例如区块同步模块、节点存活确认模块等,基于不同的区块链通信信息,会调度不同的模块对通信信息进行处理。
安全多方计算执行单元1015将根据消息报文的内容对所涉及任务的参与接待你进行二次组网,该二次组网的含义是复用区块链已建立好的网络,在此之上构建多方安全计算网络。
示例性地,智能合约模块930可以包括智能合约接口、智能合约调度器和智能合约引擎。
智能合约接口封装了多种合约方法,在fabric网络中,合约可分为两大类,查询和存证。在本公开中,除了查询和存证外,该智能合约接口还可以提供可信计算接口。
智能合约调度器用于解析区块中的交易信息,根据消息类型选择不同的智能合约接口和智能合约引擎。
智能合约引擎本质上是一个引擎库,不仅包括联盟链中常见的合约引擎,如EVM,JVM,GO等等,在本公开中还引入了WASM引擎库,主要原因是目前业界安全多方计算采用的编程语言大多为python,该引擎支持运行python编译后的字节码。
图11示意性示出了根据本公开实施例的基于区块链的信息处理装置的结构框图。
如图11所示,该实施例的基于区块链的信息处理装置1100包括消息接收模块1110、消息解析模块1120、匹配信息确定模块1130和消息处理模块1140。该基于区块链的信息处理装置1100可以应用于包括相互通信的多个计算节点的区块链网络中。
消息接收模块1110用于接收消息报文。在一实施例中,消息接收模块1110用于执行前文描述的操作S310,在此不再赘述。
消息解析模块1120用于解析消息报文,得到消息报文的消息类型。消息类型包括安全多方计算消息和以下消息类型中的任意一个:节点关系消息、拉取机制消息、状态消息、辅助消息。在一实施例中,消息解析模块1120用于执行前文描述的操作S320,在此不再赘述。
匹配信息确定模块1130用于确定与消息类型匹配的智能合约及与消息类型匹配的智能合约引擎。在一实施例中,匹配信息确定模块1130用于执行前文描述的操作S330,在此不再赘述。
消息处理模块1140用于基于智能合约引擎运行智能合约,以对消息报文进行处理。在一实施例中,消息处理模块1140用于执行前文描述的操作S340,在此不再赘述。
根据本公开的实施例,在消息类型为安全多方计算消息的情况下,消息报文包含参与方信息。上述基于区块链的信息处理装置1100还包括节点确定模块和连接构建模块。节点确定模块用于在消息处理模块1140基于智能合约引擎运行智能合约之前,根据参与方信息,确定多个计算节点中针对参与方的节点,作为参与节点。连接构建模块用于通过采用与安全多方计算消息匹配的智能合约引擎调用安全多方计算端口,构建与参与节点之间的短连接。
根据本公开的实施例,消息报文还包含待计算数据的存储信息。上述消息处理模块1140包括数据读取子模块和计算子模块。数据读取子模块用于根据存储信息读取加密的待计算数据,其中,待计算数据存储在针对参与节点的数据库中。计算子模块用于基于可信计算合约,对加密的待计算数据进行计算以获得计算结果。
根据本公开的实施例,待计算数据的存证信息存储在区块链的分布式数据库中。上述消息处理模块1140还包括第一存证信息确定子模块和校验子模块。第一存证信息确定子模块用于在计算子模块对加密的待计算数据进行计算之前,确定加密的待计算数据的存证信息。校验子模块用于对加密的待计算数据的存证信息与分布式数据库存储的待计算数据的存证信息进行一致性校验。其中,计算子模块在校验子模块校验加密的待计算数据的存证信息与分布式数据库存储的待计算数据的存证信息一致的情况下,对加密的待计算数据进行计算。
根据本公开的实施例,上述基于区块链的信息处理装置1100还包括计算结果加密模块和计算结果反馈模块,计算结果加密模块用于采用预定非对称密钥的公钥加密计算结果,得到加密后计算结果。计算结果反馈模块用于将加密后计算结果反馈给消息报文的发送设备,以供发送设备采用非对称密钥的私钥解密得到计算结果。其中,非对称密钥唯一对应发送设备。
根据本公开的实施例,计算结果反馈模块包括第二存证信息确定子模块和反馈子模块。第二存证信息确定子模块用于确定计算结果的存证信息。反馈子模块用于将计算结果的存证信息和加密后计算结果反馈给发送设备。上述基于区块链的信息处理装置1100还包括存证信息存储模块,用于将计算结果的存证信息作为区块存储至分布式数据库,以供发送设备对接收的存证信息与分布式数据库存储的存证信息进行一致性校验。
根据本公开的实施例,上述基于区块链的信息处理装置1100还包括信息接收模块、权限申请存储模块、身份验证模块和状态更改模块。信息接收模块用于在消息接收模块1110接收消息报文之前,接收数据权限申请信息,该数据权限申请信息包括参与方信息。权限申请存储模块用于基于预定智能合约,将数据权限申请信息存储至区块链的分布式数据库中,并设定权限申请信息的状态为初始状态。身份验证模块用于响应于参与节点在分布式数据库中存储了针对权限申请信息的答复信息,对答复信息的提供方进行身份验证。状态更改模块用于在身份验证通过的情况下,根据答复信息更改权限申请信息的状态。其中,在答复信息为同意的情况下,获得从针对参与节点的数据库中读取数据的权限。
根据本公开的实施例,消息接收模块1110、消息解析模块1120、匹配信息确定模块1130和消息处理模块1140中的任意多个可以合并在一个模块中实现,或者其中的任意一个模块可以被拆分成多个模块。或者,这些模块中的一个或多个模块的至少部分功能可以与其他模块的至少部分功能相结合,并在一个模块中实现。根据本公开的实施例,消息接收模块1110、消息解析模块1120、匹配信息确定模块1130和消息处理模块1140中的至少一个可以至少被部分地实现为硬件电路,例如现场可编程门阵列(FPGA)、可编程逻辑阵列(PLA)、片上***、基板上的***、封装上的***、专用集成电路(ASIC),或可以通过对电路进行集成或封装的任何其他的合理方式等硬件或固件来实现,或以软件、硬件以及固件三种实现方式中任意一种或以其中任意几种的适当组合来实现。或者,消息接收模块1110、消息解析模块1120、匹配信息确定模块1130和消息处理模块1140中的至少一个可以至少被部分地实现为计算机程序模块,当该计算机程序模块被运行时,可以执行相应的功能。
图12示意性示出了根据本公开实施例的适于实现基于区块链的信息处理方法的电子设备的方框图。
如图12所示,根据本公开实施例的电子设备1200包括处理器1201,其可以根据存储在只读存储器(ROM)1202中的程序或者从存储部分1208加载到随机访问存储器(RAM)1203中的程序而执行各种适当的动作和处理。处理器1201例如可以包括通用微处理器(例如CPU)、指令集处理器和/或相关芯片组和/或专用微处理器(例如,专用集成电路(ASIC))等等。处理器1201还可以包括用于缓存用途的板载存储器。处理器1201可以包括用于执行根据本公开实施例的方法流程的不同动作的单一处理单元或者是多个处理单元。
在RAM 1203中,存储有电子设备1200操作所需的各种程序和数据。处理器1201、ROM 1202以及RAM 1203通过总线1204彼此相连。处理器1201通过执行ROM 1202和/或RAM1203中的程序来执行根据本公开实施例的方法流程的各种操作。需要注意,所述程序也可以存储在除ROM 1202和RAM 1203以外的一个或多个存储器中。处理器1201也可以通过执行存储在所述一个或多个存储器中的程序来执行根据本公开实施例的方法流程的各种操作。
根据本公开的实施例,电子设备1200还可以包括输入/输出(I/O)接口1205,输入/输出(I/O)接口1205也连接至总线1204。电子设备1200还可以包括连接至I/O接口1205的以下部件中的一项或多项:包括键盘、鼠标等的输入部分1206;包括诸如阴极射线管(CRT)、液晶显示器(LCD)等以及扬声器等的输出部分1207;包括硬盘等的存储部分1208;以及包括诸如LAN卡、调制解调器等的网络接口卡的通信部分1209。通信部分1209经由诸如因特网的网络执行通信处理。驱动器1210也根据需要连接至I/O接口1205。可拆卸介质1211,诸如磁盘、光盘、磁光盘、半导体存储器等等,根据需要安装在驱动器1210上,以便于从其上读出的计算机程序根据需要被安装入存储部分1208。
本公开还提供了一种计算机可读存储介质,该计算机可读存储介质可以是上述实施例中描述的设备/装置/***中所包含的;也可以是单独存在,而未装配入该设备/装置/***中。上述计算机可读存储介质承载有一个或者多个程序,当上述一个或者多个程序被执行时,实现根据本公开实施例的方法。
根据本公开的实施例,计算机可读存储介质可以是非易失性的计算机可读存储介质,例如可以包括但不限于:便携式计算机磁盘、硬盘、随机访问存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、便携式紧凑磁盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本公开中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行***、装置或者器件使用或者与其结合使用。例如,根据本公开的实施例,计算机可读存储介质可以包括上文描述的ROM 1202和/或RAM 1203和/或ROM 1202和RAM 1203以外的一个或多个存储器。
本公开的实施例还包括一种计算机程序产品,其包括计算机程序,该计算机程序包含用于执行流程图所示的方法的程序代码。当计算机程序产品在计算机***中运行时,该程序代码用于使计算机***实现本公开实施例所提供的基于区块链的信息处理方法。
在该计算机程序被处理器1201执行时执行本公开实施例的***/装置中限定的上述功能。根据本公开的实施例,上文描述的***、装置、模块、单元等可以通过计算机程序模块来实现。
在一种实施例中,该计算机程序可以依托于光存储器件、磁存储器件等有形存储介质。在另一种实施例中,该计算机程序也可以在网络介质上以信号的形式进行传输、分发,并通过通信部分1209被下载和安装,和/或从可拆卸介质1211被安装。该计算机程序包含的程序代码可以用任何适当的网络介质传输,包括但不限于:无线、有线等等,或者上述的任意合适的组合。
在这样的实施例中,该计算机程序可以通过通信部分1209从网络上被下载和安装,和/或从可拆卸介质1211被安装。在该计算机程序被处理器1201执行时,执行本公开实施例的***中限定的上述功能。根据本公开的实施例,上文描述的***、设备、装置、模块、单元等可以通过计算机程序模块来实现。
根据本公开的实施例,可以以一种或多种程序设计语言的任意组合来编写用于执行本公开实施例提供的计算机程序的程序代码,具体地,可以利用高级过程和/或面向对象的编程语言、和/或汇编/机器语言来实施这些计算程序。程序设计语言包括但不限于诸如Java,C++,python,“C”语言或类似的程序设计语言。程序代码可以完全地在用户计算设备上执行、部分地在用户设备上执行、部分在远程计算设备上执行、或者完全在远程计算设备或服务器上执行。在涉及远程计算设备的情形中,远程计算设备可以通过任意种类的网络,包括局域网(LAN)或广域网(WAN),连接到用户计算设备,或者,可以连接到外部计算设备(例如利用因特网服务提供商来通过因特网连接)。
附图中的流程图和框图,图示了按照本公开各种实施例的***、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,上述模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图或流程图中的每个方框、以及框图或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的***来实现,或者可以用专用硬件与计算机指令的组合来实现。
本领域技术人员可以理解,本公开的各个实施例和/或权利要求中记载的特征可以进行多种组合或/或结合,即使这样的组合或结合没有明确记载于本公开中。特别地,在不脱离本公开精神和教导的情况下,本公开的各个实施例和/或权利要求中记载的特征可以进行多种组合和/或结合。所有这些组合和/或结合均落入本公开的范围。
以上对本公开的实施例进行了描述。但是,这些实施例仅仅是为了说明的目的,而并非为了限制本公开的范围。尽管在以上分别描述了各实施例,但是这并不意味着各个实施例中的措施不能有利地结合使用。本公开的范围由所附权利要求及其等同物限定。不脱离本公开的范围,本领域技术人员可以做出多种替代和修改,这些替代和修改都应落在本公开的范围之内。

Claims (11)

1.一种基于区块链的信息处理方法,应用于包括相互通信的多个计算节点的区块链网络中,所述方法包括:
接收消息报文;
解析所述消息报文,得到所述消息报文的消息类型;
确定与所述消息类型匹配的智能合约及与所述消息类型匹配的智能合约引擎;以及
基于所述智能合约引擎运行所述智能合约,以对所述消息报文进行处理,
其中,所述消息类型包括安全多方计算消息和以下消息类型中的任意一个:节点关系消息、拉取机制消息、状态消息、辅助消息。
2.根据权利要求1所述的方法,其中,在所述消息类型为安全多方计算消息的情况下,所述消息报文包含参与方信息,所述方法还包括在基于所述智能合约引擎运行所述智能合约之前:
根据所述参与方信息,确定所述多个计算节点中针对参与方的节点,作为参与节点;以及
通过采用与所述安全多方计算消息匹配的智能合约引擎调用安全多方计算端口,构建与所述参与节点之间的短连接。
3.根据权利要求2所述的方法,其中,所述消息报文还包含待计算数据的存储信息;基于所述智能合约引擎运行所述智能合约包括:
根据所述存储信息读取加密的待计算数据;以及
基于可信计算合约,对所述加密的待计算数据进行计算以获得计算结果,
其中,所述待计算数据存储在针对所述参与节点的数据库中。
4.根据权利要求3所述的方法,其中,所述待计算数据的存证信息存储在所述区块链的分布式数据库中;所述基于所述智能合约引擎运行所述智能合约还包括在对所述加密的待计算数据进行计算之前:
确定所述加密的待计算数据的存证信息;以及
对所述加密的待计算数据的存证信息与所述分布式数据库存储的待计算数据的存证信息进行一致性校验,
其中,在校验所述加密的待计算数据的存证信息与所述分布式数据库存储的待计算数据的存证信息一致的情况下,对所述加密的待计算数据进行计算。
5.根据权利要求3所述的方法,还包括:
采用预定非对称密钥对的公钥加密所述计算结果,得到加密后计算结果;以及
将所述加密后计算结果反馈给所述消息报文的发送设备,以供所述发送设备采用所述非对称密钥对的私钥解密得到所述计算结果,
其中,所述非对称密钥唯一对应所述发送设备。
6.根据权利要求5所述的方法,其中:
将所述加密后计算结果反馈给所述消息报文的发送设备包括:
确定所述计算结果的存证信息;
将所述计算结果的存证信息和所述加密后计算结果反馈给所述发送设备;
所述方法还包括:将所述计算结果的存证信息作为区块存储至所述分布式数据库,以供所述发送设备对接收的存证信息与所述分布式数据库存储的存证信息进行一致性校验。
7.根据权利要求3所述的方法,还包括在接收所述消息报文之前:
接收数据权限申请信息,所述数据权限申请信息包括参与方信息;
基于预定智能合约,将所述数据权限申请信息存储至所述区块链的分布式数据库中,并设定所述权限申请信息的状态为初始状态;
响应于所述参与节点在所述分布式数据库中存储了针对所述权限申请信息的答复信息,对所述答复信息的提供方进行身份验证;以及
在所述身份验证通过的情况下,根据所述答复信息更改所述权限申请信息的状态,
其中,在所述答复信息为同意的情况下,获得从针对所述参与节点的数据库中读取数据的权限。
8.一种基于区块链的信息处理装置,应用于包括相互通信的多个计算节点的区块链网络中,所述装置包括:
消息接收模块,用于接收消息报文;
消息解析模块,用于解析所述消息报文,得到所述消息报文的消息类型;
匹配信息确定模块,用于确定与所述消息类型匹配的智能合约及与所述消息类型匹配的智能合约引擎;以及
消息处理模块,用于基于所述智能合约引擎运行所述智能合约,以对所述消息报文进行处理,
其中,所述消息类型包括安全多方计算消息和以下消息类型中的任意一个:节点关系消息、拉取机制消息、状态消息、辅助消息。
9.一种电子设备,包括:
一个或多个处理器;
存储装置,用于存储一个或多个程序,
其中,当所述一个或多个程序被所述一个或多个处理器执行时,使得所述一个或多个处理器执行根据权利要求1~7中任一项所述的方法。
10.一种计算机可读存储介质,其上存储有可执行指令,该指令被处理器执行时使处理器执行根据权利要求1~7中任一项所述的方法。
11.一种计算机程序产品,包括计算机程序,所述计算机程序被处理器执行时实现根据权利要求1~7中任一项所述的方法。
CN202110299798.4A 2021-03-19 2021-03-19 基于区块链的信息处理方法、装置、设备、介质和产品 Active CN113067822B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202110299798.4A CN113067822B (zh) 2021-03-19 2021-03-19 基于区块链的信息处理方法、装置、设备、介质和产品

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110299798.4A CN113067822B (zh) 2021-03-19 2021-03-19 基于区块链的信息处理方法、装置、设备、介质和产品

Publications (2)

Publication Number Publication Date
CN113067822A true CN113067822A (zh) 2021-07-02
CN113067822B CN113067822B (zh) 2023-11-10

Family

ID=76563275

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110299798.4A Active CN113067822B (zh) 2021-03-19 2021-03-19 基于区块链的信息处理方法、装置、设备、介质和产品

Country Status (1)

Country Link
CN (1) CN113067822B (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113612821A (zh) * 2021-07-14 2021-11-05 支付宝(杭州)信息技术有限公司 多方安全计算中的数据交互方法和装置
CN115550472A (zh) * 2022-11-22 2022-12-30 浙江大华技术股份有限公司 异构数据处理方法及装置

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109359957A (zh) * 2018-09-17 2019-02-19 ***股份有限公司 一种安全多方计算的方法及相关装置
CN109615378A (zh) * 2019-01-24 2019-04-12 上海点融信息科技有限责任公司 基于区块链的安全多方计算方法、装置及可读存储介质
US10637659B1 (en) * 2019-03-18 2020-04-28 Alibaba Group Holding Limited Preventing misrepresentation of input data by participants in a secure multi-party computation
CN111736954A (zh) * 2020-06-24 2020-10-02 陈鹏 多智能合约虚拟机实现方法、多智能合约虚拟机及***
CN112115204A (zh) * 2020-10-26 2020-12-22 大唐网络有限公司 一种基于区块链技术的多方安全计算实现方法
CN112184218A (zh) * 2020-09-18 2021-01-05 华控清交信息科技(北京)有限公司 一种数据处理方法、装置和用于数据处理的装置
CN112380565A (zh) * 2020-11-20 2021-02-19 天翼电子商务有限公司 一种基于可信硬件与区块链的安全多方计算方法

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109359957A (zh) * 2018-09-17 2019-02-19 ***股份有限公司 一种安全多方计算的方法及相关装置
CN109615378A (zh) * 2019-01-24 2019-04-12 上海点融信息科技有限责任公司 基于区块链的安全多方计算方法、装置及可读存储介质
US10637659B1 (en) * 2019-03-18 2020-04-28 Alibaba Group Holding Limited Preventing misrepresentation of input data by participants in a secure multi-party computation
CN111736954A (zh) * 2020-06-24 2020-10-02 陈鹏 多智能合约虚拟机实现方法、多智能合约虚拟机及***
CN112184218A (zh) * 2020-09-18 2021-01-05 华控清交信息科技(北京)有限公司 一种数据处理方法、装置和用于数据处理的装置
CN112115204A (zh) * 2020-10-26 2020-12-22 大唐网络有限公司 一种基于区块链技术的多方安全计算实现方法
CN112380565A (zh) * 2020-11-20 2021-02-19 天翼电子商务有限公司 一种基于可信硬件与区块链的安全多方计算方法

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113612821A (zh) * 2021-07-14 2021-11-05 支付宝(杭州)信息技术有限公司 多方安全计算中的数据交互方法和装置
CN115550472A (zh) * 2022-11-22 2022-12-30 浙江大华技术股份有限公司 异构数据处理方法及装置
CN115550472B (zh) * 2022-11-22 2023-03-28 浙江大华技术股份有限公司 异构数据处理方法及装置

Also Published As

Publication number Publication date
CN113067822B (zh) 2023-11-10

Similar Documents

Publication Publication Date Title
US10700851B2 (en) System and method for implementing a resolver service for decentralized identifiers
US10938569B2 (en) System and method for verifying verifiable claims
US10938562B2 (en) System and method for creating decentralized identifiers
US10824701B2 (en) System and method for mapping decentralized identifiers to real-world entities
CN110162992B (zh) 数据处理方法、数据处理装置和计算机***
CN112567366A (zh) 用于确保电子交易平台安全的***和方法
CN110602138A (zh) 区块链网络的数据处理方法、装置、电子设备及存储介质
CN112822181A (zh) 跨链交易的验证方法、终端设备及可读存储介质
EP4216077A1 (en) Blockchain network-based method and apparatus for data processing, and computer device
CN113067822B (zh) 基于区块链的信息处理方法、装置、设备、介质和产品
WO2021224210A1 (en) Multi-directional zero-knowledge attestation systems and methods
Chen et al. TrustBuilder: A non-repudiation scheme for IoT cloud applications
CN115022012B (zh) 一种数据传输方法、装置、***、设备及存储介质
CN111510462A (zh) 通信方法、***、装置、电子设备和可读存储介质
CN115549984A (zh) 跨链交易方法、装置、设备和存储介质
CN111125734B (zh) 一种数据处理方法及***
CN116032494B (zh) 数据交互方法、区块链预言机、设备及介质
US20230421540A1 (en) Systems and methods for generating secure, encrypted communications using multi-party computations in order to perform blockchain operations in decentralized applications
CN116668030A (zh) 基于区块链的数据处理方法及装置、电子设备、存储介质
CN116226932A (zh) 业务数据校验方法、装置、计算机介质及电子设备
CN117992536A (zh) 区块链数据处理方法、装置、设备和介质
CN114386073A (zh) 创建安全证书方法、装置、电子设备及存储介质
CN114553570A (zh) 生成令牌的方法、装置、电子设备及存储介质
CN118074937A (zh) 数据处理方法及装置、电子设备、存储介质
CN114791922A (zh) 查询语句的处理方法、电子设备和计算机可读存储介质

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant