CN111210348B - 区块链的交易方法、电子设备和存储介质 - Google Patents

区块链的交易方法、电子设备和存储介质 Download PDF

Info

Publication number
CN111210348B
CN111210348B CN201911423511.3A CN201911423511A CN111210348B CN 111210348 B CN111210348 B CN 111210348B CN 201911423511 A CN201911423511 A CN 201911423511A CN 111210348 B CN111210348 B CN 111210348B
Authority
CN
China
Prior art keywords
transaction
certificate
msp
node
initiator
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.)
Active
Application number
CN201911423511.3A
Other languages
English (en)
Other versions
CN111210348A (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.)
Yuanguang Software Co Ltd
Original Assignee
Yuanguang Software 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 Yuanguang Software Co Ltd filed Critical Yuanguang Software Co Ltd
Priority to CN201911423511.3A priority Critical patent/CN111210348B/zh
Publication of CN111210348A publication Critical patent/CN111210348A/zh
Application granted granted Critical
Publication of CN111210348B publication Critical patent/CN111210348B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

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
    • G06Q40/00Finance; Insurance; Tax strategies; Processing of corporate or income taxes
    • G06Q40/04Trading; Exchange, e.g. stocks, commodities, derivatives or currency exchange
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/27Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
    • 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
    • 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/64Protecting data integrity, e.g. using checksums, certificates or signatures
    • 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/3821Electronic credentials
    • G06Q20/38215Use of certificates or encrypted proofs of transaction rights
    • 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/40Authorisation, e.g. identification of payer or payee, verification of customer or shop credentials; Review and approval of payers, e.g. check credit lines or negative lists
    • G06Q20/401Transaction verification
    • G06Q20/4014Identity check for transactions

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Business, Economics & Management (AREA)
  • Accounting & Taxation (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Security & Cryptography (AREA)
  • Finance (AREA)
  • General Engineering & Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Strategic Management (AREA)
  • General Business, Economics & Management (AREA)
  • Health & Medical Sciences (AREA)
  • Bioethics (AREA)
  • General Health & Medical Sciences (AREA)
  • Computer Hardware Design (AREA)
  • Software Systems (AREA)
  • Technology Law (AREA)
  • Computing Systems (AREA)
  • Marketing (AREA)
  • Data Mining & Analysis (AREA)
  • Economics (AREA)
  • Development Economics (AREA)
  • Financial Or Insurance-Related Operations Such As Payment And Settlement (AREA)

Abstract

本申请公开了区块链的交易方法、电子设备和存储介质,其中,所述交易方法包括:第一节点接收交易信息;分别获取交易信息对应的交易发起方与交易接收方的证书链;验证交易发起方与交易接收方的证书链是否合法;若是,广播交易信息以使得第二节点将交易信息排序打包,以进行分布式存储。通过上述方式,本申请能够有效提高区块链交易中交易双方身份的可信度,减少恶意交易造成的区块链资源浪费或数据泄露,提升区块链的安全性。

Description

区块链的交易方法、电子设备和存储介质
技术领域
本申请区块链技术领域,特别是涉及区块链的交易方法、电子设备和存储介质。
背景技术
区块链是分布式数据存储、点对点传输、共识机制、加密算法等计算机技术的新型应用模式。区块链本质上是一个去中心化的数据库,具有去中心化、开放性、独立性、安全性和匿名性的特点。由于区块链账本数据不可篡改的特点,在区块链上进行的交易更加安全可靠。企业级的区块链系统可以结合成员管理服务(Management Service Provider,MSP)通过建立网络运作中心来实施企业的管理服务与交易,并使用加密技术保证信息在网络上的传输安全。
区块链在金融领域、物联网和物流领域、公共管理、能源、交通、数字版权领域、保险领域等许多领域均有广阔的应用前景。
发明内容
本申请主要解决的技术问题是:提供区块链的交易方法、电子设备和存储介质,能够有效提高区块链交易中交易双方身份的可信度,减少恶意交易造成的区块链资源浪费或数据泄露,提升区块链的安全性。
为解决上述技术问题,本申请采用的一个技术方案是:提供一种区块链的交易方法,包括:
第一节点接收交易信息;
分别获取交易信息对应的交易发起方与交易接收方的证书链;
验证交易发起方与交易接收方的证书链是否合法;
若是,广播交易信息以使得第二节点将交易信息排序打包,以进行分布式存储。
可选地,分别获取交易信息中交易发起方与交易接收方的证书链包括:
分别获取交易发起方与交易接收方的身份标识;
查询是否存在交易发起方的身份标识对应的证书链以及交易接收方的身份标识对应的证书链;
若存在,则执行验证交易发起方与交易接收方的证书链是否合法的步骤。
可选地,身份标识包括MSP标识,MSP标识关联相应组织的MSP文件;
查询是否存在交易发起方的身份标识对应的证书链以及交易接收方的身份标识对应的证书链包括:
分别基于交易发起方和交易接收方的MSP标识确定交易发起方所属组织的MSP文件和交易接收方所属组织的MSP文件;
查询交易发起方所属组织的MSP文件中是否存在交易发起方的证书链;
查询交易接收方所属组织的MSP文件中是否存在交易接收方的证书链。
可选地,在验证交易发起方与交易接收方的证书链是否合法的步骤中,验证证书链是否合法包括:
判断证书链是否包括至少一个根CA证书和利用根CA证书签发的至少一个中间CA证书;
若是,进一步判断根CA证书的签发者是否合法;
若是,则验证证书链合法。
为解决上述技术问题,本申请采用的一个技术方案是:提供一种区块链的交易方法,包括:
第二节点接收交易信息;交易信息是第一节点在验证交易发起方与交易接收方的证书链合法后广播的;
将交易信息排序打包,以进行分布式存储。
可选地,将交易信息排序打包,以进行分布式存储包括:
判断交易发起方与交易接收方是否属于同一通道;
若是,将交易信息打包成区块并链接至交易发起方所属通道的区块链;
将区块发送至交易发起方所属通道的区块链节点以进行分布式存储。
可选地,将交易信息排序打包,以进行分布式存储还包括:
若判断交易发起方与交易接收方不属于同一通道,则分别确定交易发起方与交易接收方所属的通道;
将交易信息打包成第一区块并链接至交易发起方所属通道的区块链;并将交易信息打包成第二区块并链接至交易接收方所属通道的区块链;
将第一区块发送至交易发起方所属通道的区块链节点以进行分布式存储;并将第二区块发送至交易接收方所属通道的区块链节点以进行分布式存储。
可选地,所述判断所述交易发起方与所述交易接收方是否属于同一通道包括:
分别获取所述交易发起方与交易接收方的MSP标识;
基于交易发起方的MSP标识确定交易发起方所属通道;
查询交易发起方所属通道的MSP文件列表中是否存在交易接收方的MSP标识对应的MSP文件;或,
基于交易接收方的MSP标识确定交易接收方所属通道;
查询交易接收方所属通道的MSP文件列表中是否存在交易发起方的MSP标识对应的MSP文件;
若存在,则确定交易发起方与交易接收方属于同一通道;
若不存在,则确定交易发起方与交易接收方不属于同一通道;
其中,MSP文件列表保存有相应通道的全部组织的MSP文件,MSP文件包括相应组织的MSP标识。
为解决上述技术问题,本申请采用的一个技术方案是:提供一种电子设备,包括处理器、存储器和通信电路,处理器耦接存储器和通信电路。
通信电路用于电子设备与外部设备进行通信;存储器用于存储程序指令;处理器用于执行程序指令以实现本申请区块链的交易方法。
为解决上述技术问题,本申请采用的一个技术方案是:提供一种存储介质,用于存储程序指令,程序指令能够被处理器执行以实现本申请区块链的交易方法。
本申请的有益效果是:
本申请区块链的交易方法中第一节点在广播交易信息之前验证交易发起方与交易接收方的证书链,可以确定交易发起方与交易接收方的身份合法性,有效提高区块链交易中交易双方身份的可信度,减少恶意交易造成的区块链资源浪费或数据泄露,提升区块链的安全性。
附图说明
图1是本申请区块链系统实施例的结构示意图;
图2是本申请区块链的交易方法第一实施例的流程示意图;
图3是本申请区块链的交易方法第二实施例的流程示意图;
图4是本申请区块链的交易方法第三实施例的流程示意图;
图5是本申请区块链的交易方法一实施方式的流程示意图;
图6是本申请区块链的交易方法第四实施例的流程示意图;
图7是本申请区块链的交易方法第五实施例的流程示意图;
图8是本申请电子设备实施例的结构示意图;
图9是本申请存储介质实施例的结构示意图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅是本申请的一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
参阅图1,图1是本申请区块链系统实施例的结构示意图。本实施例区块链系统10包括系统通道110和应用通道120。交易信息通过应用通道120进行传递,排序节点111通过系统通道110来管理应用通道120,并对交易信息进行排序打包。每个应用通道120均具有各自的区块链账本,且各应用通道120之间信息相互隔离。本实施例中,排序节点111可以依据区块链交易中交易发起方与交易接收方的身份采取不同的方式对交易信息进行排序打包。
区块链系统10包括多个区块链节点1211,区块链节点1211加入到应用通道120,参与应用通道120中的信息交互。区块链节点1211是区块链网络中的计算机,例如包括手机、矿机、台式机和服务器等。区块链节点1211可以依据相应的共识方法对区块链网络中的交易进行共识存储,也可参与完成区块链网络中的事物,如交易、背书、排序、记账等。应用通道120中的区块链节点1211之间可以依据相应的规则集合在一起,形成多个组织1210。组织1210内的区块链节点1211拥有共同信任的根证书,包括根CA证书或中间CA证书。区块链节点1211在加入到组织1210中时,还可以获得相应的证书链,证书链包括组织1210的根CA证书和利用根CA证书签发的至少一个中间CA证书。证书链可以标识相应的区块链节点1211。每个应用通道120包括至少一个组织1210,每个组织1210包括至少一个区块链节点1211。
本实施例中,每个组织1210还配置有相应的MSP文件,其包括组织1210的根CA证书、中间CA证书、组织成员列表及相关信息、私钥等。MSP文件关联相应的MSP标识,可以用于区分区块链系统10中的各个组织1210。每一应用通道120可以配置MSP文件列表,用于保存该应用通道120内全部组织1210的MSP文件。系统通道110中还可以保存全部应用通道120的MSP文件列表并形成配置文件,便于对每个应用通道120进行管理。
在一些实施方式中,组织1210还可以包括一个或多个管理员节点。管理员节点可以对组织1210的配置进行修改,管理更新组织1210的MSP文件。管理员节点在更新组织1210的MSP文件后,可以进一步将更新后的MSP文件更新至应用通道120的MSP文件列表。管理员节点也可以添加新节点,利用组织1210的根CA证书签发新节点的中间CA证书;或者,管理员节点也可以剔除组织1210中不合法或是无效的区块链节点1211。
区块链节点1211可以参与区块链交易,此时区块链节点1211即可作为交易端,用于实现交易发起方或交易接收方与区块链网络之间的信息交互。区块链交易例如包括组织1210内区块链节点1211之间的交易、应用通道120内的区块链交易和跨应用通道120的区块链交易等。区块链节点1211在进区块链交易时,可依据交易发起方与交易接收方的身份选择不同的交易方法,例如是依据交易发起方与交易接收方是否属于同一应用通道120而选择相应的交易方法,以实现区块链的内部交易以及区块链之间的跨链交易。
需要说明的是:本申请中若没有特别说明的情况下,以下通道均指应用通道120;本申请中第一节点与第二节点仅用于在描述本申请区块链的交易方法时进行区分,并非特指区块链系统中的某一节点,在某些时刻,第一节点与第二节点的身份可以变换,第一节点和第二节点可以有多个。
参阅图2,图2是本申请区块链的交易方法第一实施例的流程示意图。本实施例包括:
S101:第一节点接收交易信息。
在本实施例中,第一节点可以为参与区块链交易的用户与区块链网络之间提供信息交互的桥梁。第一节点接收交易信息,例如是通过相应的接口接收交易发起方输入的交易信息。或者,第一节点也可以接收交易发起方通过客户端传输的交易信息。第一节点接收到交易信息后,可以对交易信息进行处理。
交易信息例如包括交易发起方的地址、交易接收方的地址、交易发起方的账户余额、交易金额等。在一些实施方式中,交易信息还可以包括交易背书,交易背书可以对交易信息进行增信,提高交易信息的可信度。
在一些实施方式中,第一节点在接收到交易信息后,还可以验证交易信息的合法性。例如,第一节点可以验证交易信息中交易发起方的地址与交易接收方的地址是否有效、交易背书的有效性和正确性、交易格式是否满足要求等。第一节点通过对交易信息进行验证,可以有效提高交易信息的可信度,减少因交易信息无效造成区块链节点的资源浪费,提升区块链系统的交易效率。
S102:第一节点分别获取交易发起方与交易接收方的证书链。
在本实施例中,第一节点在接收到交易信息后,可以验证交易信息对应的交易发起方与交易接收方的身份信息合法性,例如通过证书链进行验证。证书链可以包括组织的根CA证书以及利用根CA证书签发的中间CA证书。每一个参与区块链交易的用户或节点都可以在交易前向区块链的组织管理员节点或是CA中心注册申请CA证书,管理员节点或CA中心可依据其需要加入的组织,利用相应组织的根CA证书签发相应的中间CA证书,并形成新的证书链。
在一些实施方式中,管理员节点或是CA中心签发新的中间CA证书后,可以将新形成的证书链更新至组织的MSP文件和系统通道的配置文件,或者也可以更新至CA中心的证书管理系统。区块链节点在获获得交易信息后,可以从区块链的配置文件中查询交易发起方和交易接收方的证书链;或者,区块链节点也可从根CA证书的签发者,如CA中心所保存的证书链中查询交易发起方和交易接收方的证书链。
S103:第一节点验证交易发起方与交易接收方的证书链是否合法。
第一节点在获取到交易发起方与交易接收方的证书链后,可以验证证书链的合法性以确定交易发起方与交易接收方的身份的合法性。例如,第一节点在查询到交易发起方与交易接收方的证书链后,可以验证证书链格式是否正确、证书链中的根CA证书是否有效且来源合法、中间CA证书是否由根CA证书正确签发、根CA证书或中间CA证书是否被注销等。
在本实施例中,第一节点若验证交易发起方与交易接收方的证书链合法,即确定交易发起方与交易接收方的身份合法,则可以接续执行以下S104的步骤;若验证交易发起方与交易接收方中至少一个证书链不合法,则可以放弃该笔交易。在一些实施方式中,若第一节点验证证书链不合法,还可以发出身份信息不合法的消息,以便交易发起方及时对交易信息进行修正或是重新注册证书链,减少交易延时。
S104:若验证证书链合法,则第一节点广播交易信息。
在本实施例中,第一节点在验证交易发起方与交易接收方的证书链合法后,可以广播交易信息至区块链网络,从而区块链网络中的区块链节点可以将交易信息进行分布式存储。
在一些实施方式中,区块链系统中的组织还设有领导节点,领导节点用于实现组织与系统通道的排序节点进行信息交互。在广播交易消息时,第一节点可以将交易信息发送至其所属组织的领导节点,而后由领导节点将其广播至系统通道中的排序节点进行打包。在一些实施方式中,第一节点在广播交易信息之前还可以将交易信息发送至同一通道内的背书节点以进行背书,并在获得有效的交易背书后将交易背书与交易信息一起广播。第一节点通过将交易信息发送至背书节点进行背书可以有效提升交易信息的可信度。
S105:第二节点将交易信息排序打包,以进行分布式存储。
第二节点接收到第一节点广播的交易信息后,可以依据相应的规则对交易信息进行排序打包,以实现交易信息的分布式存储。第二节点可以是系统通道中的排序节点,负责对各个通道的交易信息进行排序打包。可选地,第二节点在对交易信息进行排序打包前,还可以验证交易信息的合法性。例如第二节点可以验证交易信息中交易格式是否满足要求、交易背书的有效性和正确性、交易是否提供相应的奖励、交易是否能正确执行等。
在一些实施方式中,第二节点接收到交易信息后,可以将交易信息加入交易池,交易池中包括待上链的交易信息。第二节点按照相应的规则,例如是按照交易提供的奖励较高的优先打包的顺序,或是按照提交交易信息的时间较早的优先打包的顺序,对交易池中相同通道的交易信息进行排序打包。第二节点可以将区块广播至相应的通道,经过相应的共识方法共识验证后,区块被添加至通道的区块链账本中,区块中的交易信息即生效。第二节点在打包区块时,可以将每个通道的交易信息进行区分,并分别进行打包,以实现各个通道的数据隔离,提高交易信息的安全性。
本实施例第一节点在广播交易信息之前验证交易发起方与交易接收方的证书链,可以确定交易发起方与交易接收方的身份合法性,有效提高区块链交易中交易双方身份的可信度,减少恶意交易造成的区块链资源浪费或数据泄露,提升区块链的安全性。
参阅图3,图3是本申请区块链的交易方法第二实施例的流程示意图。本实施例是在本申请区块链的交易方法第一实施例的基础上进一步描述,本实施例与本申请区块链的交易方法第一实施例相同的步骤在此不再赘述。本实施例包括:
S201:第一节点接收交易信息。
S202:第一节点分别获取交易发起方与交易接收方的证书链。
在本实施例中,第一节点可以通过身份标识查询相应的证书链。例如S202还可以包括:
S2021:分别获取交易发起方与交易接收方的身份标识。
身份标识可以用于标识参与区块链网络的用户或节点的身份,可以与相应的用户或节点的身份信息进行关联。身份标识例如是地址、编号、标记符号等。在一些实施方式中,身份标识也可以包括MSP标识。MSP标识可以用于标识区块链系统中的组织,而对于组织中的区块链节点又可以配置相应的次级MSP标识或是采用MSP标识加上相应的标记符号等作为身份标识,用于标识组织中的区块链节点。
在本实施例中,身份标识也可以用于标识每个用户或节点的证书链。第一节点接收到交易信息后,可以获取交易信息中交易发起方和交易接收方的身份标识;或者第一节点也可以基于交易信息中交易发起方和交易接收方的地址查询到交易发起方和交易接收方的身份标识,而后基于身份标识查询相应的证书链。
S2022:查询交易发起方的身份标识对应的证书链以及交易接收方的身份标识对应的证书链。
在本实施例中,第一节点获取到交易发起方与交易接收方的身份标识后,可以查询是否存在交易发起方的身份标识对应的证书链以及交易接收方的身份标识对应的证书链。
在一些实施方式中,身份标识可以包括MSP标识,MSP标识关联相应组织的MSP文件。第一节点可以分别查询交易发起方和交易接收方所属组织的MSP文件以获取交易发起方和交易接收方的证书链。
例如,S2022还可以包括:分别基于交易发起方和交易接收方的MSP标识确定交易发起方所属组织的MSP文件和交易接收方所属组织的MSP文件;查询交易发起方所属组织的MSP文件中是否存在交易发起方的证书链;查询交易接收方所属组织的MSP文件中是否存在交易接收方的证书链。
第一节点在获取到交易发起方与交易接收方的MSP标识后,可以从区块链的配置文件中查询MSP标识对应的MSP文件。第一节点查询到MSP标识对应的文件后,可以遍历MSP文件中保存的证书链,确定是否存在交易发起方或交易接收方的证书链。在本实施方式中,第一节点可以同时查询交易发起方和交易接收方的证书链;或者第一节点也可以先查其一,若没有查询到相应的证书链,则不再继续查询。
在本实施例中,若第一节点查询到交易发起方的身份标识对应的证书链以及交易接收方的身份标识对应的证书链,则可以执行S203的步骤;若第一节点没有查询到交易发起方的身份标识对应的证书链和/或交易接收方的身份标识对应的证书链,则可以放弃该笔交易。
S203:第一节点验证交易发起方与交易接收方的证书链是否合法。
在本实施例中,第一节点验证证书链的合法性可以包括验证证书链格式是否正确以及验证证书链中的根CA证书来源是否合法。例如,第一节点验证证书链的合法性还可以包括:
S2031:判断证书链是否包括至少一个根CA证书和利用根CA证书签发的至少一个中间CA证书。
在本实施例中,组织包括有至少一个区块链节点,组织中每一个节点或用户的证书链应至少包括一个根CA证书以及由根CA证书签发的至少一个中间CA证书。在验证证书链的合法性时,第一节点可以判断证书链是否包括至少一个根CA证书和利用根CA证书签发的至少一个中间CA证书,如此可以确定证书链的级数是否合法以及格式是否正确。
在本实施例中,第一节点若判断交易发起方和交易接收方的证书链均存在至少一个根CA证书和利用根CA证书签发的至少一个中间CA证书,则可以继续执行S2032的步骤;若判断交易发起方和交易接收方的证书链中有至少一个不符合该要求,则确定为验证证书链不合法,也即验证证书链对应的交易发起方或是交易接收方的身份不合法。
S2032:若是,进一步判断根CA证书的签发者是否合法。
第一节点在验证证书链格式正确且级数合法后,可以进一步判断证书链中根CA证书的签发者是否合法。例如,对于交易发起方的证书链,第一节点可以获取证书链中根CA证书签发者的信息,判断签发者的信息与区块链所要求的签发者的信息是否一致以确认根CA证书的签发者是否合法。例如,区块链系统中组织的根CA证书需由某一CA中心签发,区块链节点可以获取根CA证书中CA中心的信息,判断CA中心的信息是否与区块链所要求的CA中心的信息相同,以此确定根CA证书的签发者是否合法。同理,第一节点可以验证交易接收方的证书链中根CA证书的合法性。
在本实施例中,第一节点若判断根CA证书的签发者合法,则验证相应的证书链合法,也即证书链对应的交易发起方或交易接收方合法。
在一些实施方式中,区块链还设置有证书吊销列表,其中保存有被吊销的根CA证书或是中间CA证书,加入到证书吊销列表中的根CA证书或是中间CA证书所关联的证书链失效,不再用于证明用户或节点的身份合法性。第一节点在验证交易发起方和交易接收方的证书链时,可以进一步判断证书链中的根CA证书和中间CA证书是否存在证书吊销列表中,若存在,则说明证书链无效,相应的交易发起方或交易接收方的身份无效,第一节点可以放弃该笔交易。
在本实施例中,第一节点若验证交易发起方与交易接收方的证书链合法,即确定交易发起方与交易接收方的身份合法,则可以接续执行以下S204的步骤;若验证交易发起方与交易接收方中至少一个证书链不合法,则可以放弃该笔交易。
S204:若验证证书链合法,则第一节点广播交易信息。
S205:第二节点将交易信息排序打包,以进行分布式存储。
本实施例第一节点通过交易发起方和交易接收方的身份标识可以快速方便地查询相应的证书链,而后通过验证交易发起方与交易接收方的证书链的级数以及签发者的合法性高效准确地判断证书链的合法性,进而确定交易发起方与交易接收方的身份合法性,提高身份验证效率和准确度,并有效提高区块链交易中交易双方身份的可信度,减少恶意交易造成的区块链资源浪费或数据泄露,提升区块链的安全性。
本实施例中,步骤S201~S205的顺序是本实施例中的描述顺序,不限制为本实施例区块链节点的身份验证方法在执行过程中的顺序,在能够实现本方法的前提下,某些步骤可以调换顺序、同时执行或是单独执行其一。
参阅图4,图4是本申请区块链的交易方法第三实施例的流程示意图。本实施例是在本申请区块链的交易方法第一实施例的基础上进一步描述,本实施例与本申请区块链的交易方法第一实施例相同的步骤在此不再赘述。本实施例包括:
S301:第一节点接收交易信息。
S302:第一节点分别获取交易发起方与交易接收方的证书链。
S303:第一节点验证交易发起方与交易接收方的证书链是否合法。
S304:若验证证书链合法,则第一节点广播交易信息。
S305:第二节点将交易信息排序打包,以进行分布式存储。
在本实施例中,第二节点在对交易信息进行排序打包时,可以对不同通道的交易信息分别进行排序打包,以实现各个通道的数据隔离,提高交易信息的安全性。对于跨通道的交易信息,第二节点可以将其分别打包存储至各个通道的账本。
在一些实施方式中,第二节点在进行排序打包时,可以区分不同类型的交易。如图5所示,S305还可以包括:
S3051:判断交易发起方与交易接收方是否属于同一通道。
在本实施例中,第二节点接收到第一节点广播的交易信息之后,可以判断交易信息中交易发起方和交易接收方是否属于同一通道。例如,交易信息中可以包括交易发起方和交易接收方的身份信息,例如是地址、标识信息等,区块链节点可以通过交易发起方和交易接收方的身份信息判断是否是属于同一通道。
在一些实施方式中,第二节点可以利用MSP标识进行判断,例如S3051可以包括:分别获取交易发起方与交易接收方的MSP标识;基于交易发起方的MSP标识确定交易发起方所属通道;查询交易发起方所属通道的MSP文件列表中是否存在交易接收方的MSP标识对应的MSP文件。
在本实施方式中,MSP文件列表可以保存有相应通道的全部组织的MSP文件,MSP文件包括相应组织的MSP标识。第二节点可以通过MSP标识查询到相应的MSP文件。例如,以交易发起方的MSP标识为例,第二节点获取到交易发起方的MSP标识后,可以从区块链的配置文件中查询交易发起方的MSP标识对应的MSP文件,确定MSP文件所在的MSP文件列表,以此确定交易发起方所属的通道。第二节点确定交易发起方所属的通道后,可以从该通道的MSP文件列表中查询是否存在交易接收方的MSP标识对应的MSP文件。
在本实施方式中,若第二节点查询交易发起方所属通道的MSP文件列表中存在交易接收方的MSP标识对应的MSP文件,则确定交易发起方与交易接收方属于同一通道;若查询不存在交易接收方的MSP标识对应的MSP文件,则确定交易发起方与交易接收方不属于同一通道。
在一些实施方式中,第二节点也先可基于交易接收方的MSP标识确定交易接收方所属的通道,而后查询交易接收方所属的通道的MSP文件列表中是否存在交易发起方的MSP标识对应的MSP文件,以此判断交易发起方和交易接收方是否属于同一通道,具体可以参照前段描述,在此不再赘述。在一些实施方式中,区块链节点也可以基于MSP标识分别确认交易发起方与交易接收方所属的通道,而后再判断是否是同一通道,以此判断出交易发起方与交易接收方是否属于同一通道。
本实施方式第二节点通过预先确定交易发起方和交易接收方中一方所在通道的MSP文件列表,而后从MSP文件列表中查询另一方的MSP文件,可以节省查询操作的步骤,且通过判断MSP文件是否属于一个MSP文件列表的方式可以更加准确有效地判断出交易发起方和交易接收方是否属于同一通道。
在本实施例中,若第二节点判断交易发起方与交易接收方属于同一通道,则可以执行S3052~S3053的步骤;若第二节点判断交易发起方与交易接收方不属于同一通道,则可以执行S3054~S3056的步骤。
S3052:将交易信息打包成区块并链接至交易发起方所属通道的区块链。
在本实施例中,若第二节点判断交易发起方与交易接收方属于同一通道,则可以将交易信息存储至交易发起方和交易接收方所在的通道账本中。例如,第二节点可以将交易信息与交易发起方所属通道的其他交易信息一起进行排序打包,形成的区块可以链接至交易发起方所属通道的区块链。
S3053:将区块发送至交易发起方所属通道的区块链节点以进行分布式存储。
在本实施例中,第二节点在将交易信息打包成区块后,可以将区块发送至交易发起方和交易接收方所属通道的区块链节点,从而通道中的区块链节点可以将区块进行分布式存储。在一些实施方式中,区块链节点在存储区块前还可以验证区块中交易信息的有效性,并在验证有效后存储区块。第一节点可以在区块中的交易信息被最终确认后执行交易。
在本实施例中,若第二节点判断交易发起方与交易接收方不属于同一通道,则可以执行S3054~S3056的步骤。
S3054:分别确定交易发起方与交易接收方所属的通道。
在本实施例中,第二节点可以交易发起方和交易接收方的MSP标识确定所属的通道。例如,以交易发起方的MSP标识为例,第二节点获取到交易发起方的MSP标识后,可以从区块链的配置文件中查询交易发起方的MSP标识对应的MSP文件,确定MSP文件所在的MSP文件列表,以此确定交易发起方所属的通道。同理,第二节点可以基于交易接收方的MSP标识确定交易接收方所属的通道。
S3055:将交易信息打包成第一区块并链接至交易发起方所属通道的区块链,并将交易信息打包成第二区块并链接至交易接收方所属通道的区块链。
第二节点若判断交易发起方与交易接收方不属于同一通道,也即该笔交易为跨链交易,则可以将交易信息分别打包至交易发起方与交易接收方所属通道的区块链。例如,第二节点可以将交易信息与交易发起方所属通道的其他信息一起进行排序并打包成第一区块,第一区块的区块头记录有交易发起方所属通道的区块链的最新区块的哈希值,从而第二节点可以将第一区块链接至交易发起方所属通道的区块链。同理,第二节点还可以将交易信息与交易接收方所述通道的其他交易信息一起打包成第二区块并链接至交易接收方所属通道的区块链。
在本实施例中,第二节点在判断交易发起方与交易接收方不属于同一通道时,通过将交易信息分别打包至交易发起方与交易接收方所属通道的区块链,可以保证交易发起方与交易接收方所属通道的账本数据的完整性。本实施例中,第二节点可以按照任意先后顺序将交易信息打包成第一区块或第二区块,或者,第二节点也可以同时分别将交易信息打包成第一区块和第二区块。
S3056:将第一区块发送至交易发起方所属通道的区块链节点以进行分布式存储,并将第二区块发送至交易接收方所属通道的区块链节点以进行分布式存储。
第二节点将交易信息打包进第一区块或第二区块后,可以将第一区块或第二区块发送至相应通道的区块链节点,区块链节点在共识确认第一区块或第二区块的有效性之后存储相应的区块,以实现交易信息的分布式存储。在一些实施方式中,第二节点也可将第一区块发送至交易发起方所属通道的组织的领导节点,而后由领导节点将第一区块广播至所属组织的区块链节点,如此可以节省第二节点的网络资源,提高区块的共识存储效率。同理,第二节点也可以将第二区块发送至交易接收方所属通道的领导节点并由领导节点将区块广播至其他区块链节点以对区块进行分布式存储。
在本实施例中,S3055中第二节点将交易信息打包成第一区块或第二区块的步骤以及S3056中第二节点将第一区块或第二区块发送至相应通道的区块链节点的步骤不做限定。例如,第二节点可以在将交易信息打包成第一区块后,即将第一区块发送至交易发起方所属通道的区块链节点,而后再将交易信息打包成第二区块并发送至交易接收方所属通道的区块链节点,反之也可;或者,第二节点也可以先将交易信息打包成第一区块和第二区块,再分别将第一区块和第二区块发送至相应通道的区块链节点。以上步骤在可以实现本实施例的交易方法的条件下,其执行顺序不做限定。
在本实施例中,第二节点在对交易信息进行排序打包时,通过预先判断交易发起方与交易接收方是否属于同一通道,将各个通道内的交易信息或是跨通道的交易信息区分开,分别进行排序打包,既能实现各个通道的数据隔离,提高区块链中交易信息的安全性,还能保护每个通道中交易数据的完整性。
本实施例中,步骤S301~S305的顺序是本实施例中的描述顺序,不限制为本实施例区块链节点的身份验证方法在执行过程中的顺序,在能够实现本方法的前提下,某些步骤可以调换顺序、同时执行或是单独执行其一。本实施例可以与本申请区块链的交易方法第二实施例结合。
参阅图6,图6是本申请区块链的交易方法第四实施例的流程示意图。本实施例以第一节点为执行主体,包括:
S401:第一节点接收交易信息。
S402:分别获取交易信息对应的交易发起方与交易接收方的证书链。
S403:验证交易发起方与交易接收方的证书链是否合法。
在本实施例中,若第一节点验证交易发起方与交易接收方的证书链合法,可以执行S404的步骤;若第一节点验证交易发起方与交易接收方的证书链不合法,可以放弃该笔交易。
S404:广播交易信息以使得第二节点将交易信息排序打包,以进行分布式存储。
关于本实施例中第一节点的更多步骤和功能可以参照上述本申请区块链的交易方法第一至第三实施例的描述,在此不再赘述。
参阅图7,图7是本申请区块链的交易方法第五实施例的流程示意图。本实施例以第二节点为执行主体,包括:
S501:第二节点接收交易信息。
本实施例中,交易信息是第一节点在验证交易发起方与交易接收方的证书链合法后广播的。
S502:将交易信息排序打包,以进行分布式存储。
关于本实施例中第二节点的更多步骤和功能可以参照上述本申请区块链的交易方法第一至第三实施例的描述,在此不再赘述。
参阅图8,图8是本申请电子设备实施例的结构示意图。本实施例电子设备80包括处理器81、存储器82和通信电路83,处理器81耦接存储器82和通信电路83。
本实施例中,通信电路83用于电子设备80与外部设备进行通信。存储器82用于存储程序指令。处理器81用于执行程序指令以实现本申请区块链的交易方法第一至第五实施例中第一节点和/或第二节点的步骤。
在本实施例中,处理器81还可以称为CPU(Central Processing Unit,中央处理单元)。处理器81可能是一种集成电路芯片,具有信号的处理能力。处理器81还可以是通用处理器、数字信号处理器(DSP)、专用集成电路(ASIC)、现场可编程门阵列(FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑、分立硬件组件。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
本实施例中关于电子设备80的更多执行过程和功能等可以参照上述本申请区块链的交易方法第一至第五实施例的描述,在此不再赘述。
参阅图9,图9是本申请存储介质实施例的结构示意图。本实施例中存储介质90用于存储程序指令91。程序指令91能够被处理器运行,以实现上述本申请区块链的交易方法第一至第五实施例中第一节点和/或第二节点的步骤。具体可以参照上述本申请区块链的交易方法第一至第五实施例的描述,在此不再赘述。
本申请区块链的交易方法第一至第五实施例所涉及的方法如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该软件产品存储在存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)或处理器(processor)执行本发明各个实施方式方法的全部或部分步骤。而前述的存储介质90包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,RandomAccess Memory)、磁碟或者光盘等各种可以存储程序代码的介质,或包括存储介质的移动终端等其他装置。
以上所述仅为本申请的实施方式,并非因此限制本申请的专利范围,凡是利用本申请说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本申请的专利保护范围内。

Claims (7)

1.一种区块链的交易方法,其特征在于,所述交易方法包括:
第一节点接收交易信息;
分别获取交易发起方与交易接收方的身份标识, 所述身份标识包括MSP标识,所述MSP标识关联相应组织的MSP文件;
分别基于所述交易发起方和所述交易接收方的MSP标识确定所述交易发起方所属组织的MSP文件和所述交易接收方所属组织的MSP文件;
查询所述交易发起方所属组织的MSP文件中是否存在所述交易发起方的证书链,以及,查询所述交易接收方所属组织的MSP文件中是否存在所述交易接收方的证书链;
若存在,则验证所述交易发起方与所述交易接收方的证书链是否合法,其中,验证证书链是否合法包括:判断所述证书链是否包括至少一个根CA证书和利用所述根CA证书签发的至少一个中间CA证书;若是,进一步判断所述根CA证书的签发者是否合法;若是,则验证所述证书链合法;
若所述证书链合法,则广播所述交易信息以使得第二节点将所述交易信息排序打包,以进行分布式存储。
2.一种区块链的交易方法,其特征在于,所述交易方法包括:
第二节点接收交易信息;所述交易信息是第一节点在验证交易发起方与交易接收方的证书链合法后广播的,所述第一节点是基于所述交易发起方和所述交易接收方的MSP标识确定所述交易发起方所属组织的MSP文件和所述交易接收方所属组织的MSP文件,并通过所述交易发起方所属组织的MSP文件查询得到所述交易发起方的证书链,以及,通过所述交易接收方所属组织的MSP文件查询得到所述交易接收方的证书链,所述证书链合法为:所述证书链包括至少一个根CA证书和利用所述根CA证书签发的至少一个中间CA证书,且所述根CA证书的签发者合法;
将所述交易信息排序打包,以进行分布式存储。
3.根据权利要求2所述的交易方法,其特征在于,
所述将所述交易信息排序打包,以进行分布式存储包括:
判断所述交易发起方与所述交易接收方是否属于同一通道;
若是,将所述交易信息打包成区块并链接至所述交易发起方所属通道的区块链;
将所述区块发送至所述交易发起方所属通道的区块链节点以进行分布式存储。
4.根据权利要求3所述的交易方法,其特征在于,
所述将所述交易信息排序打包,以进行分布式存储还包括:
若判断所述交易发起方与所述交易接收方不属于同一通道,则分别确定所述交易发起方与所述交易接收方所属的通道;
将所述交易信息打包成第一区块并链接至所述交易发起方所属通道的区块链;并将所述交易信息打包成第二区块并链接至所述交易接收方所属通道的区块链;
将所述第一区块发送至所述交易发起方所属通道的区块链节点以进行分布式存储;并将所述第二区块发送至所述交易接收方所属通道的区块链节点以进行分布式存储。
5.根据权利要求3所述的交易方法,其特征在于,
所述判断所述交易发起方与所述交易接收方是否属于同一通道包括:
分别获取所述交易发起方与所述交易接收方的MSP标识;
基于所述交易发起方的MSP标识确定所述交易发起方所属通道;
查询所述交易发起方所属通道的MSP文件列表中是否存在所述交易接收方的MSP标识对应的MSP文件;或,
基于所述交易接收方的MSP标识确定所述交易接收方所属通道;
查询所述交易接收方所属通道的MSP文件列表中是否存在所述交易发起方的MSP标识对应的MSP文件;
若存在,则确定所述交易发起方与所述交易接收方属于同一通道;
若不存在,则确定所述交易发起方与所述交易接收方不属于同一通道;
其中,所述MSP文件列表保存有相应通道的全部组织的MSP文件,所述MSP文件包括相应组织的MSP标识。
6.一种电子设备,其特征在于,包括处理器、存储器和通信电路,所述处理器耦接所述存储器和所述通信电路;
所述通信电路用于所述电子设备与外部设备进行通信;
所述存储器用于存储程序指令;
所述处理器用于执行所述程序指令以实现如权利要求1~5任一项所述的方法。
7.一种存储介质,其特征在于,所述存储介质用于程序指令,所述程序指令能够被处理器执行以实现权利要求1~5任一项所述的方法。
CN201911423511.3A 2019-12-31 2019-12-31 区块链的交易方法、电子设备和存储介质 Active CN111210348B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201911423511.3A CN111210348B (zh) 2019-12-31 2019-12-31 区块链的交易方法、电子设备和存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201911423511.3A CN111210348B (zh) 2019-12-31 2019-12-31 区块链的交易方法、电子设备和存储介质

Publications (2)

Publication Number Publication Date
CN111210348A CN111210348A (zh) 2020-05-29
CN111210348B true CN111210348B (zh) 2024-04-19

Family

ID=70789488

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201911423511.3A Active CN111210348B (zh) 2019-12-31 2019-12-31 区块链的交易方法、电子设备和存储介质

Country Status (1)

Country Link
CN (1) CN111210348B (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111915325B (zh) * 2020-06-24 2024-04-26 云南花伍科技有限公司 区块链交易信息的溯源方法、系统及计算机可读存储介质

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108230109A (zh) * 2018-01-02 2018-06-29 罗梅琴 一种基于区块链技术的共享系统及方法
CN109040279A (zh) * 2018-08-21 2018-12-18 北京京东金融科技控股有限公司 区块链网络组网方法、装置、设备及可读存储介质
CN110011988A (zh) * 2019-03-21 2019-07-12 平安科技(深圳)有限公司 基于区块链的证书验证方法及装置、存储介质、电子装置
CN110602138A (zh) * 2019-09-26 2019-12-20 腾讯科技(深圳)有限公司 区块链网络的数据处理方法、装置、电子设备及存储介质
CN110597911A (zh) * 2019-09-12 2019-12-20 腾讯科技(深圳)有限公司 一种区块链网络的证书处理方法、装置、电子设备及存储介质

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107196900B (zh) * 2017-03-24 2020-04-24 创新先进技术有限公司 一种共识校验的方法及装置

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108230109A (zh) * 2018-01-02 2018-06-29 罗梅琴 一种基于区块链技术的共享系统及方法
CN109040279A (zh) * 2018-08-21 2018-12-18 北京京东金融科技控股有限公司 区块链网络组网方法、装置、设备及可读存储介质
CN110011988A (zh) * 2019-03-21 2019-07-12 平安科技(深圳)有限公司 基于区块链的证书验证方法及装置、存储介质、电子装置
CN110597911A (zh) * 2019-09-12 2019-12-20 腾讯科技(深圳)有限公司 一种区块链网络的证书处理方法、装置、电子设备及存储介质
CN110602138A (zh) * 2019-09-26 2019-12-20 腾讯科技(深圳)有限公司 区块链网络的数据处理方法、装置、电子设备及存储介质

Also Published As

Publication number Publication date
CN111210348A (zh) 2020-05-29

Similar Documents

Publication Publication Date Title
CN112446785B (zh) 跨链交易方法、系统、装置、设备和存储介质
CN110597911B (zh) 一种区块链网络的证书处理方法、装置、电子设备及存储介质
CN111047319B (zh) 区块链网络的交易处理方法及区块链网络
CN110011988B (zh) 基于区块链的证书验证方法及装置、存储介质、电子装置
CN110933108B (zh) 基于区块链网络的数据处理方法、装置、电子设备及存储介质
US11233657B2 (en) Method and system for registering digital documents
CN107438002B (zh) 基于区块链的系统以及系统中的电子设备和方法
CN108696502B (zh) 区块链节点权限控制方法、区块链系统及存储介质
CN113194469A (zh) 基于区块链的5g无人机跨域身份认证方法、系统及终端
CN110599069A (zh) 基于区块链网络的应用评价方法及装置
CN112435028B (zh) 一种基于区块链的物联网数据共享方法及装置
CN111127005A (zh) 区块链的交易背书方法、电子设备和存储介质
CN111222174A (zh) 区块链节点的加入方法、验证方法、设备和存储介质
CN112069550B (zh) 一种基于智能合约方式的电子合同存证系统
CN112087502B (zh) 处理请求的方法、装置、设备及存储介质
CN111815321A (zh) 交易提案的处理方法、装置、系统、存储介质和电子装置
CN113328997A (zh) 联盟链跨链系统及方法
CN115345618B (zh) 基于混合后量子数字签名的区块链交易验证方法及系统
CN111683060B (zh) 通信消息验证方法、装置及计算机存储介质
CN114125773A (zh) 基于区块链和标识密码的车联网身份管理系统及管理方法
CN113541970A (zh) 分布式标识符的使用方法和分布式标识符使用系统
CN111464536A (zh) 一种区块链跨链方法及装置
CN114615642A (zh) 车车通信中车辆的身份认证方法、装置、车辆及存储介质
CN111210348B (zh) 区块链的交易方法、电子设备和存储介质
CN111222989B (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