CN113486407A - 基于区块链的存单管理系统和方法 - Google Patents

基于区块链的存单管理系统和方法 Download PDF

Info

Publication number
CN113486407A
CN113486407A CN202110759888.7A CN202110759888A CN113486407A CN 113486407 A CN113486407 A CN 113486407A CN 202110759888 A CN202110759888 A CN 202110759888A CN 113486407 A CN113486407 A CN 113486407A
Authority
CN
China
Prior art keywords
deposit
deposit receipt
amount
receipt
commitment
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.)
Granted
Application number
CN202110759888.7A
Other languages
English (en)
Other versions
CN113486407B (zh
Inventor
李武璐
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
CCB Finetech Co Ltd
Original Assignee
CCB Finetech Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by CCB Finetech Co Ltd filed Critical CCB Finetech Co Ltd
Priority to CN202110759888.7A priority Critical patent/CN113486407B/zh
Publication of CN113486407A publication Critical patent/CN113486407A/zh
Application granted granted Critical
Publication of CN113486407B publication Critical patent/CN113486407B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/64Protecting data integrity, e.g. using checksums, certificates or signatures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/602Providing cryptographic facilities or services
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/62Protecting access to data via a platform, e.g. using keys or access control rules
    • G06F21/6218Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database
    • G06F21/6245Protecting personal data, e.g. for financial or medical purposes
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION 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
    • G06Q40/00Finance; Insurance; Tax strategies; Processing of corporate or income taxes
    • G06Q40/02Banking, e.g. interest calculation or account maintenance

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Security & Cryptography (AREA)
  • Health & Medical Sciences (AREA)
  • Bioethics (AREA)
  • General Health & Medical Sciences (AREA)
  • Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • General Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Business, Economics & Management (AREA)
  • Accounting & Taxation (AREA)
  • Finance (AREA)
  • Economics (AREA)
  • Development Economics (AREA)
  • Marketing (AREA)
  • Strategic Management (AREA)
  • Technology Law (AREA)
  • General Business, Economics & Management (AREA)
  • Medical Informatics (AREA)
  • Databases & Information Systems (AREA)
  • Financial Or Insurance-Related Operations Such As Payment And Settlement (AREA)

Abstract

本发明公开了一种基于区块链的存单管理系统和方法,涉及区块链技术领域。该系统的一个具体实施方式包括:第一银行节点根据用户存单的存单信息生成上链信息,将签名后的上链信息上链;第一银行节点响应于针对用户存单的拆分质押请求,将用户存单拆分为包括第一存单的多个目标存单,并将生成的每一目标存单的上链信息在签名后上链;第二银行节点响应于针对第一存单的质押请求,从区块链获取第一存单的金额承诺的多重监管可审计范围证明,并依据该证明对质押请求中的质押金额进行验证;在该验证通过且针对第一存单的上链信息的验证通过的情况下,向用户授信及放款。该实施方式支持存单拆分与质押业务全部在链上运行,提高业务灵活性和用户使用体验。

Description

基于区块链的存单管理系统和方法
技术领域
本发明涉及区块链技术领域,尤其涉及一种基于区块链的存单管理系统和方法。
背景技术
定期存单是商业银行存款业务的重要组成部分,基于存单质押的个人贷款业务有助于满足个人存款用户灵活的资金需求,业务模式清晰,风险可控,是商业银行必须重视并且发力的业务。然而,当前个人定期存单质押贷款业务大多局限于商业银行内部运行,商业银行仅接受本行存单的质押贷款业务,跨机构之间的存单质押贷款业务生态模式仍未建立。进一步地,现有技术中缺少将用户存单拆分为多个存单进而通过质押其中一个存单进行贷款的方案,导致业务灵活性差,用户参与度低,无法满足实际需求。另外,在现有技术中,银行之间需要单独建立并定期维护区块链下的信道来传输金额、随机数等信息,成本较高,效率较低。
发明内容
有鉴于此,本发明实施例提供一种基于区块链的存单管理系统和方法,支持存单拆分与质押业务全部在链上运行,并且提高了业务灵活性以及用户使用体验。
为实现上述目的,根据本发明的一个方面,提供了一种基于区块链的存单管理系统。
本发明实施例的基于区块链的存单管理系统包括区块链网络中的第一银行节点和第二银行节点;其中,第一银行节点根据用户存单的存单信息生成上链信息,并将签名后的所述上链信息上链;第一银行节点响应于针对所述用户存单的拆分质押请求,将所述用户存单拆分为包括第一存单在内的多个目标存单,并将生成的每一目标存单的上链信息在签名后上链;其中,第一存单用于质押给第二银行节点,以由第二银行节点向用户提供质押贷款服务;第一存单的上链信息包括:第一存单的金额承诺的多重监管可审计范围证明;第二银行节点响应于针对第一存单的质押请求,从区块链获取第一存单的金额承诺的多重监管可审计范围证明,并依据第一存单的金额承诺的多重监管可审计范围证明对所述质押请求中的质押金额进行验证;在该验证通过并且针对第一存单的上链信息的验证通过的情况下,向用户授信及放款。
可选地,第一存单的金额与所述拆分请求中的一个拆分金额相等;所述用户存单的存单信息包括:用户标识、存单的当前识别码、利率、期限和金额承诺,存单的当前识别码由存单序列号、存单的当前状态码和存单金额确定;其中,存单序列号用于唯一表示一个用户存单,存单的当前状态码与存单的拆分和合并情况以及质押和解除质押情况相关。
可选地,存单的当前识别码是存单序列号、存单的当前状态码和存单金额的哈希运算结果;以及,所述用户存单的上链信息包括:第一上链标识和所述用户存单的存单金额合法性证明标识;其中,第一上链标识为所述用户存单的存单信息的哈希运算结果;所述用户存单的存单金额合法性证明标识包括所述用户存单的金额承诺以及通过第一可审计范围证明算法确定的该金额承诺的可审计范围证明。
可选地,第一可审计范围证明算法执行以下步骤:预先选定椭圆曲线群,随机选择生成元,根据随机选择的审计私钥以及所述生成元计算审计公钥;将预设的第一元素和混淆元的倍点运算结果、与预设的第二元素和存单金额的倍点运算结果相乘,得到该存单金额的金额承诺;其中,第一元素和第二元素都是随机选择的椭圆曲线群中的元素;从椭圆曲线的模的整数环中随机选取多个子混淆元,将混淆元与子混淆元总和的差值确定为第一数值,计算该存单金额在二进制形式的系数;根据第一元素、第二元素、所述子混淆元以及所述系数确定第一子承诺和第二子承诺,利用第一子承诺和第二子承诺生成承诺集;将所述审计公钥与所述子混淆元的倍点运算结果确定为追踪密钥,基于所述承诺集和所述追踪密钥生成多个随机数值;使用第一子承诺、第二子承诺、所述随机数值以及所述追踪密钥形成公钥组;基于所述公钥组、所述子混淆元、所述金额承诺、第一数值以及所述追踪密钥生成多环签名值;将第一数值、所述承诺集、所述追踪密钥以及所述多环签名值组成所述金额承诺的可审计范围证明。
可选地,所述用户存单的上链信息进一步包括:第一审计标识,第一审计标识是使用审计公钥对所述用户存单的存单信息、所述用户存单的金额、所述用户存单的序列号以及所述用户存单的当前状态码进行加密得到的。
可选地,第一银行节点在将签名后的用户存单的上链信息上链之后,将所述用户存单的状态设置为“未质押”;在将生成的每一目标存单的上链信息在签名后上链之后,将所述用户存单的状态设置为“已拆分”,将每一目标存单的状态设置为“未质押”。
可选地,所述拆分质押请求中包括每一目标存单的拆分金额,所述质押请求中进一步包括第一存单的存单信息和贷款金额;以及,第一银行节点在接收到所述拆分请求之后,判断所述用户存单的状态是否为“未质押且未拆分”:若是,调用可审计拆分证明算法计算所述用户存单以及拆分后形成的每一目标存单的金额承诺的拆分金额合法性证明,并将所述拆分金额合法性证明签名后上链;第一银行节点对第一存单的存单信息执行哈希运算,得到第二上链标识;将第一存单的金额承诺以及通过第二可审计范围证明算法确定的该金额承诺的多重监管可审计范围证明组成第一存单的存单金额合法性证明标识,将第二上链标识和第一存单的存单金额合法性证明标识组成第一存单的上链信息;其中,第一存单的存单信息中的金额承诺为第一存单的金额承诺,第一存单的存单信息中的当前识别码由存单序列号、第一存单的当前状态码和第一存单的金额确定。
可选地,所述系统进一步包括监管节点,第二可审计范围证明算法用于生成所述监管节点和预先确定的一个或多个合作方节点可审计的多重监管可审计范围证明;其中,当第一存单确定被质押给第二银行节点之后,第二银行节点被第一银行节点作为合作方节点。
可选地,第二可审计范围证明算法执行以下步骤:预先选定椭圆曲线群,随机选择生成元,根据所述监管节点随机选择的审计私钥以及所述生成元计算审计公钥,根据每一合作方节点随机选择的目标私钥以及所述生成元计算相应的目标公钥;将预设的第一元素和混淆元的倍点运算结果、与预设的第二元素和存单金额的倍点运算结果相乘,得到该存单金额的金额承诺;其中,第一元素和第二元素都是随机选择的椭圆曲线群中的元素;从椭圆曲线的模的整数环中随机选取多个子混淆元,将混淆元与子混淆元总和的差值确定为第一数值,计算该存单金额在二进制形式的系数;根据第一元素、第二元素、所述子混淆元以及所述系数确定第一子承诺和第二子承诺,利用第一子承诺和第二子承诺生成承诺集;将所述审计公钥与所述子混淆元的倍点运算结果、以及所述目标公钥与所述子混淆元的倍点运算结果确定为追踪密钥,由所述追踪密钥组成追踪密钥集;将第二元素与子混淆元的倍点运算结果确定为金额标签,由所述金额标签形成金额标签集;基于所述承诺集、所述追踪密钥集以及所述金额标签集生成多个随机数值;使用第一子承诺、第二子承诺、所述随机数值、所述金额标签以及所述追踪密钥形成公钥组;基于所述公钥组、所述子混淆元、所述金额承诺、第一数值、所述追踪密钥集以及所述金额标签集生成多环签名值;将第一数值、所述承诺集、所述追踪密钥集、所述金额标签集以及所述多环签名值组成所述金额承诺的多重监管可审计范围证明。
可选地,所述可审计拆分证明算法执行以下步骤:调用第一可审计范围证明算法计算所述用户存单的金额承诺的可审计范围证明;生成对应于每一目标存单金额的随机数,根据每一目标存单金额、该随机数、第一元素以及第二元素确定每一目标存单的金额承诺,将所述混淆元与该随机数总和的差值确定为第二数值;当目标存单不具有所述合作方节点时,调用第一可审计范围证明算法计算该目标存单的金额承诺的可审计范围证明;当目标存单具有所述合作方节点时,调用第二可审计范围证明算法计算该目标存单的金额承诺的多重监管可审计范围证明;将所述用户存单的金额承诺的可审计范围证明、计算出的每一目标存单的金额承诺的可审计范围证明或多重监管可审计范围证明、每一目标存单的金额承诺以及第二数值组成所述拆分金额合法性证明。
可选地,第一存单的上链信息进一步包括:第二审计标识,第二审计标识是使用审计公钥对第一存单的存单信息、第一存单的金额、所述用户存单的序列号以及第一存单的当前状态码进行加密得到的。
可选地,第二银行节点接收到所述质押请求之后,利用所述质押请求中的存单序列号从区块链上确定第一存单,使用持有的所述目标私钥从第一存单的金额承诺的多重监管可审计范围证明中计算第一存单金额,并执行以下验证:验证计算出的第一存单金额是否等于所述质押请求中的质押金额;根据计算出的第一存单金额确定第一存单的当前识别码,利用该当前识别码以及第一存单的存单信息验证第一存单的上链信息中的第二上链标识;验证第一存单的上链信息中的第一存单的金额承诺的多重监管可审计范围证明;验证第一存单的状态是否为“未质押”;在每一验证通过之后,对第一存单的上链信息进行签名后生成质押信息上链,并将第一存单的状态修改为“已质押”;第一银行节点在区块链获取到所述质押信息之后,在内部数据库将第一存单的状态修改为“已质押”,并对第一存单的上链信息进行更新和签名后生成质押确认信息上链;其中,该更新包括:根据第一存单的当前状态码更新第一存单的当前识别码,进而将第一存单的第二上链标识更新为第三上链标识;第二银行节点在区块链获取到所述质押确认信息之后,向用户授信及放款。
可选地,第二银行节点在接收到针对第一存单的解除质押请求之后,如果判断用户已经完成贷款还款,则对第一存单的上链信息进行签名后生成解除质押信息上链;第一银行节点在区块链获取到所述解除质押信息之后,利用第一存单的当前状态码将第一存单的上链信息中的第三上链标识更新为第四上链标识,将第四上链标识和第一存单的存单金额合法性证明标识组成第一存单的解除质押后上链信息,对所述解除质押后上链信息签名后上链,并将第一存单的状态修改为“未质押”。
可选地,所述目标存单中包括至少一个第二存单;以及,第一银行节点在接收到针对第一存单和第二存单的合并请求之后,如果确定第一存单与第二存单具有相同的序列号以及都处在“未质押”状态,则将第一存单和第二存单合并为一个存单,调用可审计合并证明算法计算第一存单、第二存单以及合并后存单的金额承诺的合并金额合法性证明,并将所述合并金额合法性证明签名后上链;在确定所述合并后存单的上链信息之后将该上链信息上链,并将所述合并后存单的状态确定为“未质押”;其中,所述合并后存单的上链信息包括所述合并后存单的上链标识和所述合并后存单的存单金额合法性证明标识;该上链标识为所述合并后存单的存单信息的哈希运算结果,该存单金额合法性证明标识包括所述合并后存单的金额承诺以及通过第一可审计范围证明算法确定的该金额承诺的可审计范围证明。
可选地,所述可审计合并证明算法执行以下步骤:生成对应于每一待合并存单金额的随机数,根据每一待合并存单金额、该随机数、第一元素以及第二元素确定每一待合并存单的金额承诺,将每一待合并存单的金额承诺的乘积确定为所述合并后存单的金额承诺;调用第一可审计范围证明算法计算所述合并后存单的金额承诺的可审计范围证明;将所述合并后存单的金额承诺以及该可审计范围证明组成所述合并金额合法性证明。
可选地,所述合并后存单的上链信息进一步包括审计标识,该审计标识是使用审计公钥对所述合并后存单的存单信息、所述合并后存单的金额、所述用户存单的序列号以及所述合并后存单的当前状态码进行加密得到的。
可选地,第二银行节点判断针对第一存单的还款过程是否发生异常;如果发生异常,向第一银行节点发送支取第一存单中部分或全部存款的请求,以使第一银行节点在接收到该请求后将第一存单中的部分或全部存款转入第二银行节点。
可选地,所述监管节点通过审计私钥从所述可审计范围证明、所述多重监管可审计范围证明、所述拆分金额合法性证明和所述合并金额合法性证明中确定金额信息,并通过审计私钥获取每一存单的业务数据。
为实现上述目的,根据本发明的另一方面,提供了一种基于区块链的存单管理方法。
本发明实施例的基于区块链的存单管理方法,应用在区块链网络中的第一银行节点;包括:根据用户存单的存单信息生成上链信息,并将签名后的所述上链信息上链;响应于针对所述用户存单的拆分质押请求,将所述用户存单拆分为包括第一存单在内的多个目标存单,并将生成的每一目标存单的上链信息在签名后上链;其中,第一存单用于质押给区块链网络中的第二银行节点,以由第二银行节点向用户提供质押贷款服务;第一存单的上链信息包括:第一存单的金额承诺的多重监管可审计范围证明;以及,第二银行节点响应于针对第一存单的质押请求,从区块链获取第一存单的金额承诺的多重监管可审计范围证明,并依据第一存单的金额承诺的多重监管可审计范围证明对所述质押请求中的质押金额进行验证;在该验证通过并且针对第一存单的上链信息的验证通过的情况下,向用户授信及放款。
可选地,第一存单的金额与所述拆分请求中的一个拆分金额相等;所述用户存单的存单信息包括:用户标识、存单的当前识别码、利率、期限和金额承诺,存单的当前识别码由存单序列号、存单的当前状态码和存单金额确定;其中,存单序列号用于唯一表示一个用户存单,存单的当前状态码与存单的拆分和合并情况以及质押和解除质押情况相关;存单的当前识别码是存单序列号、存单的当前状态码和存单金额的哈希运算结果;以及,所述用户存单的上链信息包括:第一上链标识和所述用户存单的存单金额合法性证明标识;其中,第一上链标识为所述用户存单的存单信息的哈希运算结果;所述用户存单的存单金额合法性证明标识包括所述用户存单的金额承诺以及通过第一可审计范围证明算法确定的该金额承诺的可审计范围证明。
可选地,第一可审计范围证明算法执行以下步骤:预先选定椭圆曲线群,随机选择生成元,根据随机选择的审计私钥以及所述生成元计算审计公钥;将预设的第一元素和混淆元的倍点运算结果、与预设的第二元素和存单金额的倍点运算结果相乘,得到该存单金额的金额承诺;其中,第一元素和第二元素都是随机选择的椭圆曲线群中的元素;从椭圆曲线的模的整数环中随机选取多个子混淆元,将混淆元与子混淆元总和的差值确定为第一数值,计算该存单金额在二进制形式的系数;根据第一元素、第二元素、所述子混淆元以及所述系数确定第一子承诺和第二子承诺,利用第一子承诺和第二子承诺生成承诺集;将所述审计公钥与所述子混淆元的倍点运算结果确定为追踪密钥,基于所述承诺集和所述追踪密钥生成多个随机数值;使用第一子承诺、第二子承诺、所述随机数值以及所述追踪密钥形成公钥组;基于所述公钥组、所述子混淆元、所述金额承诺、第一数值以及所述追踪密钥生成多环签名值;将第一数值、所述承诺集、所述追踪密钥以及所述多环签名值组成所述金额承诺的可审计范围证明。
可选地,所述用户存单的上链信息进一步包括:第一审计标识,第一审计标识是使用审计公钥对所述用户存单的存单信息、所述用户存单的金额、所述用户存单的序列号以及所述用户存单的当前状态码进行加密得到的。
可选地,所述拆分质押请求中包括每一目标存单的拆分金额,所述质押请求中进一步包括第一存单的存单信息和贷款金额;以及,所述方法进一步包括:在将签名后的用户存单的上链信息上链之后,将所述用户存单的状态设置为“未质押”;在将生成的每一目标存单的上链信息在签名后上链之后,将所述用户存单的状态设置为“已拆分”,将每一目标存单的状态设置为“未质押”;所述响应于针对所述用户存单的拆分质押请求,将所述用户存单拆分为包括第一存单在内的多个目标存单,并将生成的每一目标存单的上链信息在签名后上链,包括:在接收到所述拆分请求之后,判断所述用户存单的状态是否为“未质押且未拆分”:若是,调用可审计拆分证明算法计算所述用户存单以及拆分后形成的每一目标存单的金额承诺的拆分金额合法性证明,并将所述拆分金额合法性证明签名后上链;对第一存单的存单信息执行哈希运算,得到第二上链标识;将第一存单的金额承诺以及通过第二可审计范围证明算法确定的该金额承诺的多重监管可审计范围证明组成第一存单的存单金额合法性证明标识,将第二上链标识和第一存单的存单金额合法性证明标识组成第一存单的上链信息;其中,第一存单的存单信息中的金额承诺为第一存单的金额承诺,第一存单的存单信息中的当前识别码由存单序列号、第一存单的当前状态码和第一存单的金额确定。
可选地,第二可审计范围证明算法用于生成区块链网络中的监管节点和预先确定的一个或多个合作方节点可审计的多重监管可审计范围证明;其中,当第一存单确定被质押给第二银行节点之后,第二银行节点被第一银行节点作为合作方节点;第二可审计范围证明算法执行以下步骤:预先选定椭圆曲线群,随机选择生成元,根据所述监管节点随机选择的审计私钥以及所述生成元计算审计公钥,根据每一合作方节点随机选择的目标私钥以及所述生成元计算相应的目标公钥;将预设的第一元素和混淆元的倍点运算结果、与预设的第二元素和存单金额的倍点运算结果相乘,得到该存单金额的金额承诺;其中,第一元素和第二元素都是随机选择的椭圆曲线群中的元素;从椭圆曲线的模的整数环中随机选取多个子混淆元,将混淆元与子混淆元总和的差值确定为第一数值,计算该存单金额在二进制形式的系数;根据第一元素、第二元素、所述子混淆元以及所述系数确定第一子承诺和第二子承诺,利用第一子承诺和第二子承诺生成承诺集;将所述审计公钥与所述子混淆元的倍点运算结果、以及所述目标公钥与所述子混淆元的倍点运算结果确定为追踪密钥,由所述追踪密钥组成追踪密钥集;将第二元素与子混淆元的倍点运算结果确定为金额标签,由所述金额标签形成金额标签集;基于所述承诺集、所述追踪密钥集以及所述金额标签集生成多个随机数值;使用第一子承诺、第二子承诺、所述随机数值、所述金额标签以及所述追踪密钥形成公钥组;基于所述公钥组、所述子混淆元、所述金额承诺、第一数值、所述追踪密钥集以及所述金额标签集生成多环签名值;将第一数值、所述承诺集、所述追踪密钥集、所述金额标签集以及所述多环签名值组成所述金额承诺的多重监管可审计范围证明。
可选地,所述可审计拆分证明算法执行以下步骤:调用第一可审计范围证明算法计算所述用户存单的金额承诺的可审计范围证明;生成对应于每一目标存单金额的随机数,根据每一目标存单金额、该随机数、第一元素以及第二元素确定每一目标存单的金额承诺,将所述混淆元与该随机数总和的差值确定为第二数值;当目标存单不具有所述合作方节点时,调用第一可审计范围证明算法计算该目标存单的金额承诺的可审计范围证明;当目标存单具有所述合作方节点时,调用第二可审计范围证明算法计算该目标存单的金额承诺的多重监管可审计范围证明;将所述用户存单的金额承诺的可审计范围证明、计算出的每一目标存单的金额承诺的可审计范围证明或多重监管可审计范围证明、每一目标存单的金额承诺以及第二数值组成所述拆分金额合法性证明。
可选地,第一存单的上链信息进一步包括:第二审计标识,第二审计标识是使用审计公钥对第一存单的存单信息、第一存单的金额、所述用户存单的序列号以及第一存单的当前状态码进行加密得到的。
可选地,第二银行节点接收到所述质押请求之后,利用所述质押请求中的存单序列号从区块链上确定第一存单,使用持有的所述目标私钥从第一存单的金额承诺的多重监管可审计范围证明中计算第一存单金额,并执行以下验证:验证计算出的第一存单金额是否等于所述质押请求中的质押金额;根据计算出的第一存单金额确定第一存单的当前识别码,利用该当前识别码以及第一存单的存单信息验证第一存单的上链信息中的第二上链标识;验证第一存单的上链信息中的第一存单的金额承诺的多重监管可审计范围证明;验证第一存单的状态是否为“未质押”;在每一验证通过之后,对第一存单的上链信息进行签名后生成质押信息上链,并将第一存单的状态修改为“已质押”;所述方法进一步包括:在区块链获取到所述质押信息之后,在内部数据库将第一存单的状态修改为“已质押”,并对第一存单的上链信息进行更新和签名后生成质押确认信息上链;其中,该更新包括:根据第一存单的当前状态码更新第一存单的当前识别码,进而将第一存单的第二上链标识更新为第三上链标识;第二银行节点在区块链获取到所述质押确认信息之后,向用户授信及放款。
可选地,第二银行节点在接收到针对第一存单的解除质押请求之后,如果判断用户已经完成贷款还款,则对第一存单的上链信息进行签名后生成解除质押信息上链;所述方法进一步包括:在区块链获取到所述解除质押信息之后,利用第一存单的当前状态码将第一存单的上链信息中的第三上链标识更新为第四上链标识,将第四上链标识和第一存单的存单金额合法性证明标识组成第一存单的解除质押后上链信息,对所述解除质押后上链信息签名后上链,并将第一存单的状态修改为“未质押”。
可选地,所述目标存单中包括至少一个第二存单;以及,所述方法进一步包括:在接收到针对第一存单和第二存单的合并请求之后,如果确定第一存单与第二存单具有相同的序列号以及都处在“未质押”状态,则将第一存单和第二存单合并为一个存单,调用可审计合并证明算法计算第一存单、第二存单以及合并后存单的金额承诺的合并金额合法性证明,并将所述合并金额合法性证明签名后上链;在确定所述合并后存单的上链信息之后将该上链信息上链,并将所述合并后存单的状态确定为“未质押”;其中,所述合并后存单的上链信息包括所述合并后存单的上链标识和所述合并后存单的存单金额合法性证明标识;该上链标识为所述合并后存单的存单信息的哈希运算结果,该存单金额合法性证明标识包括所述合并后存单的金额承诺以及通过第一可审计范围证明算法确定的该金额承诺的可审计范围证明。
可选地,所述可审计合并证明算法执行以下步骤:生成对应于每一待合并存单金额的随机数,根据每一待合并存单金额、该随机数、第一元素以及第二元素确定每一待合并存单的金额承诺,将每一待合并存单的金额承诺的乘积确定为所述合并后存单的金额承诺;调用第一可审计范围证明算法计算所述合并后存单的金额承诺的可审计范围证明;将所述合并后存单的金额承诺以及该可审计范围证明组成所述合并金额合法性证明。
可选地,所述合并后存单的上链信息进一步包括审计标识,该审计标识是使用审计公钥对所述合并后存单的存单信息、所述合并后存单的金额、所述用户存单的序列号以及所述合并后存单的当前状态码进行加密得到的。
为实现上述目的,根据本发明的又一方面,提供了一种基于区块链的存单管理方法。
本发明实施例的基于区块链的存单管理方法,应用在区块链网络中的第二银行节点;包括:响应于针对第一存单的质押请求,从区块链获取第一存单的金额承诺的多重监管可审计范围证明;依据第一存单的金额承诺的多重监管可审计范围证明对所述质押请求中的质押金额进行验证;在该验证通过并且针对第一存单的上链信息的验证通过的情况下,向用户授信及放款;其中,区块链网络中的第一银行节点根据用户存单的存单信息生成上链信息,并将签名后的所述上链信息上链;第一银行节点响应于针对所述用户存单的拆分质押请求,将所述用户存单拆分为包括第一存单在内的多个目标存单,并将生成的每一目标存单的上链信息在签名后上链;第一存单用于质押给第二银行节点,以由第二银行节点向用户提供质押贷款服务;第一存单的上链信息包括:第一存单的金额承诺的多重监管可审计范围证明。
可选地,第一存单的金额与所述拆分请求中的一个拆分金额相等;所述用户存单的存单信息包括:用户标识、存单的当前识别码、利率、期限和金额承诺,存单的当前识别码由存单序列号、存单的当前状态码和存单金额确定;其中,存单序列号用于唯一表示一个用户存单,存单的当前状态码与存单的拆分和合并情况以及质押和解除质押情况相关;存单的当前识别码是存单序列号、存单的当前状态码和存单金额的哈希运算结果;以及,所述用户存单的上链信息包括:第一上链标识和所述用户存单的存单金额合法性证明标识;其中,第一上链标识为所述用户存单的存单信息的哈希运算结果;所述用户存单的存单金额合法性证明标识包括所述用户存单的金额承诺以及通过第一可审计范围证明算法确定的该金额承诺的可审计范围证明。
可选地,第一可审计范围证明算法执行以下步骤:预先选定椭圆曲线群,随机选择生成元,根据随机选择的审计私钥以及所述生成元计算审计公钥;将预设的第一元素和混淆元的倍点运算结果、与预设的第二元素和存单金额的倍点运算结果相乘,得到该存单金额的金额承诺;其中,第一元素和第二元素都是随机选择的椭圆曲线群中的元素;从椭圆曲线的模的整数环中随机选取多个子混淆元,将混淆元与子混淆元总和的差值确定为第一数值,计算该存单金额在二进制形式的系数;根据第一元素、第二元素、所述子混淆元以及所述系数确定第一子承诺和第二子承诺,利用第一子承诺和第二子承诺生成承诺集;将所述审计公钥与所述子混淆元的倍点运算结果确定为追踪密钥,基于所述承诺集和所述追踪密钥生成多个随机数值;使用第一子承诺、第二子承诺、所述随机数值以及所述追踪密钥形成公钥组;基于所述公钥组、所述子混淆元、所述金额承诺、第一数值以及所述追踪密钥生成多环签名值;将第一数值、所述承诺集、所述追踪密钥以及所述多环签名值组成所述金额承诺的可审计范围证明。
可选地,所述用户存单的上链信息进一步包括:第一审计标识,第一审计标识是使用审计公钥对所述用户存单的存单信息、所述用户存单的金额、所述用户存单的序列号以及所述用户存单的当前状态码进行加密得到的。
可选地,所述拆分质押请求中包括每一目标存单的拆分金额,所述质押请求中进一步包括第一存单的存单信息和贷款金额;第一银行节点在将签名后的用户存单的上链信息上链之后,将所述用户存单的状态设置为“未质押”;在将生成的每一目标存单的上链信息在签名后上链之后,将所述用户存单的状态设置为“已拆分”,将每一目标存单的状态设置为“未质押”;第一银行节点在接收到所述拆分请求之后,判断所述用户存单的状态是否为“未质押且未拆分”:若是,调用可审计拆分证明算法计算所述用户存单以及拆分后形成的每一目标存单的金额承诺的拆分金额合法性证明,并将所述拆分金额合法性证明签名后上链;第一银行节点对第一存单的存单信息执行哈希运算,得到第二上链标识;将第一存单的金额承诺以及通过第二可审计范围证明算法确定的该金额承诺的多重监管可审计范围证明组成第一存单的存单金额合法性证明标识,将第二上链标识和第一存单的存单金额合法性证明标识组成第一存单的上链信息;其中,第一存单的存单信息中的金额承诺为第一存单的金额承诺,第一存单的存单信息中的当前识别码由存单序列号、第一存单的当前状态码和第一存单的金额确定。
可选地,第二可审计范围证明算法用于生成区块链网络中的监管节点和预先确定的一个或多个合作方节点可审计的多重监管可审计范围证明;其中,当第一存单确定被质押给第二银行节点之后,第二银行节点被第一银行节点作为合作方节点;第二可审计范围证明算法执行以下步骤:预先选定椭圆曲线群,随机选择生成元,根据所述监管节点随机选择的审计私钥以及所述生成元计算审计公钥,根据每一合作方节点随机选择的目标私钥以及所述生成元计算相应的目标公钥;将预设的第一元素和混淆元的倍点运算结果、与预设的第二元素和存单金额的倍点运算结果相乘,得到该存单金额的金额承诺;其中,第一元素和第二元素都是随机选择的椭圆曲线群中的元素;从椭圆曲线的模的整数环中随机选取多个子混淆元,将混淆元与子混淆元总和的差值确定为第一数值,计算该存单金额在二进制形式的系数;根据第一元素、第二元素、所述子混淆元以及所述系数确定第一子承诺和第二子承诺,利用第一子承诺和第二子承诺生成承诺集;将所述审计公钥与所述子混淆元的倍点运算结果、以及所述目标公钥与所述子混淆元的倍点运算结果确定为追踪密钥,由所述追踪密钥组成追踪密钥集;将第二元素与子混淆元的倍点运算结果确定为金额标签,由所述金额标签形成金额标签集;基于所述承诺集、所述追踪密钥集以及所述金额标签集生成多个随机数值;使用第一子承诺、第二子承诺、所述随机数值、所述金额标签以及所述追踪密钥形成公钥组;基于所述公钥组、所述子混淆元、所述金额承诺、第一数值、所述追踪密钥集以及所述金额标签集生成多环签名值;将第一数值、所述承诺集、所述追踪密钥集、所述金额标签集以及所述多环签名值组成所述金额承诺的多重监管可审计范围证明。
可选地,所述可审计拆分证明算法执行以下步骤:调用第一可审计范围证明算法计算所述用户存单的金额承诺的可审计范围证明;生成对应于每一目标存单金额的随机数,根据每一目标存单金额、该随机数、第一元素以及第二元素确定每一目标存单的金额承诺,将所述混淆元与该随机数总和的差值确定为第二数值;当目标存单不具有所述合作方节点时,调用第一可审计范围证明算法计算该目标存单的金额承诺的可审计范围证明;当目标存单具有所述合作方节点时,调用第二可审计范围证明算法计算该目标存单的金额承诺的多重监管可审计范围证明;将所述用户存单的金额承诺的可审计范围证明、计算出的每一目标存单的金额承诺的可审计范围证明或多重监管可审计范围证明、每一目标存单的金额承诺以及第二数值组成所述拆分金额合法性证明。
可选地,第一存单的上链信息进一步包括:第二审计标识,第二审计标识是使用审计公钥对第一存单的存单信息、第一存单的金额、所述用户存单的序列号以及第一存单的当前状态码进行加密得到的。
可选地,所述响应于针对第一存单的质押请求,从区块链获取第一存单的金额承诺的多重监管可审计范围证明;依据第一存单的金额承诺的多重监管可审计范围证明对所述质押请求中的质押金额进行验证;在该验证通过并且针对第一存单的上链信息的验证通过的情况下,向用户授信及放款,包括:接收到所述质押请求之后,利用所述质押请求中的存单序列号从区块链上确定第一存单,使用持有的所述目标私钥从第一存单的金额承诺的多重监管可审计范围证明中计算第一存单金额,并执行以下验证:验证计算出的第一存单金额是否等于所述质押请求中的质押金额;根据计算出的第一存单金额确定第一存单的当前识别码,利用该当前识别码以及第一存单的存单信息验证第一存单的上链信息中的第二上链标识;验证第一存单的上链信息中的第一存单的金额承诺的多重监管可审计范围证明;验证第一存单的状态是否为“未质押”;在每一验证通过之后,对第一存单的上链信息进行签名后生成质押信息上链,并将第一存单的状态修改为“已质押”;以及,第一银行节点在区块链获取到所述质押信息之后,在内部数据库将第一存单的状态修改为“已质押”,并对第一存单的上链信息进行更新和签名后生成质押确认信息上链;其中,该更新包括:根据第一存单的当前状态码更新第一存单的当前识别码,进而将第一存单的第二上链标识更新为第三上链标识;在区块链获取到所述质押确认信息之后,向用户授信及放款。
可选地,所述方法进一步包括:在接收到针对第一存单的解除质押请求之后,如果判断用户已经完成贷款还款,则对第一存单的上链信息进行签名后生成解除质押信息上链;以及,第一银行节点在区块链获取到所述解除质押信息之后,利用第一存单的当前状态码将第一存单的上链信息中的第三上链标识更新为第四上链标识,将第四上链标识和第一存单的存单金额合法性证明标识组成第一存单的解除质押后上链信息,对所述解除质押后上链信息签名后上链,并将第一存单的状态修改为“未质押”。
可选地,所述方法进一步包括:判断针对第一存单的还款过程是否发生异常;如果发生异常,向第一银行节点发送支取第一存单中部分或全部存款的请求,以使第一银行节点在接收到该请求后将第一存单中的部分或全部存款转入第二银行节点。
为实现上述目的,根据本发明的又一方面,提供了一种基于区块链的存单管理方法。
本发明实施例的基于区块链的存单管理方法,应用在区块链网络中的监管节点;包括:通过审计私钥从所述可审计范围证明、所述多重监管可审计范围证明、所述拆分金额合法性证明和所述合并金额合法性证明中确定金额信息,并通过审计私钥获取每一存单的业务数据。
为实现上述目的,根据本发明的又一方面,提供了一种电子设备。
本发明的一种电子设备包括:一个或多个处理器;存储装置,用于存储一个或多个程序,当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现本发明所提供的基于区块链的存单管理方法。
为实现上述目的,根据本发明的再一方面,提供了一种计算机可读存储介质。
本发明的一种计算机可读存储介质,其上存储有计算机程序,所述程序被处理器执行时实现本发明所提供的基于区块链的存单管理方法。
根据本发明的技术方案,上述发明中的实施例具有如下优点或有益效果:
区块链网络中的第一银行节点根据用户存单的存单信息生成上链信息,并将签名后的所述上链信息上链;第一银行节点响应于针对所述用户存单的拆分质押请求,将所述用户存单拆分为包括第一存单在内的多个目标存单,并将生成的每一目标存单的上链信息在签名后上链;其中,第一存单用于质押给区块链网络中的第二银行节点,以由第二银行节点向用户提供质押贷款服务;第一存单的上链信息包括:第一存单的金额承诺的多重监管可审计范围证明;第二银行节点响应于针对第一存单的质押请求,从区块链获取第一存单的金额承诺的多重监管可审计范围证明,并依据第一存单的金额承诺的多重监管可审计范围证明对所述质押请求中的质押金额进行验证;在该验证通过并且针对第一存单的上链信息的验证通过的情况下,向用户授信及放款。通过以上方式,并且基于新的密码算法和区块链隐私保护技术来支撑存单在拆分和合并过程中的隐私保护处理机制,同时支持穿透式监管审计,由此提高业务灵活性,提升用户使用感受,同时保护各方隐私不泄露;存单拆分合并方案与可审计范围证明等算法相容,在支持公开验证的同时,支持拆分与合并过程的穿透式监管审计;此外,通过引入唯一识别码、存单上链信息等概念,能够在保护链上存单隐私信息不泄露的同时,支持质押时的跨机构存单校验。特别地,本发明通过开发将合作方(例如合作银行)纳入监管范围的第二可审计范围证明算法来计算拆分后存单的多重监管可审计范围证明,从而使合作方能够在区块链上直接获取金额等业务信息,由此实现业务全程链上办理,银行间不再需要建立信道进行链下通信,从而降低银行参与基于区块链的跨机构存单质押贷款的门槛和成本,提高银行参与灵活性,促进生态系统更好的建立。
上述的非惯用的可选方式所具有的进一步效果将在下文中结合具体实施方式加以说明。
附图说明
附图用于更好地理解本发明,不构成对本发明的不当限定。其中:
图1是本发明实施例中基于区块链的存单管理系统的结构示意图;
图2是本发明实施例中基于区块链的存单管理系统的交互示意图;
图3是本发明实施例中基于区块链的存单管理方法的主要步骤示意图;
图4是根据本发明实施例可以应用于其中的示例性系统架构图;
图5是用来实现本发明实施例中基于区块链的存单管理方法的电子设备结构示意图。
具体实施方式
以下结合附图对本发明的示范性实施例做出说明,其中包括本发明实施例的各种细节以助于理解,应当将它们认为仅仅是示范性的。因此,本领域普通技术人员应当认识到,可以对这里描述的实施例做出各种改变和修改,而不会背离本发明的范围和精神。同样,为了清楚和简明,以下的描述中省略了对公知功能和结构的描述。
以下首先说明现有技术以及本发明的整体思路。
定期存单是商业银行存款业务的重要组成部分,基于存单质押的个人贷款业务有助于满足个人存款用户灵活的资金需求,业务模式清晰,风险可控,是商业银行必须重视并且发力的业务。截止到2019年,全国个人定期存单余额已经超过十万亿元人民币的规模,基于个人定期存单质押的贷款业务潜在市场规模有望达到万亿元人民币的量级,业务前景广阔。但是当前的个人定期存单质押贷款业务大多局限于商业银行内部运行,跨机构之间的存单质押贷款业务生态模式仍未建立。其主要原因在于以下几个方面:
1、真实有效性:跨机构存单的真伪鉴别与合法性校验难度较大,不同银行之间的存单系统无法打通,存单的真伪性难以直接验证,需要个人用户在存款银行和贷款银行之间多次办理真实合法性证明,存在恶意用户进行伪造和欺诈的可能性。与此同时,用户存在使用同一份存单在不同银行进行多次贷款的恶意行为,各个银行之间的实时信息交互和联合风控能力不足,对贷款银行的风控能力要求较高,造成银行“不敢贷”的现状;
2、意愿性:对于存款银行而言,存单相关个人用户是其重要的客户资源,如果用户将该存单质押到其他银行获得贷款,不但无法提升本行的收益,还会造成客户资源信息泄露和流失的风险,使得商业银行主观上缺乏构建跨机构间的存单质押系统的意愿,造成银行“不愿贷”的现状。需要制定相应的机制,提高各个商业银行对该项业务的参与积极性,促进整个生态系统的建立;
3、隐私与监管性:如果基于现有区块链技术,建立起跨机构间的存单质押贷款区块链系统,实现公开、透明、不可篡改、可追溯等技术特性,能够一定程度满足业务场景的需求,实现难度不大。然而,传统区块链系统(以太坊、超级账本Fabric等)中的金额流转是以明文形式,用户的存单金额等隐私信息无法得到有效的保护,因此需要使用额外的密码技术,在满足区块链既有技术特性的同时,保护存单金额、利率、期限等隐私信息不被无关节点查看,实现更高的隐私性。对于跨机构存单质押贷款业务,必须将其纳入监管机构的监管范围中,监管机构有权获取质押存单金额,以及实际发生的贷款银行和贷款数值等信息,并且实现穿透式监管,监管过程不需要与相关银行之间进行额外的通信,以实现更高的监管效率。
为了解决上述问题,可以根据区块链技术设计针对用户存单的整体质押贷款方案,从而在有效保护各方数据隐私的同时,实现存单的合法性校验与状态更新,防止双重抵押攻击,降低贷款银行的风险,促进生态的发展。
但是,在以上针对用户存单的整体质押贷款方案中,只支持用户存单的整单质押和贷款业务,会造成业务灵活性差,用户参与度低等潜在弊端,例如用户在银行A中的存单金额为100万元,而此时用户仅需要10万元的授信额度,如果将全部存单100万元全部质押,会影响未来用户的抵押贷款自由度,如果方案支持存单拆分功能,即将100万元的存单拆分成15万和85万元两部分,15万元质押给银行B获取第一笔10万元贷款,剩下的85万元存单可以在未来的任何时候质押给其他银行获取所需的贷款(也可以进一步进行分拆或合并),这样则可以增加跨机构存单质押贷款业务的灵活性,提高用户参与积极性。
对于此种方案,如果仅仅将存单金额(包含拆分金额)的明文上链,则会泄露用户和银行的隐私信息。如果使用加密金额上链,则难以验证存单拆分和合并的有效性与真实性,会造成潜在的风险隐患(相关银行发布错误的拆分信息)。
此外,对于隐私性而言,例如原始存单100万(属于银行A),拆分值为15万(质押给银行B)和85万(质押给银行C)的场景,银行A不希望将原始存单金额透露给银行B和银行C,因为会造成其他银行判断该用户为高净值用户,造成用户丢失;银行B(银行C)也不希望银行C(银行B)获取自己的拆分值。而全部的参与银行都不希望区块链验证节点和其他节点掌握任何存单相关的隐私信息,在此种隐私性需求下,主流的明文上链和密文(或哈希)上链都无法满足,需要研发新的密码算法和区块链隐私保护技术来支撑存单在拆分和合并过程中的隐私保护处理机制,并且支持穿透式监管审计。因此提出以下方案,解决存单拆分与合并过程中的隐私与监管问题。
需要指出的是,在以上技术构思中,虽然能够支持用户存单的质押和贷款业务,并且支持质押和解除质押过程中的存单拆分与合并,方案的灵活性显著提升,安全性、隐私性和监管性都能有效保障。然而,在方案中的拆分、质押、解除质押等环节中,可能需要银行之间(例如银行A与银行B)进行额外的链下通信,传输金额信息、随机数信息等用于校验(如果没有这些信息,可能无法有效校验金额和拆分的正确性),造成无法完全在链上进行全部的业务流程。一般而言,银行间进行链下可信通信,需要单独建立可信信道并且定期维护,成本较高,效率较低。
因此,需要进一步设计能够实现业务全程链上办理,不需要银行间进行链下通信,同时保留可拆分、可合并、隐私保护、监管审计等功能特性的跨机构存单质押与拆分系统,降低银行参与本系统的门槛和成本,提高银行参与灵活性,促进生态系统更好的建立。
在本发明技术方案中,为了实现在隐私保护与监管审计的同时,支持全部链上通信,避免链下通信,可以开发第二可审计范围证明算法来计算金额承诺的多重监管可审计范围证明,从而将合作方(例如合作银行)纳入监管体系,使合作方具有类似于现有监管者的功能,可以从多重监管可审计范围证明中计算隐藏金额,由此实现全链上业务办理。
需要强调的是,本方案仍存在监管者(即银监等真正的监管机构),并将合作方(例如银行A与银行B合作执行存单质押贷款时,二者互为合作方)也视为一个监管者(该监管者的含义是能够通过链上的隐私承诺和零知识证明,求解出隐私信息的真实值),此时针对隐私金额,发布相应的可审计范围证明(即多重监管可审计范围证明),监管者和合作方都可以通过自身掌握的私钥恢复出隐私金额的值,无需进行额外的链下通信来确保合作方获得隐私金额。在这种模式下,只要多重监管的可审计范围证明能够通过验证者(验证者不掌握任何私钥,无法恢复任何隐私信息)的合法性校验,就能确保上链信息的真实有效性和隐私性。与此同时,合作方作为监管者之一就可以直接通过自身私钥恢复出隐私信息(存单金额、拆分金额等),无需链下通信,避免了建立一一对应的安全信道而产生的成本,简化了方案和业务流程。需要强调的是,多重监管的可审计范围证明的合作方动态可调整,合作方选取可以根据实际业务灵活变动。
以下给出本文将要使用的术语的解释。
数字签名(Digital signature):非对称密码的一个分支,用户生成公私钥,自己保留私钥,对任意消息,用户使用私钥签名,验证者使用公钥即可验证签名的合法性,数字签名实现了身份的认证和数据完整性的验证。
消息(Message):任意长度的比特串。
UTXO(Unspent transaction output):当前区块链上已确认但未花费的数字货币,即未花费的一笔钱,也可以指代为数字资产,用金额来标记。
双花(Double spending):区块链上的不忠实用户对一笔钱交易进行两次花费。
非对称加密算法(Asymmetric encryption system):非对称加密算法是区别于传统的对称加密算法,基于加密、解密过程中计算复杂度的非对称性来保证安全的一类算法。在非对称加密系统中,加密方要生成私钥及公钥对。私钥自己保留,公钥可以发送给对方。
数字签名(Digital signature):非对称密码的一个分支,用户生成公私钥,自己保留私钥,对任意消息,用户使用私钥签名,验证者使用公钥即可验证签名的合法性,数字签名实现了身份的认证和数据完整性的验证。
环签名(Ring signature):一种特殊的数字签名方案,签名者使用自己和其用户的公钥生成一个公钥集合,然后用自己的私钥进行签名,验证者在验证签名的合法性后,只能知道该签名来自公钥集合的某个用户,但无法得知该用户的具体身份,实现了签名者的身份隐私保护。
可链接环签名(Linkable ring signature):一种特殊的环签名方案,用户在进行环签名时要提供一个标签信息,当用户进行非法签名(或双花等非法交易时),通过比对交易标签就可以判断是否是非法签名(双花交易),实现了安全的交易保障。
Pedersen承诺(Pedersen commitment):对于数量或者金额a,使用离散对数问题的结构,将a绑定在承诺Com=gxha上,在交易过程中只公开金额的承诺值Com,实现了保密的金额传输。
范围证明(Range proof):对于某个金额的绑定承诺,给出该金额数量属于指定的区间范围,而不透露具体金额信息的零知识证明体系。
Bulletproofs:当前主流的零知识证明框架,可以用于实现区间证明,证明尺寸小、验证速度快,在新版本门罗币等区块链系统上应用广泛,但是无法提供监管功能。
承诺证明(Commitment proof):对于承诺Com=gxha,承诺证明π给出了用户知道x,a的证明,记为π(gxha)。
可审计范围证明(Auditable range proof):通过监管方的监管公钥,证明者能够给出某个金额数量属于指定的范围,对于普通验证用户,该证明满足零知识性(不泄露金额信息);而监管方可以通过证明求解出具体的数额,实现了监管审计功能。
需要指出的是,在不冲突的情况下,本发明的实施例以及实施例中的技术特征可以相互结合。
下面给出本发明实施例的可审计隐私保护存单质押与贷款方案的基本架构:
本方案使用联盟区块链基础架构,构建跨机构的个人存单质押贷款系统,下面简述各参与主体在区块链系统中的属性和角色:
1、银行等金融机构:为用户提供定期存款业务,为用户提供存单质押与贷款业务,有义务为本行的合法存单进行无条件兑付,在本系统中扮演区块链普通节点(联盟成员)的作用(联盟主体就是由各个金融机构组成),将合法存单上链,将质押与贷款信息上链;
2、验证节点:区块链的验证节点,承担交易验证、共识、上链等工作,对区块链普通节点在链上发布的相关信息进行有效性检验,并将合法信息上链,实际系统中,验证节点可以为银行等金融机构,也可以是联盟或监管机构指定的特定节点扮演验证角色;
3、个人用户:普通用户,在银行进行了定期存款业务,是存单的拥有者,并且需要通过质押存单进行贷款,以满足个人的临时资金需求,个人用户在区块链系统中无角色,不属于联盟成员,仅能够办理业务和享受服务,但是可以通过银行节点查看链上与自己存单相关的数据;
4、监管机构:银监、央行等监管机构,有权限查看定期存单业务和数据,查看质押贷款情况,对实际业务进行监督和管理,但是不负责系统的日常管理与维护,不参与日常的交易确认、合法上链等业务工作。
图1是本发明实施例中基于区块链的存单管理系统的结构示意图,图2是本发明实施例中基于区块链的存单管理系统的交互示意图,如图1、2所示,本发明实施例的基于区块链的存单管理系统可以包括:处在区块链网络中的第一银行节点和第二银行节点。
其中,第一银行节点根据用户存单的存单信息生成上链信息,并将签名后的所述上链信息上链;第一银行节点响应于针对所述用户存单的拆分质押请求,将所述用户存单拆分为包括第一存单在内的多个目标存单,并将生成的每一目标存单的上链信息在签名后上链。实际应用中,以上拆分质押请求用于将用户存单拆分并针对拆分后形成的一个或多个目标存单进行质押贷款,这些目标存单由于具有同一来源,因此对应于同一识别码。对于任何一个目标存单,其可以用于后续的质押贷款,也可以继续作为存款存放在第一银行节点。可以理解,以上上链信息在上链时,首先需要通过区块链网络中验证节点的验证。
实际场景中,如果用户在第一银行节点拥有较大金额的用户存单,同时需要以较小金额作为质押金额进行贷款,则可以向第一银行节点发出拆分请求,以将较大金额的用户存单拆分为该较小金额的存单(以下称为第一存单)进行质押,可见,第一存单的金额与拆分质押请求中的一个拆分金额相等,拆分质押请求中一般包括需要拆分的每一拆分金额。此后,当拆分成功以后,用户可以向第二银行节点发送质押请求,从而基于第一存单进行质押贷款。一般地,拆分质押请求中可以包括第一存单的存单信息、质押金额和贷款金额。可以理解,质押请求中的质押金额与拆分质押请求中的上述拆分金额以及第一存单的金额相等。
第一银行节点在接收到上述拆分质押请求之后,如果能够从中确定:第一存单用于质押给第二银行节点、从而实现由第二银行节点向用户提供质押贷款服务,并且需要与第二银行节点之间进行全链上业务办理,则可以将第二银行节点作为前述合作方(第一银行节点可通过区块链向合作方分享拆分金额等隐藏信息),将第二银行节点的公钥纳入第一存单的金额承诺的多重监管可审计范围证明,从而使第二银行节点具有类似于监管者(即区块链网络中的监管节点)的功能,使第二银行节点利用自身私钥从链上的、第一存单的金额承诺的多重监管可审计范围证明中还原出第一存单金额(该金额为第一存单的真实金额),用于对用户提供的质押金额进行验证,由此避免银行间的链下通信。可以理解,以上合作方及其数量可以根据业务需求灵活、动态选取,本发明并不对此作任何限制。
实际应用中,第一存单的上链信息包括:第一存单的金额承诺的多重监管可审计范围证明。
在本发明实施例中,第二银行节点响应于针对第一存单的质押请求,从区块链获取第一存单的金额承诺的多重监管可审计范围证明,该证明用于证明第一存单金额的合法性,同时使监管节点和作为第一银行节点合作方的第二银行节点能够通过自身私钥计算出第一存单金额。此后,第二银行节点可依据第一存单的金额承诺的多重监管可审计范围证明对所述质押请求中的质押金额进行验证;在该验证通过并且针对第一存单的上链信息的验证通过的情况下,向用户授信及放款,以上验证过程和授信过程将在下文说明。
具体应用中,所述用户存单的存单信息可以包括:用户标识、存单的当前识别码、利率、期限和金额承诺,可选地,存单的当前识别码可以由存单序列号、存单的当前状态码和存单金额确定;其中,存单序列号用于唯一表示一个用户存单。存单的当前状态码与存单的拆分和合并情况以及质押和解除质押情况相关,也就是说,当存单发生任何一次拆分、合并或者任何一次质押、解除质押,状态码都会发生变化,同时,处在不同拆分位置的两个存单具有不同的状态码。例如,第二次拆分形成的第一个子存单和第二次拆分形成的第二个子存单具有不同的状态码(在质押情况等其它因素相同的情况下)。实际场景中,可以将状态码设置为随存单的以上拆分位置、拆分次数、合并次数、质押次数、解除质押次数、当前是否处于质押状态等因素变化的函数,从而根据以上因素确定状态码。
另外,除了存单序列号、状态码之外,以上识别码还由存单金额决定,由于存单金额一般为隐藏数据,因此以上识别码对于业务无关方来说等于随机数(这增加了链上数据安全和隐私性),但是对于第二银行节点等合作方来说,由于其可以从第一存单的多重监管可审计范围证明中计算出存单金额,同时第一存单的序列号和当前状态码可由用户在发出质押请求时向第二银行节点提供,因此第二银行节点能够计算出第一存单的当前识别码,从而对上链信息进行验证。通过以上设置,避免了存单上链信息中随机数的使用,也因此避免了银行间需要链下传递随机数的情况,实现了全链上业务办理流程。同时,通过以上状态码和识别码的设计,实现了链上数据在经过拆分、合并、质押、解除质押等操作时的自动更新(当执行任一操作时,状态码自动更新使得识别码更新,进而使以下将要说明的上链标识更新),从而将链上数据实时与存单的最新情况对应,并且保证数据的安全性、隐私性以及针对监管节点和合作方的可审计、可验证功能。此外,以上状态码和识别码的设计还有助于区分拆分金额相同的不同子存单。可以理解,对于识别码、状态码的以上设置仅为优选,实际应用中可以采用能达到类似效果的其它设置方式。
较佳地,存单的当前识别码是存单序列号、存单的当前状态码和存单金额的哈希运算结果。所述用户存单的上链信息包括:第一上链标识和所述用户存单的存单金额合法性证明标识;其中,第一上链标识为所述用户存单的存单信息的哈希运算结果;所述用户存单的存单金额合法性证明标识包括所述用户存单的金额承诺以及通过第一可审计范围证明算法确定的该金额承诺的可审计范围证明,该证明用于确保用户存单的金额以及金额承诺的合法性。
需要说明的是,第一可审计范围证明算法用于计算某一金额承诺的可审计范围证明,所述可审计范围证明中只对监管节点可见,即只有监管节点能够从中获取隐藏金额,其它节点均无法获取;第二可审计范围证明算法用于计算某一金额承诺的多重监管可审计范围证明,所述多重监管可审计范围证明中对监管节点和合作方节点可见,监管节点和合作方节点都能够根据自身私钥从中获取隐藏金额,但其它节点均无法获取。实际应用中,在生成第一存单的上链数据时,如果第一银行节点已经获知第一存单给质押第二银行节点、由第二银行节点提供质押贷款,则可以将第二银行节点确定为合作方节点,进而将第二银行节点的公钥融入第二可审计范围证明算法来计算以上多重监管可审计范围证明。如果第一银行节点在生成第一存单的上链数据时并不了解第一存单的质押方,则可以利用第一可审计范围证明算法来计算以上可审计范围证明,待到获知质押方之后,再以同样的方法来计算以上多重监管可审计范围证明,并以该证明替换第一存单上链数据中的可审计范围证明,由此实现隐藏金额对合作方节点的公开。
实际应用中,第一可审计范围证明算法执行以下步骤:预先选定椭圆曲线群,随机选择生成元,根据随机选择的审计私钥以及所述生成元计算审计公钥;将预设的第一元素和混淆元的倍点运算结果、与预设的第二元素和存单金额的倍点运算结果相乘,得到该存单金额的金额承诺;其中,第一元素和第二元素都是随机选择的椭圆曲线群中的元素;从椭圆曲线的模的整数环中随机选取多个子混淆元,将混淆元与子混淆元总和的差值确定为第一数值,计算该存单金额在二进制形式的系数;根据第一元素、第二元素、所述子混淆元以及所述系数确定第一子承诺和第二子承诺,利用第一子承诺和第二子承诺生成承诺集;将所述审计公钥与所述子混淆元的倍点运算结果确定为追踪密钥,基于所述承诺集和所述追踪密钥生成多个随机数值;使用第一子承诺、第二子承诺、所述随机数值以及所述追踪密钥形成公钥组;基于所述公钥组、所述子混淆元、所述金额承诺、第一数值以及所述追踪密钥生成多环签名值;将第一数值、所述承诺集、所述追踪密钥以及所述多环签名值组成所述金额承诺的可审计范围证明。
以下给出可审计范围证明算法的数学形式,首先说明隐私承诺和范围证明。
隐私承诺:对于隐私金额a,使用离散对数问题的结构,可以利用Pedersen承诺机制,将a绑定在承诺Com=gxha上,其中g,h为椭圆曲线群元素
Figure BDA0003148835970000271
a,x是普通标量
Figure BDA0003148835970000272
其中a∈[0,2n-1]属于特定的有效金额区间,x称为混淆元。在上链过程中只公开金额的承诺值Com,基于隐私承诺的隐藏性和绑定性,任何攻击者无法根据承诺值Com恢复出金额a的任何有效信息,实现了保密的金额传输。(该技术为成熟技术,在隐私保护数字货币系统(例如门罗币)中应用成熟)
范围证明(Range proof):对于某个金额的绑定承诺,给出该金额数量属于指定的区间范围,而不透露具体金额信息的零知识证明体系。(该技术为成熟技术,在隐私保护数字货币系统(例如门罗币)中应用成熟)范围证明本质上是一类特殊的零知识证明系统,具备强隐私性,但是无法监管审计,因此本方案使用自研的可审计范围证明算法同时支持隐私与监管,下面给出可审计范围证明算法的详细介绍:
可审计范围证明算法:(以下分为初始化、证明、验证、审计四个子算法)
初始化:
1、系统选定椭圆曲线群
Figure BDA0003148835970000273
随机选择生成元
Figure BDA0003148835970000274
监管者随机选择
Figure BDA0003148835970000281
(
Figure BDA0003148835970000282
为椭圆曲线的阶q的整数环)作为审计私钥,计算审计公钥h0=gy,保留y作为审计私钥,系统公开公共参数
Figure BDA00031488359700002814
证明:
1、证明者根据金额承诺c=gxha,其中a∈[0,2n-1],随机选取
Figure BDA0003148835970000283
计算β=x-x0-…-xn-1,同时将a二进制展开为a=a0+…+2iai+…+2n-1an-1,其中ai=0,1,x0,…,xn-1为子混淆元,β为第一数值,ai为以上系数;
2、对于每个i=0,…,n-1,证明者计算
Figure BDA0003148835970000284
Figure BDA0003148835970000285
记Li=(ci,c′i)为子承诺集,L={L0,…,Ln-1}为承诺集;ci为第一子承诺,c′i为第二子承诺;
3、证明者对于每个i=0,…,n-1,证明者计算追踪密钥
Figure BDA0003148835970000286
然后,证明者计算随机数:(其中H为哈希函数)
e1=H(L;TK0,…,TKn-1;1),e2=H(L;TK0,…,TKn-1;2);e1、e2为随机数值;
4、对于每个i=0,…,n-1,证明者计算子公钥组为
Figure BDA0003148835970000287
Figure BDA0003148835970000288
对应的子私钥为xi,计算新的椭圆曲线生成元为
Figure BDA0003148835970000289
5、证明者计算公钥组
Figure BDA00031488359700002810
6、证明者运行Borromean多环签名σ=RSIG(LPK,x0,…,xn-1,c,β,TK0,…,TKn-1),使用生成元为
Figure BDA00031488359700002811
需要说明的是,Borromean多环签名是可选方式,其他椭圆曲线多环签名也可以作为组件应用;
7、证明者输出承诺c的可追踪区间证明结果π(c)=(β,L,TK0,…,TKn-1,σ)。
验证:
1、验证gβ·Πci=c是否正确;
2、验证
Figure BDA00031488359700002812
是否成立;
3、验证者计算e1=H(L;TK0,…,TKn-1;1),e2=H(L;TK0,…,TKn-1;2);
4、对于所有i=0,…,n-1,验证者计算
Figure BDA00031488359700002813
Figure BDA0003148835970000291
得到
Figure BDA0003148835970000292
5、验证Borromean多环签名σ的正确性,验证过程使用生成元为
Figure BDA0003148835970000293
审计:
1、对于每一位i=0,…,n-1,监管者计算
Figure BDA0003148835970000294
2、如果
Figure BDA0003148835970000295
则输出ai=0;
3、如果
Figure BDA0003148835970000296
则输出ai=1;
4、监管者计算a=a0+…+2iai+…+2n-1an-1作为对于隐私金额的审计结果。
以上可审计范围证明算法适合于解决金融场景中隐私与审计相结合的相关问题,适合在区块链系统中进行部署落地。
通过以上说明可知,第二可审计范围证明算法用于生成区块链网络中的监管节点、以及预先确定的一个或多个合作方节点可审计的多重监管可审计范围证明。在以上场景中,当第一存单确定被质押给第二银行节点之后,第二银行节点可以被第一银行节点作为合作方节点。
特别地,第二可审计范围证明算法执行以下步骤:预先选定椭圆曲线群,随机选择生成元,根据所述监管节点随机选择的审计私钥以及所述生成元计算审计公钥,根据每一合作方节点随机选择的目标私钥以及所述生成元计算相应的目标公钥;将预设的第一元素和混淆元的倍点运算结果、与预设的第二元素和存单金额的倍点运算结果相乘,得到该存单金额的金额承诺;其中,第一元素和第二元素都是随机选择的椭圆曲线群中的元素;从椭圆曲线的模的整数环中随机选取多个子混淆元,将混淆元与子混淆元总和的差值确定为第一数值,计算该存单金额在二进制形式的系数;根据第一元素、第二元素、所述子混淆元以及所述系数确定第一子承诺和第二子承诺,利用第一子承诺和第二子承诺生成承诺集;将所述审计公钥与所述子混淆元的倍点运算结果、以及所述目标公钥与所述子混淆元的倍点运算结果确定为追踪密钥,由所述追踪密钥组成追踪密钥集;将第二元素与子混淆元的倍点运算结果确定为金额标签,由所述金额标签形成金额标签集;基于所述承诺集、所述追踪密钥集以及所述金额标签集生成多个随机数值;使用第一子承诺、第二子承诺、所述随机数值、所述金额标签以及所述追踪密钥形成公钥组;基于所述公钥组、所述子混淆元、所述金额承诺、第一数值、所述追踪密钥集以及所述金额标签集生成多环签名值;将第一数值、所述承诺集、所述追踪密钥集、所述金额标签集以及所述多环签名值组成所述金额承诺的多重监管可审计范围证明。
以下给出第二可审计范围证明算法的数学形式,分为初始化、证明、验证、审计四个子算法。
初始化:
1、系统选定椭圆曲线群
Figure BDA0003148835970000301
随机选择生成元g,
Figure BDA0003148835970000302
并且监管节点随机选择
Figure BDA0003148835970000303
作为审计私钥,计算审计公钥h0=gy,保留y作为审计私钥,合作节点A,B,C等(也视为监管者)生成
Figure BDA0003148835970000304
作为审计私钥,分别计算自身公钥
Figure BDA0003148835970000305
Figure BDA0003148835970000306
保留yA,yB,yC等作为自身私钥,系统公开公共参数(
Figure BDA00031488359700003010
q,g,h,h0,hA,hB,hC…);可以理解,以上合作节点的数量可以任意设置,本发明并不此进行任何限制,以下以仅存在合作节点B为例进行说明,其公钥为hB,私钥为yB
证明:
1、证明者(例如银行A)在关于合作节点(例如银行B)根据金额承诺c=gxha给出多重监管可审计范围证明,其中a∈[0,2n-1],证明者随机选取x0,…,
Figure BDA0003148835970000307
计算β=x-x0-…-xn-1,同时将a二进制展开为a=a0+…+2iai+…+2n-1an-1,其中ai=0,1;x0,…,xn-1为子混淆元,β为第一数值,ai为以上系数;
2、对于每个i=0,…,n-1,证明者计算
Figure BDA0003148835970000308
记Li=(ci,c′i)为子承诺集,L={L0,…,Ln-1}为承诺集;ci为第一子承诺,c′i为第二子承诺;
3、证明者对于每个i=0,…,n-1,证明者计算子追踪密钥集
Figure BDA0003148835970000309
对于全部i=0,…,n-1,就可以得到追踪密钥集TK={(TK0,TK′0),…,(TKn-1,TK′n-1)}。可以看到,此步骤包括以下步骤与此前的第一可审计范围证明算法存在区别,在本步骤中,子追踪密钥集中的元素数量与监管节点以及合作节点的总量相等,当存在两个以上的任意数量的监管节点以及合作节点时,可以按照类似形式计算子追踪密钥集和追踪密钥集。
4、证明者对于每个i=0,…,n-1,计算金额标签
Figure BDA00031488359700003110
得到金额标签集I={I0,…,In-1};
5、证明者计算三个随机数:(其中H为哈希函数,随机数的数量根据监管节点与合作节点总量而变动,一般地,随机数的数量等于监管节点与合作节点总量加1)e1=H(L;TK;I;1),e2=H(L;TK;I;2),e3=H(L;TK;I;3);
6、对于每个i=0,…,n-1,证明者计算子公钥组为:
Figure BDA0003148835970000311
对应的子私钥为xi,计算新的椭圆曲线生成元为
Figure BDA0003148835970000312
(如果监管节点或者合作节点发生变化,TK和g1等元素的计算方式也相应发生改变);
7、证明者计算公钥组
Figure BDA0003148835970000313
8、可选的,证明者运行Borromean多环签名σ=RSIG(LPK,x0,…,xn-1,c,β,TK,I),使用生成元为
Figure BDA0003148835970000314
(可以理解,Borromean多环签名是可选的,其他椭圆曲线多环签名也可以作为组件应用)
9、证明者输出承诺c的多重监管可追踪区间证明结果πMul(c)=(β,L,TK,I,σ)。其中,可将多重监管的可审计范围证明记为πMul,将无合作节点的可审计范围证明记为π。
验证:
1、验证gβ·Πci=c是否正确;
2、对于全部i=0,…,n-1,验证
Figure BDA0003148835970000315
是否成立;
3、验证者计算e1=H(L;TK;I;1),e2=H(L;TK;I;2),e3=H(L;TK;I;3);
4、对于所有i=0,…,n-1,验证者计算
Figure BDA0003148835970000316
Figure BDA0003148835970000317
得到
Figure BDA0003148835970000318
5、验证Borromean多环签名σ的正确性,验证过程使用生成元为
Figure BDA0003148835970000319
审计(对于监管者):
1、对于每一位i=0,…,n-1,监管者计算
Figure BDA0003148835970000321
2、如果
Figure BDA0003148835970000322
则输出ai=0;
3、如果
Figure BDA0003148835970000323
则输出ai=1;
4、监管者计算a=ao+…+2iai+…+2n-1an-1作为对于隐私金额的审计结果。
审计:(对于合作节点,即银行B)
1、对于每一位i=0,…,n-1,银行B计算
Figure BDA0003148835970000324
2、如果
Figure BDA0003148835970000325
则输出ai=0;
3、如果
Figure BDA0003148835970000326
则输出ai=1;
4、银行B计算a=a0+…+2iai+…+2n-1an-1作为对于隐私金额的求解结果。
可以看到,通过将合作方节点私钥引入追踪密钥,以上第二可审计范围证明算法能够使合作方节点实现类似于监管节点的审计功能,从而使合作方节点能够从链上获取所需信息以避免链下通信。
可选地,所述用户存单的上链信息进一步包括:第一审计标识,第一审计标识是使用审计公钥对所述用户存单的存单信息、所述用户存单的金额、所述用户存单的序列号以及所述用户存单的当前状态码进行加密得到的。
实际应用中,第一银行节点在将签名后的用户存单的上链信息上链之后,将所述用户存单的状态设置为“未质押”;在将生成的每一目标存单的上链信息在签名后上链之后,将所述用户存单的状态设置为“已拆分”,将每一目标存单的状态设置为“未质押”。
在本发明实施例中,第一银行节点在接收到所述拆分请求之后,判断所述用户存单的状态是否为“未质押且未拆分”:若是,调用可审计拆分证明算法计算所述用户存单以及拆分后形成的每一目标存单的金额承诺的拆分金额合法性证明,并将所述拆分金额合法性证明签名后上链。可以理解,区块链中的验证节点在对包括所述拆分金额合法性证明在内的信息验证通过之后,执行所述拆分金额合法性证明的上链。以上拆分金额合法性证明用于对此次存单拆分提供金额范围合法证明,其一方面保证拆分后形成的每一目标存单金额之和等于拆分前的用户存单金额,另一方面保证拆分后形成的每一目标存单金额的范围合法。
较佳地,所述可审计拆分证明算法执行以下步骤:调用第一可审计范围证明算法计算所述用户存单的金额承诺的可审计范围证明;生成对应于每一目标存单金额的随机数,根据每一目标存单金额、该随机数、第一元素以及第二元素确定每一目标存单的金额承诺,将所述混淆元与该随机数总和的差值确定为第二数值;当目标存单不具有所述合作方节点时,调用第一可审计范围证明算法计算该目标存单的金额承诺的可审计范围证明;当目标存单具有所述合作方节点时,调用第二可审计范围证明算法计算该目标存单的金额承诺的多重监管可审计范围证明;将所述用户存单的金额承诺的可审计范围证明、计算出的每一目标存单的金额承诺的可审计范围证明或多重监管可审计范围证明、每一目标存单的金额承诺以及第二数值组成所述拆分金额合法性证明。
以下给出所述可审计拆分证明算法的数学形式,分为初始化、证明、验证、审计四个子算法,这里只给出拆为两份的算法,拆为多份的情形,按照同样的技术路线可以得出。
初始化:
1、系统选定椭圆曲线群
Figure BDA0003148835970000331
随机选择生成元
Figure BDA0003148835970000332
监管者随机选择
Figure BDA0003148835970000333
作为审计私钥,计算审计公钥h=gy,保留y作为审计私钥,系统公开公共参数
Figure BDA0003148835970000334
证明:
1、证明者根据金额承诺c=gxha,需要将其进行拆分,拆分结果是a=au+av,其中a,au,av∈[0,2n-1],证明者首先调用第一可审计范围证明算法,计算原始承诺的可审计范围证明π(c);其中,a为用户存单金额,au,av为拆分金额,au为第一存单的金额,c为用户存单的金额承诺;
2、证明者生成随机数
Figure BDA0003148835970000335
计算拆分子承诺
Figure BDA0003148835970000336
以及
Figure BDA0003148835970000337
然后计算γ=x-xu-xv;其中,cu和cv均为目标存单的金额承诺,γ为第二数值;
3、证明者调用可审计范围证明,计算两个拆分子承诺的可审计范围证明π(cu)和π(cv);需要说明的是,当目标存单不具有所述合作方节点时,可以调用第一可审计范围证明算法计算该目标存单的金额承诺的可审计范围证明π(cu)或π(cv);当目标存单具有所述合作方节点时,可以调用第二可审计范围证明算法计算该目标存单的金额承诺的多重监管可审计范围证明πMul(cu)或πMul(cv)。
4、证明者输出拆分证明πs(c)=(cu,cv,γ,π(c),π(cu),π(cv)),可以理解,其中的π(cu),π(cv)可以根据以上说明替换为πMul(cu)或πMul(cv)。
验证:
1、计算并检验gγ·cu·cv=c是否正确;
2、验证可审计范围证明π(c),π(cu),π(cv)是否成立,全部通过后完成拆分证明的验证.
审计:
1、监管者利用监管私钥y,运行可审计范围证明的审计算法,对可审计范围证明π(c),π(cu),π(cv)进行追踪,得到追踪审计结果a,au,av
2、监管者计算并检验a=au+av是否成立,通过则完成审计步骤。
在本发明实施例中,第一存单的上链信息通过以下步骤确定。第一银行节点对第一存单的存单信息执行哈希运算,得到第二上链标识;将第一存单的金额承诺以及通过第二可审计范围证明算法确定的该金额承诺的多重监管可审计范围证明组成第一存单的存单金额合法性证明标识,将第二上链标识和第一存单的存单金额合法性证明标识组成第一存单的上链信息;其中,第一存单的存单信息中的金额承诺为第一存单的金额承诺,第一存单的存单信息中的当前识别码由存单序列号、第一存单的当前状态码和第一存单的金额确定。可以看到,在拆分用户存单形成第一存单之后,第一存单的上链信息中的上链标识发生了更新。
可选地,第一存单的上链信息可以进一步包括:第二审计标识,第二审计标识是使用审计公钥对第一存单的存单信息、第一存单的金额、所述用户存单的序列号以及第一存单的当前状态码进行加密得到的。
以下介绍第二银行节点的存单质押流程。具体而言,第二银行节点接收到所述质押请求之后,利用所述质押请求中的存单序列号从区块链上确定第一存单,使用持有的所述目标私钥(即前述yB)从第一存单的金额承诺的多重监管可审计范围证明中计算第一存单金额(根据前述审计子算法),并执行以下验证。
这些验证包括:验证计算出的第一存单金额是否等于所述质押请求中的质押金额(可以理解,以上质押金额只是用户提供,因此需要根据多重监管可审计范围证明中的真实金额进行验证);根据计算出的第一存单金额以及预先获取的第一存单的序列号和当前状态码确定第一存单的当前识别码,利用该当前识别码以及第一存单的存单信息验证第一存单的上链信息中的第二上链标识;执行第二可审计范围证明算法的前述验证子算法来验证第一存单的上链信息中的第一存单的金额承诺的多重监管可审计范围证明;验证第一存单的状态是否为“未质押”。在每一验证通过之后,第二银行节点可以对第一存单的上链信息进行签名后生成质押信息上链,并将第一存单的状态修改为“已质押”。
第一银行节点在区块链获取到所述质押信息之后,在内部数据库将第一存单的状态修改为“已质押”,并对第一存单的上链信息进行更新和签名后生成质押确认信息上链;其中,该更新包括:根据第一存单的当前状态码更新第一存单的当前识别码,进而将第一存单的第二上链标识更新为第三上链标识;第二银行节点在区块链获取到所述质押确认信息之后,向用户授信及放款。可以看到,当第一存单被质押之后,当前状态码发生改变,使得第一存单上链信息中的第二上链标识发生更新。可以理解,如果第一存单的上链信息包括第二审计标识,则其同样会发生更新。
以下说明第一存单的解除质押流程。第二银行节点在接收到针对第一存单的解除质押请求之后,如果判断用户已经完成贷款还款,则对第一存单的上链信息进行签名后生成解除质押信息上链;第一银行节点在区块链获取到所述解除质押信息之后,利用第一存单的当前状态码将第一存单的上链信息中的第三上链标识更新为第四上链标识,将第三上链标识和第一存单的存单金额合法性证明标识组成第一存单的解除质押后上链信息,对所述解除质押后上链信息签名后上链,并将第一存单的状态修改为“未质押”。
当由用户存单拆分的多个目标存单都处在“未质押”状态时,可以将这些目标存单合并为一个存单。以用户存单拆分形成的第一存单和至少一个第二存单(第二存单可以是不同的目标存单)为例,第一银行节点在接收到针对第一存单和第二存单的合并请求之后,如果确定第一存单与第二存单具有相同的序列号以及都处在“未质押”状态,则将第一存单和第二存单合并为一个存单,调用可审计合并证明算法计算第一存单、第二存单以及合并后存单的金额承诺的合并金额合法性证明,并将所述合并金额合法性证明签名后上链。可以理解,区块链中的验证节点在对包括所述合并金额合法性证明在内的信息验证通过之后,执行所述合并金额合法性证明的上链。以上合并金额合法性证明用于对此次存单合并提供金额范围合法证明,其一方面保证合并后存单的金额等于合并前各存单金额之和,另一方面保证合并后存单的金额范围合法。
作为一个优选方案,所述可审计合并证明算法可执行以下步骤:生成对应于每一待合并存单金额的随机数,根据每一待合并存单金额、该随机数、第一元素以及第二元素确定每一待合并存单的金额承诺,将每一待合并存单的金额承诺的乘积确定为所述合并后存单的金额承诺;调用第一可审计范围证明算法计算所述合并后存单的金额承诺的可审计范围证明;将所述合并后存单的金额承诺以及该可审计范围证明组成所述合并金额合法性证明。
以下给出所述可审计合并证明算法的数学形式。
合并证明:(同样分为初始化、证明、验证、审计四个子算法,这里只给出两个分拆承诺合并成一个新承诺的算法,多份分拆进行合并的情形,按照同样的技术路线可以得出)
初始化:
1、系统选定椭圆曲线群
Figure BDA0003148835970000361
随机选择生成元
Figure BDA0003148835970000362
监管者随机选择
Figure BDA0003148835970000371
作为审计私钥,计算审计公钥h=gy,保留y作为审计私钥,系统公开公共参数
Figure BDA0003148835970000372
证明:
1、证明者根据承诺
Figure BDA0003148835970000373
以及
Figure BDA0003148835970000374
计算合并承诺c=cu·cv;其中,xu、xv为随机数,所述合并证明为所述合并后存单的金额承诺;
2、证明者调用第一可审计范围证明算法,计算合并承诺的可审计范围证明π(c);
3、证明者输出所述合并金额合法性证明πm(cu,cv)=(c,π(c));
验证:
1、验证cu·cv=c是否正确;
2、验证可审计范围证明π(c)是否成立,全部通过后完成合并证明的验证工作;
审计:
1、监管者利用监管私钥y,运行可审计范围证明的审计算法,对可审计范围证明π(c)进行追踪,得到追踪审计结果a;
2、监管者计算并检验a=au+av是否成立,通过则完成审计步骤。
此后,第一银行节点在确定所述合并后存单的上链信息之后将该上链信息上链,并将所述合并后存单的状态确定为“未质押”;其中,所述合并后存单的上链信息包括所述合并后存单的上链标识和所述合并后存单的存单金额合法性证明标识;该上链标识为所述合并后存单的存单信息的哈希运算结果,该存单金额合法性证明标识包括所述合并后存单的金额承诺以及通过第一可审计范围证明算法确定的该金额承诺的可审计范围证明。
可选地,所述合并后存单的上链信息可以进一步包括审计标识,该审计标识是使用审计公钥对所述合并后存单的存单信息、所述合并后存单的金额、所述用户存单的序列号以及所述合并后存单的当前状态码进行加密得到的。可以理解,在执行以上合并之后,合并后存单的上链数据自动执行更新。
实际应用中,第二银行节点判断针对第一存单的还款过程是否发生异常;如果发生异常,向第一银行节点发送支取第一存单中部分或全部存款的请求,以使第一银行节点在接收到该请求后将第一存单中的部分或全部存款转入第二银行节点。
特别地,所述监管节点通过审计私钥从所述可审计范围证明、所述多重监管可审计范围证明、所述拆分金额合法性证明和所述合并金额合法性证明中确定金额信息,并通过审计私钥获取每一存单的各种业务数据。
以下说明本发明的一个具体实施例。
1、存款:用户在银行(例如:银行A)办理存款业务,以一定的利率、期限、金额(金额为a)将自己的资金存入银行,获取纸质(或电子)存单信息(存单信息包含唯一的有效识别码),过程中需要验证用户身份、账户等个人信息;
2、存单上链:
(1)在银行A与用户完成存款业务之后,对于金额
Figure BDA0003148835970000381
银行A随机生成
Figure BDA0003148835970000382
计算金额承诺c=gxha,然后执行第一可审计范围证明算法,得到金额a的合法性证明π(c)(此时合法性证明是只有监管节点没有合作节点的可审计范围证明,由于存单还未质押,不存在合作方,因此本阶段不需要使用第二可审计范围证明算法),将w1=(c,π(c))作为上链标识(即用户存单的存单金额合法性证明标识)进行保存。
(2)然后,银行A将此存单的关键信息(用户ID、存单识别码、利率、期限、金额承诺)使用哈希的方式进行隐藏。可选的,对于用户ID=ID、识别码=N、利率=R、期限=Y,银行A计算w2=H(ID,N,R,Y,c)作为第一上链标识进行保存。其中,可选的,对于存单识别码,计算的方式为N=H(SN,Num,a),其中SN是存单的序列号,Num为状态码,代表当前存单合并拆分的次数和顺序(例如Num=(2,1)代表第2次拆分的第1个子存单)以及质押、解除质押情况,a代表存单的金额;
(3)可选地,银行A使用监管公钥对存单信息进行加密,得到密文w3=EncPK(ID,N,SN,Num,R,Y,a),作为第一审计标识进行保存,该标识用于监管机构利用监管私钥打开存单信息,进行更全面的监管(如果该步骤不符合未来的监管规定,也可以采用线下上报的方式进行存单信息上报)。
(4)银行A将w=(w1,w2,w3)以及使用自身公钥对w的签名Sig(w)发送到区块链上,供验证节点进行检验和共识上链,上链后的用户存单状态为正常、未质押(存单状态信息也随存单一起上链)。根据本方案的隐私处理技术,验证节点和其他节点无法通过上链信息获取存单中包含的隐私信息。
3、存单拆分与办理质押:当用户的合法存单上链之后,当用户有资金需求,希望从银行B中通过质押存单(银行A的存单)获取贷款,想贷款的金额为b,为此需要将存单金额拆分为a=au+av,将金额为au的存单向银行B进行质押,获得贷款金额为b,其中b<au
(1)用户分别向银行A和银行B提出申请(向银行A申请拆分,向银行B申请质押贷款),向银行A提供存单拆分金额au和av,向银行B公开其存单信息(ID,SN,Numu,au,R,Y,并且包含申请贷款金额b,Numu为第一存单的当前状态码)。(可以看出此步骤中,银行A不知道申请贷款金额b,银行B不知道存单原始金额a和其他拆分金额av)
(2)银行A根据用户申请的拆分申请,首先检查用于拆分的存单是否为有效且未质押状态(已质押的存单不支持再次拆分,必须解除质押后才能进行拆分),通过后,调用可审计拆分证明算法和第二可审计范围证明算法,(只有当存单质押给银行B时,银行A才把银行B作为合作方节点,运行第二可审计范围证明算法,方便银行B更快速获取并验证存单金额au的有效性),计算以下拆分金额合法性证明,
πs(c)=(cu,cv,γ,π(c),πMul(cu),π(cv)),然后生成两份新的分拆后存单信息w′=(w′1,w′2,w′3)和w″=(w″1,w″2,w″3)(w′和w″分别对应拆分值au和av的子存单),其中w′2=H(ID,Nu,R,Y,cu),w″2=H(ID,Nv,R,Y,cv),其中Nu=H(SN,Numu,au),Nv=H(SN,Numv,av),Numu、Numv为存单当前的状态码,Nu、Nv为存单当前的识别码。此外,w′1=(cu,πMul(cu)),w′3=EncPK(ID,Nu,SN,Numu,R,Y,au),w″1,w″3的生成过程与w1,w3类似,不再一一赘述。银行A将存单拆分后的结果签名后发送到区块链上,并且将原始存单的状态改为已拆分。
(3)银行B通过在链上搜索与用户提交存单相匹配的正常且未质押有效存单w′,计算Nu=H(SN,Numu,au),然后检验w′2=H(ID,Nu,R,Y,cu)是否成立,并检验对应的多重监管可审计范围证明πMul(cu)是否成立,然后通过审计Audit算法检验πMul(cu)中隐私金额au是否与用户提供的质押金额au相等,全部检验通过后接受该存单的有效性验证,并且为客户进行贷前风控等必要性操作(根据质押金额au进行金额b的授信)。
(4)银行B使用自身私钥对该存单信息w′=(w′1,w′2,w′3)进行签名,签名信息包含将该存单的状态改为“正常、已质押、质押期限=XX”,将签名信息发送到区块链上。
(5)银行A在链上看到银行B对于存单信息w′=(w′1,w′2,w′3)的质押签名信息之后,在内部数据存单库中更改该拆分后的存单的状态为已质押,并自动更新第一存单的上链信息,随后向链上发送确认签名。(此时存单信息w′=(w′1,w′2,w′3)的状态为已质押,存单w″=(w″1,w″2,w″3)的状态为正常且未质押,原始存单w=(w1,w2,w3)状态为已分拆)
(6)银行B在链上收到银行A的确认信息后,向客户完成放款操作。
4、解除质押:当用户完成贷款还款之后,银行B需要为用户的存单进行解除质押。
(1)银行B使用自身私钥,对于正在质押的存单,签发解除质押的签名信息。
(2)银行A在链上接收到该信息后,也签发解除质押信息,发到区块链上,并在内部系统中修改存单状态,自动更新上链数据,完成解除质押的操作。
5、存单合并:对于存单信息w′=(w′1,w′2,w′3)和w″=(w″1,w″2,w″3)(w′和W″分别对应拆分值au和av,并且必须都为未质押状态),用户申请存单合并,此时银行A调用存单合并证明πm(cu,cv)=(c,π(c)),计算对应的存单识别码N′,计算新的合并存单信息w″′=(w″′1,w″′2,w″′3),其中,w″′1=(c,π(c)),w″′2=H(ID,N′,R,Y,c),w″′3=EncPK(ID,N′,SN,Num′,R,Y,au+av),N′=H(SN,Num′,au+av)。
6、异常处理:当用户贷款违约等异常事件发生时,由银行B与银行A进行(链上或链下)交互,并在链上提交相应的证据文件,银行B申请强制兑付存单,通过已质押存单进行提前支取,实现强制结清贷款(本息)操作,在此过程中,由于有用户存款作为抵押,银行A和银行B的权益均未受到影响。
7、监管审计:银监、央行等监管机构,通过监管私钥有权限查看定期存单业务和数据,查看质押贷款情况,对实际业务进行监督和管理,但是不参与日常的交易确认、合法上链等业务工作。具体的,监管机构一方面可以通过监管私钥在可审计范围证明中进行追踪计算,得到相关的隐私金额信息;另一方面可以通过存单信息中的w3(或w′3等)密文,解密恢复出存单金额以及其他(ID、利率、识别码等)。
在本发明实施例的技术方案中,在基于区块链技术的跨机构存单质押贷款技术方案基础上,利用多重监管的可审计范围证明算法,提出了支持存单拆分与合并的创新方案,支持上链存单的可信拆分与合并,支持存单拆分与质押业务全部在链上运行。提高了业务灵活性,降低了参与银行的成本,提高了效率,同时保护各方隐私不泄露;存单拆分合并方案与多重监管的可审计范围证明等算法相容,在支持公开验证的同时,支持拆分与合并过程的穿透式监管审计;通过存单识别码,序列号,基于随机数计算存单上链标识和哈希函数等概念的引入,保护链上存单的隐私信息不泄露,同时又能支持质押时的跨机构存单校验。
需要说明的是,对于前述的各方法实施例,为了便于描述,将其表述为一系列的动作组合,但是本领域技术人员应该知悉,本发明并不受所描述的动作顺序的限制,某些步骤事实上可以采用其它顺序进行或者同时进行。此外,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定是实现本发明所必须的。
为便于更好的实施本发明实施例的上述方案,下面还提供用于实施上述方案的相关方法。
请参阅图3所示,本发明实施例提供的基于区块链的存单管理方法应用在区块链网络中的第一银行节点,可以包括:步骤S301:根据用户存单的存单信息生成上链信息,并将签名后的所述上链信息上链;步骤S302:响应于针对所述用户存单的拆分质押请求,将所述用户存单拆分为包括第一存单在内的多个目标存单,并将生成的每一目标存单的上链信息在签名后上链;其中,第一存单用于质押给区块链网络中的第二银行节点,以由第二银行节点向用户提供质押贷款服务;第一存单的上链信息包括:第一存单的金额承诺的多重监管可审计范围证明;以及,第二银行节点响应于针对第一存单的质押请求,从区块链获取第一存单的金额承诺的多重监管可审计范围证明,并依据第一存单的金额承诺的多重监管可审计范围证明对所述质押请求中的质押金额进行验证;在该验证通过并且针对第一存单的上链信息的验证通过的情况下,向用户授信及放款。
在本发明实施例中,第一存单的金额与所述拆分请求中的一个拆分金额相等;所述用户存单的存单信息包括:用户标识、存单的当前识别码、利率、期限和金额承诺,存单的当前识别码由存单序列号、存单的当前状态码和存单金额确定;其中,存单序列号用于唯一表示一个用户存单,存单的当前状态码与存单的拆分和合并情况以及质押和解除质押情况相关;存单的当前识别码是存单序列号、存单的当前状态码和存单金额的哈希运算结果;以及,所述用户存单的上链信息包括:第一上链标识和所述用户存单的存单金额合法性证明标识;其中,第一上链标识为所述用户存单的存单信息的哈希运算结果;所述用户存单的存单金额合法性证明标识包括所述用户存单的金额承诺以及通过第一可审计范围证明算法确定的该金额承诺的可审计范围证明。
作为一个优选方案,第一可审计范围证明算法执行以下步骤:预先选定椭圆曲线群,随机选择生成元,根据随机选择的审计私钥以及所述生成元计算审计公钥;将预设的第一元素和混淆元的倍点运算结果、与预设的第二元素和存单金额的倍点运算结果相乘,得到该存单金额的金额承诺;其中,第一元素和第二元素都是随机选择的椭圆曲线群中的元素;从椭圆曲线的模的整数环中随机选取多个子混淆元,将混淆元与子混淆元总和的差值确定为第一数值,计算该存单金额在二进制形式的系数;根据第一元素、第二元素、所述子混淆元以及所述系数确定第一子承诺和第二子承诺,利用第一子承诺和第二子承诺生成承诺集;将所述审计公钥与所述子混淆元的倍点运算结果确定为追踪密钥,基于所述承诺集和所述追踪密钥生成多个随机数值;使用第一子承诺、第二子承诺、所述随机数值以及所述追踪密钥形成公钥组;基于所述公钥组、所述子混淆元、所述金额承诺、第一数值以及所述追踪密钥生成多环签名值;将第一数值、所述承诺集、所述追踪密钥以及所述多环签名值组成所述金额承诺的可审计范围证明。
较佳地,所述用户存单的上链信息进一步包括:第一审计标识,第一审计标识是使用审计公钥对所述用户存单的存单信息、所述用户存单的金额、所述用户存单的序列号以及所述用户存单的当前状态码进行加密得到的。
具体应用中,所述拆分质押请求中包括每一目标存单的拆分金额,所述质押请求中进一步包括第一存单的存单信息和贷款金额;以及,所述方法进一步包括:在将签名后的用户存单的上链信息上链之后,将所述用户存单的状态设置为“未质押”;在将生成的每一目标存单的上链信息在签名后上链之后,将所述用户存单的状态设置为“已拆分”,将每一目标存单的状态设置为“未质押”;所述响应于针对所述用户存单的拆分质押请求,将所述用户存单拆分为包括第一存单在内的多个目标存单,并将生成的每一目标存单的上链信息在签名后上链,包括:在接收到所述拆分请求之后,判断所述用户存单的状态是否为“未质押且未拆分”:若是,调用可审计拆分证明算法计算所述用户存单以及拆分后形成的每一目标存单的金额承诺的拆分金额合法性证明,并将所述拆分金额合法性证明签名后上链;对第一存单的存单信息执行哈希运算,得到第二上链标识;将第一存单的金额承诺以及通过第二可审计范围证明算法确定的该金额承诺的多重监管可审计范围证明组成第一存单的存单金额合法性证明标识,将第二上链标识和第一存单的存单金额合法性证明标识组成第一存单的上链信息;其中,第一存单的存单信息中的金额承诺为第一存单的金额承诺,第一存单的存单信息中的当前识别码由存单序列号、第一存单的当前状态码和第一存单的金额确定。
实际应用中,第二可审计范围证明算法用于生成区块链网络中的监管节点和预先确定的一个或多个合作方节点可审计的多重监管可审计范围证明;其中,当第一存单确定被质押给第二银行节点之后,第二银行节点被第一银行节点作为合作方节点;第二可审计范围证明算法执行以下步骤:预先选定椭圆曲线群,随机选择生成元,根据所述监管节点随机选择的审计私钥以及所述生成元计算审计公钥,根据每一合作方节点随机选择的目标私钥以及所述生成元计算相应的目标公钥;将预设的第一元素和混淆元的倍点运算结果、与预设的第二元素和存单金额的倍点运算结果相乘,得到该存单金额的金额承诺;其中,第一元素和第二元素都是随机选择的椭圆曲线群中的元素;从椭圆曲线的模的整数环中随机选取多个子混淆元,将混淆元与子混淆元总和的差值确定为第一数值,计算该存单金额在二进制形式的系数;根据第一元素、第二元素、所述子混淆元以及所述系数确定第一子承诺和第二子承诺,利用第一子承诺和第二子承诺生成承诺集;将所述审计公钥与所述子混淆元的倍点运算结果、以及所述目标公钥与所述子混淆元的倍点运算结果确定为追踪密钥,由所述追踪密钥组成追踪密钥集;将第二元素与子混淆元的倍点运算结果确定为金额标签,由所述金额标签形成金额标签集;基于所述承诺集、所述追踪密钥集以及所述金额标签集生成多个随机数值;使用第一子承诺、第二子承诺、所述随机数值、所述金额标签以及所述追踪密钥形成公钥组;基于所述公钥组、所述子混淆元、所述金额承诺、第一数值、所述追踪密钥集以及所述金额标签集生成多环签名值;将第一数值、所述承诺集、所述追踪密钥集、所述金额标签集以及所述多环签名值组成所述金额承诺的多重监管可审计范围证明。
在一个实施例中,所述可审计拆分证明算法执行以下步骤:调用第一可审计范围证明算法计算所述用户存单的金额承诺的可审计范围证明;生成对应于每一目标存单金额的随机数,根据每一目标存单金额、该随机数、第一元素以及第二元素确定每一目标存单的金额承诺,将所述混淆元与该随机数总和的差值确定为第二数值;当目标存单不具有所述合作方节点时,调用第一可审计范围证明算法计算该目标存单的金额承诺的可审计范围证明;当目标存单具有所述合作方节点时,调用第二可审计范围证明算法计算该目标存单的金额承诺的多重监管可审计范围证明;将所述用户存单的金额承诺的可审计范围证明、计算出的每一目标存单的金额承诺的可审计范围证明或多重监管可审计范围证明、每一目标存单的金额承诺以及第二数值组成所述拆分金额合法性证明。
在一个可选方案中,第一存单的上链信息进一步包括:第二审计标识,第二审计标识是使用审计公钥对第一存单的存单信息、第一存单的金额、所述用户存单的序列号以及第一存单的当前状态码进行加密得到的。
优选地,第二银行节点接收到所述质押请求之后,利用所述质押请求中的存单序列号从区块链上确定第一存单,使用持有的所述目标私钥从第一存单的金额承诺的多重监管可审计范围证明中计算第一存单金额,并执行以下验证:验证计算出的第一存单金额是否等于所述质押请求中的质押金额;根据计算出的第一存单金额确定第一存单的当前识别码,利用该当前识别码以及第一存单的存单信息验证第一存单的上链信息中的第二上链标识;验证第一存单的上链信息中的第一存单的金额承诺的多重监管可审计范围证明;验证第一存单的状态是否为“未质押”;在每一验证通过之后,对第一存单的上链信息进行签名后生成质押信息上链,并将第一存单的状态修改为“已质押”;所述方法进一步包括:在区块链获取到所述质押信息之后,在内部数据库将第一存单的状态修改为“已质押”,并对第一存单的上链信息进行更新和签名后生成质押确认信息上链;其中,该更新包括:根据第一存单的当前状态码更新第一存单的当前识别码,进而更新第一存单的第二上链标识;第二银行节点在区块链获取到所述质押确认信息之后,向用户授信及放款。
具体场景中,第二银行节点在接收到针对第一存单的解除质押请求之后,如果判断用户已经完成贷款还款,则对第一存单的上链信息进行签名后生成解除质押信息上链;所述方法进一步包括:在区块链获取到所述解除质押信息之后,利用第一存单的当前状态码将第一存单的上链信息中的第二上链标识更新为第三上链标识,将第三上链标识和第一存单的存单金额合法性证明标识组成第一存单的解除质押后上链信息,对所述解除质押后上链信息签名后上链,并将第一存单的状态修改为“未质押”。
实际场景中,所述目标存单中包括至少一个第二存单;以及,所述方法进一步包括:在接收到针对第一存单和第二存单的合并请求之后,如果确定第一存单与第二存单具有相同的序列号以及都处在“未质押”状态,则将第一存单和第二存单合并为一个存单,调用可审计合并证明算法计算第一存单、第二存单以及合并后存单的金额承诺的合并金额合法性证明,并将所述合并金额合法性证明签名后上链;在确定所述合并后存单的上链信息之后将该上链信息上链,并将所述合并后存单的状态确定为“未质押”;其中,所述合并后存单的上链信息包括所述合并后存单的上链标识和所述合并后存单的存单金额合法性证明标识;该上链标识为所述合并后存单的存单信息的哈希运算结果,该存单金额合法性证明标识包括所述合并后存单的金额承诺以及通过第一可审计范围证明算法确定的该金额承诺的可审计范围证明。
在一可选实现方式中,所述可审计合并证明算法执行以下步骤:生成对应于每一待合并存单金额的随机数,根据每一待合并存单金额、该随机数、第一元素以及第二元素确定每一待合并存单的金额承诺,将每一待合并存单的金额承诺的乘积确定为所述合并后存单的金额承诺;调用第一可审计范围证明算法计算所述合并后存单的金额承诺的可审计范围证明;将所述合并后存单的金额承诺以及该可审计范围证明组成所述合并金额合法性证明。
此外,在本发明实施例中,所述合并后存单的上链信息进一步包括审计标识,该审计标识是使用审计公钥对所述合并后存单的存单信息、所述合并后存单的金额、所述用户存单的序列号以及所述合并后存单的当前状态码进行加密得到的。
本发明实施例的技术方案相比于现有技术具备以下优点:
1、相比于需要银行进行链下通信的方案,本方案提供了无需银行间进行链下通信,并且支持存单拆分与合并的创新方案,降低了银行的成本,提高了业务效率;
2、相比于传统线下模式的跨机构存单互认,本方案使用区块链技术,通过可审计范围证明、唯一识别码、哈希函数等密码算法,实现了高效的链上存单有效性校验,缩短了业务办理周期,降低了用户办理难度;
3、相比于明文上链的传统区块链通信模式,本方案使用隐私化信息处理方法,将密文和哈希值进行上链,每次合并后,存单上链信息中的序列号发生相应的更新,有效保护了各方隐私信息,同时适配隐私模式下的有效性校验与穿透式监管审计。
在本发明实施例中,提供一种应用在区块链网络中的第二银行节点的基于区块链的存单管理方法,包括:响应于针对第一存单的质押请求,从区块链获取第一存单的金额承诺的多重监管可审计范围证明;依据第一存单的金额承诺的多重监管可审计范围证明对所述质押请求中的质押金额进行验证;在该验证通过并且针对第一存单的上链信息的验证通过的情况下,向用户授信及放款;其中,区块链网络中的第一银行节点根据用户存单的存单信息生成上链信息,并将签名后的所述上链信息上链;第一银行节点响应于针对所述用户存单的拆分质押请求,将所述用户存单拆分为包括第一存单在内的多个目标存单,并将生成的每一目标存单的上链信息在签名后上链;第一存单用于质押给第二银行节点,以由第二银行节点向用户提供质押贷款服务;第一存单的上链信息包括:第一存单的金额承诺的多重监管可审计范围证明。
实际应用中,第一存单的金额与所述拆分请求中的一个拆分金额相等;所述用户存单的存单信息包括:用户标识、存单的当前识别码、利率、期限和金额承诺,存单的当前识别码由存单序列号、存单的当前状态码和存单金额确定;其中,存单序列号用于唯一表示一个用户存单,存单的当前状态码与存单的拆分和合并情况以及质押和解除质押情况相关;存单的当前识别码是存单序列号、存单的当前状态码和存单金额的哈希运算结果;以及,所述用户存单的上链信息包括:第一上链标识和所述用户存单的存单金额合法性证明标识;其中,第一上链标识为所述用户存单的存单信息的哈希运算结果;所述用户存单的存单金额合法性证明标识包括所述用户存单的金额承诺以及通过第一可审计范围证明算法确定的该金额承诺的可审计范围证明。
具体应用中,第一可审计范围证明算法执行以下步骤:预先选定椭圆曲线群,随机选择生成元,根据随机选择的审计私钥以及所述生成元计算审计公钥;将预设的第一元素和混淆元的倍点运算结果、与预设的第二元素和存单金额的倍点运算结果相乘,得到该存单金额的金额承诺;其中,第一元素和第二元素都是随机选择的椭圆曲线群中的元素;从椭圆曲线的模的整数环中随机选取多个子混淆元,将混淆元与子混淆元总和的差值确定为第一数值,计算该存单金额在二进制形式的系数;根据第一元素、第二元素、所述子混淆元以及所述系数确定第一子承诺和第二子承诺,利用第一子承诺和第二子承诺生成承诺集;将所述审计公钥与所述子混淆元的倍点运算结果确定为追踪密钥,基于所述承诺集和所述追踪密钥生成多个随机数值;使用第一子承诺、第二子承诺、所述随机数值以及所述追踪密钥形成公钥组;基于所述公钥组、所述子混淆元、所述金额承诺、第一数值以及所述追踪密钥生成多环签名值;将第一数值、所述承诺集、所述追踪密钥以及所述多环签名值组成所述金额承诺的可审计范围证明。
作为一个优选方案,所述用户存单的上链信息进一步包括:第一审计标识,第一审计标识是使用审计公钥对所述用户存单的存单信息、所述用户存单的金额、所述用户存单的序列号以及所述用户存单的当前状态码进行加密得到的。
较佳地,所述拆分质押请求中包括每一目标存单的拆分金额,所述质押请求中进一步包括第一存单的存单信息和贷款金额;第一银行节点在将签名后的用户存单的上链信息上链之后,将所述用户存单的状态设置为“未质押”;在将生成的每一目标存单的上链信息在签名后上链之后,将所述用户存单的状态设置为“已拆分”,将每一目标存单的状态设置为“未质押”;第一银行节点在接收到所述拆分请求之后,判断所述用户存单的状态是否为“未质押且未拆分”:若是,调用可审计拆分证明算法计算所述用户存单以及拆分后形成的每一目标存单的金额承诺的拆分金额合法性证明,并将所述拆分金额合法性证明签名后上链;第一银行节点对第一存单的存单信息执行哈希运算,得到第二上链标识;将第一存单的金额承诺以及通过第二可审计范围证明算法确定的该金额承诺的多重监管可审计范围证明组成第一存单的存单金额合法性证明标识,将第二上链标识和第一存单的存单金额合法性证明标识组成第一存单的上链信息;其中,第一存单的存单信息中的金额承诺为第一存单的金额承诺,第一存单的存单信息中的当前识别码由存单序列号、第一存单的当前状态码和第一存单的金额确定。
实际场景中,第二可审计范围证明算法用于生成区块链网络中的监管节点和预先确定的一个或多个合作方节点可审计的多重监管可审计范围证明;其中,当第一存单确定被质押给第二银行节点之后,第二银行节点被第一银行节点作为合作方节点;第二可审计范围证明算法执行以下步骤:预先选定椭圆曲线群,随机选择生成元,根据所述监管节点随机选择的审计私钥以及所述生成元计算审计公钥,根据每一合作方节点随机选择的目标私钥以及所述生成元计算相应的目标公钥;将预设的第一元素和混淆元的倍点运算结果、与预设的第二元素和存单金额的倍点运算结果相乘,得到该存单金额的金额承诺;其中,第一元素和第二元素都是随机选择的椭圆曲线群中的元素;从椭圆曲线的模的整数环中随机选取多个子混淆元,将混淆元与子混淆元总和的差值确定为第一数值,计算该存单金额在二进制形式的系数;根据第一元素、第二元素、所述子混淆元以及所述系数确定第一子承诺和第二子承诺,利用第一子承诺和第二子承诺生成承诺集;将所述审计公钥与所述子混淆元的倍点运算结果、以及所述目标公钥与所述子混淆元的倍点运算结果确定为追踪密钥,由所述追踪密钥组成追踪密钥集;将第二元素与子混淆元的倍点运算结果确定为金额标签,由所述金额标签形成金额标签集;基于所述承诺集、所述追踪密钥集以及所述金额标签集生成多个随机数值;使用第一子承诺、第二子承诺、所述随机数值、所述金额标签以及所述追踪密钥形成公钥组;基于所述公钥组、所述子混淆元、所述金额承诺、第一数值、所述追踪密钥集以及所述金额标签集生成多环签名值;将第一数值、所述承诺集、所述追踪密钥集、所述金额标签集以及所述多环签名值组成所述金额承诺的多重监管可审计范围证明。
具体场景中,所述可审计拆分证明算法执行以下步骤:调用第一可审计范围证明算法计算所述用户存单的金额承诺的可审计范围证明;生成对应于每一目标存单金额的随机数,根据每一目标存单金额、该随机数、第一元素以及第二元素确定每一目标存单的金额承诺,将所述混淆元与该随机数总和的差值确定为第二数值;当目标存单不具有所述合作方节点时,调用第一可审计范围证明算法计算该目标存单的金额承诺的可审计范围证明;当目标存单具有所述合作方节点时,调用第二可审计范围证明算法计算该目标存单的金额承诺的多重监管可审计范围证明;将所述用户存单的金额承诺的可审计范围证明、计算出的每一目标存单的金额承诺的可审计范围证明或多重监管可审计范围证明、每一目标存单的金额承诺以及第二数值组成所述拆分金额合法性证明。
优选地,第一存单的上链信息进一步包括:第二审计标识,第二审计标识是使用审计公钥对第一存单的存单信息、第一存单的金额、所述用户存单的序列号以及第一存单的当前状态码进行加密得到的。
在一个实施例中,所述响应于针对第一存单的质押请求,从区块链获取第一存单的金额承诺的多重监管可审计范围证明;依据第一存单的金额承诺的多重监管可审计范围证明对所述质押请求中的质押金额进行验证;在该验证通过并且针对第一存单的上链信息的验证通过的情况下,向用户授信及放款,包括:接收到所述质押请求之后,利用所述质押请求中的存单序列号从区块链上确定第一存单,使用持有的所述目标私钥从第一存单的金额承诺的多重监管可审计范围证明中计算第一存单金额,并执行以下验证:验证计算出的第一存单金额是否等于所述质押请求中的质押金额;根据计算出的第一存单金额确定第一存单的当前识别码,利用该当前识别码以及第一存单的存单信息验证第一存单的上链信息中的第二上链标识;验证第一存单的上链信息中的第一存单的金额承诺的多重监管可审计范围证明;验证第一存单的状态是否为“未质押”;在每一验证通过之后,对第一存单的上链信息进行签名后生成质押信息上链,并将第一存单的状态修改为“已质押”;以及,第一银行节点在区块链获取到所述质押信息之后,在内部数据库将第一存单的状态修改为“已质押”,并对第一存单的上链信息进行更新和签名后生成质押确认信息上链;其中,该更新包括:根据第一存单的当前状态码更新第一存单的当前识别码,进而更新第一存单的第二上链标识;在区块链获取到所述质押确认信息之后,向用户授信及放款。
在一可选实现方式中,所述方法进一步包括:在接收到针对第一存单的解除质押请求之后,如果判断用户已经完成贷款还款,则对第一存单的上链信息进行签名后生成解除质押信息上链;以及,第一银行节点在区块链获取到所述解除质押信息之后,利用第一存单的当前状态码将第一存单的上链信息中的第二上链标识更新为第三上链标识,将第三上链标识和第一存单的存单金额合法性证明标识组成第一存单的解除质押后上链信息,对所述解除质押后上链信息签名后上链,并将第一存单的状态修改为“未质押”。
此外,在本发明实施例中,所述方法进一步包括:判断针对第一存单的还款过程是否发生异常;如果发生异常,向第一银行节点发送支取第一存单中部分或全部存款的请求,以使第一银行节点在接收到该请求后将第一存单中的部分或全部存款转入第二银行节点。
综上所述,本方案是一个新的基于区块链的跨机构存单质押贷款方案,综合使用多重监管的可审计范围证明、拆分与合并证明、哈希函数、唯一识别码等技术,实现了多方互信、隐私保护、业务灵活、与监管审计相容的新方案,无需机构链下通信,具备较高的技术和应用价值。
在一些实施例中,进一步提供一种应用在区块链网络中的监管节点的基于区块链的存单管理方法,包括:通过审计私钥从所述可审计范围证明、所述多重监管可审计范围证明、所述拆分金额合法性证明和所述合并金额合法性证明中确定金额信息,并通过审计私钥获取每一存单的业务数据。
图4示出了可以应用本发明实施例的基于区块链的存单管理方法的示例性系统架构400。
如图4所示,系统架构400可以包括终端设备401、402、403,网络404和服务器405(此架构仅仅是示例,具体架构中包含的组件可以根据申请具体情况调整)。网络404用以在终端设备401、402、403和服务器405之间提供通信链路的介质。网络404可以包括各种连接类型,例如有线、无线通信链路或者光纤电缆等。
用户可以使用终端设备401、402、403通过网络404与服务器405交互,以接收或发送消息等。终端设备401、402、403上可以安装有各种通讯客户端应用,例如存单管理应用(仅为示例)。
终端设备401、402、403可以是具有显示屏并且支持网页浏览的各种电子设备,包括但不限于智能手机、平板电脑、膝上型便携计算机和台式计算机等等。
服务器405可以是提供各种服务的后台服务器,例如对用户利用终端设备401、402、403所操作的存单管理应用提供支持的后台服务器(仅为示例)。后台服务器可以对接收到的拆分质押请求等进行处理,并将处理结果(例如是否进行授信及放款--仅为示例)反馈给终端设备401、402、403。
需要说明的是,本发明实施例所提供的基于区块链的存单管理方法一般由服务器405执行。
应该理解,图4中的终端设备、网络和服务器的数目仅仅是示意性的。根据实现需要,可以具有任意数目的终端设备、网络和服务器。
本发明还提供了一种电子设备。本发明实施例的电子设备包括:一个或多个处理器;存储装置,用于存储一个或多个程序,当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现本发明所提供的基于区块链的存单管理方法。
下面参考图5,其示出了适于用来实现本发明实施例的电子设备的计算机系统500的结构示意图。图5示出的电子设备仅仅是一个示例,不应对本发明实施例的功能和使用范围带来任何限制。
如图5所示,计算机系统500包括中央处理单元(CPU)501,其可以根据存储在只读存储器(ROM)502中的程序或者从存储部分508加载到随机访问存储器(RAM)503中的程序而执行各种适当的动作和处理。在RAM503中,还存储有计算机系统500操作所需的各种程序和数据。CPU501、ROM 502以及RAM 503通过总线504彼此相连。输入/输出(I/O)接口505也连接至总线504。
以下部件连接至I/O接口505:包括键盘、鼠标等的输入部分506;包括诸如阴极射线管(CRT)、液晶显示器(LCD)等以及扬声器等的输出部分507;包括硬盘等的存储部分508;以及包括诸如LAN卡、调制解调器等的网络接口卡的通信部分509。通信部分509经由诸如因特网的网络执行通信处理。驱动器510也根据需要连接至I/O接口505。可拆卸介质511,诸如磁盘、光盘、磁光盘、半导体存储器等等,根据需要安装在驱动器510上,以便从其上读出的计算机程序根据需要被安装入存储部分508。
特别地,根据本发明公开的实施例,上文的主要步骤图描述的过程可以被实现为计算机软件程序。例如,本发明实施例包括一种计算机程序产品,其包括承载在计算机可读介质上的计算机程序,该计算机程序包含用于执行主要步骤图所示的方法的程序代码。在上述实施例中,该计算机程序可以通过通信部分509从网络上被下载和安装,和/或从可拆卸介质511被安装。在该计算机程序被中央处理单元501执行时,执行本发明的系统中限定的上述功能。
需要说明的是,本发明所示的计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质或者是上述两者的任意组合。计算机可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子可以包括但不限于:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机访问存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑磁盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本发明中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。在本发明中,计算机可读信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述任意合适的组合。计算机可读信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括但不限于:无线、电线、光缆、RF等等,或者上述的任意合适的组合。
附图中的流程图和框图,图示了按照本发明各种实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,上述模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这根据所涉及的功能而定。也要注意的是,框图或流程图中的每个方框、以及框图或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
描述于本发明实施例中所涉及到的单元可以通过软件的方式实现,也可以通过硬件的方式来实现。所描述的单元也可以设置在处理器中,
作为另一方面,本发明还提供了一种计算机可读介质,该计算机可读介质可以是上述实施例中描述的设备中所包含的;也可以是单独存在,而未装配入该设备中的。上述计算机可读介质承载有一个或者多个程序,当上述一个或者多个程序被该设备执行时,使得该设备执行的步骤包括:根据用户存单的存单信息生成上链信息,并将签名后的所述上链信息上链;响应于针对所述用户存单的拆分质押请求,将所述用户存单拆分为包括第一存单在内的多个目标存单,并将生成的每一目标存单的上链信息在签名后上链;其中,第一存单用于质押给区块链网络中的第二银行节点,以由第二银行节点向用户提供质押贷款服务;第一存单的上链信息包括:第一存单的金额承诺的多重监管可审计范围证明;以及,第二银行节点响应于针对第一存单的质押请求,从区块链获取第一存单的金额承诺的多重监管可审计范围证明,并依据第一存单的金额承诺的多重监管可审计范围证明对所述质押请求中的质押金额进行验证;在该验证通过并且针对第一存单的上链信息的验证通过的情况下,向用户授信及放款。
在本发明实施例的技术方案中,区块链网络中的第一银行节点根据用户存单的存单信息生成上链信息,并将签名后的所述上链信息上链;第一银行节点响应于针对所述用户存单的拆分质押请求,将所述用户存单拆分为包括第一存单在内的多个目标存单,并将生成的每一目标存单的上链信息在签名后上链;其中,第一存单用于质押给区块链网络中的第二银行节点,以由第二银行节点向用户提供质押贷款服务;第一存单的上链信息包括:第一存单的金额承诺的多重监管可审计范围证明;第二银行节点响应于针对第一存单的质押请求,从区块链获取第一存单的金额承诺的多重监管可审计范围证明,并依据第一存单的金额承诺的多重监管可审计范围证明对所述质押请求中的质押金额进行验证;在该验证通过并且针对第一存单的上链信息的验证通过的情况下,向用户授信及放款。通过以上方式,并且基于新的密码算法和区块链隐私保护技术来支撑存单在拆分和合并过程中的隐私保护处理机制,同时支持穿透式监管审计,由此提高业务灵活性,提升用户使用感受,同时保护各方隐私不泄露;存单拆分合并方案与可审计范围证明等算法相容,在支持公开验证的同时,支持拆分与合并过程的穿透式监管审计;此外,通过引入唯一识别码、存单上链信息等概念,能够在保护链上存单隐私信息不泄露的同时,支持质押时的跨机构存单校验。特别地,本发明通过开发将合作方(例如合作银行)纳入监管范围的第二可审计范围证明算法来计算拆分后存单的多重监管可审计范围证明,从而使合作方能够在区块链上直接获取金额等业务信息,由此实现业务全程链上办理,银行间不再需要建立信道进行链下通信,从而降低银行参与基于区块链的跨机构存单质押贷款的门槛和成本,提高银行参与灵活性,促进生态系统更好的建立。
上述具体实施方式,并不构成对本发明保护范围的限制。本领域技术人员应该明白的是,取决于设计要求和其他因素,可以发生各种各样的修改、组合、子组合和替代。任何在本发明的精神和原则之内所作的修改、等同替换和改进等,均应包含在本发明保护范围之内。

Claims (45)

1.一种基于区块链的存单管理系统,其特征在于,包括区块链网络中的第一银行节点和第二银行节点;其中,
第一银行节点根据用户存单的存单信息生成上链信息,并将签名后的所述上链信息上链;
第一银行节点响应于针对所述用户存单的拆分质押请求,将所述用户存单拆分为包括第一存单在内的多个目标存单,并将生成的每一目标存单的上链信息在签名后上链;
其中,第一存单用于质押给第二银行节点,以由第二银行节点向用户提供质押贷款服务;第一存单的上链信息包括:第一存单的金额承诺的多重监管可审计范围证明;
第二银行节点响应于针对第一存单的质押请求,从区块链获取第一存单的金额承诺的多重监管可审计范围证明,并依据第一存单的金额承诺的多重监管可审计范围证明对所述质押请求中的质押金额进行验证;在该验证通过并且针对第一存单的上链信息的验证通过的情况下,向用户授信及放款。
2.根据权利要求1所述的系统,其特征在于,第一存单的金额与所述拆分请求中的一个拆分金额相等;
所述用户存单的存单信息包括:用户标识、存单的当前识别码、利率、期限和金额承诺,存单的当前识别码由存单序列号、存单的当前状态码和存单金额确定;其中,存单序列号用于唯一表示一个用户存单,存单的当前状态码与存单的拆分和合并情况以及质押和解除质押情况相关。
3.根据权利要求2所述的系统,其特征在于,存单的当前识别码是存单序列号、存单的当前状态码和存单金额的哈希运算结果;以及,所述用户存单的上链信息包括:第一上链标识和所述用户存单的存单金额合法性证明标识;其中,
第一上链标识为所述用户存单的存单信息的哈希运算结果;
所述用户存单的存单金额合法性证明标识包括所述用户存单的金额承诺以及通过第一可审计范围证明算法确定的该金额承诺的可审计范围证明。
4.根据权利要求3所述的系统,其特征在于,第一可审计范围证明算法执行以下步骤:
预先选定椭圆曲线群,随机选择生成元,根据随机选择的审计私钥以及所述生成元计算审计公钥;
将预设的第一元素和混淆元的倍点运算结果、与预设的第二元素和存单金额的倍点运算结果相乘,得到该存单金额的金额承诺;其中,第一元素和第二元素都是随机选择的椭圆曲线群中的元素;
从椭圆曲线的模的整数环中随机选取多个子混淆元,将混淆元与子混淆元总和的差值确定为第一数值,计算该存单金额在二进制形式的系数;
根据第一元素、第二元素、所述子混淆元以及所述系数确定第一子承诺和第二子承诺,利用第一子承诺和第二子承诺生成承诺集;
将所述审计公钥与所述子混淆元的倍点运算结果确定为追踪密钥,基于所述承诺集和所述追踪密钥生成多个随机数值;
使用第一子承诺、第二子承诺、所述随机数值以及所述追踪密钥形成公钥组;
基于所述公钥组、所述子混淆元、所述金额承诺、第一数值以及所述追踪密钥生成多环签名值;
将第一数值、所述承诺集、所述追踪密钥以及所述多环签名值组成所述金额承诺的可审计范围证明。
5.根据权利要求3所述的系统,其特征在于,所述用户存单的上链信息进一步包括:第一审计标识,第一审计标识是使用审计公钥对所述用户存单的存单信息、所述用户存单的金额、所述用户存单的序列号以及所述用户存单的当前状态码进行加密得到的。
6.根据权利要求4所述的系统,其特征在于,第一银行节点在将签名后的用户存单的上链信息上链之后,将所述用户存单的状态设置为“未质押”;在将生成的每一目标存单的上链信息在签名后上链之后,将所述用户存单的状态设置为“已拆分”,将每一目标存单的状态设置为“未质押”。
7.根据权利要求6所述的系统,其特征在于,所述拆分质押请求中包括每一目标存单的拆分金额,所述质押请求中进一步包括第一存单的存单信息和贷款金额;以及,
第一银行节点在接收到所述拆分请求之后,判断所述用户存单的状态是否为“未质押且未拆分”:若是,调用可审计拆分证明算法计算所述用户存单以及拆分后形成的每一目标存单的金额承诺的拆分金额合法性证明,并将所述拆分金额合法性证明签名后上链;
第一银行节点对第一存单的存单信息执行哈希运算,得到第二上链标识;将第一存单的金额承诺以及通过第二可审计范围证明算法确定的该金额承诺的多重监管可审计范围证明组成第一存单的存单金额合法性证明标识,将第二上链标识和第一存单的存单金额合法性证明标识组成第一存单的上链信息;其中,第一存单的存单信息中的金额承诺为第一存单的金额承诺,第一存单的存单信息中的当前识别码由存单序列号、第一存单的当前状态码和第一存单的金额确定。
8.根据权利要求7所述的系统,其特征在于,所述系统进一步包括监管节点,第二可审计范围证明算法用于生成所述监管节点和预先确定的一个或多个合作方节点可审计的多重监管可审计范围证明;其中,当第一存单确定被质押给第二银行节点之后,第二银行节点被第一银行节点作为合作方节点。
9.根据权利要求8所述的系统,其特征在于,第二可审计范围证明算法执行以下步骤:
预先选定椭圆曲线群,随机选择生成元,根据所述监管节点随机选择的审计私钥以及所述生成元计算审计公钥,根据每一合作方节点随机选择的目标私钥以及所述生成元计算相应的目标公钥;
将预设的第一元素和混淆元的倍点运算结果、与预设的第二元素和存单金额的倍点运算结果相乘,得到该存单金额的金额承诺;其中,第一元素和第二元素都是随机选择的椭圆曲线群中的元素;
从椭圆曲线的模的整数环中随机选取多个子混淆元,将混淆元与子混淆元总和的差值确定为第一数值,计算该存单金额在二进制形式的系数;
根据第一元素、第二元素、所述子混淆元以及所述系数确定第一子承诺和第二子承诺,利用第一子承诺和第二子承诺生成承诺集;
将所述审计公钥与所述子混淆元的倍点运算结果、以及所述目标公钥与所述子混淆元的倍点运算结果确定为追踪密钥,由所述追踪密钥组成追踪密钥集;
将第二元素与子混淆元的倍点运算结果确定为金额标签,由所述金额标签形成金额标签集;
基于所述承诺集、所述追踪密钥集以及所述金额标签集生成多个随机数值;
使用第一子承诺、第二子承诺、所述随机数值、所述金额标签以及所述追踪密钥形成公钥组;
基于所述公钥组、所述子混淆元、所述金额承诺、第一数值、所述追踪密钥集以及所述金额标签集生成多环签名值;
将第一数值、所述承诺集、所述追踪密钥集、所述金额标签集以及所述多环签名值组成所述金额承诺的多重监管可审计范围证明。
10.根据权利要求9所述的系统,其特征在于,所述可审计拆分证明算法执行以下步骤:
调用第一可审计范围证明算法计算所述用户存单的金额承诺的可审计范围证明;
生成对应于每一目标存单金额的随机数,根据每一目标存单金额、该随机数、第一元素以及第二元素确定每一目标存单的金额承诺,将所述混淆元与该随机数总和的差值确定为第二数值;
当目标存单不具有所述合作方节点时,调用第一可审计范围证明算法计算该目标存单的金额承诺的可审计范围证明;当目标存单具有所述合作方节点时,调用第二可审计范围证明算法计算该目标存单的金额承诺的多重监管可审计范围证明;
将所述用户存单的金额承诺的可审计范围证明、计算出的每一目标存单的金额承诺的可审计范围证明或多重监管可审计范围证明、每一目标存单的金额承诺以及第二数值组成所述拆分金额合法性证明。
11.根据权利要求8所述的系统,其特征在于,第一存单的上链信息进一步包括:第二审计标识,第二审计标识是使用审计公钥对第一存单的存单信息、第一存单的金额、所述用户存单的序列号以及第一存单的当前状态码进行加密得到的。
12.根据权利要求9所述的系统,其特征在于,第二银行节点接收到所述质押请求之后,利用所述质押请求中的存单序列号从区块链上确定第一存单,使用持有的所述目标私钥从第一存单的金额承诺的多重监管可审计范围证明中计算第一存单金额,并执行以下验证:
验证计算出的第一存单金额是否等于所述质押请求中的质押金额;
根据计算出的第一存单金额确定第一存单的当前识别码,利用该当前识别码以及第一存单的存单信息验证第一存单的上链信息中的第二上链标识;
验证第一存单的上链信息中的第一存单的金额承诺的多重监管可审计范围证明;
验证第一存单的状态是否为“未质押”;
在每一验证通过之后,对第一存单的上链信息进行签名后生成质押信息上链,并将第一存单的状态修改为“已质押”;
第一银行节点在区块链获取到所述质押信息之后,在内部数据库将第一存单的状态修改为“已质押”,并对第一存单的上链信息进行更新和签名后生成质押确认信息上链;其中,该更新包括:根据第一存单的当前状态码更新第一存单的当前识别码,进而将第一存单的第二上链标识更新为第三上链标识;
第二银行节点在区块链获取到所述质押确认信息之后,向用户授信及放款。
13.根据权利要求12所述的系统,其特征在于,第二银行节点在接收到针对第一存单的解除质押请求之后,如果判断用户已经完成贷款还款,则对第一存单的上链信息进行签名后生成解除质押信息上链;
第一银行节点在区块链获取到所述解除质押信息之后,利用第一存单的当前状态码将第一存单的上链信息中的第三上链标识更新为第四上链标识,将第四上链标识和第一存单的存单金额合法性证明标识组成第一存单的解除质押后上链信息,对所述解除质押后上链信息签名后上链,并将第一存单的状态修改为“未质押”。
14.根据权利要求13所述的系统,其特征在于,所述目标存单中包括至少一个第二存单;以及,第一银行节点在接收到针对第一存单和第二存单的合并请求之后,如果确定第一存单与第二存单具有相同的序列号以及都处在“未质押”状态,则将第一存单和第二存单合并为一个存单,调用可审计合并证明算法计算第一存单、第二存单以及合并后存单的金额承诺的合并金额合法性证明,并将所述合并金额合法性证明签名后上链;
在确定所述合并后存单的上链信息之后将该上链信息上链,并将所述合并后存单的状态确定为“未质押”;其中,
所述合并后存单的上链信息包括所述合并后存单的上链标识和所述合并后存单的存单金额合法性证明标识;该上链标识为所述合并后存单的存单信息的哈希运算结果,该存单金额合法性证明标识包括所述合并后存单的金额承诺以及通过第一可审计范围证明算法确定的该金额承诺的可审计范围证明。
15.根据权利要求14所述的系统,其特征在于,所述可审计合并证明算法执行以下步骤:
生成对应于每一待合并存单金额的随机数,根据每一待合并存单金额、该随机数、第一元素以及第二元素确定每一待合并存单的金额承诺,将每一待合并存单的金额承诺的乘积确定为所述合并后存单的金额承诺;
调用第一可审计范围证明算法计算所述合并后存单的金额承诺的可审计范围证明;
将所述合并后存单的金额承诺以及该可审计范围证明组成所述合并金额合法性证明。
16.根据权利要求14所述的系统,其特征在于,所述合并后存单的上链信息进一步包括审计标识,该审计标识是使用审计公钥对所述合并后存单的存单信息、所述合并后存单的金额、所述用户存单的序列号以及所述合并后存单的当前状态码进行加密得到的。
17.根据权利要求14所述的系统,其特征在于,第二银行节点判断针对第一存单的还款过程是否发生异常;如果发生异常,向第一银行节点发送支取第一存单中部分或全部存款的请求,以使第一银行节点在接收到该请求后将第一存单中的部分或全部存款转入第二银行节点。
18.根据权利要求14-17任一所述的系统,其特征在于,所述监管节点通过审计私钥从所述可审计范围证明、所述多重监管可审计范围证明、所述拆分金额合法性证明和所述合并金额合法性证明中确定金额信息,并通过审计私钥获取每一存单的业务数据。
19.一种基于区块链的存单管理方法,应用在区块链网络中的第一银行节点;其特征在于,包括:
根据用户存单的存单信息生成上链信息,并将签名后的所述上链信息上链;
响应于针对所述用户存单的拆分质押请求,将所述用户存单拆分为包括第一存单在内的多个目标存单,并将生成的每一目标存单的上链信息在签名后上链;其中,第一存单用于质押给区块链网络中的第二银行节点,以由第二银行节点向用户提供质押贷款服务;第一存单的上链信息包括:第一存单的金额承诺的多重监管可审计范围证明;
以及,第二银行节点响应于针对第一存单的质押请求,从区块链获取第一存单的金额承诺的多重监管可审计范围证明,并依据第一存单的金额承诺的多重监管可审计范围证明对所述质押请求中的质押金额进行验证;在该验证通过并且针对第一存单的上链信息的验证通过的情况下,向用户授信及放款。
20.根据权利要求19所述的方法,其特征在于,第一存单的金额与所述拆分请求中的一个拆分金额相等;
所述用户存单的存单信息包括:用户标识、存单的当前识别码、利率、期限和金额承诺,存单的当前识别码由存单序列号、存单的当前状态码和存单金额确定;其中,存单序列号用于唯一表示一个用户存单,存单的当前状态码与存单的拆分和合并情况以及质押和解除质押情况相关;
存单的当前识别码是存单序列号、存单的当前状态码和存单金额的哈希运算结果;以及,所述用户存单的上链信息包括:第一上链标识和所述用户存单的存单金额合法性证明标识;其中,第一上链标识为所述用户存单的存单信息的哈希运算结果;所述用户存单的存单金额合法性证明标识包括所述用户存单的金额承诺以及通过第一可审计范围证明算法确定的该金额承诺的可审计范围证明。
21.根据权利要求20所述的方法,其特征在于,第一可审计范围证明算法执行以下步骤:
预先选定椭圆曲线群,随机选择生成元,根据随机选择的审计私钥以及所述生成元计算审计公钥;
将预设的第一元素和混淆元的倍点运算结果、与预设的第二元素和存单金额的倍点运算结果相乘,得到该存单金额的金额承诺;其中,第一元素和第二元素都是随机选择的椭圆曲线群中的元素;
从椭圆曲线的模的整数环中随机选取多个子混淆元,将混淆元与子混淆元总和的差值确定为第一数值,计算该存单金额在二进制形式的系数;
根据第一元素、第二元素、所述子混淆元以及所述系数确定第一子承诺和第二子承诺,利用第一子承诺和第二子承诺生成承诺集;
将所述审计公钥与所述子混淆元的倍点运算结果确定为追踪密钥,基于所述承诺集和所述追踪密钥生成多个随机数值;
使用第一子承诺、第二子承诺、所述随机数值以及所述追踪密钥形成公钥组;
基于所述公钥组、所述子混淆元、所述金额承诺、第一数值以及所述追踪密钥生成多环签名值;
将第一数值、所述承诺集、所述追踪密钥以及所述多环签名值组成所述金额承诺的可审计范围证明。
22.根据权利要求20所述的方法,其特征在于,所述用户存单的上链信息进一步包括:第一审计标识,第一审计标识是使用审计公钥对所述用户存单的存单信息、所述用户存单的金额、所述用户存单的序列号以及所述用户存单的当前状态码进行加密得到的。
23.根据权利要求21所述的方法,其特征在于,所述拆分质押请求中包括每一目标存单的拆分金额,所述质押请求中进一步包括第一存单的存单信息和贷款金额;以及,所述方法进一步包括:
在将签名后的用户存单的上链信息上链之后,将所述用户存单的状态设置为“未质押”;在将生成的每一目标存单的上链信息在签名后上链之后,将所述用户存单的状态设置为“已拆分”,将每一目标存单的状态设置为“未质押”;
所述响应于针对所述用户存单的拆分质押请求,将所述用户存单拆分为包括第一存单在内的多个目标存单,并将生成的每一目标存单的上链信息在签名后上链,包括:
在接收到所述拆分请求之后,判断所述用户存单的状态是否为“未质押且未拆分”:若是,调用可审计拆分证明算法计算所述用户存单以及拆分后形成的每一目标存单的金额承诺的拆分金额合法性证明,并将所述拆分金额合法性证明签名后上链;
对第一存单的存单信息执行哈希运算,得到第二上链标识;将第一存单的金额承诺以及通过第二可审计范围证明算法确定的该金额承诺的多重监管可审计范围证明组成第一存单的存单金额合法性证明标识,将第二上链标识和第一存单的存单金额合法性证明标识组成第一存单的上链信息;其中,第一存单的存单信息中的金额承诺为第一存单的金额承诺,第一存单的存单信息中的当前识别码由存单序列号、第一存单的当前状态码和第一存单的金额确定。
24.根据权利要求23所述的方法,其特征在于,第二可审计范围证明算法用于生成区块链网络中的监管节点和预先确定的一个或多个合作方节点可审计的多重监管可审计范围证明;其中,当第一存单确定被质押给第二银行节点之后,第二银行节点被第一银行节点作为合作方节点;
第二可审计范围证明算法执行以下步骤:
预先选定椭圆曲线群,随机选择生成元,根据所述监管节点随机选择的审计私钥以及所述生成元计算审计公钥,根据每一合作方节点随机选择的目标私钥以及所述生成元计算相应的目标公钥;
将预设的第一元素和混淆元的倍点运算结果、与预设的第二元素和存单金额的倍点运算结果相乘,得到该存单金额的金额承诺;其中,第一元素和第二元素都是随机选择的椭圆曲线群中的元素;
从椭圆曲线的模的整数环中随机选取多个子混淆元,将混淆元与子混淆元总和的差值确定为第一数值,计算该存单金额在二进制形式的系数;
根据第一元素、第二元素、所述子混淆元以及所述系数确定第一子承诺和第二子承诺,利用第一子承诺和第二子承诺生成承诺集;
将所述审计公钥与所述子混淆元的倍点运算结果、以及所述目标公钥与所述子混淆元的倍点运算结果确定为追踪密钥,由所述追踪密钥组成追踪密钥集;
将第二元素与子混淆元的倍点运算结果确定为金额标签,由所述金额标签形成金额标签集;
基于所述承诺集、所述追踪密钥集以及所述金额标签集生成多个随机数值;
使用第一子承诺、第二子承诺、所述随机数值、所述金额标签以及所述追踪密钥形成公钥组;
基于所述公钥组、所述子混淆元、所述金额承诺、第一数值、所述追踪密钥集以及所述金额标签集生成多环签名值;
将第一数值、所述承诺集、所述追踪密钥集、所述金额标签集以及所述多环签名值组成所述金额承诺的多重监管可审计范围证明。
25.根据权利要求24所述的方法,其特征在于,所述可审计拆分证明算法执行以下步骤:
调用第一可审计范围证明算法计算所述用户存单的金额承诺的可审计范围证明;
生成对应于每一目标存单金额的随机数,根据每一目标存单金额、该随机数、第一元素以及第二元素确定每一目标存单的金额承诺,将所述混淆元与该随机数总和的差值确定为第二数值;
当目标存单不具有所述合作方节点时,调用第一可审计范围证明算法计算该目标存单的金额承诺的可审计范围证明;当目标存单具有所述合作方节点时,调用第二可审计范围证明算法计算该目标存单的金额承诺的多重监管可审计范围证明;
将所述用户存单的金额承诺的可审计范围证明、计算出的每一目标存单的金额承诺的可审计范围证明或多重监管可审计范围证明、每一目标存单的金额承诺以及第二数值组成所述拆分金额合法性证明。
26.根据权利要求24所述的方法,其特征在于,第一存单的上链信息进一步包括:第二审计标识,第二审计标识是使用审计公钥对第一存单的存单信息、第一存单的金额、所述用户存单的序列号以及第一存单的当前状态码进行加密得到的。
27.根据权利要求24所述的方法,其特征在于,第二银行节点接收到所述质押请求之后,利用所述质押请求中的存单序列号从区块链上确定第一存单,使用持有的所述目标私钥从第一存单的金额承诺的多重监管可审计范围证明中计算第一存单金额,并执行以下验证:
验证计算出的第一存单金额是否等于所述质押请求中的质押金额;
根据计算出的第一存单金额确定第一存单的当前识别码,利用该当前识别码以及第一存单的存单信息验证第一存单的上链信息中的第二上链标识;
验证第一存单的上链信息中的第一存单的金额承诺的多重监管可审计范围证明;
验证第一存单的状态是否为“未质押”;
在每一验证通过之后,对第一存单的上链信息进行签名后生成质押信息上链,并将第一存单的状态修改为“已质押”;
所述方法进一步包括:在区块链获取到所述质押信息之后,在内部数据库将第一存单的状态修改为“已质押”,并对第一存单的上链信息进行更新和签名后生成质押确认信息上链;其中,该更新包括:根据第一存单的当前状态码更新第一存单的当前识别码,进而将第一存单的第二上链标识更新为第三上链标识;第二银行节点在区块链获取到所述质押确认信息之后,向用户授信及放款。
28.根据权利要求27所述的方法,其特征在于,第二银行节点在接收到针对第一存单的解除质押请求之后,如果判断用户已经完成贷款还款,则对第一存单的上链信息进行签名后生成解除质押信息上链;
所述方法进一步包括:在区块链获取到所述解除质押信息之后,利用第一存单的当前状态码将第一存单的上链信息中的第三上链标识更新为第四上链标识,将第四上链标识和第一存单的存单金额合法性证明标识组成第一存单的解除质押后上链信息,对所述解除质押后上链信息签名后上链,并将第一存单的状态修改为“未质押”。
29.根据权利要求28所述的方法,其特征在于,所述目标存单中包括至少一个第二存单;以及,所述方法进一步包括:
在接收到针对第一存单和第二存单的合并请求之后,如果确定第一存单与第二存单具有相同的序列号以及都处在“未质押”状态,则将第一存单和第二存单合并为一个存单,调用可审计合并证明算法计算第一存单、第二存单以及合并后存单的金额承诺的合并金额合法性证明,并将所述合并金额合法性证明签名后上链;
在确定所述合并后存单的上链信息之后将该上链信息上链,并将所述合并后存单的状态确定为“未质押”;其中,
所述合并后存单的上链信息包括所述合并后存单的上链标识和所述合并后存单的存单金额合法性证明标识;该上链标识为所述合并后存单的存单信息的哈希运算结果,该存单金额合法性证明标识包括所述合并后存单的金额承诺以及通过第一可审计范围证明算法确定的该金额承诺的可审计范围证明。
30.根据权利要求29所述的方法,其特征在于,所述可审计合并证明算法执行以下步骤:
生成对应于每一待合并存单金额的随机数,根据每一待合并存单金额、该随机数、第一元素以及第二元素确定每一待合并存单的金额承诺,将每一待合并存单的金额承诺的乘积确定为所述合并后存单的金额承诺;
调用第一可审计范围证明算法计算所述合并后存单的金额承诺的可审计范围证明;
将所述合并后存单的金额承诺以及该可审计范围证明组成所述合并金额合法性证明。
31.根据权利要求29所述的方法,其特征在于,所述合并后存单的上链信息进一步包括审计标识,该审计标识是使用审计公钥对所述合并后存单的存单信息、所述合并后存单的金额、所述用户存单的序列号以及所述合并后存单的当前状态码进行加密得到的。
32.一种基于区块链的存单管理方法,应用在区块链网络中的第二银行节点;其特征在于,包括:
响应于针对第一存单的质押请求,从区块链获取第一存单的金额承诺的多重监管可审计范围证明;
依据第一存单的金额承诺的多重监管可审计范围证明对所述质押请求中的质押金额进行验证;
在该验证通过并且针对第一存单的上链信息的验证通过的情况下,向用户授信及放款;其中,
区块链网络中的第一银行节点根据用户存单的存单信息生成上链信息,并将签名后的所述上链信息上链;第一银行节点响应于针对所述用户存单的拆分质押请求,将所述用户存单拆分为包括第一存单在内的多个目标存单,并将生成的每一目标存单的上链信息在签名后上链;第一存单用于质押给第二银行节点,以由第二银行节点向用户提供质押贷款服务;第一存单的上链信息包括:第一存单的金额承诺的多重监管可审计范围证明。
33.根据权利要求32所述的方法,其特征在于,第一存单的金额与所述拆分请求中的一个拆分金额相等;
所述用户存单的存单信息包括:用户标识、存单的当前识别码、利率、期限和金额承诺,存单的当前识别码由存单序列号、存单的当前状态码和存单金额确定;其中,存单序列号用于唯一表示一个用户存单,存单的当前状态码与存单的拆分和合并情况以及质押和解除质押情况相关;
存单的当前识别码是存单序列号、存单的当前状态码和存单金额的哈希运算结果;以及,所述用户存单的上链信息包括:第一上链标识和所述用户存单的存单金额合法性证明标识;其中,第一上链标识为所述用户存单的存单信息的哈希运算结果;所述用户存单的存单金额合法性证明标识包括所述用户存单的金额承诺以及通过第一可审计范围证明算法确定的该金额承诺的可审计范围证明。
34.根据权利要求33所述的方法,其特征在于,第一可审计范围证明算法执行以下步骤:
预先选定椭圆曲线群,随机选择生成元,根据随机选择的审计私钥以及所述生成元计算审计公钥;
将预设的第一元素和混淆元的倍点运算结果、与预设的第二元素和存单金额的倍点运算结果相乘,得到该存单金额的金额承诺;其中,第一元素和第二元素都是随机选择的椭圆曲线群中的元素;
从椭圆曲线的模的整数环中随机选取多个子混淆元,将混淆元与子混淆元总和的差值确定为第一数值,计算该存单金额在二进制形式的系数;
根据第一元素、第二元素、所述子混淆元以及所述系数确定第一子承诺和第二子承诺,利用第一子承诺和第二子承诺生成承诺集;
将所述审计公钥与所述子混淆元的倍点运算结果确定为追踪密钥,基于所述承诺集和所述追踪密钥生成多个随机数值;
使用第一子承诺、第二子承诺、所述随机数值以及所述追踪密钥形成公钥组;
基于所述公钥组、所述子混淆元、所述金额承诺、第一数值以及所述追踪密钥生成多环签名值;
将第一数值、所述承诺集、所述追踪密钥以及所述多环签名值组成所述金额承诺的可审计范围证明。
35.根据权利要求33所述的方法,其特征在于,所述用户存单的上链信息进一步包括:第一审计标识,第一审计标识是使用审计公钥对所述用户存单的存单信息、所述用户存单的金额、所述用户存单的序列号以及所述用户存单的当前状态码进行加密得到的。
36.根据权利要求34所述的方法,其特征在于,所述拆分质押请求中包括每一目标存单的拆分金额,所述质押请求中进一步包括第一存单的存单信息和贷款金额;
第一银行节点在将签名后的用户存单的上链信息上链之后,将所述用户存单的状态设置为“未质押”;在将生成的每一目标存单的上链信息在签名后上链之后,将所述用户存单的状态设置为“已拆分”,将每一目标存单的状态设置为“未质押”;
第一银行节点在接收到所述拆分请求之后,判断所述用户存单的状态是否为“未质押且未拆分”:若是,调用可审计拆分证明算法计算所述用户存单以及拆分后形成的每一目标存单的金额承诺的拆分金额合法性证明,并将所述拆分金额合法性证明签名后上链;
第一银行节点对第一存单的存单信息执行哈希运算,得到第二上链标识;将第一存单的金额承诺以及通过第二可审计范围证明算法确定的该金额承诺的多重监管可审计范围证明组成第一存单的存单金额合法性证明标识,将第二上链标识和第一存单的存单金额合法性证明标识组成第一存单的上链信息;其中,第一存单的存单信息中的金额承诺为第一存单的金额承诺,第一存单的存单信息中的当前识别码由存单序列号、第一存单的当前状态码和第一存单的金额确定。
37.根据权利要求36所述的方法,其特征在于,第二可审计范围证明算法用于生成区块链网络中的监管节点和预先确定的一个或多个合作方节点可审计的多重监管可审计范围证明;其中,当第一存单确定被质押给第二银行节点之后,第二银行节点被第一银行节点作为合作方节点;
第二可审计范围证明算法执行以下步骤:
预先选定椭圆曲线群,随机选择生成元,根据所述监管节点随机选择的审计私钥以及所述生成元计算审计公钥,根据每一合作方节点随机选择的目标私钥以及所述生成元计算相应的目标公钥;
将预设的第一元素和混淆元的倍点运算结果、与预设的第二元素和存单金额的倍点运算结果相乘,得到该存单金额的金额承诺;其中,第一元素和第二元素都是随机选择的椭圆曲线群中的元素;
从椭圆曲线的模的整数环中随机选取多个子混淆元,将混淆元与子混淆元总和的差值确定为第一数值,计算该存单金额在二进制形式的系数;
根据第一元素、第二元素、所述子混淆元以及所述系数确定第一子承诺和第二子承诺,利用第一子承诺和第二子承诺生成承诺集;
将所述审计公钥与所述子混淆元的倍点运算结果、以及所述目标公钥与所述子混淆元的倍点运算结果确定为追踪密钥,由所述追踪密钥组成追踪密钥集;
将第二元素与子混淆元的倍点运算结果确定为金额标签,由所述金额标签形成金额标签集;
基于所述承诺集、所述追踪密钥集以及所述金额标签集生成多个随机数值;
使用第一子承诺、第二子承诺、所述随机数值、所述金额标签以及所述追踪密钥形成公钥组;
基于所述公钥组、所述子混淆元、所述金额承诺、第一数值、所述追踪密钥集以及所述金额标签集生成多环签名值;
将第一数值、所述承诺集、所述追踪密钥集、所述金额标签集以及所述多环签名值组成所述金额承诺的多重监管可审计范围证明。
38.根据权利要求37所述的方法,其特征在于,所述可审计拆分证明算法执行以下步骤:
调用第一可审计范围证明算法计算所述用户存单的金额承诺的可审计范围证明;
生成对应于每一目标存单金额的随机数,根据每一目标存单金额、该随机数、第一元素以及第二元素确定每一目标存单的金额承诺,将所述混淆元与该随机数总和的差值确定为第二数值;
当目标存单不具有所述合作方节点时,调用第一可审计范围证明算法计算该目标存单的金额承诺的可审计范围证明;当目标存单具有所述合作方节点时,调用第二可审计范围证明算法计算该目标存单的金额承诺的多重监管可审计范围证明;
将所述用户存单的金额承诺的可审计范围证明、计算出的每一目标存单的金额承诺的可审计范围证明或多重监管可审计范围证明、每一目标存单的金额承诺以及第二数值组成所述拆分金额合法性证明。
39.根据权利要求37所述的方法,其特征在于,第一存单的上链信息进一步包括:第二审计标识,第二审计标识是使用审计公钥对第一存单的存单信息、第一存单的金额、所述用户存单的序列号以及第一存单的当前状态码进行加密得到的。
40.根据权利要求37所述的方法,其特征在于,所述响应于针对第一存单的质押请求,从区块链获取第一存单的金额承诺的多重监管可审计范围证明;依据第一存单的金额承诺的多重监管可审计范围证明对所述质押请求中的质押金额进行验证;在该验证通过并且针对第一存单的上链信息的验证通过的情况下,向用户授信及放款,包括:
接收到所述质押请求之后,利用所述质押请求中的存单序列号从区块链上确定第一存单,使用持有的所述目标私钥从第一存单的金额承诺的多重监管可审计范围证明中计算第一存单金额,并执行以下验证:
验证计算出的第一存单金额是否等于所述质押请求中的质押金额;
根据计算出的第一存单金额确定第一存单的当前识别码,利用该当前识别码以及第一存单的存单信息验证第一存单的上链信息中的第二上链标识;
验证第一存单的上链信息中的第一存单的金额承诺的多重监管可审计范围证明;
验证第一存单的状态是否为“未质押”;
在每一验证通过之后,对第一存单的上链信息进行签名后生成质押信息上链,并将第一存单的状态修改为“已质押”;以及,第一银行节点在区块链获取到所述质押信息之后,在内部数据库将第一存单的状态修改为“已质押”,并对第一存单的上链信息进行更新和签名后生成质押确认信息上链;其中,该更新包括:根据第一存单的当前状态码更新第一存单的当前识别码,进而将第一存单的第二上链标识更新为第三上链标识;
在区块链获取到所述质押确认信息之后,向用户授信及放款。
41.根据权利要求40所述的方法,其特征在于,所述方法进一步包括:
在接收到针对第一存单的解除质押请求之后,如果判断用户已经完成贷款还款,则对第一存单的上链信息进行签名后生成解除质押信息上链;
以及,第一银行节点在区块链获取到所述解除质押信息之后,利用第一存单的当前状态码将第一存单的上链信息中的第三上链标识更新为第四上链标识,将第四上链标识和第一存单的存单金额合法性证明标识组成第一存单的解除质押后上链信息,对所述解除质押后上链信息签名后上链,并将第一存单的状态修改为“未质押”。
42.根据权利要求41所述的方法,其特征在于,所述方法进一步包括:
判断针对第一存单的还款过程是否发生异常;如果发生异常,向第一银行节点发送支取第一存单中部分或全部存款的请求,以使第一银行节点在接收到该请求后将第一存单中的部分或全部存款转入第二银行节点。
43.一种基于区块链的存单管理方法,应用在区块链网络中的监管节点;其特征在于,包括:
通过审计私钥从权利要求14-18任一所述的可审计范围证明、所述多重监管可审计范围证明、所述拆分金额合法性证明和所述合并金额合法性证明中确定金额信息,并通过审计私钥获取每一存单的业务数据。
44.一种电子设备,其特征在于,包括:
一个或多个处理器;
存储装置,用于存储一个或多个程序,
当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现如权利要求19-43中任一所述的方法。
45.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述程序被处理器执行时实现如权利要求19-43中任一所述的方法。
CN202110759888.7A 2021-07-05 2021-07-05 基于区块链的存单管理系统和方法 Active CN113486407B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202110759888.7A CN113486407B (zh) 2021-07-05 2021-07-05 基于区块链的存单管理系统和方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110759888.7A CN113486407B (zh) 2021-07-05 2021-07-05 基于区块链的存单管理系统和方法

Publications (2)

Publication Number Publication Date
CN113486407A true CN113486407A (zh) 2021-10-08
CN113486407B CN113486407B (zh) 2022-07-08

Family

ID=77940932

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110759888.7A Active CN113486407B (zh) 2021-07-05 2021-07-05 基于区块链的存单管理系统和方法

Country Status (1)

Country Link
CN (1) CN113486407B (zh)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116132049A (zh) * 2023-01-04 2023-05-16 声龙(新加坡)私人有限公司 数据加密的方法、装置、设备及存储介质
CN116208517A (zh) * 2023-03-06 2023-06-02 蚂蚁区块链科技(上海)有限公司 一种基于蓝牙的数据采集方法和系统
CN116389164A (zh) * 2023-05-26 2023-07-04 建信金融科技有限责任公司 数据的检测方法及装置

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20180293553A1 (en) * 2017-04-06 2018-10-11 Stronghold Labs, Llc Account platform for a distributed network of nodes
CN110135821A (zh) * 2019-04-24 2019-08-16 福建方维信息科技有限公司 一种采用智能合约实现数字货币质押的方法及服务器
WO2020034620A1 (zh) * 2018-08-13 2020-02-20 福建省农村信用社联合社 一种基于物联网区块链的供应链预付账款融资的方法
CN111210339A (zh) * 2019-12-31 2020-05-29 航天信息股份有限公司 基于区块链电子发票的企业授信流转方法及装置
CN112037068A (zh) * 2020-09-17 2020-12-04 广州运通链达金服科技有限公司 资源转移方法、系统、装置、计算机设备和存储介质
CN112115201A (zh) * 2020-09-16 2020-12-22 建信金融科技有限责任公司 基于区块链的交易处理方法、交易追踪方法及装置
CN112132577A (zh) * 2020-09-16 2020-12-25 建信金融科技有限责任公司 一种基于区块链的多重监管的交易处理方法及装置
CN112769548A (zh) * 2019-11-05 2021-05-07 深圳市网心科技有限公司 一种区块链数值信息传输方法、系统、装置及计算机介质

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20180293553A1 (en) * 2017-04-06 2018-10-11 Stronghold Labs, Llc Account platform for a distributed network of nodes
WO2020034620A1 (zh) * 2018-08-13 2020-02-20 福建省农村信用社联合社 一种基于物联网区块链的供应链预付账款融资的方法
CN110135821A (zh) * 2019-04-24 2019-08-16 福建方维信息科技有限公司 一种采用智能合约实现数字货币质押的方法及服务器
CN112769548A (zh) * 2019-11-05 2021-05-07 深圳市网心科技有限公司 一种区块链数值信息传输方法、系统、装置及计算机介质
CN111210339A (zh) * 2019-12-31 2020-05-29 航天信息股份有限公司 基于区块链电子发票的企业授信流转方法及装置
CN112115201A (zh) * 2020-09-16 2020-12-22 建信金融科技有限责任公司 基于区块链的交易处理方法、交易追踪方法及装置
CN112132577A (zh) * 2020-09-16 2020-12-25 建信金融科技有限责任公司 一种基于区块链的多重监管的交易处理方法及装置
CN112037068A (zh) * 2020-09-17 2020-12-04 广州运通链达金服科技有限公司 资源转移方法、系统、装置、计算机设备和存储介质

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116132049A (zh) * 2023-01-04 2023-05-16 声龙(新加坡)私人有限公司 数据加密的方法、装置、设备及存储介质
CN116132049B (zh) * 2023-01-04 2023-09-08 声龙(新加坡)私人有限公司 数据加密的方法、装置、设备及存储介质
CN116208517A (zh) * 2023-03-06 2023-06-02 蚂蚁区块链科技(上海)有限公司 一种基于蓝牙的数据采集方法和系统
CN116389164A (zh) * 2023-05-26 2023-07-04 建信金融科技有限责任公司 数据的检测方法及装置
CN116389164B (zh) * 2023-05-26 2023-09-12 建信金融科技有限责任公司 数据的检测方法及装置

Also Published As

Publication number Publication date
CN113486407B (zh) 2022-07-08

Similar Documents

Publication Publication Date Title
US11687924B2 (en) Cryptocurrency infrastructure system
CN106982205B (zh) 基于区块链的数字资产处理方法和装置
US11637709B2 (en) Split-key wallet access between blockchains
TWI818005B (zh) 適於提升即時離線區塊鏈交易安全性的電腦實施系統與方法
CN108781161B (zh) 用于控制和分发数字内容的区块链实现的方法
CN113486407B (zh) 基于区块链的存单管理系统和方法
CN110288480B (zh) 一种区块链的私密交易方法及装置
CN109840771A (zh) 一种基于同态加密的区块链隐私保护系统及其方法
US20170344983A1 (en) BIXCoin: A Secure Peer-to-Peer Payment System Based on the Public Payments Ledger
CN109741068A (zh) 网银跨行签约方法、装置及系统
Biryukov et al. Privacy-preserving KYC on Ethereum
CN111461712A (zh) 区块链供应链金融场景下的交易隐私保护和分层监管
CN112287040B (zh) 一种基于区块链的权益合并方法、装置、设备及介质
CN115705601A (zh) 数据处理方法、装置、计算机设备及存储介质
CN113486408B (zh) 基于区块链的存单管理系统和方法
CN111523892B (zh) 一种区块链的跨链交易方法及装置
CN111369251B (zh) 一种基于用户二级身份结构的区块链交易监管方法
Dogan et al. KAIME: Central bank digital currency with realistic and modular privacy
CN113628050A (zh) 数字人民币交付方法、系统、程序产品及存储介质
CN113159767A (zh) 基于区块链的转账处理方法、装置和系统
CN111402037A (zh) 一种用户数据处理方法及装置
CN113656492A (zh) 基于区块链的存单管理方法和区块链系统
Herath et al. Task based Interdisciplinary E-Commerce Course with UML Sequence Diagrams, Algorithm Transformations and Spatial Circuits to Boost Learning Information Security Concepts
EP4379631A1 (en) Digital wallet device and dual offline transaction method thereof
WO2022254624A1 (ja) 電子通貨システム、情報処理装置、電子通貨発行方法およびプログラム

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