CN114930373A - 用于管理备用信用证的方法和设备 - Google Patents
用于管理备用信用证的方法和设备 Download PDFInfo
- Publication number
- CN114930373A CN114930373A CN202080092600.9A CN202080092600A CN114930373A CN 114930373 A CN114930373 A CN 114930373A CN 202080092600 A CN202080092600 A CN 202080092600A CN 114930373 A CN114930373 A CN 114930373A
- Authority
- CN
- China
- Prior art keywords
- offer
- credit
- sblc
- loan
- alternate
- 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.)
- Pending
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/32—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
- H04L9/3236—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using cryptographic hash functions
- H04L9/3239—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using cryptographic hash functions involving non-keyed hash functions, e.g. modification detection codes [MDCs], MD5, SHA or RIPEMD
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q20/00—Payment architectures, schemes or protocols
- G06Q20/02—Payment architectures, schemes or protocols involving a neutral party, e.g. certification authority, notary or trusted third party [TTP]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q20/00—Payment architectures, schemes or protocols
- G06Q20/04—Payment circuits
- G06Q20/042—Payment circuits characterized in that the payment protocol involves at least one cheque
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q40/00—Finance; Insurance; Tax strategies; Processing of corporate or income taxes
- G06Q40/02—Banking, e.g. interest calculation or account maintenance
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/50—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using hash chains, e.g. blockchains or hash trees
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L2209/00—Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
- H04L2209/56—Financial cryptography, e.g. electronic payment or e-cash
Landscapes
- Engineering & Computer Science (AREA)
- Business, Economics & Management (AREA)
- Computer Security & Cryptography (AREA)
- Accounting & Taxation (AREA)
- General Business, Economics & Management (AREA)
- Strategic Management (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Signal Processing (AREA)
- Computer Networks & Wireless Communication (AREA)
- Finance (AREA)
- Development Economics (AREA)
- Economics (AREA)
- Marketing (AREA)
- Technology Law (AREA)
- Financial Or Insurance-Related Operations Such As Payment And Settlement (AREA)
Abstract
本文公开了用于管理备用信用证(SBLC)的方法、设备和装置,包括存储在计算机可读介质上的计算机程序。所述方法之一包括:从第一用户接收第一交易,所述第一交易包括第一证明和第一备用信用证许诺;响应于确定所述第一证明是可接受的,记录所述第一备用信用证许诺;从第二用户接收第二交易,所述第二交易包括所述第一备用信用证令牌、第二证明、基于第二备用信用证令牌生成的第二备用信用证许诺、基于第一贷款令牌生成的第一贷款许诺;以及响应于确定所述第一备用信用证令牌有效并且所述第二证明是可接受的,记录所述第二备用信用证许诺和所述第一贷款许诺记录并使所述第一备用信用证令牌无效。
Description
技术领域
本文总体上涉及计算机技术,并且更具体地涉及用于管理备用信用证的方法和设备。
背景技术
备用信用证(SBLC)通常是保证银行代表银行的客户进行支付的文档。SBLC通常用于促进交易,包括例如国际交易。在典型的使用情况下,例如,具有第一银行的存款账户的第一客户可同意充当第二客户想要从第二银行取出的贷款的保证人。对于接受第一客户作为保证人的第二银行,第二银行可要求第一银行发布SBLC。如果第二客户默认偿还贷款,则SBLC被用于保证第一银行向第二银行进行支付。如果第二客户默认,则第一银行可支付第二银行并且通过对第一银行维护的第一客户的存款账户收费来恢复其成本。在此示例中,第一银行可称为开证银行(issuing bank),第二银行可称为受益人银行(beneficiarybank),第一客户可称为当事人(principal),且第二客户可称为借款方。
由于SBLC在促进某些类型的交易中的重要性,这种交易中涉及的各方可能具有在区块链系统中记录SBLC的激励。区块链系统,也称为分布式账本系统(DLS)或共识系统,可以使参与实体能够安全且不变地存储数据。区块链系统可包括任何DLS,而不引用任何特定用例,并且可以被用于公共、私有和联盟区块链网络。公共区块链网络对所有实体开放以使用系统并参与到共识过程中。私有区块链网络为特定实体提供,其集中控制读取和写入许可。联盟区块链网络为选择的实体组提供,其控制共识过程,并且联盟区块链网络包括访问控制层。
虽然在区块链系统中记录SBLC可以帮助防止恶意方的篡改和操纵,但是这样做也会将SBLC中包含的信息暴露给无关方。因为SBLC可能包含敏感信息,包括例如发证银行、受益人银行、当事人、借款方的身份、借款方被允许借入的最大金额、借款方被允许安排的贷款类型等,所以在区块链系统中记录SBLC可能损害与SBLC相关的各方的隐私。
发明内容
在一个方面,一种计算机实现的用于管理备用信用证(SBLC)的方法包括:从第一用户接收第一交易,所述第一交易包括第一备用信用证许诺(commitment)和用于证明所述第一用户是所述备用信用证的发布者的第一证明,所述第一备用信用证许诺是基于第一备用信用证令牌生成;响应于确定所述第一证明是可接受的,将所述第一备用信用证许诺记录在备用信用证许诺池中;从第二用户接收第二交易,所述第二交易包括所述第一备用信用证令牌、所述第二备用信用证许诺、第一贷款许诺和用于证明所述第二用户已发布由所述备用信用证担保的贷款的第二证明,所述第二备用信用证许诺是基于第二备用信用证令牌生成,所述第一贷款许诺是基于所述第一贷款令牌生成;以及响应于确定所述第一备用信用证令牌有效并且所述第二证明是可接受的,将所述第二备用信用证许诺记录在所述备用信用证许诺池中,将所述第一贷款许诺记录在贷款许诺池中,并使所述第一备用信用证令牌无效。
在另一方面,一种用于管理SBLC的设备包括:一个或多个处理器;以及一个或多个计算机可读存储器,耦接至所述一个或多个处理器并且具有存储在其上的指令,所述指令可由一个或多个处理器执行以:从第一用户接收第一交易,所述第一交易包括第一备用信用证许诺和用于证明所述第一用户是所述备用信用证的发布者的第一证明,所述第一备用信用证许诺是基于第一备用信用证令牌生成;响应于确定所述第一证明是可接受的,将所述第一备用信用证许诺记录在备用信用证许诺池中;从第二用户接收第二交易,所述第二交易包括所述第一备用信用证令牌、所述第二备用信用证许诺、第一贷款许诺和用于证明所述第二用户已发布由所述备用信用证担保的贷款的第二证明,所述第二备用信用证许诺是基于第二备用信用证令牌生成,所述第一贷款许诺是基于所述第一贷款令牌生成;以及响应于确定所述第一备用信用证令牌有效并且所述第二证明是可接受的,将所述第二备用信用证许诺记录在所述备用信用证许诺池中,将所述第一贷款许诺记录在贷款许诺池中,并使所述第一备用信用证令牌无效。
在又一方面中,一种非暂时性计算机可读介质具有存储在其中的指令,所述指令在由设备的处理器执行时使所述设备执行用于管理SBLC的方法。所述方法包括:从第一用户接收第一交易,所述第一交易包括第一备用信用证许诺和用于证明所述第一用户是所述备用信用证的发布者的第一证明,所述第一备用信用证许诺是基于第一备用信用证令牌生成;响应于确定所述第一证明是可接受的,将所述第一备用信用证许诺记录在备用信用证许诺池中;从第二用户接收第二交易,所述第二交易包括所述第一备用信用证令牌、所述第二备用信用证许诺、第一贷款许诺和用于证明所述第二用户已发布由所述备用信用证担保的贷款的第二证明,所述第二备用信用证许诺是基于第二备用信用证令牌生成,所述第一贷款许诺是基于所述第一贷款令牌生成;以及响应于确定所述第一备用信用证令牌有效并且所述第二证明是可接受的,将所述第二备用信用证许诺记录在所述备用信用证许诺池中,将所述第一贷款许诺记录在贷款许诺池中,并使所述第一备用信用证令牌无效。
附图说明
附图并入本说明书中并构成本说明书的一部分,附图示出了实施例。在参考附图的以下描述中,除非另有表示,否则不同附图中的相同附图标记表示相同或相似的元件。
图1是根据实施例的区块链系统的示意图。
图2是根据实施例的用于实现区块链系统中的节点的计算设备的示意图。
图3是根据实施例的用于管理备用信用证的方法的流程图。
图4是根据实施例的用于管理备用信用证的方法的流程图。
图5是根据实施例的用于管理备用信用证的装置的框图。
具体实施方式
本说明书的实施例提供了用于管理备用信用证(SBLC)的方法和设备。所述方法和设备可利用区块链系统来验证由用户提交的SBLC。可检测到虚假SBLC,并且可防止使用此类SBLC借款的欺骗性尝试。所述方法和设备还可以实现能够管理SBLC的协议。可以允许借款者借入多达SBLC所允许的最大金额,但是如果确定借款者已经借入多达所允许的最大金额,则所述方法和设备可防止使用相同的SBLC额外尝试借款。所述方法和设备还可以实现用于保护隐私的协议。以这种方式,所述方法和设备可以使用区块链系统来验证和记录SBLC,而不向公众揭示SBLC的细节。
本说明书中公开的实施例具有一个或多个技术效果。在一些实施例中,所述方法和装置要求用户提交证明以便验证由用户提交的SBLC。这允许所述方法和设备验证正确性,检测虚假SBLC,并且防止使用虚假SBLC借款的欺骗性尝试。在一些实施例中,所述方法和设备支持使用区块链系统验证SBLC。这允许所述方法和设备将SBLC存储在可以防止恶意方的篡改和操纵的数据结构中。在一些实施例中,所述方法和设备还支持使用两种类型的许诺(例如,SBLC许诺和贷款许诺)来管理SBLC的协议。这允许借款者借入多达SBLC所允许的最大金额,但是如果确定借款者已经借入多达所允许的最大金额,则所述方法和设备可以防止使用相同的SBLC额外尝试借款。在一些实施例中,所述方法和设备还支持仅在区块链系统上记录SBLC许诺和贷款许诺的协议。这允许所述方法和设备利用区块链系统来验证和记录SBLC,而不向公众泄露任何私人信息,从而保护作为SBLC的各方的用户的隐私。
区块链系统使用对等(P2P)网络来实现,其中,节点彼此直接通信,例如,不需要固定的中央服务器。P2P网络中的每个节点可以发起与P2P网络中的另一节点的通信。区块链系统维护一个或多个区块链。
区块链是以可以防止恶意方篡改和操纵数据的方式存储数据(例如,交易、SBLC等)的数据结构。以这种方式存储的交易可以是不可变的并且随后被验证。区块链包括一个或多个块。每个区块通过包括区块链中在其紧前面的前一区块的加密哈希而链接到该前一区块。每个区块还可以包括时间戳、其自己的加密哈希以及一个或多个交易。通常已经由区块链系统的节点验证的交易可以被哈希处理并编码成数据结构,诸如默克尔(Merkle)树。在Merkle树中,树的叶节点处的数据被哈希处理,并且树的每个分支中的所有哈希可以在分支的根处被级联。此过程沿树向上继续到整个树的根,其存储表示树中的所有数据的哈希。声称是存储在树中的交易的哈希可以通过确定其是否与树的结构一致来快速验证。
区块链系统包括管理、更新和维护一个或多个区块链的计算节点的网络。所述网络可以是公共区块链网络、私有区块链网络或联盟区块链网络。例如,许多实体(诸如数百、数千或甚至数百万个实体)可以在公共区块链网络中操作,并且每个实体操作公共区块链网络中的至少一个节点。因此,公共区块链网络可以被认为是关于参与实体的公共网络。有时,大多数实体(节点)必须对每个区块进行签名以使该区块有效并被添加到区块链网络的区块链。公共区块链网络的示例包括利用分布式账本的特定对等支付网络,称为区块链。
通常,公共区块链网络可以支持公共交易。公共交易为公共区块链网络中的所有节点共享,并且存储在全局区块链中。全局区块链是跨所有节点复制的区块链,并且所有节点关于全局区块链处于完美状态共识。为了实现共识(例如,同意将区块添加到区块链),在公共区块链网络中实现共识协议。共识协议的示例包括工作证明(POW)(例如,在一些加密货币网络中实现)、利益证明(POS)和授权证明(POA)。
通常,可为特定实体提供私有区块链网络,其集中控制读取和写入许可。所述实体控制哪些节点能够参与区块链网络。因此,私有区块链网络通常被称为许可网络,其对谁被允许参与网络及其参与级别(例如,仅在某些交易中)施加限制。可使用各种类型的访问控制机制(例如,现有参与者对添加新实体投票,管理机构可控制准入)。
通常,联盟区块链网络可在参与实体之间是私有的。在联盟区块链网络中,共识过程由授权的一组节点控制,一个或多个节点由相应的实体(例如,金融机构、保险公司)操作。例如,十(10)个实体(例如,金融机构、保险公司)的联盟可以操作联盟区块链网络,每个联盟区块链网络操作联盟区块链网络中的至少一个节点。因此,联盟区块链网络可以被认为是关于参与实体的私有网络。在一些示例中,每个实体(节点)必须对每个区块进行签名以使该区块有效并且被添加到区块链。在一些示例中,至少实体(节点)的子集(例如,至少7个实体)必须对每个区块进行签名以使区块有效并且被添加到区块链。
图1示出了根据实施例的区块链系统100的示意图。参考图1,区块链系统100可包括被配置为在区块链120上操作的多个节点,例如节点102-110。节点102-110可以形成网络112,例如对等(P2P)网络。每个节点102-110可以是被配置为存储区块链120的副本的计算设备,诸如计算机或计算机系统,或者可以是在计算设备上运行的软件,诸如进程或应用。每个节点102-110可以具有唯一标识。
区块链120可包括数据区块形式的不断增长的记录列表,诸如图1中的区块B1-B5。每个区块B1-B5可包括时间戳、先前区块的加密哈希和当前区块的数据,其可以是诸如货币交易的交易。例如,如图1所示,区块B5可以包括时间戳、区块B4的加密哈希和区块B5的交易数据。此外,例如,可以对先前区块执行哈希操作以生成先前区块的加密哈希。哈希操作可通过哈希算法(诸如SHA-256)将各种长度的输入转换为固定长度的加密输出。
节点102-110可被配置为对区块链120执行操作。例如,当节点(例如,节点102)想要将新数据存储到区块链120上时,该节点可以生成要添加到区块链120的新区块并将该新区块广播到网络112中的其他节点(例如,节点104-110)。基于新区块的合法性,例如,其签名和交易的有效性,其他节点可以确定接受新区块,使得节点102和其他节点可以将新区块添加到它们各自的区块链120的副本。随着此过程重复,越来越多的数据块可以被添加到区块链120。
图2示出了根据实施例的用于在区块链系统中实现节点(例如,节点102(图1))的计算设备200的示意图。参考图2,计算设备200可包括通信接口202、处理器204和存储器206。
通信接口202可促进计算设备200与实现网络中的其他节点(例如,节点104-110(图1))的设备之间的通信。在一些实施例中,通信接口202被配置为支持一个或多个通信标准,诸如互联网标准或协议、综合业务数字网(ISDN)标准等。在一些实施例中,通信接口202可包括局域网(LAN)卡、电缆调制解调器、卫星调制解调器、数据总线、电缆、无线通信信道、基于无线电的通信信道、蜂窝通信信道、基于互联网协议(IP)的通信设备或用于有线和/或无线通信的其他通信设备中的一个或多个。在一些实施例中,通信接口202可以基于公共云基础设施、私有云基础设施、混合公共/私有云基础设施。
处理器204可包括一个或多个专用处理单元、专用集成电路(ASIC)、现场可编程门阵列(FPGA)或各种其他类型的处理器或处理单元。处理器204与存储器206耦接并且被配置为执行存储在存储器206中的指令。
存储器206可存储处理器可执行指令和数据,诸如区块链120的副本(图1)。存储器206可包括任何类型的易失性或非易失性存储器设备或其组合,诸如静态随机存取存储器(SRAM)、电可擦除可编程只读存储器(EEPROM)、可擦除可编程只读存储器(EPROM)、可编程只读存储器(PROM)、只读存储器(ROM)、磁存储器、闪存或者磁盘或光盘。当存储器206中的指令由处理器204执行时,计算设备200可以对区块链120执行操作。
图3示出了根据实施例的用于管理备用信用证(SBLC)的方法300的流程图。参考图3,多个用户可以在区块链(例如,区块链120(图1))上具有账户。区块链可以被实现为支持各种类型的用户或各方,包括例如个人、企业、银行、金融机构、医院以及其他类型的公司、组织等。
为了说明的目的,在图3中描绘了两个用户,其包括发证银行和受益人银行。具有发证银行的账户的当事人可同意充当借款方想要从受益人银行取出的贷款的保证人。为了让受益人银行接受当事人作为保证人,受益人银行可要求发证银行发布SBLC。如果借款方默认偿还贷款,则SBLC可以保证发证银行向受益人银行进行付款。在一些实施例中,如果发证银行和受益人银行都同意基于方法300记录和管理SBLC,则受益人银行可能愿意接受由发证银行发布的SBLC。
在步骤302处,发证银行可发布SBLC。SBLC可以以各种格式发布,包括例如数字或基于纸的格式。SBLC可以包含包括例如发证银行、受益人银行、当事人、借款方的身份、允许借款方借入的最大金额、允许借款方安排的贷款类型(例如,长期、短期、固定利率或可变利息)、SBLC的到期日期等的信息。SBLC还可包括标识,其可以是唯一地标识SBLC的数字或字母数字值。
一旦发布了SBLC,在步骤302处,发证银行可以为SBLC生成SBLC许诺CMSBLC,以记录在区块链上。在一些实施例中,发证银行可以通过考虑关于发证银行、受益人银行的信息和SBLC中包含的某些信息来计算CMSBLC。在一些实施例中,可以基于单向函数来计算CMSBLC。本领域的普通技术人员将理解,如果在给定随机元素的情况下难以计算而使得g(y)=x,则函数是单向的。换句话说,难以从单向函数的输出变量的值计算单向函数的输入变量的值,使得该函数实际上不可能反转,并且因此该函数被称为“单向”。哈希函数,例如SHA256等,是单向函数的示例。
例如,在一些实施例中,CMSBLC可被计算为(PKIB,PKBB,IDSBLC,VREMAIN,VSUM,DSBLC,TNSBLC,RSBLC)的哈布值,其中,PKIB和PKBB分别表示发证银行(IB)和受益人银行(BB)的公钥,并且IDSBLC表示可被用于识别SBLC的标识。VREMAIN可表示允许借款方从受益人银行借出的金额,并且VSUM可表示借款方已经借出的金额。在一些实施例中,VREMAIN的初始值可被设置为发证银行愿意保证的最大金额,并且VSUM的初始值可以被设置为0。如下面将解释的,每次借款方从受益人银行借款时,VREMAIN可以减少并且VSUM可以增加。而且,如下面将解释的,每次借款方向受益人银行进行偿还时,VSUM可以减少。在一些实施例中,当借款方向受益人银行进行偿还时,因为借款方已经借用了SBLC下允许的总金额,所以VREMAIN可保持不变。
用于计算CMSBLC的其他变量可包括DSBLC、TNSBLC和RSBLC。DSBLC可表示SBLC中包含的某些信息的哈希值,包括例如当事人的身份、借款方的身份、允许借款方安排的贷款的类型、SBLC的到期日期等。TNSBLC可表示由发证银行生成的可稍后用于使CMSBLC无效的令牌号。在一些实施例中,TNSBLC可包括随机数。然而,应理解,TNSBLC还可包括字母数字值,并且在一些实施例中,TNSBLC可包括序列号。RSBLC可表示由发证银行生成的随机性因子以进一步保护CMSBLC中包含的信息。在一些实施例中,RSBLC可以是随机数或随机字母数字值。
在一些实施例中,在步骤302,发证银行还可以生成零知识证明,表示为πSBLC。零知识证明是指允许证明者向验证者证明语句为真而不揭示超出语句本身的有效性的任何信息的技术。在步骤302处,发证银行是可以向区块链或在区块链上执行的智能合约(其用作验证者)证明发证银行是所讨论的SBLC的真实发布方的证明者。发证银行可尝试通过指示:(1)CMSBLC良好形成,以及(2)发证银行确实是发证银行本身来证明这一点。
在实施例中,为了证明CMMSBLC良好形成,发证银行可向区块链证明许诺值PKIB、PKBB、IDSBLC、VREMAIN、VSUM、DSBLC、TNSBLC和RSBLC是CMSBLC。在实施例中,为了证明发证银行是发证银行本身,发证银行可以向区块链证明发证银行拥有发证银行的私钥,或者PKIB=h(SKIB),其中,SKIB表示仅发证银行知道的私钥并且h()是用于基于私钥计算公钥的哈希函数。
在一些实施例中,发证银行和区块链可同意实现零知识证明技术,诸如零知识成功知识非交互式知识论证(Zero-Knowledge Succinct Non-Interactive Argument ofKnowledge,zk-SNARK)等。发证银行可向区块链证明发证银行知道秘密输入w,使得对于公共输入x和w之间的某种关系保持为真。在一些实施例中,所述关系可被定义为算术电路。在一些实施例中,可以基于多项式方程来定义算术电路,所述多项式方程可以基于x和w来评估。在一些实施例中,可基于算术电路和为零知识证明建立的一个或多个安全参数在设置阶段生成证明密钥和验证密钥。本领域的普通技术人员将理解,设置阶段可以由可信方执行,或者由多个独立方协作地使用多方计算来执行。
在一些实施例中,发证银行可设置x为CMSBLC并且设置w为基于PKIB、PKBB、IDSBLC、VREMAIN、DSBLC、TNSBLC、RSBLC和SKIB生成的值。例如,w可通过将PKIB、PKBB、IDSBLC、VREMAIN、DSBLC、TNSBLC、RSBLC和SKIB级联在一起而生成。以这种方式,发证银行可以使用秘密和公共输入以及证明密钥来生成πSBLC,以向区块链证明发证银行拥有秘密输入w。在一些实施例中,区块链可以能够使用公共输入和在设置阶段中生成的验证密钥来验证πSBLC。在一些实施例中,如果区块链接受了发证银行证明发证银行拥有秘密输入w,区块链可接受发证银行的声明为真。
在步骤304处,发证银行可利用包含{CMSBLC,πSBLC}的有效载荷(payload)向区块链提交交易。为了说明的目的,此交易可称为“SBLC”交易。
在步骤306处,区块链可以检查πSBLC以确定发证银行是否拥有秘密输入w。在一些实施例中,区块链可利用在区块链上执行的一个或多个智能合约来提供确定。智能合约是以结合到区块链中以促进、验证或实施合约的协商或执行的计算机代码的形式实现的计算机协议。例如,区块链的用户可以使用编程语言(诸如C++、Java、Solidity、Python等)将协定条款编程到智能合约中,并且当满足条款时,可以在区块链上自动执行智能合约,例如以执行交易。此外,例如,智能合约可包括多个子例程或函数,每个子例程或函数可以是执行特定任务的程序指令序列。智能合约可以是在没有人类交互的情况下完全或部分执行的操作代码。
在一些实施例中,智能合约可被合并到区块链中以确定πSBLC是否可接受。智能合约可使用公共输入和验证密钥来验证πSBLC。如果πSBLC不能被验证,则智能合约可拒绝允许发证银行进一步进行。另一方面,如果πSBLC可以被验证,则智能合约可以确定πSBLC是可接受的并且继续将CMSBLC记录在SBLC许诺池中。在一些实施例中,SBLC许诺池可被构造为Merkle树TSBLC和CMSBLC,并且可记录在Merkle树TSBLC的叶节点上。
在步骤308处,发证银行可继续向受益人银行提供SBLC。在一些实施例中,发证银行可通过链外通信信道向受益人银行私下发送SBLC以及TNSBLC和RSBLC的值。发证银行还可将CMSBLC发送到受益人银行。替代地或另外地,受益人银行可基于从发证银行接收的SBLC以及TNSBLC和RSBLC的值来重建CMSBLC。
在步骤310,受益人银行可检查SBLC以确定其是否愿意在向借款方发放贷款之前接受SBLC。应理解,受益人银行可在确定是否接受SBLC时考虑各种因素。这样的因素可包括:例如,VREMAIN的值、VSUM的值、当事人的信用得分和信用历史、借款方的信用得分和信用历史、受益人银行在发证银行、当事人、借款方等的在先交易。
如果受益人银行确定CMSBLC未记录在SBLC许诺池中,或者所记录的CMSBLC与PKIB、PKBB、IDSBLC、VREMAIN、VSUM、DSBLC、TNSBLC和RSBLC的许诺值不匹配,则受益人银行可拒绝接受SBLC。以此方式,如果发证银行试图绕过步骤304-306,或试图改变SBLC或者TNSBLC或RSBLC的值,则此类尝试可被受益人银行检测到,受益人银行于是可拒绝接受SBLC并防止欺诈。
如果受益人银行决定接受SBLC,则受益人银行可继续向借款方发放一个或多个贷款。如果受益人银行向借款方发放贷款,则受益人银行可生成贷款许诺CMSBLC以记录在区块链上。受益人银行还可生成新SBLC许诺以记录在区块链上。新SBLC许诺可反映VREMAIN值的变化(每次借款方从受益人银行借款时可以减少)和VSUM值的变化(每次借款方从受益人银行借款时可以增加)。受益人银行然后可请求区块链记录新SBLC许诺并使先前(或最近)记录的SBLC许诺CMSBLC无效。以这种方式,可以有效地替换CMSBLC。
在一些实施例中,受益人银行可通过向区块链呈现包含在CMSBLC中的令牌号TNSBLC来请求区块链无效CMSBLC。区块链可以添加TNSBLC到已用令牌列表,指示TNSBLC已经被使用或花费,这进而可指示CMSBLC不再有效。
受益人银行可以基于由发证银行使用的相同单向函数生成以生成CMSBLC。例如,如上所述,受益人银行可以计算为的哈希值,其中,PKIB、PKBB、IDSBLC和DSBLC是相同的。受益人银行可基于发放给借款方的贷款计算和的值。例如,如果贷款金额是VLOAN,则和可分别被计算为 和受益人银行还可以生成的新和的值。以这种方式,受益人银行可以计算与由发证银行计算的许诺值不同的许诺值,从而有效地防止不相关的用户将两个许诺值链接在一起,这进而防止不相关的用户将发证银行和受益人银行链接在一起。
受益人银行还可基于单向函数生成贷款许诺CMLOAN。在一些实施例中,CMLOAN可以被计算为(PKBB,VLOAN,DLOAN,IDSBLC,TNLOAN,RLOAN)的哈希值,其中,PKBB可以表示受益人银行(BB)的公钥,VLOAN可以表示贷款的未付金额,并且DLOAN可以表示贷款中包含的某些信息的哈希值,包括例如借款方的身份、发布日期、到期日期、参考文档、贷款的其他条款和条件等。IDSBLC可以表示能够用于识别SBLC的标识,TNLOAN可以表示由受益人银行生成的能够用于稍后使CMLOAN无效的令牌号,RLOAN可以表示由受益人银行生成的用于进一步保护包含在CMLOAN中的信息的随机因子。
在步骤310,受益人银行还可生成零知识证明,表示为πLOAN,向区块链证明受益人银行已经发布了由SBLC担保的贷款。在一些实施例中,受益人银行可生成πLOAN,此时受益人银行已经确定:(1)CMSBLC、CMLOAN、和良好形成(即,正确地计算许诺值),(2)CMSBLC被记录在SBLC许诺池(例如,Merkle树TSBLC)中,(3)和(4)以及(5)受益人银行拥有其私钥SKBB和PKBB=h(SKBB)。
在一些实施例中,受益人银行和区块链可以同意实现上述零知识证明技术。例如,受益人银行可以向区块链证明受益人银行知道秘密输入,使得对于公共输入x,x和w之间的某种关系保持为真。在一些实施例中,受益人银行可设置x为包含TNSBLC、CMLOAN和的值,并设置w为基于CMSBLC、PKIB、PKBB,IDSBLC、DSBLC、DLOAN、VREMAIN、VSUM、VLOAN、TNSBLC、TNLOAN、RSBLC、RLOAN和SKBB生成的值。以这种方式,受益人银行可以能够生成零知识证明πLOAN以向区块链证明受益人银行拥有秘密输入w。在一些实施例中,如果区块链接受了受益人银行证明受益人银行拥有秘密输入w,则区块链可接受受益人银行的声明为真。
在步骤314,区块链可利用智能合约来检查包含在有效载荷中的TNSBLC是否已经被使用或花费。在一些实施例中,智能合约可在区块链上维护已用令牌列表以记录使用的令牌。如果包含在有效载荷中的TNSBLC被列在已用令牌列表中,则智能合约可拒绝进一步进行,因为受益人银行正在尝试使用已经被使用的令牌。另一方面,如果有效载荷中包含的TNSBLC未在已用令牌列表中列出,则智能合约可以继续验证πLOAN是否可接受。智能合约可以使用公共输入和验证密钥来验证πLOAN。
如果πLOAN可以被验证,则智能合约可以确定πLOAN是可接受的并且继续将记录在SBLC许诺池中(如上所述)并将CMLOAN记录在贷款许诺池中。在一些实施例中,贷款许诺池可以被构造为Merkle树TLOAN,并且CMLOAN可以记录在Merkle树TLOAN的叶节点上。智能合约还可以添加TNSBLC到已用令牌列表以指示TNSBLC已经被使用,从而使TNSBLC(并且因此无效CMSBLC)无效以供将来使用。以这种方式,可以成为SBLC的最近记录的SBLC许诺,并且因此可以在后续步骤被称为CMSBLC。而且,以这种方式,可以使用方法300验证关于SBLC和针对SBLC发布的贷款的信息并将其记录在区块链上,而不向公众揭示SBLC的细节。
在一些实施例中,如果受益人银行向借款方发布另一贷款,则受益人银行可以重复步骤310-312,并且作为响应,区块链可以重复步骤314。
在一些实施例中,方法300可以包括被定义为促进在区块链上记录还款信息的附加步骤。例如,受益人银行可以在从借款方接收到还款时利用方法300来记录还款信息。可替换地,受益人银行可以利用方法300来根据时间表(例如,每月、每季度或每年)记录还款信息。
为了记录还款信息,在步骤316,受益人银行可以生成新贷款许诺以记录在区块链上,并请求区块链无效最近记录的贷款许诺CMLOAN。受益人银行还可以生成新SBLC许诺以记录在区块链上,并请求区块链无效最近记录的SBLC许诺CMSBLC(例如,先前在步骤310生成并在步骤314记录的SBLC许诺)。
受益人银行可以基于受益人银行用来生成CMLOAN的相同单向函数来生成如上所述,例如,受益人银行可以计算为的哈希值,其中,PKBB、Dloan和IDSBLC是相同的。受益人银行可以基于由借款方做出的还款来计算值。在一些实施例中,值可以减少还款金额VREPAYMENT,使得受益人银行还可以生成如上所述的和的新值。
受益人银行可以以与上述类似的方式生成如上所述,例如,受益人银行可以计算为的哈希值,其中,PKIB、PKBB、IDSBLC是相同的。受益人银行可以基于由借款方做出的还款计算和的值。在一些实施例中,当借款方偿还现有贷款时,值可以保持不变。另一方面,值可以减少还款金额VREPAYMENT,使得 受益人银行还可以生成如上所述的和的新值。
受益人银行可以通过向区块链呈现包含在CMLOAN中的令牌号TNLOAN来请求区块链无效CMLOAN。类似地,受益人银行可以通过向区块链呈现包含在CMSBLC中的令牌号TNSBLC来请求区块链无效CMSBLC。
在步骤316,受益人银行还可以生成零知识证明,表示为πREPAYMENT,以向区块链证明受益人银行已经接收到由SBLC担保的贷款的还款。在一些实施例中,受益人银行可以生成πREPAYMENT,此时已经确定:(1)CMSBLC、CMLOAN和良好形成,(2)CMSBLC被记录在SBLC许诺池(例如,Merkle树TSBLC)中,(3)CMLOAN被记录在贷款许诺池(例如,Merkle树TLOAN)中,(4) (5)以及(6)受益人银行拥有其私钥SKBB和PKBB=h(SKBB)。
在一些实施例中,受益人银行和区块链可以同意实现上述零知识证明技术。例如,受益人银行可以向区块链证明受益人银行知道秘密输入,使得对于公共输入x,x和w之间的某种关系保持为真。在一些实施例中,受益人银行可设置x为包含TNSBLC、和的值,并设置w为基于CMSBLC、CMLOAN、PKIB、PKBB、IDSBLC、DSBLC、DLOAN、VREMAIN、VSUM、VLOAN,、VREPAYMENT、TNSBLC、TNLOAN、RSBLC、RLOAN、和SKBB生成的值。以这种方式,受益人银行可以能够生成零知识证明πREPAYMENT以向区块链证明受益人银行拥有秘密输入w。在一些实施例中,如果区块链接受了受益人银行证明受益人银行拥有秘密输入w,则区块链可以接受受益人银行的声明为真。
在步骤320,区块链可以利用智能合约来检查有效载荷中包含的TNSBLC或TNLOAN是否已经被使用或已经被花费。如果有效载荷中包含的TNSBLC或TNLOAN已经被使用或已经被花费(例如,在已用令牌列表中列出),则智能合约可以拒绝进一步进行。另一方面,如果在已用令牌列表中既没有列出TNSBLC也没有列出TNLOAN,则智能合约可以继续验证πREPAYMENT是否可接受。智能合约可以使用公共输入和验证密钥来验证πREPAYMENT。如果πREPAYMENT可以被验证,则智能合约可以确定πREPAYMENT是可接受的并且继续将记录在SBLC许诺池中(如上所述)并将记录在贷款许诺池中(如上所述)。智能合约还可以添加TNSBLC和TNLOAN到已用令牌列表以指示TNSBLC和TNLOAN已经被使用,从而无效TNSBLC和TNLOAN并用于将来使用。以这种方式,和可以成为最近记录的SBLC许诺和贷款许诺,其可以在后续步骤中分别被称为CMSBLC和CMLOAN。而且,以这种方式,关于SBLC和由借款方进行的还款的信息可以使用方法300被验证并记录在区块链上,而不向公众揭示SBLC的细节。
在一些实施例中,受益人银行可以重复步骤316-318以在从借款方接收到还款时记录还款信息。可替换地,受益人银行可以重复步骤316-318以根据时间表(例如,每月、每季度或每年)记录还款信息。作为响应,区块链可以重复步骤320。
在一些实施例中,方法300还可以支持记录对SBLC进行的修改。在一些实施例中,仅发证银行可以具有修改SBLC中包含的某些信息的权限。这样的信息可以包括例如允许借款方借用的最大金额、允许借款方安排的贷款类型以及SBLC的到期日期。
在一些实施例中,当发证银行修改SBLC时,发证银行可以使用发证银行在步骤302生成CMSBLC的相同单向函数为修改的SBLC生成新SBLC许诺可生成新SBLC许诺从反映例如DSBLC中包含的修改值VREMAIN和其他值。受益人银行然后可以请求区块链记录新SBLC许诺并且使最近记录的SBLC许诺CMSBLC无效。以这种方式,可以有效地替换CMSBLC。
发证银行还可生成零知识证明πAMEND。在一些实施例中,发证银行可生成πAMEND,此时发证银行已经确定:(1)CMSBLC和良好形成(即,正确计算许诺值),(2)CMSBLC记录在SBLC许诺池(例如,Merkle树TSBLC)中,(3)发证银行拥有其私钥SKIB以及PKIB=h(SKIB)(4)PKIB、PKBB、IDSBLC和VSUM在CMSBLC和中相同。
然后,发证银行可以利用包含的有效载荷向区块链提交交易。此交易可称为“AMENDMENT”交易。区块链可利用智能合约来检查包含在有效载荷中的TNSBLC(即,与最近记录的SBLC许诺相关联的令牌)是否已经被使用或花费。如果包含在有效载荷中的TNSBLC被列在已用令牌列表中,则智能合约可以拒绝进一步进行。另一方面,如果有效载荷中包含的TNSBLC未在已用令牌列表中列出,则智能合约可以继续验证πAMEND是否可接受。
如果可以被验证,则智能合约可以确定其是可接受的并且继续记录在SBLC许诺池中(如上所述)。智能合约还可以添加到所已用令牌列表以指示其已经被使用,从而无效(并且因此无效)以供将来使用。以这种方式,可以成为修改的SBLC的最近记录的SBLC许诺。而且,以这种方式,可以使用方法300验证关于修改的SBLC的信息并将其记录在区块链上,而不向公众揭示修改的SBLC的细节。
在一些实施例中,方法300还可以支持记录SBLC的取消。在一些实施例中,只有发证银行可以具有取消SBLC的许可,只要没有针对SBLC的未付贷款(例如,VSUM=0)。在一些实施例中,如果SBLC具有记录在区块链上的对应SBLC许诺,则可以执行SBLC的取消的记录。在这种情况下,发证银行可以简单地请求区块链无效包含在CMSBLC中的令牌。然而,在一些实施例中,可能仍然需要发证银行生成零知识证明πCANCEL,以便执行此取消过程。
在一些实施例中,发证银行可以生成πCANCEL,此时发证银行已经确定:(1)CMSBLC良好形成(即,正确计算许诺值),(2)CMSBLC记录在SBLC许诺池(例如,Merkle树TSBLC)中,(3)发证银行拥有其私钥SKIB以及PKIB=h(SKIB),(4)包含在CMSBLC中的总贷款金额VSUM等于0。
然后,发证银行可以利用包含{TNSBLC,πCANCEL}的有效载荷向区块链提交交易。此交易可以被称为“CANCELLATION”交易。区块链可以利用智能合约来检查包含在有效载荷中的TNSBLC是否已经被使用或花费。如果包含在有效载荷中的TNSBLC被列在已用令牌列表中,则智能合约可以拒绝进一步进行。另一方面,如果有效载荷中包含的TNSBLC未在已用令牌列表中列出,则智能合约可以继续验证πCANCEL是否可接受。如果πCANCEL可以被验证,则智能合约可以确定πCANCEL是可接受的并且继续添加TNSBLC到已用令牌列表以指示TNSBLC已经被使用,从而无效TNSBLC(并且因此无效CMSBLC)以供将来使用。
应理解,虽然以上示例利用一个已用令牌列表来记录所有使用的令牌,但是这样的实施方式仅作为示例提供,并不意味着限制。在一些实施例中,可以利用一个已用令牌列表来记录为SBLC许诺生成的使用的令牌,并且可以利用单独的使用令牌列表来记录为贷款许诺生成的使用的令牌。应理解,也可以利用其他类型的数据结构来记录使用的令牌。此外,应理解,上述函数、变量和交易的声明仅作为示例呈现,并不意味着限制。
图4示出了根据实施例的用于管理SBLC的方法400的流程图。方法400可以由区块链系统中的一个或多个节点执行,例如区块链系统100中的节点102-110(图1)。区块链系统100中的节点102-110可以对区块链(例如,区块链120(图1))执行操作。在区块链120可以被实现为上述示例中的区块链。
在步骤402,节点(例如,节点102)可接收由第一用户提交的第一交易。第一用户可以是例如发证银行(图3),其是SBLC的发布方。第一交易可以包括上述“SBLC”交易(图3),其可以包括第一SBLC许诺CMSBLC和用于证明第一用户是SBLC的发布方的第一证明。如上所述,可以基于第一SBLC令牌来生成第一SBLC许诺CMSBLC。
在步骤404,节点102可确定第一证明πSBLC是否可接受。在一些实施例中,第一证明πSBLC可以是零知识证明。在一些实施例中,第一用户可以使用第一证明πSBLC来向节点102证明第一用户拥有上述秘密输入w。在一些实施例中,如果节点102确定第一证明是不可接受的,则节点102可以报告错误。另一方面,如果节点102确定第一证明是可接受的,则节点102可以将第一SBLC许诺CMSBLC记录在SBLC许诺池TSBLC中。
在步骤406,节点102可以接收由第二用户提交的第二交易。第二用户可以是例如受益人银行(图3),其发布由SBLC担保的贷款。第二交易可以包括第一SBLC令牌TNSBLC、第二SBLC许诺第一贷款许诺CMLOAN和第二证明πLOAN。如上所述,第二SBLC许诺可以基于第二SBLC令牌生成,并且第一贷款许诺CMLOAN可以基于第一贷款令牌TNLOAN生成。
在步骤408,节点102可以确定第一SBLC令牌TNSBLC是否有效以及第二证明πLOAN是否可接受。在一些实施例中,第二证明πLOAN可以是零知识证明。在一些实施例中,第二用户可以使用第二证明πLOAN来向节点102证明第二用户拥有上述秘密输入w。在一些实施例中,如果节点102确定第二证明是不可接受的,则节点102可以报告错误。另一方面,如果节点102确定第二证明是可接受的,则节点102可以将第二SBLC许诺记录在SBLC许诺池TLOAN中,将第一贷款许诺CMLOAN记录在贷款许诺池TLOAN中,并使第一SBLC令牌TNSBLC无效。以这种方式,可以成为SBLC的最近记录的SBLC许诺,并且因此可以在后续步骤中被称为CMSBLC。
在步骤410,节点102可以接收由第二用户提交的第三交易。第三交易可以包括第二SBLC令牌、第一贷款令牌、第三SBLC许诺、第二贷款许诺和用于证明第二用户已经收到由SBLC担保的贷款的还款的第三证明πREPAYMENT。在一些实施例中,第三SBLC许诺可以基于第三SBLC令牌生成,并且第二贷款许诺可以基于第二贷款令牌生成。
在步骤412处,节点102可以确定第二SBLC令牌和第一贷款令牌是否有效以及第三证明πREPAYMENT是否可接受。在一些实施例中,第三证明πREPAYMENT可以是零知识证明。在一些实施例中,第二用户可以使用第三证明πREPAYMENT来向节点102证明第二用户拥有上述秘密输入w。在一些实施例中,如果节点102确定第三证明πREPAYMENT是不可接受的,则节点102可以报告错误。另一方面,如果节点102确定第三证明πREPAYMENT是可接受的,则节点102可以将第三SBLC许诺记录在SBLC许诺池中,将第二贷款许诺记录在贷款许诺池中,并且使第二SBLC令牌和第一贷款令牌无效。
在一些实施例中,方法400还可以支持上述修改和取消交易的接收。例如,在步骤414,节点102可以接收由第一用户提交的修改交易。修改交易可以包括与最近记录的SBLC许诺相关联的SBLC令牌、经修改的SBLC许诺以及用于证明第一用户是SBLC的发布者的修改证明。节点102可以确定与最近记录的SBLC许诺相关联的SBLC令牌是否有效并且修改证明是否可接受。响应于确定与最近记录的SBLC许诺相关联的SBLC令牌有效并且修改证明是可接受的,节点102可以将经修改的SBLC许诺记录在SBLC许诺池中并且使与最近记录的SBLC许诺相关联的SBLC令牌无效。
在另一示例中,在步骤416,节点102可以从第一用户接收取消交易。取消交易可以包括与最近记录的SBLC许诺相关联的SBLC令牌和用于证明第一用户是SBLC的发布者的取消证明。节点102可以确定与最近记录的SBLC许诺相关联的SBLC令牌是否有效并且取消证明是否可接受。响应于确定与最近记录的SBLC许诺相关联的SBLC令牌有效并且取消证明是可接受的,节点102可以使与最近记录的SBLC许诺相关联的SBLC令牌无效。
图5是根据实施例的SBLC管理装置500的框图。装置500可以是软件过程的实施方式,并可对应于方法400(图4)。参考图5,装置500可以包括接收模块502、确定模块504、记录模块506和报告模块508。
接收模块502可以接收用户提交的交易并将接收到的交易提供给确定模块504,例如执行步骤402、406、410、414和416(图4)。确定模块504可以确定交易中包含的令牌是否仍然有效以及交易中包含的证明是否可接受,诸如执行步骤404、408、412、414和416(图4)。如果交易中包含的一个或多个令牌无效或交易中包含的证明不可接受,则确定模块504可以请求报告模块508报告错误;否则,确定模块504可以请求记录模块506记录交易并使交易中包含的令牌无效,如上所述。
上述模块中的每一个可以被实现为软件、或硬件、或软件和硬件的组合。例如,上述模块中的每一个可以使用执行存储在存储器中的指令的处理器来实现。此外,例如,上述模块中的每一个可使用一个或多个专用集成电路(ASIC)、数字信号处理器(DSP)、数字信号处理装置(DSPD)、可编程逻辑装置(PLD)、现场可编程门阵列(FPGA)、控制器、微控制器、微处理器或其它电子组件来实施,以用于执行所描述的方法。此外,例如,上述模块中的每一个可以通过使用计算机芯片或实体来实现,或者通过使用具有特定功能的产品来实现。在一个实施例中,装置500可以是计算机,并且所述计算机可以是个人计算机、膝上型计算机、蜂窝电话、相机电话、智能电话、个人数字助理、媒体播放器、导航设备、电子邮件接收和发送设备、游戏控制台、平板计算机、可穿戴设备或这些设备的任何组合。
对于装置500中的每个模块的功能和作用的实现过程,可以参考上述方法中的对应步骤。为简单起见,此处省略细节。
在一些实施例中,计算机程序产品可以包括非暂时性计算机可读存储介质,其上具有用于使处理器执行上述方法的计算机可读程序指令。
计算机可读存储介质可以是可存储由指令执行设备使用的指令的有形设备。计算机可读存储介质例如可以是但不限于电存储设备、磁存储设备、光存储设备、电磁存储设备、半导体存储设备或者上述任意合适的组合。计算机可读存储介质的更具体示例的非穷举列表包括:便携式计算机盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM)、静态随机存取存储器(SRAM)、便携式压缩盘只读存储器(CD-ROM)、数字多功能盘(DVD)、记忆棒、软盘、机械编码设备(例如,其上记录有指令的打孔卡或凹槽内凸起结构)以及上述任意合适的组合。
用于执行上述方法的计算机可读程序指令可以是汇编指令、指令集架构(ISA)指令、机器指令、机器相关指令、微代码、固件指令、状态设置数据、或者以一种或多种编程语言(包括面向对象的编程语言和常规过程编程语言)的任何组合编写的源代码或目标代码。计算机可读程序指令可以完全在计算设备上作为独立软件包执行,或者部分在第一计算设备上并且部分在远离第一计算设备的第二计算设备上执行。在后者的情形中,第二远程计算设备可通过任意种类的网络(包括局域网(LAN)或广域网(WAN))连接到第一计算设备。
计算机可读程序指令可以被提供至通用或专用计算机或其他可编程数据处理装置的处理器以产生机器,使得经由计算机或其他可编程数据处理装置的处理器执行的指令创建用于实现上述方法的装置。
附图中的流程图和图示示出了根据本说明书的各种实施例的设备、方法和计算机程序产品的可能实施方式的架构、功能和操作。在这点上,流程图或图示中的方框可表示软件程序、代码段或代码的一部分,其包括用于实现特定功能的一个或多个可执行指令。也应注意,在一些备选实施方式中,方框中所标注的功能也可以以不同于图中所标注的顺序发生。例如,连续示出的两个方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这取决于所涉及的功能。也要注意,图示和/或流程图的每个方框、以及图示和流程图中的方框的组合,可以通过执行指定的功能或动作的专用的基于硬件的系统来实现,或者可以通过专用硬件与计算机指令的组合来实现。
应理解,为了清楚起见,在单独实施例的上下文中描述的本说明书的某些特征也可以在单个实施例中组合提供。相反,为了简洁起见,在单个实施例的上下文中描述的本说明书的各种特征也可以单独地或以任何合适的子组合或在本说明书的任何其他描述的实施例中合适地提供。在各种实施例的上下文中描述的某些特征不是那些实施例的基本特征,除非如此指出。
尽管已经结合具体实施例描述了本说明书,但是许多替代、修改和变化对于本领域技术人员将是显而易见的。因此,随附权利要求包含落入权利要求的术语内的所有这样的替代、修改和变化。
Claims (15)
1.一种计算机实现的用于管理备用信用证SBLC的方法,所述方法包括:
从第一用户接收第一交易,所述第一交易包括第一备用信用证许诺和用于证明所述第一用户是所述备用信用证的发布者的第一证明,所述第一备用信用证许诺是基于第一备用信用证令牌生成;
响应于确定所述第一证明是可接受的,将所述第一备用信用证许诺记录在备用信用证许诺池中;
从第二用户接收第二交易,所述第二交易包括所述第一备用信用证令牌、第二备用信用证许诺、第一贷款许诺和用于证明所述第二用户已发布由所述备用信用证担保的贷款的第二证明,所述第二备用信用证许诺是基于第二备用信用证令牌生成,所述第一贷款许诺是基于第一贷款令牌生成;以及
响应于确定所述第一备用信用证令牌有效并且所述第二证明是可接受的,将所述第二备用信用证许诺记录在所述备用信用证许诺池中,将所述第一贷款许诺记录在贷款许诺池中,并使所述第一备用信用证令牌无效。
2.根据权利要求1所述的方法,其中,所述方法由区块链系统中的一个或多个节点执行。
3.根据任一前述权利要求所述的方法,还包括以下之一:
响应于确定所述第一证明是不可接受的,报告错误;或
响应于确定所述第一备用信用证令牌无效或所述第二证明是不可接受的,报告错误。
4.根据任一前述权利要求所述的方法,其中,所述第一备用信用证许诺、所述第二备用信用证许诺和所述第一贷款许诺中的每一个都是以随机值生成的,以解除所述第一备用信用证许诺、所述第二备用信用证许诺和所述第一贷款许诺的关联性。
5.根据任一前述权利要求所述的方法,其中,所述第一备用信用证令牌是否有效是基于所述第一备用信用证令牌是否列在已用令牌列表中来确定的。
6.根据任一前述权利要求所述的方法,还包括:
从所述第二用户接收第三交易,所述第三交易包括所述第二备用信用证令牌、所述第一贷款令牌、第三备用信用证许诺、第二贷款许诺和用于证明所述第二用户已接收到由所述备用信用证担保的所述贷款的还款的第三证明,所述第三备用信用证许诺是基于第三备用信用证令牌生成,所述第二贷款许诺是基于第二贷款令牌生成;以及
响应于确定所述第二备用信用证令牌和所述第一贷款令牌有效并且所述第三证明是可接受的,将所述第三备用信用证许诺记录在所述备用信用证许诺池中,将所述第二贷款许诺记录在所述贷款许诺池中,并使所述第二备用信用证令牌和所述第一贷款令牌无效。
7.根据权利要求6所述的方法,还包括:
响应于确定所述第二备用信用证令牌无效、第一贷款令牌无效或所述第三证明是不可接受的,报告错误。
8.根据任一前述权利要求的方法,还包括:
从所述第一用户接收修改交易,所述修改交易包括与最近记录的备用信用证许诺相关联的备用信用证令牌、经修改的备用信用证许诺和用于证明所述第一用户是所述备用信用证的发布者的修改证明;以及
响应于确定与所述最近记录的备用信用证许诺相关联的所述备用信用证令牌有效并且所述修改证明是可接受的,将所述经修改的备用信用证许诺记录在所述备用信用证许诺池中,并使与所述最近记录的备用信用证许诺相关联的备用信用证令牌无效。
9.根据权利要求8所述的方法,还包括:
响应于确定与所述最近记录的备用信用证许诺相关联的所述备用信用证令牌无效或所述修改证明是不可接受的,报告错误。
10.根据任一前述权利要求所述的方法,还包括:
从所述第一用户接收取消交易,所述取消交易包括与最近记录的备用信用证许诺相关联的所述备用信用证令牌和用于证明所述第一用户是所述备用信用证的发布者的取消证明;以及
响应于确定与所述最近记录的备用信用证许诺相关联的所述备用信用证令牌有效并且所述取消证明是可接受的,使与所述最近记录的备用信用证许诺相关联的所述备用信用证令牌无效。
11.根据权利要求10所述的方法,还包括:
响应于确定与所述最近记录的备用信用证许诺相关联的所述备用信用证令牌无效或所述取消证明是不可接受的,报告错误。
12.根据任一前述权利要求所述的方法,其中,所述证明是零知识证明。
13.一种用于管理备用信用证SBLC的设备,包括:
一个或多个处理器;以及
一个或多个计算机可读存储器,耦接至所述一个或多个处理器并且其上存储有指令,所述指令能够由所述一个或多个处理器执行以执行权利要求1至12中任一项所述的方法。
14.一种用于管理备用信用证SBLC的装置,所述装置包括用于执行权利要求1至12中任一项所述的方法的多个模块。
15.一种非暂时性计算机可读介质,其中存储有指令,所述指令在由设备的处理器执行时使所述设备执行权利要求1至12中任一项所述的方法。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
SG10202000208R | 2020-01-09 | ||
SG10202000208RA SG10202000208RA (en) | 2020-01-09 | 2020-01-09 | Methods and devices for managing standby letter of credit |
PCT/CN2020/139733 WO2021139543A1 (en) | 2020-01-09 | 2020-12-26 | Methods and devices for managing standby letter of credit |
Publications (1)
Publication Number | Publication Date |
---|---|
CN114930373A true CN114930373A (zh) | 2022-08-19 |
Family
ID=70615302
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202080092600.9A Pending CN114930373A (zh) | 2020-01-09 | 2020-12-26 | 用于管理备用信用证的方法和设备 |
Country Status (3)
Country | Link |
---|---|
CN (1) | CN114930373A (zh) |
SG (1) | SG10202000208RA (zh) |
WO (1) | WO2021139543A1 (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
SG10202000208RA (en) * | 2020-01-09 | 2020-03-30 | Alipay Labs Singapore Pte Ltd | Methods and devices for managing standby letter of credit |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2018175246A1 (en) * | 2017-03-19 | 2018-09-27 | TokenID, Inc. | Apparatus and method for payment authorization and authentication based tokenization |
CN108764896B (zh) * | 2018-04-04 | 2020-10-30 | 创新先进技术有限公司 | 一种信用卡支付处理方法及装置 |
CN109035000A (zh) * | 2018-06-15 | 2018-12-18 | 杭州复杂美科技有限公司 | 一种基于区块链的担保借款方法及系统、设备和存储介质 |
CN109981646B (zh) * | 2019-03-26 | 2021-06-29 | 创新先进技术有限公司 | 基于区块链的资源转移方法及装置和电子设备 |
SG10202000208RA (en) * | 2020-01-09 | 2020-03-30 | Alipay Labs Singapore Pte Ltd | Methods and devices for managing standby letter of credit |
-
2020
- 2020-01-09 SG SG10202000208RA patent/SG10202000208RA/en unknown
- 2020-12-26 CN CN202080092600.9A patent/CN114930373A/zh active Pending
- 2020-12-26 WO PCT/CN2020/139733 patent/WO2021139543A1/en active Application Filing
Also Published As
Publication number | Publication date |
---|---|
WO2021139543A1 (en) | 2021-07-15 |
SG10202000208RA (en) | 2020-03-30 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11637709B2 (en) | Split-key wallet access between blockchains | |
CN110692228B (zh) | 基于区块链中智能合约保护交易活动敏感数据的方法和设备 | |
US20220277307A1 (en) | Systems and methods for personal identification and verification | |
US11954228B2 (en) | Systems and methods for providing identity verification services | |
JP2023134800A (ja) | 分散協調を用いるスマートコントラクトの実行 | |
US20180075422A1 (en) | Financial management systems and methods | |
EP3912118A1 (en) | Identity management, smart contract generator, and blockchain mediating system, and related methods | |
CN111418184B (zh) | 基于区块链的可信保函 | |
CN111373431A (zh) | 基于区块链的可信保函 | |
US20220311611A1 (en) | Reputation profile propagation on blockchain networks | |
CN111417945A (zh) | 基于区块链的可信保函 | |
CN111433799A (zh) | 基于区块链的可信保函 | |
CN111433798A (zh) | 基于区块链的可信保函 | |
Goharshady et al. | Secure credit reporting on the blockchain | |
WO2021139391A1 (en) | Methods and devices for mitigating invoice financing fraud | |
CN114930373A (zh) | 用于管理备用信用证的方法和设备 | |
WO2021139544A1 (en) | Methods and devices for mitigating invoice financing fraud | |
CN114846765B (zh) | 提供去中心化身份验证的方法和设备 | |
WO2021223653A1 (en) | Methods and devices for protecting and verifying state transition of record | |
CN114930372A (zh) | 促进拆分票据融资的方法和设备 | |
Senthilkumar | Data confidentiality, integrity, and authentication | |
WO2021223661A1 (en) | Methods and devices for protecting and verifying state information of record | |
US20220036355A1 (en) | Methods and devices for privacy-preserving verification of profit-sharing between users | |
US20240104521A1 (en) | System and method for compliance-enabled digitally represented assets | |
CN115660679A (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 |