CN111222989A - 多通道区块链的交易方法、电子设备和存储介质 - Google Patents
多通道区块链的交易方法、电子设备和存储介质 Download PDFInfo
- Publication number
- CN111222989A CN111222989A CN201911423502.4A CN201911423502A CN111222989A CN 111222989 A CN111222989 A CN 111222989A CN 201911423502 A CN201911423502 A CN 201911423502A CN 111222989 A CN111222989 A CN 111222989A
- Authority
- CN
- China
- Prior art keywords
- transaction
- initiator
- receiver
- channel
- information
- 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
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION 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/00—Finance; Insurance; Tax strategies; Processing of corporate or income taxes
- G06Q40/04—Trading; Exchange, e.g. stocks, commodities, derivatives or currency exchange
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/64—Protecting data integrity, e.g. using checksums, certificates or signatures
-
- Y—GENERAL 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
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE 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/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Business, Economics & Management (AREA)
- Physics & Mathematics (AREA)
- Accounting & Taxation (AREA)
- Finance (AREA)
- Computer Security & Cryptography (AREA)
- General Physics & Mathematics (AREA)
- General Business, Economics & Management (AREA)
- Technology Law (AREA)
- Strategic Management (AREA)
- Marketing (AREA)
- Economics (AREA)
- Development Economics (AREA)
- Health & Medical Sciences (AREA)
- Bioethics (AREA)
- General Health & Medical Sciences (AREA)
- Computer Hardware Design (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- Financial Or Insurance-Related Operations Such As Payment And Settlement (AREA)
Abstract
本申请公开了多通道区块链的交易方法、电子设备和存储介质,其中,交易方法包括:接收交易信息;判断交易信息中交易发起方和交易接收方是否属于同一通道;若是,则以第一交易方法执行交易;若不是,则以第二交易方法执行交易。通过上述方式,本申请能够提供个性化的交易方式,有效提高区块链交易的效率和可靠性。
Description
技术领域
本申请涉及区块链技术领域,特别是涉及多通道区块链的交易方法、电子设备和存储介质。
背景技术
区块链是分布式数据存储、点对点传输、共识机制、加密算法等计算机技术的新型应用模式。区块链本质上是一个去中心化的数据库,具有去中心化、开放性、独立性、安全性和匿名性的特点。由于区块链账本数据不可篡改的特点,在区块链上进行的交易更加安全可靠。企业级的区块链系统可以结合成员管理服务(Management Service Provider,MSP)通过建立网络运作中心来实施企业的管理服务与交易,并使用加密技术保证信息在网络上的传输安全。
未花费的交易输出(Unspent Transaction Outputs,UTXO)是一种新型的交易记账模式,在UTXO模型下,每个账户的余额只用看最后一个交易的输出,对账户余额记录以及交易历史的核查更为容易。且在UTXO模型下,随着交易数据增多,对于一些历史交易数据可以进行裁剪,有效节省存储空间。
发明内容
本申请主要解决的技术问题是:提供多通道区块链的交易方法、电子设备和存储介质,能够提供个性化的交易方式,提高区块链交易的效率和可靠性。
为解决上述技术问题,本申请采用的一个技术方案是:提供一种多通道区块链的交易方法,包括:
接收交易信息;
判断交易信息中交易发起方和交易接收方是否属于同一通道;
若是,则以第一交易方法执行交易;
若不是,则以第二交易方法执行交易。
可选地,以第一交易方法执行交易包括:
利用交易发起方的私钥对交易信息进行数字签名;
将签名后的交易信息广播以使得区块链节点对其进行共识验证;
若共识验证通过,则执行交易;
交易完成后,将新产生的UTXO更新于通道账本中,并将交易发起方消费的UTXO移除。
可选地,以第二交易方法执行交易包括:
利用交易发起方的私钥对交易信息进行数字签名;
将交易发起方所拥有的UTXO作为交易输入预存放至交易通道;
对交易信息进行哈希函数运算得到加密信息以锁定交易输入;
将加密信息广播以使得区块链节点对其进行共识验证;
若共识验证通过,则解锁交易输入,执行交易;
交易完成后,在交易发起方所属的通道的账本中添加交易发起方所接收的新的UTXO,并将交易发起方消费的UTXO移除。
可选地,判断交易信息中交易发起方和交易接收方是否属于同一通道包括:
分别获取交易发起方与交易接收方的MSP标识;
基于交易发起方的MSP标识确定交易发起方所属的通道;
查询交易发起方所属的通道的MSP文件列表中是否存在交易接收方的MSP标识对应的MSP文件;或,
基于交易接收方的MSP标识确定交易接收方所属的通道;
查询交易接收方所属的通道的MSP文件列表中是否存在交易发起方的MSP标识对应的MSP文件;
若存在,则确定交易发起方与交易接收方属于同一通道;
若不存在,则确定交易发起方与交易接收方不属于通一通道;
其中,MSP文件列表保存有相应通道的全部组织的MSP文件,MSP文件包括相应组织的MSP标识。
可选地,分别获取交易发起方与交易接收方的MSP标识之前还包括:
分别获取交易发起方和交易接收方的根CA证书;
判断交易发起方的根CA证书与交易接收方的根CA证书是否相同;
若相同,则交易发起方与交易接收方属于同一通道;
若不同,则执行分别获取交易发起方与交易接收方的MSP标识的步骤。
可选地,分别获取交易发起方和交易接收方的根CA证书包括:
分别获取交易发起方与交易接收方的身份标识;
基于交易发起方的身份标识查询交易发起方的根CA证书;
基于交易接收方的身份标识查询交易接收方的根CA证书。
可选地,接收交易信息之后还包括:
验证交易发起方和交易接收方的身份信息的合法性;
若验证通过,则执行判断交易信息中交易发起方和交易接收方是否属于同一通道的步骤。
可选地,验证交易发起方和交易接收方的身份信息的合法性包括:
分别获取交易发起方与交易接收方的证书链;
验证交易发起方的证书链与交易接收方的证书链的合法性;
若验证交易发起方的证书链与交易接收方的证书链合法,则验证通过。
为解决上述技术问题,本申请采用的另一个技术方案是:提供一种电子设备,包括处理器、存储器和通信电路,处理器耦接存储器和通信电路。
通信电路用于电子设备与外部设备进行通信;存储器用于存储程序指令;处理器用于执行程序指令以实现上述本申请多通道区块链的交易方法。
为解决上述技术问题,本申请采用的又一个技术方案是:提供一种存储介质,用于存储程序指令,程序指令能够被处理器执行以实现上述本申请多通道区块链的交易方法。
本申请的有益效果是:
本申请多通道区块链的交易方法中,通过判断交易发起方和交易接收方是否属于同一通道,快速区分同一通道内和不同通道的交易,针对不同类型的交易采取不同的交易方法,如此既能够实现区块链的内部交易以及区块链之间的跨链交易,还可以针对不同的交易提供个性化的交易方式,有效提高区块链交易的效率和可靠性。
附图说明
图1是本申请多通道区块链系统实施例的结构示意图;
图2是本申请多通道区块链的交易方法第一实施例的流程示意图;
图3是本申请多通道区块链的交易方法中第一交易方法一实施方式的流程示意图;
图4是本申请多通道区块链的交易方法中第二交易方法一实施方式的流程示意图;
图5是本申请多通道区块链的交易方法第二实施例的流程示意图;
图6是本申请多通道区块链的交易方法第三实施例的流程示意图;
图7是本申请电子设备实施例的结构示意图;
图8是本申请存储介质实施例的结构示意图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅是本申请的一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
参阅图1,图1是本申请多通道区块链系统实施例的结构示意图。本实施例区块链系统10包括系统通道110和应用通道120。交易信息通过应用通道120进行传递,排序节点111通过系统通道110来管理应用通道120,并对交易信息进行排序打包。每个应用通道120均具有各自的区块链账本,且各应用通道120之间信息相互隔离。
区块链系统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及其MSP文件。每一应用通道120可以配置MSP文件列表,用于保存该应用通道120内全部组织1210的MSP文件。系统通道110中还可以保存全部应用通道120的MSP文件列表并形成配置文件,便于对每个应用通道120进行管理。
在一些实施方式中,组织1210还可以包括一个或多个管理员节点。管理员节点可以对组织1210的配置进行修改,管理更新组织1210的MSP文件。管理员节点在更新组织1210的MSP文件后,可以进一步将更新后的MSP文件更新至应用通道120的MSP文件列表。管理员节点也可以添加新节点,利用组织1210的根CA证书签发新节点的中间CA证书;或者,管理员节点也可以剔除组织1210中不合法或是无效的区块链节点1211。
区块链节点1211可以参与区块链交易,例如包括组织1210内区块链节点1211之间的交易、应用通道120内的区块链交易和跨应用通道120的区块链交易等。区块链节点1211在进区块链交易时,可依据交易发起方与交易接收方的身份选择不同的交易方法,例如是依据交易发起方与交易接收方是否属于同一应用通道120而选择相应的交易方法,以实现区块链的内部交易以及区块链之间的跨链交易。需要说明的是,本申请中若没有特别说明的情况下,以下通道均指应用通道120。
参阅图2,图2是本申请多通道区块链的交易方法第一实施例的流程示意图。本实施例可以区块链节点为执行主体,包括:
S101:接收交易信息。
在本实施例中,区块链节点可作为参与区块链交易的用户与区块链网络之间进行信息交互的桥梁。区块链节点接收交易信息,例如通过相应的接口接收交易发起方输入的交易信息。或者,区块链节点也可以接收交易发起方通过客户端传输的交易信息。区块链节点接收到交易信息后,可以对交易信息进行处理。
交易信息例如包括交易发起方的地址、交易接收方的地址、交易发起方的账户余额、交易金额等。在一些实施方式中,交易信息还可以包括交易背书,交易背书可以对交易信息进行增信,提高交易信息的可信度。
在一些实施方式中,区块链节点在接收到交易信息后,还可以验证交易信息的合法性。例如,区块链节点可以验证交易信息中交易发起方的地址与交易接收方的地址是否有效、交易背书的有效性和正确性、交易格式是否满足要求等。区块链节点通过对交易信息进行验证,可以有效提高交易信息的可信度,减少因交易信息无效造成区块链节点的资源浪费,提升区块链系统的交易效率。
S102:判断交易发起方和交易接收方是否属于同一通道。
在本实施例中,区块链节点接收到交易信息之后,可以判断交易信息中交易发起方和交易接收方是否属于同一通道。例如,交易信息中可以包括交易发起方和交易接收方的身份信息,例如是地址、标识信息等,区块链节点可以通过交易发起方和交易接收方的身份信息判断是否是属于同一通道。
在本实施例中,若判断交易发起方与交易接收方属于同一通道,则可以执行S103的步骤;若判断交易发起方与交易接收方不属于同一通道,则可以执行S104的步骤。
S103:以第一交易方法执行交易。
在本实施例中,区块链节点依据交易发起方和交易接收方是否属于同一通道采用不同的交易方法执行交易。对于同一通道内的交易,也即区块链内部的交易,可以采用第一交易方法执行交易。对于跨通道的交易,也即不同区块链之间的跨链交易,可以采用第二交易方法执行交易。通过对不同类型的交易采取不同的交易方法,可以实现区块链的内部交易以及区块链之间的跨链交易,有效提高区块链交易的效率和可靠性。
例如,本实施例中,若区块链节点判断交易发起方与交易接收方属于同一通道,可以第一交易方法执行交易。如图3所示,以第一交易方法执行交易可以包括以下步骤:
S1031:利用交易发起方的私钥对交易信息进行数字签名。
交易发起方通过区块链节点发起区块链交易,在进行交易之前,区块链节点利用交易发起方的私钥对交易信息进行数字签名。例如,区块链节点可以将交易信息通过Hash加密生成摘要,利用私钥对摘要进行数字签名。摘要可用于验证交易信息是否被篡改,若交易信息被篡改,则摘要的校验会失败。通过对交易信息进行数字签名,可以有效保护交易信息的安全性且便于对交易信息进行验证。
S1032:将签名后的交易信息广播以使得区块链节点对其进行共识验证。
在本实施例中,区块链节点在对交易信息进行签名后,可以将签名后的交易信息广播至区块链网络。签名后的交易信息例如包括初始的交易信息、数字签名和交易发起方的公钥。区块链系统中的区块链节点在接收到签名后的交易信息后,可以对签名后的交易信息进行共识验证。例如,区块链节点可以把接收到的初始交易信息进行Hash加密生成散列值,利用交易发起方的公钥对数字签名进行解密得到摘要,将散列值与摘要进行比较,若相同,数字签名正确,也即交易信息有效;若不同,则交易信息无效。
在本实施例中,若区块链节点验证交易信息有效,还可以对交易信息进行排序打包成区块,以实现交易信息的分布式存储。例如,区块链系统中包括排序节点,排序节点对签名后的交易信息验证通过后,可以将交易信息加入交易池,交易池中包括待上链的交易信息。排序节点按照相应的规则,例如是按照交易提供的奖励较高的优先打包的顺序,或是按照提交交易信息的时间较早的优先打包的顺序,对交易池中相同通道的交易信息进行排序打包。排序节点将区块广播至相应的通道,经过相应的共识方法共识验证后,区块被添加至通道的区块链账本中,区块中的交易信息即生效。排序节点在打包区块时,可以将每个通道的交易信息进行区分,并分别进行打包,以实现各个通道的数据隔离,提高交易信息的安全性。
S1033:若共识验证通过,则执行交易。
在本实施例中,若交易信息被共识验证通过,则交易生效,可以执行交易,例如是在交易接收方的地址中增加相应的转账金额,在交易发起方的地址减少相应的转账金额。在一些实施方式中,区块链还部署有相应的智能合约,交易信息被共识验证通过后,区块链节点可执行相应的智能合约以完成交易。
在一些实施方式中,若区块链节点验证交易信息不通过,即交易无效而不能执行时,还可以反馈交易信息无效的消息至交易发起方,从而便于交易发起方及时修正交易信息。
S1034:交易完成后,将新产生的UTXO更新于通道账本中,并将交易发起方消费的UTXO移除。
在完成交易后,区块链节点还可以将新产生的UTXO更新于通道账本中,例如可以将交易接收方新得到的UTXO添加至通道账本中,还可以将交易发起方交易后剩余的通证形成的新的UTXO更新于通道账本中。在本实施例中,区块链节点还可以在交易完成后,将交易发起方消费的UTXO从通道账本中移除。如此可以实现同一笔UTXO一次性即用即销,防止产生双花问题。
在一个具体的实施例中,例如交易发起方A发起一笔交易,需要转账N个通证给交易接收方B,在A发起交易前,其所属通道的账本内通证价值总量为P。该笔交易的输入是A从上一笔交易中得到的M个通证的UTXO;其中,M≥N,该M个通证中N个通证输出至B的地址,剩余M-N个通证输出至A的地址。该笔交易的交易过程如下:
A用自己的私钥对交易信息进行签名,并将签名后的交易信息进行广播。B接收到交易信息后利用A的公钥进行验证签名。待这笔交易被区块链节点经过共识完成一致性确认后,执行交易。交易完成后,A的地址里原有的M个通证被完全消费,同时在B的地址里创建N个通证的新的UTXO,并在A的地址里创建M-N个通证的新的UTXO;此外,还将新的UTXO更新于通道账本中,而A已消费的M个通证的UTXO从通道账本中移出。交易后,A所属通道的账本内通证价值总量为P',有且仅有P=P'时,也即转账前后通道账本内通证价值总量不变,该笔交易才有效。
S104:以第二交易方法执行交易。
在本实施例中,若区块链节点判断交易发起方与交易接收方不属于同一通道,则可以第二交易方法执行交易。例如,区块链节点可以通过构建交易通道来执行跨链交易。如图4所示,以第二交易方法执行交易可以包括以下步骤:
S1041:利用交易发起方的私钥对交易信息进行数字签名。
本步骤具体可以参照S1031的描述,在此不再赘述。
S1042:将交易发起方所拥有的UTXO作为交易输入预存放至交易通道。
在本实施例中,当区块链节点需要进行跨链交易时,也即交易发起方与交易接收方不属于同一通道时,可以通过交易通道进行交易。交易通道例如是区块链系统中成员信任的通道,一方面允许交易发起方将即将花费的UTXO作为交易输入预存放至交易通道,并且交易发起方具有对该笔UTXO的分配权,可以通过公钥决定分配多少给交易接收方;另一方面,交易发起方创建的跨通道交易,可以在交易通道中被验证有效后,允许将相应的部分输出转移至另一通道的交易接收方,并可将剩余部分输出给交易接收方。
在一些实施方式中,交易发起方将UTXO预存放至交易通道,交易发起方保留有交易通道中UTXO的控制权,可以在交易失败时将预存放的UTXO收回。如此可以有效保护交易发起方的财产安全,避免交易失效导致的财产损失。
在本实施例中,交易发起方可以将所拥有的全部UTXO作为交易输入预存放至交易通道,便于在进行多次跨链交易时直接从交易通道中拿取相应的UTXO进行交易。或者,交易发起方也可以在每次参与跨链交易时,将相应的UTXO作为交易输入预存放至交易通道,如此可以有效保护交易发起方的财产安全。
S1043:对交易信息进行哈希函数运算得到加密信息以锁定交易输入。
在本实施例中,区块链节点还可以在进行交易之前对交易信息进行哈希函数运算,得到加密信息。例如,区块链节点可以利用交易发起方的私钥对交易信息进行数字签名,以有效保护交易信息的安全行且便于对交易信息进行验证。签名后的交易信息采用哈希函数运算得到加密信息。如此可以有效锁定该笔交易的交易输入,防止被他人盗用或是产生双花问题。
S1044:将加密信息广播以使得区块链节点对其进行共识验证。
在本实施例中,区块链节点将加密信息广播至区块链网络。区块链系统中的区块链节点在接收到加密信息后,可以对加密信息进行共识验证以确认加密信息对应的交易信息的有效性。若区块链节点验证交易信息有效,还可以对交易信息进行排序打包成区块,以实现交易信息的分布式存储。
例如是由排序节点验证交易信息的有效后,将交易信息按照相应的规则进行排序打包成区块,而后将区块广播至相应的通道,经过相应的共识方法共识验证后,区块被添加至通道的区块链账本中,区块中的交易信息即生效。在本实施例中,由于交易双方属于不同的通道,在对交易信息进行打包上链时,可以分别在交易发起方和交易接收方所属通道的账本中记录该笔交易信息,也即将该笔交易信息分别打包至两个通道的区块中,而后将区块广播至相应通道进行分布式存储。如此既能保证通道之间的数据隔离,还能完整记录通道中的每笔交易,实现交易的可溯源性,保护区块链数据的完整性和安全性。
S1045:若共识验证通过,则解锁交易输入,执行交易。
在本实施例中,若交易信息被共识验证通过,则交易生效,交易通道中预存放的交易发起方的UTXO即可被解锁,以执行交易。交易通道中的交易输入被解锁后,交易通道即可依据交易信息将相应的部分输出至交易接收方的地址,在交易接收方的地址中创建新的UTXO,并将剩余部分输出至交易发起方的地址,在交易发起方的地址中创建相应的UTXO,而交易发起方预存放在交易通道中的UTXO则被移除,以避免产生双花问题。
在一些实施方式中,区块链还部署有相应的智能合约,交易信息被共识验证通过后,区块链节点可执行相应的智能合约以完成交易。在一些实施方式中,若区块链节点验证交易信息不通过,即交易无效而不能执行时,还可以反馈交易信息无效的消息至交易发起方,交易发起方可以收回预存放在交易通道的UTXO。
S1046:在交易发起方所属的通道的账本中添加交易发起方所接收的新的UTXO,并将交易发起方消费的UTXO移除。
在交易完成后,区块链节点可以将交易发起方新得到的UTXO添加至交易发起方所属的通道的账本中。区块链节点还可以在交易完成后,将交易发起方消费的UTXO从通道账本中移除。如此可以实现同一笔UTXO一次性即用即销,防止产生双花问题。
在本实施例中,交易完成后,交易接收方所属通道的区块链节点也可以将交易接收方新接收的UTXO更新至交易接收方所属的通道的账本中,从而交易接收方所得的新的UTXO被通道账本记录,可以用于交易接收方进行交易。
在一个具体的实施方式中,例如通道1中的交易发起方A发起一笔交易,需要转账N个通证给通道2的交易接收方B,在交易前,A所属通道的账本内通证价值总量为PA,B所属通道的账本内通证价值总量为PB,该笔交易的交易输入是A从上一笔交易中得到的M个通证的UTXO;其中,M≥N,该M个通证中N个通证输出至B的地址,剩余M-N个通证输出至A的地址。该笔交易的交易过程如下:
A将M个通证的UTXO作为交易输入预存放至交易通道,用自己的私钥对交易信息进行签名,并将签名后的交易信息进行哈希函数运算得到加密信息。A将加密信息广播至区块链网络并发送至B。B接收到加密信息后利用A的公钥进行验证签名。待这笔交易被区块链节点经过共识完成一致性确认后,解锁交易通道中的交易输入,执行交易。交易完成后,A的地址里原有的M个通证被完全消费,在B的地址里创建N个通证的新的UTXO,并在A的地址里创建M-N个通证的新的UTXO,并且移除交易通道中M个通证的UTXO。此外,A接收的新的UTXO更新于A所属通道的账本中,而A已消费的M个通证的UTXO从该通道账本中移除。B接收的新的UTXO更新于B所属通道的账本中。交易后,A所属通道的账本内通证价值总量为PA',B所属通道的账本内通证价值总量为PB',有且仅有PA+PB=P′A+P′B时,也即转账前后交易双方所属通道的账本通证价值总量之和不变,该笔交易才有效。
本实施例区块链节点通过判断交易发起方和交易接收方是否属于同一通道,可以快速区分同一通道内和不同通道的交易,针对不同类型的交易采取不同的交易方法,如此既能够实现区块链的内部交易以及区块链之间的跨链交易,还可以针对不同的交易提供个性化的交易方式,有效提高区块链交易的效率和可靠性。
本实施例中,步骤S101~S104的顺序是本实施例中的描述顺序,不限制为本实施例多通道区块链的交易方法在执行过程中的顺序,在能够实现本方法的前提下,某些步骤可以调换顺序、同时执行或是单独执行。
参阅图5,图5是本申请多通道区块链的交易方法第二实施例的流程示意图。本实施例是在上述本申请多通道区块链的交易方法第一实施例的基础上进一步描述,本实施例与本申请多通道区块链的交易方法第一实施例相同的步骤,在此不再赘述。本实施例包括:
S201:接收交易信息。
在本实施例中,区块链节点在接收到交易信息后,可以进一步判断交易发起方与交易接收方是否属于同一通道。例如,区块链节点可以执行以下S202~S203的步骤和/或执行以下S204~S206的步骤。
在本实施例中,区块链节点在判断交易发起方与交易接收方是否属于同一通道时,可以预先判断交易发起方与交易接收方是否属于同一组织。例如,判断交易发起方与交易接收方是否属于同一通道可以包括:
S202:分别获取交易发起方和交易接收方的根CA证书。
通道中的每个组织均有组织内成员共同信任的根CA证书,通过对比交易发起方和交易接收方的根CA证书即可判断出交易发起方与交易接收方是否属于同一组织。例如,区块链节点可以通过交易信息中交易发起方和交易接收方的身份信息查询交易发起方和交易接收方的证书链,以获得证书链中的根CA证书。在一些实施方式中,区块链节点可以从区块链的MSP文件列表中查询交易发起方和/或交易接收方的证书链;或者,区块链节点也可从根CA证书的签发者所保存的证书链体系中查询交易发起方和/或交易接收方的证书链。
在一些实施方式中,区块链节点可以通过交易发起方和交易接收方的身份标识查询相应的根CA证书。例如S202还可以包括:分别获取交易发起方与交易接收方的身份标识;基于交易发起方的身份标识查询交易发起方的根CA证书;基于交易接收方的身份标识查询交易接收方的根CA证书。
身份标识可以用于标识交易发起方和交易接收方的身份,区块链节点可以通过身份标识来查询交易发起方和交易接收方的证书链以进行根CA证书的比较。例如,区块链节点在获得交易发起方和交易接收方的身份标识后,可以从区块链的MSP文件列表中查询交易发起方和交易接收方的身份标识对应的证书链,以此获取证书链中的根CA证书。区块链节点通过利用交易发起方和交易接收方的身份标识查询相应的证书链,不仅查询效率更高,且更加准确。
S203:判断交易发起方的根CA证书与交易接收方的根CA证书是否相同。
区块链节点获取到交易发起方和交易接收方的根CA证书后,通过比较两者的根CA证书是否相同判断交易发起方与交易接收方是否属于同一组织。在本实施例中,区块链系统的每个组织加入相应的通道,若交易发起方与交易接收方属于同一组织,则可以确定交易发起方与交易接收方属于同一通道。本实施例通过预先判断交易发起方与交易接收方是否属于同一组织,可以节省同一通道内交易的辨别步骤,提高区块链交易效率。
在本实施例中,若判断交易发起方的根CA证书与交易接收方的根CA证书相同,则确定交易发起方与交易接收方属于同一通道,可以执行S207的步骤;若判断交易发起方的根CA证书与交易接收方的根CA证书不同,则交易发起方与交易接收方不属于同一组织,可以进一步执行S204~S206的步骤,以判断交易信息中交易发起方和交易接收方是否属于同一通道。
在本实施例中,区块链系统的每一个通道配置有MSP文件列表,其保存有相应通道内全部组织的MSP文件,这些MSP文件关联相应组织的MSP标识。区块链节点可以通过判断交易发起方与交易接收方的MSP文件是否在同一通道的MSP文件列表中以确定交易发起方和交易接收方是否属于同一通道。例如,判断交易信息中交易发起方和交易接收方是否属于同一通道还可以包括:
S204:分别获取交易发起方与交易接收方的MSP标识。
在本实施例中,区块链节点可以获取交易发起方与交易接收方的MSP标识。例如,交易信息中包括交易发起方和交易接收方的MSP标识,区块链节点接收到交易信息后解析得到交易发起方和交易接收方的MSP标识。或者区块链节点也可以依据交易发起方和交易接收方的身份信息确定其MSP标识。在本实施例中,同一组织的成员共同拥有一个MSP标识,该MSP标识也可用于标识组织的身份。
在一些实施方式中,区块链节点在获取到交易发起方和交易接收方的MSP标识后,还可以比较两者的MSP标识是否相同;若相同,则可以确定交易发起方与交易接收方属于同一组织,区块链节点也可以不必再执行以下步骤。
S205:基于交易发起方的MSP标识确定交易发起方所属的通道。
区块链节点获取到交易发起方的MSP标识后,可以确定交易发起方所属的通道。例如,区块链节点可以向区块链系统的配置文件中查询交易发起方的MSP标识对应的MSP文件,确定MSP文件所在的MSP文件列表,以此确定交易发起方所属的通道。
S206:查询交易发起方所属的通道的MSP文件列表中是否存在交易接收方的MSP标识对应的MSP文件。
区块链节点确定交易发起方所属的通道后,可以查询交易发起方所属的通道的MSP文件列表中是否存在交易接收方的MSP标识对应的MSP文件,以此确定交易发起方与交易接收方是否属于同一通道。例如,区块链节点可以基于交易发起方的MSP标识查询到相应通道的MSP文件列表,而后从该MSP文件列表中查询交易接收方的MSP标识对应的MSP文件。
在本实施例中,若查询交易发起方所属的通道的MSP文件列表中存在交易接收方的MSP标识对应的MSP文件,则交易发起方与交易接收方属于同一通道,可以执行S207的步骤;若查询交易发起方所属的通道的MSP文件列表中不存在交易接收方的MSP标识对应的MSP文件,则交易发起方与交易接收方不属于同一通道,可以执行S208的步骤。
在一些实施方式中,也可基于交易接收方的MSP标识确定交易接收方所属的通道,而后查询交易接收方所属的通道的MSP文件列表中是否存在交易发起方的MSP标识对应的MSP文件,以此判断交易发起方和交易接收方是否属于同一通道,具体可以参照S205和S206的描述,在此不再赘述。在一些实施方式中,区块链节点也可以基于MSP标识分别确认交易发起方与交易接收方所属的通道,而后再判断是否是同一通道,以此判断出交易发起方与交易接收方是否属于同一通道。
本实施例通过预先确定交易发起方和交易接收方中一方所在通道的MSP文件列表,而后从MSP文件列表中查询另一方的MSP文件,可以节省查询操作的步骤,且通过判断MSP文件是否属于一个MSP文件列表的方式可以更加准确有效地判断出交易发起方和交易接收方是否属于同一通道。
S207:以第一交易方法执行交易。
S208:以第二交易方法执行交易。
本实施例中,区块链节点通过比较交易发起方与交易接收方的根CA证书预先判断交易发起方与交易接收方是否属于同一组织,可以节省同一通道内交易的辨别步骤,提高区块链交易效率,区块链节点还以通过利用交易发起方与交易接收方的MSP标识确认一方所属的通道,而后通过查询通道的MSP文件列表中是否存在另一方的MSP文件准确有效地判断出交易发起方与交易接收方是否属于同一通道,不仅步骤简单易实现,且可以有效提高区块链交易的效率。
本实施例中,步骤S201~S208的顺序是本实施例中的描述顺序,不限制为本实施例多通道区块链的交易方法在执行过程中的顺序,在能够实现本方法的前提下,某些步骤可以调换顺序、同时执行或是单独执行。例如本方法中S202~S203的步骤和S204~S206的步骤,可以只执行S204~S206的步骤;也可先执行S202~S203的步骤,依据判断结果选择是否继续执行S204~S206的步骤。
参阅图6,图6是本申请多通道区块链的交易方法第三实施例的流程示意图。本实施例是在上述本申请多通道区块链的交易方法第一实施例的基础上进一步描述,本实施例与本申请多通道区块链的交易方法第一实施例相同的步骤,在此不再赘述。本实施例包括:
S301:接收交易信息。
S302:验证交易发起方和交易接收方的身份信息是否合法。
在本实施例中,身份信息例如包括地址、身份标识、证书、签名、权限等信息。区块链节点在接收到交易信息后,可以验证交易信息中交易发起方和交易接收方的身份信息的合法性。例如,区块链节点可以验证交易发起方和交易接收方的地址是否有效;或者可以验证交易发起方与交易接收方是否具有交易权限;或者验证交易发起方与交易接收方的证书是否有效等。
在一些实施方式中,区块链节点还可以通过验证交易发起方和交易接收方的证书链来验证其身份信息的合法性。例如,S302还可以包括:分别获取交易发起方与交易接收方的证书链;验证交易发起方的证书链与交易接收方的证书链的合法性。
在本实施方式中,区块链节点可以通过交易发起方和交易接收方的身份信息查询获取相应的证书链。例如,身份信息包括身份标识,区块链节点在获得交易发起方和交易接收方的身份标识后,可以从区块链系统的配置文件中查询身份标识所对应的证书链;或者,区块链节点也可从CA中心所保存的证书链体系中查询身份标识所对应的证书链。区块链节点通过利用交易发起方和交易接收方的身份标识查询相应的证书链,不仅查询效率更高,且更加准确。
区块链节点在获取到交易发起方和交易接收方的证书链后,可以进一步判断证书链的合法性,比如证书链格式是否正确、根CA证书是否有效、中间CA证书是否是由根CA证书正确签发的、根CA证书或中间CA证书是否被注销、根CA证书的签发者是否有效等。
例如,区块链节点可以首先判断证书链的格式是否正确,比如证书链是否至少包括一个根CA证书以及由根CA证书签发的至少一个中间CA证书;若验证格式正确,则可以进一步验证根CA证书是否是由区块链系统所认可的CA中心签发;若是,则进一步判断中间CA证书是否是由根CA证书正确签发的;若是,则验证证书链合法有效。在一些实施方式中,区块链节点还可以进一步验证证书链中的根CA证书或中间CA证书是否存在于配置文件中的证书吊销列表中,若都不存在,则说明证书链中的根CA证书和中间CA证书没有被吊销,即证书链合法有效。
在本实施方式中,若验证交易发起方的证书链与交易接收方的证书链合法,则验证通过,即验证交易发起方和交易接收方的身份信息的合法。若验证至少一个不合法,则验证不通过。
在本实施例中,区块链节点验证交易发起方与交易接收方的身份信息合法后,可以继续执行S303的步骤;若验证至少一个不合法,则可以不再执行以下步骤。在一些实施方式中,若验证交易发起方和/或交易接收方的身份信息不合法,还可以发出身份信息不合法的消息,以便交易发起方及时对交易信息进行修正,减少交易信息错误造成的交易延误。
S303:判断交易发起方和交易接收方是否属于同一通道。
在本实施例中,若判断交易发起方与交易接收方属于同一通道,则可以执行S304的步骤。若判断交易发起方与交易接收方不属于同一通道,则可以执行S305的步骤。
S304:以第一交易方法执行交易。
S305:以第二交易方法执行交易。
本实施例区块链节点在进行交易前验证交易发起方和交易接收方的身份信息的合法性,可以有效提高区块链交易的安全性和可靠性,减少无效的区块链交易造成的区块链系统中的资源浪费和交易效率降低。
本实施例中,步骤S301~S305的顺序是本实施例中的描述顺序,不限制为本实施例多通道区块链的交易方法在执行过程中的顺序,在能够实现本方法的前提下,某些步骤可以调换顺序、同时执行或是单独执行。
参阅图7,图7是本申请电子设备实施例的结构示意图。本实施例电子设备70包括处理器71、存储器72和通信电路73,处理器71耦接存储器72和通信电路73。
本实施例中,通信电路73用于电子设备70与外部设备进行通信。存储器72用于存储程序指令。处理器71用于执行程序指令以实现本申请多通道区块链的交易方法第一至第三实施例的步骤。
在本实施例中,处理器71还可以称为CPU(Central Processing Unit,中央处理单元)。处理器71可能是一种集成电路芯片,具有信号的处理能力。处理器71还可以是通用处理器、数字信号处理器(DSP)、专用集成电路(ASIC)、现场可编程门阵列(FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑、分立硬件组件。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
本实施例中关于电子设备70的更多执行过程和功能等可以参照上述本申请多通道区块链的交易方法第一至第三实施例的描述,在此不再赘述。
参阅图8,图8是本申请存储介质实施例的结构示意图。本实施例中存储介质80用于存储程序指令81。程序指令81能够被处理器运行,以实现上述本申请多通道区块链的交易方法第一至第三实施例的步骤。具体可以参照上述本申请多通道区块链的交易方法第一至第三实施例的描述,在此不再赘述。
本申请多通道区块链的交易方法第一至第三实施例所涉及的方法如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该软件产品存储在存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)或处理器(processor)执行本发明各个实施方式方法的全部或部分步骤。而前述的存储介质80包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质,或包括存储介质的移动终端等其他装置。
以上所述仅为本申请的实施方式,并非因此限制本申请的专利范围,凡是利用本申请说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本申请的专利保护范围内。
Claims (10)
1.一种多通道区块链的交易方法,其特征在于,包括:
接收交易信息;
判断所述交易信息中交易发起方和交易接收方是否属于同一通道;
若是,则以第一交易方法执行交易;
若不是,则以第二交易方法执行交易。
2.根据权利要求1所述的交易方法,其特征在于,
所述以第一交易方法执行交易包括:
利用所述交易发起方的私钥对所述交易信息进行数字签名;
将签名后的交易信息广播以使得区块链节点对其进行共识验证;
若共识验证通过,则执行交易;
交易完成后,将新产生的UTXO更新于通道账本中,并将所述交易发起方消费的UTXO移除。
3.根据权利要求1所述的交易方法,其特征在于,
所述以第二交易方法执行交易包括:
利用所述交易发起方的私钥对所述交易信息进行数字签名;
将所述交易发起方所拥有的UTXO作为交易输入预存放至交易通道;
对所述交易信息进行哈希函数运算得到加密信息以锁定所述交易输入;
将所述加密信息广播以使得区块链节点对其进行共识验证;
若共识验证通过,则解锁所述交易输入,执行交易;
交易完成后,在所述交易发起方所属的通道的账本中添加所述交易发起方所接收的新的UTXO,并将所述交易发起方消费的UTXO移除。
4.根据权利要求1所述的交易方法,其特征在于,
所述判断所述交易信息中交易发起方和交易接收方是否属于同一通道包括:
分别获取所述交易发起方与所述交易接收方的MSP标识;
基于所述交易发起方的MSP标识确定所述交易发起方所属的通道;
查询所述交易发起方所属的通道的MSP文件列表中是否存在所述交易接收方的MSP标识对应的MSP文件;或,
基于所述交易接收方的MSP标识确定所述交易接收方所属的通道;
查询所述交易接收方所属的通道的MSP文件列表中是否存在所述交易发起方的MSP标识对应的MSP文件;
若存在,则确定所述交易发起方与所述交易接收方属于同一通道;
若不存在,则确定所述交易发起方与所述交易接收方不属于通一通道;
其中,所述MSP文件列表保存有相应通道的全部组织的MSP文件,所述MSP文件包括相应组织的MSP标识。
5.根据权利要求4所述的交易方法,其特征在于,
所述分别获取所述交易发起方与所述交易接收方的MSP标识之前还包括:
分别获取所述交易发起方和所述交易接收方的根CA证书;
判断所述交易发起方的根CA证书与所述交易接收方的根CA证书是否相同;
若相同,则所述交易发起方与所述交易接收方属于同一通道;
若不同,则执行所述分别获取所述交易发起方与所述交易接收方的MSP标识的步骤。
6.根据权利要求5所述的交易方法,其特征在于,
所述分别获取所述交易发起方和所述交易接收方的根CA证书包括:
分别获取所述交易发起方与所述交易接收方的身份标识;
基于所述交易发起方的身份标识查询所述交易发起方的根CA证书;
基于所述交易接收方的身份标识查询所述交易接收方的根CA证书。
7.根据权利要求1所述的交易方法,其特征在于,
所述接收交易信息之后还包括:
验证所述交易发起方和所述交易接收方的身份信息的合法性;
若验证通过,则执行判断所述交易信息中交易发起方和交易接收方是否属于同一通道的步骤。
8.根据权利要求7所述的交易方法,其特征在于,
所述验证所述交易发起方和交易接收方的身份信息的合法性包括:
分别获取所述交易发起方与所述交易接收方的证书链;
验证所述交易发起方的证书链与所述交易接收方的证书链的合法性;
若验证所述交易发起方的证书链与所述交易接收方的证书链合法,则验证通过。
9.一种电子设备,其特征在于,包括处理器、存储器和通信电路,所述处理器耦接所述存储器和所述通信电路;
所述通信电路用于所述电子设备与外部设备进行通信;
所述存储器用于存储程序指令;
所述处理器用于执行所述程序指令以实现如权利要求1~8任一项所述的方法。
10.一种存储介质,其特征在于,所述存储介质用于程序指令,所述程序指令能够被处理器执行以实现权利要求1~8任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911423502.4A CN111222989B (zh) | 2019-12-31 | 2019-12-31 | 多通道区块链的交易方法、电子设备和存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911423502.4A CN111222989B (zh) | 2019-12-31 | 2019-12-31 | 多通道区块链的交易方法、电子设备和存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111222989A true CN111222989A (zh) | 2020-06-02 |
CN111222989B CN111222989B (zh) | 2023-07-07 |
Family
ID=70828046
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201911423502.4A Active CN111222989B (zh) | 2019-12-31 | 2019-12-31 | 多通道区块链的交易方法、电子设备和存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111222989B (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112330019A (zh) * | 2020-11-04 | 2021-02-05 | 安徽师范大学 | 区块链交易通道的数据传输优化方法 |
CN112423295A (zh) * | 2020-11-10 | 2021-02-26 | 西安电子科技大学 | 一种基于区块链技术的轻量级安全认证方法及系统 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107833139A (zh) * | 2017-11-23 | 2018-03-23 | 上海壹账通金融科技有限公司 | 交易数据处理方法、装置、计算机设备及存储介质 |
CN107911216A (zh) * | 2017-10-26 | 2018-04-13 | 矩阵元技术(深圳)有限公司 | 一种区块链交易隐私保护方法及系统 |
CN109165944A (zh) * | 2018-08-21 | 2019-01-08 | 北京京东金融科技控股有限公司 | 基于区块链的多方签名认证方法、装置、设备及存储介质 |
WO2019203736A1 (en) * | 2018-04-19 | 2019-10-24 | Vechain Foundation Limited | Blockchain transaction processing |
-
2019
- 2019-12-31 CN CN201911423502.4A patent/CN111222989B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107911216A (zh) * | 2017-10-26 | 2018-04-13 | 矩阵元技术(深圳)有限公司 | 一种区块链交易隐私保护方法及系统 |
CN107833139A (zh) * | 2017-11-23 | 2018-03-23 | 上海壹账通金融科技有限公司 | 交易数据处理方法、装置、计算机设备及存储介质 |
WO2019203736A1 (en) * | 2018-04-19 | 2019-10-24 | Vechain Foundation Limited | Blockchain transaction processing |
CN109165944A (zh) * | 2018-08-21 | 2019-01-08 | 北京京东金融科技控股有限公司 | 基于区块链的多方签名认证方法、装置、设备及存储介质 |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112330019A (zh) * | 2020-11-04 | 2021-02-05 | 安徽师范大学 | 区块链交易通道的数据传输优化方法 |
CN112330019B (zh) * | 2020-11-04 | 2024-03-15 | 安徽师范大学 | 区块链交易通道的数据传输优化方法 |
CN112423295A (zh) * | 2020-11-10 | 2021-02-26 | 西安电子科技大学 | 一种基于区块链技术的轻量级安全认证方法及系统 |
Also Published As
Publication number | Publication date |
---|---|
CN111222989B (zh) | 2023-07-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110380858B (zh) | 用于处理区块链的游戏共识协议的方法和系统 | |
CN111144881B (zh) | 对资产转移数据的选择性访问 | |
CN112311735B (zh) | 可信认证方法,网络设备、系统及存储介质 | |
WO2022095244A1 (zh) | 跨链交易方法、系统、装置、设备和存储介质 | |
KR20200096790A (ko) | 증명 검증에 기초하여 오프-체인 데이터를 인증하기 위한 시스템 및 방법 | |
WO2019080933A1 (zh) | 一种区块链交易隐私保护方法及系统 | |
CN111327564B (zh) | 一种联盟链的准入方法及装置 | |
EP4216077A1 (en) | Blockchain network-based method and apparatus for data processing, and computer device | |
UA128523C2 (uk) | Спосіб генерування транзакції блокчейну і спосіб перевірки дійсності блока блокчейну | |
CN112069550B (zh) | 一种基于智能合约方式的电子合同存证系统 | |
CN111222174A (zh) | 区块链节点的加入方法、验证方法、设备和存储介质 | |
US20210391991A1 (en) | Linking identities in a distributed database | |
CN112036876B (zh) | 基于元数据的背书 | |
CN113850599B (zh) | 一种应用于联盟链的跨链交易方法及系统 | |
CN112073413B (zh) | 在线化联盟链管理方法、装置、计算机设备及存储介质 | |
WO2019174402A1 (zh) | 一种群组数字签名的群组成员发布方法和设备 | |
JP2023503607A (ja) | 自動デジタル証明書検証のための方法およびデバイス | |
CN112910661B (zh) | 适用于电子签约的区块链共识方法、装置、设备及介质 | |
CN110855445A (zh) | 一种基于区块链的证书管理方法、装置及存储设备 | |
CN111698198B (zh) | 秘密生成和份额分发 | |
CN114760071B (zh) | 基于零知识证明的跨域数字证书管理方法、系统和介质 | |
CN111222989B (zh) | 多通道区块链的交易方法、电子设备和存储介质 | |
US12074987B1 (en) | Systems and methods of using group functions certificate extension | |
CN114930772A (zh) | 用于凭证验证的验证需求文件 | |
CN113691376B (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 |