CN117333184B - 一种基于区块链的供应链对账方法、系统及存储介质 - Google Patents
一种基于区块链的供应链对账方法、系统及存储介质 Download PDFInfo
- Publication number
- CN117333184B CN117333184B CN202311218099.8A CN202311218099A CN117333184B CN 117333184 B CN117333184 B CN 117333184B CN 202311218099 A CN202311218099 A CN 202311218099A CN 117333184 B CN117333184 B CN 117333184B
- Authority
- CN
- China
- Prior art keywords
- signature
- reconciliation
- identity
- node
- target node
- 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.)
- Active
Links
- 238000000034 method Methods 0.000 title claims abstract description 86
- 238000012795 verification Methods 0.000 claims abstract description 80
- 238000012545 processing Methods 0.000 claims abstract description 30
- 238000004590 computer program Methods 0.000 claims description 8
- 230000006870 function Effects 0.000 claims description 7
- 230000002159 abnormal effect Effects 0.000 claims description 4
- 238000004891 communication Methods 0.000 claims description 2
- 239000003999 initiator Substances 0.000 abstract description 3
- 239000000047 product Substances 0.000 description 10
- 238000004422 calculation algorithm Methods 0.000 description 8
- 238000013461 design Methods 0.000 description 8
- 238000004364 calculation method Methods 0.000 description 5
- 230000000694 effects Effects 0.000 description 3
- 238000012216 screening Methods 0.000 description 3
- 230000032683 aging Effects 0.000 description 2
- 238000013528 artificial neural network Methods 0.000 description 2
- 238000010586 diagram Methods 0.000 description 2
- 238000010200 validation analysis Methods 0.000 description 2
- 230000005856 abnormality Effects 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 239000013067 intermediate product Substances 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000009877 rendering Methods 0.000 description 1
- 230000001960 triggered effect Effects 0.000 description 1
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/40—Authorisation, e.g. identification of payer or payee, verification of customer or shop credentials; Review and approval of payers, e.g. check credit lines or negative lists
- G06Q20/401—Transaction verification
-
- 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/3823—Payment protocols; Details thereof insuring higher security of transaction combining multiple encryption tools for a transaction
-
- 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/3825—Use of electronic signatures
-
- 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/3829—Payment protocols; Details thereof insuring higher security of transaction involving key management
-
- 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/40—Authorisation, e.g. identification of payer or payee, verification of customer or shop credentials; Review and approval of payers, e.g. check credit lines or negative lists
- G06Q20/401—Transaction verification
- G06Q20/4014—Identity check for transactions
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)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
- Financial Or Insurance-Related Operations Such As Payment And Settlement (AREA)
Abstract
本发明公开了一种基于区块链的供应链对账方法、系统及存储介质,本发明利用区块链中的联盟链来实现整个对账过程,其中,将供应链中各个企业的交易数据进行链上存储,可利用区块链中账本不可篡改的特性,来保证各企业交易数据的真实性;同时,在每次对账时,均需要进行身份验证以及其对账信息的真实性验证,如此,可保证对账发起者的身份合法性以及发送的对账信息的真实性,从而可防止非法用户加入对账过程,提高对账的安全性;另外,利用智能合约来实现从交易账本中筛选出的各交易数据之间的对账处理,可在安全的环境下,高效的实现各企业间的数据对账;由此,本发明可在提高对账效率以及正确性的同时,安全可靠的完成整个对账过程。
Description
技术领域
本发明属于数据处理技术领域,具体涉及一种基于区块链的供应链对账方法、系统及存储介质。
背景技术
供应链是指围绕核心企业,从配套零件开始,制成中间产品以及最终产品,最后由销售网络把产品送到消费者手中的,将供应商、制造商、分销商直到最终用户连成一个整体的功能网链结构;其中,供应链中的各个企业相互之间基本都存在交易关系,因此,为保障交易记录正确可靠,各企业不可避免的会存在跨企业或跨系统的对账问题,而目前,大部分的企业在与外部企业对账时,多采用人工对账的方式,存在效率低、容易出错以及数据不可信的问题;基于此,如何提供一种高效、准确且可靠性高的供应链对账方法,已成为一个亟待解决的问题。
发明内容
本发明的目的是提供一种基于区块链的供应链对账方法、系统及存储介质,用以解决现有技术中采用人工对账所存在的效率低、容易出错以及数据不可信的问题。
为了实现上述目的,本发明采用以下技术方案:
第一方面,提供了一种基于区块链的供应链对账方法,应用于区块链中的联盟链,其中,所述联盟链包括对账节点以及若干联盟节点,各个联盟节点用于表征供应链中存在交易关系的各个企业,各个联盟节点共享一个交易账本以及一个对账智能合约,所述交易账本上存储有各个联盟节点定期上传的交易数据,任一交易数据包括交易信息摘要,所述交易信息摘要用于表征该任一交易数据对应的交易标识,且同一交易的参与方对应的交易数据的交易标识相同;
其中,所述基于区块链的供应链对账方法包括:
目标节点生成对账请求,并将所述对账请求发送至对账节点,其中,所述对账请求包括目标节点对应的身份标识签名信息和对账签名信息,所述对账签名信息包括目标交易信息摘要,且目标节点隶属于所述若干联盟节点;
其中,目标节点生成对账请求,包括:
目标节点获取对应的身份标识信息以及目标交易信息摘要;
目标节点生成第一随机数,并将所述第一随机数作为签名私钥;
目标节点获取椭圆曲线的基点,并基于所述签名私钥和所述基点,生成签名公钥;
目标节点利用所述签名私钥对所述身份标识信息以及所述目标交易信息摘要进行数字签名处理,以分别得到第一签名信息和第二签名信息;
目标节点利用所述第一签名信息和所述身份标识信息,组成身份标识签名信息,以及利用所述第二签名信息和所述目标交易信息摘要,组成对账签名信息;
目标节点利用所述身份标识签名信息、所述对账签名信息以及所述签名公钥,组成所述对账请求;
对账节点接收所述目标节点发送的对账请求,并基于所述对账请求中的身份标识签名信息,对所述目标节点进行身份合法性验证;
若身份合法性验证通过,对账节点则对所述对账签名信息进行签名认证,并在签名认证通过后,调用所述对账智能合约,从所述交易账本中拉取包含有所述目标交易信息摘要的交易数据,以作为待对账数据;
对账节点基于所述对账智能合约,对各个待对账数据进行对账处理,得出对账结果,并将所述对账结果发送至所述目标节点。
基于上述公开的内容,本发明预先在区块链中构建有联盟链,并将供应链中的各个企业作为联盟节点加入到联盟链中,如此,借助区块链中共享账本的特性,即可将联盟链中各个联盟节点的交易数据上传至联盟链中的交易账本中,从而使各个联盟节点共享联盟中所有企业的交易数据;同时,本发明还在联盟链中构建了对账智能合约,来辅助实现联盟中各节点之间的数据对账,以提高对账效率;具体的,对账过程如下所示:
当联盟链中的任一联盟节点存在对账需求时,则需要生成身份标识签名信息和对账签名信息来组成对账请求(下述称为目标节点),并将其发送至联盟链的对账节点;而对账节点在接收到该对账请求后,则先基于身份标识签名信息进行目标节点的身份验证,以保证其身份的合法性,以避免非法用户加入对账请求,从而防止数据外泄;其中,当身份合法性验证通过后,对账节点则对对账签名信息进行签名认证,以保证对账信息的真实性;接着,在签名认证通过后,对账节点则调用对账智能合约来进行数据对账;具体的,是先从交易账本中拉取包含有对账请求内的目标交易信息摘要的交易数据,从而获取到本次需要对账,且来源于不同企业的交易数据,以作为待对账数据;然后,利用对账智能合约中,来对各条待对账数据进行对账处理,从而得出对账结果。
通过上述设计,本发明利用区块链中的联盟链来实现整个对账过程,其中,将供应链中各个企业的交易数据进行链上存储,可利用区块链中账本不可篡改的特性,来保证各企业交易数据的真实性;同时,在每次对账时,均需要进行身份验证以及其对账信息的真实性验证,如此,可保证对账发起者的身份合法性以及发送的对账信息的真实性,从而可防止非法用户加入对账过程,提高对账的安全性;另外,利用智能合约来实现从交易账本中筛选出的各交易数据之间的对账处理,可在安全的环境下,高效的实现各企业间的数据对账;由此,本发明可在提高对账效率以及正确性的同时,安全可靠的完成整个对账过程,适用于在供应链对账领域的大规模应用与推广。
在一个可能的设计中,所述身份标识信息包括所述目标节点的第一身份标识符以及第二身份标识符,其中,所述第一身份标识符用于表征所述目标节点的身份ID,所述第二身份标识符用于表征所述目标节点对应企业的主体标识码,且所述第一身份标识符是所述目标节点在加入所述联盟链时所生成的;
其中,目标节点利用所述签名私钥对所述身份标识信息进行数字签名处理,得到第一签名信息,包括:
目标节点对所述第一身份标识符和所述第二身份标识符进行散列运算,得到身份特征值;
目标节点基于所述第一身份标识符、所述签名公钥、所述基点以及所述身份特征值,计算得到第一签名中间参数;
目标节点生成一第二随机数,并基于所述第二随机数、所述基点和所述第一签名中间参数,计算得到第一签名参数;
目标节点判断所述第一签名参数是否符合预设条件;
若否,目标节点则根据所述第一签名参数和所述签名私钥,生成第二签名参数;
目标节点利用所述第一签名参数和所述第二签名参数,组成所述第一签名信息;
相应的,目标节点利用第一签名信息和身份标识信息,组成身份标识签名信息,则包括:
目标节点利用所述第一签名信息和所述身份特征值,组成所述身份标识签名信息。
在一个可能的设计中,目标节点基于所述第一身份标识符、所述签名私钥、所述基点以及所述身份特征值,计算得到第一签名中间参数,包括:
目标节点基于所述第一身份标识符、所述签名私钥、所述基点以及所述身份特征值,并按照如下公式(1),计算得到所述第一签名中间参数;
(1)
上述公式(1)中,表示第一签名中间参数,/>表示所述第一身份标识符,/>表示所述第一身份标识符的长度,/>表示所述椭圆曲线的参数,/>依次表示所述基点的横坐标和纵坐标,/>和/>均表示所述签名公钥,/>表示所述身份特征值,/>表示散列运算函数,/>表示拼接运算;
目标节点生成一第二随机数,并基于所述第二随机数、所述基点和所述第一签名中间参数,计算得到第一签名参数,包括:
目标节点基于所述第二随机数、所述基点和所述第一签名中间参数,并按照如下公式(2),计算得到所述第一签名参数;
(2)
上述公式(2)中,表示所述第一签名参数,其中,/>表示第二签名中间参数,,/>表示所述第二随机数,第二随机数的取值区间为/>,且/>为椭圆曲线的阶数;
相应的,目标节点根据所述第一签名参数和所述签名私钥,生成第二签名参数,则包括:
目标节点根据所述第一签名参数和所述签名私钥,并按照如下公式(3),计算得到所述第二签名参数;
(3)
上述公式(3)中,表示所述第二签名参数,/>表示所述签名私钥。
在一个可能的设计中,所述对账节点中存储有各个联盟节点的标定区块地址以及标定身份特征值,其中,任一联盟节点的标定区块地址是利用该任一联盟节点对应的签名公钥所生成的,所述对账请求包括有所述目标节点生成所述身份标识签名信息时所使用的签名公钥,且所述身份标识签名信息包括第一签名信息和身份特征值;
其中,对账节点基于所述对账请求中的身份标识签名信息,对所述目标节点进行身份合法性验证,包括:
对账节点获取所述对账请求中的签名公钥,并基于所述签名公钥和所述身份特征值,对所述第一签名信息进行签名验证,得到签名验证结果;
若所述签名验证结果为验证通过,对账节点则基于所述签名公钥计算出所述目标节点对应的区块地址;
对账节点基于计算出的区块地址,从各个联盟节点的标定区块地址中,确定出与所述区块地址相同的标定区块地址,以获取确定出的标定区块地址对应联盟节点的标定身份特征值;
对账节点判断确定出的标定身份特征值,与所述身份特征值是否相同;
若是,则生成所述目标节点的身份合法性验证结果为验证通过。
在一个可能的设计中,任一交易数据还包括有交易方标识哈希值和交易金额哈希值,所述对账智能合约包括对账约束条件,其中,对账节点基于所述对账智能合约,对各个待对账数据进行对账处理,得出对账结果,包括:
对账节点判断待对账数据的总数量是否大于1;
若是,对账节点则判断各个待对账数据中的交易方标识哈希值是否为目标交易方标识哈希值,其中,所述目标交易方标识哈希值用于表征所述目标节点对应的企业;
若否,对账节点则判断各个待对账数据是否满足所述对账智能合约中的对账约束条件;
若是,对账节点则判断各个待对账数据中属于目标节点的待对账数据内的交易金额哈希值,与其余各个待对账数据中的交易金额哈希值是否匹配;
若是,对账节点则生成对账结果为对账正常,否则,则生成对账结果为对账异常。
在一个可能的设计中,所述任一交易数据还包括交易时间;
其中,对账节点判断各个待对账数据是否满足所述对账智能合约中的对账约束条件,包括:
对账节点判断各个待对账数据中的交易时间是否处于预设交易时效内;
若是,对账节点则判断各个待对账数据中属于目标节点的待对账数据内的指定账目字段,与其余各个待对账数据中的指定账目字段是否匹配;
若是,对账节点则判定各个待对账数据满足对账智能合约中的对账约束条件。
第二方面,提供了一种基于区块链的供应链对账系统,包括:对账节点和若干联盟节点,其中,对账节点和若干联盟节点均属于区块链中的同一联盟链,各个联盟节点用于表征供应链中存在交易关系的各个企业,各个联盟节点共享一个交易账本以及一个对账智能合约,所述交易账本上存储有各个联盟节点定期上传的交易数据,任一交易数据包括交易信息摘要,所述交易信息摘要用于表征该任一交易数据对应的交易标识,且同一交易的参与方对应的交易数据的交易标识相同;
目标节点,用于生成对账请求,并将所述对账请求发送至对账节点,其中,所述对账请求包括目标节点对应的身份标识签名信息和对账签名信息,对账签名信息包括目标交易信息摘要,且目标节点隶属于若干联盟节点;
对账节点,用于接收所述目标节点发送的对账请求,并基于所述对账请求中的身份标识签名信息,对所述目标节点进行身份合法性验证;
若身份合法性验证通过,对账节点,则用于对所述对账签名信息进行签名认证,并在签名认证通过后,调用所述对账智能合约,从所述交易账本中拉取包含有所述目标交易信息摘要的交易数据,以作为待对账数据;
对账节点,还用于基于所述对账智能合约,对各个待对账数据进行对账处理,得出对账结果,并将所述对账结果发送至所述目标节点。
第三方面,提供了另一种基于区块链的供应链对账系统,以系统为电子设备为例,包括依次通信相连的存储器、处理器和收发器,其中,所述存储器用于存储计算机程序,所述收发器用于收发消息,所述处理器用于读取所述计算机程序,执行如第一方面或第一方面中任意一种可能设计的所述基于区块链的供应链对账方法。
第四方面,提供了一种计算机可读存储介质,计算机可读存储介质上存储有指令,当所述指令在计算机上运行时,执行如第一方面或第一方面中任意一种可能设计的所述基于区块链的供应链对账方法。
第五方面,提供了一种包含指令的计算机程序产品,当指令在计算机上运行时,使计算机执行如第一方面或第一方面中任意一种可能设计的所述基于区块链的供应链对账方法。
有益效果:
(1)本发明利用区块链中的联盟链来实现整个对账过程,其中,将供应链中各个企业的交易数据进行链上存储,可利用区块链中账本不可篡改的特性,来保证各企业交易数据的真实性;同时,在每次对账时,均需要进行身份验证以及其对账信息的真实性验证,如此,可保证对账发起者的身份合法性以及发送的对账信息的真实性,从而可防止非法用户加入对账过程,提高对账的安全性;另外,利用智能合约来实现从交易账本中筛选出的各交易数据之间的对账处理,可在安全的环境下,高效的实现各企业间的数据对账;由此,本发明可在提高对账效率以及正确性的同时,安全可靠的完成整个对账过程,适用于在对账领域的大规模应用与推广。
附图说明
图1为本发明实施例提供的基于区块链的供应链对账方法的步骤流程示意图;
图2为本发明实施例提供的基于区块链的供应链对账系统的结构示意图;
图3为本发明实施例提供的电子设备的结构示意图。
具体实施方式
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将结合附图和实施例或现有技术的描述对本发明作简单地介绍,显而易见地,下面关于附图结构的描述仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。在此需要说明的是,对于这些实施例方式的说明用于帮助理解本发明,但并不构成对本发明的限定。
应当理解,尽管本文可能使用术语第一、第二等等来描述各种单元,但是这些单元不应当受到这些术语的限制。这些术语仅用于区分一个单元和另一个单元。例如可以将第一单元称作第二单元,并且类似地可以将第二单元称作第一单元,同时不脱离本发明的示例实施例的范围。
应当理解,对于本文中可能出现的术语“和/或”,其仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,单独存在B,同时存在A和B三种情况;对于本文中可能出现的术语“/和”,其是描述另一种关联对象关系,表示可以存在两种关系,例如,A/和B,可以表示:单独存在A,单独存在A和B两种情况;另外,对于本文中可能出现的字符“/”,一般表示前后关联对象是一种“或”关系。
实施例:
参见图2所示,为本申请提供一种系统架构,该系统用于执行本实施例所提供的基于区块链的供应链对账方法,其中,该系统可以但不限于包括记账节点和若干联盟节点(可以为k个),且在具体应用时,记账节点和若干联盟节点组成一联盟链,并设置于区块链网络中;可选的,各个联盟节点用于表征供应链中存在交易关系的各个企业(如供应商、物流商、销售商等等),各个联盟节点之间共享一个交易账本以及一个对账智能合约,且所述交易账本上存储有各个联盟节点定期上传的交易数据(上传的数据需要经过数字签名处理);更进一步的,任一交易数据包括交易信息摘要,交易信息摘要用于表征该任一交易数据对应的交易标识,且同一交易的参与方对应的交易数据的交易标识相同;如,假设供应商和物流商之间存在产品L的交易,供应商是产品L的物流委托方,物流商为产品L的物流运输方,供应商需要支出物流费,而物流商需要接收物流费,那么二者支出物流费和接收物流费对应的交易数据的交易标识为同一标识(均为产品L的运输交易);如此,即可在对账时,通过交易标识,来确定出属于同一交易的各条数据。
在本实施例中,各个联盟节点在加入联盟链时,联盟链(可由对账节点)会向各个联盟节点下发身份ID,该身份ID下发后不可更改,且各个联盟节点还会将自身的身份ID以及主体标识码(如对应企业的主体标识码,可为社会信用统一代码)进行散列运算后发送至联盟链(可利用SM3算法进行散列运算,得到身份特征值发送至联盟链),且还会将自身进行数字签名时所使用的签名公钥发送至联盟链;而联盟链在接收到前述信息后,会基于签名公钥来生成标定区块地址(如采用SM3、RIPEMD160、BASE5等算法来计算出标定区块地址),并生成标定区块地址对应的区块,以实现联盟节点的加入;更进一步的,联盟链还会将前述标定身份特征值写入生成的区块,以作为区块标识;如此通过前述操作,即可完成各个联盟节点的身份认证以及区块生成,且还可在后续对账时,基于该区块标识进行身份合法性验证。
由此通过前述阐述,通过构建联盟链,并将供应链中各个企业作为联盟节点加入该联盟链,即可利用联盟链中的账本以及对账智能合约,来实现各企业间高效可靠的数据对账,其中,对账过程如下所示。
参见图1所示,本实施例所提供的基于区块链的供应链对账方法,可以但不限于在各个联盟节点和记账节点侧运行,可以理解的,前述执行主体并不构成对本申请实施例的限定,相应的,本方法的运行步骤可以但不限于如下述步骤S1~S4所示。
S1. 目标节点生成对账请求,并将所述对账请求发送至对账节点,其中,所述对账请求包括目标节点对应的身份标识签名信息和对账签名信息,所述对账签名信息包括目标交易信息摘要,且目标节点隶属于所述若干联盟节点;在本实施例中,目标节点是若干联盟节点中的一个,其所代表的则是供应链中的一个企业,如供应商、物流商或销售商等等;如此,相当于是供应链中的某个企业发起对账请求至联盟链,而联盟链则基于该企业发起的对账请求,从交易账本中找到对应的交易数据,并利用对账智能合约来进行对账操作;可选的,前述对账请求的生成过程可以但不限于如下述步骤S11~S16所示。
S11. 目标节点获取对应的身份标识信息以及目标交易信息摘要;在本实施例中,举例身份标识信息包括所述目标节点的第一身份标识符以及第二身份标识符,其中,所述第一身份标识符用于表征所述目标节点的身份ID,所述第二身份标识符用于表征所述目标节点对应企业的主体标识码(如企业的社会统一信用代码),且所述第一身份标识符是所述目标节点在加入所述联盟链时所生成的;同时,目标交易信息摘要为需要对账的交易的交易标识,如交易标识为xx产品的交易,那么,则是需要从各个联盟节点上传的交易数据中,筛选出与xx产品的交易对应的交易数据,从而来进行筛选出的各条数据的对账处理;可选的,前述身份标识信息以及目标交易信息摘要对应的交易标识由目标节点对应的企业上传,而目标节点则接收到上传的交易标识后,通过信息摘要算法来对其进行运算,即可得到目标交易信息摘要。
在得到身份标识信息以及目标交易信息摘要后,则可分别进行签名处理,以得到两签名信息,而后,即可利用两签名信息来组成对账请求;其中,签名过程如下述步骤S12~S15所示。
S12. 目标节点生成第一随机数,并将所述第一随机数作为签名私钥;在本实施例中,第一随机数的取值范围为(1,n-1),且n为生成签名公钥所使用的椭圆曲线的阶数;在得到签名私钥后,则可生成签名公钥,如下述步骤S13所示。
S13. 目标节点获取椭圆曲线的基点,并基于所述签名私钥和所述基点,生成签名公钥;在本实施例中,举例可以但不限于获取素域椭圆曲线,其椭圆曲线表示为:,(x,y)表示椭圆曲线上的点,当然,x和y则依次表示点的横坐标和纵坐标;同时,/>则表示椭圆曲线的参数,其为椭圆曲线的定义域中的元素;可选的,前述基点以及椭圆曲线可预设至目标节点中。
在本实施例中,将签名私钥与基点进行相乘,则可得到签名公钥;具体的,实质是将签名私钥乘以基点的横纵坐标,从而得到签名公钥,如此,签名公钥实质也为两个;而在得到签名公钥后,即可将签名公钥进行公布,将签名私钥进行保密存储(签名私钥只有目标节点可知),并利用签名私钥来进行数字签名处理,从而得到签名信息;可选的,举例数字签名过程可以但不限于如下述步骤S14所示。
S14. 目标节点利用所述签名私钥对所述身份标识信息以及所述目标交易信息摘要进行数字签名处理,以分别得到第一签名信息和第二签名信息;在本实施例中,由于身份标识信息和目标交易信息摘要的数字签名过程相同,下述以身份标识信息为例,来进行具体阐述;其中,数字签名的具体过程可以但不限于如下述步骤S14a~S14f。
S14a. 目标节点对身份标识信息中的第一身份标识符和第二身份标识符进行散列运算,得到身份特征值;在具体应用时,可以但不限于使用SM3算法对两身份标识符进行散列运算,得到两散列值,然后,将二者进行拼接,即可得到身份特征值;在本实施例中,SM3算法为散列运算的常用算法,其原理不再赘述。
在得到身份特征值后,即可利用身份特征值来生成相应的签名参数,如下述步骤S14b~S14f所示。
S14b. 目标节点基于所述第一身份标识符、所述签名公钥、所述基点以及所述身份特征值,计算得到第一签名中间参数;在具体应用时,举例可以但不限于按照如下公式(1),来计算得到第一签名中间参数。
(1)
上述公式(1)中,表示第一签名中间参数,/>表示所述第一身份标识符,/>表示所述第一身份标识符的长度,/>表示所述椭圆曲线的参数,/>依次表示所述基点的横坐标和纵坐标,/>和/>均表示所述签名公钥,/>表示所述身份特征值,/>表示散列运算函数,/>表示拼接运算;在本实施例中,散列运算函数可选用SM3散列运算函数;当然,也可使用其余散列函数,在此不作具体限定。
在得到第一签名中间参数后,即可利用第一签名中间参数来生成签名参数,如下述步骤S14c所示。
S14c. 目标节点生成一第二随机数,并基于所述第二随机数、所述基点和所述第一签名中间参数,计算得到第一签名参数;在本实施例中,举例可以但不限于采用如下公式(2),来生成第一签名参数。
(2)
上述公式(2)中,表示所述第一签名参数,其中,/>表示第二签名中间参数,,/>表示所述第二随机数,第二随机数的取值区间为/>,且/>为椭圆曲线的阶数;在本实施例中,n也可预先设置在目标节点中。
在基于前述公式(2),得到第一签名参数后,需要判断第一签名参数是否符合预设条件,以便基于判断结果,来执行后续操作,其中,判断过程如下述步骤S14d所示。
S14d. 目标节点判断所述第一签名参数是否符合预设条件;在本实施例中,举例预设条件可以但不限于包括第一签名参数是否为0或第一签名参数与第二随机数之和是否为n;若满足前述预设条件,那么,则重新执行步骤S14c,直至满足该预设条件时,执行下述步骤S14e。
S14e. 若否,目标节点则根据所述第一签名参数和所述签名私钥,生成第二签名参数;在本实施例中,举例可以但不限于采用如下公式(3),来计算出第二签名参数。
(3)
上述公式(3)中,表示所述第二签名参数,/>表示所述签名私钥。
如此,基于前述公式(1)至(3),则可得到两签名参数,而后,利用两签名参数,即可组成签名信息,如下述步骤S14f所示。
S14f. 目标节点利用所述第一签名参数和所述第二签名参数,组成所述第一签名信息;在本实施例中,举例第一签名信息可以但不限于表示为。
由此通过前述步骤S14a~S14f,即可完成身份标识信息的数字签名;当然,前述目标交易信息摘要的数字签名,则不需要将其进行散列运算,也就是不需要执行步骤S14a,其余步骤与身份标识信息的签名步骤相同,于此不再赘述。
在得到身份标识信息和目标交易信息摘要的签名信息后,分别结合前述身份标识信息和目标交易信息摘要,即可组成身份标识签名信息和对账签名信息,其中,具体操作过程如下述步骤S15所示。
S15. 目标节点利用所述第一签名信息和所述身份标识信息,组成身份标识签名信息,以及利用所述第二签名信息和所述目标交易信息摘要,组成对账签名信息;在本实施例中,由于身份标识信息在进行数字签名时,进行了散列运算,且是由散列运算后所得到的身份特征值,来参与后续的数字签名过程,因此,目标节点实质是利用所述第一签名信息和所述身份特征值,来组成所述身份标识签名信息;当然,对账签名信息的组成则直接使用目标交易信息摘要即可。
在得到身份标识签名信息和对账签名信息后,即可利用二者来组成对账请求,如下述步骤S16所示。
S16. 目标节点利用所述身份标识签名信息、所述对账签名信息以及所述签名公钥,组成所述对账请求;在本实施例中,将签名公钥一并放入对账请求的原因为:便于后续对账节点利用该公钥进行签名认证。
由此通过前述步骤S11~S16,即可生成包含了数字签名,签名公钥、目标节点的身份特征值以及目标交易信息摘要的对账请求;同时,本实施例将目标节点原始的两身份标识符进行了散列运算,使得传输过程以及后续的验证过程,都是使用散列值(即身份特征值);如此,可防止目标节点的身份标识泄露,从而提高了对账安全性。
目标节点在生成对账请求后,即可将其上传至联盟链中的对账节点,以便对账节点在进行身份验证以及签名认证后,基于对账请求中的目标交易信息摘要,来从交易账本中筛选出与目标交易信息摘要相对应的各条交易数据,并进行各条交易数据的对账;其中,对账节点对目标节点的身份验证过程可以但不限于如下述步骤S2所示。
S2. 对账节点接收所述目标节点发送的对账请求,并基于所述对账请求中的身份标识签名信息,对所述目标节点进行身份合法性验证;在本实施例中,则是先对身份标识签名信息中的第一签名信息进行签名认证,然后,利用签名公钥确定出区块地址;接着,再基于确定出的区块地址,来获取该地址对应区块的标定身份特征值;最后,将身份标识签名信息中的身份特征值,与获取的标定身份特征值进行对比,即可得出目标节点的身份合法性验证结果;可选的,前述验证过程可以但不限于如下述步骤S21~S25所示。
S21. 对账节点获取所述对账请求中的签名公钥,并基于所述签名公钥和所述身份特征值,对所述第一签名信息进行签名验证,得到签名验证结果;在本实施例中,举例第一签名信息的签名验证过程可以但不限于如下述步骤S21a~S21h所示。
S21a. 对账节点判断第一签名信息中的第一签名参数是否属于预设取值区间;其中,预设取值区间为(1,n-1)。
S21b. 若是,对账节点则判断所述第一签名信息中的第二签名参数是否属于所述预设取值区间;否则,则判定目标节点的身份合法性验证失败,结束本次对账。
S21c. 若是,对账节点则获取目标参数,并利用身份标识签名信息中的身份特征值和目标参数,来计算出第一验证中间参数;在本实施例中,目标参数由目标节点在对身份标识信息进行签名时所生成的,且由目标节点上传至对账节点;可选的,目标参数为,即在计算前述公式(1)时得到,并由目标节点将U上传至对账节点,当然,具体的计算过程并不会上传,以保证第一身份标识符的保密性。
更进一步的,举例可以但不限于采用如下公式(4),来计算出第一验证中间参数。
(4)
上述公式(4)中,表示第一验证中间参数;当然,在步骤S21b中,若第二签名参数不属于所述预设取值区间,则判定目标节点的身份合法性验证失败,结束本次对账。
在计算得到第一验证中间参数后,即可利用第一签名参数和第二签名参数来计算出第二验证中间参数,如下述步骤S21d所示。
S21d. 对账节点利用第一签名参数和第二签名参数,计算出第二验证中间参数;在本实施例中,举例可以但不限于采用如下公式(5),来计算出第二验证中间参数。
(5)
上述公式(5)中,表示第二验证中间参数。
S21e. 判断第二验证中间参数是否等于0。
S21f. 若否,则利用所述第二验证中间参数、第一签名参数以及签名公钥,生成第三验证中间参数;在本实施例中,举例可以但不限于采用如下公式(6),来计算出第三验证中间参数。
(6)
上述公式(6)中,表示第三验证中间参数,/>依表示所述基点的横坐标,/>表示所述签名公钥;在本实施例中,/>也由目标节点上传至对账节点。
由此通过前述公式(6),即可计算出第三验证中间参数;而后,即可利用第三验证中间参数和第一验证中间参数,来计算出签名验证参数,如下述步骤S21g所示。
S21g. 对账节点利用第三验证中间参数和第一验证中间参数,计算出签名验证参数;在具体应用时,举例可以但不限于采用如下公式(7),来计算出签名验证参数。
(7)
上述公式(7)中,表示签名验证参数。
在得到签名验证参数后,即可通过对比签名验证参数与第一签名参数,来得出签名验证结果;其中,对比过程如下述步骤S21h所示。
S21h. 若对比签名验证参数与第一签名参数一致,则生成签名验证结果为验证通过;否则,则生成签名验证结果为验证失败。
由此通过前述步骤S21a~S21h,即可完成身份标识签名信息的签名认证,而后,即可进行身份验证;其中,身份验证的具体过程如下述步骤S22~S25所示。
S22. 若所述签名验证结果为验证通过,对账节点则基于所述签名公钥计算出所述目标节点对应的区块地址;在本实施例中,区块地址的计算原理,与前述生成区块时,其地址计算原理相同,均是使用SM3算法、RIPEMD160、BASE5等算法来实现,其原理不再赘述。
在计算出目标节点对应的区块地址后,即可从各个联盟节点对应的标定区块地址中,匹配出与该计算出的区块地址相对应的标定区块地址;其中,匹配过程如下述步骤S23所示。
S23. 对账节点基于计算出的区块地址,从各个联盟节点的标定区块地址中,确定出与所述区块地址相同的标定区块地址,以获取确定出的标定区块地址对应联盟节点的标定身份特征值;在本实施例中,相当于是用计算出的区块地址,来匹配各个标定区块地址,从而将与区块地址相同的标定区块地址对应的区块,作为目标节点的区块;而后,即可将匹配出的区块中的区块表示,与目标节点上传的身份特征值进行对比,从而来得出身份合法性验证结果;其中, 验证过程可以但不限于如下述步骤S24和步骤S25所示。
S24. 对账节点判断确定出的标定身份特征值,与所述身份特征值是否相同。
S25. 若是,则生成所述目标节点的身份合法性验证结果为验证通过;否则,则生成目标节点的身份合法性验证结果为验证失败,并结束本次对账。
由此通过前述步骤S21~S25,即可基于对账请求中的身份标识签名信息,来完成目标节点的身份验证,从而保证参与对账的节点的身份的合法性,以提高对账安全;同时,当身份合法性验证通过后,还需进行目标交易信息摘要的数字签名认证,以保证上传信息的真实性,防止上传的数据被篡改;其中,对账签名信息的签名认证过程如下述步骤S3所示。
S3. 若身份合法性验证通过,对账节点则对所述对账签名信息进行签名认证,并在签名认证通过后,调用所述对账智能合约,从所述交易账本中拉取包含有所述目标交易信息摘要的交易数据,以作为待对账数据;在本实施例中,还是使用签名公钥,对账签名信息中的目标交易信息摘要和第二签名信息,来实现对账签名信息的签名认证,其与身份标识签名信息的签名认证过程相同,于此不再赘述。
当对账签名信息的签名认证通过后,对账节点即可调用对账智能合约,并基于目标交易信息摘要,来从交易账本中筛选出本次对账的各条交易数据;在本实施例中,相当于就是筛选出具有目标交易信息摘要的交易数据;如,假设目标交易信息摘要(假设为09007)对应的交易标识为产品L的运输交易,那么,则在交易账本中,筛选出表征产品L的运输交易的各条交易数据,也就是交易信息摘要为09007的交易数据;当然,其余不同目标交易信息摘要对应的交易数据的筛选过程,与前述举例原理相同,于此不再赘述。
在得到本次需要对账的交易数据后,则可对筛选出的交易数据进行对账处理,其中,具体对账过程如下述步骤S4所示。
S4. 对账节点基于所述对账智能合约,对各个待对账数据进行对账处理,得出对账结果,并将所述对账结果发送至所述目标节点;在本实施例中,举例任一交易数据还包括有交易方标识哈希值、交易金额哈希值以及交易时间,且所述对账智能合约包括对账约束条件;如此,即可前述对账约束条件、交易方标识哈希值、交易金额哈希值以及交易时间来进行筛选出的交易数据的对账。
可选的,对账过程可以但不限于如下述步骤S41~S45所示。
S41. 对账节点判断待对账数据的总数量是否大于1;在本实施例中,若待对账数据总数量为1条,说明其仅有交易参与的一方所对应的交易数据,而其余交易参与者并未上传数据,如此,此次对账则为异常对账;反之,则需要执行下述步骤S42。
S42. 若是,对账节点则判断各个待对账数据中的交易方标识哈希值是否为目标交易方标识哈希值,其中,所述目标交易方标识哈希值用于表征所述目标节点对应的企业;在本实施例中,步骤S42只是判断筛选出的待对账数据的来源是否都是来自目标节点对应的企业,若全部来源于目标节点对应的企业,则无法完成对账,也需要输出对账异常;反之,则可进行后续的对账过程,即需要执行下述步骤S43。
S43. 若否,对账节点则判断各个待对账数据是否满足所述对账智能合约中的对账约束条件;在具体应用时,举例对账节点先判断各个待对账数据中的交易时间是否处于预设交易时效内;若处于预设时间内,则判断各个待对账数据中属于目标节点的待对账数据内的指定账目字段,与其余各个待对账数据中的指定账目字段是否匹配;若匹配,则判定各个待对账数据满足对账智能合约中的对账约束条件,否则,则判定各个待对账数据不满足对账智能合约中的对账约束条件,结束本次对账;在本实施例中,第一次判断则是对交易时效性的判断,即判断各个待对账数据中的交易时间是否超出了预设时效;可选的, 则是以各个待对账数据中最早的交易时间为基准,来加上预设时间,得到交易时效时间,若其余各个待对账数据的交易时间处于该交易时效时间内,则进行后续的约定条件判断过程,反之,则判定不满足对账约束条件。
同时,举例指定账目字段可以但不限于包括:订单号对应的哈希值、交易参与者的哈希值、交易状态的哈希值等等;以两条待对账数据为例,其中,待对账数据1为供应商甲的物流运输交易数据,待对账数据2为物流商乙的物流运输交易数据;也就是说,待对账数据1和待对账数据2中均记载有前述数据;如此,则是判断前述两待对账数据中的订单号对应的哈希值、交易参与者的哈希值以及交易状态的哈希值是否相同,若相同,则判断其满足对账约束条件,反之,则不满足对账约束条件。
当判断出各个待对账数据满足所述对账智能合约中的对账约束条件后,则可进行金额的对比,如下述步骤S44和步骤S45所示。
S44. 若是,对账节点则判断各个待对账数据中属于目标节点的待对账数据内的交易金额哈希值,与其余各个待对账数据中的交易金额哈希值是否匹配;在本实施例中,还是以前述待对账数据1和待对账数据2为例,其中,待对账数据1中记载有供应商甲付给物流商乙的物流运输费用6000对应的哈希值,待对账数据2中物流商乙接收的供应商甲发送的物流运输费用6000对应的哈希值;通常来将,二者应该相等,因此,只需判断待对账数据1中的交易金额哈希值为与待对账数据2中的交易金额哈希值是否相等(即是否都是6000对应的哈希值),即可得出对账结果,如下述步骤S45所示。
S45. 若是,对账节点则生成对账结果为对账正常,否则,则生成对账结果为对账异常。
通过前述步骤S41~S45,即可借助对账智能合约,来完成各条待对账数据的对账处理,如此,利用对账智能合约,其可在自动触发对账流程,且对账智能合约不可篡改;由此,即可保证对账的效率以及安全性。
由此通过前述步骤S1~S4所详细描述的基于区块链的供应链对账方法,本发明利用区块链中的联盟链来实现整个对账过程,将各企业的交易数据进行链上存储,并在对账时,利用区块链的数字签名以及区块标识,来进行信息真伪性以及身份验证;如此,可保证对账数据的真实性,以及对账的安全性;同时,利用智能合约来实现从交易账本中筛选出的各交易数据之间的对账处理,可在安全的环境下,高效的实现各企业间的数据对账;由此,本发明可在提高对账效率以及正确性的同时,安全可靠的完成整个对账过程。
如图2所示,本实施例第二方面提供了一种实现实施例第一方面中所述的基于区块链的供应链对账方法的硬件系统,包括:包括对账节点和若干联盟节点,其中,对账节点和若干联盟节点均属于区块链中的同一联盟链,各个联盟节点用于表征供应链中存在交易关系的各个企业,各个联盟节点共享一个交易账本以及一个对账智能合约,所述交易账本上存储有各个联盟节点定期上传的交易数据,任一交易数据包括交易信息摘要,所述交易信息摘要用于表征该任一交易数据对应的交易标识,且同一交易的参与方对应的交易数据的交易标识相同。
目标节点,用于生成对账请求,并将所述对账请求发送至对账节点,其中,所述对账请求包括目标节点对应的身份标识签名信息和对账签名信息,对账签名信息包括目标交易信息摘要,且目标节点隶属于若干联盟节点。
对账节点,用于接收所述目标节点发送的对账请求,并基于所述对账请求中的身份标识签名信息,对所述目标节点进行身份合法性验证。
若身份合法性验证通过,对账节点,则用于对所述对账签名信息进行签名认证,并在签名认证通过后,调用所述对账智能合约,从所述交易账本中拉取包含有所述目标交易信息摘要的交易数据,以作为待对账数据。
对账节点,还用于基于所述对账智能合约,对各个待对账数据进行对账处理,得出对账结果,并将所述对账结果发送至所述目标节点。
本实施例提供的系统的工作过程、工作细节和技术效果,可以参见实施例第一方面,于此不再赘述。
如图3所示,本实施例第三方面提供了另一种基于区块链的供应链对账方法的硬件系统,以装置为电子设备为例,包括:依次通信相连的存储器、处理器和收发器,其中,所述存储器用于存储计算机程序,所述收发器用于收发消息,所述处理器用于读取所述计算机程序,执行如实施例第一方面所述的基于区块链的供应链对账方法。
具体举例的,所述存储器可以但不限于包括随机存取存储器(random accessmemory,RAM)、只读存储器(Read Only Memory ,ROM)、闪存(Flash Memory)、先进先出存储器(First Input First Output,FIFO)和/或先进后出存储器(First In Last Out,FILO)等等;具体地,处理器可以包括一个或多个处理核心,比如4核心处理器、8核心处理器等。处理器可以采用DSP(Digital Signal Processing,数字信号处理)、FPGA(Field-Programmable Gate Array,现场可编程门阵列)、PLA(Programmable Logic Array,可编程逻辑阵列)中的至少一种硬件形式来实现,同时,处理器也可以包括主处理器和协处理器,主处理器是用于对在唤醒状态下的数据进行处理的处理器,也称CPU(Central ProcessingUnit,中央处理器);协处理器是用于对在待机状态下的数据进行处理的低功耗处理器。
在一些实施例中,处理器可以在集成有GPU(Graphics Processing Unit,图像处理器),GPU用于负责显示屏所需要显示的内容的渲染和绘制,例如,所述处理器可以不限于采用型号为STM32F105系列的微处理器、精简指令集计算机(reduced instruction setcomputer,RISC)微处理器、X86等架构处理器或集成嵌入式神经网络处理器(neural-network processing units,NPU)的处理器;所述收发器可以但不限于为无线保真(WIFI)无线收发器、蓝牙无线收发器、通用分组无线服务技术(General Packet Radio Service,GPRS)无线收发器、紫蜂协议(基于IEEE802.15.4标准的低功耗局域网协议,ZigBee)无线收发器、3G收发器、4G收发器和/或5G收发器等。此外,所述装置还可以但不限于包括有电源模块、显示屏和其它必要的部件。
本实施例提供的电子设备的工作过程、工作细节和技术效果,可以参见实施例第一方面,于此不再赘述。
本实施例第四方面提供了一种存储包含有实施例第一方面所述的基于区块链的供应链对账方法的指令的计算机可读存储介质,即所述计算机可读存储介质上存储有指令,当所述指令在计算机上运行时,执行如实施例第一方面所述的基于区块链的供应链对账方法。
其中,所述计算机可读存储介质是指存储数据的载体,可以但不限于包括软盘、光盘、硬盘、闪存、优盘和/或记忆棒(Memory Stick)等,所述计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。
本实施例提供的存储介质的工作过程、工作细节和技术效果,可以参见实施例第一方面,于此不再赘述。
本实施例第五方面提供了一种包含指令的计算机程序产品,当所述指令在计算机上运行时,使所述计算机执行如实施例第一方面所述的基于区块链的供应链对账方法,其中,所述计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。
最后应说明的是:以上所述仅为本发明的优选实施例而已,并不用于限制本发明的保护范围。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (7)
1.一种基于区块链的供应链对账方法,其特征在于,应用于区块链中的联盟链,其中,所述联盟链包括对账节点以及若干联盟节点,各个联盟节点用于表征供应链中存在交易关系的各个企业,各个联盟节点共享一个交易账本以及一个对账智能合约,所述交易账本上存储有各个联盟节点定期上传的交易数据,任一交易数据包括交易信息摘要,所述交易信息摘要用于表征该任一交易数据对应的交易标识,且同一交易的参与方对应的交易数据的交易标识相同;
相应的,所述基于区块链的供应链对账方法包括:
目标节点生成对账请求,并将所述对账请求发送至对账节点,其中,所述对账请求包括目标节点对应的身份标识签名信息和对账签名信息,所述对账签名信息包括目标交易信息摘要,且目标节点隶属于所述若干联盟节点;
其中,目标节点生成对账请求,包括:
目标节点获取对应的身份标识信息以及目标交易信息摘要;
目标节点生成第一随机数,并将所述第一随机数作为签名私钥;
目标节点获取椭圆曲线的基点,并基于所述签名私钥和所述基点,生成签名公钥;
目标节点利用所述签名私钥对所述身份标识信息以及所述目标交易信息摘要进行数字签名处理,以分别得到第一签名信息和第二签名信息;
目标节点利用所述第一签名信息和所述身份标识信息,组成身份标识签名信息,以及利用所述第二签名信息和所述目标交易信息摘要,组成对账签名信息;
目标节点利用所述身份标识签名信息、所述对账签名信息以及所述签名公钥,组成所述对账请求;
对账节点接收所述目标节点发送的对账请求,并基于所述对账请求中的身份标识签名信息,对所述目标节点进行身份合法性验证;
若身份合法性验证通过,对账节点则对所述对账签名信息进行签名认证,并在签名认证通过后,调用所述对账智能合约,从所述交易账本中拉取包含有所述目标交易信息摘要的交易数据,以作为待对账数据;
对账节点基于所述对账智能合约,对各个待对账数据进行对账处理,得出对账结果,并将所述对账结果发送至所述目标节点;
所述身份标识信息包括所述目标节点的第一身份标识符以及第二身份标识符,其中,所述第一身份标识符用于表征所述目标节点的身份ID,所述第二身份标识符用于表征所述目标节点对应企业的主体标识码,且所述第一身份标识符是所述目标节点在加入所述联盟链时所生成的;
其中,目标节点利用所述签名私钥对所述身份标识信息进行数字签名处理,得到第一签名信息,包括:
目标节点对所述第一身份标识符和所述第二身份标识符进行散列运算,得到身份特征值;
目标节点基于所述第一身份标识符、所述签名公钥、所述基点以及所述身份特征值,计算得到第一签名中间参数;
目标节点生成一第二随机数,并基于所述第二随机数、所述基点和所述第一签名中间参数,计算得到第一签名参数;
目标节点判断所述第一签名参数是否符合预设条件;
若否,目标节点则根据所述第一签名参数和所述签名私钥,生成第二签名参数;
目标节点利用所述第一签名参数和所述第二签名参数,组成所述第一签名信息;
相应的,目标节点利用第一签名信息和身份标识信息,组成身份标识签名信息,则包括:
目标节点利用所述第一签名信息和所述身份特征值,组成所述身份标识签名信息;
目标节点基于所述第一身份标识符、所述签名公钥、所述基点以及所述身份特征值,计算得到第一签名中间参数,包括:
目标节点基于所述第一身份标识符、所述签名公钥、所述基点以及所述身份特征值,并按照如下公式(1),计算得到所述第一签名中间参数;
(1)
上述公式(1)中,表示第一签名中间参数,/>表示所述第一身份标识符,/>表示所述第一身份标识符的长度,/>表示所述椭圆曲线的参数,/>依次表示所述基点的横坐标和纵坐标,/>和/>均表示所述签名公钥,/>表示所述身份特征值,/>表示散列运算函数,/>表示拼接运算;
目标节点生成一第二随机数,并基于所述第二随机数、所述基点和所述第一签名中间参数,计算得到第一签名参数,包括:
目标节点基于所述第二随机数、所述基点和所述第一签名中间参数,并按照如下公式(2),计算得到所述第一签名参数;
(2)
上述公式(2)中,表示所述第一签名参数,其中,/>表示第二签名中间参数,,/>表示所述第二随机数,第二随机数的取值区间为/>,且/>为椭圆曲线的阶数;
相应的,目标节点根据所述第一签名参数和所述签名私钥,生成第二签名参数,则包括:
目标节点根据所述第一签名参数和所述签名私钥,并按照如下公式(3),计算得到所述第二签名参数;
(3)
上述公式(3)中,表示所述第二签名参数,/>表示所述签名私钥。
2.根据权利要求1所述的方法,其特征在于,所述对账节点中存储有各个联盟节点的标定区块地址以及标定身份特征值,其中,任一联盟节点的标定区块地址是利用该任一联盟节点对应的签名公钥所生成的,所述对账请求包括有所述目标节点生成所述身份标识签名信息时所使用的签名公钥,且所述身份标识签名信息包括第一签名信息和身份特征值;
其中,对账节点基于所述对账请求中的身份标识签名信息,对所述目标节点进行身份合法性验证,包括:
对账节点获取所述对账请求中的签名公钥,并基于所述签名公钥和所述身份特征值,对所述第一签名信息进行签名验证,得到签名验证结果;
若所述签名验证结果为验证通过,对账节点则基于所述签名公钥计算出所述目标节点对应的区块地址;
对账节点基于计算出的区块地址,从各个联盟节点的标定区块地址中,确定出与所述区块地址相同的标定区块地址,以获取确定出的标定区块地址对应联盟节点的标定身份特征值;
对账节点判断确定出的标定身份特征值,与所述身份特征值是否相同;
若是,则生成所述目标节点的身份合法性验证结果为验证通过。
3.根据权利要求1所述的方法,其特征在于,任一交易数据还包括有交易方标识哈希值和交易金额哈希值,所述对账智能合约包括对账约束条件,其中,对账节点基于所述对账智能合约,对各个待对账数据进行对账处理,得出对账结果,包括:
对账节点判断待对账数据的总数量是否大于1;
若是,对账节点则判断各个待对账数据中的交易方标识哈希值是否为目标交易方标识哈希值,其中,所述目标交易方标识哈希值用于表征所述目标节点对应的企业;
若否,对账节点则判断各个待对账数据是否满足所述对账智能合约中的对账约束条件;
若是,对账节点则判断各个待对账数据中属于目标节点的待对账数据内的交易金额哈希值,与其余各个待对账数据中的交易金额哈希值是否匹配;
若是,对账节点则生成对账结果为对账正常,否则,则生成对账结果为对账异常。
4.根据权利要求3所述的方法,其特征在于,所述任一交易数据还包括交易时间;
其中,对账节点判断各个待对账数据是否满足所述对账智能合约中的对账约束条件,包括:
对账节点判断各个待对账数据中的交易时间是否处于预设交易时效内;
若是,对账节点则判断各个待对账数据中属于目标节点的待对账数据内的指定账目字段,与其余各个待对账数据中的指定账目字段是否匹配;
若是,对账节点则判定各个待对账数据满足对账智能合约中的对账约束条件。
5.一种基于区块链的供应链对账系统,其特征在于,包括对账节点和若干联盟节点,其中,对账节点和若干联盟节点均属于区块链中的同一联盟链,各个联盟节点用于表征供应链中存在交易关系的各个企业,各个联盟节点共享一个交易账本以及一个对账智能合约,所述交易账本上存储有各个联盟节点定期上传的交易数据,任一交易数据包括交易信息摘要,所述交易信息摘要用于表征该任一交易数据对应的交易标识,且同一交易的参与方对应的交易数据的交易标识相同;
目标节点,用于生成对账请求,并将所述对账请求发送至对账节点,其中,所述对账请求包括目标节点对应的身份标识签名信息和对账签名信息,对账签名信息包括目标交易信息摘要,且目标节点隶属于若干联盟节点;
其中,目标节点生成对账请求,包括:
目标节点获取对应的身份标识信息以及目标交易信息摘要;
目标节点生成第一随机数,并将所述第一随机数作为签名私钥;
目标节点获取椭圆曲线的基点,并基于所述签名私钥和所述基点,生成签名公钥;
目标节点利用所述签名私钥对所述身份标识信息以及所述目标交易信息摘要进行数字签名处理,以分别得到第一签名信息和第二签名信息;
目标节点利用所述第一签名信息和所述身份标识信息,组成身份标识签名信息,以及利用所述第二签名信息和所述目标交易信息摘要,组成对账签名信息;
目标节点利用所述身份标识签名信息、所述对账签名信息以及所述签名公钥,组成所述对账请求;
对账节点,用于接收所述目标节点发送的对账请求,并基于所述对账请求中的身份标识签名信息,对所述目标节点进行身份合法性验证;
若身份合法性验证通过,对账节点,则用于对所述对账签名信息进行签名认证,并在签名认证通过后,调用所述对账智能合约,从所述交易账本中拉取包含有所述目标交易信息摘要的交易数据,以作为待对账数据;
对账节点,还用于基于所述对账智能合约,对各个待对账数据进行对账处理,得出对账结果,并将所述对账结果发送至所述目标节点;
所述身份标识信息包括所述目标节点的第一身份标识符以及第二身份标识符,其中,所述第一身份标识符用于表征所述目标节点的身份ID,所述第二身份标识符用于表征所述目标节点对应企业的主体标识码,且所述第一身份标识符是所述目标节点在加入所述联盟链时所生成的;
其中,目标节点利用所述签名私钥对所述身份标识信息进行数字签名处理,得到第一签名信息,包括:
目标节点对所述第一身份标识符和所述第二身份标识符进行散列运算,得到身份特征值;
目标节点基于所述第一身份标识符、所述签名公钥、所述基点以及所述身份特征值,计算得到第一签名中间参数;
目标节点生成一第二随机数,并基于所述第二随机数、所述基点和所述第一签名中间参数,计算得到第一签名参数;
目标节点判断所述第一签名参数是否符合预设条件;
若否,目标节点则根据所述第一签名参数和所述签名私钥,生成第二签名参数;
目标节点利用所述第一签名参数和所述第二签名参数,组成所述第一签名信息;
相应的,目标节点利用第一签名信息和身份标识信息,组成身份标识签名信息,则包括:
目标节点利用所述第一签名信息和所述身份特征值,组成所述身份标识签名信息;
目标节点基于所述第一身份标识符、所述签名公钥、所述基点以及所述身份特征值,计算得到第一签名中间参数,包括:
目标节点基于所述第一身份标识符、所述签名公钥、所述基点以及所述身份特征值,并按照如下公式(1),计算得到所述第一签名中间参数;
(1)
上述公式(1)中,表示第一签名中间参数,/>表示所述第一身份标识符,/>表示所述第一身份标识符的长度,/>表示所述椭圆曲线的参数,/>依次表示所述基点的横坐标和纵坐标,/>和/>均表示所述签名公钥,/>表示所述身份特征值,/>表示散列运算函数,/>表示拼接运算;
目标节点生成一第二随机数,并基于所述第二随机数、所述基点和所述第一签名中间参数,计算得到第一签名参数,包括:
目标节点基于所述第二随机数、所述基点和所述第一签名中间参数,并按照如下公式(2),计算得到所述第一签名参数;
(2)
上述公式(2)中,表示所述第一签名参数,其中,/>表示第二签名中间参数,,/>表示所述第二随机数,第二随机数的取值区间为/>,且/>为椭圆曲线的阶数;
相应的,目标节点根据所述第一签名参数和所述签名私钥,生成第二签名参数,则包括:
目标节点根据所述第一签名参数和所述签名私钥,并按照如下公式(3),计算得到所述第二签名参数;
(3)
上述公式(3)中,表示所述第二签名参数,/>表示所述签名私钥。
6.一种基于区块链的供应链对账系统,其特征在于,包括:依次通信相连的存储器、处理器和收发器,其中,存储器用于存储计算机程序,所述收发器用于收发消息,所述处理器用于读取所述计算机程序,执行如权利要求1~4任意一项所述的基于区块链的供应链对账方法。
7.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有指令,当指令在计算机上运行时,执行如权利要求1~4任意一项所述的基于区块链的供应链对账方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311218099.8A CN117333184B (zh) | 2023-09-20 | 2023-09-20 | 一种基于区块链的供应链对账方法、系统及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311218099.8A CN117333184B (zh) | 2023-09-20 | 2023-09-20 | 一种基于区块链的供应链对账方法、系统及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN117333184A CN117333184A (zh) | 2024-01-02 |
CN117333184B true CN117333184B (zh) | 2024-05-14 |
Family
ID=89294386
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202311218099.8A Active CN117333184B (zh) | 2023-09-20 | 2023-09-20 | 一种基于区块链的供应链对账方法、系统及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117333184B (zh) |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109118360A (zh) * | 2018-07-19 | 2019-01-01 | 中国联合网络通信集团有限公司 | 区块链对账方法、装置、设备及存储介质 |
CN111125785A (zh) * | 2019-12-23 | 2020-05-08 | 深圳前海星际同辉科技有限公司 | 基于区块链的对账方法、对账装置及可读存储介质 |
WO2020199703A1 (zh) * | 2019-04-01 | 2020-10-08 | 杜晓楠 | 一种区块链交易的方法、装置和系统 |
CN112069262A (zh) * | 2020-09-09 | 2020-12-11 | 上海万向区块链股份公司 | 基于区块链智能合约的对账数据上链方法 |
CN114971827A (zh) * | 2022-05-11 | 2022-08-30 | 上海明胜品智人工智能科技有限公司 | 一种基于区块链的对账方法、装置、电子设备及存储介质 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11228446B2 (en) * | 2019-05-10 | 2022-01-18 | Advanced New Technologies Co., Ltd. | Blockchain-based reconciliation method and apparatus and electronic device |
-
2023
- 2023-09-20 CN CN202311218099.8A patent/CN117333184B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109118360A (zh) * | 2018-07-19 | 2019-01-01 | 中国联合网络通信集团有限公司 | 区块链对账方法、装置、设备及存储介质 |
WO2020199703A1 (zh) * | 2019-04-01 | 2020-10-08 | 杜晓楠 | 一种区块链交易的方法、装置和系统 |
CN111125785A (zh) * | 2019-12-23 | 2020-05-08 | 深圳前海星际同辉科技有限公司 | 基于区块链的对账方法、对账装置及可读存储介质 |
CN112069262A (zh) * | 2020-09-09 | 2020-12-11 | 上海万向区块链股份公司 | 基于区块链智能合约的对账数据上链方法 |
CN114971827A (zh) * | 2022-05-11 | 2022-08-30 | 上海明胜品智人工智能科技有限公司 | 一种基于区块链的对账方法、装置、电子设备及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN117333184A (zh) | 2024-01-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
TWI714359B (zh) | 一種電子憑證上傳的方法及裝置 | |
US10977632B2 (en) | Electronic bill management method, apparatus, and storage medium | |
Maroufi et al. | On the convergence of blockchain and internet of things (iot) technologies | |
Ferrer-Gomila et al. | A fair contract signing protocol with blockchain support | |
US20190295049A1 (en) | System and method for secure transaction verification in a distributed ledger system | |
US11270388B2 (en) | Blockchain-based data processing method and apparatus | |
CN110659906B (zh) | 票据信息处理方法、相关设备及介质 | |
CN111464518A (zh) | 一种跨链通信数据的发送、验证方法及装置 | |
Borkowski et al. | Caught in chains: Claim-first transactions for cross-blockchain asset transfers | |
CN111461691B (zh) | 基于区块链的流量统计系统、方法及装置 | |
CN111260488B (zh) | 一种数据处理方法、装置及可读存储介质 | |
CN111815308A (zh) | 基于区块链的贸易数据处理方法及其相关设备 | |
WO2014056185A1 (en) | Notarization based on currency transactions | |
CN111429191A (zh) | 基于区块链的电子发票流转管理方法、装置及系统 | |
CN111461799B (zh) | 数据处理方法、装置、计算机设备及介质 | |
CN115456773A (zh) | 基于区块链的支付控制方法、装置、设备及介质 | |
CN110659993A (zh) | 一种基于区块链网络的资源管理方法及装置 | |
CN110245182B (zh) | 用于处理分布式数据的方法、设备、装置和介质 | |
JP2024052790A (ja) | デジタルアセットトークン移転取引のためのピアツーピア分散型台帳統合システム及びピアツーピア分散型台帳記録方法 | |
CN117333184B (zh) | 一种基于区块链的供应链对账方法、系统及存储介质 | |
CN115456619B (zh) | 一种基于区块链技术的虚拟预付卡发行系统和方法 | |
CN115526629A (zh) | 基于区块链网络的收单交易方法、装置及身份认证装置 | |
CN110910091A (zh) | 一种数据处理方法、设备及介质 | |
CN110535664A (zh) | 基于区块链的数据处理方法、装置、服务器及存储介质 | |
Zhang et al. | Cross-Chain Interoperability and Collaboration for Keyword-Based Embedded Smart Contracts in the Internet of Things |
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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |