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

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

Info

Publication number
CN113034135A
CN113034135A CN202110181162.XA CN202110181162A CN113034135A CN 113034135 A CN113034135 A CN 113034135A CN 202110181162 A CN202110181162 A CN 202110181162A CN 113034135 A CN113034135 A CN 113034135A
Authority
CN
China
Prior art keywords
transaction
information
node
encryption
verification
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
CN202110181162.XA
Other languages
English (en)
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 CN202110181162.XA priority Critical patent/CN113034135A/zh
Publication of CN113034135A publication Critical patent/CN113034135A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/38Payment protocols; Details thereof
    • G06Q20/382Payment protocols; Details thereof insuring higher security of transaction
    • G06Q20/3829Payment protocols; Details thereof insuring higher security of transaction involving key management
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q40/00Finance; Insurance; Tax strategies; Processing of corporate or income taxes
    • G06Q40/04Trading; Exchange, e.g. stocks, commodities, derivatives or currency exchange
    • 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
    • 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
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/14Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using a plurality of keys or algorithms

Landscapes

  • Engineering & Computer Science (AREA)
  • Business, Economics & Management (AREA)
  • Computer Security & Cryptography (AREA)
  • Accounting & Taxation (AREA)
  • Finance (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Strategic Management (AREA)
  • Physics & Mathematics (AREA)
  • General Business, Economics & Management (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Computing Systems (AREA)
  • Computer Hardware Design (AREA)
  • Development Economics (AREA)
  • Economics (AREA)
  • Marketing (AREA)
  • Technology Law (AREA)
  • Financial Or Insurance-Related Operations Such As Payment And Settlement (AREA)

Abstract

本公开提供了一种基于区块链的信息处理方法、装置、设备、介质和产品,可用于区块链领域和金融领域。其中,信息处理方法由第一区块链网络中的任一第一节点执行,该任一第一节点与第二区块链网络中的至少一个第二节点相关联,信息处理方法包括:获取相关联的第二节点发送的交易信息;采用第一预定加密算法加密交易信息,得到第一加密信息;向相关联的第一节点发送第一加密信息,以使第二区块链网络基于第一加密信息对交易信息所指示交易进行共识验证;采用第二预定加密算法生成针对交易信息的匿名交易验证报文;以及向第一区块链网络中除任一第一节点外的其他第一节点广播匿名交易验证报文,以对交易信息所指示交易进行交易验证。

Description

基于区块链的信息处理方法、装置、设备、介质和产品
技术领域
本公开涉及计算机技术领域,具体涉及区块链领域和金融领域,更具体地涉及一种基于区块链的信息处理方法、装置、设备、介质和产品。
背景技术
区块链技术是一种分布式的互联网数据库技术,它具有诸多先天优势,如去中心化、去信任化、不可篡改、自治性等,可以使陌生节点之间在不依赖第三方可信机构的情况下建立起点对点的可信价值传递,主要优势在于能够显著降低信任成本、提升交互效率。区块链不依赖于某个特定的中心节点,***中的每个区块链节点分别独立存储数据和处理数据,有效避免了单点失败。
为了达到公开验证,区块链的全局账本在网络中是公开的,在没有可信数字基础设施、统一的安全标准的情况下,区块链自身保障水平有限,缺乏有效的隐私保护方案等不足带来了区块链的链上数据隐私保护问题。由于区块链平台中各个参与节点是平等的,都拥有全局的共享账本和数据,因此区块链平台的数据隐私保护无法通过控制访问权限来保护隐私数据。这严重影响了区块链技术在政府、企业、金融等具有隐私保护需求的应用场景中的使用。
发明内容
鉴于上述问题,本公开提供了用于实现区块链的链上数据隐私保护的方法、装置、设备、介质和产品。
根据本公开的第一个方面,提供了一种基于区块链的信息处理方法,该方法由第一区块链网络中的任一第一节点执行,该任一第一节点与第二区块链网络中的至少一个第二节点相关联。该信息处理方法包括:接收相关联的第二节点发送的交易信息;采用第一预定加密算法加密交易信息,得到第一加密信息;向相关联的第二节点发送第一加密信息,以使第二区块链网络基于第一加密信息对所述交易信息所指示的交易进行共识验证;采用第二预定加密算法生成针对交易信息的匿名交易验证报文;以及向第一区块链网络中除任一第一节点外的其他第一节点广播匿名交易验证报文,以对交易信息所指示的交易进行交易验证。
本公开的第二方面提供了一种基于区块链的信息处理方法,该信息处理方法由第二区块链网络中的任一第二节点执行,该述任一第二节点与第一区块链网络中的一个第一节点相关联。该信息处理方法包括:响应于接收到交易发起请求,提取交易发起请求中的交易信息;向相关联的第一节点发送交易信息;接收相关联的第一节点发送的第一加密信息,第一加密信息由第一预定加密算法加密交易信息得到;基于第一加密信息生成共识验证报文;以及向第二区块链网络中除任一第二节点外的其他第二节点广播共识验证报文,以对交易信息所指示的交易进行共识验证。
本公开的第三方面提供了一种基于区块链的信息处理装置,该信息处理装置设置于第一区块链网络中的任一第一节点,该任一第一节点与第二区块链网络中的至少一个第二节点相关联。该信息处理装置包括:交易信息获取模块,用于获取相关联的第二节点发送的交易信息;第一加密模块,用于采用第一预定加密算法加密交易信息,得到第一加密信息;加密信息发送模块,用于向相关联的第二节点发送第一加密信息,以使第二区块链网络基于第一加密信息对交易信息所指示的交易进行共识验证;匿名报文生成模块,用于采用第二预定加密算法生成针对交易信息的匿名交易验证报文;以及匿名报文广播模块,用于向第一区块链网络中除任一第一节点外的其他第一节点广播匿名交易验证报文,以对交易信息所示的交易进行交易验证。
本公开的第四方面提供了一种基于区块链的信息处理装置,该信息处理装置设置于第二区块链网络中的任一第二节点,该任一第二节点与第一区块链网络中的一个第一节点相关联。该信息处理装置包括:交易信息提取模块,用于响应于接收到交易发起请求,提取交易发起请求中的交易信息;交易信息发送模块,用于向相关联的第一节点发送交易信息;加密信息接收模块,用于接收相关联的第一节点发送的第一加密信息,第一加密信息由第一预定加密算法加密交易信息得到;共识报文生成模块,用于基于第一加密信息生成共识验证报文;以及共识报文广播模块,用于向第二区块链网络中除任一第二节点外的其他第二节点广播共识验证报文,以对交易信息所指示的交易进行共识验证。
本公开的第五方面提供了一种电子设备,包括:一个或多个处理器;存储器,用于存储一个或多个程序,其中,当所述一个或多个程序被所述一个或多个处理器执行时,使得一个或多个处理器执行上述的基于区块链的信息处理方法。
本公开的第六方面还提供了一种计算机可读存储介质,其上存储有可执行指令,该指令被处理器执行时使处理器执行上述的基于区块链的信息处理方法。
本公开的第七方面还提供了一种计算机程序产品,包括计算机程序,该计算机程序被处理器执行时实现上述的基于区块链的信息处理方法。
附图说明
通过以下参照附图对本公开实施例的描述,本公开的上述内容以及其他目的、特征和优点将更为清楚,在附图中:
图1示意性示出了根据本公开实施例的基于区块链的信息处理方法、装置、设备、介质和产品的应用场景图;
图2示意性示出了根据本公开实施例的基于区块链的信息处理方法的流程图;
图3示意性示出了根据本公开另一实施例的基于区块链的信息处理方法的流程图;
图4示意性示出了根据本公开实施例的采用第二预定加密算法生成针对交易信息的匿名交易验证报文的原理图;
图5示意性示出了根据本公开实施例的采用零知识证明算法生成针对交易信息的零知识证据信息的原理图;
图6示意性示出了根据本公开实施例的第一区块链网络进行交易验证的原理图;
图7示意性示出了根据本公开实施例的用于对交易信息进行加密的密钥关系架构图;
图8示意性示出了根据本公开实施例的第一区块链网络中任一第一节点的结构架构图;
图9示意性示出了根据本公开实施例的交易过程中第一区块链网络和第二区块链网路进行数据交互的原理图;
图10示意性示出了根据本公开实施例的第一区块链网络中任一第一节点的功能结构图;
图11示意性示出了根据本公开实施例的基于区块链的信息处理装置的结构框图;
图12示意性示出了根据本公开另一实施例的基于区块链的信息处理装置的结构框图;以及
图13示意性示出了根据本公开实施例的适于实现基于区块链的信息处理方法的电子设备的方框图。
具体实施方式
以下,将参照附图来描述本公开的实施例。但是应该理解,这些描述只是示例性的,而并非要限制本公开的范围。在下面的详细描述中,为便于解释,阐述了许多具体的细节以提供对本公开实施例的全面理解。然而,明显地,一个或多个实施例在没有这些具体细节的情况下也可以被实施。此外,在以下说明中,省略了对公知结构和技术的描述,以避免不必要地混淆本公开的概念。
在此使用的术语仅仅是为了描述具体实施例,而并非意在限制本公开。在此使用的术语“包括”、“包含”等表明了所述特征、步骤、操作和/或部件的存在,但是并不排除存在或添加一个或多个其他特征、步骤、操作或部件。
在此使用的所有术语(包括技术和科学术语)具有本领域技术人员通常所理解的含义,除非另外定义。应注意,这里使用的术语应解释为具有与本说明书的上下文相一致的含义,而不应以理想化或过于刻板的方式来解释。
在使用类似于“A、B和C等中至少一个”这样的表述的情况下,一般来说应该按照本领域技术人员通常理解该表述的含义来予以解释(例如,“具有A、B和C中至少一个的***”应包括但不限于单独具有A、单独具有B、单独具有C、具有A和B、具有A和C、具有B和C、和/或具有A、B、C的***等)。
本公开的实施例提供了一种基于区块链的信息处理方法,该方法由第一区块链网络中的任一第一节点执行,任一第一节点与第二区块链网络中的至少一个第二节点相关联,该信息处理方法包括加密过程、信息发送过程、报文生成过程和报文广播过程。在加密过程中,该任一第一节点获取相关联的第二节点发送的交易信息,并采用第一预定加密算法加密交易信息,得到第一加密信息。在信息发送过程中,该任一第一节点向相关联的第一节点发送第一加密信息,以使第二区块链网络基于第一加密信息对交易信息所指示交易进行共识验证。在报文生成过程中,该任一第一节点采用第二预定加密算法生成针对交易信息的匿名交易验证报文。在报文广播过程中,该任一第一节点向第一区块链网络中的其他第一节点广播匿名交易验证报文,以对交易信息所指示交易进行交易验证。
以下将结合图1对本公开提供的方法和装置的应用场景进行描述。
图1示意性示出了根据本公开实施例的基于区块链的信息处理方法、装置、设备、介质和产品的应用场景图。
如图1所示,该实施例的应用场景100中可以包括一个或多个服务器111~113,第一区块链网络120和第二区块链网络130。
第一区块链网络120中设置有多个第一节点121~123,第二区块链网络130中设置有多个第二节点131~133。一个第二节点唯一对应于一个第一节点,而一个第一节点可以唯一对应于第一个第二节点,也可以对应于多个第二节点。一个或多个服务器111~113中的每个服务器可以与第二区块链网络130中的一个或多个第二节点通信连接,以向通信连接的一个或多个第二节点发起交易请求。多个第一节点121~123彼此之间通信连接,以实现对交易请求的交易验证。多个第二节点131~133彼此之间通信连接,以实现对交易请求的共识验证。第一节点与所对应的第二节点之间通信连接,以实现信息传输。
示例性地,服务器可以为参与区块链交易的机构和组织所拥有的服务器资源,服务器可以在与第二区块链网络对接的过程中,调用第二区块链网络中第二节点的应用层对外提供的接口服务,向第二区块链网络130中的第二节点发起交易请求。调用接口服务例如可以通过调用第二节点提供的表示性状态转移风格的API(RESTful API)或软件程序开发包(SDK)来实现。在实际的部署应用过程中,根据区块链形态的不同,第二区块链网络中的第二节点也可以担任服务器的角色,即通过第二节点调用其自身所在的第二区块链网络应用提供的接口服务。
示例性地,第二区块链网络中的第二节点主要指参与共识的节点,即共识节点。共识节点能完整参与交易流程,交易流程一般包括接收交易请求、执行交易、广播交易、交易共识、验证交易和交易上链等。在该实施例中,第二节点主要负责接收并执行交易请求,在第二区块链网络中广播交易请求,并对其他第二节点广播的交易请求进行共识验证,以确定该交易是否为同一笔交易,并将验证通过的交易信息封装为区块添加至区块链上。
示例性地,通常情况下,第一区块链网络中的第一节点与第二节点一一对应。在第二区块链网络中的第二节点响应于交易请求进行交易的过程中,对应的第一节点一方面可以为第二节点提供数据隐私保护能力及隐私数据验证能力,另一方面可以以特定的方式保存第二节点链上的相关数据,以在第二节点发生异常并恢复时,通过第一节点中保存的数据进行数据恢复。例如,第一节点可以执行匿名交易过程中的交易传播和共识验证操作,并向对应的第二节点提供交易验证的结果。第二区块链网络中的每个第二节点可以采用执行普通交易一样的方法来执行匿名交易。
在一实施例中,如图1所述,该应用场景100还可以设置防火墙140和路由器150。在服务器发起交易请求时,该交易请求可以先经由防火墙140进行白名单过滤,在过滤通过后再经由路由器150进行负载均衡,以被路由到第二区块链网络130中的任一第二节点。该任一第二节点用于对交易请求进行响应和处理。
在一实施例中,如图1所示,该应用场景100还可以设置存储数据的数据库服务器160,该数据库服务器160可以包括一个或多个服务器(例如包括服务器161和服务器162)。第一节点和第二节点例如可以通过网络访问数据库服务器160。例如,第一节点和第二节点例如可以在处理了新的交易后或定期将链上的数据归档于数据库服务器160中。通过该数据库服务器160的设置,可以保证数据的完整性和可用性,减少第一节点和第二节点中磁盘的消耗,有利于提高磁盘资源的利用率。
需要说明的是,本公开提供的基于区块链的信息处理方法例如可以部分由第一区块链网络中的第一节点执行,部分由第二区块链网络中的第二节点执行。相应地,本公开提供的基于区块链的信息处理装置可以部分设置在第一区块链网络中的第一节点中,部分设置在第二区块链网络中的第二节点中。
可以理解的是,图1描述的服务器111~113、第一区块链网络120、第二区块链网络130、防火墙140、路由器150和数据库服务器160的个数和类型仅作为示例以利于理解本公开。根据实际需求,可以具有任意个数和类型的服务器111~113、第一区块链网络120、第二区块链网络130、防火墙140、路由器150和数据库服务器160。
以下将基于图1描述的场景,通过图2对公开实施例的由第一区块链网络中第一节点执行的基于区块链的信息处理方法进行详细描述。
图2示意性示出了根据本公开实施例的基于区块链的信息处理方法的流程图。
如图2所示,该实施例的基于区块链的信息处理方法200可以包括操作S210~操作S250。该信息处理方法200例如可以由第一区块链网络中的任一第一节点执行,该任一第一节点与第二区块链网络中的至少一个第二节点相关联。
在操作S210,接收相关联的第二节点发送的交易信息。
该交易信息例如可以由相关联的第二节点根据与第一节点的约定,从接收的交易请求中提取得到。接收的交易信息例如可以包括交易发起方和交易接收方的标识信息、交易资源量等交易请求中需要受保护的隐私数据。接收的交易信息例如为明文形式,以便于第一节点将隐私数据存储至本地,从而便于第二节点在发生异常并恢复异常后,依据第一节点存储的数据进行数据恢复。
在一实施例中,相关联的第二节点可以通过该任一第一节点提供的SDK发送交易信息。例如,任一第一节点可以提供有软件开发工具包SDK,相关联的第二节点通过调用SDK与该任一第一节点通信,以将交易信息发送给该任一第一节点。
在操作S220,采用第一预定加密算法加密交易信息,得到第一加密信息。
示例性地,第一预定加密算法例如可以为哈希算法或同态加密算法等,以此保证加密得到的第一加密信息不易被破解,保证交易信息的安全性。在第一预定加密算法为哈希算法时,得到的第一加密信息为hash字段。在第一预定加密算法为同态加密算法时,得到的第一加密信息为密文数据。
示例性地,在交易信息为明文,且包括较多信息的情况下,该实施例可以先从交易信息中提取出特定字段的信息,并对该特定字段的信息进行加密。
在一实施例中,在接收到交易信息后,例如还可以提取明文中的特定字段的信息,并将该特定字段的信息封装为预定数据结构的信息后进行存储和缓存。
在一实施例中,该第一预定加密算法例如可以基于国密算法实现。例如,在第一预定加密算法为同态加密算法时,可以采用SM2算法(国家密码管理局于2010年12月17日发布的椭圆曲线公钥密码算法)和厄格马尔(ElGamal)算法的组合。其中,ElGamal算法为一种基于迪菲-赫尔曼密钥交换的非对称加密算法。在第一预定加密算法为哈希算法时,可以采用SM3算法(国家密码管理局于2010年12月17日发布的一种密码散列函数标准)。通过基于国密算法实现第一预定加密算法,可以规避密码算法的不可控安全因素,从而可以提高本公开提供的信息处理方法的运行稳定性。
在操作S230,向相关联的第二节点发送第一加密信息,以使第二区块链网络基于第一加密信息对交易信息所指示的交易进行共识验证。
根据本公开的实施例,相关联的第二节点在接收到第一加密信息后,例如可以将第一加密信息作为共识验证报文中的报文信息,将共识验证报文广播给第二区块链***中的其他第二节点,以进行共识验证。该任一第一节点可以以响应的方式将加密得到的hash字段或密文数据返回给相关联的第二节点,例如经由SDK返给相关联的第二节点。共识验证可以用于对交易的统一性进行验证,经由该共识验证,可以确定交易信息指示的交易是否为重复交易或者该共识验证是否已超时等。
在一实施例中,在向相关联的第二节点发送hash字段或密文数据的同时,该任一第一节点例如还可以将hash字段或密文数据存储至自身的账本中。
在操作S240,采用第二预定加密算法生成针对交易信息的匿名交易验证报文。
根据本公开的实施例,该第二预定加密算法例如可以包括同态加密算法或零知识证明算法等。可以理解的是,本公开对该第二预定加密算法不做限定,只要经由该第二预定加密算法处理后能够隐藏交易信息中交易双方的身份信息等。
示例性地,若第二预定加密算法为同态加密算法,该匿名交易验证报文可以包括同态加密算法处理后产生的密文数据。若第二预定加密算法为零知识证明算法,该匿名交易验证报文可以包括零知识证明算法生成的交易证明。
在操作S250,向第一区块链网络中除任一第一节点外的其他第一节点广播匿名交易验证报文,以对交易信息所指示的交易进行交易验证。
在生成匿名交易验证报文后,可以将交易验证报文广播给第一区块链网络中的其他第一节点。其他第一节点在接收到匿名交易验证报文后,可以对交易信息所指示的交易进行验证,以验证交易双方是否合理,交易是否为违法交易等。在通过交易验证后,第二区块链网络中与交易双方相对应的第二节点即可根据交易信息来对交易进行处理,完成交易。
根据本公开的实施例,在对交易信息所指示的交易进行交易验证时,例如可以采用预定的共识机制来实现,在共识机制验证过程中,可以根据匿名交易验证报文中封装的密文数据或交易证明来确定交易是否正确。通过该方式,可以在进行交易验证的过程中,无需对密文数据和交易证明进行解密即可完成验证,从而可以避免交易信息的公开,保证了交易信息的隐私保护。
本公开实施例通过采用与第二节点关联的第一节点生成匿名交易验证报文,并进行交易验证,可以实现对交易双方的身份信息等隐私的保护。再者,相关联的第一节点通过对交易信息进行加密后返给第二节点,可以使得第二节点在进行共识验证时无需向其他节点提供明文数据,从而可以实现对交易信息等隐私的保护。因此,本公开实施例的方法可以实现链上身份隐私和数据隐私的双重保护。
根据本公开的实施例,任一第一节点例如可以提供有软件开发工具包。相似第一节点与相关联的第二节点通信的过程中,第二区块链网络中的第二节点可以通过调用软件开发工具包与相关联的第一节点通信。通过提供软件开发工具包进行通信,可以实现第一区块链网络和第二区块链网络之间的高聚合和低耦合,相较于在作为共识节点的第二节点中设置隐私保护逻辑的技术方案,可以减小隐私保护逻辑对第一区块链网络的侵入性。在一实施例中,第一区块链***中的第一节点例如还可以采用微服务架构来构建,以实现第一节点中隐私保护逻辑的可插拔设置,实现隐私保护逻辑的灵活部署。
根据本公开的实施例,在交易验证通过后,该基于区块链的信息处理方法200例如可以向相关联的第二节点发送验证通过信息,以便于相关联的第二节点将第一交易信息封装为区块存储至区块链上,即对交易信息执行上链操作。
示例性地,在发送验证通过信息时,第一节点可以主动发送。或者,也可以由相关联的第二节点发起匿名交易验证请求,则该任一第一节点响应于该交易验证请求发送验证通过信息。
以下将结合图1,通过图3对第二区块链网络中第二节点执行的基于区块链的信息处理方法进行详细描述。
图3示意性示出了根据本公开另一实施例的基于区块链的信息处理方法的流程图。
如图3所示,该实施例的基于区块链的信息处理方法300可以包括操作S310~操作S350。该信息处理方法300例如可以由第二区块链网络中的任一第二节点执行,该任一第二节点与第一区块链网络中的一个第一节点相关联。
在操作S310,响应于接收到交易发起请求,提取交易发起请求中的交易信息。
根据本公开的实施例,交易发起请求可以由参与区块链交易的任一机构或组织经由其拥有的服务器资源发起,并发送给与其拥有的服务器资源通信的任一第二节点。该交易发起请求例如可以为转账请求、外汇请求等。
根据本公开的实施例,在接收到交易发起请求后,可以对交易发起请求中的明文数据进行解析识别,从预定位置抽取交易信息。交易信息例如可以包括交易发起方和交易接收方的标识信息、交易资源量等交易请求中需要受保护的隐私数据。该交易信息可以根据第一区块链网络所提供的功能来设定,本公开对此不做限定。
在操作S320,向相关联的第一节点发送交易信息。该第二节点可以通过调用相关联的第一节点提供的SDK上传交易信息,以将交易信息发送给第一节点。
在操作S330,接收相关联的第一节点发送的第一加密信息,第一加密信息由第一预定加密算法加密交易信息得到。该第一加密信息为通过前文描述的第一预定加密算法加密得到,在此不再赘述。
在操作S340,基于第一加密信息生成共识验证报文。
在操作S350,向第二区块链网络中除任一第二节点外的其他第二节点广播共识验证报文,以对交易信息指示交易进行共识验证。
根据本公开的实施例,在接收到第一加密信息后,可以将第一加密信息和交易发起请求中除交易信息外的其他信息封装得到共识验证报文。在得到共识验证报文后,可以根据第二区块链网络配置的共识机制,向特定的第二节点或向第二区块链网络中全网的第二节点广播该共识验证报文。
在其他第二节点接收到共识验证报文后,可以根据配置的共识机制,提取共识验证报文中的第一加密信息进行共识,确定交易是否为重复交易或交易是否已超时。
可以理解的是,上述生成共识验证报文、广播共识验证报文和进行共识的方法可以采用相关技术中的任意方法,本公开对此不做限定。
根据本公开的实施例,在通过共识验证后,该第二节点执行的基于区块链的信息处理方法例如还可以向相关联的第一节点发送匿名交易验证请求,以由相关联的第二节点对交易进行验证,确认交易双方是否合理,交易是否为违法交易等。相应地,相关联的第一节点在接收到匿名交易验证请求后,可以先确定是否已采用前文描述的方法生成匿名交易验证报文,并完成交易验证。若完成交易验证,则向第二节点发送验证通过信息。类似地,在第二区块链网络中的其他第二节点完成共识验证后,也向相关联的第一节点发送匿名交易验证请求。在其他第二节点相关联的第一节点完成交易验证后,向该其他第二节点发送验证通过信息。
示例性地,该任一第二节点可以响应于接收到验证通过信息,将前文接收到的第一加密信息打包为区块存储至区块链上。其他第二节点在接收到验证通过信息后,可以将接收到的共识验证报文中的第一加密信息打包为区块存储至本地区块链上。
本公开实施例通过使得各第二节点仅进行共识验证,由相关联的第一节点完成交易验证,可以在保证无需对明文进行上链的同时,降低对第二节点的侵入性。
图4示意性示出了根据本公开实施例的采用第二预定加密算法生成针对交易信息的匿名交易验证报文的原理图。
根据本公开的实施例,在生成匿名交易验证报文时,该实施例400可以依据临时密钥对中的私钥来进行加密,并将临时密钥对汇总的公钥添加至匿名交易验证报文中。以此避免采用固定密钥对所存在的匿名交易验证报文中加密的交易双方的身份信息等数据被其他第一节点破解的风险。
示例性地,如图4所示,该实施例可以先采用随机数生成机制生成临时密钥对410。随后基于临时密钥对410中的私钥(即临时私钥411)和独有公钥420,采用椭圆曲线密码术生成加密密钥430。独有公钥例如可以为交易发送方对应的第一节点独有的密钥对中的公钥,该独有的密钥对相对于其他第一节点为隐私信息。集成加密方案(Elliptic CurveIntegrate Encrypt Scheme,ECIES)可以基于该独有公钥420和临时私钥生成加密密钥430和MAC密钥。加密密钥430用于对作为明文的交易信息440进行加密,得到第二加密信息450。交易接收方对应的第一节点可以在交易验证通过后,根据独有的私钥对该第二加密信息450来解密,以便于完成交易。为了保证交易的隐私性,该加密密钥430加密交易信息时,至少需要对交易的资源量等交易敏感信息进行加密。
示例性地,在生成匿名交易验证报文时,还可以采用第二预定加密算法460加密交易信息,得到第三加密信息470。该第三加密信息470例如可以用于作为交易验证的基础。在采用第二预定加密算法460对交易信息进行加密时,例如可以对所有的交易信息进行加密,或者根据预定规则对交易信息中的部分信息进行加密,该部分信息例如可以包括交易双方的身份信息等。
示例性地,在得到第二加密信息450和第三加密信息470后,可以将第二加密信息450、第三加密信息470和临时密钥对410中的公钥(即临时公钥412)封装为报文,得到匿名交易验证报文480。以此,在其他第一节点接收到该匿名交易验证报文后,可以根据第三加密信息470进行交易验证。在交易接收方对应的第一节点确定交易验证通过后,可以根据匿名交易验证报文中的临时公钥412和独有的私钥对第二加密信息450进行解密,从而得到交易的资源量等敏感信息。
根据本公开的实施例,在生成临时密钥对时,例如可以采用国密算法中的非对称密钥算法生成临时密钥对。以此规避密码算法的不可控安全隐私。例如,可以采用SM2生成临时密钥对。
根据本公开的实施例,第一节点例如可以基于国密算法SM2、SM3等,并结合ECIES等构建有独立的密钥***,该密钥***能够保证密钥在使用过程中具有随机性,从而隐藏交易信息中交易双方的身份信息。
根据本公开的实施例,在生成MAC密钥后,例如可以使用该MAC密钥生成第二加密信息的标签,并根据该标签对第二加密信息进行签名。
根据本公开的实施例,第二预定算法例如可以包括同态加密算法。该同态加密算法例如可以支持同态加法。可以采用同态加密算法对交易的资源量(例如支票的金额)和与交易标记对应的资源量(例如与支票标记对应的金额)进行同态加密。如此,在其他第一节点接收到匿名交易验证报文后,例如可以对第三加密信息中支票的金额和与支票标记对应的金额进行比对,若两者一致,则确定交易正确,完成交易验证。
在一实施例中,第二预定算法例如可以基于国密算法实现。例如,同态加密算法可以基于SM2算法,并应用ElGamal算法来实现。以此来规避密码算法的不可控安全因素。
在一实施例中,可以对交易信息所指示交易的资源哈希值和资源标记哈希值进行同时加密。加密得到的第三加密信息中包括交易信息所指示交易的资源哈希值和资源标记哈希值,便于其他第一节点将该资源哈希值与全局资源哈希值列表进行对比,将资源标记哈希值与全局资源标记哈希值进行对比,从而完成交易验证。
根据本公开的实施例,第二预定算法例如可以包括零知识证明算法。以下将结合图5对采用零知识证明算法加密交易信息的原理进行描述。
图5示意性示出了根据本公开实施例的采用零知识证明算法生成针对交易信息的零知识证据信息的原理图。
如图5所示,在采用零知识证明算法来加密交易信息时,操作流程500可以包括验证逻辑的操作S501、等价转换的操作S502,生成参数的操作S503。最终可以将生成的待证明的问题作为零知识证据信息作为第三加密信息,并添加至匿名交易验证报文中发送给全网,完成生成交易的操作S504和全网验证的操作S505。其中,零知识证明算法例如可以基于零知识简洁非交互式知识论证(zero knowledge Succinct Non-interactive Argumentof Knowledge,zk-SNARK)技术来实现。
首先,在操作S501,可以将验证交易存在的待证明的问题拆解成一个个逻辑上的验证步骤,将这些步骤拆解成由加减乘除构成的运算电路。随后在操作S502,先将运算电路转换为一阶约束***(R1CS),该过程为数学转换过程,因此该转换是等价的。随后将R1CS转换为多项式,从而将待证明的问题转换为二次分配问题(quadratic assignment problem,QAP)。
在转换得到QAP后,在操作S503,可以根据交易信息,生成交易信息所指示的交易的资源哈希值和资源标记哈希值。具体可以采用哈希算法计算交易信息中的资源量的哈希值,及唯一对应该交易信息中的资源量的资源标记的哈希值。随后,将资源哈希值和资源标记哈希值作为生成交易证明(即零知识证据信息)的输入,利用同态隐藏、系数知识假设(Knowledge of Coefficient Assumption,KCA)等技术来生成交易证明。该生成的交易证明为第三加密信息。通过将该第三加密信息添加至已封装有临时公钥和第二加密信息的报文中,即可得到匿名交易验证报文进行广播,以使得第一区块链网络中全网的第一节点或特定的第一节点对交易进行验证。
通过上述方法,由于采用零知识证明算法将交易信息(例如资源和资源标记)作为输入生成了交易证明,因此可以便于其他第一节点在不透露具体交易细节和交易方信息的前提下来完成对交易合法性的验证。
根据本公开的实施例,在其他第一节点为验证节点时,可以根据接收到的匿名交易验证报文中的第三交易信息进行交易合法性验证。在其他第一节点为交易接收方对应的节点时,例如还需要在交易验证完成后对第二加密信息进行解密,并以此获取到交易的明文信息,对交易进行处理。
以下将结合图6对第一区块链网络中各第一节点的在进行交易验证时的工作原理进行详细描述。
图6示意性示出了根据本公开实施例的第一区块链网络进行交易验证的原理图。
如图6所示,作为交易发起方对应的前述任一第一节点,可以采用前文图4描述的流程生成匿名交易验证报文。详细描述如下。
在操作S601,与交易发起方对应的第一节点先获取临时密钥对tempsk/temppk,并将传递密钥ptk 601与临时私钥tempsk 602,利用集成加密方案生成用于加密传输报文的对称密钥enc 603。
在操作S602,与交易发起方对应的第一节点可以使用密钥enc 603对明文信息(plain 604)进行加密,将加密生成的第二加密信息(encrypted 605)作为待传输的报文的特定字段,将临时公钥temppk 606和明文信息的哈希值(hash 607)同时放入待传输的报文,得到匿名交易验证报文。在对该匿名交易验证报文进行交易签名后,该与交易发起方对应的第一节点可以将签名后的匿名交易验证报文广播给第一区块链网络中的其他第一节点。其中,在广播匿名交易验证报文后,该与交易发起方对应的第一节点可以向与交易接收方对应的第一节点发送独有的密钥对中的独有私钥itk 608。
在操作S603,对于与交易验证方对应的第一节点和与交易接收方对应的第一节点,在接收到匿名交易验证报文后,可以从匿名交易验证报文中提取明文信息的哈希值(hash 607),并根据hash进行共识验证。
在操作S604,对于与接收方对应的第一节点,除了对交易进行验证外,还可以从匿名交易验证报文中提取临时公钥temppk 606。随后根据接收到的独有私钥itk 608和临时公钥temppk 606,采用集成加密方案生成前文描述的加密密钥enc 603。
在操作S605,对于与接收方对应的第一节点,在得到加密密钥enc 603后,可以对匿名交易验证报文中的第二加密信息(encrypted 605)进行解密,从而得到明文信息(plain 604),以根据明文信息完成交易。在得到该明文信息后,还可以对该解密后的明文信息进行反序列化处理,将反序列化处理得到的信息存储至本地。
以下将结合图7对前文描述中第一预定算法和第二预定算法中用到的密钥的逻辑关系进行描述。
图7示意性示出了根据本公开实施例的用于对交易信息进行加密的密钥关系架构图。
如图7所示,前文描述中采用的独有私钥itk可以由apk和nk利用HMAC机制派生得到。其中,HMAC为利用密码学中的散列函数来进行消息认证的一种机制,其所能提供的消息认证包括消息完整性认证和信源身份认证。apk为auk映射在SM2对应椭圆曲线的公钥,auk为uk通过SM3算法派生而来的密钥,uk为与交易信息指示的交易对应的交易密钥。nk为nfk通过SM3算法派生而来的密钥,用于生成资源标记。nfk为uk通过SM3算法派生而来的密钥。
如图7所示,临时公钥temppk和临时私钥tempsk可以由随机数生成源rand随机生成。加密密钥enc可以由临时公钥temppk和独有私钥itk生成,也可以由临时私钥tempsk和独有公钥ptk生成。独有公钥ptk为用于线上机密交易传输的密钥。在生成加密密钥enc时,可以先根据独有公钥ptk与临时私钥tempsk生成共享密钥,然后采用SM4算法(国家密码局认定的无线局域网标准的分组数据算法)生成加密密钥,以对交易信息进行加密。
为了保护用户的身份信息,例如可以用到非对称公钥addrPub,以对交易双方的身份信息中的账户信息进行加密。addrKey为与addrPub相配对的非对称私钥。非对称公钥addrPub可以用于生成用户账户地址(即加密账户信息得到的加密信息)。
为了对交易进行签名,本公开实施例还可以提供有临时签名密钥signKey。同时提供与signKey相配对的密钥signPub,用于对交易签名进行验证。
以下将结合图8对第一节点的结构进行描述,以便于更好地理解第一节点进行交易验证的原理。
图8示意性示出了根据本公开实施例的第一区块链网络中任一第一节点的结构架构图。
如图8所示,该实施例中,第一区块链网络中任一第一节点800可以设置有接口层810、数据存储层820、核心算法层830和密码算法层840。
接口层810涉及GRPC协议和HTTP/HTTPS协议的应用。该接口层810负责接收交易参与方对应的服务器发送的交易发起请求,并对接收的请求报文进行处理,组装得到需要传输的报文。
数据存储层820支持rocksdb、sqlite和mysql三种类型的数据库架构,用于对交易信息、链上数据、第一加密信息等进行存储。在一实施例中,该数据存储层可以维护有该节点的账户信息、全网络的用户路由地址、全网络未消费资源的hash列表、全网络资源标记的hash列表。其中,用户路由地址主要保留者网络中所有用户的虚拟ip地址,该虚拟ip地址可以采用前文描述的非对称公钥addrPub生成,以方便广播交易验证报文等。全网络未消费资源的hash列表和全网络资源标记的hash列表可以用于作为交易验证的依据。
核心算法层830集成了ECIES、zk-SNARK和ElGamal算法,用于提供同态加密、零知识证明和明文加密等功能。
密码算法层840主要集成了基于椭圆曲线数学的公开密钥加密算法(EllipticCurve Cryptography,ECC)、SHA256、国密SM2、国密SM3、国密SM4等算法,以向核心算法层提供加密算法。
以下将结合图8的结构,通过图9对交易过程中第一节点与相关联的第二节点之间的交互进行描述,从而对交易过程提供全面的理解。
图9示意性示出了根据本公开实施例的交易过程中第一区块链网络和第二区块链网路进行数据交互的原理图。
如图9所示,交易流程一般包括交易生成、交易传播、交易共识、交易验证和交易上链等环节。第二区块链网络中的第二节点设置有智能合约层和信息验证层,且维护有全局账本。
在交易过程中,第二节点可以先接收交易发起请求,在执行匿名交易前,该第二节点可以执行操作S901,按照相关联的第一节点提供的SDK,向第一节点发送所需要的交易信息。例如可以对接收的交易发起请求中的交易信息进行组装后以明文形式送入第一节点的接口层。
第一节点在接收到交易信息后,可以执行操作S902,将明文形式的交易信息中的字段组装成第一节点规定的数据结构的数据后进行存储或缓存。随后执行操作S903,对组装的数据进行hash处理,得到hash值,或采用同态加密算法加密,得到已加密的密文数据。随之将得到的hash值或密文数据作为第一加密信息经由接口层返给第二节点。
第二节点在接收到hash值或密文数据后,执行操作S904,将hash值或密文数据放入待共识广播的请求报文中,根据配置的共识机制,向特定的第二节点或第二区块链网络中的所有第二节点发送共识验证报文,以进行共识验证。
第一节点在发送hash值或密文数据后,执行操作S905,采用前文描述的方法生成匿名交易验证报文,该匿名交易验证报文一般包括同态加密算法处理后产生的密文数据或零知识证明算法生成的交易证明。随后将生成的匿名交易验证报文广播给其他第一节点。
在其他第二节点接收到共识验证报文后,可以从共识验证报文中提取hash值或密文数据,并执行操作S906,经由相关联的第一节点提供的SDK向相关联的第一节点上送该hash值或密文数据,以向该相关联的第一节点发起匿名交易验证请求。
第一节点在接收到相关联的第二节点发送的匿名交易验证请求后,可以先检查是否已经接收到匿名交易验证报文,并完成交易验证。若已完成交易验证,并验证通过,则执行操作S907,将验证通过信息发送给相关联的第二节点。若还未完成交易验证,则会等待交易验证完成后再执行操作S907。
在第二节点接收到验证通过信息后,可以执行操作S908,将获取的hash值或密文数据进行上链,存储至链上账本中。
以下将结合图10对第一区块链网络中第一节点中各功能模块的架构进行详细描述。
图10示意性示出了根据本公开实施例的第一区块链网络中任一第一节点的功能结构图。
如图10所示,第一节点1000例如可以包括通用模块1010、身份信息保护模块1020和数据隐私保护模块1030。
通用模块1010包括密钥***子模块1011、数据存储子模块1012和签名验签子模块1013。
密钥***子模块1011主要用于以独有私钥和利用SM2算法生成的临时密钥为基础,采用ECIES派生出交易过程中使用的密钥,该密钥例如可以为前文描述的加密密钥。
数据存储子模块1012用于维护前文描述的节点的账户信息、全网络的用户路由地址、全网络未消费资源的hash列表、全网络资源标记的hash列表。该数据存储子模块1012可以充当前文描述的数据存储层。
签名验签子模块1013用于对匿名交易验证报文进行交易签名。其中,在每次交易过程中,交易签名时所采用的密钥例如可以为临时生成的密钥,对该密钥不进行持久化。
身份信息保护模块1020包括账户子模块1021和匿名交易子模块1022。
账户子模块1021用于实现账户/余额模式的交易信息与UTXO(UnspentTransaction Output,未花费的交易输出)模式的交易信息的转换,主要在两种场景进行转换。在传输交易信息的场景中,该账户子模块1021用于将账户/余额模式的交易信息转换为UTXO模式表示的交易信息,并将UTXO模式的交易信息存储至数据存储子模块。在参与方查询账户信息的场景下,该账户子模块1021可以用于将UTXO模式表示的交易信息转换为账户/余额模式的交易信息,同时将账户历史交易信息汇总后将汇总信息以明文形式反馈给参与方。
匿名交易子模块1022用于在交易过程中隐藏交易双方的身份信息。例如,该匿名交易子模块1022可以在每次交易过程中利用密钥***子模块1011随机生成密钥对,然后对交易签名,这样就不会暴露固定的公钥,以此隐藏交易发起方的身份信息。匿名交易子模块1022可以将交易加密,并保留交易产生的资源hash值和资源标记hash值,通过特定的算法,交易中产生的资源信息只有接收方能解密并完整接收,其他节点只会接收到报文中的hash值而不能对交易信息进行解密,在共识验证过程中,也只有资源hash值和资源标记hash值会参与共识,以此隐藏交易接收方的身份信息。另外,在密钥***中加入了随机数的机制,保证每次交易过程中资源对应的账户都不一样,从而进一步隐藏交易接收方的信息。
数据隐私保护模块1030包括同态加密子模块1031、零知识证明子模块1032和数据加密子模块1033。
同态加密子模块1031为交易过程中提供同态加密功能的组件。该同态加密子模块1031支持同态加法,主要基于SM2算法,并应用ElGamal算法进行同态加密。同态加密子模块1031可使用于交易验证过程,与交易发起方对应的第一节点将具体资源量以及资源标记中的资源量进行同态加密,与交易验证方对应的第一节点通过验证具体资源量以及资源标记中的资源量是否一致,以此确定交易的正确性。
零知识证明子模块1032为提供交易证明的核心算法组件,该零知识证明子模块1032使得交易发起方能够在不向验证者提供任何有用的信息的情况下,使验证者相信当前交易是合法的。
数据加密子模块1033基于密钥***子模块1011提供的密钥以及加密算法,对交易进行加密传输,并将特定的解密密钥发送给与交易接收方对应的第一节点,与交易接收方对应的第一节点在交易达成共识后,利用解密密钥将交易信息解密,并更新自己本地的数据存储子模块中的数据。
本公开通过以上第一节点的架构,及第一节点与第二节点之间的交互,可以使得交易信息在交易全过程汇总以密文传输并存储,并通过采用同态加密与零知识证明等技术手段,可以实现兼顾对身份信息的隐私保护。再者,本公开通过结合国密算法来构建密码***,可以规避密码算法的不可控安全因素。最后,第一节点通过采用与第二节点一对一的分布式的部署方案,可以使得区块链运行过程中的交易转换、匿名密钥对生成、交易数据加解密都由第一节点独立完成,第二节点仅需通过相应的SDK进行数据交换,因此可以降低第一节点对第二节点的侵入性,实现匿名交易功能的灵活接入。
图11示意性示出了根据本公开实施例的基于区块链的信息处理装置的结构框图。
如图11所示,该实施例的基于区块链的信息处理装置1100可以设置于第一区块链网络中的任一第一节点。任一第一节点与第二区块链网络中的至少一个第二节点相关联。基于区块链的信息处理装置1100可以包括交易信息获取模块1110、第一加密模块1120、加密信息发送模块1130、匿名报文生成模块1140和匿名报文广播模块1150。
交易信息获取模块1110用于获取相关联的第二节点发送的交易信息。在一实施例中,交易信息获取模块1110例如可以用于执行前文描述的操作S210,在此不再赘述。
第一加密模块1120用于采用第一预定加密算法加密交易信息,得到第一加密信息。在一实施例中,第一加密模块1120例如可以用于执行前文描述的操作S220,在此不再赘述。
加密信息发送模块1130用于向相关联的第二节点发送第一加密信息,以使第二区块链网络基于第一加密信息对交易信息所指示交易进行共识验证。在一实施例中,加密信息发送模块1130例如可以用于执行前文描述的操作S230,在此不再赘述。
匿名报文生成模块1140用于采用第二预定加密算法生成针对交易信息的匿名交易验证报文。在一实施例中,匿名报文生成模块1140例如可以用于执行前文描述的操作S240,在此不再赘述。
匿名报文广播模块1150用于向第一区块链网络中除任一第一节点外的其他第一节点广播匿名交易验证报文,以对交易信息所指示交易进行交易验证。在一实施例中,匿名报文广播模块1150例如可以用于执行前文描述的操作S250,在此不再赘述。
根据本公开的实施例,上述基于区块链的信息处理装置1100例如还可以包括验证信息发送模块,用于在确定验证通过的情况下,响应于接收到相关联的第二节点发送的匿名交易验证请求,向相关联的第二节点发送验证通过信息。
根据本公开的实施例,上述匿名报文生成模块1140例如可以包括密钥生成子模块、第一加密子模块、第二加密子模块和报文生成子模块。密钥生成子模块用于基于临时密钥对中的私钥和独有公钥,采用集成加密方案生成加密密钥。第一加密子模块用于采用加密密钥加密交易信息,得到第二加密信息。第二加密子模块用于采用第二预定加密算法加密交易信息,得到第三加密信息。报文生成子模块用于根据第二加密信息、第三加密信息和临时密钥对中的公钥,得到针对交易信息的匿名交易验证报文。
根据本公开的实施例,第二加密子模块具体可以用于采用同态加密算法生成针对交易信息的第三加密信息。
根据本公开的实施例,第二加密子模块例如可以包括哈希值生成单元和证据信息生成单元。哈希值生成单元用于根据交易信息,生成交易信息所指示的交易的资源哈希值和资源标记哈希值。证据信息生成单元用于基于资源哈希值和资源标记哈希值,采用零知识证明算法生成针对交易信息的零知识证据信息。
根据本公开的实施例,上述基于区块链的信息处理装置1100例如还可以包括私钥发送模块,用于向第一区块链网络中与第二区块链网络中接收交易的第二节点相关联的第一节点发送独有私钥,以对第二加密信息进行解密,其中,独有私钥为与独有公钥配对的私钥。
根据本公开的实施例,上述基于区块链的信息处理装置1100例如还可以包括私钥接收模块、密钥生成模块和解密模块。私钥接收模块用于接收第一区块链网络中除任一第一节点外的其他第一节点发送的独有私钥。密钥生成模块用于根据独有私钥与接收的匿名交易验证报文中的公钥,采用集成加密方案生成加密密钥。解密模块用于采用加密密钥对第二加密信息进行解密,以根据解密得到的交易信息完成交易。
根据本公开的实施例,上述临时密钥对采用国密算法中的非对称密钥算法生成。
根据本公开的实施例,上述任一第一节点提供有软件开发工具包,第二区块链网络中的第二节点通过调用软件开发工具包与相关联的第一节点通信。
根据本公开的实施例,第一预定加密算法和第二预定加密算法基于国密算法实现。
图12示意性示出了根据本公开另一实施例的基于区块链的信息处理装置的结构框图。
如图12所示,该实施例的基于区块链的信息处理装置1200可以设置于第二区块链网络中的任一第二节点。任一第二节点与第一区块链网络中的一个第一节点相关联。基于区块链的信息处理装置1200可以包括交易信息提取模块1210、交易信息发送模块1220、加密信息接收模块1230、共识报文生成模块1240和共识报文广播模块1250。
交易信息提取模块1210用于响应于接收到交易发起请求,提取交易发起请求中的交易信息。在一实施例中,交易信息提取模块1210例如可以用于执行前文描述的操作S310,在此不再赘述。
交易信息发送模块1220用于向相关联的第一节点发送交易信息。在一实施例中,交易信息发送模块1220例如可以用于执行前文描述的操作S320,在此不再赘述。
加密信息接收模块1230用于接收相关联的第一节点发送的第一加密信息,该第一加密信息由第一预定加密算法加密交易信息得到。在一实施例中,加密信息接收模块1230例如可以用于执行前文描述的操作S330,在此不再赘述。
共识报文生成模块1240用于基于第一加密信息生成共识验证报文。在一实施例中,共识报文生成模块1240例如可以用于执行前文描述的操作S340,在此不再赘述。
共识报文广播模块1250用于向第二区块链网络中除任一第二节点外的其他第二节点广播共识验证报文,以对交易信息指示交易进行共识验证。在一实施例中,共识报文广播模块1250例如可以用于执行前文描述的操作S350,在此不再赘述。
根据本公开的实施例,上述基于区块链的信息处理装置1200还可以包括验证请求发送模块和信息打包模块。验证请求发送模块用于向相关联的第一节点发送匿名交易验证请求。信息打包模块用于响应于接收到相关联的第一节点响应匿名交易验证请求发送的验证通过信息,将第一加密信息打包为区块存储至区块链上。
根据本公开的实施例,交易信息获取模块1110、第一加密模块1120、加密信息发送模块1130、匿名报文生成模块1140和匿名报文广播模块1150中的任意多个,或者交易信息提取模块1210、交易信息发送模块1220、加密信息接收模块1230、共识报文生成模块1240和共识报文广播模块1250中的任意多个可以合并在一个模块中实现,或者其中的任意一个模块可以被拆分成多个模块。或者,这些模块中的一个或多个模块的至少部分功能可以与其他模块的至少部分功能相结合,并在一个模块中实现。根据本公开的实施例,交易信息获取模块1110、第一加密模块1120、加密信息发送模块1130、匿名报文生成模块1140和匿名报文广播模块1150中的至少一个,或者交易信息提取模块1210、交易信息发送模块1220、加密信息接收模块1230、共识报文生成模块1240和共识报文广播模块1250中的至少一个可以至少被部分地实现为硬件电路,例如现场可编程门阵列(FPGA)、可编程逻辑阵列(PLA)、片上***、基板上的***、封装上的***、专用集成电路(ASIC),或可以通过对电路进行集成或封装的任何其他的合理方式等硬件或固件来实现,或以软件、硬件以及固件三种实现方式中任意一种或以其中任意几种的适当组合来实现。或者,交易信息获取模块1110、第一加密模块1120、加密信息发送模块1130、匿名报文生成模块1140和匿名报文广播模块1150中的至少一个,或者交易信息提取模块1210、交易信息发送模块1220、加密信息接收模块1230、共识报文生成模块1240和共识报文广播模块1250中的至少一个可以至少被部分地实现为计算机程序模块,当该计算机程序模块被运行时,可以执行相应的功能。
图13示意性示出了根据本公开实施例的适于实现基于区块链的信息处理方法的电子设备的方框图。
如图13所示,根据本公开实施例的电子设备1300包括处理器1301,其可以根据存储在只读存储器(ROM)1302中的程序或者从存储部分1308加载到随机访问存储器(RAM)1303中的程序而执行各种适当的动作和处理。处理器1301例如可以包括通用微处理器(例如CPU)、指令集处理器和/或相关芯片组和/或专用微处理器(例如,专用集成电路(ASIC))等等。处理器1301还可以包括用于缓存用途的板载存储器。处理器1301可以包括用于执行根据本公开实施例的方法流程的不同动作的单一处理单元或者是多个处理单元。
在RAM 1303中,存储有电子设备1300操作所需的各种程序和数据。处理器1301、ROM 1302以及RAM 1303通过总线1304彼此相连。处理器1301通过执行ROM 1302和/或RAM1303中的程序来执行根据本公开实施例的方法流程的各种操作。需要注意,所述程序也可以存储在除ROM 1302和RAM 1303以外的一个或多个存储器中。处理器1301也可以通过执行存储在所述一个或多个存储器中的程序来执行根据本公开实施例的方法流程的各种操作。
根据本公开的实施例,电子设备1300还可以包括输入/输出(I/O)接口1305,输入/输出(I/O)接口1305也连接至总线1304。电子设备1300还可以包括连接至I/O接口1305的以下部件中的一项或多项:包括键盘、鼠标等的输入部分1306;包括诸如阴极射线管(CRT)、液晶显示器(LCD)等以及扬声器等的输出部分1307;包括硬盘等的存储部分1308;以及包括诸如LAN卡、调制解调器等的网络接口卡的通信部分1309。通信部分1309经由诸如因特网的网络执行通信处理。驱动器1310也根据需要连接至I/O接口1305。可拆卸介质1311,诸如磁盘、光盘、磁光盘、半导体存储器等等,根据需要安装在驱动器1310上,以便于从其上读出的计算机程序根据需要被安装入存储部分1308。
本公开还提供了一种计算机可读存储介质,该计算机可读存储介质可以是上述实施例中描述的设备/装置/***中所包含的;也可以是单独存在,而未装配入该设备/装置/***中。上述计算机可读存储介质承载有一个或者多个程序,当上述一个或者多个程序被执行时,实现根据本公开实施例的方法。
根据本公开的实施例,计算机可读存储介质可以是非易失性的计算机可读存储介质,例如可以包括但不限于:便携式计算机磁盘、硬盘、随机访问存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、便携式紧凑磁盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本公开中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行***、装置或者器件使用或者与其结合使用。例如,根据本公开的实施例,计算机可读存储介质可以包括上文描述的ROM 1302和/或RAM 1303和/或ROM 1302和RAM 1303以外的一个或多个存储器。
本公开的实施例还包括一种计算机程序产品,其包括计算机程序,该计算机程序包含用于执行流程图所示的方法的程序代码。当计算机程序产品在计算机***中运行时,该程序代码用于使计算机***实现本公开实施例所提供的物品推荐方法。
在该计算机程序被处理器1301执行时执行本公开实施例的***/装置中限定的上述功能。根据本公开的实施例,上文描述的***、装置、模块、单元等可以通过计算机程序模块来实现。
在一种实施例中,该计算机程序可以依托于光存储器件、磁存储器件等有形存储介质。在另一种实施例中,该计算机程序也可以在网络介质上以信号的形式进行传输、分发,并通过通信部分1309被下载和安装,和/或从可拆卸介质1311被安装。该计算机程序包含的程序代码可以用任何适当的网络介质传输,包括但不限于:无线、有线等等,或者上述的任意合适的组合。
在这样的实施例中,该计算机程序可以通过通信部分1309从网络上被下载和安装,和/或从可拆卸介质1311被安装。在该计算机程序被处理器1301执行时,执行本公开实施例的***中限定的上述功能。根据本公开的实施例,上文描述的***、设备、装置、模块、单元等可以通过计算机程序模块来实现。
根据本公开的实施例,可以以一种或多种程序设计语言的任意组合来编写用于执行本公开实施例提供的计算机程序的程序代码,具体地,可以利用高级过程和/或面向对象的编程语言、和/或汇编/机器语言来实施这些计算程序。程序设计语言包括但不限于诸如Java,C++,python,“C”语言或类似的程序设计语言。程序代码可以完全地在用户计算设备上执行、部分地在用户设备上执行、部分在远程计算设备上执行、或者完全在远程计算设备或服务器上执行。在涉及远程计算设备的情形中,远程计算设备可以通过任意种类的网络,包括局域网(LAN)或广域网(WAN),连接到用户计算设备,或者,可以连接到外部计算设备(例如利用因特网服务提供商来通过因特网连接)。
附图中的流程图和框图,图示了按照本公开各种实施例的***、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,上述模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。电应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图或流程图中的每个方框、以及框图或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的***来实现,或者可以用专用硬件与计算机指令的组合来实现。
本领域技术人员可以理解,本公开的各个实施例和/或权利要求中记载的特征可以进行多种组合或/或结合,即使这样的组合或结合没有明确记载于本公开中。特别地,在不脱离本公开精神和教导的情况下,本公开的各个实施例和/或权利要求中记载的特征可以进行多种组合和/或结合。所有这些组合和/或结合均落入本公开的范围。
以上对本公开的实施例进行了描述。但是,这些实施例仅仅是为了说明的目的,而并非为了限制本公开的范围。尽管在以上分别描述了各实施例,但是这并不意味着各个实施例中的措施不能有利地结合使用。本公开的范围由所附权利要求及其等同物限定。不脱离本公开的范围,本领域技术人员可以做出多种替代和修改,这些替代和修改都应落在本公开的范围之内。

Claims (17)

1.一种基于区块链的信息处理方法,其中,该方法由第一区块链网络中的任一第一节点执行,所述任一第一节点与第二区块链网络中的至少一个第二节点相关联;所述方法包括:
接收相关联的第二节点发送的交易信息;
采用第一预定加密算法加密所述交易信息,得到第一加密信息;
向所述相关联的第二节点发送所述第一加密信息,以使所述第二区块链网络基于所述第一加密信息对所述交易信息所指示的交易进行共识验证;
采用第二预定加密算法生成针对所述交易信息的匿名交易验证报文;以及
向所述第一区块链网络中除所述任一第一节点外的其他第一节点广播所述匿名交易验证报文,以对所述交易信息所指示的交易进行交易验证。
2.根据权利要求1所述的方法,还包括在确定所述交易验证通过的情况下:
响应于接收到所述相关联的第二节点发送的匿名交易验证请求,向所述相关联的第二节点发送验证通过信息。
3.根据权利要求1所述的方法,其中,采用第二预定加密算法生成针对所述交易信息的匿名交易验证报文包括:
基于临时密钥对中的私钥和独有公钥,采用集成加密方案生成加密密钥;
采用所述加密密钥加密所述交易信息,得到第二加密信息;
采用所述第二预定加密算法加密所述交易信息,得到第三加密信息;以及
根据所述第二加密信息、所述第三加密信息和所述临时密钥对中的公钥,得到针对所述交易信息的匿名交易验证报文。
4.根据权利要求1~3中任一项所述的方法,其中,所述采用所述第二预定加密算法加密所述交易信息,得到第三加密信息包括:
采用同态加密算法生成针对所述交易信息的第三加密信息。
5.根据权利要求1~3中任一项所述的方法,其中,采用所述第二预定加密算法加密所述交易信息包括:
根据所述交易信息,生成所述交易信息所指示的交易的资源哈希值和资源标记哈希值;以及
基于所述资源哈希值和资源标记哈希值,采用零知识证明算法生成针对所述交易信息的零知识证据信息。
6.根据权利要求3所述的方法,还包括:
向所述第一区块链网络中与所述第二区块链网络中接收交易的第二节点相关联的第一节点发送独有私钥,以对所述第二加密信息进行解密,
其中,所述独有私钥为与所述独有公钥配对的私钥。
7.根据权利要求6所述的方法,还包括:
接收所述第一区块链网络中除所述任一第一节点外的其他第一节点发送的独有私钥;
根据所述独有私钥与接收的匿名交易验证报文中的公钥,采用所述集成加密方案生成所述加密密钥;以及
采用所述加密密钥对所述第二加密信息进行解密,以根据解密得到的交易信息完成交易。
8.根据权利要求3所述的方法,其中,所述临时密钥对采用国密算法中的非对称密钥算法生成。
9.根据权利要求1所述的方法,其中,所述任一第一节点提供有软件开发工具包,所述第二区块链网络中的第二节点通过调用所述软件开发工具包与相关联的第一节点通信。
10.根据权利要求1所述的方法,其中,所述第一预定加密算法和所述第二预定加密算法基于国密算法实现。
11.一种基于区块链的信息处理方法,其中,所述信息处理方法由第二区块链网络中的任一第二节点执行,所述任一第二节点与第一区块链网络中的一个第一节点相关联;所述方法包括:
响应于接收到交易发起请求,提取所述交易发起请求中的交易信息;
向相关联的第一节点发送所述交易信息;
接收所述相关联的第一节点发送的第一加密信息,所述第一加密信息由第一预定加密算法加密所述交易信息得到;
基于所述第一加密信息生成共识验证报文;以及
向所述第二区块链网络中除所述任一第二节点外的其他第二节点广播所述共识验证报文,以对所述交易信息所指示的交易进行共识验证。
12.根据权利要求11所述的方法,还包括在所述共识验证通过的情况下:
向所述相关联的第一节点发送匿名交易验证请求;
响应于接收到所述相关联的第一节点响应所述匿名交易验证请求发送的验证通过信息,将所述第一加密信息打包为区块存储至区块链上。
13.一种基于区块链的信息处理装置,其中,所述信息处理装置设置于第一区块链网络中的任一第一节点,所述任一第一节点与第二区块链网络中的至少一个第二节点相关联;所述装置包括:
交易信息获取模块,用于获取相关联的第二节点发送的交易信息;
第一加密模块,用于采用第一预定加密算法加密所述交易信息,得到第一加密信息;
加密信息发送模块,用于向所述相关联的第二节点发送所述第一加密信息,以使所述第二区块链网络基于所述第一加密信息对所述交易信息所指示的交易进行共识验证;
匿名报文生成模块,用于采用第二预定加密算法生成针对所述交易信息的匿名交易验证报文;以及
匿名报文广播模块,用于向所述第一区块链网络中除所述任一第一节点外的其他第一节点广播所述匿名交易验证报文,以对所述交易信息所示的交易进行交易验证。
14.一种基于区块链的信息处理装置,其中,所述信息处理装置设置于第二区块链网络中的任一第二节点,所述任一第二节点与第一区块链网络中的一个第一节点相关联;所述装置包括:
交易信息提取模块,用于响应于接收到交易发起请求,提取所述交易发起请求中的交易信息;
交易信息发送模块,用于向相关联的第一节点发送所述交易信息;
加密信息接收模块,用于接收所述相关联的第一节点发送的第一加密信息,所述第一加密信息由第一预定加密算法加密所述交易信息得到;
共识报文生成模块,用于基于第一加密信息生成共识验证报文;以及
共识报文广播模块,用于向所述第二区块链网络中除所述任一第二节点外的其他第二节点广播所述共识验证报文,以对所述交易信息所指示的交易进行共识验证。
15.一种电子设备,包括:
一个或多个处理器;
存储装置,用于存储一个或多个程序,
其中,当所述一个或多个程序被所述一个或多个处理器执行时,使得所述一个或多个处理器执行根据权利要求1~10中任一项所述的方法,并且/或者根据权利要求11~12中任一项所述的方法。
16.一种计算机可读存储介质,其上存储有可执行指令,该指令被处理器执行时使处理器执行根据权利要求1~10中任一项所述的方法,并且/或者根据权利要求11~12中任一项所述的方法。
17.一种计算机程序产品,包括计算机程序,所述计算机程序被处理器执行时实现根据权利要求1~10中任一项所述的方法,并且/或者根据权利要求11~12中任一项所述的方法。
CN202110181162.XA 2021-02-08 2021-02-08 基于区块链的信息处理方法、装置、设备、介质和产品 Pending CN113034135A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202110181162.XA CN113034135A (zh) 2021-02-08 2021-02-08 基于区块链的信息处理方法、装置、设备、介质和产品

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110181162.XA CN113034135A (zh) 2021-02-08 2021-02-08 基于区块链的信息处理方法、装置、设备、介质和产品

Publications (1)

Publication Number Publication Date
CN113034135A true CN113034135A (zh) 2021-06-25

Family

ID=76460830

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110181162.XA Pending CN113034135A (zh) 2021-02-08 2021-02-08 基于区块链的信息处理方法、装置、设备、介质和产品

Country Status (1)

Country Link
CN (1) CN113034135A (zh)

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113379421A (zh) * 2021-07-13 2021-09-10 北京京东乾石科技有限公司 基于区块链的信息处理和区块链网络组成方法和装置
CN113592688A (zh) * 2021-07-30 2021-11-02 工银科技有限公司 基于区块链的诊疗信息处理方法、装置和电子设备
CN114338047A (zh) * 2022-03-08 2022-04-12 科大天工智能装备技术(天津)有限公司 基于国密的区块链工业数据加密方法、装置及存储介质
CN114465830A (zh) * 2022-04-14 2022-05-10 北京理工大学 一种跨链数据加密方法、装置、设备和存储介质
WO2023040527A1 (zh) * 2021-09-17 2023-03-23 华为技术有限公司 一种基于区块链的网络节点控制方法、***及共识节点
CN116405327A (zh) * 2023-06-08 2023-07-07 天津市津能工程管理有限公司 一种数据处理方法、装置、电子设备和存储介质
CN116633548A (zh) * 2023-04-03 2023-08-22 北京熠智科技有限公司 加密过程监管方法、装置、***及存储介质

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108256859A (zh) * 2018-01-02 2018-07-06 中国工商银行股份有限公司 基于区块链的金融产品交易共识方法、节点及***
CN109495249A (zh) * 2018-11-23 2019-03-19 全链通有限公司 一种区块链***的数据存储方法、节点和区块链***
CN109756582A (zh) * 2019-03-15 2019-05-14 腾讯科技(深圳)有限公司 区块链网络中的信息记录方法、装置、节点及存储介质
CN109767220A (zh) * 2019-01-15 2019-05-17 中国联合网络通信集团有限公司 基于区块链的交易方法及基于区块链的交易***
CN110335043A (zh) * 2019-07-03 2019-10-15 中国银行股份有限公司 一种基于区块链***的交易隐私保护方法、设备以及***
CN110838063A (zh) * 2019-09-30 2020-02-25 远光软件股份有限公司 基于区块链的交易处理方法、电子设备和存储介质
WO2020199703A1 (zh) * 2019-04-01 2020-10-08 杜晓楠 一种区块链交易的方法、装置和***
CN112231731A (zh) * 2020-10-23 2021-01-15 中国工商银行股份有限公司 松散耦合的区块链交易方法和区块链节点

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108256859A (zh) * 2018-01-02 2018-07-06 中国工商银行股份有限公司 基于区块链的金融产品交易共识方法、节点及***
CN109495249A (zh) * 2018-11-23 2019-03-19 全链通有限公司 一种区块链***的数据存储方法、节点和区块链***
CN109767220A (zh) * 2019-01-15 2019-05-17 中国联合网络通信集团有限公司 基于区块链的交易方法及基于区块链的交易***
CN109756582A (zh) * 2019-03-15 2019-05-14 腾讯科技(深圳)有限公司 区块链网络中的信息记录方法、装置、节点及存储介质
WO2020199703A1 (zh) * 2019-04-01 2020-10-08 杜晓楠 一种区块链交易的方法、装置和***
CN110335043A (zh) * 2019-07-03 2019-10-15 中国银行股份有限公司 一种基于区块链***的交易隐私保护方法、设备以及***
CN110838063A (zh) * 2019-09-30 2020-02-25 远光软件股份有限公司 基于区块链的交易处理方法、电子设备和存储介质
CN112231731A (zh) * 2020-10-23 2021-01-15 中国工商银行股份有限公司 松散耦合的区块链交易方法和区块链节点

Cited By (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113379421A (zh) * 2021-07-13 2021-09-10 北京京东乾石科技有限公司 基于区块链的信息处理和区块链网络组成方法和装置
CN113379421B (zh) * 2021-07-13 2023-09-26 北京京东振世信息技术有限公司 基于区块链的信息处理和区块链网络组成方法和装置
CN113592688A (zh) * 2021-07-30 2021-11-02 工银科技有限公司 基于区块链的诊疗信息处理方法、装置和电子设备
WO2023040527A1 (zh) * 2021-09-17 2023-03-23 华为技术有限公司 一种基于区块链的网络节点控制方法、***及共识节点
CN114338047A (zh) * 2022-03-08 2022-04-12 科大天工智能装备技术(天津)有限公司 基于国密的区块链工业数据加密方法、装置及存储介质
CN114465830A (zh) * 2022-04-14 2022-05-10 北京理工大学 一种跨链数据加密方法、装置、设备和存储介质
CN114465830B (zh) * 2022-04-14 2022-06-24 北京理工大学 一种跨链数据加密方法、装置、设备和存储介质
CN116633548A (zh) * 2023-04-03 2023-08-22 北京熠智科技有限公司 加密过程监管方法、装置、***及存储介质
CN116405327A (zh) * 2023-06-08 2023-07-07 天津市津能工程管理有限公司 一种数据处理方法、装置、电子设备和存储介质
CN116405327B (zh) * 2023-06-08 2023-08-22 天津市津能工程管理有限公司 一种数据处理方法、装置、电子设备和存储介质

Similar Documents

Publication Publication Date Title
EP3610405B1 (en) Program execution and data proof scheme using multiple key pair signatures
US11323276B2 (en) Mutual authentication of confidential communication
US11108565B2 (en) Secure communications providing forward secrecy
US10903991B1 (en) Systems and methods for generating signatures
CN113034135A (zh) 基于区块链的信息处理方法、装置、设备、介质和产品
JP2020528224A (ja) 信頼できる実行環境におけるスマート契約動作のセキュアな実行
US11870891B2 (en) Certificateless public key encryption using pairings
JP2007049708A (ja) 公開鍵暗号方式に使用する鍵を更新するシステムおよび方法
CN112910660B (zh) 区块链***的证书颁发方法、添加方法及交易处理方法
US20230188325A1 (en) Computer-implemented system and method for highly secure, high speed encryption and transmission of data
CN111080299B (zh) 一种交易信息的防抵赖方法及客户端、服务器
US20240097894A1 (en) Threshold key exchange
CN112508576A (zh) 基于区块链的密钥管理方法、***及存储介质
CN113159767A (zh) 基于区块链的转账处理方法、装置和***
CN114697040B (zh) 一种基于对称密钥的电子签章方法和***
CN113315749A (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