首页> 中国专利> 基于区块链的供应链管理方法及系统、设备、存储介质

基于区块链的供应链管理方法及系统、设备、存储介质

摘要

本发明公开了一种基于区块链的供应链管理方法及系统、设备、存储介质,该方法通过区块链将整个供应链上的信息公布在链上,经过多方节点的重复确认,提高信息的真实透明性,降低企业因信息流通不畅而造成的风险。而且,通过区块链和智能合约技术的结合,简化了单据的传送、审核过程,节省了人力物力财力和时间成本,使得整个供应链过程更加快捷、安全、智能。并且,通过运用区块链与私有数据结合的技术,在提高数据分享,避免数据孤岛,降低牛尾效应的同时,又能保护各个节点的敏感数据,同时可以对敏感数据进行可控分享,使得各企业针对不同的交易对象可以尽量获取最符合交易双方的交易条件。

著录项

  • 公开/公告号CN112862474A

    专利类型发明专利

  • 公开/公告日2021-05-28

    原文格式PDF

  • 申请/专利权人 湖南大学;

    申请/专利号CN202110162610.1

  • 申请日2021-02-05

  • 分类号G06Q20/10(20120101);G06Q20/38(20120101);G06Q10/08(20120101);G06Q40/04(20120101);G06F16/23(20190101);G06F16/27(20190101);G06F21/60(20130101);G06F21/62(20130101);G06F21/64(20130101);

  • 代理机构43211 长沙智嵘专利代理事务所(普通合伙);

  • 代理人颜汉华

  • 地址 410082 湖南省长沙市岳麓区湖南大学工商管理学院

  • 入库时间 2023-06-19 11:08:20

说明书

技术领域

本发明涉及供应链管理技术领域,特别地,涉及一种基于区块链的供应链管理方法及系统、设备、计算机可读取的存储介质。

背景技术

供应链是指生产及流通过程中,涉及将产品或服务提供给最终用户活动的上游与下游企业所形成的网链结构。如图1所示,传统的供应链交易流程为:

购货方向生产商下产品订单阶段:X1.a、购货方向生产商下产品订单,X1.b、购货方通过银行向生产商支付定金,X1.c、银行通知生产商定金到账;

生产商向供应商下原料订单阶段:X2.a、生产商向供应商下原料订单,X2.b、生产商通过银行向供应商支付定金,X2.c、银行通知供应商定金到账;

原料托运阶段:X3.a、供应商向物流商下单,进行原料托运,X3.b、供应商通过银行向物流商支付运费,X3.c、银行通知物流商运费到账,X3.d、物流商向生产商配送原料;

产品托运阶段:X4.a、生产商向物流商下单,进行产品托运,X4.b、生产商通过银行向物流商支付运费,X4.c、银行通知物流商运费到账,X4.d、物流商向购货方配送产品;

购货方支付尾款阶段:X5.a、购货方通过银行向生产商支付尾款,X5.b、银行通知生产商尾款到账;

生产商支付尾款阶段:X6.a、生产商方通过银行向供应商支付尾款,X6.b、银行通知供应商尾款到账。

因此,在传统的供应链中,牵扯到了大量纸质单据的开立和验证,且单据传递过程中往往采用邮递的方式,大大降低交易活动的效率,造成大量人力、物力等资源的浪费;而且,纸质的单据存在造假的可能,会增加交易的风险,纸质单据易丢失不易保管,一旦丢失,可能会造成重要隐私信息泄露;另外,在传统的供应链中,信息流通不畅,易产生牛尾效应。

发明内容

本发明提供了一种基于区块链的供应链管理方法及系统、设备、计算机可读取的存储介质,以解决传统的供应链中存在的交易活动效率低、信息易泄露、信息流通不畅的技术问题。

根据本发明的一个方面,提供一种基于区块链的供应链管理方法,包括以下步骤:

步骤S1:购货方节点与生产商节点在区块链上签署产品订单,并经银行节点验证;

步骤S2:生产商节点与供应商节点签署原料订单,并经银行节点验证;

步骤S3:供应商节点与物流商节点签署原料托运单,并经银行节点验证;

步骤S4:物流商节点与生产商节点进行原料交付活动,双方在货物交接单上签名后上传至区块链上;

步骤S5:生产商节点与物流商节点签署产品托运单,并经银行节点验证;

步骤S6:物流商节点与购货方节点进行产品交付活动,双方在货物交接单上签名后上传至区块链上;

步骤S7:购货方节点向生产商节点支付尾款,转账记录经购货方节点、生产商节点、银行节点三方签名后上传至区块链上;

步骤S8:生产商节点向供应商节点支付尾款,转账记录经生产商节点、供应商节点、银行节点三方签名后上传至区块链上;

其中,每个节点均配置有私有数据集和相应的链码,每个节点通过客户端与区块链网络进行信息交互,各个节点通过客户端向区块链上传的数据若是敏感数据则保存在对应的私有数据集中,否则保存在区块链网络的公共数据库中。

进一步地,区块链网络在存储层次、访问层次和调用层次分别设定了对应的隐私保密机制以对敏感数据进行保密处理。

进一步地,在存储层次时,首先链码通过调用随机盐生成函数GetSalt(n)生成随机盐salt,其中n表示随机盐的长度,然后再通过指定的哈希函数Hash(pravite_data+salt)计算需要上链的hash值,真实的私有数据存储在指定节点的私有数据集中。

进一步地,在访问层次,创建私有数据集后,通过函数CreateACL(pravite_data_set,client_set)创建私有数据集的访问控制列表acl,其中pravite_data_set表示一个或者一组私有数据集的标识符,client_set表示将获得对pravite_data_set所表示的私有数据集的访问权限的客户端集合,当有客户端申请访问私有数据集时,先使用GetID()函数来获取客户端标识符client_id,然后再通过函数IsInsideAccessControlList(client_id,acl)判断client_id是否有权访问该私有数据集,若client_id在acl中,则向客户端返回私有数据,若client_id不在acl中,则拒绝客户端对私有数据集的访问。

进一步地,在调用层次,当私有数据被调用时,通过函数GetPraviteTransient(pravite_data)将私有数据pravite_data转换为暂态数据transient_pravite_data,之后链码的调用函数再对transient_pravite_data进行调用。

进一步地,区块链网络还设置有共享私有数据机制,该机制包括访问控制列表、转移私有数据以及共享私有数据集,其中,访问控制列表是通过函数AddClientToACL(acl,client_set)将指定的客户端标识符集合client_set加入指定访问控制列表acl,转移私有数据是通过函数Transfer(pravite_data,pravite_data_set1,pravite_data_set2)对私有数据pravite_data进行转移,pravite_data_set1表示pravite_data在转移之前所属的私有数据集,pravite_data_set2表示pravite_data在转移之后所属的私有数据集,共享私有数据集是通过函数Share(pravite_data_set,client_set)对私有数据集pravite_data_set进行共享,client_set表示将可以共享pravite_data_set的客户端集合。

进一步地,区块链网络还设置有私有数据验证机制,通过函数对所获得的私有数据pravite_data及其对应的随机盐salt进行哈希计算得到一个hash′值,然后通过函数CompareHash(hash′,hash)对比hash′与链上该私有数据对应的hash,若hash′与hash相同,则说明该私有数据真实且正确,若hash′与hash不相同,则说明该私有数据是假数据或者数据不正确。

另外,本发明还提供一种基于区块链的供应链管理系统,采用如上所述的供应链管理方法,该系统包括:

产品订单签署模块,用于供购货方节点与生产商节点在区块链上签署产品订单,并经银行节点验证;

原料订单签署模块,用于供生产商节点与供应商节点签署原料订单,并经银行节点验证;

原料托运单签署模块,用于供供应商节点与物流商节点签署原料托运单,并经银行节点验证;

货物交接单上传模块,用于供物流商节点与生产商节点进行原料交付活动后和物流商节点与购货方节点进行产品交付活动后将双方签名后的货物交接单上传至区块链;

产品托运单签署模块,用于供生产商节点与物流商节点签署产品托运单,并经银行节点验证;

尾款支付模块,用于支付尾款,且在转账记录经相关节点签名后将其上传至区块链上;

区块链网络中的各个节点均配置有私有数据集和相应的链码,每个节点通过客户端与区块链网络进行信息交互,各个节点通过客户端向区块链上传的数据若是敏感数据则保存在对应的私有数据集中,否则保存在区块链网络的公共数据库中。

另外,本发明还提供一种设备,包括处理器和存储器,所述存储器中存储有计算机程序,所述处理器通过调用所述存储器中存储的所述计算机程序,用于执行如上所述的方法的步骤。

另外,本发明还提供一种计算机可读取的存储介质,用于存储基于区块链进行供应链管理的计算机程序,该计算机程序在计算机上运行时执行如上所述的方法的步骤。

本发明具有以下效果:

本发明的基于区块链的供应链管理方法,通过区块链将整个供应链上的信息公布在链上,经过多方节点的重复确认,提高信息的真实透明性,降低企业因信息流通不畅而造成的风险。在传统供应链下,不同实体各自保存各自的信息,严重缺乏透明度,造成了较高的时间成本和金钱成本,一旦出现问题(冒领、货物假冒等),难以追查和处理,现所有参与主体的交准确的易信息都上链,使整个交易过程透明化,便于监管,同时便于系统地衡量风险,参与主体之间的信任程度加深。另外,区块链提供了记账和交易处理系统,替代了传统单据结算过程中占用大量人力和时间的审单、制单、电报和邮寄等流程。而且,通过区块链和智能合约技术的结合,简化了单据的传送、审核过程,节省了人力物力财力和时间成本,使得整个供应链过程更加快捷、安全、智能。并且,通过运用区块链与私有数据结合的技术,在提高数据分享,避免数据孤岛,降低牛尾效应的同时,又能保护各个节点的敏感数据,同时可以对敏感数据进行可控分享,使得各企业针对不同的交易对象可以尽量获取最符合交易双方的交易条件。

另外,本发明的基于区块链的供应链管理系统、设备及存储介质同样具有上述优点。

除了上面所描述的目的、特征和优点之外,本发明还有其它的目的、特征和优点。下面将参照图,对本发明作进一步详细的说明。

附图说明

构成本申请的一部分的附图用来提供对本发明的进一步理解,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:

图1是现有供应链的业务流程示意图。

图2是本发明优选实施例的基于区块链的供应链管理方法的流程示意图。

图3是本发明优选实施例的区块链网络的网络结构示意图。

图4是图2中的步骤S1的子流程示意图。

图5是图2中的步骤S2的子流程示意图。

图6是图2中的步骤S3的子流程示意图。

图7是图2中的步骤S4的子流程示意图。

图8是图2中的步骤S5的子流程示意图。

图9是图2中的步骤S6的子流程示意图。

图10是图2中的步骤S7的子流程示意图。

图11是图2中的步骤S8的子流程示意图。

图12是本发明优选实施例的区块链事务处理流程泳道图。

图13是本发明优选实施例的区块链私有数据处理流程泳道图。

图14是本发明另一实施例的基于区块链的供应链管理系统的模块结构示意图。

具体实施方式

以下结合附图对本发明的实施例进行详细说明,但是本发明可以由下述所限定和覆盖的多种不同方式实施。

如图2所示,本发明的优选实施例提供一种基于区块链的供应链管理方法,包括以下步骤:

步骤S1:购货方节点与生产商节点在区块链上签署产品订单,并经银行节点验证;

步骤S2:生产商节点与供应商节点签署原料订单,并经银行节点验证;

步骤S3:供应商节点与物流商节点签署原料托运单,并经银行节点验证;

步骤S4:物流商节点与生产商节点进行原料交付活动,双方在货物交接单上签名后上传至区块链上;

步骤S5:生产商节点与物流商节点签署产品托运单,并经银行节点验证;

步骤S6:物流商节点与购货方节点进行产品交付活动,双方在货物交接单上签名后上传至区块链上;

步骤S7:购货方节点向生产商节点支付尾款,转账记录经购货方节点、生产商节点、银行节点三方签名后上传至区块链上;

步骤S8:生产商节点向供应商节点支付尾款,转账记录经生产商节点、供应商节点、银行节点三方签名后上传至区块链上;

其中,每个节点均配置有私有数据集和相应的链码,每个节点通过客户端与区块链网络进行信息交互,上述每个步骤中各个节点通过客户端向区块链上传的数据若是敏感数据则保存在对应的私有数据集中,否则保存在区块链网络的公共数据库中。例如产品订单的具体金额、产品单价等敏感数据则保存在私有数据集中,而产品数量、订单时间、采购方名称、生产商名称等非敏感数据则保存在区块链网络的公共数据库中。

可以理解,本实施例的基于区块链的供应链管理方法,通过区块链将整个供应链上的信息公布在链上,经过多方节点的重复确认,提高信息的真实透明性,降低企业因信息流通不畅而造成的风险。在传统供应链下,不同实体各自保存各自的信息,严重缺乏透明度,造成了较高的时间成本和金钱成本,一旦出现问题(冒领、货物假冒等),难以追查和处理,现所有参与主体的交准确的易信息都上链,使整个交易过程透明化,便于监管,同时便于系统地衡量风险,参与主体之间的信任程度加深。另外,区块链提供了记账和交易处理系统,替代了传统单据结算过程中占用大量人力和时间的审单、制单、电报和邮寄等流程。而且,通过区块链和智能合约技术的结合,简化了单据的传送、审核过程,节省了人力物力财力和时间成本,使得整个供应链过程更加快捷、安全、智能。并且,通过运用区块链与私有数据结合的技术,在提高数据分享,避免数据孤岛,降低牛尾效应的同时,又能保护各个节点的敏感数据,同时可以对敏感数据进行可控分享,使得各企业针对不同的交易对象可以尽量获取最符合交易双方的交易条件。

可以理解,如图3所示,所述区块链网络具体包括以下节点:

①Oracle(预言机):一个提供外部信息的平台,能够允许区块链连接到任何现有的API,能够导入、存储、导出区块链上有关网络节点的信息,实现信息的动态获取;

②购货方节点:指有产品或服务需求的个人或者组织;

③生产商节点:指能够生产产品或提供服务的经济组织;

④供应商节点:指为生产商提供生产原料或技术的经济组织;

⑤物流商节点:指出口方至少从事运输(含运输代理、货物快递)或仓储一种经营业务,并能够按照客户物流需求对运输、储存、装卸、包装、流通加工、配送等基本功能进行组织和管理,具有与自身业务相适应的信息管理系统,实行独立核算、独立承担民事责任的经济组织;

⑥银行节点:指为供应链企业提供转账服务的商业银行;

⑦共识节点:由负责共识算法的机构组成,共识算法的维护和修改需由区块链网络中所有节点参与并达成一致后才能生效,区块链网络中节点提交的交易信息最终会由共识节点进行共识处理并打包成区块。

另外,区块链网络还包括排序节点,用于负责区块链网络中的交易排序。其中,区块链网络中所有节点各自维护一个账本,通过共识算法确保账本的一致性,区块链存储了账本所有交易日志,不可修改。区块链中的每一个区块均包括区块头、区块数据和区块元数据,其中,区块头存储有区块链编号、当前区块哈希值以及上一个区块头哈希值,当前区块哈希值为区块数据通过Merkle tree生成的root hash。区块数据包括所有交易数据,由共识节点打包写入区块。其中,交易数据包括交易头、交易签名、交易提案、交易响应和交易背书。交易头可以记录交易相关的一些重要原数据,比如链码的名字和版本号。交易签名包含由客户端创建的加密签名,用来检查交易细节是否被篡改。交易提案负责对智能合约的输入参数进行编码,在智能合约运行时,交易提案包含的输入参数与当前世界状态一同决定了新的账本世界状态。交易响应为智能合约的输出,以读写集(RW-set)的形式记录世界状态之前和之后的值,如果交易验证通过,该交易会写入账本上并更新世界状态数据库。交易背书由指定节点对交易提案的合法性进行检验,验证通过后的签名即为背书。而区块元数据包括区块生成时间,即时间戳,区块写入者的证书、公钥和签名。

可以理解,如图4所示,所述步骤S1具体包括以下步骤:

步骤S11:购货方节点构造产品订单,对其签名后上传到区块链;

步骤S12:生产商节点验证产品订单的签名,生成订单回执并对其签名后上传至区块链;

步骤S13:购货方节点验证订单回执后构造定金转账申请单,对其签名后上传至区块链;

步骤S14:银行节点验证定金转账申请单后,进行转账操作并生成转账记录,对其签名后上传至区块链;

步骤S15:购货方节点验证转账记录后对其签名确认并记录到链上;

步骤S16:生产商节点验证转账记录后对其签名确认并记录到链上。

可以理解,如图5所示,所述步骤S2具体包括以下步骤:

步骤S21:生产商节点构造原材料订单,对其签名后上传到区块链;

步骤S22:供应商节点验证原材料订单的签名,生成订单回执并对其签名后上传至区块链;

步骤S23:生产商节点验证订单回执后,构造定金转账申请单,对其签名后上传至区块链;

步骤S24:银行节点验证定金转账申请单后,进行转账操作并生成转账记录,对其签名后上传至区块链;

步骤S25:生产商节点验证转账记录后对其签名确认并记录到链上;

步骤S26:供应商节点验证转账记录后对其签名确认并记录到链上。

可以理解,如图6所示,所述步骤S3具体包括以下步骤:

步骤S31:供应商节点构造托运单对其签名,然后将托运单上传到区块链;

步骤S32:物流商节点验证托运单后,生成托运单回执并对其签名后上传至区块链;

步骤S33:供应商节点验证托运单回执后,构造运费转账申请单,对其签名后上传至区块链;

步骤S34:银行节点验证运费转账申请单后,进行转账操作并生成转账记录,对其签名后上传至区块链;

步骤S35:供应商节点验证转账记录后对其签名确认并记录到链上;

步骤S36:物流商节点验证转账记录后对其签名确认并记录到链上,同时开始运输原材料。

可以理解,如图7所示,所述步骤S4具体包括以下步骤:

步骤S41:物流商节点构造货物交接单并签名上传到区块链;

步骤S42:生产商节点收到并检验原材料后,在货物交接单上签收,然后将其上传至链上。

可以理解,如图8所示,所述步骤S5具体包括以下步骤:

步骤S51:生产商节点构造托运单对其签名,然后将托运单上传到区块链;

步骤S52:物流商节点验证托运单后,生成托运单回执并对其签名后上传至区块链;

步骤S53:生产商节点验证托运单回执后,构造运费转账申请单,对其签名后上传至区块链;

步骤S54:银行节点验证运费转账申请单后,进行转账操作并生成转账记录,对其签名后上传至区块链;

步骤S55:生产商节点验证转账记录后对其签名确认并记录到链上;

步骤S56:物流商节点验证转账记录后对其签名确认并记录到链上,同时开始运输产品。

可以理解,如图9所示,所述步骤S6具体包括以下步骤:

步骤S61:物流商节点构造货物交接单并签名后上传到区块链;

步骤S62:购货方节点收到并检验产品后,在货物交接单上签收,然后将其上传至链上。

可以理解,如图10所示,所述步骤S7具体包括以下步骤:

步骤S71:购货方节点向生产商节点支付尾款并构造尾款转账申请单,对其签名后上传至区块链;

步骤S72:银行节点验证尾款转账申请单后,进行转账操作并生成转账记录,对其签名后上传至区块链;

步骤S73:购货方节点验证转账记录后对其签名确认并记录到链上;

步骤S74:生产商节点验证转账记录后对其签名确认并记录到链上。

可以理解,如图11所示,所述步骤S8具体包括以下步骤:

步骤S81:生产商节点向供应商节点支付尾款并构造尾款转账申请单,对其签名后上传至区块链;

步骤S82:银行节点验证尾款转账申请单后,进行转账操作并生成转账记录,对其签名后上传至区块链;

步骤S83:生产商节点验证转账记录后对其签名确认并记录到链上;

步骤S84:供应商节点验证转账记录后对其签名确认并记录到链上。

在上述的每个步骤中,上传至区块链的文件均需关联节点共同签名背书,便于后期追溯,整个供应链业务流程公开透明,有利于降低购销双方在产品交易过程中的风险,增加了交易双方的信任程度。

可以理解,供应链上的各节点在交易过程中都有可能产生私有数据,而私有数据则大都是敏感数据,是各方节点都不愿意披露的。为了保护私有数据在存储层次、访问层次和调用层次的隐私性,本发明提出一种基于随机盐、访问控制列表以及暂态数据的私有数据分层混合隐私机制。

具体地,区块链网络给每个节点均配置有私有数据集和对应的链码。首先,在私有数据的存储层次进行隐私保护:在存储私有数据时,首先链码通过调用随机盐生成函数GetSalt(n)来生成随机盐salt,其中n表示随机盐的长度,然后再通过指定的哈希函数Hash(pravite_data+salt)计算需要上链的hash值,真实的私有数据存储在指定节点的私有数据集中。

其次,在私有数据的访问层次进行隐私保护:创建私有数据集后,可以通过函数CreateACL(pravite_data_set,client_set)创建私有数据集的访问控制列表acl,其中pravite_data_set表示一个或者一组私有数据集的标识符,client_set表示将获得对pravite_data_set所表示的私有数据集的访问权限的客户端集合。若要取消指定客户端对指定私有数据集的访问权限,则可以通过函数DeleteClientFromACL(acl,client_set)将该客户端标识符从指定访问控制列表acl中删除。当有客户端申请访问私有数据集时,先使用GetID()函数来获取客户端标识符client_id,然后再通过函数IsInsideAccessControlList(client_id,acl)判断client_id是否有权访问该私有数据集;若client_id在acl中,则向客户端返回私有数据;若client_id不在acl中,则拒绝客户端对私有数据集的访问。

另外,在私有数据的调用层次进行隐私保护:当私有数据被调用时,需通过函数GetPraviteTransient(pravite_data)将私有数据pravite_data转换为暂态数据transient_pravite_data;之后链码的调用函数再对transient_pravite_data进行调用。

可以理解,随机盐是在对数据明文进行hash计算之前随机生成一个盐,然后将数据明文和盐拼接为一个整体再进行hash计算。随机盐针对同一个编码,每次加密后的结果都不同,但是可以根据加密里保存的盐来校验hash值和明文是否匹配,相对来说随机盐可以保证数据库里的hash值不会被反成明文。私有数据及其对应的随机盐将保持私有,只有值对外公开,以此来防范对私有数据的字典攻击。访问控制列表(ACL):在链码中执行访问控制,可以为一个或多个私有数据集合创建一个访问控制列表,指明哪些客户端应用程序能够查询私有数据集合中的私有数据。暂态数据表示数据仅临时存在,会随着状态的改变而自动删除。暂态数据是一种可以向链码函数传参但不需要将其保存在交易记录中的输入方法,当链码调用私有数据时,将私有数据转换为暂态数据,可以有效避免私有数据上链以保护隐私。

在私有数据分层混合隐私机制中主要包含以下函数:

另外,供应链上各节点的私有数据不仅要保护其隐私,在有必要的时候也需要对私有数据进行共享,在本发明中,实现共享私有数据的方式主要有设置访问控制列表、转移私有数据以及共享私有数据集等方式。

其中,访问控制列表:通过设置私有数据集的访问控制列表,不仅可以保护隐私,也可以通过该机制将指定客户端标识符加入访问控制列表来共享私有数据。

具体地,通过函数AddClientToACL(acl,client_set)可以将指定的客户端标识符集合client_set加入指定访问控制列表acl。

转移私有数据:通过设置访问控制列表,指定客户端仅可以读取私有数据,却不能拥有该数据,若要完全拥有该数据则需对该数据进行转移。具体地:

通过函数Transfer(pravite_data,pravite_data_set1,pravite_data_set2)对私有数据pravite_data进行转移,pravite_data_set1表示pravite_data在转移之前所属的私有数据集,pravite_data_set2表示pravite_data在转移之后所属的私有数据集。

共享私有数据集:通过转移私有数据的机制仅能共享私有数据集中的部分私有数据,共享私有数据集机制则可以共享整个私有数据集。具体地:

通过函数Share(pravite_data_set,client_set)对私有数据集pravite_data_set进行共享,client_set表示将可以共享pravite_data_set的客户端集合。

另外,本发明考虑到在共享私有数据时,数据获得方需要对获得的数据进行验证,以确保数据的真实性与正确性。因此,本发明还提供了一种私有数据验证机制,具体地:

通过函数对所获得的私有数据pravite_data及其对应的随机盐salt进行哈希计算得到一个hash′值,然后通过函数CompareHash(hash′,hash)对比hash′与链上该私有数据对应的hash,若hash′与hash相同,则说明该私有数据真实且正确,若hash′与hash不相同,则说明该私有数据是假数据或者数据不正确。

因此,本发明通过运用区块链与私有数据结合的技术,在提高数据分享,避免数据孤岛,增加借贷双方的信任的同时,又能保护各个节点的敏感数据,同时可以对敏感数据进行可控分享,使得各企业针对不同的交易对象可以尽量获取最符合交易双方的交易条件。

另外,供应链业务流程本质上都是作为一条事务在区块链网络进行处理,首先由客户端将事务提交到背书节点进行背书,背书节点会返回背书结果,然后客户端再将背书结果作为事务提交到共识节点,由共识节点将事务打包成区块,进而再向由全网节点分发,全网节点验证通过后完成上链。因此,步骤S1-S8虽然业务流程不同,但作为事务在区块链网络的处理是一致的,如图12所示,此处以S1(购货方上传产品订单到区块链)为例来说明区块链网络是如何处理所述的供应链管理基本业务流程:

M1:购货方节点通过客户端构造产品订单,将订单作为事务提案提交到背书节点;

M2:背书节点根据预先设定的校验规则,验证事务提案的合法性,背书节点对验证通过的事务提案签名后返回客户端;

M3:客户端将背书节点返回的响应结果作为事务提交到区块链网络中的共识节点;

M4:共识节点根据预先设定的共识算法对提交的事务进行处理,并打包成区块,向全网所有节点广播;

M5:全网节点校验区块后,更新本地账本完成区块上链,并向客户端通知提交成功;

M6:客户端收到提交成功通知后,更新状态,此时产品订单提交成功。

另外,区块链网络处理私有数据集的事务流程:在区块链网络中,私有数据只能在授权节点保存,只能被授权节点访问,排序节点不能影响私有数据也不能看到私有数据,因为私有数据的分发是在背书之前由背书节点完成分发,背书节点返回给客户端的响应结果中包含私有数据的哈希值,但不包含具体的私有数据,所以当共识节点完成共识服务后分发的区块中只有私有数据的哈希值,没有具体的私有数据。如图13所示,以生产商B与购货方A部署了一个可以共享产品的实际成交价格(私有数据)的私有数据集为例来说明在区块链中私有数据的处理流程:

N1:生产商B通过客户端构造新增产品实际成交价格的交易提案,并将其提交到背书节点,由背书节点根据预先设定的校验规则,验证交易提案的合法性;

N2:背书节点根据私有数据集预先设定的分发策略将实际成交价格分发到授权节点(生产商B和购货方A);

N3:背书节点对验证通过的事务提案签名后,返回不包含成交价格但包含成交价格的哈希值的响应结果给客户端;

N4:客户端将背书节点返回的响应结果(不包含实际的私有数据)作为事务提交到区块链网络中的共识节点;

N5:共识节点根据预先设定的共识算法对提交的事务进行处理,并打包成区块,向全网所有节点广播;

N6:全网节点校验区块后,更新本地账本完成区块上链,并向客户端通知提交成功;

N7:客户端收到提交成功通知后,更新状态,此时新增产品实际成交价格成功。

另外,如图14所示,本发明的另一实施例还提供一种基于区块链的供应链管理系统,其采用如上所述的供应链管理方法,该系统包括:

产品订单签署模块,用于供购货方节点与生产商节点在区块链上签署产品订单,并经银行节点验证;

原料订单签署模块,用于供生产商节点与供应商节点签署原料订单,并经银行节点验证;

原料托运单签署模块,用于供供应商节点与物流商节点签署原料托运单,并经银行节点验证;

货物交接单上传模块,用于供物流商节点与生产商节点进行原料交付活动后和物流商节点与购货方节点进行产品交付活动后将双方签名后的货物交接单上传至区块链;

产品托运单签署模块,用于供生产商节点与物流商节点签署产品托运单,并经银行节点验证;

尾款支付模块,用于支付尾款,且在转账记录经相关节点签名后将其上传至区块链上;

区块链网络中的各个节点均配置有私有数据集和相应的链码,每个节点通过客户端与区块链网络进行信息交互,各个节点通过客户端向区块链上传的数据若是敏感数据则保存在对应的私有数据集中,否则保存在区块链网络的公共数据库中。例如产品订单的具体金额、产品单价等敏感数据则保存在私有数据集中,而产品数量、订单时间、采购方名称、生产商名称等非敏感数据则保存在区块链网络的公共数据库中。

可以理解,本实施例的基于区块链的基于区块链的供应链管理系统,通过区块链将整个供应链上的信息公布在链上,经过多方节点的重复确认,提高信息的真实透明性,降低企业因信息流通不畅而造成的风险。在传统供应链下,不同实体各自保存各自的信息,严重缺乏透明度,造成了较高的时间成本和金钱成本,一旦出现问题(冒领、货物假冒等),难以追查和处理,现所有参与主体的交准确的易信息都上链,使整个交易过程透明化,便于监管,同时便于系统地衡量风险,参与主体之间的信任程度加深。另外,区块链提供了记账和交易处理系统,替代了传统单据结算过程中占用大量人力和时间的审单、制单、电报和邮寄等流程。而且,通过区块链和智能合约技术的结合,简化了单据的传送、审核过程,节省了人力物力财力和时间成本,使得整个供应链过程更加快捷、安全、智能。并且,通过运用区块链与私有数据结合的技术,在提高数据分享,避免数据孤岛,降低牛尾效应的同时,又能保护各个节点的敏感数据,同时可以对敏感数据进行可控分享,使得各企业针对不同的交易对象可以尽量获取最符合交易双方的交易条件。

另外,本发明还提供一种设备,包括处理器和存储器,所述存储器中存储有计算机程序,所述处理器通过调用所述存储器中存储的所述计算机程序,用于执行如上所述的方法的步骤。

另外,本发明还提供一种计算机可读取的存储介质,用于存储基于区块链进行供应链管理的计算机程序,该计算机程序在计算机上运行时执行如上所述的方法的步骤。

一般计算机可读取介质的形式包括:软盘(floppy disk)、可挠性盘片(flexibledisk)、硬盘、磁带、任何其与的磁性介质、CD-ROM、任何其余的光学介质、打孔卡片(punchcards)、纸带(paper tape)、任何其余的带有洞的图案的物理介质、随机存取存储器(RAM)、可编程只读存储器(PROM)、可抹除可编程只读存储器(EPROM)、快闪可抹除可编程只读存储器(FLASH-EPROM)、其余任何存储器芯片或卡匣、或任何其余可让计算机读取的介质。指令可进一步被一传输介质所传送或接收。传输介质这一术语可包含任何有形或无形的介质,其可用来存储、编码或承载用来给机器执行的指令,并且包含数字或模拟通信信号或其与促进上述指令的通信的无形介质。传输介质包含同轴电缆、铜线以及光纤,其包含了用来传输一计算机数据信号的总线的导线。

以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

去获取专利,查看全文>

相似文献

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

客服邮箱:kefu@zhangqiaokeyan.com

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

  • 服务号