首页> 中国专利> 一种基于海洋运输的异步区块构造方法、装置及存储介质

一种基于海洋运输的异步区块构造方法、装置及存储介质

摘要

本发明公开了一种基于海洋运输的异步区块构造方法、装置及存储介质,其方法包括普通用户节点向数据主链上传交易信息时,预先确定预定区块辅链是否有空余的预定区块;若没有,则普通用户节点向预定区块辅链发起区块预定请求;预定区块辅链根据区块预定请求,通过工作量证明机制,构造普通用户节点所需的预定区块;若预定区块通过工作量证明机制达成共识,则普通用户节点获取预定区块的所有权信息,将所有权信息与交易信息打包成数据区块;将数据区块添加到数据主链,以完成区块链交易。本发明通过允许普通用户预定在短期未来会使用的区块,以使得其在实际需要使用时直接使用预定构造完成的区块,从而缩短等待区块构造的时间,提高效率。

著录项

  • 公开/公告号CN112417038A

    专利类型发明专利

  • 公开/公告日2021-02-26

    原文格式PDF

  • 申请/专利权人 深圳百纳维科技有限公司;

    申请/专利号CN202011248472.0

  • 发明设计人 高智敏;

    申请日2020-11-10

  • 分类号G06F16/27(20190101);G06F21/60(20130101);G06Q10/08(20120101);

  • 代理机构44528 深圳中细软知识产权代理有限公司;

  • 代理人孔祥丹

  • 地址 518000 广东省深圳市南山区粤海街道麻岭社区高新中二道2号深圳软件园5栋5B01

  • 入库时间 2023-06-19 10:02:03

说明书

技术领域

本发明涉及区块链技术领域,尤其涉及一种基于海洋运输的异步区块构造方法、装置及存储介质。

背景技术

区块链最大的价值在于“去中心化”。区块链网络中一段时间内所有的交易信息被打包成区块,并同步到所有节点,从而保证了交易信息的不可篡改。由于区块链具备可溯源性、数字化、可信存取特点,因此,广泛用于基于区块链的供应链管理系统,如海洋运输系统。

然而在海洋运输方面,特别是跨境运输,所采用的公有链管理方法存在诸多问题,如:由于等待构造区块时间过长,导致无法及时获取信息,时效性差,效率低,并且各参与者之前的信息无法对等,导致货物追踪、事故原因、申诉解决等流程存在大量延迟,使得货物完整及安全无法保障。

因此,现有技术还有待于发展和改进。

发明内容

基于此,有必要针对现有公有链构造时间长导致信息延迟,效率低的技术问题,提出了一种基于海洋运输的异步区块构造方法、装置及存储介质,利用允许普通用户预定在短期未来会使用的区块,以使得其在实际需要使用时直接使用预定构造完成的区块,从而缩短等待区块构造的时间,提高效率。

一种基于海洋运输的异步区块构造方法,包括:

普通用户节点向数据主链上传交易信息时,预先确定预定区块辅链是否有空余的预定区块;

若所述预定区块辅链没有空余的预定区块,则所述普通用户节点向所述预定区块辅链发起区块预定请求;

所述预定区块辅链根据所述区块预定请求,通过工作量证明机制,构造普通用户节点所需的预定区块;

若预定区块通过工作量证明机制达成共识,则所述普通用户节点获取所述预定区块的所有权信息,将所有权信息与交易信息打包成数据区块;

将所述数据区块添加到数据主链,以完成区块链交易。

所述的基于海洋运输的异步区块构造方法,其中,所述基于海洋运输的异步区块构造还包括:

若所述预定区块辅链存在空余的预定区块,则所述普通用户节点获取所述空余的预定区块的所有权信息;

将所有权信息与交易信息打包成数据区块;

将所述数据区块添加到数据主链,以完成区块链交易。

所述的基于海洋运输的异步区块构造方法,其中,所述普通用户节点向所述预定区块辅链发起区块预定请求具体包括:

所述普通用户节点通过点对点网络协议将所述区块预定请求广播到所述数据主链上的每一个区块协助构建节点。

所述的基于海洋运输的异步区块构造方法,其中,所述区块协助构建节点为一个时,所述预定区块辅链根据所述区块预定请求,通过工作量证明机制,构造普通用户节点所需的预定区块具体包括:

若所述区块协助构建节点接收到所述区块预定请求,则通过计算机算法来暴力寻找工作量证明机制中数学难题的答案,从而构造所述普通用户节点所需的预定区块;

在所述预定区块构造完成后,该区块协助构建节点通过工作量证明机制验证所述预定区块的工作量证明;

根据工作量证明结果确定所述预定区块写入区块链。

所述的基于海洋运输的异步区块构造方法,其中,所述区块协助构建节点为多个时,则每个区块协助构造节点同时进行暴力运算,快速寻找到工作量证明机制中数学难题答案的节点获得预定请求中提出的奖励机制。

所述的基于海洋运输的异步区块构造方法,其中,所述根据工作量证明结果确定所述预定区块写入区块链具体包括:

若所述工作量证明结果为所述预定区块不位于工作量最大的最长链上,则所述预定区块不能写入区块链中;

若所述工作量证明结果为所述预定区块位于工作量最大的最长链上,则所述预定区块写入区块链,以确定所述预定区块达成共识。

所述的基于海洋运输的异步区块构造方法,其中,所述数据区块的构建不需要进行工作量证明的验证。

所述的基于海洋运输的异步区块构造方法,其中,所述将所述数据区块添加到数据主链,以完成区块链交易具体包括:

数据主链接收到所述数据区块时,验证所述数据区块的合法性;

若验证所述数据区块合法,则所述数据区块成功添加到所述数据主链;

所述数据主链上其他节点通过Paxos算法达成对该数据区块的共识,并通过累加签名算法将背书签名添加到数据区块的数据节点背书项中,从而完成区块链交易。

本申请还提供一种基于海洋运输的异步区块构造装置,所述装置包括:

预定区块确定模块,用于普通用户节点向数据主链上传交易信息时,预先确定预定区块辅链是否有空余的预定区块;

区块预定请求模块,用于若所述预定区块辅链没有空余的预定区块,则所述普通用户节点向所述预定区块辅链发起区块预定请求;

预定区块构造模块,用于所述预定区块辅链根据所述区块预定请求,通过工作量证明机制,构造普通用户节点所需的预定区块;

数据区块构造模块,用于若预定区块通过工作量证明机制达成共识,则所述普通用户节点获取所述预定区块的所有权信息,将所有权信息与交易信息打包成数据区块;

处理模块,用于将所述数据区块添加到数据主链,以完成区块链交易。

本申请还提供一种计算机可读存储介质,存储有计算机程序,所述计算机程序被处理器执行时,使得所述处理器执行以下步骤:

普通用户节点向数据主链上传交易信息时,预先确定预定区块辅链是否有空余的预定区块;

若所述预定区块辅链没有空余的预定区块,则所述普通用户节点向所述预定区块辅链发起区块预定请求;

所述预定区块辅链根据所述区块预定请求,通过工作量证明机制,构造普通用户节点所需的预定区块;

若预定区块通过工作量证明机制达成共识,则所述普通用户节点获取所述预定区块的所有权信息,将所有权信息与交易信息打包成数据区块;

将所述数据区块添加到数据主链,以完成区块链交易。

采用本发明实施例,具有如下有益效果:

本发明在普通用户节点将交易信息上传到数据主链之前,预先构造预定区块,使得其在实际需要使用时直接使用预先构造的预定区块,无需在发送交易信息之后等待区块构建,这样,使得普通用户提前预定在短期未来会使用的区块,缩短等待区块构造的时间,提高效率。

附图说明

为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

其中:

图1为一个实施例中基于海洋运输的异步区块构造方法的流程图;

图2为又一实施例中基于海洋运输的异步区块构造方法的一应用场景图;

图3为一个实施例中基于海洋运输的异步区块构造装置的结构框图;

图4为一个实施例中计算机设备的结构框图。

具体实施方式

下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

如图1所示,在一个实施例中,提供了一种基于海洋运输的异步区块构造方法。该方法既可以应用于终端,也可以应用于服务器,本实施例以应用于终端举例说明。该基于海洋运输的异步区块构造方法具体包括如下步骤:

S10,普通用户节点向数据主链上传交易信息时,预先确定预定区块辅链是否有空余的预定区块。

具体地,海洋运输公有链的参与者包括普通用户、第三方用户以及支持节点。其中,普通用户能够使用海洋运输常规操作,如发起海运请求、追踪货物信息、汇款结算、事故调查分析等。普通用户是海洋运输公有链的主要信息提供者。第三方用户一般为权威机构(如边境管理局、海关、保险公司等)。第三方用户一般不直接参与业务,但具有监管海洋运输公有链的能力。支持节点包括公有链管理和财务两种节点。公有链管理节点负责处理参与者的身份管理、日常维护等。财务节点只在涉及到结算交易的时候才会与公有链交互。

因此,海洋运输公有链的参与者在海洋公有链网络以节点形式显示。海洋公有链网络包括普用户节点、第三方用户节点、支持节点以及区块协助构造节点。其中,区块协助构造节点用于协助构造区块,具体为利用其计算机资源,进行工作量证明运算,来协助构造区块,并无常驻要求,其可以自由选择加入或者离开海洋运输公有链。

在本实施例中,把区块链交易分成信息上传和区块构造两个异步操作。只有普通用户、第三方用户、支持节点可以上传信息到区块链。区块构造这一步骤是允许任意公共节点参与的。

进一步地,本申请通过允许普通用户预定在短期未来会使用的区块,在实际需要使用的时候,直接使用预定构造完成的区块,从而缩短等待区块构造的时间。因此,普通用户在海洋运输公有链(数据主链)提交信息之前,其必须向预定区块辅链提出预定要求。如果预定区块辅链存在有空余的预定区块,则该普通用户节点直接使用空余的预定区块。如果该普通用户节点用完了预定区块,还需要提交其他交易信息,则需要重新预定区块。如图2所示,用户1用完了预定区块辅链上的2个预定区块,还有其他交易信息提交到数据主链之前,需要再次向预定区块辅链提成预定要求,才能将其他交易信息与重新构造的预定区块的所有权信息等打包成数据区块,提交到数据主链,以完成交易。

如果预定区块辅链没有有空余的预定区块,则就需要构造预定区块。也就是说,普通用户节点向数据主链上传交易信息时,需要预先确定预定区块辅链是否有空余的预定区块,以决定是否要构造新的预定区块。

S20,若所述预定区块辅链没有空余的预定区块,则所述普通用户节点向所述预定区块辅链发起区块预定请求。

基于步骤S10,若预定区块辅链没有空余的预定区块,则需要通过海洋运输公有链上的区块协助构建节点来协助构造预定区块。在本实施例中,所述预定区块的结构包括区块哈希值、请求值ID、构建节点ID、预定时间、区块构建时间、请求序列号、工作量证明结果以及构建节点签名等。

因此,根据预定区块的结构,所述普通用户节点所发起的发起区块预定请求中包含请求者ID、预定时间、及给予区块协助构建节点的奖励(区块奖励)。该区块奖励(BlockReward)指的是矿工通过算力解决相关数学难题并创建新区块后所获得的奖励,区块奖励根据不同加密货币而有所不同。由于区块协助构建节点的总算力是有限的,能否成功预定区块取决于对区块协助构建节点的奖励的高低。若奖励高了,预定区块的普通用户减少,则供大于求;若奖励低了,预定区块的普通用户增加,则求大于供。通过区块预定请求中给予区块协助构建节点的奖励自我调节,预定区块辅链能以恒定的速度产生区块。

进一步地,该区块预定请求通过点对点网络协议广播到每一个区块协助构建节点。该点对点网络协议采用Gossip协议。该Gossip协议是一种去中心化的分布式协议,用于实现节点或者进程之间的信息交换,通常被用在大型的无中心化网络环境中,并且假设网络环境不太稳定,是分布式系统中被广泛使用的一种最终一致性协议,其将数据传播到系统中的每个节点,从而实现在大型分布式系统中可靠地进行数据的传播。

S30,预定区块辅链根据所述区块预定请求,通过工作量证明机制,构造普通用户节点所需的预定区块。

具体地,所述区块协助构建节点接收到所述区块预定请求,则通过计算机算法来暴力寻找工作量证明机制中数学难题的答案,从而构造所述普通用户节点所需的预定区块。

在区块链网络中,工作量证明机制是一种非常重要的共识机制,工作量证明简单的说就是通过工作获得指定成果,用成果来证明曾经付出的努力。如果想生成一个新的区块并写入区块链,需要验证其工作量证明结果。在本实施例中,该工作量证明机制为最长链,即新生成的区块节点位于工作量最大的最长支链上。只有该区块节点位于最长支链上才被区块链网络其他节点接收,达成共识。

因此,在区块协助构建节点完成预定区块的构造后,需要由区块链上所有的区块协助构建节点对该预定区块进行工作量证明验证,以检查该预定区块是否在最长支链上,来决定是否接受该预定区块。

需要说明的是,由于区块协助构建节点为一个或多个,如果多个区块协助构建节点均接收到该区块预定请求时,则每个区块协助构造节点同时进行暴力运算,快速寻找到工作量证明机制中数学难题答案的节点获得预定请求中提出的奖励机制。

在某一些实施例中,可对区块协助构建节点按区块奖励高低排序,以根据排序结果确定用于构造预定区块的区块协助构建节点。

若用于构造预定区块的区块协助构建节点仅一个,则所述预定区块辅链根据所述区块预定请求,通过工作量证明机制,构造普通用户节点所需的预定区块具体包括:

S31,若所述区块协助构建节点接收到所述区块预定请求,则通过计算机算法来暴力寻找工作量证明机制中数学难题的答案,从而构造所述普通用户节点所需的预定区块;

S32,在所述预定区块构造完成后,该区块协助构建节点通过工作量证明机制验证所述预定区块的工作量证明;

S33,根据工作量证明结果确定所述预定区块写入区块链。

其中,若所述工作量证明结果为所述预定区块不位于工作量最大的最长链上,则所述预定区块不能写入区块链中;

若所述工作量证明结果为所述预定区块位于工作量最大的最长链上,则所述预定区块写入区块链,以确定所述预定区块达成共识。

S40,若预定区块通过工作量证明机制达成共识,则所述普通用户节点获取所述预定区块的所有权信息,将所有权信息与交易信息打包成数据区块。

基于步骤S30,仅工作量证明结果为所述预定区块位于工作量最大的最长链上才继续后续构造数据区块操作。也就是说,若预定区块通过工作量证明机制达成共识,则普通用户节点从该构造的预定区块中获取其所有权信息,并将所有权信息与交易信息打包成数据区块。该数据区块的结构包括区块的哈希值、预定区块的哈希值、预定区块的所有权(拥有者的签名)、海洋运输事务的信息记录(主数据)、及数据节点的背书签名等。

需要说明的是,构建的数据区块是不需要进行工作量证明的验证,仅构建的预定区块需要进行工作量证明。

S50,将所述数据区块添加到数据主链,以完成区块链交易。

在本实施例中,将所述数据区块添加到数据主链,当数据主链的其他节点接收到新的数据区块时,需检查该数据区块的合法性,因此,数据主链接收到所述数据区块时,验证步骤S40构造的所述数据区块的合法性。该合法性具体表现为验证数据区块是否完整及预定区块所有权信息的合法性等。

一旦验证所述数据区块合法,则所述数据区块成功添加到该节点的所述数据主链上。然后该所述数据主链上其他节点通过Paxos算法达成对该数据区块的共识,并通过累加签名算法将背书签名添加到数据区块的数据节点背书项中,从而完成区块链交易。其中,该Paxos算法是一种基于消息传递的一致性算法,用于保证每个节点执行相同的命令序列,即就某个值或决议达成一致,通常用于分布式系统。

需要说明的是,本发明提出的异步区块构造方法没有减少实际的工作量,但转移了区块构造的延迟:只要普通用户有足够的预定区块,那么其能够迅速地把海洋运势事务的数据提交到数据主链。实际的延迟取决于预定区块的供求关系。这与传统的市场供求关系类似:由于区块协助构建节点的总算力是有限的,能否成功预定区块取决于对区块协助构建节点的奖励的高低。若奖励高了,预定区块的普通用户减少,则供大于求;若奖励低了,预定区块的普通用户增加,则求大于供。通过自我调节,预定区块辅链能以恒定的速度产生区块。

另外,本申请中所采用的验证机制不限于工作量证明机制,共识机制不限于Paxos算法,其可根据不同应用场景进行设定,如DPOS(Delegated Proof of Stake)算法等。

这样,基于步骤S10-S50,在普通用户节点将交易信息上传到数据主链之前,预先构造预定区块,使得其在实际需要使用时直接使用预先构造的预定区块,无需在发送交易信息之后等待区块构建,这样,使得普通用户提前预定在短期未来会使用的区块,缩短等待区块构造的时间,提高效率。同时,利用异步公有链区块构造技术实现了海运数字化,高效的货物追踪、事故调查及申诉解决。

基于上述方法,本申请还提供一种基于海洋运输的异步区块构造装置,如图3所示,所述装置包括:

预定区块确定模块100,用于普通用户节点向数据主链上传交易信息时,预先确定预定区块辅链是否有空余的预定区块;

区块预定请求模块200,用于若所述预定区块辅链没有空余的预定区块,则所述普通用户节点向所述预定区块辅链发起区块预定请求;

预定区块构造模块300,用于所述预定区块辅链根据所述区块预定请求,通过工作量证明机制,构造普通用户节点所需的预定区块;

数据区块构造模块400,用于若预定区块通过工作量证明机制达成共识,则所述普通用户节点获取所述预定区块的所有权信息,将所有权信息与交易信息打包成数据区块;

处理模块500,用于将所述数据区块添加到数据主链,以完成区块链交易,具体如上述方法所述。

基于上述方法,本申请还提供一种计算机设备,如图4所示,图4示例了一种计算机设备的内部结构图。该计算机设备具体可以是终端,也可以是服务器。如图4所示,该计算机设备包括通过系统总线连接的处理器、存储器和网络接口。其中,存储器包括非易失性存储介质和内存储器。该计算机设备的非易失性存储介质存储有操作系统,还可存储有计算机程序,该计算机程序被处理器执行时,可使得处理器实现年龄识别方法。该内存储器中也可储存有计算机程序,该计算机程序被处理器执行时,可使得处理器执行年龄识别方法。本领域技术人员可以理解,图4中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。

在一个实施例中,提出了一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,所述计算机程序被所述处理器执行时,使得所述处理器执行以下步骤:

普通用户节点向数据主链上传交易信息时,预先确定预定区块辅链是否有空余的预定区块;

若所述预定区块辅链没有空余的预定区块,则所述普通用户节点向所述预定区块辅链发起区块预定请求;

所述预定区块辅链根据所述区块预定请求,通过工作量证明机制,构造普通用户节点所需的预定区块;

若预定区块通过工作量证明机制达成共识,则所述普通用户节点获取所述预定区块的所有权信息,将所有权信息与交易信息打包成数据区块;

将所述数据区块添加到数据主链,以完成区块链交易。

在一个实施例中,提出了一种计算机可读存储介质,存储有计算机程序,所述计算机程序被处理器执行时,使得所述处理器执行以下步骤:

普通用户节点向数据主链上传交易信息时,预先确定预定区块辅链是否有空余的预定区块;

若所述预定区块辅链没有空余的预定区块,则所述普通用户节点向所述预定区块辅链发起区块预定请求;

所述预定区块辅链根据所述区块预定请求,通过工作量证明机制,构造普通用户节点所需的预定区块;

若预定区块通过工作量证明机制达成共识,则所述普通用户节点获取所述预定区块的所有权信息,将所有权信息与交易信息打包成数据区块;

将所述数据区块添加到数据主链,以完成区块链交易。

本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于一非易失性计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和/或易失性存储器。非易失性存储器可包括只读存储器(ROM)、可编程ROM(PROM)、电可编程ROM(EPROM)、电可擦除可编程ROM(EEPROM)或闪存。易失性存储器可包括随机存取存储器(RAM)或者外部高速缓冲存储器。作为说明而非局限,RAM以多种形式可得,诸如静态RAM(SRAM)、动态RAM(DRAM)、同步DRAM(SDRAM)、双数据率SDRAM(DDRSDRAM)、增强型SDRAM(ESDRAM)、同步链路(Synchlink)DRAM(SLDRAM)、存储器总线(Rambus)直接RAM(RDRAM)、直接存储器总线动态RAM(DRDRAM)、以及存储器总线动态RAM(RDRAM)等。

以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。

以上所述实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对本申请专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请专利的保护范围应以所附权利要求为准。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号