CN109285066B - 一种基于银行业务流的智能合约生成与执行的方法 - Google Patents
一种基于银行业务流的智能合约生成与执行的方法 Download PDFInfo
- Publication number
- CN109285066B CN109285066B CN201810999371.3A CN201810999371A CN109285066B CN 109285066 B CN109285066 B CN 109285066B CN 201810999371 A CN201810999371 A CN 201810999371A CN 109285066 B CN109285066 B CN 109285066B
- Authority
- CN
- China
- Prior art keywords
- event
- intelligent contract
- channel
- stack
- code
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q40/00—Finance; Insurance; Tax strategies; Processing of corporate or income taxes
- G06Q40/02—Banking, e.g. interest calculation or account maintenance
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q20/00—Payment architectures, schemes or protocols
- G06Q20/38—Payment protocols; Details thereof
- G06Q20/382—Payment protocols; Details thereof insuring higher security of transaction
- G06Q20/3825—Use of electronic signatures
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q20/00—Payment architectures, schemes or protocols
- G06Q20/38—Payment protocols; Details thereof
- G06Q20/382—Payment protocols; Details thereof insuring higher security of transaction
- G06Q20/3829—Payment protocols; Details thereof insuring higher security of transaction involving key management
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q40/00—Finance; Insurance; Tax strategies; Processing of corporate or income taxes
- G06Q40/04—Trading; Exchange, e.g. stocks, commodities, derivatives or currency exchange
Landscapes
- Business, Economics & Management (AREA)
- Engineering & Computer Science (AREA)
- Accounting & Taxation (AREA)
- Finance (AREA)
- Physics & Mathematics (AREA)
- Strategic Management (AREA)
- General Business, Economics & Management (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Development Economics (AREA)
- Economics (AREA)
- Marketing (AREA)
- Technology Law (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本发明提供一种基于银行业务流的智能合约生成与执行的方法,包括步骤S1、对各参与方角色进行身份登记和验证,并颁发相应的证书;步骤S2、各参与方角色通过客户端订阅至少一通道服务,并监听订阅通道上的广播消息;步骤S3、由事件发起方发起业务事件,并构建智能合约码和触发码;步骤S4、通过智能合约码和触发码来触发执行业务事件的相关操作,并更新状态值。本发明还提供一种基于银行业务流的智能合约生成与执行的系统。本发明优点:解决了传统银行业务流耗时长、审批慢、流程复杂等问题,有效提高了业务办理的效率;而且可以保证交易的完整性和数据的安全性。
Description
技术领域
本发明涉及金融区块链领域,特别涉及一种基于银行业务流的智能合约生成与执行的方法。
背景技术
传统银行等金融机构的银行业务流往往具有较多的业务管理环节以及较长的流程周期,因此,通常每一笔交易从发起到结束都需要经过多个业务系统、多个用户角色配合才能够完成,导致了传统银行业务流耗时长、审批慢、流程复杂等问题,这不仅极大的降低了业务办理的效率,也给有效监管带来了一定的挑战。
目前,针对银行业务流的管理系统更多的是关注银行业务中单个业务的管理。例如,公开号为106682983A,公开日为2017-05-17的中国发明专利公开了一种基于智能合约的贷款管理系统及方法,包括:智能合约生成模块,用于对贷款合约的条款进行设置并生成智能合约;智能合约执行模块,用于根据贷款合约条款中设定的状态条件对借贷方的账户进行实时跟踪;智能合约记录模块,采用区块链记录智能合约的计算机执行代码及智能合约执行过程中产生的数据更新,进而有效监控借贷资金的流向和贷款人的资金流水情况。又如,公开号为105976231A,公开日为2016-09-28的中国发明专利公开了一种基于区块链智能合约的资产管理方法,区块链的所有节点上保存相同的智能合约,方法包括:第一节点生成资产交易请求,并在区块链中广播资产交易请求;记账节点接收到资产交易请求后确认交易并生成第一区块数据,在区块链中广播第一区块数据,对于区块链中的每一个节点,根据接收到的第一区块数据包含的执行第一智能合约的交易请求完成交易过程,能够有效解决基于中心化节点进行资产交易带来的交易逻辑不透明等问题。再如,公开号为107516214A,公开日为2017-12-26的中国发明专利公开了一种基于区块链的信用卡防盗刷方法,该方法包括使用区块链记录所有交易记录,信用卡发行方即建立原始区块;发行方对每一张信用卡标记出一对唯一的公钥与私钥,每一个公钥标记唯一信用卡,持卡人可对私钥进行修改;每次消费交易记录首先都会向全网广播;持卡人若对消费记录不存在异议,则写进区块链,触发智能合约向卖家进行转账;该方法可确保存在于区块链上每一笔消费记录都是为本人消费,区块链上的数据不会被人为地篡改,因而能有效地阻止盗刷。因此,现有对银行业务流的管理技术主要存在以下缺陷:1、仅注重对银行业务中的单个业务种类的流程进行优化,而无法对通用的银行业务流程进行全流程管理,其适用场景有限,无法从根本上解决传统银行业务流耗时长、审批慢、流程复杂等问题;2、针对银行业务的高安全性和用户信息隐私等要求,并未有明确的解决方案,这使得数据的隐私性无法得到保障。
发明内容
本发明要解决的技术问题之一,在于提供一种基于银行业务流的智能合约生成与执行的方法,通过该方法能够传统银行存在的业务流耗时长、审批慢、流程复杂等问题,同时可保证数据的隐私性。
本发明是这样实现技术问题之一的:一种基于银行业务流的智能合约生成与执行的方法,所述方法包括如下步骤:
步骤S1、对各参与方角色进行身份登记和验证,并颁发相应的证书;
步骤S2、各参与方角色通过客户端订阅至少一通道服务,并监听订阅通道上的广播消息;
步骤S3、由事件发起方发起业务事件,并构建智能合约码和触发码;
步骤S4、通过智能合约码和触发码来触发执行业务事件的相关操作,并更新状态值。
进一步地,所述步骤S2具体包括:
步骤S21、创建客户端与各参与方角色之间连接通信的通道;
步骤S22、各参与方角色利用自身的客户端,通过调用API接口订阅至少一通道服务,并监听所订阅的通道上的广播消息。
进一步地,所述智能合约码为三元组(Operations,event,PublicKeys),其中,Operations表示智能合约将要执行的操作和对应交易,event为带事件发起方私钥数字签名的事件描述,PublicKeys为事件审批方的公钥;
所述触发码为二元组(event,Sigora),其中,event为带事件发起方私钥数字签名的事件描述,Sigora为带事件审批方私钥数字签名的事件审批断言结果。
进一步地,所述步骤S3具体为:
在事件发起方发起业务事件时,根据业务事件的定义和审批流程,从左至右依次组装相关操作和对应交易、带事件发起方私钥数字签名的事件描述以及所有事件审批方的公钥,从而构建出智能合约码;
根据业务事件在审批过程中流经的审批节点,从左至右先组装带事件发起方私钥数字签名的事件描述,再按照流经的审批节点的顺序一一组装带事件审批方私钥数字签名的事件审批断言结果,从而构建出触发码。
进一步地,所述步骤S4具体包括:
步骤S41、将智能合约码中的元素从左至右依次弹入到第一堆栈中,将触发码中的元素从左至右依次弹入到第二堆栈中;
步骤S42、将智能合约码安装到事件发起方所对应的客户端中,并广播到该客户端所订阅的通道中等待共识;
步骤S43、在通道上所有的客户端均达成共识后,将第一堆栈和第二堆栈中的所有元素均按顺序弹出,并先利用第一堆栈中各个事件审批方的公钥来验证第二堆栈中各个带事件审批方私钥数字签名的事件审批断言结果,且如果所有带事件审批方私钥数字签名的事件审批断言结果均验证通过,则执行步骤S44;如果存在有带事件审批方私钥数字签名的事件审批断言结果验证未通过,则结束流程;
步骤S44、对第一堆栈和第二堆栈中的带事件发起方私钥数字签名的事件描述进行比对,且如果比对结果一致,则执行步骤S45;如果比对结果不一致,则结束流程;
步骤S45、触发执行从第一堆栈中弹出的业务事件的相关操作,相关操作的对应交易调用API接口修改状态值,并广播到订阅的通道中等待共识,且在通道上所有的客户端均达成共识后,将对应交易记录到区块链中。
本发明要解决的技术问题之二,在于提供一种基于银行业务流的智能合约生成与执行的系统,通过该系统能够传统银行存在的业务流耗时长、审批慢、流程复杂等问题,同时可保证数据的隐私性。
本发明是这样实现技术问题之二的:一种基于银行业务流的智能合约生成与执行的系统,所述系统包括会员身份认证模块、通道订阅模块、智能合约码和触发码构建模块以及操作触发模块;
所述会员身份服务模块,用于对各个参与方角色进行身份登记和验证,并颁发相应的证书;
所述通道订阅模块,用于各参与方角色通过客户端订阅至少一通道服务,并监听订阅通道上的广播消息;
所述智能合约码和触发码构建模块,用于由事件发起方发起业务事件,并构建智能合约码和触发码;
所述操作触发模块,用于通过智能合约码和触发码来触发执行业务事件的相关操作,并更新状态值。
进一步地,所述通道订阅模块具体包括通道创建单元以及订阅单元;
所述通道创建单元,用于创建客户端与各参与方角色之间连接通信的通道;
所述订阅单元,用于各参与方角色利用自身的客户端,通过调用API接口订阅至少一通道服务,并监听所订阅的通道上的广播消息。
进一步地,所述智能合约码为三元组(Operations,event,PublicKeys),其中,Operations表示智能合约将要执行的操作和对应交易,event为带事件发起方私钥数字签名的事件描述,PublicKeys为事件审批方的公钥;
所述触发码为二元组(event,Sigora),其中,event为带事件发起方私钥数字签名的事件描述,Sigora为带事件审批方私钥数字签名的事件审批断言结果。
进一步地,所述智能合约码和触发码构建模块具体为:
在事件发起方发起业务事件时,根据业务事件的定义和审批流程,从左至右依次组装相关操作和对应交易、带事件发起方私钥数字签名的事件描述以及所有事件审批方的公钥,从而构建出智能合约码;
根据业务事件在审批过程中流经的审批节点,从左至右先组装带事件发起方私钥数字签名的事件描述,再按照流经的审批节点的顺序一一组装带事件审批方私钥数字签名的事件审批断言结果,从而构建出触发码。
进一步地,所述操作触发模块具体包括入栈单元、共识单元、第一校验单元、第二校验单元以及触发单元;
所述入栈单元,用于将智能合约码中的元素从左至右依次弹入到第一堆栈中,将触发码中的元素从左至右依次弹入到第二堆栈中;
所述共识单元,用于将智能合约码安装到事件发起方所对应的客户端中,并广播到该客户端所订阅的通道中等待共识;
所述第一校验单元,用于在通道上所有的客户端均达成共识后,将第一堆栈和第二堆栈中的所有元素均按顺序弹出,并先利用第一堆栈中各个事件审批方的公钥来验证第二堆栈中各个带事件审批方私钥数字签名的事件审批断言结果,且如果所有带事件审批方私钥数字签名的事件审批断言结果均验证通过,则执行所述第二校验单元;如果存在有带事件审批方私钥数字签名的事件审批断言结果验证未通过,则结束流程;
所述第二校验单元,用于对第一堆栈和第二堆栈中的带事件发起方私钥数字签名的事件描述进行比对,且如果比对结果一致,则执行所述触发单元;如果比对结果不一致,则结束流程;
所述触发单元,用于触发执行从第一堆栈中弹出的业务事件的相关操作,相关操作的对应交易调用API接口修改状态值,并广播到订阅的通道中等待共识,且在通道上所有的客户端均达成共识后,将对应交易记录到区块链中。
本发明具有如下优点:
1、通过引入智能合约,根据实际业务事件流程来生成对应的智能合约码和触发码,且在满足一定的业务条件时,触发码就会触发智能合约码的执行,因此,解决了传统银行业务流耗时长、审批慢、流程复杂等问题,有效提高了业务办理的效率。
2、使用数字签名对银行业务流交易的事件和事件审批断言结果进行数字签名,不仅保证了交易的完整性,而且可防止事件发起方与审批方之间的抵赖以及任何第三方篡改,从而保证了数据的安全性。
3、采用智能合约双栈触发执行机制,使得不受信任的实体将无法通过观察分布式账户来获得有用的信息,从而有效的提高了银行业务流的流转效率。
附图说明
下面参照附图结合实施例对本发明作进一步的说明。
图1为本发明的整体框架图。
图2为本发明一种基于银行业务流的智能合约生成与执行的方法的执行流程图。
图3为本发明中智能合约码和触发码的生成和触发执行示意图。
图4为本发明中智能合约码的双栈触发执行的示意图。
具体实施方式
请参阅图1至图4所示,本发明一种基于银行业务流的智能合约生成与执行的方法的较佳实施例,本发明方法是基于区块链智能合约技术,通过整合连接各参与方角色,建设一个多用户角色参与和配合实现银行业务流的方案,如图1所示,该方案的整体构架包括各参与方角色、API接口、通道、共识服务、会员身份服务、客户端和区块链;其中,
客户端:维护区块链账本的网络节点,通过智能合约码实现区块链中各区块的账本管理、状态值更新等。每个客户端均连接到共识节点的一个或者多个通道。在通道上广播的交易按共识的顺序排列,加入通道的客户端接收到加密的区块后,会验证区块并提高到账本,然后向应用程序提供使用账本的服务。
API接口:银行业务流的各参与方角色通过调用该API接口与客户端进行通信。
通道:实现客户端与各参与方角色的连接通信,客户端可以选择加入一个或者多个通道,并且只能接收所加入通道的消息。每个通道都拥有一个账本,并共享给通道内的所有客户端。
共识服务:负责生成区块、对交易进行排序,并广播给客户端。
会员身份服务:为各参与方角色提供身份登记和验证。
区块链:区块链中的每一个区块(创始区块除外)均包含上一个区块的哈希值,从创始区块开始连接到当前区块形成区块链。
所述方法包括如下步骤:
步骤S1、对各参与方角色进行身份登记和验证,并颁发相应的证书,这样,各参与方角色才能被信任并且有权限参与交易;具体是通过会员身份服务来对各参与方角色进行身份登记和验证,并颁发相应的证书,其中,各参与方角色包括业务事件发起方、各个事件审批方、监管方等。
步骤S2、各参与方角色通过客户端订阅至少一通道服务,并监听订阅通道上的广播消息;
所述步骤S2具体包括:
步骤S21、创建客户端与各参与方角色之间连接通信的通道;
步骤S22、各参与方角色利用自身的客户端,通过调用API接口订阅至少一通道服务,并监听所订阅的通道上的广播消息。
步骤S3、由事件发起方发起业务事件,并构建智能合约码cc和触发码uc;
所述智能合约码cc为三元组(Operations,event,PublicKeys),其中,Operations表示智能合约将要执行的操作和对应交易,event为带事件发起方私钥数字签名的事件描述,PublicKeys为事件审批方的公钥;
所述触发码uc为二元组(event,Sigora),其中,event为带事件发起方私钥数字签名的事件描述,Sigora为带事件审批方私钥数字签名的事件审批断言结果。
所述步骤S3具体为:
在事件发起方发起业务事件时,根据业务事件的定义和审批流程,从左至右依次组装相关操作和对应交易、带事件发起方私钥数字签名的事件描述以及所有事件审批方的公钥,从而构建出智能合约码cc;
根据业务事件在审批过程中流经的审批节点,从左至右先组装带事件发起方私钥数字签名的事件描述,再按照流经的审批节点的顺序一一组装带事件审批方私钥数字签名的事件审批断言结果,从而构建出触发码uc。
由于在区块链的分布式网络里,网络节点之间进行通信并达成信任,需要依赖数字签名技术,它主要实现了身份确认以及消息的真实性、一致性、完整性验证,也就是说,有效的数字签名有下面两个作用:一是证明消息确实是由信息发送方签名发送的;二是确定消息的一致性和完整性。在本发明中通过使用数字签名对银行业务流交易的事件和事件审批断言结果进行数字签名,保证了交易的完整性,并可防止事件发起方与审批方之间的抵赖以及任何第三方篡改。
步骤S4、通过智能合约码cc和触发码uc来触发执行业务事件的相关操作,并更新状态值;
针对智能合约码cc和触发码uc,本发明方案中设计了一种智能合约双栈触发执行机制,使得不受信任的实体将无法通过观察分布式账户来获得有用的信息,从而有效的提高了银行业务流的流转效率。
所述步骤S4具体包括:
步骤S41、将智能合约码cc中的元素从左至右依次弹入到第一堆栈中,将触发码uc中的元素从左至右依次弹入到第二堆栈中;
步骤S42、将智能合约码cc安装到事件发起方所对应的客户端中,并广播到该客户端所订阅的通道中等待共识;
步骤S43、在通道上所有的客户端均达成共识后,将第一堆栈和第二堆栈中的所有元素均按顺序弹出,并先利用第一堆栈中各个事件审批方的公钥来验证第二堆栈中各个带事件审批方私钥数字签名的事件审批断言结果,且如果所有带事件审批方私钥数字签名的事件审批断言结果均验证通过,则执行步骤S44;如果存在有带事件审批方私钥数字签名的事件审批断言结果验证未通过,则结束流程;
步骤S44、对第一堆栈和第二堆栈中的带事件发起方私钥数字签名的事件描述进行比对,且如果比对结果一致,则执行步骤S45;如果比对结果不一致,则结束流程;
步骤S45、触发执行从第一堆栈中弹出的业务事件的相关操作,相关操作的对应交易调用API接口修改状态值,并广播到订阅的通道中等待共识,且在通道上所有的客户端均达成共识后,将对应交易记录到区块链中。
请重点参照图3和图4所示,例如,针对智能合约码cc和触发码uc,假设业务事件具有两个操作OP1和OP2,同时需要流经三个审批节点的事件event的智能合约码和相应的触发码为:
cc=((OP1,OP2),event,(P1,P2,P3));
那么,整个触发过程如下:
首先,将cc中的OP1、OP2、event、P1、P2、P3元素从左至右依次弹入到堆栈1中,将uc中的event、元素从左至右依次弹入到堆栈2中;同时,将cc安装到事件发起方所对应的客户端中,并广播到该客户端所订阅的通道中等待共识;
接着,在通道上所有的客户端均达成共识后,将堆栈1和堆栈2中的所有元素均按顺序弹出,并先利用堆栈1中三个事件审批方的公钥来验证堆栈2中三个带事件审批方私钥数字签名的事件审批断言结果,且在各带事件审批方私钥数字签名的事件审批断言结果均验证通过后,再对堆栈1和堆栈2中的带事件发起方私钥数字签名的事件描述进行比对;
最后,在事件审批断言结果验证和事件描述比对都通过后,触发执行从堆栈1中弹出的业务事件的操作OP1和OP2,操作OP1和OP2的对应交易调用API接口修改状态值,并广播到订阅的通道中等待共识,且在通道上所有的客户端均达成共识后,将对应交易记录到区块链中,完成事件发起方发起的交易过程。
请参阅图1、图3和图4所示,本发明一种基于银行业务流的智能合约生成与执行的系统,本发明系统是基于区块链智能合约技术,通过整合连接各参与方角色,建设一个多用户角色参与和配合实现银行业务流的方案,如图1所示,该方案的整体构架包括各参与方角色、API接口、通道、共识服务、会员身份服务、客户端和区块链;其中,
客户端:维护区块链账本的网络节点,通过智能合约码实现区块链中各区块的账本管理、状态值更新等。每个客户端均连接到共识节点的一个或者多个通道。在通道上广播的交易按共识的顺序排列,加入通道的客户端接收到加密的区块后,会验证区块并提高到账本,然后向应用程序提供使用账本的服务。
API接口:银行业务流的各参与方角色通过调用该API接口与客户端进行通信。
通道:实现客户端与各参与方角色的连接通信,客户端可以选择加入一个或者多个通道,并且只能接收所加入通道的消息。每个通道都拥有一个账本,并共享给通道内的所有客户端。
共识服务:负责生成区块、对交易进行排序,并广播给客户端。
会员身份服务:为各参与方角色提供身份登记和验证。
区块链:区块链中的每一个区块(创始区块除外)均包含上一个区块的哈希值,从创始区块开始连接到当前区块形成区块链。
所述系统包括会员身份认证模块、通道订阅模块、智能合约码和触发码构建模块以及操作触发模块;
所述会员身份服务模块,用于对各参与方角色进行身份登记和验证,并颁发相应的证书,这样,各参与方角色才能被信任并且有权限参与交易;具体是通过会员身份服务来对各参与方角色进行身份登记和验证,并颁发相应的证书,其中,各参与方角色包括业务事件发起方、各个事件审批方、监管方等。
所述通道订阅模块,用于各参与方角色通过客户端订阅至少一通道服务,并监听订阅通道上的广播消息;
所述通道订阅模块具体包括通道创建单元以及订阅单元;
所述通道创建单元,用于创建客户端与各参与方角色之间连接通信的通道;
所述订阅单元,用于各参与方角色利用自身的客户端,通过调用API接口订阅至少一通道服务,并监听所订阅的通道上的广播消息。
所述智能合约码和触发码构建模块,用于由事件发起方发起业务事件,并构建智能合约码cc和触发码uc;
所述智能合约码cc为三元组(Operations,event,PublicKeys),其中,Operations表示智能合约将要执行的操作和对应交易,event为带事件发起方私钥数字签名的事件描述,PublicKeys为事件审批方的公钥;
所述触发码uc为二元组(event,Sigora),其中,event为带事件发起方私钥数字签名的事件描述,Sigora为带事件审批方私钥数字签名的事件审批断言结果。
所述智能合约码和触发码构建模块具体为:
在事件发起方发起业务事件时,根据业务事件的定义和审批流程,从左至右依次组装相关操作和对应交易、带事件发起方私钥数字签名的事件描述以及所有事件审批方的公钥,从而构建出智能合约码cc;
根据业务事件在审批过程中流经的审批节点,从左至右先组装带事件发起方私钥数字签名的事件描述,再按照流经的审批节点的顺序一一组装带事件审批方私钥数字签名的事件审批断言结果,从而构建出触发码uc。
由于在区块链的分布式网络里,网络节点之间进行通信并达成信任,需要依赖数字签名技术,它主要实现了身份确认以及消息的真实性、一致性、完整性验证,也就是说,有效的数字签名有下面两个作用:一是证明消息确实是由信息发送方签名发送的;二是确定消息的一致性和完整性。在本发明中通过使用数字签名对银行业务流交易的事件和事件审批断言结果进行数字签名,保证了交易的完整性,并可防止事件发起方与审批方之间的抵赖以及任何第三方篡改。
所述操作触发模块,用于通过智能合约码cc和触发码uc来触发执行业务事件的相关操作,并更新状态值;
针对智能合约码cc和触发码uc,本发明方案中设计了一种智能合约双栈触发执行机制,使得不受信任的实体将无法通过观察分布式账户来获得有用的信息,从而有效的提高了银行业务流的流转效率。
所述操作触发模块具体包括入栈单元、共识单元、第一校验单元、第二校验单元以及触发单元;
所述入栈单元,用于将智能合约码中的元素从左至右依次弹入到第一堆栈中,将触发码中的元素从左至右依次弹入到第二堆栈中;
所述共识单元,用于将智能合约码安装到事件发起方所对应的客户端中,并广播到该客户端所订阅的通道中等待共识;
所述第一校验单元,用于在通道上所有的客户端均达成共识后,将第一堆栈和第二堆栈中的所有元素均按顺序弹出,并先利用第一堆栈中各个事件审批方的公钥来验证第二堆栈中各个带事件审批方私钥数字签名的事件审批断言结果,且如果所有带事件审批方私钥数字签名的事件审批断言结果均验证通过,则执行所述第二校验单元;如果存在有带事件审批方私钥数字签名的事件审批断言结果验证未通过,则结束流程;
所述第二校验单元,用于对第一堆栈和第二堆栈中的带事件发起方私钥数字签名的事件描述进行比对,且如果比对结果一致,则执行所述触发单元;如果比对结果不一致,则结束流程;
所述触发单元,用于触发执行从第一堆栈中弹出的业务事件的相关操作,相关操作的对应交易调用API接口修改状态值,并广播到订阅的通道中等待共识,且在通道上所有的客户端均达成共识后,将对应交易记录到区块链中。
请重点参照图3和图4所示,例如,针对智能合约码cc和触发码uc,假设业务事件具有两个操作OP1和OP2,同时需要流经三个审批节点的事件event的智能合约码和相应的触发码为:
cc=((OP1,OP2),event,(P1,P2,P3));
那么,整个触发过程如下:
首先,将cc中的OP1、OP2、event、P1、P2、P3元素从左至右依次弹入到堆栈1中,将uc中的event、元素从左至右依次弹入到堆栈2中;同时,将cc安装到事件发起方所对应的客户端中,并广播到该客户端所订阅的通道中等待共识;
接着,在通道上所有的客户端均达成共识后,将堆栈1和堆栈2中的所有元素均按顺序弹出,并先利用堆栈1中三个事件审批方的公钥来验证堆栈2中三个带事件审批方私钥数字签名的事件审批断言结果,且在各带事件审批方私钥数字签名的事件审批断言结果均验证通过后,再对堆栈1和堆栈2中的带事件发起方私钥数字签名的事件描述进行比对;
最后,在事件审批断言结果验证和事件描述比对都通过后,触发执行从堆栈1中弹出的业务事件的操作OP1和OP2,操作OP1和OP2的对应交易调用API接口修改状态值,并广播到订阅的通道中等待共识,且在通道上所有的客户端均达成共识后,将对应交易记录到区块链中,完成事件发起方发起的交易过程。
综上所述,本发明具有如下优点:
1、通过引入智能合约,根据实际业务事件流程来生成对应的智能合约码和触发码,且在满足一定的业务条件时,触发码就会触发智能合约码的执行,因此,解决了传统银行业务流耗时长、审批慢、流程复杂等问题,有效提高了业务办理的效率。
2、使用数字签名对银行业务流交易的事件和事件审批断言结果进行数字签名,不仅保证了交易的完整性,而且可防止事件发起方与审批方之间的抵赖以及任何第三方篡改,从而保证了数据的安全性。
3、采用智能合约双栈触发执行机制,使得不受信任的实体将无法通过观察分布式账户来获得有用的信息,从而有效的提高了银行业务流的流转效率。
虽然以上描述了本发明的具体实施方式,但是熟悉本技术领域的技术人员应当理解,我们所描述的具体的实施例只是说明性的,而不是用于对本发明的范围的限定,熟悉本领域的技术人员在依照本发明的精神所作的等效的修饰以及变化,都应当涵盖在本发明的权利要求所保护的范围内。
Claims (4)
1.一种基于银行业务流的智能合约生成与执行的方法,其特征在于:所述方法包括如下步骤:
步骤S1、对各参与方角色进行身份登记和验证,并颁发相应的证书;
步骤S2、各参与方角色通过客户端订阅至少一通道服务,并监听订阅通道上的广播消息;
步骤S3、由事件发起方发起业务事件,并构建智能合约码和触发码;
所述智能合约码为三元组(Operations,event,PublicKeys),其中,Operations表示智能合约将要执行的操作和对应交易,event为带事件发起方私钥数字签名的事件描述,PublicKeys为事件审批方的公钥;
所述触发码为二元组(event,Sigora),其中,event为带事件发起方私钥数字签名的事件描述,Sigora为带事件审批方私钥数字签名的事件审批断言结果;
步骤S4、通过智能合约码和触发码来触发执行业务事件的相关操作,并更新状态值;
所述步骤S3具体为:
在事件发起方发起业务事件时,根据业务事件的定义和审批流程,从左至右依次组装相关操作和对应交易、带事件发起方私钥数字签名的事件描述以及所有事件审批方的公钥,从而构建出智能合约码;
根据业务事件在审批过程中流经的审批节点,从左至右先组装带事件发起方私钥数字签名的事件描述,再按照流经的审批节点的顺序一一组装带事件审批方私钥数字签名的事件审批断言结果,从而构建出触发码;
所述步骤S4具体包括:
步骤S41、将智能合约码中的元素从左至右依次弹入到第一堆栈中,将触发码中的元素从左至右依次弹入到第二堆栈中;
步骤S42、将智能合约码安装到事件发起方所对应的客户端中,并广播到该客户端所订阅的通道中等待共识;
步骤S43、在通道上所有的客户端均达成共识后,将第一堆栈和第二堆栈中的所有元素均按顺序弹出,并先利用第一堆栈中各个事件审批方的公钥来验证第二堆栈中各个带事件审批方私钥数字签名的事件审批断言结果,且如果所有带事件审批方私钥数字签名的事件审批断言结果均验证通过,则执行步骤S44;如果存在有带事件审批方私钥数字签名的事件审批断言结果验证未通过,则结束流程;
步骤S44、对第一堆栈和第二堆栈中的带事件发起方私钥数字签名的事件描述进行比对,且如果比对结果一致,则执行步骤S45;如果比对结果不一致,则结束流程;
步骤S45、触发执行从第一堆栈中弹出的业务事件的相关操作,相关操作的对应交易调用API接口修改状态值,并广播到订阅的通道中等待共识,且在通道上所有的客户端均达成共识后,将对应交易记录到区块链中。
2.根据权利要求1所述的一种基于银行业务流的智能合约生成与执行的方法,其特征在于:所述步骤S2具体包括:
步骤S21、创建客户端与各参与方角色之间连接通信的通道;
步骤S22、各参与方角色利用自身的客户端,通过调用API接口订阅至少一通道服务,并监听所订阅的通道上的广播消息。
3.一种基于银行业务流的智能合约生成与执行的系统,其特征在于:所述系统包括会员身份认证模块、通道订阅模块、智能合约码和触发码构建模块以及操作触发模块;
所述会员身份服务模块,用于对各个参与方角色进行身份登记和验证,并颁发相应的证书;
所述通道订阅模块,用于各参与方角色通过客户端订阅至少一通道服务,并监听订阅通道上的广播消息;
所述智能合约码和触发码构建模块,用于由事件发起方发起业务事件,并构建智能合约码和触发码;
所述智能合约码为三元组(Operations,event,PublicKeys),其中,Operations表示智能合约将要执行的操作和对应交易,event为带事件发起方私钥数字签名的事件描述,PublicKeys为事件审批方的公钥;
所述触发码为二元组(event,Sigora),其中,event为带事件发起方私钥数字签名的事件描述,Sigora为带事件审批方私钥数字签名的事件审批断言结果;
所述操作触发模块,用于通过智能合约码和触发码来触发执行业务事件的相关操作,并更新状态值;
所述智能合约码和触发码构建模块具体为:
在事件发起方发起业务事件时,根据业务事件的定义和审批流程,从左至右依次组装相关操作和对应交易、带事件发起方私钥数字签名的事件描述以及所有事件审批方的公钥,从而构建出智能合约码;
根据业务事件在审批过程中流经的审批节点,从左至右先组装带事件发起方私钥数字签名的事件描述,再按照流经的审批节点的顺序一一组装带事件审批方私钥数字签名的事件审批断言结果,从而构建出触发码;
所述操作触发模块具体包括入栈单元、共识单元、第一校验单元、第二校验单元以及触发单元;
所述入栈单元,用于将智能合约码中的元素从左至右依次弹入到第一堆栈中,将触发码中的元素从左至右依次弹入到第二堆栈中;
所述共识单元,用于将智能合约码安装到事件发起方所对应的客户端中,并广播到该客户端所订阅的通道中等待共识;
所述第一校验单元,用于在通道上所有的客户端均达成共识后,将第一堆栈和第二堆栈中的所有元素均按顺序弹出,并先利用第一堆栈中各个事件审批方的公钥来验证第二堆栈中各个带事件审批方私钥数字签名的事件审批断言结果,且如果所有带事件审批方私钥数字签名的事件审批断言结果均验证通过,则执行所述第二校验单元;如果存在有带事件审批方私钥数字签名的事件审批断言结果验证未通过,则结束流程;
所述第二校验单元,用于对第一堆栈和第二堆栈中的带事件发起方私钥数字签名的事件描述进行比对,且如果比对结果一致,则执行所述触发单元;如果比对结果不一致,则结束流程;
所述触发单元,用于触发执行从第一堆栈中弹出的业务事件的相关操作,相关操作的对应交易调用API接口修改状态值,并广播到订阅的通道中等待共识,且在通道上所有的客户端均达成共识后,将对应交易记录到区块链中。
4.根据权利要求3所述的一种基于银行业务流的智能合约生成与执行的系统,其特征在于:所述通道订阅模块具体包括通道创建单元以及订阅单元;
所述通道创建单元,用于创建客户端与各参与方角色之间连接通信的通道;
所述订阅单元,用于各参与方角色利用自身的客户端,通过调用API接口订阅至少一通道服务,并监听所订阅的通道上的广播消息。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810999371.3A CN109285066B (zh) | 2018-08-30 | 2018-08-30 | 一种基于银行业务流的智能合约生成与执行的方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810999371.3A CN109285066B (zh) | 2018-08-30 | 2018-08-30 | 一种基于银行业务流的智能合约生成与执行的方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109285066A CN109285066A (zh) | 2019-01-29 |
CN109285066B true CN109285066B (zh) | 2020-12-08 |
Family
ID=65184234
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810999371.3A Active CN109285066B (zh) | 2018-08-30 | 2018-08-30 | 一种基于银行业务流的智能合约生成与执行的方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109285066B (zh) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109978681A (zh) * | 2019-03-20 | 2019-07-05 | 银清科技(北京)有限公司 | 人民币跨境业务核对的方法和装置 |
CN111130752A (zh) * | 2019-11-27 | 2020-05-08 | 成都四方伟业软件股份有限公司 | 一种基于区块链技术的数据安全传输方法及系统 |
CN112053261A (zh) * | 2020-08-07 | 2020-12-08 | 深圳区块大陆科技有限公司 | 在区块链上实现自由仲裁的一种方法 |
CN113849543B (zh) * | 2021-09-30 | 2022-07-12 | 北京荷月科技有限公司 | 一种对账信息查询系统、数据更新方法及对账查询方法 |
Citations (17)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105809062A (zh) * | 2016-03-01 | 2016-07-27 | 布比(北京)网络技术有限公司 | 一种合约构建、执行方法及装置 |
CN105976231A (zh) * | 2016-06-24 | 2016-09-28 | 深圳前海微众银行股份有限公司 | 基于区块链智能合约的资产管理方法及节点 |
CN106407430A (zh) * | 2016-09-27 | 2017-02-15 | 北京天德科技有限公司 | 一种基于阶段桶的复杂智能合约状态同步方法 |
CN106559211A (zh) * | 2016-11-22 | 2017-04-05 | 中国电子科技集团公司第三十研究所 | 一种区块链中隐私保护智能合约方法 |
CN106919419A (zh) * | 2017-02-03 | 2017-07-04 | 中钞信用卡产业发展有限公司北京智能卡技术研究院 | 区块链上的智能合约程序的更新方法及装置 |
CN107025559A (zh) * | 2017-01-26 | 2017-08-08 | 阿里巴巴集团控股有限公司 | 一种业务处理方法及装置 |
CN107103473A (zh) * | 2017-04-27 | 2017-08-29 | 电子科技大学 | 一种基于区块链的智能合约实现方法 |
CN107122993A (zh) * | 2017-04-24 | 2017-09-01 | 杭州趣链科技有限公司 | 一种基于区块链的通用积分系统 |
CN107203368A (zh) * | 2016-03-16 | 2017-09-26 | 蓝树荣 | 一种建立智能合约模型的方法 |
CN107248074A (zh) * | 2017-03-29 | 2017-10-13 | 阿里巴巴集团控股有限公司 | 一种基于区块链的业务处理方法及设备 |
CN107330701A (zh) * | 2017-07-28 | 2017-11-07 | 中链科技有限公司 | 植入智能合约的方法和设备 |
CN107341702A (zh) * | 2017-03-08 | 2017-11-10 | 阿里巴巴集团控股有限公司 | 一种业务处理的方法及装置 |
CN107688927A (zh) * | 2017-09-19 | 2018-02-13 | 中国银行股份有限公司 | 一种调用区块链上的智能合约的方法及系统 |
CN107705125A (zh) * | 2017-08-28 | 2018-02-16 | 杭州云象网络技术有限公司 | 一种基于区块链的支付标记化方法 |
CN108062672A (zh) * | 2017-12-07 | 2018-05-22 | 北京泛融科技有限公司 | 一种基于区块链智能合约的流程调度方法 |
CN108257000A (zh) * | 2018-02-26 | 2018-07-06 | 北京阿尔山金融科技有限公司 | 智能合约实现系统、方法及电子设备 |
CN108388989A (zh) * | 2018-02-26 | 2018-08-10 | 深圳智乾区块链科技有限公司 | 事务处理方法、系统及计算机可读存储介质 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10353463B2 (en) * | 2016-03-16 | 2019-07-16 | RaayonNova LLC | Smart contact lens with eye driven control system and method |
-
2018
- 2018-08-30 CN CN201810999371.3A patent/CN109285066B/zh active Active
Patent Citations (17)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105809062A (zh) * | 2016-03-01 | 2016-07-27 | 布比(北京)网络技术有限公司 | 一种合约构建、执行方法及装置 |
CN107203368A (zh) * | 2016-03-16 | 2017-09-26 | 蓝树荣 | 一种建立智能合约模型的方法 |
CN105976231A (zh) * | 2016-06-24 | 2016-09-28 | 深圳前海微众银行股份有限公司 | 基于区块链智能合约的资产管理方法及节点 |
CN106407430A (zh) * | 2016-09-27 | 2017-02-15 | 北京天德科技有限公司 | 一种基于阶段桶的复杂智能合约状态同步方法 |
CN106559211A (zh) * | 2016-11-22 | 2017-04-05 | 中国电子科技集团公司第三十研究所 | 一种区块链中隐私保护智能合约方法 |
CN107025559A (zh) * | 2017-01-26 | 2017-08-08 | 阿里巴巴集团控股有限公司 | 一种业务处理方法及装置 |
CN106919419A (zh) * | 2017-02-03 | 2017-07-04 | 中钞信用卡产业发展有限公司北京智能卡技术研究院 | 区块链上的智能合约程序的更新方法及装置 |
CN107341702A (zh) * | 2017-03-08 | 2017-11-10 | 阿里巴巴集团控股有限公司 | 一种业务处理的方法及装置 |
CN107248074A (zh) * | 2017-03-29 | 2017-10-13 | 阿里巴巴集团控股有限公司 | 一种基于区块链的业务处理方法及设备 |
CN107122993A (zh) * | 2017-04-24 | 2017-09-01 | 杭州趣链科技有限公司 | 一种基于区块链的通用积分系统 |
CN107103473A (zh) * | 2017-04-27 | 2017-08-29 | 电子科技大学 | 一种基于区块链的智能合约实现方法 |
CN107330701A (zh) * | 2017-07-28 | 2017-11-07 | 中链科技有限公司 | 植入智能合约的方法和设备 |
CN107705125A (zh) * | 2017-08-28 | 2018-02-16 | 杭州云象网络技术有限公司 | 一种基于区块链的支付标记化方法 |
CN107688927A (zh) * | 2017-09-19 | 2018-02-13 | 中国银行股份有限公司 | 一种调用区块链上的智能合约的方法及系统 |
CN108062672A (zh) * | 2017-12-07 | 2018-05-22 | 北京泛融科技有限公司 | 一种基于区块链智能合约的流程调度方法 |
CN108257000A (zh) * | 2018-02-26 | 2018-07-06 | 北京阿尔山金融科技有限公司 | 智能合约实现系统、方法及电子设备 |
CN108388989A (zh) * | 2018-02-26 | 2018-08-10 | 深圳智乾区块链科技有限公司 | 事务处理方法、系统及计算机可读存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN109285066A (zh) | 2019-01-29 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109285066B (zh) | 一种基于银行业务流的智能合约生成与执行的方法 | |
CN108876599B (zh) | 一种扶贫贷款管理系统 | |
US11323457B2 (en) | Network topology | |
US11809608B2 (en) | Methods and systems for using digital signatures to create trusted digital asset transfers | |
US10715531B2 (en) | Network topology | |
US20210194759A1 (en) | Changing a master node in a blockchain system | |
CN111133463A (zh) | 使用分布式协调的智能合约执行 | |
US11108566B2 (en) | Methods and systems for using digital signatures to create trusted digital asset transfers | |
US11429592B2 (en) | Systems and methods for recording data representing multiple interactions | |
CN109949033A (zh) | 一种基于区块链的安全交易系统及方法 | |
CN106878000A (zh) | 一种联盟链共识方法及系统 | |
CN109636599A (zh) | 基于群签名的许可区块链隐私保护和监管方法 | |
CN109741068B (zh) | 网银跨行签约方法、装置及系统 | |
US20210174360A1 (en) | Blockchain system | |
CN110751468A (zh) | 用于区块链扩展的多向状态通道方法、系统及介质 | |
CN110070362A (zh) | 一种使用国密算法的金融行业区块链交易系统 | |
CN109743182B (zh) | 基于区块链的智能合约核准方法及系统 | |
CN111861477A (zh) | 基于区块链的交易后数据处理方法、装置和计算机设备 | |
CN111461712A (zh) | 区块链供应链金融场景下的交易隐私保护和分层监管 | |
CN109102404A (zh) | 区块链实名通信的隐私保护方法和系统 | |
CN111626859B (zh) | 物资管控系统 | |
CN112232828A (zh) | 一种电网数据交易方法、系统 | |
CN110321730A (zh) | 一种操作数据处理的方法、区块链节点及存储介质 | |
CN109067808A (zh) | 基于社会关系担保实现区块链实名制认证的方法及装置 | |
CN110969524A (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 |