CN111127005A - 区块链的交易背书方法、电子设备和存储介质 - Google Patents
区块链的交易背书方法、电子设备和存储介质 Download PDFInfo
- Publication number
- CN111127005A CN111127005A CN201911129865.7A CN201911129865A CN111127005A CN 111127005 A CN111127005 A CN 111127005A CN 201911129865 A CN201911129865 A CN 201911129865A CN 111127005 A CN111127005 A CN 111127005A
- Authority
- CN
- China
- Prior art keywords
- endorsement
- transaction
- node
- result
- sub
- 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
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
- G06Q20/00—Payment architectures, schemes or protocols
- G06Q20/38—Payment protocols; Details thereof
- G06Q20/382—Payment protocols; Details thereof insuring higher security of transaction
- G06Q20/3827—Use of message hashing
-
- 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
- G06Q20/00—Payment architectures, schemes or protocols
- G06Q20/38—Payment protocols; Details thereof
- G06Q20/382—Payment protocols; Details thereof insuring higher security of transaction
Landscapes
- Business, Economics & Management (AREA)
- Engineering & Computer Science (AREA)
- Accounting & Taxation (AREA)
- Computer Security & Cryptography (AREA)
- Finance (AREA)
- Strategic Management (AREA)
- Physics & Mathematics (AREA)
- General Business, Economics & Management (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Financial Or Insurance-Related Operations Such As Payment And Settlement (AREA)
Abstract
本申请公开了区块链的交易背书方法、电子设备和存储介质,其中,区块链的交易背书方法包括:交易端将交易提案发送给区块链的第一节点,以使得第一节点对交易提案进行背书;其中,第一节点为区块链的背书策略所要求的区块链节点;接收第一节点的背书结果;验证背书结果是否满足背书策略;若满足,则将交易提案以及背书结果发送至区块链的第二节点以进行分布式存储。通过上述方式,本申请能够有效提升交易提案的可信度,并减少区块链系统中节点的算力损耗。
Description
技术领域
本申请涉及区块链技术领域,特别是涉及区块链的交易背书方法、电子设备和存储介质。
背景技术
区块链是分布式数据存储、点对点传输、共识机制、加密算法等计算机技术的新型应用模式。区块链本质上是一个去中心化的数据库,具有去中心化、开放性、独立性、安全性和匿名性的特点。由于区块链账本数据不可篡改的特点,在区块链上进行的交易更加安全可靠。
区块链在金融领域、物联网和物流领域、公共管理、能源、交通、数字版权领域、保险领域等许多领域均有广阔的应用前景。
发明内容
本申请主要解决的技术问题是:提供区块链的交易背书方法、电子设备和存储介质,能够有效减少区块链系统中节点的算力损耗,并提升交易提案的可信度。
为解决上述技术问题,本申请采用的一个技术方案是:提供一种区块链的交易背书方法,包括:
交易端将交易提案发送给区块链的第一节点,以使得第一节点对交易提案进行背书;其中,第一节点为区块链的背书策略所要求的区块链节点;
接收第一节点的背书结果;
验证背书结果是否满足背书策略;
若满足,则将交易提案以及背书结果发送至区块链的第二节点以进行分布式存储。
可选地,交易端将交易提案发送给区块链的第一节点之前还包括:
交易端确定交易提案所调用的智能合约;
基于智能合约确定交易提案对应的背书策略;
交易端将交易提案发送给区块链的第一节点包括:
将交易提案发送给交易提案对应的背书策略所要求的至少一个第一节点。
可选地,接收第一节点的背书结果包括:
接收第一节点执行智能合约以进行模拟交易并对模拟交易的结果进行数字签名后形成的背书结果;
其中,背书结果至少包括交易提案的哈希值、读写集和第一节点的数字签名。
可选地,背书策略包括至少一个子策略;
验证背书结果是否满足背书策略包括:
验证背书结果是否满足预设数量的子策略;
若满足,则确定为满足背书策略。
可选地,在验证背书结果是否满足预设数量的子策略中,验证背书结果是否满足任一子策略包括:
验证背书结果是否来自第一节点;
若是,则验证背书结果的数字签名是否正确;
若正确,则确定为满足子策略。
可选地,验证背书结果是否来自第一节点包括:
获取背书结果对应的区块链节点的标识信息;
验证标识信息是否与第一节点的身份信息相匹配;
若匹配,则确定背书结果来自第一节点。
可选地,接收第一节点的背书结果包括:
收集来自至少一个第一节点的背书结果;
在验证背书结果是否满足预设数量的子策略中,验证背书结果是否满足任一子策略包括:
验证背书结果的数量是否满足子策略;
若满足,则确定为满足子策略。
可选地,在验证背书结果是否满足预设数量的子策略中,验证背书结果是否满足任一子策略还包括:
验证背书结果是否满足至少包括子策略所要求的组织中的第一节点的背书结果;
若满足,则进一步验证背书结果是否满足至少包括组织中预设第一节点的背书结果;
若满足,则确定为满足子策略。
为解决上述技术问题,本申请采用的另一个技术方案是:提供一种电子设备,包括处理器、存储器和通信电路,处理器耦接存储器和通信电路。通信电路用于电子设备与区块链节点进行通信;存储器用于存储程序指令;处理器用于执行程序指令以实现上述区块链的交易背书方法。
为解决上述技术问题,本申请采用的又一个技术方案是:提供一种存储介质,存储介质存储有程序指令,程序指令能够被处理器执行以实现上述区块链的交易背书方法。
本申请的有益效果是:
本申请交易端将交易提案发送给区块链的背书策略所要求的第一节点,可以实现更加精准地背书,减少区块链系统中其他节点的算力损耗,并有效提高背书结果的准确度和可信度,通过将交易提案与背书结果同时上链存储,还可以有效保证交易提案背书结果的可溯源性,提高交易的安全性和可靠性。
附图说明
图1是本申请区块链系统实施例的结构示意图;
图2是本申请区块链的交易背书方法第一实施例的流程示意图;
图3是本申请区块链的交易背书方法第二实施例的流程示意图;
图4是本申请区块链的交易背书方法一实施方式的部分流程示意图;
图5是本申请区块链的交易背书方法第三实施例的流程示意图;
图6是本申请电子设备实施例的结构示意图;
图7是本申请存储介质实施例的结构示意图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅是本申请的一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
本申请的发明人经过长期的研究发现:区块链平台在对交易执行背书时,由交易方将交易提案发送至区块链节点进行背书,由于区块链节点的质量参差不齐,造成交易背书的可信度降低,并且由于区块链系统中背书策略的要求不一,造成交易方收集有效背书的等待时间过长,导致执行交易的效率过低,影响区块链系统的吞吐量。为了解决这些问题,本申请提出至少如下实施例。
参阅图1,图1是本申请区块链系统实施例的结构示意图。本实施例中区块链系统10至少包括交易端11、第一节点12和第二节点13。交易端11是用于实现参与区块链网络中的交易的用户与区块链系统10进行信息交互的设备。交易端11可以接收用户发起交易的信息并形成交易提案,将交易提案发送给区块链系统10中的第一节点12进行背书。交易端11例如是电脑、平板、手机等设备,能够通过运行相应的应用程序参与区块链网络的交易。交易端11也可以是区块链系统10中的节点,可以参与区块链的交易、通信、记账或存储等功能。交易端11例如是区块链系统10中的轻量节点,能够参与区块链中的交易并存储自身相关的区块链数据,而不保存完整的区块链账本,如此可以有效提高交易端11的交易效率。交易端11还可以加入区块链系统10中的组织,参与组织内或组织间的交易。如图1所示,交易端11加入到区块链系统10的组织中,便于区块链系统10对交易端11进行管理,也有利于维护区块链系统10中交易的安全性。
在本实施例中,区块链系统10包括至少一个第一节点12,第一节点12用于接收交易端11的交易提案,并对交易提案进行背书。每个第一节点12可以绑定相应的背书策略,依据背书策略的规则对交易提案进行背书。第一节点12可以参与区块链系统10中的组织,每个组织包括至少一个第一节点12,这些第一节点12共同参与对交易提案进行背书。可选地,第一节点12可以动态地转变为背书节点、记账节点或主节点。例如,在交易端11发送交易提案至第一节点12请求背书时,被请求的第一节点12作为背书节点对交易提案进行背书,区块链系统10中的其他节点可以作为普通记账节点参与对交易提案的验证和记账。第一节点12还可以包括组织中特定的一些节点,如管理节点,这些节点的信誉度较高、运行稳定且算力较高,可以为交易提案提供可信的背书。
区块链系统10还包括多个第二节点13,第二节点13用于对背书后的交易提案进行排序打包成区块。例如第二节点13可以接收交易端11发送的交易提案及对应的背书结果,将交易提案和背书结果进行排序打包以将交易提案上链存储。第二节点13可以参与到区块链系统的组织,每个组织具有各自的排序节点。或者,第二节点13也可以集中管理,如图1所示,第二节点13可以单独形成一个组织,便于管理且有利于提高排序打包的效率。
在一些实施方式中,区块链系统10还包括CA节点,用于接收交易端11的身份注册申请,并在验证交易端11的身份信息符合规定时,返回注册密码用于用户登录并生成身份证书。CA节点还可以保存完成注册的交易端11的身份信息,并将交易端11的身份信息广播至区块链网络中,以使得其他节点可以在每次交易端11参与交易时,获取交易端11的身份信息以验证交易端11的身份。
参阅图2,图2是本申请区块链的交易背书方法第一实施例的流程示意图。本实施例包括:
S101:交易端将交易提案发送给第一节点以进行背书。
交易端的交易提案例如包括参与交易的各方的身份信息、交易值、交易类型、以及其他相关的交易信息等。交易端创建交易提案后,将交易提案发送给第一节点以进行背书。
在本实施例中,第一节点为区块链的背书策略所要求的区块链节点。交易端在发送交易提案时,筛选出符合背书策略要求的第一节点,将交易提案发送至这些第一节点,以实现更加精准地背书。
在一些实施方式中,交易端在发送交易提案前,还可以向区块链系统中的CA节点进行注册获取身份证书。交易端对交易提案进行数字签名并添加身份证书后,将交易提案发送至第一节点,第一节点在验证交易提案的数字签名和身份证书正确后对交易提案进行背书,如此可以有效减少恶意的交易提案造成区块链系统的资源浪费。
S102:接收第一节点的背书结果。
背书结果是第一节点对交易提案进行背书后形成的。第一节点对交易提案进行背书例如包括验证交易提案的合法性并进行声明。第一节点验证交易提案的合法性例如是验证交易各方的身份的合法性、交易内容的合法性和可行性等。第一节点可以在验证交易提案合法后进行背书并形成背书结果。
在本实施例中,交易端可以将交易提案发送给至少一个第一节点进行背书,并接收一个或多个第一节点的背书结果。在一些实施方式中,由于第一节点发生离线、宕机、网络延迟、资源不足或放弃背书等情况,或者第一节点验证交易背书不合法等情况而导致背书失败时,也可以向交易端反馈背书失败的消息。交易端接收到背书失败的消息时,可以重新向其他的第一节点发送交易提案进行背书或是检查并修正交易提案的错误以重新发送给第一节点。
S103:验证背书结果是否满足背书策略。
交易端在接收到背书结果后,还可以验证背书结果是否满足背书策略。例如,验证背书结果是否满足背书策略可以包括:验证背书结果中对应的第一节点的数字签名是否正确、验证有效背书结果的数量是否满足背书策略所要求的数量、验证有效背书结果是否满足包括背书策略所指定的组织和/或第一节点的背书结果。交易端在验证背书结果满足背书策略时,才能得出交易提案被正确背书的结论。
在一些实施方式中,交易端在每次接收到第一节点的背书结果时,可以首先验证背书结果的来源是否合法,也即验证背书结果是否是由背书策略所要求的第一节点完成,并且由第一节点进行了正确的签名。背书结果在被验证来源合法时,才是有效背书结果。交易端可以在收集足够多的有效背书结果时,验证背书结果是否满足背书策略。
在本实施例中,若交易端验证背书结果满足背书策略,则执行S104的步骤。在一些实施方式中,若交易端验证背书结果不满足背书策略,可以继续等待接收集第一节点的背书结果,或者也可以放弃交易提案。
S104:将交易提案以及背书结果发送至第二节点以进行分布式存储。
在本实施例中,交易端在验证背书结果满足背书策略时,也即,交易端在确认交易提案被正确背书后,将交易提案以及背书结果发送至第二节点以进行分布式存储。
在本实施例中,第二节点可以作为排序节点,对交易提案和背书结果进行排序打包以形成区块。第二节点在进行打包前还可以验证交易提案与相应的背书结果的合法性,并在验证交易提案与背书结果无误时将交易提案和背书结果进行排序打包。第二节点将交易提案与背书结果同时打包上链,可以有效保证交易提案背书的可溯源性,提高交易的安全性和可靠性。第二节点将交易提案和背书结果打包成区块后广播至区块链系统中的记账节点,记账节点验证区块无误后将区块进行存储。在一些实施方式中,第一节点也可以参与记账,此时,第一节点作为记账节点参与对区块的验证及存储。
本实施例交易端将交易提案发送给区块链的背书策略所要求的第一节点,可以实现更加精准地背书,减少区块链系统中其他节点的算力损耗,并有效提高背书结果的准确度和可信度,通过将交易提案与背书结果同时上链存储,还可以有效保证交易提案背书结果的可溯源性,提高交易的安全性和可靠性。
在本实施例中,步骤S101至S104的顺序是本实施例中的描述顺序,并不限制为本实施例的方法在执行过程中的顺序。在能够实现本方法的前提下,某些步骤可以调换顺序。
参阅图3,图3是本申请区块链的交易背书方法第二实施例的流程示意图。本实施例是在本申请区块链的交易背书方法第一实施例的基础上进一步描述,本实施例与本申请区块链的交易背书方法第一实施例相同的步骤在此不再赘述。本实施例包括:
S201:交易端确定交易提案所调用的智能合约。
在本实施例中,交易端在提交交易提案之前,还可以预先确定需要进行背书的第一节点。首先,交易端创建交易提案时,确定交易提案所要调用的智能合约。例如,交易端可以依据交易提案的交易类型、交易参数或其他相关的交易信息等确定交易提案所要调用的智能合约。
S202:基于智能合约确定交易提案对应的背书策略。
在本实施例中,区块链系统可以包括至少一个背书策略。这些背书策略可以形成背书策略集,便于统一管理。例如,区块链系统依据交易类型、交易所涉及的组织或交易端的身份等制定多个背书策略。背书策略中包括指定的部分区块链节点进行背书,这些节点可以绑定背书策略集中的一个背书策略,依据该背书策略执行对应的智能合约对交易提案进行模拟交易并进行背书。
交易端在确定交易提案所调用的智能合约后,依据智能合约从区块链的至少一个背书策略中确定交易提案对应的背书策略。交易端在确定背书策略后,即可确定背书策略所要求的第一节点。交易端可以将交易提案发送至背书策略所要求的第一节点进行背书。通过预先确定背书策略,可以提高交易背书的有效性,实现更加精准地背书。
S203:将交易提案发送给第一节点以进行背书。
在本实施例中,交易端可以将交易提案发送给交易提案对应的背书策略所要求的至少一个第一节点以进行背书。例如,交易端可以将交易提案发送给背书策略所要求的全部第一节点,以提高交易背书的准确性和有效性。或者,交易端也可以将交易提案发送给背书策略所要求的部分第一节点,例如是一些运行正常或信誉较高的第一节点,以提高交易背书的效率和交易背书的可靠性。
在本实施例中,交易端将交易提案发送给第一节点,第一节点的数量至少满足背书策略所要求的第一节点的数量。例如,背书策略要求需要有N个(N为自然数且不等于0)第一节点对交易提案进行背书,则交易端将交易提案发送给背书策略要求的至少N个第一节点进行背书。如此有利于交易端尽快收集满足背书策略所要求的数量的有效背书结果。
交易端将交易提案发送给第一节点后,第一节点可以对交易提案进行背书。在一些实施方式中,第一节点在对交易提案进行背书前,还可以验证是否满足背书条件,满足背书条件例如包括能够参与背书、运行正常、具有足够的算力和云端资源等。第一节点可以在确定满足背书条件时对交易提案进行背书,否则可以放弃背书并向交易端反馈背书失败的消息。在另一些实施方式中,第一节点在进行背书前,还可以验证交易提案的签名信息是否有效,并验证交易提案是否满足预设的交易条件。第一节点在验证交易提案的签名信息有效并且交易提案满足预设的交易条件时,对交易提案进行背书,否则,第一节点可以放弃背书并向交易端反馈背书失败的消息。
S204:接收第一节点的背书结果。
在本实施例中,第一节点在对交易提案进行背书后形成背书结果,而后将背书结果发送至交易端。交易端可以收集来自至少一个第一节点的背书结果。
在一些实施方式中,交易端将交易提案发送给第一节点,第一节点可以执行智能合约以进行模拟交易,并对模拟交易的结果进行数字签名后形成背书结果。其中,背书结果至少包括交易提案的哈希值、读写集和第一节点的数字签名。例如,第一节点可以获取交易提案中的交易参数,调用相应的智能合约并填入交易参数以进行模拟交易。模拟交易的结果可以包括交易提案的哈希值和读写集。第一节点可以对模拟交易的结果进行数字签名形成背书结果。
在一些实施方式中,第一节点还可以调用交易背书策略验证函数(EVCC)来对模拟交易的结果进行验证。若第一节点验证模拟交易的结果可行,决定对模拟交易的结果进行背书,则可以使用私钥对模拟交易的结果进行数字签名以形成背书结果。若第一节点验证模拟交易的结果不可行,第一节点可以拒绝对交易提案进行背书,以提升区块链系统中交易背书的可靠性。
S205:验证背书结果是否满足背书策略。
在本实施例中,背书策略包括至少一个子策略。交易端验证背书结果是否满足背书策略还可以包括:验证背书结果是否满足预设数量的子策略;若满足,则确定为满足背书策略。预设数量可以为一个或多个。预设数量也可以是背书策略中全部子策略的数量。
例如,背书策略包括多个子策略,交易端在验证背书策略是否满足背书策略时,若验证背书结果满足任一子策略,则确定为满足背书策略。或者,交易端验证背书结果满足全部子策略,才确定为满足背书策略。又或者,交易端验证背书结果满足大多数(如大于一半)的子策略则确定为满足背书策略。比如,假设背书策略包括3个子策略,需要至少2个子策略成立才能满足背书策略;如果背书策略包括4个子策略,需要满足至少3个子策略才能满足背书策略。如果背书策略只有一个子策略,则验证满足该子策略即为满足背书策略。
在一些实施方式中,子策略中可以包括背书结果的有效性、数量、组织、预设节点等相关的规则。如图4所示,例如,验证背书结果是否满足子策略还可以包括以下步骤:
S2051:验证背书结果是否来自第一节点。
在本实施方式中,交易端在接收到背书结果后,可以验证背书结果是否来自于背书策略所要求的第一节点,也即验证背书结果是否由第一节点发送。例如,交易端可以通过验证发送背书结果的区块链节点的身份信息来确认背书结果是否来自第一节点。交易端可以接收来自多个区块链节点的背书结果,并对多个背书结果分别进行验证。
在一些实施方式中,还可以通过验证区块链节点的标识信息来验证背书结果是否来自第一节点。例如,验证背书结果是否来自第一节点可以包括:获取背书结果对应的区块链节点的标识信息;验证标识信息是否与第一节点的身份信息相匹配;若匹配,则确定背书结果来自第一节点。若验证标识信息与第一节点的身份信息不匹配,则确定背书结果不是来自第一节点,交易端可以舍弃该背书结果。
区块链节点的标识信息可以用于标识区块链系统中的每一个节点。在一些实施方式中,第一节点还可以是区块链系统的组织中的区块链节点。区块链系统的每个组织都具有各自的MSP(Membership Service Provider,成员关系服务提供者)标识,组织中的每个区块链节点都具有组织中管理节点签发的身份证书。交易端在验证背书结果是否来自第一节点时,可以验证发送背书结果的区块链节点的MSP标识是否满足背书策略;在满足时,再进一步验证该区块链节点的身份证书是否正确;若正确,则确定背书结果的来源合法。若交易端验证MSP标识不满足背书策略或是身份证书不正确,则确定背书节点不是来自于第一节点,可以舍弃该背书结果。交易端通过利用MSP标识以及身份证书可以更加快速地对交易结果的来源进行验证,且可以提高验证结果的准确度。
在本实施方式中,若交易端验证背书结果来自第一节点,则可以执行S2052的步骤。在一些实施方式中,若交易端验证背书结果不是来自第一节点,则可以确定背书结果不满足背书策略,可以舍弃该背书结果。
在一些实施方式中,区块链系统可能会出现某些区块链节点窃取第一节点的信息而恶意仿造背书结果等情况,这些情况会造成背书结果不可信,影响区块链交易的进行。交易端在验证背书结果来自第一节点后,还可以进一步验证背书结果中的数字签名。
S2052:验证背书结果的数字签名是否正确。
在本实施方式中,第一节点通过调用智能合约进行模拟交易,并对模拟交易的结果进行数字签名后形成背书结果。交易端可以通过验证背书结果中的数字签名来进一步验证交易结果的来源。例如,交易端接收背书结果后,解析得到背书结果中的数字签名,利用第一节点的公钥进行验证;若验证无误,则数字签名正确;若验证失败,则数字签名不正确。交易端可以接收来自多个区块链节点的背书结果,对于多个背书结果,交易端可以分别对其数字签名进行验证。
在本实施方式中,若交易端验证背书结果的数字签名正确,也即确认该背书结果为有效背书结果,则验证背书结果满足子策略。若交易端验证背书结果的数字签名不正确,则验证背书结果不满足子策略,该背书结果无效。在一些实施方式中,交易端在验证背书结果的数字签名正确后,可以等待收集更多的有效背书结果。
本实施方式中交易端通过验证背书结果是否来自第一节点以及验证背书结果的数字签名是否正确,可以快速确认背书结果的有效性。交易端可以保留有效的背书结果,而对于无效的背书结果可以进行舍弃,如此可以有效保证背书结果的可信度,避免不可信的背书结果影响区块链交易的进行。
S2053:验证背书结果的数量是否满足子策略。
在本实施方式中,交易端接收第一节点的背书结果可以包括:收集来自至少一个第一节点的背书结果。交易端收集的第一节点的背书结果均为有效背书结果。交易端可以在每次接收到背书结果时验证背书结果的有效性,对于无效的背书结果则舍弃,而有效背书结果才进行收集,如此可以有效提升背书结果的安全性和可靠性。有效背书结果也可以是上述S2051~S2052的步骤中确定的有效背书结果。
在本实施方式中,子策略还包括对背书结果数量的要求,如要求至少一个有效背书结果。交易端在收集第一节点的背书结果后,验证背书结果的数量是否满足子策略;若满足,则确定背书结果满足子策略。通过收集满足子策略所要求数量的背书结果,可以有效提升交易背书的可信度。在一些实施方式中,交易端可以对接收到的第一节点的背书结果进行计数,当收集到满足子策略所要求的数量的背书结果时,可以停止接收背书结果。交易端还可以在停止接收背书结果时,向第一节点发出停止背书的消息,以减少第一节点的算力损耗。
S2054:验证背书结果是否满足至少包括子策略所要求的组织中的第一节点的背书结果。
在本实施方式中,区块链系统可以包括一个或多个组织,子策略可以要求背书结果来自至少一个组织。比如,子策略Ⅰ要求背书结果至少包括组织Org1、Org2和Org3中的第一节点的背书结果;子策略Ⅱ要求背书结果至少包括组织Org1、Org2和Org4中的第一节点的背书结果。在本实施方式的区块链系统中,可以设置多个组织,通过多个组织的第一节点对交易提案进行背书,可以有效提高交易背书的可信度,减少某一组织中的节点联合作恶的可能性。
交易端可以通过获取背书结果的数字签名或是第一节点的标识信息等来确定背书结果来自哪一个组织的第一节点。交易端可以对接收的多个背书结果依据组织进行分类处理,以便于对背书结果进行验证。
在本实施方式中,若交易端验证背书结果满足至少包括子策略所要求的组织中的第一节点的背书结果,则可以继续执行S2055的步骤。在一些实施方式中,若交易端验证背书结果不满足至少包括子策略所要求的组织中的第一节点的背书结果,还可以继续收集第一节点的背书结果,或是向未发送背书结果的第一节点发送提醒消息以提醒第一节点及时进行背书。
在一些实施方式中,交易端验证背书结果是否满足子策略还可以包括:验证背书结果是否满足子策略所要求的每一个组织的第一节点的背书结果的数量。比如,子策略Ⅰ要求背书结果至少包括组织Org1的5个第一节点的背书结果、组织Org2的3个第一节点的背书结果、组织Org3的4个第一节点的背书结果,交易端在验证背书结果是否满足子策略时,还验证背书结果中是否包括子策略所要求这些背书结果。区块链系统可以依据各个组织的第一节点的算力、交易提案的类型、交易方的需求等对子策略进行个性化定制,以更加切合实际的交易需求,有利益提高交易背书的可信度以及区块链交易的效率。
S2055:验证背书结果是否满足至少包括组织中预设第一节点的背书结果。
在本实施方式中,子策略还可以包括对进行背书的区块链节点的选择。交易端在验证背书结果满足至少包括子策略所要求的组织中的第一节点的背书结果后,还可以验证背书结果是否满足至少包括组织中预设第一节点的背书结果。比如,子策略Ⅰ还可以要求背书结果至少包括组织Org1中预设第一节点Admin1的背书结果;子策略Ⅱ要求背书结果至少包括组织Org4中预设第一节点Admin4的背书结果。
预设第一节点例如是组织中一些运行稳定、算力较高且信誉较高的区块链节点。例如预设第一节点是组织中的管理节点,管理节点参与对组织中其他区块链节点的加入、运行和退出等进行管理。预设第一节点对交易提案进行背书形成的背书结果具有更高的可信度,有利于提高交易背书的可靠性。交易端可以通过获取背书结果对应的第一节点的标识信息,如MSP标识,来确定背书结果来自哪个组织,而后通过获取背书结果的数字签名来验证背书结果是否来自组织中预设第一节点。
在一些实施方式中,交易端在验证背书策略是否满足子策略时,可以条件AND、OR、Noutof的任意组合来进行验证。例如,AND(‘Org1.Member’,‘Org2.member’,‘Org3.member’),要求背书结果至少包括组织Org1、Org2和Org3的背书结果,且其中每个组织都至少有1个第一节点的背书结果。又比如,OR(‘Org1.member’,‘Org2.member’),要求背书结果至少包括组织Org1或Org2中至少1个第一节点的背书结果。又比如,OR(‘Org1.member’,AND(‘Org2.member’,‘Org3.member’)),要求背书结果至少包括组织Org1的1个第一节点的背书结果、或者组织Org2和Org3的分别至少1个第一节点的背书结果。再比如,OR(‘Org1.admin’,AND(‘Org2.member’,‘Org3.member’)),要求背书结果至少包括组织Org1的1个预设第一节点的背书结果、或者组织Org2和Org3的分别至少1个第一节点的背书结果。
在本实施例中,若交易端验证背书结果满足背书策略,则执行S206的步骤。在一些实施方式中,若交易端验证背书结果不满足背书策略,可以继续等待接收集第一节点的背书结果,或者也可以放弃交易提案。
S206:将交易提案以及背书结果发送至第二节点以进行分布式存储。
本实施例中交易端在发起交易背书时,预先确定交易提案所调用的智能合约后,并依据智能合约确定交易提案对应的背书策略,而后将交易提案发送至背书策略所要求的第一节点进行背书,通过预先确定背书策略,可以减少交易端发送交易提案至第一节点的工作量,提高交易背书的效率,并且可以实现更加精准地背书,提高交易背书的有效性。
在本实施例中,步骤S201至S206的顺序是本实施例中的描述顺序,并不限制为本实施例的方法在执行过程中的顺序。在能够实现本方法的前提下,某些步骤可以调换顺序或是同时执行。
参阅图5,图5是本申请区块链的交易背书方法第三实施例的流程示意图。本实施例以区块链系统为执行主体,是在本申请区块链的交易背书方法第一实施例和第二实施例的基础上进一步描述,本实施例与本申请区块链的交易背书方法第一实施例及第二实施例相同的步骤在此不再赘述。本实施例包括:
S301:交易端确定交易提案所调用的智能合约。
S302:交易端基于智能合约确定交易提案对应的背书策略。
S303:交易端将交易提案发送给背书策略所要求的至少一个第一节点。
S304:第一节点检测当前状态是否满足背书条件。
在本实施例中,第一节点在接收到交易端的交易提案后,可以检测当前状态是否满足背书条件。背书条件是指第一节点能够正确进行背书的条件,例如是第一节点能够参与背书、运行正常、具有足够的算力和云端资源等。第一节点通过检测当前状态是否满足背书条件,可以确认是否能够正确地对交易提案进行背书。
在一些实施方式中,检测当前状态是否满足背书条件还可以包括:检测第一节点是否出现离线、宕机、网络延迟、资源不足或放弃背书的情况。若检测第一节点没有出现离线、宕机、网络延迟、资源不足或放弃背书的情况,则确定为满足背书条件。
在本实施例中,若第一节点检测当前状态满足背书条件,则可以执行以下S305的步骤。若第一节点检测当前状态不满足背书条件,还可以停止背书,并向交易端发送交易失败的消息(图未示)。
S305:第一节点验证交易提案是否满足交易条件。
在本实施例中,第一节点在进行背书前,还可以验证交易提案是否满足交易条件。交易条件例如包括交易端的签名信息有效、格式正确、具有写入权限、没有重复提交中的至少一个。
交易提案的格式正确例如包括交易参数、交易类型等相关的交易信息符合预设的格式要求。交易提案具有写入权限例如是交易提案满足当前区块链网络的交易规则而可以被存储至当前区块链账本中。交易提案没有重复提交例如包括交易提案在预设的一段时间内没有重复向当前第一节点申请背书。第一节点通过验证交易提案是否满足预设的交易条件可以确定交易提案的内容是否合法。
在本实施例中,若第一节点验证交易提案满足预设的交易条件,则可以执行S306的步骤。若第一节点验证签名信息无效,还可以停止背书,并向交易端发送交易失败的消息(图未示)。
S306:第一节点执行智能合约以进行模拟交易。
第一节点在对交易提案进行背书时,可以通过执行交易提案对应的智能合约对交易提案进行模拟交易。例如,第一节点可以获取交易提案中的交易参数,调用相应的智能合约并填入交易参数以进行模拟交易。模拟交易的结果至少包括交易提案的哈希值和读写集。第一节点通过调用智能合约对交易提案进行模拟交易,可以验证交易提案的可行性。对于一些无效的交易提案,第一节点可以拒绝对其进行背书,以提升区块链系统中交易的可靠性。
S307:第一节点对模拟交易的结果进行数字签名后形成背书结果。
第一节点在执行模拟交易后,可以对模拟交易的结果进行数字签名以形成背书结果。例如,第一节点可以使用私钥对模拟交易的结果进行数字签名以形成背书结果。
在一些实施方式中,第一节点可以调用交易背书策略验证函数(EVCC)来对模拟交易的结果进行背书,即通过对模拟交易的结果进行签名来实现对交易提案的背书。例如,第一节点在进行模拟交易后,验证模拟交易的结果可行,决定对模拟交易的结果进行背书,则可以使用私钥对模拟交易的结果进行数字签名以形成背书结果。背书结果至少包括交易提案的哈希值、读写集和数字签名。若第一节点在进行模拟交易后,验证模拟交易的结果无效时,可以拒绝对其进行背书,以提升区块链系统中交易的可靠性。
S308:第一节点将背书结果发送至交易端。
S309:交易端验证背书结果是否满足背书策略。
在本实施例中,若交易端验证背书结果满足背书策略,则执行S310的步骤。在一些实施方式中,若交易端验证背书结果不满足背书策略,可以继续等待接收集第一节点的背书结果,或者也可以放弃交易提案(图未示)。
S310:交易端将交易提案和背书结果发送给第二节点。
S311:第二节点将交易提案和背书结果进行排序打包形成区块。
在本实施例中,第二节点例如是排序节点,可以对交易提案和背书结果进行排序打包以形成区块。第二节点在进行打包前还可以验证交易提案与相应的背书结果的合法性,并在验证交易提案与背书结果无误时将交易提案和背书结果进行排序打包。第二节点将交易提案与背书结果同时打包上链,可以有效保证交易提案背书的可溯源性,提高交易的安全性和可靠性。
S312:第二节点将区块广播以进行分布式存储。
第二节点将交易提案和背书结果打包成区块后,广播至区块链系统中的其他节点。在本实施例中,第一节点可以动态地转变为背书节点和记账节点,参与区块链记账并保存完整的区块链账本。例如,第一节点可以接收第二节点广播的区块,此时,第一节点即转变为记账节点,可以对区块中的数据进行验证,以进行存储前的检查。第一节点也可以接收交易端的交易提案,此时,第一节点即转变为背书节点,可以对交易提案进行背书。
本实施例通过区块链节点对待上链的交易端的交易提案进行背书,可以有效提升交易提案的可靠性;交易端在发起交易背书时,通过预先确定背书策略,将交易提案发送给背书策略要求的第一节点进行背书,可以减少交易端发送交易提案至第一节点的工作量,提高交易背书的效率;第一节点在背书前通过检测当前状态是否满足背书条件,能够自动筛选满足背书条件的第一节点进行背书,提升背书结果的准确度和可信度,实现更加精准地背书;第一节点还可以在背书前验证交易提案是否满足预设的交易条件,以此确定交易提案的合法性,有效提高交易的可靠性和安全性;对于签名信息无效或是不满足预设的交易条件的交易提案,第一节点可以拒绝对其进行背书,有效减少多余的算力损耗;第二节点将正确背书后的交易提案与背书结果同时打包上链,还可以有效保证交易提案背书的可溯源性,提高交易的安全性和可靠性。
在本实施例中,步骤S301至S312的顺序是本实施例中的描述顺序,并不限制为本实施例的方法在执行过程中的顺序。在能够实现本方法的前提下,某些步骤可以调换顺序或是同时执行。
参阅图6,图6是本申请电子设备实施例的结构示意图。本实施例中电子设备40包括处理器41、存储器42和通信电路43,处理器41耦接存储器42和通信电路43。通信电路43用于电子设备40与区块链节点进行通信。存储器42用于存储程序指令。处理器41用于执行程序指令以至少实现上述本申请区块链的交易背书方法第一至第二实施例的步骤。
本实施例中电子设备40例如是电脑、平板、手机等设备。电子设备40也可以是区块链网络中的节点,可以参与区块链的交易、通信、记账或存储等功能。
在本实施例中,处理器41还可以称为CPU(Central Processing Unit,中央处理单元)。处理器41可能是一种集成电路芯片,具有信号的处理能力。处理器41还可以是通用处理器、数字信号处理器(DSP)、专用集成电路(ASIC)、现场可编程门阵列(FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑、分立硬件组件。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
本实施例中关于电子设备40的更多执行过程和功能等可以参照上述本申请区块链的交易背书方法第一实施例至第二实施例,在此不再赘述。
参阅图7,图7是本申请存储介质实施例的结构示意图。本实施例中存储介质50用于存储程序指令51,程序指令50能够被处理器运行,以实现上述本申请区块链的交易背书方法第一实施例至第二实施例的步骤。
本申请区块链的交易背书方法第一实施例至第二实施例所涉及的方法如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该软件产品存储在存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)或处理器(processor)执行本发明各个实施方式方法的全部或部分步骤。而前述的存储介质50包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质,或包括存储介质的移动终端等其他装置。
以上所述仅为本申请的实施方式,并非因此限制本申请的专利范围,凡是利用本申请说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本申请的专利保护范围内。
Claims (10)
1.一种区块链的交易背书方法,其特征在于,包括:
交易端将交易提案发送给所述区块链的第一节点,以使得所述第一节点对所述交易提案进行背书;其中,所述第一节点为所述区块链的背书策略所要求的区块链节点;
接收所述第一节点的背书结果;
验证所述背书结果是否满足所述背书策略;
若满足,则将所述交易提案以及所述背书结果发送至所述区块链的第二节点以进行分布式存储。
2.根据权利要求1所述的方法,其特征在于,
所述交易端将交易提案发送给所述区块链的第一节点之前还包括:
所述交易端确定所述交易提案所调用的智能合约;
基于所述智能合约,从所述区块链的至少一个背书策略中确定所述交易提案对应的背书策略;
所述交易端将交易提案发送给所述区块链的第一节点包括:
将所述交易提案发送给所述交易提案对应的背书策略所要求的至少一个第一节点。
3.根据权利要求2所述的方法,其特征在于,
所述接收所述第一节点的背书结果包括:
接收所述第一节点执行所述智能合约以进行模拟交易并对所述模拟交易的结果进行数字签名后形成的背书结果;
其中,所述背书结果至少包括所述交易提案的哈希值、读写集和所述第一节点的数字签名。
4.根据权利要求3所述的方法,其特征在于,所述背书策略包括至少一个子策略;
所述验证所述背书结果是否满足所述背书策略包括:
验证所述背书结果是否满足预设数量的子策略;
若满足,则确定为满足所述背书策略。
5.根据权利要求4所述的方法,其特征在于,
在所述验证所述背书结果是否满足预设数量的子策略中,验证所述背书结果是否满足任一所述子策略包括:
验证所述背书结果是否来自所述第一节点;
若是,则验证所述背书结果的数字签名是否正确;
若正确,则确定为满足所述子策略。
6.根据权利要求5所述的方法,其特征在于,
所述验证所述背书结果是否来自所述第一节点包括:
获取所述背书结果对应的区块链节点的标识信息;
验证所述标识信息是否与所述第一节点的身份信息相匹配;
若匹配,则确定所述背书结果来自所述第一节点。
7.根据权利要求4所述的方法,其特征在于,
所述接收所述第一节点的背书结果包括:
收集来自至少一个所述第一节点的背书结果;
在所述验证所述背书结果是否满足预设数量的子策略中,验证所述背书结果是否满足任一所述子策略包括:
验证所述背书结果的数量是否满足所述子策略;
若满足,则确定为满足所述子策略。
8.根据权利要求4所述的方法,其特征在于,
在所述验证所述背书结果是否满足预设数量的子策略中,验证所述背书结果是否满足任一所述子策略还包括:
验证所述背书结果是否满足至少包括所述子策略所要求的组织中的第一节点的背书结果;
若满足,则进一步验证所述背书结果是否满足至少包括所述组织中预设第一节点的背书结果;
若满足,则确定为满足所述子策略。
9.一种电子设备,其特征在于,包括处理器、存储器和通信电路,所述处理器耦接所述存储器和所述通信电路;
所述通信电路用于所述电子设备与区块链节点进行通信;
所述存储器用于存储程序指令;
所述处理器用于执行所述程序指令以实现权利要求1~8任一项所述的方法。
10.一种存储介质,其特征在于,所述存储介质用于存储程序指令,所述程序指令能够被处理器执行以实现权利要求1~8任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911129865.7A CN111127005A (zh) | 2019-11-18 | 2019-11-18 | 区块链的交易背书方法、电子设备和存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911129865.7A CN111127005A (zh) | 2019-11-18 | 2019-11-18 | 区块链的交易背书方法、电子设备和存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN111127005A true CN111127005A (zh) | 2020-05-08 |
Family
ID=70495984
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201911129865.7A Pending CN111127005A (zh) | 2019-11-18 | 2019-11-18 | 区块链的交易背书方法、电子设备和存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111127005A (zh) |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111629039A (zh) * | 2020-05-20 | 2020-09-04 | 中国银联股份有限公司 | 一种区块链共识方法及客户端、背书节点、排序节点 |
CN112671908A (zh) * | 2020-12-25 | 2021-04-16 | 成都质数斯达克科技有限公司 | 网络管理方法、装置、电子设备及可读存储介质 |
CN112671881A (zh) * | 2020-12-18 | 2021-04-16 | 成都质数斯达克科技有限公司 | 节点组织管理方法、装置、电子设备及可读存储介质 |
CN112685792A (zh) * | 2020-12-04 | 2021-04-20 | 联想(北京)有限公司 | 一种模型验证方法、装置及电子设备 |
CN112686672A (zh) * | 2021-01-08 | 2021-04-20 | 新晨科技股份有限公司 | 区块链上背书签名压缩方法、电子设备及存储介质 |
CN113222601A (zh) * | 2021-05-19 | 2021-08-06 | 湖北工业大学 | 一种许可区块链匿名交易背书系统及方法 |
CN113379420A (zh) * | 2021-06-25 | 2021-09-10 | 远光软件股份有限公司 | 区块链的执行智能合约方法、计算机设备及区块链系统 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109146490A (zh) * | 2018-10-11 | 2019-01-04 | 北京京东尚科信息技术有限公司 | 区块生成方法、装置和系统 |
CN109767212A (zh) * | 2018-10-11 | 2019-05-17 | 平安科技(深圳)有限公司 | 基于区块链的资产兑换方法、系统、终端及存储介质 |
-
2019
- 2019-11-18 CN CN201911129865.7A patent/CN111127005A/zh active Pending
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109146490A (zh) * | 2018-10-11 | 2019-01-04 | 北京京东尚科信息技术有限公司 | 区块生成方法、装置和系统 |
CN109767212A (zh) * | 2018-10-11 | 2019-05-17 | 平安科技(深圳)有限公司 | 基于区块链的资产兑换方法、系统、终端及存储介质 |
Cited By (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111629039A (zh) * | 2020-05-20 | 2020-09-04 | 中国银联股份有限公司 | 一种区块链共识方法及客户端、背书节点、排序节点 |
CN111629039B (zh) * | 2020-05-20 | 2023-04-18 | 中国银联股份有限公司 | 一种区块链共识方法及客户端、背书节点、排序节点 |
CN112685792A (zh) * | 2020-12-04 | 2021-04-20 | 联想(北京)有限公司 | 一种模型验证方法、装置及电子设备 |
CN112671881A (zh) * | 2020-12-18 | 2021-04-16 | 成都质数斯达克科技有限公司 | 节点组织管理方法、装置、电子设备及可读存储介质 |
CN112671881B (zh) * | 2020-12-18 | 2022-09-20 | 成都质数斯达克科技有限公司 | 节点组织管理方法、装置、电子设备及可读存储介质 |
CN112671908A (zh) * | 2020-12-25 | 2021-04-16 | 成都质数斯达克科技有限公司 | 网络管理方法、装置、电子设备及可读存储介质 |
CN112686672A (zh) * | 2021-01-08 | 2021-04-20 | 新晨科技股份有限公司 | 区块链上背书签名压缩方法、电子设备及存储介质 |
CN113222601A (zh) * | 2021-05-19 | 2021-08-06 | 湖北工业大学 | 一种许可区块链匿名交易背书系统及方法 |
CN113222601B (zh) * | 2021-05-19 | 2022-06-07 | 湖北工业大学 | 一种许可区块链匿名交易背书系统及方法 |
CN113379420A (zh) * | 2021-06-25 | 2021-09-10 | 远光软件股份有限公司 | 区块链的执行智能合约方法、计算机设备及区块链系统 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111127005A (zh) | 区块链的交易背书方法、电子设备和存储介质 | |
CN111046037A (zh) | 区块链的交易处理方法、电子设备和存储介质 | |
CN112035889B (zh) | 计算外包的区块链隐私验证方法、装置及计算机设备 | |
CN111427957B (zh) | 区块链投票信息校验方法、装置、设备以及存储介质 | |
CN110838065A (zh) | 一种交易数据处理方法及装置 | |
CN112163856A (zh) | 用于区块链与物联网融合场景的共识方法及系统 | |
CN108648081B (zh) | 一种基于区块链的交易处理方法、装置和电子设备 | |
CN111222174A (zh) | 区块链节点的加入方法、验证方法、设备和存储介质 | |
CN113326516A (zh) | 区块链共识方法、区块链系统及计算机设备 | |
CN112749968A (zh) | 基于区块链的业务数据记录方法及装置 | |
CN112202564A (zh) | 交易传递方法、装置、电子设备及可读存储介质 | |
CN113779642B (zh) | 数据处理方法及其装置、系统、电子设备 | |
CN113409047B (zh) | 基于区块链的数据处理方法、装置、设备及可读存储介质 | |
CN112000943B (zh) | 基于边缘计算和云边融合的信息验证方法及中心云平台 | |
CN109213806A (zh) | 基于区块链的企业排污数据处理方法及系统 | |
CN111222989B (zh) | 多通道区块链的交易方法、电子设备和存储介质 | |
Ji et al. | A blockchain-based vehicle platoon leader updating scheme | |
CN111210348B (zh) | 区块链的交易方法、电子设备和存储介质 | |
CN114092093B (zh) | 区块链交易处理方法、装置、电子设备和可读介质 | |
CN112037062B (zh) | 交易共识方法、装置、电子设备及可读存储介质 | |
CN115708119A (zh) | 跨链交易系统、方法、设备及存储介质 | |
CN112950180A (zh) | 一种基于联盟链的通证方法、系统、电子设备及存储介质 | |
CN112132588A (zh) | 基于区块链的数据处理方法、装置、路由设备及存储介质 | |
CN111478878A (zh) | 一种防攻击方法及装置 | |
CN106790150B (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 |