You are on page 1of 24

(19)中华人民共和国国家知识产权局

(12)发明专利申请
(10)申请公布号 CN 108256859 A
(43)申请公布日 2018.07.06
(21)申请号 201810001667 .1

(22)申请日 2018 .01 .02

(71)申请人 中国工商银行股份有限公司
地址 100140 北京市西城区复兴门内大街
55号

(72)发明人 罗强 孔兵 万涛 王舒榕 
刘彦平 

(74)专利代理机构 北京三友知识产权代理有限
公司 11127
代理人 贾磊 王涛
(51)Int .Cl .
G06Q 20/38(2012 .01)

权利要求书3页 说明书13页 附图7页

(54)发明名称
基于区块链的金融产品交易共识方法、 节点
及系统
(57)摘要
本发明提供了一种基于区块链的金融产品
交易共识方法、 节点及系统,所述方法包括:第一
验证节点接收交易节点发来的交易共识申请并
对其解密, 得到交易信息;利用第一验证节点中
预设的交易证书对交易信息进行验证, 判断交易
是否合法; 如合法,利用第一验证节点中预设的
智能合约对交易信息进行逻辑验证, 判断交易逻
辑是否合法; 当交易辑合法时 ,执行交易信息对
应的智能合约, 并将交易信息广播到第一验证节
点内置的验证节点列表中的所有第二验证节点,
启动交易共识裁决; 接收第二验证节点在预设的
验证周期内反馈的投票信息, 判断所述投票信息
CN 108256859 A

共识的比例是否超过预设的阀值; 如所述投票信
息共识的比例超过预设的阀值, 向所述交易节点
发送交易共识消息。
CN 108256859 A 权 利 要 求 书 1/3 页

1 .一种基于区块链的金融产品交易共识方法, 其特征在于,所述区块链包括多个验证
节点, 所述验证节点是指金融联盟成员的可信服务器和/或可信工作站, 所述方法包括:
第一验证节点接收交易节点发来的交易共识申请并对其解密, 得到交易信息;
利用第一验证节点中预设的交易证书对交易信息进行验证, 判断交易是否合法;
如果交易合法, 利用第一验证节点中预设的智能合约对所述交易信息进行逻辑验证,
以判断交易的逻辑是否合法; 其中,
所述智能合约包括买卖双方的ID、 商品ID、用户余额、

易金额、 交易数量、交易时间中的一种或几种;
当交易的逻辑合法时, 执行所述交易信息对应的智能合约, 并将所述交易信息广播到
所述第一验证节点内置的验证节点列表中的所有第二验证节点, 启动交易共识裁决;
接收所述第二验证节点在预设的验证周期内反馈的投票信息, 判断所述投票信息共识
的比例是否超过预设的阀值;
如所述投票信息共识的比例超过预设的阀值, 向所述交易节点发送交易共识消息。
2 .根据权利要求1所述的基于区块链的金融产品交易共识方法, 其特征在于, 当所述投
票信息共识的比例超过预设的阀值时, 所述方法还包括:
根据所述交易信息及交易过程信息生成区块链数据, 并广播到区块链中的所有验证节
点。
3 .根据权利要求1所述的基于区块链的金融产品交易共识方法, 其特征在于, 在所述第
一验证节点接收交易节点发来的交易共识申请之前, 所述方法还包括将区块链中的各验证
节点组网, 具体包括:
步骤a), 清空第一验证节点的验证节点列表中的主动连接数和被动连接数;
步骤b) ,接收各第三验证节点发来的组网请求, 所述组网请求包括相应第三验证节点
的节点证书及主动连接数、被动连接数; 第三验证节点是指区块链中尚未与第一验证节点
组网的验证节点;
步骤c) ,第一验证节点根据接收到的组网请求分别对各第三验证节点进行节点证书验
证;
步骤d) ,第一验证节点获取通过节点证书验证的第三验证节点的主动连接数, 并从中
选出主动连接数最小的第三验证节点作为第一验证节点的验证节点, 并将第一验证节点的
主动连接数加1, 将主动连接数最小的第三验证节点的被动连接数加1, 并将第一验证节点
的主动连接数和被动连接数封装到组网请求中回传给该第三验证节点;
步骤e) ,所述第三验证节点根据接收到的组网请求分别对其他各第三验证节点及第一
验证节点进行节点证书验证;
步骤f) ,所述第三验证节点获取通过节点证书验证的各验证节点的主动连接数, 并从
中选取主动连接数最小的第四验证节点作为其验证节点, 并将该第三验证节点的主动连接
数加1, 将主动连接数最小的第四验证节点的被动连接数加1, 并将该第三验证节点的主动
连接数和被动连接数封装到组网请求中回传给其所述第四验证节点;
步骤g) ,所述第四验证节点在接收到所述第三验证节点回传的组网请求后, 将其被动
连接数加1;
重复执行上述步骤b)至步骤g) ,直到各验证节点的主动连接数与被动连接数之和大于
区块链中所有验证节点数目的20%, 即停止组网。

2
CN 108256859 A 权 利 要 求 书 2/3 页

4 .根据权利要求1所述的基于区块链的金融产品交易共识方法, 其特征在于,
所述第二验证节点在收到第一验证节点发来的交易信息后, 根据预设的交易证书对交
易信息进行验证, 判断交易是否合法;
如果交易合法, 利用第二验证节点中预设的智能合约对所述交易信息进行逻辑验证,
以判断交易的逻辑是否合法;
当交易的逻辑合法时, 执行所述交易信息对应的智能合约, 并将投票通过信息反馈给
第一验证节点。
5 .一种基于区块链的金融产品交易共识验证节点, 其特征在于,
所述验证节点包括:
交易信息接收单元, 用于接收交易节点发来的交易共识申请;
解密单元, 用于对所述交易共识申请解密, 以获取交易信息;
交易证书验证单元,用于利用预设的交易证书对所述交易信息进行验证, 判断交易是
否合法;
智能合约单元, 当交易合法时,用于利用预设的智能合约对所述交易信息进行逻辑验
证,
以判断交易的逻辑是否合法, 并在交易逻辑合法时执行所述交易信息对应的智能合约;
其中, 所述智能合约包括买卖双方的ID、商品ID、用户余额、交易金额、交易数量、
交易时间
中的一种或几种;
广播单元, 当交易的逻辑合法时,用于将所述交易信息广播到所述验证节点列表中的
其他验证节点, 以启动交易共识裁决;
交易评估单元, 用于接收所述验证节点列表中的其他验证节点在预设的验证周期内反
馈的投票信息, 并判断所述投票信息共识的比例是否超过预设的阀值;
共识结果反馈单元, 当所述投票信息共识的比例超过预设的阀值时,用于向所述交易
节点发送交易共识消息。
6 .根据权利要求5所述的基于区块链的金融产品交易共识验证节点, 其特征在于,
所述
验证节点还包括:
区块链数据更新单元,用于根据所述交易信息及交易过程信息生成区块链数据, 并广
播到区块链中的所有验证节点。
7 .根据权利要求5所述的基于区块链的金融产品交易共识验证节点, 其特征在于,
所述
验证节点还包括:
初始化单元, 用于清空验证节点的验证节点列表中的主动连接数和被动连接数;
组网请求收发单元,用于接收区块链中其他验证节点发来的组网请求, 所述组网请求
包括相应验证节点的节点证书及主动连接数、 被动连接数;
节点证书验证单元, 用于根据接收到的组网请求分别对相应的验证节点进行节点证书
验证;
最小主动连接数获取单元,用于获取通过节点证书验证的那些验证节点的主动连接
数,并从中选出主动连接数最小的验证节点作为当前验证节点的验证节点, 并将当前验证
节点的主动连接数加1, 将主动连接数最小的验证节点的被动连接数加1;
所述组网请求收发单元, 还用于将当前验证节点的主动连接数和被动连接数封装到组
网请求回传给主动连接数最小的验证节点;
利用所述组网请求收发单元、节点证书验证单元及最小主动连接数获取单元不停对组

3
CN 108256859 A 权 利 要 求 书 3/3 页

网请求进行处理, 直到区块链中各验证节点的主动连接数与被动连接数之和大于区块链中
所有验证节点数目的20%, 即停止组网。
8 .根据权利要求5所述的基于区块链的金融产品交易共识验证节点, 其特征在于,在所
述广播单元将所述交易信息广播给所述验证节点列表中的其他验证节点后,
所述其他验证节点的交易证书验证单元利用预设的交易证书对所述交易信息进行验
证,判断交易是否合法;
所述其他验证节点的智能合约单元利用预设的智能合约对所述交易信息进行逻辑验
证,
以判断交易的逻辑是否合法; 当交易的逻辑合法时,所述其他验证节点的智能合约单元
执行所述交易信息对应的智能合约, 并将投票通过信息反馈给发起交易共识裁决的验证节
点。
9 .一种基于区块链的金融产品交易共识系统, 其特征在于,所述系统包括至少一个交
易节点及多个验证节点;
所述交易节点用于对客户端发来的交易信息进行业务逻辑检查, 并在检查无误后打包
所述交易信息并发起交易共识申请;
所述验证节点用于接收所述交易节点发来的交易共识申请, 并对其解密,得到交易信
息;利用所述验证节点中预设的交易证书对交易信息进行验证, 判断交易是否合法; 如果交
易合法, 利用所述验证节点中预设的智能合约对所述交易信息进行逻辑验证, 以判断交易
的逻辑是否合法; 其中,所述智能合约包括买卖双方的ID、商品ID、用户余额、交易金额、交
易数量、 交易时间中的一种或几种; 当交易的逻辑合法时,执行所述交易信息对应的智能合
约,并将所述交易信息广播到所述验证节点内置的验证节点列表中的其他验证节点中, 以
启动交易共识裁决; 接收所述验证节点列表中的其他验证节点在预设的验证周期内反馈的
投票信息, 判断所述投票信息共识的比例是否超过预设的阀值; 如所述投票信息共识的比
例超过预设的阀值, 向所述交易节点发送交易共识消息。
10 .根据权利要求9所述的基于区块链的金融产品交易共识系统, 其特征在于,所述验
证节点与其验证节点列表中的验证节点满足以下条件:

其中,SNL表示验证节点列表,
S表示系统区块链中所有验证节点组成的验证节点集,
a,
b表示验证节点集中的验证节点。

4
CN 108256859 A 说 明 书 1/13 页

基于区块链的金融产品交易共识方法、节点及系统

技术领域
[0001] 本发明涉及银行金融产品交易系统和方法,
尤其是涉及一种基于区块链的金融产
品交易共识方法、 节点及系统。

背景技术
[0002] 随着金融业务的发展, 特别是互联网金融的兴起, 传统银行、金融机构、第三方支
付机构、 新兴互联网金融企业的联系越来越密切, 跨机构、跨区域、跨境的交易种类、交易量
越来越多; 金融资产的交割, 也从传统意义上的转账、汇款, 延展到账户贵金属、期货、汇票
等金融资产交易。然而, 传统的以信用中介为纽带的信任链条, 在价值转移的过程中存在交
易成本高、执行效率低、系统可靠性差、产品灵活性低等问题, 已经越来越不满足金融产品
快速流通的需要。
[0003] 首先,现有的交易成本较高。银行间的价值传递依赖于中间机构, 后者在转移价值
过程中收取一定交易费用, 使跨行、跨境交易付出较高的费用成本。如图1所示, 分行节点、
总行清算中心, 人行清算中心, 美联储等彼此互信的中介节点联结起来, 形成信任网络,交
易所经过的中介节点桥接在一起形成交易路由。
[0004] 其次,现有金融产品交易的执行效率低。 以转账汇款为例, 跨境汇款的到账时间需
要2-5日(取决于审批环节和信任网络的交易路由) ; 境内各大银行的到账时间不统一: 一般
工作日(9点-17点之间)4小时到账, 17点后要次日到账;节假日的到账时间甚至延长到下个
工作日。
[0005] 再次,系统可靠性差。银行之间的价值传递依赖互信的中介节点组成信任链条, 任
一节点发生故障, 都将导致重新搭建交易路由, 甚至使得交易无法进行。交易路径的延长,
故障和风险的隐患随之增加, 业务系统不得不建设备份系统, 进行交易背书,无形中增加了
系统的建设成本。
[0006] 另外,现有的金融产品灵活性低。金融产品的发布受限于发行机构的产品范围和
业务规则, 不满足用户自身对金融产品的投资需求; 不同业务主体间信息不对称、 交易成本
过高, 没有实现银行、终端客户、投融资机构等参与方的业务对接。
[0007] 由此可见,如果能够提供一个开放、平等、 高效的金融产品交易系统, 不仅能够促
进以客户为中心的金融产品蓬勃发展, 还会进一步扩宽客户的金融交易渠道, 为资金融通
和业务发展带来新的机遇。

发明内容
[0008] 为解决现有技术存在的上述技术问题,本发明实施例提供了一种区块链的金融产
品交易共识方法、 节点及系统。
[0009] 一方面,本发明实施例提供了一种基于区块链的金融产品交易共识方法,所述区
块链包括多个验证节点, 所述验证节点是指金融联盟成员的可信服务器和/或可信工作站,
所述方法包括:

5
CN 108256859 A 说 明 书 2/13 页

[0010] 第一验证节点接收交易节点发来的交易共识申请并对其解密, 得到交易信息;


[0011] 利用第一验证节点中预设的交易证书对交易信息进行验证, 判断交易是否合法;
[0012] 如果交易合法, 利用第一验证节点中预设的智能合约对所述交易信息进行逻辑验
证, 以判断交易的逻辑是否合法; 其中,所述智能合约包括买卖双方的ID、商品ID、用户余
额、 交易金额、 交易数量、 交易时间中的一种或几种;
[0013] 当交易的逻辑合法时, 执行所述交易信息对应的智能合约, 并将所述交易信息广
播到所述第一验证节点内置的验证节点列表中的所有第二验证节点, 启动交易共识裁决;
[0014] 接收所述第二验证节点在预设的验证周期内反馈的投票信息, 判断所述投票信息
共识的比例是否超过预设的阀值;
[0015] 如所述投票信息共识的比 例超过预设的阀值, 向所述交易节点发送交易共识消
息。
[0016] 在一实施例中, 当所述投票信息共识的比例超过预设的阀值时, 所述方法还包括:
[0017] 根据所述交易信息及交易过程信息生成区块链数据, 并广播到区块链中的所有验
证节点。
[0018] 在一实施例中, 在所述第一验证节点接收交易节点发来的交易共识申请之前, 所
述方法还包括将区块链中的各验证节点组网, 具体包括:
[0019] 步骤a),清空第一验证节点的验证节点列表中的主动连接数和被动连接数;
[0020] 步骤b) ,接收各第三验证节点发来的组网请求, 所述组网请求包括相应第三验证
节点的节点证书及主动连接数、被动连接数; 第三验证节点是指区块链中尚未与第一验证
节点组网的验证节点;
[0021] 步骤c) ,
第一验证节点根据接收到的组网请求分别对各第三验证节点进行节点证
书验证;
[0022] 步骤d) ,第一验证节点获取通过节点证书验证的第三验证节点的主动连接数, 并
从中选出主动连接数最小的第三验证节点作为第一验证节点的验证节点, 并将第一验证节
点的主动连接数加1, 将主动连接数最小的第三验证节点的被动连接数加1, 并将第一验证
节点的主动连接数和被动连接数封装到组网请求中回传给该第三验证节点;
[0023] 步骤e) ,
所述第三验证节点根据接收到的组网请求分别对其他各第三验证节点及
第一验证节点进行节点证书验证;
[0024] 步骤f) ,所述第三验证节点获取通过节点证书验证的各验证节点的主动连接数,
并从中选取主动连接数最小的第四验证节点作为其验证节点, 并将该第三验证节点的主动
连接数加1, 将主动连接数最小的第四验证节点的被动连接数加1, 并将该第三验证节点的
主动连接数和被动连接数封装到组网请求中回传给其所述第四验证节点;
[0025] 步骤g) ,所述第四验证节点在接收到所述第三验证节点回传的组网请求后, 将其
被动连接数加1;
[0026] 重复执行上述步骤b)至步骤g) ,直到各验证节点的主动连接数与被动连接数之和
大于区块链中所有验证节点数目的20%, 即停止组网。
[0027] 在一实施例中, 所述第二验证节点在收到第一验证节点发来的交易信息后, 根据
预设的交易证书对交易信息进行验证, 判断交易是否合法;
[0028] 如果交易合法, 利用第二验证节点中预设的智能合约对所述交易信息进行逻辑验

6
CN 108256859 A 说 明 书 3/13 页

证, 以判断交易的逻辑是否合法;
[0029] 当交易的逻辑合法时, 执行所述交易信息对应的智能合约, 并将投票通过信息反
馈给第一验证节点。
[0030] 另一方面, 本发明实施例还提供了一种基于区块链的金融产品交易共识验证节
点, 所述验证节点包括:
[0031] 交易信息接收单元, 用于接收交易节点发来的交易共识申请;
[0032] 解密单元, 用于对所述交易共识申请解密, 以获取交易信息;
[0033] 交易证书验证单元, 用于利用预设的交易证书对所述交易信息进行验证, 判断交
易是否合法;
[0034] 智能合约单元, 当交易合法时,用于利用预设的智能合约对所述交易信息进行逻
辑验证, 以判断交易的逻辑是否合法, 并在交易逻辑合法时执行所述交易信息对应的智能
合约; 其中,
所述智能合约包括买卖双方的ID、 商品ID、用户余额、
交易金额、 交易数量、
交易
时间中的一种或几种;
[0035] 广播单元, 当交易的逻辑合法时,用于将所述交易信息广播到所述验证节点列表
中的其他验证节点, 以启动交易共识裁决;
[0036] 交易评估单元, 接收所述验证节点列表中的其他验证节点在预设的验证周期内反
馈的投票信息, 并判断所述投票信息共识的比例是否超过预设的阀值;
[0037] 共识结果反馈单元, 当所述投票信息共识的比例超过预设的阀值时,用于向所述
交易节点发送交易共识消息。
[0038] 在一实施例中, 所述验证节点还包括: 区块链数据更新单元, 用于根据所述交易信
息及交易过程信息生成区块链数据, 并广播到区块链中的所有验证节点。
[0039] 在一实施例中, 所述验证节点还包括:
[0040] 初始化单元, 用于清空验证节点的验证节点列表中的主动连接数和被动连接数;
[0041] 组网请求收发单元, 用于接收区块链中其他验证节点发来的组网请求, 所述组网
请求包括相应验证节点的节点证书及主动连接数、 被动连接数;
[0042] 节点证书验证单元, 用于根据接收到的组网请求分别对相应的验证节点进行节点
证书验证;
[0043] 最小主动连接数获取单元, 用于获取通过节点证书验证的那些验证节点的主动连
接数, 并从中选出主动连接数最小的验证节点作为当前验证节点的验证节点, 并将当前验
证节点的主动连接数加1, 将主动连接数最小的验证节点的被动连接数加1;
[0044] 所述组网请求收发单元, 还用于将当前验证节点的主动连接数和被动连接数封装
到组网请求中回传给主动连接数最小的验证节点;
[0045] 利用所述组网请求收发单元、 节点证书验证单元及最小主动连接数获取单元不停
对组网请求进行处理, 直到区块链中各验证节点的主动连接数与被动连接数之和大于区块
链中所有验证节点数目的20%, 即停止组网。
[0046] 在一实施例中, 在所述广播单元将所述交易信息广播给所述验证节点列表中的其
他验证节点后, 所述其他验证节点的交易证书验证单元利用预设的交易证书对所述交易信
息进行验证, 判断交易是否合法; 所述其他验证节点的智能合约单元利用预设的智能合约
对所述交易信息进行逻辑验证, 以判断交易的逻辑是否合法; 当交易的逻辑合法时,所述其

7
CN 108256859 A 说 明 书 4/13 页

他验证节点的智能合约单元执行所述交易信息对应的智能合约, 并将投票通过信息反馈给
发起交易共识裁决的验证节点。
[0047] 另一方面, 本发明实施例还提供了一种基于区块链的金融产品交易共识系统, 所
述系统包括至少一个交易节点及多个验证节点;
[0048] 所述交易节点用于对客户端发来的交易信息进行业务逻辑检查, 并在检查无误后
打包所述交易信息并发起交易共识申请;
[0049] 所述验证节点用于接收所述交易节点发来的交易共识申请, 并对其解密, 得到交
易信息; 利用所述验证节点中预设的交易证书对交易信息进行验证, 判断交易是否合法; 如
果交易合法, 利用所述验证节点中预设的智能合约对所述交易信息进行逻辑验证, 以判断
交易的逻辑是否合法; 其中,所述智能合约包括买卖双方的ID、商品ID、用户余额、交易金
额、 交易数量、 交易时间中的一种或几种;当交易的逻辑合法时, 执行所述交易信息对应的
智能合约, 并将所述交易信息广播到所述验证节点内置的验证节点列表中的其他验证节点
中, 以启动交易共识裁决; 接收所述验证节点列表中的其他验证节点在预设的验证周期内
反馈的投票信息, 判断所述投票信息共识的比例是否超过预设的阀值; 如所述投票信息共
识的比例超过预设的阀值, 向所述交易节点发送交易共识消息。
[0050] 在一实施例中, 所述验证节点与其验证节点列表中的验证节点满足以下条件:
[0051]
[0052] 其中,SNL表示验证节点列表,S表示系统区块链中所有验证节点组成的验证节点
集, a, b表示验证节点集中的验证节点。
[0053] 本发明实施例解决了现有中心化交易系统在金融产品交易、 转账支付上存在的单
点依赖, 结合验证区表决系统, 减少了跨境机构交易的成本,增加了金融产品发布的灵活
性。具体具有如下技术效果: 1)采用服务区的共识表决机制, 服务节点去中心化, 降低了价
值传递的单点依赖, 系统的稳定性和可靠性获得极大的提高; 2)实现交易账簿的群体性维
护, 减少了交易流转的时长, 降低了交易的流转成本; 3)支持“公私钥加密算法”,对交易明
文进行加密变形, 使交易数据不可篡改, 提高了交易的安全性; 4)采用验证节点随机分组算
法, 在保证交易共识代表性的前提下, 缩短了交易共识的时间, 提升了交易表决的效率;5)
实现金融产品的灵活配置和交割, 有效盘活金融资产。

附图说明
[0054] 为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现
有技术描述中所需要使用的附图作简单地介绍, 显而易见地,下面描述中的附图仅仅是本
发明的一些实施例, 对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以
根据这些附图获得其他的附图。
[0055] 图1为现有的跨行、
跨境汇款过程示意图;
[0056] 图2为本发明实施例提供的基于区块链的金融产品交易共识方法的流程示意图;
[0057] 图3为本发明实施例提供的区块链中各验证节点组网的大致流程示意图;
[0058] 图4为本发明实施例提供的基于区块链的金融产品交易共识验证节点的结构示意
图;
[0059] 图5为本发明实施例提供的基于区块链的金融产品交易共识系统的结构示意图;

8
CN 108256859 A 说 明 书 5/13 页

[0060] 图6为本发明另一实施例提供的交易节点的结构示意图;
[0061] 图7为本发明另一实施例提供的验证节点的结构示意图;
[0062] 图8为本发明另一实施例提供的基于区块链的金融产品交易系统的框架图;
[0063] 图9为本发明实施例提供的基于区块链的金融产品交易系统验证节点列表分组处
理工作流程图。

具体实施方式
[0064] 下面将结合本发明实施例中的附图 , 对本发明实施例中的技术方案进行清楚、完
整地描述, 显然,所描述的实施例仅仅是本发明一部分实施例, 而不是全部的实施例。基于
本发明中的实施例, 本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他
实施例, 都属于本发明保护的范围。
[0065] 图2为本发明实施例提供的基于区块链的金融产品交易共识方法的流程示意图。
如图2所示, 该方法大致包括如下步骤:
[0066] 步骤21,第一验证节点接收交易节点发来的交易共识申请并对其解密, 得到交易
信息。
[0067] 本发明实施例中所述的交易节点是指具有交易意愿的网络节点, 包括各种自助
式、 协助式、 移动式交易终端或交易网点等。验证节点是指自主判断交易是否可信的网络节
点, 一般是各金融联盟成员的可信服务器、工作站等。验证节点内置验证节点列表, 组网后
与其他验证节点进行数据同步, 更新验证节点列表。
[0068] 需要注意的是, 本发明实施例中提及的“第一”、“第二”、
“第三”及“第四”等描述方
式, 仅是为了更加清楚的对方案进行说明, 具体实施时,并没有特指哪个验证节点为第一验
证节点或第N验证节点。
[0069] 步骤22,利用第一验证节点中预设的交易证书对交易信息进行验证, 判断交易是
否合法。如果交易合法, 进入步骤23处理。如果交易不合法,则拒绝对该交易做进一步处理
(步骤27)
[0070] 步骤23,利用第一验证节点中预设的智能合约对所述交易信息进行逻辑验证, 以
判断交易的逻辑是否合法。其中, 所述智能合约包括买卖双方的ID、 商品ID、用户余额、交易
金额、 交易数量、交易时间中的一种或几种。当交易的逻辑合法时, 进入步骤24处理。如果交
易逻辑不合法, 则拒绝对该交易做进一步处理(步骤28)。
[0071] 步骤24,执行所述交易信息对应的智能合约, 并将所述交易信息广播到所述第一
验证节点内置的验证节点列表中的所有第二验证节点, 启动交易共识裁决。
[0072] 步骤25,接收所述第二验证节点在预设的验证周期内反馈的投票信息, 判断所述
投票信息共识的比例是否超过预设的阀值。如所述投票信息共识的比例超过预设的阀值,
进入步骤26处理。如果投票信息共识的比例未超过上述阀值, 则说明交易未能达成共识(步
骤29)。
[0073] 步骤26,
向所述交易节点发送交易共识消息。
[0074] 本发明实施例解决了现有中心化交易系统在金融产品交易、 转账支付上存在的单
点依赖, 结合验证区表决系统, 减少了跨境机构交易的成本,增加了金融产品发布的灵活
性。

9
CN 108256859 A 说 明 书 6/13 页

[0075] 在一实施例中, 当投票信息共识的比例超过预设的阀值时, 还可以根据交易信息


及交易过程信息生成区块链数据, 并广播到区块链中的所有验证节点中。
[0076] 通常地, 第二验证节点中也预设了交易证书及智能合约, 当第一验证节点列表中
的第二验证节点在收到第一验证节点发来的交易信息后, 根据第二验证节点中预设的交易
证书对交易信息进行验证, 判断交易是否合法。如果交易合法, 再利用第二验证节点中预设
的智能合约对所述交易信息进行逻辑验证, 以判断交易的逻辑是否合法; 当交易的逻辑合
法时, 执行所述交易信息对应的智能合约, 并将投票通过信息反馈给第一验证节点。
[0077] 在一实施例中, 在利用上述验证节点接收交易节点发来的交易共识申请之前, 还
需要将区块链中的各验证节点组网。本发明实施例虽然采用区块链的组网机制, 但与比特
币采用工作量证明(POW, Proof  of  Work)的算法不同 ,
本发明采用股份授权证明(DPOS,
Delegated  Proof  of  Stake)的算法。具体实施时, 具体组网步骤如图3所示, 主要包括以下
步骤:
[0078] 步骤31, 清空第一验证节点的验证节点列表中的主动连接数和被动连接数。
[0079] 为了保证区块链中各各验证节点是安全的, 需要在组网前将各验证节点的验证节
点列表初始化, 清空验证节点列表, 将主动连接数(设为M)和被动连接数(设为P)清零。
[0080] 步骤32, 接收各第三验证节点发来的组网请求, 所述组网请求包括相应第三验证
节点的节点证书及主动连接数、被动连接数。此处所述的第三验证节点是指区块链中尚未
与第一验证节点组网的验证节点。
[0081] 步骤33, 第一验证节点根据接收到的组网请求分别对各第三验证节点进行节点证
书验证。 此处所述的第三验证节点是指区块链中尚未与第一验证节点组网的验证节点。
[0082] 在第一验证节点接收其他验证节点发来的组网请求的同时, 其本身也在向外发送
组网请求。
[0083] 步骤34, 当部分或全部第三验证节点的节点证书验证通过后, 第一验证节点获取
通过节点证书验证的第三验证节点的主动连接数, 并从中选出主动连接数最小的第三验证
节点作为第一验证节点的验证节点, 并将第一验证节点的主动连接数加1, 将主动连接数最
小的第三验证节点的被动连接数加1, 并将第一验证节点的主动连接数和被动连接数封装
到组网请求中回传给该主动连接数最小的第三验证节点。
[0084] 为方便理解起见, 将第一验证节点设为a节点, 将该主动连接数最小的第三验证节
点设为b节点。
[0085] 步骤35, b节点根据a节点回传的组网请求, 以及接收到的其他第三验证节点广播
的组网请求, 分别对a节点及其他各第三验证节点进行节点证书验证。
[0086] 步骤36, b节点获取通过节点证书验证的各验证节点的主动连接数, 并从中选取主
动连接数最小的第四验证节点(设为节点c)作为其验证节点, 并将该b节点的主动连接数加
1,将c节点的被动连接数加1, 并将b节点的主动连接数和被动连接数封装到组网请求中回
传给其c节点;
[0087] 步骤37, c节点在接收到b证节点回传的组网请求后, 自动将c节点的被动连接数加
1。
[0088] 步骤38, 分别判断各验证节点的主动连接数与被动连接数之和是否大于区块链中
所有验证节点数目的20%。如果是, 则停止组网(步骤39)。否则, 重复步骤32至步骤37,
直到

10
CN 108256859 A 说 明 书 7/13 页

各验证节点的主动连接数与被动连接数之和大于区块链中所有验证节点数目的20%为止。
[0089] 利用本发明实施例提供的组网方法, 可以保证区块链中各验证节点连接的均匀
性, 以及利用该方法对DPOS的验证节点进行选取并分组, 可确保所选取的验证节点具有显
著的代表性, 降低共识往复确认的时间, 从而能够改善交易共识效率, 提升银行价值转移效
率。
[0090] 基于与图2所示的基于区块链的金融产品交易共识方法相同的发明构思, 本申请
实施例还提供了一种基于区块链的金融产品交易共识验证节点, 如下面实施例所述。 由于
该验证节点解决问题的原理与图2中头基于区块链的金融产品交易共识方法相似, 因此该
验证的实施可以参见图2所示的基于区块链的金融产品交易共识方法的实施, 重复之处不
再赘述。
[0091] 在另一实施例中 , 本发明还提供了一种基于区块链的金融产品交易共识验证节
点, 其结构如图4所示。所述验证节点包括: 交易信息接收单元401、 解密单元402、
交易证书
验证单元403、 智能合约单元404、 广播单元405、
交易评估单元406及共识结果反馈单元407。
[0092] 其中 ,交易信息接收单元401用于接收交易节点发来的交易共识申请。解密单元
402用于对所述交易共识申请解密, 以获取交易信息。交易证书验证单元403用于利用预设
的交易证书对所述交易信息进行验证, 判断交易是否合法。当交易合法时, 智能合约单元
404用于利用预设的智能合约对所述交易信息进行逻辑验证, 以判断交易的逻辑是否合法,
并在交易逻辑合法时执行所述交易信息对应的智能合约; 其中, 所述智能合约包括买卖双
方的ID、商品ID、用户余额、 交易金额、 交易数量、 交易时间中的一种或几种。当交易的逻辑
合法时, 广播单元405用于将所述交易信息广播到所述验证节点列表中的其他验证节点, 以
启动交易共识裁决。交易评估单元406用于接收所述验证节点列表中的其他验证节点在预
设的验证周期内反馈的投票信息, 并判断所述投票信息共识的比例是否超过预设的阀值。
当所述投票信息共识的比例超过预设的阀值时, 共识结果反馈单元407用于向所述交易节
点发送交易共识消息。
[0093] 上述的验证节点通常是指金融联盟成员的可信服务器和/或可信工作站, 区块链
中包括多个验证节点。
[0094] 本发明实施例解决了现有中心化交易系统在金融产品交易、 转账支付上存在的单
点依赖, 结合验证区表决系统, 减少了跨境机构交易的成本,增加了金融产品发布的灵活
性。具体具有如下技术效果: 1)采用服务区的共识表决机制, 服务节点去中心化, 降低了价
值传递的单点依赖, 系统的稳定性和可靠性获得极大的提高; 2)实现交易账簿的群体性维
护, 减少了交易流转的时长, 降低了交易的流转成本; 3)支持“公私钥加密算法”, 对交易明
文进行加密变形, 使交易数据不可篡改, 提高了交易的安全性; 4)采用验证节点随机分组算
法, 在保证交易共识代表性的前提下, 缩短了交易共识的时间, 提升了交易表决的效率; 5)
实现金融产品的灵活配置和交割, 有效盘活金融资产。
[0095] 在一实施例中, 上述的验证节点还包括一区块链数据更新单元408, 用于根据所述
交易信息及交易过程信息生成区块链数据, 并广播到区块链中的所有验证节点。
[0096] 在一实施例中, 上述的验证节点还包括: 初始化单元409、 组网请求收发单元410、
节点证书验证单元411及最小主动连接数获取单元。其中, 初始化单元409用于清空验证节
点的验证节点列表中的主动连接数和被动连接数; 组网请求收发单元410用于接收区块链

11
CN 108256859 A 说 明 书 8/13 页

中其他验证节点发来的组网请求, 所述组网请求包括相应验证节点的节点证书及主动连接
数、 被动连接数; 节点证书验证单元411用于根据接收到的组网请求分别对相应的验证节点
进行节点证书验证; 最小主动连接数获取单元412用于获取通过节点证书验证的那些验证
节点的主动连接数, 并从中选出主动连接数最小的验证节点作为当前验证节点的验证节
点, 并将当前验证节点的主动连接数加1, 将主动连接数最小的验证节点的被动连接数加1。
[0097] 另外,组网请求收发单元410还用于将当前验证节点的主动连接数和被动连接数
封装到组网请求回传给主动连接数最小的验证节点。
[0098] 利用组网请求收发单元410、节点证书验证单元411及最小主动连接数获取单元
412不停对组网请求进行处理, 直到区块链中各验证节点的主动连接数与被动连接数之和
大于区块链中所有验证节点数目的20%, 即停止组网。
[0099] 在一实施例中, 在广播单元405将所述交易信息广播给所述验证节点列表中的其
他验证节点后, 所述其他验证节点的交易证书验证单元403利用预设的交易证书对所述交
易信息进行验证, 判断交易是否合法;如交易合法, 所述其他验证节点的智能合约单元404
利用预设的智能合约对所述交易信息进行逻辑验证, 以判断交易的逻辑是否合法。当交易
的逻辑合法时, 所述其他验证节点的智能合约单元404执行所述交易信息对应的智能合约,
并将投票通过信息反馈给发起交易共识裁决的验证节点。
[0100] 另外,本发明实施例还提供了一种基于区块链的金融产品交易共识系统, 其大致
结构如图5所示, 该系统主要包括至少一个交易节点及多个验证节点, 其中, 交易节点1与若
干验证节点2构成了交易区30, 即发起交易的区域, 交易区的交易节点1还存储用户、产品、
交易明细等持久化数据, 以及相关的业务逻辑; 多个验证节点2构成了验证区4, 验证节点2
除了承担消息收发、 交易评估和区块更新外, 也承担管理职责,用于管理智能合约, 监督验
证区的工作状态, 进行安全审计等。
[0101] 通常地,交易节点1主要用于对客户端发来的交易信息进行业务逻辑检查, 并在检
查无误后打包所述交易信息并发起交易共识申请, 将交易共识申请发送给验证节点2。验证
节点2用于接收交易节点1发来的交易共识申请, 并对其解密, 得到交易信息, 然后利用验证
节点2中预设的交易证书对交易信息进行验证, 判断交易是否合法。如果交易合法, 利用验
证节点2中预设的智能合约对所述交易信息进行逻辑验证, 以判断交易的逻辑是否合法; 其
中, 所述智能合约包括买卖双方的ID、商品ID、用户余额、 交易金额、交易数量、 交易时间中
的一种或几种。当交易的逻辑也合法时, 执行所述交易信息对应的智能合约, 并将所述交易
信息广播到所述验证节点内置的验证节点列表中的其他验证节点中, 以 启动交易共识裁
决, 然后接收所述验证节点列表中的其他验证节点在预设的验证周期内反馈的投票信息,
判断所述投票信息共识的比例是否超过预设的阀值。如所述投票信息共识的比例超过预设
的阀值, 向所述交易节点发送交易共识消息。
[0102] 在一实施例中, 所述验证节点与其验证节点列表中的验证节点满足以下条件:
[0103]
[0104] 其中,SNL表示验证节点列表,
S表示系统区块链中所有验证节点组成的验证节点
集, a, b表示验证节点集中的验证节点。
[0105] 应用本发明实施例, 能够有效降低跨行、跨境交易的成本,
并且还可以提高银行价
值转移的效率, 增加价值转移的稳定性和可靠性。

12
CN 108256859 A 说 明 书 9/13 页

[0106] 图6为本发明另一实施例提供的交易节点的结构示意图。该交易节点中包含: 用户
界面61、 主控单元装置22、 资产更新装置23、 交易加解密装置24及业务应用装置25。
[0107] “用户界面61例如可以是手机或智能终端的用户交易界面, 用于提供用户访问和
交互交易信息。主控单元装置62是用户发送交易请求和信息展现的枢纽。连接用户界面61、
资产更新装置63、 交易加解密装置64和业务应用装置65, 主控单元装置62从用户界面61接
收信息后, 在业务应用装置65中实现业务应用逻辑, 资产更新装置63将区块链的资产信息
与本地数据进行同步。 通过交易加解密装置64进行数据加密, 以便对外传输。
[0108] 资产更新装置63是手机等客户端的本地账本、 交易明细的更新模块,用于将区块
链的资产信息与本地数据进行同步。
[0109] 交易加解密装置64是客户端安全模块, 包括对交易进行密码签名, 确保交易的安
全性和不可篡改, 以及对返回的交易结果进行解密, 以同步区块链数据。
[0110] 业务应用装置65提供应用层服务, 接收主控单元装置62的指令,用于实现业务应
用逻辑, 将业务处理结果传送给资产更新装置63, 以便访问和更新应用层数据表。
[0111] 图7为本发明另一实施例提供的验证节点的结构示意图。 如图7所示,该验证节点
包括: 交易数据收发装置701、 主控单元装置702、 区块链更新装置703、智能合约模块704、区
块数据更新模块705、 交易评估装置706、验证节点列表707、 交易共识评估模块708、消息收
发装置709、 证书模块710及加解密模块711。
[0112] 交易数据收发装置701是验证节点收发交易数据的收发装置, 其交易数据来源于
其他验证节点和本验证节点的主控单元装置702。
[0113] 主控单元装置702是验证节点的主控单元, 交易数据通过主控单元分发到消息收
发装置709、 交易评估装置706及区块链更新装置703。
[0114] 区块链更新装置703是区块链数据的更新装置, 包括智能合约模块704和区块链数
据更新模块704。智能合约模块704是智能合约数据的更新模块, 承担智能合约的执行和合
约规则验证。 区块链数据更新模块705是区块链数据的更新模块, 负责区块链数据状态的更
新和区块链数据的生成。
[0115] 交易评估装置706是交易合法性评估的装置, 包括验证节点列表707和交易共识评
估模块708。验证节点列表707是交易系统的验证节点列表, 验证节点通过向列表中的其他
节点发出交易共识申请, 并根据收到的反馈消息评估交易合法性。 交易共识评估模块708是
交易评估的模块, 验证节点收集到来自其他验证节点的反馈消息后, 对交易的合法性进行
判断自己先判断完, 合法后再广播。验证节点列表中的验证节点在收到共识申请后, 根据智
能合约对交易明细进行分析, 做出共识投票。在验证周期T内, 发起共识裁决的验证节点收
集验证节点列表707中验证节点的投票信息, 若满足:
[0116] Vote(SNL)>δ
[0117] 则表明交易获得共识。其中, Vote(SNL)是SNL中验证节点共识的比例, δ是共识阀
值, 随参数设置。
[0118] 消息收发装置709是接收并处理消息的单元, 包括证书模块710和加解密模块711。
证书模块710是验证交易和节点证书合法性的模块, 在组网的时候对接收到的组网请求中
包含的节点证书进行合法性验证, 在交易共识时利用交易证书对交易的合法性进行验证。
加解密模块711是对消息数据进行加密或解密的模块, 接收到的数据报文在该模块进行公

13
CN 108256859 A 说 明 书 10/13 页

私钥解密和验证, 发送的数据报文在该模块进行私钥加密。
[0119] 图8为本发明另一实施例提供的基于区块链的金融产品交易系统的框架图。 如图8
所示, 该系统主要包括交易区81和验证区82。 交易区81是用户发起金融产品交易的区域, 主
要由用户层83和应用层84组成。验证区82主要指区块链基础平台85, 是交易验证和共识的
区域, 主要包括服务接口APIs  86、智能合约服务模块87、
区块链服务模块88。其中, 交易区
81中的用户层83所展现的界面对应图6中的用户界面61; 应用层84的处理逻辑对应图6中的
业务应用装置65; 服务接口APIs  66对应图7中的交易数据收发装置701提供的API接口, 智
能合约服务模块87对应图7中的智能合约模块704, 区块链服务模块88对应图7中的交易评
估装置806提供的服务API。
[0120] 用户层83是终端上运行的APP, 包括图形用户界面、本地账户(资产)数据、短期交
易明细以及与应用层连接的API等。
[0121] 应用层84是应用服务器上运行的业务应用系统, 分为业务层和数据层两部分。业
务层包括:用户注册和管理、钱包管理、产品(商品)管理、 交易管理、 日志管理;数据层主要
是支撑业务层的持久化数据, 包括用户表、产品表、 账户表、 商品表、
日志表等, 用户表、产品
表、 帐户表的具体描述可参见表一至表三:
[0122] 表一用户表结构说明

[0123]

[0124] 表二产品表结构说明

14
CN 108256859 A 说 明 书 11/13 页

[0125]

[0126] 表三账户表结构说明

[0127]

[0128] 区块链基础平台85是部署在验证节点上的去中心化的账簿系统, 包括与应用层交


互的服务接口APIs86、智能合约服务模块87、 区块链服务模块88及账户服务模块、 安全服务
模块等。
[0129] 服务接口APIs  86是区块链基础平台85对外提供的服务接口, 包括注册接口、交易
合约接口、 查询接口。
[0130] 智能合约服务模块87中预设了交易共识的验证合约, 合约信息一般由买卖双方的
交易信息构成, 包括买卖双方用户ID, 商品ID,
用户余额, 交易金额,交易数量,交易时间等。
[0131] 区块链服务模块88是区块链的底层服务, 包括加密模块、共识模块、P2P通信协议
及区块链数据模块等。
[0132] 图9为本发明实施例提供的基于区块链的金融产品交易系统验证节点列表分组处
理工作流程图, 主要包括以下步骤:
[0133] 步骤901:
客户端在交易区3通过交易节点1发起交易请求。
[0134] 步骤902:
客户端用私钥对交易数据进行加密, 并发送到交易区3。
[0135] 步骤903:在交易区3, 交易节点1检查核对交易区的商品信息, 比如商品的状态、数
量等。首先由用户界面61生成交易请求, 交易请求通过主控单元装置62, 在业务应用装置65
进行业务处理, 核验商品信息。

15
CN 108256859 A 说 明 书 12/13 页

[0136] 步骤904: 如果步骤903检查通过, 交易节点1的交易加解密装置64打包交易信息,


进行加密处理, 并通过主控单元装置62发起交易共识申请, 并将共识请求消息传送到验证
区4。
[0137] 步骤905: 验证区4的验证节点2接收交易节点1发来的共识请求消息,用公钥解密
交易数据。 交易数据收发装置701接收共识请求消息, 经过主控单元装置702判断, 发送到消
息收发装置909, 共识请求消息在加解密模块711进行解密处理, 用公钥解密交易数据, 在消
息收发装置709的证书模块710中验证证书。
[0138] 步骤906: 验证节点2的智能合约模块704对交易数据进行合约逻辑验证, 在交易共
识评估模块708检查交易合法性。然后, 顺序读取验证节点列表707中的验证节点, 向该验证
节点列表中的验证节点发起广播, 启动交易共识裁决。 交易共识请求消息在加解密模块711
中加密后, 通过交易数据收发装置701向验证节点列表中的验证节点发起共识请求广播。
[0139] 步骤907: 验证节点列表中的验证节点在收到共识申请后, 依次执行步骤905和步
骤906, 根据智能合约, 对交易明细进行分析, 验证节点3的交易共识评估模块708进行共识
投票。
[0140] 到达时刻T(验证周期)时, 发起共识请求的验证节点3通过交易数据收发装置701
收集来自验证节点列表中的验证节点的投票信息, 并在交易评估装置706评估投票信息, 若
满足:
[0141] Vote(SNL)>δ
[0142] 则表明交易获得共识。 其中,Vote(SNL)是SNL验证节点共识的比例, δ是共识阀值;
[0143] 步骤908: 更新本地账本。在区块链更新装置703中更新智能合约模块704, 更新完
毕后, 区块链数据更新模块705更新本地的全局数据状态和区块链。通过交易数据收发装置
701向验证区4所有的验证节点广播, 各验证节点新增区块。
[0144] 步骤909: 通过交易数据收发装置701向交易区3中的交易节点1发送交易共识消
息, 在业务应用装置65中执行业务逻辑, 在资产更新装置63更新商品信息、拥有者信息等。
[0145] 步骤910: 向客户端用户界面61发送交易共识消息, 更新端机数据。
[0146] 本发明实施例解决了现有中心化交易系统在金融产品交易、 转账支付上存在的单
点依赖, 结合验证区表决系统, 减少了跨境机构交易的成本,增加了金融产品发布的灵活
性。具体具有如下技术效果: 1)采用服务区的共识表决机制, 服务节点去中心化, 降低了价
值传递的单点依赖, 系统的稳定性和可靠性获得极大的提高; 2)实现交易账簿的群体性维
护, 减少了交易流转的时长, 降低了交易的流转成本; 3)支持“公私钥加密算法”, 对交易明
文进行加密变形, 使交易数据不可篡改, 提高了交易的安全性; 4)采用验证节点随机分组算
法, 在保证交易共识代表性的前提下, 缩短了交易共识的时间, 提升了交易表决的效率; 5)
实现金融产品的灵活配置和交割, 有效盘活金融资产。
[0147] 本领域内的技术人员应明白, 本发明的实施例可提供为方法、系统、 或计算机程序
产品。因此, 本发明可采用完全硬件实施例、完全软件实施例、 或结合软件和硬件方面的实
施例的形式。而且, 本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机
可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产
品的形式。
[0148] 本发明是参照根据本发明实施例的方法、 设备(系统)、和计算机程序产品的流程

16
CN 108256859 A 说 明 书 13/13 页

图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流
程和/或方框、 以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序
指令到通用计算机、专用计算机、 嵌入式处理机或其他可编程数据处理设备的处理器以产
生一个机器, 使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实
现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
[0149] 这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特
定方式工作的计算机可读存储器中, 使得存储在该计算机可读存储器中的指令产生包括指
令装置的制造品, 该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或
多个方框中指定的功能。
[0150] 这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上, 使得在计
算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理, 从而在计算机或
其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一
个方框或多个方框中指定的功能的步骤。
[0151] 本发明中应用了具体实施例对本发明的原理及实施方式进行了阐述, 以上实施例
的说明只是用于帮助理解本发明的方法及其核心思想; 同时,对于本领域的一般技术人员,
依据本发明的思想, 在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内
容不应理解为对本发明的限制。

17
CN 108256859 A 说 明 书 附 图 1/7 页

图1

18
CN 108256859 A 说 明 书 附 图 2/7 页

图2

19
CN 108256859 A 说 明 书 附 图 3/7 页

图3

20
CN 108256859 A 说 明 书 附 图 4/7 页

图4

图5

21
CN 108256859 A 说 明 书 附 图 5/7 页

图6

图7

22
CN 108256859 A 说 明 书 附 图 6/7 页

图8

23
CN 108256859 A 说 明 书 附 图 7/7 页

图9

24