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

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

Info

Publication number
CN113486408B
CN113486408B CN202110759889.1A CN202110759889A CN113486408B CN 113486408 B CN113486408 B CN 113486408B CN 202110759889 A CN202110759889 A CN 202110759889A CN 113486408 B CN113486408 B CN 113486408B
Authority
CN
China
Prior art keywords
deposit
deposit receipt
user
receipt
amount
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
Application number
CN202110759889.1A
Other languages
English (en)
Other versions
CN113486408A (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 CN202110759889.1A priority Critical patent/CN113486408B/zh
Publication of CN113486408A publication Critical patent/CN113486408A/zh
Application granted granted Critical
Publication of CN113486408B publication Critical patent/CN113486408B/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)
  • Bioethics (AREA)
  • General Health & Medical Sciences (AREA)
  • Health & Medical Sciences (AREA)
  • Computer Security & Cryptography (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Business, Economics & Management (AREA)
  • Computer Hardware Design (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Finance (AREA)
  • Accounting & Taxation (AREA)
  • Databases & Information Systems (AREA)
  • Medical Informatics (AREA)
  • Development Economics (AREA)
  • Economics (AREA)
  • Marketing (AREA)
  • Strategic Management (AREA)
  • Technology Law (AREA)
  • General Business, Economics & Management (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)获取自己的拆分值。而全部的参与银行都不希望区块链验证节点和其他节点掌握任何存单相关的隐私信息,在此种隐私性需求下,主流的明文上链和密文(或哈希)上链都无法满足,需要研发新的密码算法和区块链隐私保护技术来支撑存单在拆分和合并过程中的隐私保护处理机制,并且支持穿透式监管审计。因此提出以下方案,解决存单拆分与合并过程中的隐私与监管问题。
以下给出本文将要使用的术语的解释。
数字签名(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 BDA0003148837200000191
a,x是普通标量
Figure BDA0003148837200000192
其中a∈[0,2n-1]属于特定的有效金额区间,x称为混淆元。在上链过程中只公开金额的承诺值Com,基于隐私承诺的隐藏性和绑定性,任何攻击者无法根据承诺值Com恢复出金额a的任何有效信息,实现了保密的金额传输。(该技术为成熟技术,在隐私保护数字货币系统(例如门罗币)中应用成熟)
范围证明(Range proof):对于某个金额的绑定承诺,给出该金额数量属于指定的区间范围,而不透露具体金额信息的零知识证明体系。(该技术为成熟技术,在隐私保护数字货币系统(例如门罗币)中应用成熟)范围证明本质上是一类特殊的零知识证明系统,具备强隐私性,但是无法监管审计,因此本方案使用自研的可审计范围证明算法同时支持隐私与监管,下面给出可审计范围证明算法的详细介绍:
可审计范围证明算法:(以下分为初始化、证明、验证、审计四个子算法)
初始化:
1、系统选定椭圆曲线群
Figure BDA0003148837200000193
随机选择生成元
Figure BDA0003148837200000194
监管者随机选择
Figure BDA0003148837200000195
(
Figure BDA0003148837200000196
为椭圆曲线的阶q的整数环)作为审计私钥,计算审计公钥h0=gy,保留y作为审计私钥,系统公开公共参数
Figure BDA0003148837200000201
证明:
1、证明者根据金额承诺c=gxha,其中a∈[0,2n-1],随机选取
Figure BDA0003148837200000202
计算β=x-x0-…-xn-1,同时将a二进制展开为a=a0+…+2iai+…+2n-1an-1,其中ai=0,1,x0,…,xn-1为子混淆元,β为第一数值,ai为以上系数;
2、对于每个i=0,…,n-1,证明者计算
Figure BDA0003148837200000203
记Li=(ci,c′i)为子承诺集,L={L0,…,Ln-1}为承诺集;ci为第一子承诺,c′i为第二子承诺;
3、证明者对于每个i=0,…,n-1,证明者计算追踪密钥
Figure BDA0003148837200000204
然后,证明者计算随机数:(其中H为哈希函数)
e1=H(L;TK0,…,TKn-1;1),e2=H(L;TK0,…,TKn-1;2);e1、e2为随机数值;
4、对于每个i=0,…,n-1,证明者计算子公钥组为
Figure BDA0003148837200000205
Figure BDA0003148837200000206
对应的子私钥为xi,计算新的椭圆曲线生成元为
Figure BDA0003148837200000207
5、证明者计算公钥组
Figure BDA0003148837200000208
6、证明者运行Borromean多环签名σ=RSIG(LPK,x0,…,xn-1,c,β,TK0,…,TKn-1),使用生成元为
Figure BDA0003148837200000209
需要说明的是,Borromean多环签名是可选方式,其他椭圆曲线多环签名也可以作为组件应用;
7、证明者输出承诺c的可追踪区间证明结果π(c)=(β,L,TK0,…,TKn-1,σ)。
验证:
1、验证gβ·∏ci=c是否正确;
2、验证
Figure BDA00031488372000002010
是否成立;
3、验证者计算e1=H(L;TK0,…,TKn-1;1),
e2=H(L;TK0,…,TKn-1;2);
4、对于所有i=0,…,n-1,验证者计算
Figure BDA00031488372000002011
Figure BDA00031488372000002012
得到
Figure BDA00031488372000002013
5、验证Borromean多环签名σ的正确性,验证过程使用生成元为
Figure BDA0003148837200000211
审计:
1、对于每一位i=0,…,n-1,监管者计算
Figure BDA0003148837200000212
2、如果
Figure BDA0003148837200000213
则输出ai=0;
3、如果
Figure BDA0003148837200000214
则输出ai=1;
4、监管者计算a=a0+…+2iai+…+2n-1an-1作为对于隐私金额的审计结果。
以上可审计范围证明算法适合于解决金融场景中隐私与审计相结合的相关问题,适合在区块链系统中进行部署落地。
可选地,所述用户存单的上链信息可进一步包括:第一审计标识,第一审计标识是使用审计公钥对所述用户存单的存单信息、所述用户存单的金额以及第一随机数进行加密得到的。
实际应用中,第一银行节点在将签名后的用户存单的上链信息上链之后,将所述用户存单的状态设置为“未质押”;在将生成的每一目标存单的上链信息在签名后上链之后,将所述用户存单的状态设置为“已拆分”,将每一目标存单的状态设置为“未质押”。
在本发明实施例中,第一银行节点在接收到所述拆分请求之后,判断所述用户存单的状态是否为“未质押且未拆分”:若是,调用可审计拆分证明算法计算所述用户存单以及拆分后形成的每一目标存单的金额承诺的拆分金额合法性证明,并将所述拆分金额合法性证明签名后上链。可以理解,区块链中的验证节点在对包括所述拆分金额合法性证明在内的信息验证通过之后,执行所述拆分金额合法性证明的上链。以上拆分金额合法性证明用于对此次存单拆分提供金额范围合法证明,其一方面保证拆分后形成的每一目标存单金额之和等于拆分前的用户存单金额,另一方面保证拆分后形成的每一目标存单金额的范围合法。
此后,第一银行节点执行以下步骤生成第一存单的上链信息。具体地,第一银行节点对所述用户存单的存单信息以及第二随机数执行哈希运算,得到第二上链标识;将第一存单的金额承诺以及通过所述可审计范围证明算法确定的该金额承诺的可审计范围证明组成第一存单的存单金额合法性证明标识,将第二上链标识和第一存单的存单金额合法性证明标识组成第一存单的上链信息。这样,即可生成拆分后形成的每一目标存单的上链信息。
优选地,所述可审计拆分证明算法执行以下步骤:调用所述可审计范围证明算法计算所述用户存单的金额承诺的可审计范围证明;生成对应于每一目标存单金额的随机数,根据每一目标存单金额、该随机数、第一元素以及第二元素确定每一目标存单的金额承诺,将所述混淆元与该随机数总和的差值确定为第二数值;调用所述可审计范围证明算法计算每一目标存单的金额承诺的可审计范围证明,将所述用户存单的金额承诺的可审计范围证明、每一目标存单的金额承诺的可审计范围证明、每一目标存单的金额承诺以及第二数值组成所述拆分金额合法性证明。
以下给出所述可审计拆分证明算法的数学形式。
以下分为初始化、证明、验证、审计四个子算法,这里只给出拆为两份的算法,拆为多份的情形,按照同样的技术路线可以得出。
初始化:
系统选定椭圆曲线群
Figure BDA0003148837200000221
随机选择生成元
Figure BDA0003148837200000222
监管者随机选择
Figure BDA0003148837200000223
作为审计私钥,计算审计公钥h=gy,保留y作为审计私钥,系统公开公共参数
Figure BDA0003148837200000224
证明:
1、证明者根据金额承诺c=gxha,需要将其进行拆分,拆分结果是a=au+av,其中a,au,av∈[0,2n-1],证明者首先调用可审计范围证明,计算原始承诺的可审计范围证明π(c);其中,a为用户存单金额,au,av为拆分金额,au为第一存单的金额,c为用户存单的金额承诺;
2、证明者生成随机数
Figure BDA0003148837200000225
计算拆分子承诺
Figure BDA0003148837200000226
以及
Figure BDA0003148837200000227
然后计算γ=x-xu-xv;其中,cu和cv均为目标存单的金额承诺,γ为第二数值;
3、证明者调用可审计范围证明,计算两个拆分子承诺的可审计范围证明π(cu)和π(cv);π(cu)和π(cv)均为目标存单的金额承诺的可审计范围证明;
4、证明者输出拆分金额合法性证明:
πs(c)=(cu,cv,γ,π(c),π(cu),π(cv))
验证:
1、计算并检验gγ·cu·cv=c是否正确;
2、验证可审计范围证明π(c),π(cu),π(cv)是否成立,全部通过后完成拆分证明的验证。
审计:
1、监管者利用监管私钥y,运行可审计范围证明的审计算法,对可审计范围证明π(c),π(cu),π(cv)进行追踪,得到追踪审计结果a,au,av
2、监管者计算并检验a=au+av是否成立,通过则完成审计步骤。
可选地,第一存单的上链信息可进一步包括:第二审计标识,第二审计标识是使用审计公钥对所述用户存单的存单信息、第一存单的金额以及第二随机数进行加密得到的。
实际场景中,第一银行节点和第二银行节点通过以下步骤实现基于第一存单的质押贷款。第二银行节点接收到所述拆分质押请求之后,利用所述拆分质押请求中的识别码从区块链上确定第一存单,并基于第一银行节点验证所述拆分质押请求中的质押金额(即验证用户在第一银行节点中是否具有该质押金额)、依据第一银行传输的第二随机数验证第一存单的上链信息(即利用第一银行传输的第二随机数来验证第二上链标识,并验证第一存单的存单金额合法性证明标识)以及验证第一存单的状态是否为“未质押”;在每一验证通过之后,对第一存单的上链信息进行签名后生成质押信息上链,并将第一存单的状态修改为“已质押”;第一银行节点在区块链获取到所述质押信息之后,在内部数据库将第一存单的状态修改为“已质押”,并对第一存单的上链信息进行签名后生成质押确认信息上链;第二银行节点在区块链获取到所述质押确认信息之后,向用户授信及放款。
具体应用中,第一银行节点和第二银行节点通过以下步骤实现基于第一存单的质押贷款。第二银行节点在接收到针对第一存单的解除质押请求之后,如果判断用户已经完成贷款还款,则对第一存单的上链信息进行签名后生成解除质押信息上链;
第一银行节点在区块链获取到所述解除质押信息之后,利用生成的第三随机数将第一存单的上链信息中的第二上链标识更新为第三上链标识,将第一存单的上链信息中的第二审计标识更新为第三审计标识,将第三上链标识、第一存单的存单金额合法性证明标识和第三审计标识组成第一存单的解除质押后上链信息,对所述解除质押后上链信息签名后上链,并将第一存单的状态修改为“未质押”。
当由用户存单拆分的多个目标存单都处在“未质押”状态时,可以将这些目标存单合并为一个存单。以用户存单拆分形成的第一存单和至少一个第二存单(第二存单可以是不同的目标存单)为例,第一银行节点在接收到针对第一存单和第二存单的合并请求之后,如果确定第一存单与第二存单具有相同的识别码以及都处在“未质押”状态,则将第一存单和第二存单合并为一个存单,调用可审计合并证明算法计算第一存单、第二存单以及合并后存单的金额承诺的合并金额合法性证明,并将所述合并金额合法性证明签名后上链。可以理解,区块链中的验证节点在对包括所述合并金额合法性证明在内的信息验证通过之后,执行所述合并金额合法性证明的上链。以上合并金额合法性证明用于对此次存单合并提供金额范围合法证明,其一方面保证合并后存单的金额等于合并前各存单金额之和,另一方面保证合并后存单的金额范围合法。
在本发明实施例中,所述可审计合并证明算法可以执行以下步骤:生成对应于每一待合并存单金额的随机数,根据每一待合并存单金额、该随机数、第一元素以及第二元素确定每一待合并存单的金额承诺,将每一待合并存单的金额承诺的乘积确定为所述合并后存单的金额承诺;调用所述可审计范围证明算法计算所述合并后存单的金额承诺的可审计范围证明;将所述合并后存单的金额承诺以及该可审计范围证明组成所述合并金额合法性证明。
以下给出所述可审计合并证明算法的数学形式。
合并证明:(同样分为初始化、证明、验证、审计四个子算法,这里只给出两个分拆承诺合并成一个新承诺的算法,多份分拆进行合并的情形,按照同样的技术路线可以得出)
初始化:
1、系统选定椭圆曲线群
Figure BDA0003148837200000251
随机选择生成元
Figure BDA0003148837200000252
监管者随机选择
Figure BDA0003148837200000253
作为审计私钥,计算审计公钥h=gy,保留y作为审计私钥,系统公开公共参数
Figure BDA0003148837200000254
证明:
1、证明者根据承诺
Figure BDA0003148837200000255
以及
Figure BDA0003148837200000256
计算合并承诺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与用户完成存款业务之后,银行A将此存单的关键信息(即存单信息,包括用户ID、识别码、利率、期限)使用哈希的方式进行隐藏。可选的,对于用户ID=ID、识别码=Num、利率=R、期限=Y、随机数=r,银行A计算w1=H(ID,Num,R,Y,r)作为第一上链标识进行保存,其中随机数r(即第一随机数)的作用是引入更多的随机性,对哈希函数H的输出进行一定程度的随机化打乱,用于后续的验证过程,存单对应的个人用户以及其他机构不掌握该随机数(但向监管机构开放)。
(2)然后,对于金额
Figure BDA0003148837200000261
银行A随机生成
Figure BDA0003148837200000262
计算金额承诺c=gxha,然后执行可审计范围证明算法,得到金额a的合法性证明π(c),将w2=(c,π(c))作为用户存单的存单金额合法性证明标识进行保存。
(3)可选地,银行A使用监管公钥对存单信息进行加密,得到密文w3=EncPK(ID,Num,R,Y,a,r),作为第一审计标识进行保存,该标识用于监管机构利用监管私钥打开存单信息,进行更全面的监管(如果该步骤不符合未来的监管规定,也可以采用线下上报的方式进行存单信息上报)。
(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公开存单拆分金额au和av,向银行B公开其存单信息(ID,Num,R,Y)以及申请金额b与抵押金额au。(可以看出此步骤中,银行A不知道申请贷款金额b,银行B不知道存单原始金额a和其他拆分金额av)
(2)银行A根据用户申请的拆分申请,首先检查用于拆分的存单是否为有效且未质押状态(已质押的存单不支持再次拆分,必须解除质押后才能进行拆分),通过后,调用拆分证明算法,计算拆分金额合法性证明πs(c)=(cu,cv,γ,π(c),π(cu),π(cv)),此后将πs(c)签名后发送到区块链,区块链的验证节点会验证πs(c)并在验证通过后将其上链。此后,银行A生成两份新的分拆后存单信息w′=(w′1,w′2,w′3)和w″=(w1,w″2,w″3)(w′和w″分别对应拆分值au和av,金额为au的存单即为第一存单),其中w′1=H(ID,Num,R,Y,r′),r′为新的随机数,即第二随机数,w1=H(ID,Num,R,Y,r)不变。可以理解,w′1,w′2,w′3分别为第二上链标识、第一存单的存单金额合法性证明标识以及第二审计标识。
w′2=(cu,π(cu)),w′3=EncPK(ID,Num,R,Y,au,r′),w″2,w″3的生成过程类似,不再一一赘述。银行A将存单拆分后的结果签名后发送到区块链上,并且将原始存单的状态改为已拆分。
(3)银行B通过在链上搜索与用户提交存单相匹配的正常且未质押有效存单(当中可能涉及与银行A的通信,银行A向银行B传输该存单的随机数r′协助校验,并且需要确认用户在银行A中的确具有存单金额au),银行B获取随机数r′后,检验w′1=H(ID,Num,R,Y,r′)是否成立,检验第一存单的存单金额合法性证明标识w′2是否成立,然后检验该上链存单的状态是否正常且未质押,全部通过后,接受该原始存单的有效性验证,并且为客户进行贷前风控等必要性操作(根据质押金额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″=(w1,w″2,w″3)的状态为正常且未质押,原始存单w=(w1,w2,w3)状态为已分拆)
(6)银行B在链上收到银行A的确认签名后,向客户完成放款操作。
4、解除质押:当用户完成贷款还款之后,银行B需要为用户的存单进行解除质押。
(1)银行B使用自身私钥,对于正在质押的存单,签发解除质押的签名信息。
(2)银行A在链上接收到该信息后,同步修改该存单信息,并且生成新随机数r″,计算新的存单上链标识w″′1=H(ID,Num,R,Y,r″),w″′3=EncPK(ID,Num,R,Y,au,r″),可以理解,w″′1为第三上链标识,w″′3为第三审计标识,金额au和承诺cu的可审计范围证明(即第一存单的存单金额合法性证明标识)不变,然后对新存单上链标识进行签名,并且更新该存单的链上状态为“正常且未质押”,将全部的更新信息发送到区块链上,完成解除质押的操作。
5、存单合并:对于存单信息w″′=(w″′1,w″′2,w″′3)和w″=(w1,w″2,w″3)(w″′和w″分别对应拆分值au和av,且对应于同一识别码,并且都为未质押状态),用户申请存单合并,此时银行A调用存单合并证明πm(cu,cv)=(c,π(c)).并且生成新的随机数r″′(第四随机数),计算新的合并存单信息w″″=(w″″1,w″″2,w″″3),其中w″″1=H(ID,Num,R,Y,r″′),w″″2=(c,π(c)),w″″3=EncPK(ID,Num,R,Y,au+av,r″′)。
6、异常处理:当用户贷款违约等异常事件发生时,由银行B与银行A进行交互,并在链上提交相应的证据文件,银行B申请强制兑付存单,通过已质押存单进行提前支取,实现强制结清贷款(本息)操作,在此过程中,由于有用户存款作为抵押,银行A和银行B的权益均未受到影响。
7、监管审计:银监、央行等监管机构,通过监管私钥有权限查看定期存单业务和数据,查看质押贷款情况,对实际业务进行监督和管理,但是不参与日常的交易确认、合法上链等业务工作。具体的,监管机构一方面可以通过监管私钥在可审计范围证明中进行追踪计算,得到相关的隐私金额信息;另一方面可以通过存单信息中的w3(或w′3等)密文,解密恢复出存单金额以及其他业务数据(如ID、利率、识别码等)。
在本发明实施例的技术方案中,提出了支持存单拆分与合并的创新方案,支持上链存单的可信拆分与合并,提高了业务灵活性,提升用户使用感受,同时保护各方隐私不泄露;存单拆分合并方案与可审计范围证明等算法相容,在支持公开验证的同时,支持拆分与合并过程的穿透式监管审计;通过唯一识别码,基于随机数计算存单上链标识和哈希函数等概念的引入,保护链上存单的隐私信息不泄露,同时又能支持质押时的跨机构存单校验。
需要说明的是,对于前述的各实施例,为了便于描述,将其表述为一系列的动作组合,但是本领域技术人员应该知悉,本发明并不受所描述的动作顺序的限制,某些步骤事实上可以采用其它顺序进行或者同时进行。此外,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定是实现本发明所必须的。
为便于更好的实施本发明实施例的上述方案,下面还提供用于实施上述方案的相关方法。
请参阅图3所示,本发明实施例提供的基于区块链的存单管理方法应用在区块链网络中的第一银行节点;可以包括以下步骤:步骤S301:根据用户存单的存单信息生成上链信息,并将签名后的所述上链信息上链;步骤S302:响应于针对所述用户存单的拆分请求,将所述用户存单拆分为包括第一存单在内的多个目标存单,并将生成的每一目标存单的上链信息在签名后上链;第一存单的金额与所述拆分请求中的一个拆分金额相等;以及,区块链网络中的第二银行节点响应于针对所述用户存单的拆分质押请求,基于区块链上的第一存单的上链信息向用户提供质押贷款服务;其中,所述拆分质押请求中的质押金额与所述拆分请求中的该拆分金额相等。
在本发明实施例中,所述用户存单的存单信息包括:用户标识、识别码、利率和期限,所述识别码用于唯一表示一个用户存单;所述用户存单的上链信息包括:第一上链标识和所述用户存单的存单金额合法性证明标识;其中,第一上链标识为所述用户存单的存单信息以及第一随机数的哈希运算结果;所述用户存单的存单金额合法性证明标识包括所述用户存单的金额承诺以及通过可审计范围证明算法确定的该金额承诺的可审计范围证明。
作为一个优选方案,所述可审计范围证明算法执行以下步骤:预先选定椭圆曲线群,随机选择生成元,根据随机选择的审计私钥以及所述生成元计算审计公钥;将预设的第一元素和混淆元的倍点运算结果、与预设的第二元素和存单金额的倍点运算结果相乘,得到该存单金额的金额承诺;其中,第一元素和第二元素都是随机选择的椭圆曲线群中的元素;从椭圆曲线的模的整数环中随机选取多个子混淆元,将混淆元与子混淆元总和的差值确定为第一数值,计算该存单金额在二进制形式的系数;根据第一元素、第二元素、所述子混淆元以及所述系数确定第一子承诺和第二子承诺,利用第一子承诺和第二子承诺生成承诺集;将所述审计公钥与所述子混淆元的倍点运算结果确定为追踪密钥,基于所述承诺集和所述追踪密钥生成多个随机数值;使用第一子承诺、第二子承诺、所述随机数值以及所述追踪密钥形成公钥组;基于所述公钥组、所述子混淆元、所述金额承诺、第一数值以及所述追踪密钥生成多环签名值;将第一数值、所述承诺集、所述追踪密钥以及所述多环签名值组成所述金额承诺的可审计范围证明。
较佳地,所述用户存单的上链信息进一步包括:第一审计标识,第一审计标识是使用审计公钥对所述用户存单的存单信息、所述用户存单的金额以及第一随机数进行加密得到的。
具体应用中,所述拆分请求中包括每一目标存单的拆分金额,所述拆分质押请求中进一步包括所述用户存单的存单信息、质押金额和贷款金额;以及,所述方法进一步包括:在将签名后的用户存单的上链信息上链之后,将所述用户存单的状态设置为“未质押”;在将生成的每一目标存单的上链信息在签名后上链之后,将所述用户存单的状态设置为“已拆分”,将每一目标存单的状态设置为“未质押”;所述响应于针对所述用户存单的拆分请求,将所述用户存单拆分为包括第一存单在内的多个目标存单,并将生成的每一目标存单的上链信息在签名后上链,包括:在接收到所述拆分请求之后,判断所述用户存单的状态是否为“未质押且未拆分”:若是,调用可审计拆分证明算法计算所述用户存单以及拆分后形成的每一目标存单的金额承诺的拆分金额合法性证明,并将所述拆分金额合法性证明签名后上链;对所述用户存单的存单信息以及第二随机数执行哈希运算,得到第二上链标识;将第一存单的金额承诺以及通过所述可审计范围证明算法确定的该金额承诺的可审计范围证明组成第一存单的存单金额合法性证明标识,将第二上链标识和第一存单的存单金额合法性证明标识组成第一存单的上链信息。
实际应用中,所述可审计拆分证明算法执行以下步骤:调用所述可审计范围证明算法计算所述用户存单的金额承诺的可审计范围证明;生成对应于每一目标存单金额的随机数,根据每一目标存单金额、该随机数、第一元素以及第二元素确定每一目标存单的金额承诺,将所述混淆元与该随机数总和的差值确定为第二数值;调用所述可审计范围证明算法计算每一目标存单的金额承诺的可审计范围证明,将所述用户存单的金额承诺的可审计范围证明、每一目标存单的金额承诺的可审计范围证明、每一目标存单的金额承诺以及第二数值组成所述拆分金额合法性证明。
在一个实施例中,第一存单的上链信息进一步包括:第二审计标识,第二审计标识是使用审计公钥对所述用户存单的存单信息、第一存单的金额以及第二随机数进行加密得到的。
在一可选实现方式中,所述基于区块链上的第一存单的上链信息向用户提供质押贷款服务,包括:第二银行节点接收到所述拆分质押请求之后,利用所述拆分质押请求中的识别码从区块链上确定第一存单,并基于第一银行节点验证所述拆分质押请求中的质押金额、依据第一银行传输的第二随机数验证第一存单的上链信息以及验证第一存单的状态是否为“未质押”;在每一验证通过之后,对第一存单的上链信息进行签名后生成质押信息上链,并将第一存单的状态修改为“已质押”;以及,所述方法进一步包括:从区块链获取到所述质押信息之后,在内部数据库将第一存单的状态修改为“已质押”,并对第一存单的上链信息进行签名后生成质押确认信息上链;第二银行节点在区块链获取到所述质押确认信息之后,向用户授信及放款。
在一个可选的技术方案中,第二银行节点在接收到针对第一存单的解除质押请求之后,如果判断用户已经完成贷款还款,则对第一存单的上链信息进行签名后生成解除质押信息上链;以及,所述方法进一步包括:在区块链获取到所述解除质押信息之后,利用生成的第三随机数将第一存单的上链信息中的第二上链标识更新为第三上链标识,将第一存单的上链信息中的第二审计标识更新为第三审计标识,将第三上链标识、第一存单的存单金额合法性证明标识和第三审计标识组成第一存单的解除质押后上链信息,对所述解除质押后上链信息签名后上链,并将第一存单的状态修改为“未质押”。
具体场景中,所述目标存单中包括至少一个第二存单;以及,所述方法进一步包括:在接收到针对第一存单和第二存单的合并请求之后,如果确定第一存单与第二存单具有相同的识别码以及都处在“未质押”状态,则将第一存单和第二存单合并为一个存单,调用可审计合并证明算法计算第一存单、第二存单以及合并后存单的金额承诺的合并金额合法性证明,并将所述合并金额合法性证明签名后上链;利用生成的第四随机数确定所述合并后存单的上链信息之后将该上链信息上链,并将所述合并后存单的状态确定为“未质押”;其中,所述合并后存单的上链信息包括所述合并后存单的上链标识和所述合并后存单的存单金额合法性证明标识;该上链标识为所述用户存单的存单信息以及第四随机数的哈希运算结果,该存单金额合法性证明标识包括所述合并后存单的金额承诺以及通过所述可审计范围证明算法确定的该金额承诺的可审计范围证明。
具体地,所述可审计合并证明算法执行以下步骤:生成对应于每一待合并存单金额的随机数,根据每一待合并存单金额、该随机数、第一元素以及第二元素确定每一待合并存单的金额承诺,将每一待合并存单的金额承诺的乘积确定为所述合并后存单的金额承诺;调用所述可审计范围证明算法计算所述合并后存单的金额承诺的可审计范围证明;将所述合并后存单的金额承诺以及该可审计范围证明组成所述合并金额合法性证明。
此外,在本发明实施例中,所述合并后存单的上链信息进一步包括审计标识,该审计标识是使用审计公钥对所述用户存单的存单信息、所述合并后存单的金额以及第四随机数进行加密得到的。
根据本发明实施例的技术方案,研发新的密码算法和区块链隐私保护技术来支撑存单在拆分和合并过程中的隐私保护处理机制,并且支持穿透式监管审计,利用隐私承诺、可审计范围证明、可审计拆分证明、可审计合并证明等关键技术,解决了存单拆分与合并过程中,兼顾隐私保护与监管审计的重要功能。
在本发明实施例中,还提供一种应用在区块链网络中的第二银行节点的基于区块链的存单管理方法,其包括:响应于针对用户存单的拆分质押请求,基于区块链上的第一存单的上链信息向用户提供质押贷款服务;其中,第一银行节点根据用户存单的存单信息生成上链信息,并将签名后的所述上链信息上链;第一银行节点响应于针对所述用户存单的拆分请求,将所述用户存单拆分为包括第一存单在内的多个目标存单,并将生成的每一目标存单的上链信息在签名后上链;第一存单的金额与所述拆分请求中的一个拆分金额相等;所述拆分质押请求中的质押金额与所述拆分请求中的该拆分金额相等。
具体应用中,所述用户存单的存单信息包括:用户标识、识别码、利率和期限,所述识别码用于唯一表示一个用户存单;所述用户存单的上链信息包括:第一上链标识和所述用户存单的存单金额合法性证明标识;其中,第一上链标识为所述用户存单的存单信息以及第一随机数的哈希运算结果;所述用户存单的存单金额合法性证明标识包括所述用户存单的金额承诺以及通过可审计范围证明算法确定的该金额承诺的可审计范围证明。
实际应用中,所述可审计范围证明算法执行以下步骤:预先选定椭圆曲线群,随机选择生成元,根据随机选择的审计私钥以及所述生成元计算审计公钥;将预设的第一元素和混淆元的倍点运算结果、与预设的第二元素和存单金额的倍点运算结果相乘,得到该存单金额的金额承诺;其中,第一元素和第二元素都是随机选择的椭圆曲线群中的元素;从椭圆曲线的模的整数环中随机选取多个子混淆元,将混淆元与子混淆元总和的差值确定为第一数值,计算该存单金额在二进制形式的系数;根据第一元素、第二元素、所述子混淆元以及所述系数确定第一子承诺和第二子承诺,利用第一子承诺和第二子承诺生成承诺集;将所述审计公钥与所述子混淆元的倍点运算结果确定为追踪密钥,基于所述承诺集和所述追踪密钥生成多个随机数值;使用第一子承诺、第二子承诺、所述随机数值以及所述追踪密钥形成公钥组;基于所述公钥组、所述子混淆元、所述金额承诺、第一数值以及所述追踪密钥生成多环签名值;将第一数值、所述承诺集、所述追踪密钥以及所述多环签名值组成所述金额承诺的可审计范围证明。
较佳地,所述用户存单的上链信息进一步包括:第一审计标识,第一审计标识是使用审计公钥对所述用户存单的存单信息、所述用户存单的金额以及第一随机数进行加密得到的。
作为一个优选方案,第一银行节点在将签名后的用户存单的上链信息上链之后,将所述用户存单的状态设置为“未质押”;在将生成的每一目标存单的上链信息在签名后上链之后,将所述用户存单的状态设置为“已拆分”,将每一目标存单的状态设置为“未质押”;所述拆分请求中包括每一目标存单的拆分金额,所述拆分质押请求中进一步包括所述用户存单的存单信息、质押金额和贷款金额;第一银行节点在接收到所述拆分请求之后,判断所述用户存单的状态是否为“未质押且未拆分”:若是,调用可审计拆分证明算法计算所述用户存单以及拆分后形成的每一目标存单的金额承诺的拆分金额合法性证明,并将所述拆分金额合法性证明签名后上链;对所述用户存单的存单信息以及第二随机数执行哈希运算,得到第二上链标识;将第一存单的金额承诺以及通过所述可审计范围证明算法确定的该金额承诺的可审计范围证明组成第一存单的存单金额合法性证明标识,将第二上链标识和第一存单的存单金额合法性证明标识组成第一存单的上链信息;所述可审计拆分证明算法执行以下步骤:调用所述可审计范围证明算法计算所述用户存单的金额承诺的可审计范围证明;生成对应于每一目标存单金额的随机数,根据每一目标存单金额、该随机数、第一元素以及第二元素确定每一目标存单的金额承诺,将所述混淆元与该随机数总和的差值确定为第二数值;调用所述可审计范围证明算法计算每一目标存单的金额承诺的可审计范围证明,将所述用户存单的金额承诺的可审计范围证明、每一目标存单的金额承诺的可审计范围证明、每一目标存单的金额承诺以及第二数值组成所述拆分金额合法性证明。
在一个实施例中,第一存单的上链信息进一步包括:第二审计标识,第二审计标识是使用审计公钥对所述用户存单的存单信息、第一存单的金额以及第二随机数进行加密得到的。
优选地,所述响应于针对用户存单的拆分质押请求,基于区块链上的第一存单的上链信息向用户提供质押贷款服务,包括:接收到所述拆分质押请求之后,利用所述拆分质押请求中的识别码从区块链上确定第一存单,并基于第一银行节点验证所述拆分质押请求中的质押金额、依据第一银行传输的第二随机数验证第一存单的上链信息以及验证第一存单的状态是否为“未质押”;在每一验证通过之后,对第一存单的上链信息进行签名后生成质押信息上链,并将第一存单的状态修改为“已质押”;以及,第一银行节点在区块链获取到所述质押信息之后,在内部数据库将第一存单的状态修改为“已质押”,并对第一存单的上链信息进行签名后生成质押确认信息上链;从区块链获取到所述质押确认信息之后,向用户授信及放款。
具体场景中,所述方法进一步包括:在接收到针对第一存单的解除质押请求之后,如果判断用户已经完成贷款还款,则对第一存单的上链信息进行签名后生成解除质押信息上链;以及,第一银行节点在区块链获取到所述解除质押信息之后,利用生成的第三随机数将第一存单的上链信息中的第二上链标识更新为第三上链标识,将第一存单的上链信息中的第二审计标识更新为第三审计标识,将第三上链标识、第一存单的存单金额合法性证明标识和第三审计标识组成第一存单的解除质押后上链信息,对所述解除质押后上链信息签名后上链,并将第一存单的状态修改为“未质押”。
此外,在本发明实施例中,所述方法进一步包括:判断针对第一存单的还款过程是否发生异常;如果发生异常,向第一银行节点发送支取第一存单中部分或全部存款的请求,以使第一银行节点在接收到该请求后将第一存单中的部分或全部存款转入本地。
本发明实施例的技术方案相比于现有技术具有以下优点:相比于无拆分功能的存单整体质押方案,本方案提供了支持存单拆分与合并的创新方案,能够支持用户将存单拆分后灵活办理质押贷款,避免了存单无法拆分带来的业务障碍;相比于传统线下模式的跨机构存单互认,本方案使用区块链技术,通过可审计范围证明、唯一识别码、哈希函数等密码算法,实现了高效的链上存单有效性校验,缩短了业务办理周期,降低了用户办理难度;相比于明文上链的传统区块链通信模式,本方案使用隐私化信息处理方法,将密文和哈希值进行上链,每次拆分和合并后,存单上链信息中的随机数发生相应的更新,有效保护了各方隐私信息,同时适配隐私模式下的有效性校验与穿透式监管审计。
在本发明实施例中,进一步提供一种应用在区块链网络中的监管节点的基于区块链的存单管理方法,包括:通过审计私钥从以上可审计范围证明、拆分金额合法性证明和合并金额合法性证明中确定金额信息,以及通过审计私钥获取每一存单的业务数据。
在本发明实施例中,提出一种新的基于区块链的跨机构存单质押贷款方案,综合使用可审计范围证明、可审计拆分与合并证明、哈希函数、唯一识别码等技术,实现了多方互信、隐私保护、业务灵活、与监管审计相容的新方案,具备较高的技术和应用价值。
图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。
需要说明的是,本发明所示的计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质或者是上述两者的任意组合。计算机可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子可以包括但不限于:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机访问存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑磁盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本发明中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。在本发明中,计算机可读信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述任意合适的组合。计算机可读信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括但不限于:无线、电线、光缆、RF等等,或者上述的任意合适的组合。
附图中的流程图和框图,图示了按照本发明各种实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,上述模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这根据所涉及的功能而定。也要注意的是,框图或流程图中的每个方框、以及框图或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
描述于本发明实施例中所涉及到的单元可以通过软件的方式实现,也可以通过硬件的方式来实现。所描述的单元也可以设置在处理器中,
作为另一方面,本发明还提供了一种计算机可读介质,该计算机可读介质可以是上述实施例中描述的设备中所包含的;也可以是单独存在,而未装配入该设备中的。上述计算机可读介质承载有一个或者多个程序,当上述一个或者多个程序被该设备执行时,使得该设备执行的步骤包括:根据用户存单的存单信息生成上链信息,并将签名后的所述上链信息上链;响应于针对所述用户存单的拆分请求,将所述用户存单拆分为包括第一存单在内的多个目标存单,并将生成的每一目标存单的上链信息在签名后上链;第一存单的金额与所述拆分请求中的一个拆分金额相等;以及,区块链网络中的第二银行节点响应于针对所述用户存单的拆分质押请求,基于区块链上的第一存单的上链信息向用户提供质押贷款服务;其中,所述拆分质押请求中的质押金额与所述拆分请求中的该拆分金额相等。
在本发明实施例的技术方案中,区块链网络中的第一银行节点根据用户存单的存单信息生成上链信息,并将签名后的所述上链信息上链;第一银行节点响应于针对所述用户存单的拆分请求,将所述用户存单拆分为包括第一存单在内的多个目标存单,并将生成的每一目标存单的上链信息在签名后上链;区块链网络中的第二银行节点响应于针对所述用户存单的拆分质押请求,基于区块链上的第一存单的上链信息向用户提供质押贷款服务。通过以上方式,并且基于新的密码算法和区块链隐私保护技术来支撑存单在拆分和合并过程中的隐私保护处理机制,同时支持穿透式监管审计,由此提高业务灵活性,提升用户使用感受,同时保护各方隐私不泄露;存单拆分合并方案与可审计范围证明等算法相容,在支持公开验证的同时,支持拆分与合并过程的穿透式监管审计;此外,通过引入唯一识别码、存单上链信息等概念,能够在保护链上存单隐私信息不泄露的同时,支持质押时的跨机构存单校验。
上述具体实施方式,并不构成对本发明保护范围的限制。本领域技术人员应该明白的是,取决于设计要求和其他因素,可以发生各种各样的修改、组合、子组合和替代。任何在本发明的精神和原则之内所作的修改、等同替换和改进等,均应包含在本发明保护范围之内。

Claims (40)

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

Priority Applications (1)

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

Applications Claiming Priority (1)

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

Publications (2)

Publication Number Publication Date
CN113486408A CN113486408A (zh) 2021-10-08
CN113486408B true CN113486408B (zh) 2022-08-09

Family

ID=77940998

Family Applications (1)

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

Country Status (1)

Country Link
CN (1) CN113486408B (zh)

Family Cites Families (7)

* 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
US20200175562A1 (en) * 2018-12-04 2020-06-04 Krisada Somsri Gem trade and exchange system and previous-block verification method for block chain transactions
CN112789824B (zh) * 2019-09-09 2022-09-09 深圳市网心科技有限公司 区块链系统及信息传输方法、系统、装置、计算机介质
CN113055178B (zh) * 2019-12-27 2022-08-16 深圳市迅雷网络技术有限公司 区块链系统及数值信息传输方法、系统、装置、介质
CN111105235B (zh) * 2019-12-31 2024-01-16 深圳市迅雷网络技术有限公司 基于区块链的供应链交易隐私保护系统、方法及相关设备
CN112037068B (zh) * 2020-09-17 2024-04-23 广州运通链达金服科技有限公司 资源转移方法、系统、装置、计算机设备和存储介质
CN112434026B (zh) * 2020-10-29 2024-06-28 暨南大学 一种基于哈希链的安全知识产权质押融资方法

Also Published As

Publication number Publication date
CN113486408A (zh) 2021-10-08

Similar Documents

Publication Publication Date Title
EP4221077B1 (en) Computer-implemented system and method for exchange of data
US20230070963A1 (en) Blockchain-implemented method for control and distribution of digital content
KR102180991B1 (ko) 블록 체인 기밀 거래의 규제
TWI818005B (zh) 適於提升即時離線區塊鏈交易安全性的電腦實施系統與方法
CN106982205B (zh) 基于区块链的数字资产处理方法和装置
CN109314636B (zh) 用于从区块链中安全提取数据的密码方法和系统
Dagher et al. Provisions: Privacy-preserving proofs of solvency for bitcoin exchanges
CN113486407B (zh) 基于区块链的存单管理系统和方法
US20170344983A1 (en) BIXCoin: A Secure Peer-to-Peer Payment System Based on the Public Payments Ledger
CN109840771A (zh) 一种基于同态加密的区块链隐私保护系统及其方法
RU2157001C2 (ru) Способ проведения платежей (варианты)
CN104717067B (zh) 基于非交互式零知识的安全验证方法、设备及系统
CN111461712A (zh) 区块链供应链金融场景下的交易隐私保护和分层监管
CN111523892B (zh) 一种区块链的跨链交易方法及装置
CN113486408B (zh) 基于区块链的存单管理系统和方法
Dogan et al. KAIME: Central bank digital currency with realistic and modular privacy
CN108090751A (zh) 电子现金系统
CN113656492A (zh) 基于区块链的存单管理方法和区块链系统
CN111369251A (zh) 一种基于用户二级身份结构的区块链交易监管方法
CN104580145A (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
WO2022254624A1 (ja) 電子通貨システム、情報処理装置、電子通貨発行方法およびプログラム
Nicolaas et al. Verifiable Value Added Tax
JPH09153103A (ja) 追跡可能な電子現金実施方法及びその装置
CN113793149A (zh) 离线交易认证系统、方法及中心服务器、客户端

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