首页> 中国专利> 基于区块链的订单融资方法及系统、设备、存储介质

基于区块链的订单融资方法及系统、设备、存储介质

摘要

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

著录项

  • 公开/公告号CN112862475A

    专利类型发明专利

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

    原文格式PDF

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

    申请/专利号CN202110162611.6

  • 申请日2021-02-05

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

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

  • 代理人颜汉华

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

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

说明书

技术领域

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

背景技术

供应链是指生产及流通过程中,涉及将产品或服务提供给最终用户活动的上游与下游企业所形成的网链结构。而订单融资是指企业凭信用良好的买方产品订单,在技术成熟、生产能力有保障并能提供有效担保的条件下,由金融机构提供专项贷款,供企业购买材料组织生产,企业在收到货款后立即偿还贷款的业务。

如图1所示,现有的订单融资流程为:X1.生产商与购货方签订购销合同,并取得购货订单;X2.生产商持购销合同和购货订单向银行提出融资申请;X3.银行确认合同、订单的真实有效性,确定生产商的授信额度后,企业在银行开立销售结算专用账户;X4.生产商与银行签订订单融资合同及相关担保合同;X5.银行向生产商发放贷款,生产商须按合同规定用途支用贷款、完成订单项下交货义务;X6.购货方支付货款,银行在专用账户扣还贷款。

现有的订单融资业务存在以下问题:

①在传统的订单融资中,牵扯到了大量纸质单据的开立和验证,且单据传递过程中往往采用邮递的方式,大大降低交易活动的效率,造成大量人力、物力等资源的浪费。

②纸质的单据存在造假的可能,会增加融资风险。

③纸质单据易丢失不易保管,一旦丢失,可能会造成重要隐私信息泄露。

④信息流通不畅,金融机构缺少贷款企业的历史交易信息,在给中小企业提供融资服务时无法准确判断中小企业的信用情况,不利于金融机构放贷,也不利于中小企业融资。

⑤金融机构和监管机构难以监控货物的流通过程,难以高效监管贷款的实际去向。

⑥由于数据孤岛的存在,可能会出现相同的订单在多个金融机构贷款的情况,增加融资风险的同时,也增加了融资的难度。

发明内容

本发明提供了一种基于区块链的订单融资方法及系统、设备、计算机可读取的存储介质,以解决传统的订单融资业务存在的效率低、融资风险高、信息易泄露的技术问题。

根据本发明的一个方面,提供一种基于区块链的订单融资方法,包括以下步骤:

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

步骤S2:生产商节点基于产品订单向金融机构节点提交融资申请,金融机构节点审核通过后与生产商节点签署融资合同,同时为生产商节点开设专用账户并放款;

步骤S3:生产商节点与供应商节点签署原料订单,并经金融机构节点验证;

步骤S4:供应商节点与物流商节点签署托运单,并经金融机构节点验证;

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

步骤S6:生产商节点与物流商节点签署托运单,并经金融机构节点验证;

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

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

步骤S9:金融机构节点进行贷款结算活动,扣款记录和转账记录经相关节点签名后上传至区块链上。

进一步地,步骤S21:生产商节点构造订单融资申请单,对其签名后上传到区块链;

步骤S22:金融机构节点验证生产商节点的融资申请单后,构造资信查询申请单并签名后,将资信查询申请单上传到区块链;其中,资信查询包括对生产商节点和购货方节点的资信进行查询,有利于金融机构节点准确管控融资风险;

步骤S23:第三方资信机构节点验证金融机构节点的资信查询申请后,将查询对象的资信信息上传到区块链;

步骤S24:金融机构节点根据生产商节点和购货方节点的资信情况确定生产商节点的融资额度和利率,构造融资合同并签名后,将其上传到区块链;

步骤S25:生产商节点验证融资合同后,对合同进行签名确认并将其上传到区块链;

步骤S26:金融机构节点验证融资合同后对生产商节点开设专用账户并放款,并将放款单上传到区块链。

进一步地,所述步骤S24中还制定了订单融资风险评估机制和订单融资利率决策机制,从多个角度对订单融资进行风险评估和对融资利率进行准确设定,其中,订单融资风险由三个层面的风险构成:外部风险、主体风险以及订单风险,外部风险指由于经济环境、政策环境、产业环境以及产品性质变化而产生的风险,主体风险由融资需求方的主体资质、财务状况、诚信历史、贸易背景、运营状况以及其上下游企业履约能力来衡量,订单风险由融资期限、融资额以及融资额占订单所需资金比例决定,而订单融资利率由无风险利率与风险溢价决定,采用即期的长期国债利率作为无风险利率,风险溢价由订单融资风险决定。

进一步地,区块链网络中的各个节点均配置有私有数据集和相应的链码,并分别在存储层次、访问层次和调用层次设定了对应的隐私保密机制对敏感数据进行保密处理。

进一步地,在存储层次时,首先链码通过调用随机盐生成函数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是图2中的步骤S9的子流程示意图。图13是本发明优选实施例的区块链事务处理流程泳道图。图14是本发明优选实施例的区块链私有数据处理流程泳道图。图15是本发明另一实施例的基于区块链的订单融资系统的模块结构示意图。

具体实施方式

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

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

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

步骤S2:生产商节点基于产品订单向金融机构节点提交融资申请,金融机构节点审核通过后与生产商节点签署融资合同,同时为生产商节点开设专用账户并放款;

步骤S3:生产商节点与供应商节点签署原料订单,并经金融机构节点验证;

步骤S4:供应商节点与物流商节点签署托运单,并经金融机构节点验证;

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

步骤S6:生产商节点与物流商节点签署托运单,并经金融机构节点验证;

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

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

步骤S9:金融机构节点进行贷款结算活动,扣款记录和转账记录经相关节点签名后上传至区块链上。

可以理解,本实施例的基于区块链的订单融资方法,通过区块链将整个供应链上的信息公布在链上,经过多方节点的重复确认,提高信息的真实透明性,降低因信息流通不畅而造成的风险。区块链提供了记账和交易处理系统,替代了传统单据结算过程中占用大量人力和时间的审单、制单、电报和邮寄等流程,节省了人力物力财力和时间成本,使得整个供应链企业订单融资过程更加快捷、安全、智能。传统订单融资下,不同实体各自保存各自的信息,严重缺乏透明度,造成了较高的时间成本和金钱成本,一旦出现问题(订单重复融资等),难以追查和处理,现所有参与主体的交准确的易信息都上链,使整个交易过程透明化,便于监管,同时便于系统地衡量风险,参与主体之间的信任程度加深。

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

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

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

③生产商节点:指能够生产产品或提供服务的经济组织,可能会有订单融资的需求;

④供应商节点:指为生产企业提供生产原料或技术的经济组织,可能会有订单融资的需求;

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

⑥金融机构节点:指能够提供订单融资服务和转账服务的银行或者其他金融机构;

⑦第三方资信机构节点:指依照相关法律法规批准成立,征集企业和个人资信信息,向企业和个人资信信息使用者提供企业和个人资信信息查询、评级和查询服务并独立运作的中介性法人单位;

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

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

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

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

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

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

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

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

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

在所述步骤S1中,金融机构节点介入到产品订单签署过程中,并且定金由购货方节点向金融机构节点申请后,由金融机构节点执行转账动作,以便于了解产品订单的真实性,有效降低了金融机构节点的融资风险。

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

步骤S21:生产商节点构造订单融资申请单,对其签名后上传到区块链;

步骤S22:金融机构节点验证生产商节点的融资申请单后,构造资信查询申请单并签名后,将资信查询申请单上传到区块链;其中,资信查询包括对生产商节点和购货方节点的资信进行查询,有利于金融机构节点准确管控融资风险;

步骤S23:第三方资信机构节点验证金融机构节点的资信查询申请后,将查询对象的资信信息上传到区块链;

步骤S24:金融机构节点根据生产商节点和购货方节点的资信情况确定生产商节点的融资额度和利率,构造融资合同并签名后,将其上传到区块链;

步骤S25:生产商节点验证融资合同后,对合同进行签名确认并将其上传到区块链;

步骤S26:金融机构节点验证融资合同后对生产商节点开设专用账户并放款,并将放款单上传到区块链。

在所述步骤S2中,金融机构节点同时对生产商节点和购货方节点的资信进行评估,全面了解供销双方的信用情况,有利于降低融资风险。

作为优选的,在所述步骤S24中,本发明还制定了订单融资风险评估机制和订单融资利率决策机制,从多个角度对订单融资进行风险评估和对融资利率进行准确设定,有助于严格管控金融机构节点的放贷风险。具体地,订单融资风险(Order financing risk)主要由三个层面的风险构成:外部风险(External risk)、主体风险(Subject risk)以及订单风险(Order risk)。

Orde financing risk=f

其中,外部风险主要指由于经济环境(E1)、政策环境(E2)、产业环境(E3)以及产品性质(E4)变化而产生的风险。

External risk=f

主体风险主要由融资需求方的主体资质(S1)、财务状况(S2)、诚信历史(S3)、贸易背景(S4)、运营状况(S5)以及其上下游企业履约能力(S6)等因素来衡量。

Subject risk=f

订单风险主要由融资期限(O1)、融资额(O2)以及融资额占订单所需资金比例(O3)等因素决定。

Order risk=f

而订单融资利率(Order financing rate)主要由无风险利率(Risk free rate)与风险溢价(Risk premium)来决定:

Order financing rate=Risk free rate+Risk premium

其中,无风险利率是指将资金投资于某一项没有任何风险的投资对象而能得到的利率,利率是对机会成本及风险的补偿,其中对机会成本的补偿称为无风险利率。本发明使用即期的长期国债利率作为无风险利率。

风险溢价是指已经确定的收益与冒风险所得收益之差,是投资者要求对其自身承担风险的补偿。在本发明中,风险溢价主要由订单融资风险来决定:

Risk premium=f

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

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

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

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

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

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

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

在所述步骤S3中,金融机构节点介入到原料订单的签署过程中,并且原料订单的定金由生产商节点向金融机构节点申请后,由金融机构节点执行转账动作,以便于掌握原料订单的真实性,有效降低了金融机构节点的融资风险。

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

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

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

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

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

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

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

在所述步骤S4中,金融机构节点介入到原料托运的过程中,并且运费的转账由供应商节点向金融机构节点申请后,由金融机构节点执行转账动作,以便于掌握原料托运的真实性,有效降低了金融机构节点的融资风险。

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

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

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

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

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

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

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

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

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

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

在所述步骤S6中,金融机构节点介入到产品托运的过程中,并且运费的转账由供应商节点向金融机构节点申请后,由金融机构节点执行转账动作,以便于掌握产品托运的真实性,有效降低了金融机构节点的融资风险。

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

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

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

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

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

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

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

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

步骤S91:金融机构节点从生产商节点的融资专用账户扣还贷款和利息,并生成扣款单,签名后将其上传到区块链;

步骤S92:生产商节点验证扣款单后对其签名确认并记录到链上;

步骤S93:生产商节点构造尾款转账申请单,对其签名后上传至区块链;

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

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

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

在所述步骤S9中,贷款本金和利息的扣除需金融机构节点和生产商节点共同签名背书后上传至区块链上,便于后期追溯,而融资尾款的结算则需金融机构节点、生产商节点和购货方节点三方共同签名背书,有利于购货方节点准确地评估生产商节点的信用程度,有利于降低购货方节点在产品交易过程中的风险,增加了交易双方的信任程度。

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

具体地,区块链网络给每个节点均配置有私有数据集和对应的链码。首先,在私有数据的存储层次进行隐私保护:在存储私有数据时,首先链码通过调用随机盐生成函数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-S9虽然业务流程不同,但作为事务在区块链网络的处理是一致的,如图13所示,此处以S1(购货方上传产品订单到区块链)为例来说明区块链网络是如何处理所述的供应链企业订单融资基本业务流程:

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

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

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

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

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

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

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

N1:金融机构B通过客户端构造新增订单融资实际利率的事务提案,并将其提交到背书节点,由背书节点根据预先设定的校验规则,验证事务提案的合法性;

N2:背书节点根据私有数据集预先设定的分发策略将实际贷款利率分发到授权节点(生产商A和金融机构B);

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

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

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

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

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

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

融资模块,用于供生产商节点基于产品订单向金融机构节点提交融资申请,金融机构节点审核通过后与生产商节点签署融资合同,同时为生产商节点开设专用账户并放款;

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

托运单签署模块,用于供供应商节点与物流商节点、生产商节点与物流商节点签署托运单,并经金融机构节点验证;

尾款支付模块,用于供购货方节点向生产商节点支付尾款,转账记录经购货方节点、生产商节点、金融机构节点三方签名后上传至区块链上;

贷款结算模块,用于供金融机构节点进行贷款结算活动,扣款记录和转账记录经相关节点签名后上传至区块链上。

可以理解,本实施例的基于区块链的订单融资系统,通过区块链将整个供应链上的信息公布在链上,经过多方节点的重复确认,提高信息的真实透明性,降低因信息流通不畅而造成的风险。区块链提供了记账和交易处理系统,替代了传统单据结算过程中占用大量人力和时间的审单、制单、电报和邮寄等流程,节省了人力物力财力和时间成本,使得整个供应链企业订单融资过程更加快捷、安全、智能。传统订单融资下,不同实体各自保存各自的信息,严重缺乏透明度,造成了较高的时间成本和金钱成本,一旦出现问题(订单重复融资等),难以追查和处理,现所有参与主体的交准确的易信息都上链,使整个交易过程透明化,便于监管,同时便于系统地衡量风险,参与主体之间的信任程度加深。

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

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

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

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

去获取专利,查看全文>

相似文献

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

客服邮箱:kefu@zhangqiaokeyan.com

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

  • 服务号