基于区块链智能合约的船舶信息登记方法与流程

文档序号:22315869发布日期:2020-09-23 01:41阅读:181来源:国知局
基于区块链智能合约的船舶信息登记方法与流程

本发明属于区块链技术领域,具体涉及信息存储领域,特别涉及一种基于区块链智能合约的船舶信息登记方法。



背景技术:

船舶是水路运输行业管理的基础对象,如何及时与准确地获得船舶拥有量信息及其变更情况,对促进水路运输行业管理和宏观调控及决策有重要的作用。

当前,各营运船舶都是以纸质档案或以单机或局域网应用系统进行管理,各自形成分块的信息孤岛,船舶信息之间没有联系也不能共享,不能真正反映船舶总体情况,不能掌握船舶的变更情况,导致船舶基础信息没有在行业管理中发挥更好的作用。这种信息的滞后与信息的不对称让船舶多次抵押,船舶在所有权已经抵押还继续变卖等违法行为有可乘之机。因此研究一种能充分利用船舶信息的管理方法具有重要意义。

区块链是指通过去中心化和去信任的方式集体维护一个可靠数据库的技术方案,正在快速扩展到越来越多的行业中,其本质上是一种分布式记账技术,能够确保数据不被篡改、损毁,对信息存储维护场景具有重要价值。



技术实现要素:

本发明的目的在于针对上述技术问题,提供一种能够实现船舶信息登记业务数据上链(具有规范船舶信息登记行为,提高船舶信息登记效率和质量、安全性、可信度和可溯源性,以及降低监管成本等特点),用户能够查询业务的历史信息的船舶信息登记方法,推动船舶数据应用新发展。

实现本发明目的的技术解决方案为:一种基于区块链智能合约的船舶信息登记方法,应用于区块链系统中,该系统包括至少一个区块链节点,所述方法包括以下步骤:

所述区块链节点接收船舶信息登记系统发送的结构化业务数据;

所述区块链节点将所述结构化业务数据打包成区块;

所述区块链系统对所述区块进行验证,验证通过后,所述区块上链;

所述船舶信息登记系统调用区块链系统的公钥对所述区块进行加密。

进一步地,所述方法还包括:所述船舶信息登记系统接收终端查询请求,并根据该请求信息查询区块链系统上的结构化业务数据,之后将查询结果反馈至终端。

进一步地,所述根据该请求信息查询区块链系统上的结构化业务数据,具体过程包括:船舶信息登记系统根据请求信息获取区块链系统中的区块,之后调用区块链系统的私钥对所述区块进行解密,通过业务id获取与业务id关联的结构化业务数据,发送至所述终端。

进一步地,所述区块链系统包括主链和子链,所述主链通过智能合约管理至少一个子链,所述智能合约包括子链的共识机制和子链的验证方式。

进一步地,所述区块链系统对所述区块进行验证,验证通过后,所述区块上链,该过程具体包括:

记用于将结构化业务数据打包成区块的区块链节点为区块链系统的第一区块链节点,记区块链系统的其他区块链节点为验证节点;

所述第一区块链节点对所述区块进行验证,验证通过后,将所述区块发送至其余验证节点,并执行下一步;否则将该区块废弃,不进行上链,且将该第一区块链节点作为恶意节点并加入黑名单,同时新增区块链节点替换所述恶意节点,返回第二步重新生成区块;

所述验证节点对所述区块进行验证,所有验证节点均验证通过后,所述区块上链;否则将该区块废弃,不进行上链,且将判断该区块为验证通过的验证节点作为恶意节点并加入黑名单,同时新增区块链节点替换所述恶意节点,返回第二步重新生成区块。

一种非暂时性计算机可读存储介质,其耦合到一个或多个处理器并且其上存储有指令,所述指令在被所述一个或多个处理器执行时,促使所述一个或多个处理器执行以下步骤:

所述区块链节点接收船舶信息登记系统发送的结构化业务数据;

所述区块链节点将所述结构化业务数据打包成区块;

所述区块链系统对所述区块进行验证,验证通过后,所述区块上链;

所述船舶信息登记系统调用区块链系统的公钥对所述区块进行加密。

一种系统,包括:

计算设备;以及

计算机可读存储设备,其耦合到所述计算机设备并且其上存储有指令,所述指令在被所述计算设备执行时促使所述计算设备执行以下步骤:

所述区块链节点接收船舶信息登记系统发送的结构化业务数据;

所述区块链节点将所述结构化业务数据打包成区块;

所述区块链系统对所述区块进行验证,验证通过后,所述区块上链;

所述船舶信息登记系统调用区块链系统的公钥对所述区块进行加密。

本发明与现有技术相比,其显著优点为:1)能够让船舶信息登记业务数据的过程上链,在区块链系统中,船舶信息登记业务数据的历史通过业务数据的id进行对应,用户能够查询业务的历史信息;2)船舶信息登记系统的业务数据上链有助于提高可信度和可溯源性,船舶信息数据的上链有三个主要特征:数据是支撑更改的,在本申请的区块链中可以体现为数据的版本,每次更改都可以通过版本的形式保存在链上,因此可以追溯数据的所有修改历史;数据的属性被结构化的保存下来,数据关联属性的值本身并不能直接被更改,而是关联到区块链上的另一条数据,从而该关联属性值被修改,区块链只将业务id对应的业务数据历史保存下来;3)通过筛选恶意节点可以提高船舶信息注册的质量,以及航运基础设施和个人的信息安全。

下面结合附图对本发明作进一步详细描述。

附图说明

图1为一个实施例中基于区块链智能合约的船舶信息登记方法的流程图。

图2为一个实施例中区块验证流程图。

具体实施方式

为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处描述的具体实施例仅用以解释本申请,并不用于限定本申请。

区块链本质上是一种分布式记账技术,能够确保数据不被篡改、损毁,更加适用于船舶信息登记场景。通过区块链技术,建立互信共享机制,规范船舶信息登记行为,提升船舶登记的效率和质量,推动船舶数据应用新发展。区块链智能合约在船舶登记的监管中也有着重大价值,出现非合规事件时,智能合约会自主跟踪合规情况、实时向相关方发送通知,有效去除检查环节,简化执行流程,降低监管成本。本申请基于以上考虑,提出一种基于区块链智能合约的船舶信息登记方法,具有很强的扩展性和友好性。

在一个实施例中,结合图1,提供了一种基于区块链智能合约的船舶信息登记方法,应用于区块链系统中,该系统包括至少一个区块链节点,所述方法包括以下步骤:

步骤s01,所述区块链节点接收船舶信息登记系统发送的结构化业务数据;

这里,结构化业务数据包括业务id、业务关联属性、申请时间以及申请者id(船舶信息登记业务需要提供的内容,比如船舶基础信息、船舶检验信息等)。

步骤s02,所述区块链节点将所述结构化业务数据打包成区块;

步骤s03,所述区块链系统对所述区块进行验证,验证通过后,所述区块上链;

步骤s04,所述船舶信息登记系统调用区块链系统的公钥对所述区块进行加密。

这里,船舶信息登记系统可以是区块链节点,将业务数据发送给具有打包功能的其它区块链节点进行打包,且发送给具有验证功能的区块链节点进行验证,验证通过后,所述业务数据上链。业务数据上链后,只有业务数据的所有者能够通过其私钥查看该业务数据。其他用户只有部分权限,查到该业务数据的一部分。船舶信息登记系统为非区块链节点的独立系统时,将该业务数据发送给区块链节点,进行上链过程。

上述步骤s02和步骤s03不限于上述顺序执行,可以同时进行,即对区块进行验证的同时可以打包生成新的区块,这样能够显著提升区块链系统的区块生成效率。

进一步地,在其中一个实施例中,所述方法还包括:

步骤s05,所述船舶信息登记系统接收终端(客户终端)查询请求,并根据该请求信息查询区块链系统上的结构化业务数据,之后将查询结果反馈至终端。

该步骤s05不限于上述设定顺序执行,可以与其他步骤同时执行。

进一步地,在其中一个实施例中,所述根据该请求信息查询区块链系统上的结构化业务数据,具体过程包括:船舶信息登记系统根据请求信息获取区块链系统中的区块,之后调用区块链系统的私钥对所述区块进行解密,通过业务id获取与业务id关联的结构化业务数据,发送至所述终端。

示例性地,所述查询请求包括所述终端查询区块链上所述业务id的业务关联属性,具体过程为:船舶信息登记系统根据请求信息获取区块链系统中的区块,并调用区块链系统的私钥对所述区块进行解密,然后根据区块链上所述业务id获取对应的至少一个业务关联属性,之后将至少一个所述业务关联属性发送给所述终端。

进一步地,在其中一个实施例中,所述区块链系统包括主链和子链,所述主链通过智能合约管理至少一个子链,所述智能合约包括子链的共识机制和子链的验证方式。

这里,所述共识机制包括工作量证明(proofofwork,pow)、权益证明(proofofstake,pos)以及授权股权证明(delegatedproofofstake,dpos)中的一种;所述子链的验证方式包括:子链节点对待验证区块进行哈希运算后,将得到的哈希值存储在所述主链区块的区块体中,所述待验证区块为相隔预设块高度的多个区块,或者为相隔随机块高度的多个区块。

进一步地,在其中一个实施例中,所述区块上链后存储在所述子链上。

这里,需要说明的是,一些业务数据大的区块链应用场景,可以将文件数据的哈希值存储在子链上,原始的业务数据链下保存。

进一步地,在其中一个实施例中,结合图2,步骤s03所述区块链系统对所述区块进行验证,验证通过后,所述区块上链,该过程具体包括:

记用于将结构化业务数据打包成区块的区块链节点为区块链系统的第一区块链节点,记区块链系统的其他区块链节点为验证节点;

步骤s031,所述第一区块链节点对所述区块进行验证,验证通过后,将所述区块发送至其余验证节点,并执行下一步;否则将该区块废弃,不进行上链,且将该第一区块链节点作为恶意节点并加入黑名单,同时新增区块链节点替换所述恶意节点,返回第二步重新生成区块;

步骤s032,所述验证节点对所述区块进行验证,所有验证节点均验证通过后,所述区块上链;否则将该区块废弃,不进行上链,且将判断该区块为验证通过的验证节点作为恶意节点并加入黑名单,同时新增区块链节点替换所述恶意节点,返回第二步重新生成区块。

这里,所述否则包括节点拒绝验证,或者验证不通过。

进一步优选地,在其中一个实施例中,步骤s031中所述其余验证节点由第一区块链节点利用vrf算法从所有验证节点中选取获得。

这里,利用vrf算法选择多个验证节点对区块进行验证,通过该机制可以防止任意数量的区块链节点做恶,提高航运基础设施和个人的信息安全。

这里,还可以采用其他现有随机选择算法选取验证节点。

进一步优选地,在其中一个实施例中,步骤s031中所述第一区块链节点利用dpos算法对所述区块进行验证。

进一步优选地,在其中一个实施例中,步骤s032中所述验证节点利用拜占庭容错算法对所述区块进行验证。

在一个实施例中,本发明提供了一种非暂时性计算机可读存储介质,其耦合到一个或多个处理器并且其上存储有指令,所述指令在被所述一个或多个处理器执行时,促使所述一个或多个处理器执行以下步骤:

步骤s01,所述区块链节点接收船舶信息登记系统发送的结构化业务数据;

步骤s02,所述区块链节点将所述结构化业务数据打包成区块;

步骤s03,所述区块链系统对所述区块进行验证,验证通过后,所述区块上链;

步骤s04,所述船舶信息登记系统调用区块链系统的公钥对所述区块进行加密;

步骤s05,所述船舶信息登记系统接收终端查询请求,并根据该请求信息查询区块链系统上的结构化业务数据,之后将查询结果反馈至终端。

这里,关于每个步骤的具体限定可以参见上文中对于基于区块链智能合约的船舶信息登记方法的限定,在此不再赘述。

在其中一个实施例中,提供了一种系统,包括:

计算设备;以及

计算机可读存储设备,其耦合到所述计算机设备并且其上存储有指令,所述指令在被所述计算设备执行时促使所述计算设备执行以下步骤:

步骤s01,所述区块链节点接收船舶信息登记系统发送的结构化业务数据;

步骤s02,所述区块链节点将所述结构化业务数据打包成区块;

步骤s03,所述区块链系统对所述区块进行验证,验证通过后,所述区块上链;

步骤s04,所述船舶信息登记系统调用区块链系统的公钥对所述区块进行加密;

步骤s05,所述船舶信息登记系统接收终端查询请求,并根据该请求信息查询区块链系统上的结构化业务数据,之后将查询结果反馈至终端。

这里,关于每个步骤的具体限定可以参见上文中对于基于区块链智能合约的船舶信息登记方法的限定,在此不再赘述。

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

以上显示和描述了本发明的基本原理、主要特征及优点。本行业的技术人员应该了解,本发明不受上述实施例的限制,上述实施例和说明书中描述的只是说明本发明的原理,在不脱离本发明精神和范围的前提下,本发明还会有各种变化和改进,这些变化和改进都落入要求保护的本发明范围内。本发明要求保护范围由所附的权利要求书及其等效物界定。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1