主页 > imtoken钱包app > 面向大数据的区块链在清算系统中的应用

面向大数据的区块链在清算系统中的应用

imtoken钱包app 2023-03-19 06:14:35

面向大数据的区块链在清算系统中的应用

蔡伟德1,2,3,于连4,袁博2,邓友全2,李琦1,郭斌1

1. 北京航空航天大学数字社会与区块链实验室 北京 100191

2. 北京天德科技有限公司, 北京 100080

3. 亚利桑那州立大学, 美国亚利桑那州凤凰城 85287

4. 北京大学软件与微电子学院, 北京 102600

摘要:介绍了面向大数据的区块链在清算系统中的应用实践,涉及区块链共识、区块链交易数据安全传输、区块链数据存储、区块链数据查询、交易数据加解密,以及在清算核心业务方面,等,着重分析了区块链大数据版本在清算过程中对复合交易拆合并的架构设计,提出了区块链上数据的风险决策和评估从大数据分析的视角。 潜在价值和意义。

关键词:大数据; 区块链; 共识机制; 密码学; 结算系统

doi: 10.11959/j.issn.2096-0271.2018003

比特币区块链查询详情_什么是比特币区块链视频_比特币等于区块链吗

论文引用格式:蔡伟德,于连,袁博,等。 面向大数据的区块链在清算系统中的应用[J]. 大数据, 2018, 4(1): 22-35.

蔡 WT, YU L, YUAN B, et al. 面向大数据的区块链清算系统[J]. 大数据研究, 2018, 4(1): 22-35.

比特币区块链查询详情_什么是比特币区块链视频_比特币等于区块链吗

1 简介

2008年10月31日,中本聪发表了一篇关于比特币的论文,首次提出了区块链的概念。 近年来,伴随比特币而来的区块链技术取得了长足的进步。 区块链技术的研究和应用已经成为行业创新和转型的重要驱动力。 本文涉及的清算系统采用天德大数据版区块链。 为了测试这套系统的可靠性和准确性,笔者与一家清算所联合进行了为期一个月的现场测试,共使用原始脱敏交易数据33.34亿笔交易,产生超过200亿笔原子交易,充分验证整个系统的安全性、可靠性和正确性。

本文所涉及的清算是指从交易到结算的所有活动。 交易数据清算逻辑采用实用拜占庭容错(PBFT)算法,不仅可以检测故障,还可以检测作弊。 通过区块链可追溯获取清算数据,保证清算过程和结果的真实性。 同时,在数据安全接入方面,采用公钥和私钥加解密(RSA、ECC、SM2)、SHA、ECDSA数字签名、CA数字证书等方式保证数据传输的安全和贮存。

在接下来的文章中,笔者结合天德大数据版区块链的应用案例,对大数据版区块链清算过程中复杂交易的拆解与合并设计方法以及区块链数据的融合进行了探讨和分析。清算系统。 在持久化存储到大数据平台的过程中,最终提出要从区块链大数据中挖掘出有价值的信息,为监管机构洞察交易数据提供了新的方向。

2015年到2017年,包括银行在内的全球很多机构和金融专家都认为清算是区块链的一个重要应用,但是还没有机构做出来,或者即使做了,结果也不是很理想。 甚至到了2016年底,一些金融专家开始改变说法:“清算不是区块链的专长,区块链不一定适合清算。” 但在2017年4月,中国团队打造了大数据版区块链,并成功应用于清算实践。

清算的难点在于:数据量巨大; 准确的会计核对处理; 隐私保护要求高; 系统处理性能要求高; 系统安全要求高; 会计核算方法复杂多样。

一般的区块链(如比特币和以太坊区块链)无法高速处理大规模海量数据,性能较慢(每秒少于20笔交易),无法保护隐私。 目前大部分银行使用余额记账,部分区块链使用未花费交易输出(UTXO)记账。 余额查询复杂,不适用于银行业务。 中国队的成功有几个重要原因。

● 做区块链大数据版,利用大数据平台处理海量清算数据(代替普通数据库),支持数据存储规模横向扩展,自动三备,增强单点容错,多点容错- 服务器并发处理。

● 将一个复合交易分解为6个原子交易,而不是直接处理复杂的原始交易,简化了清算流程。 这项工作很重要,因为如果不分解原子交易,即使区块链数据是碎片化的,也很难提高性能。 一笔交易可能涉及 6 个或更多账户,但这些账户可能位于不同的分片上。 如果一起处理,参与的分片可能要互相等待,导致分片区块链的性能无法得到很大的提升。 如果分开处理,每个原子事务可以在一个shard上独立处理,各个shard之间互不干扰,可以并行处理。 这就解决了以太坊没有解决的问题,因为以太坊提出的数据分片方式虽然提高了性能,但是并没有打断交易。 在商品交易中比特币区块链查询详情,一笔商品交易需要分解成6个原子交易,但信用卡等交易可能会涉及到更多的账户。

●使用多链架构(而不是单链架构)来保护隐私并简化区块链架构。

●采用账户链-交易链(ABC-TBC)熊猫模型架构,完成负载均衡机制,维护系统性能。

●采用余额核算,兼容现有银行账户体系,便于与银行、金融机构对接服务。

比特币等于区块链吗_什么是比特币区块链视频_比特币区块链查询详情

2 大数据版区块链技术架构

本文涉及的区块链技术基于天德大数据版的区块链技术架构。 该架构分为5层,即:存储层、核心层、服务层、接口层和应用层,如图1所示。

比特币区块链查询详情_比特币等于区块链吗_什么是比特币区块链视频

图1 天德大数据版区块链技术架构

2.1 存储层

存储层包括区块链数据缓存、区块链数据存储和读写分离模块。 本文主要介绍基于大数据平台的区块链数据存储。 其内容包括区块数据、链式结构、HBase存储优化技术等。Hadoop框架是一个可靠、可扩展的分布式开源计算框架。 HBase是基于Hadoop平台的分布式列式高维数据库。 具有高扩展性、高吞吐量、强容错性,支持动态扩展。 支持高并发高速读写,可根据业务需要方便地建立多级索引表,为区块链上的数据检索提供灵活的操作方式和良好的性能。

2.2 核心层

核心层包括区块构建预处理模块、共识机制模块、信誉机制模块、区块同步模块、交易签名验证模块、节点签名验证模块、验证节点管理模块。

2.3 服务层

服务层包括账户链(ABC)、交易链(TBC)和链码。 ABC负责存储和维护账户信息,TBC负责执行交易和维护交易历史。

2.4 接口层

Java区块链连接器(JBCC)既是天德区块链(TDBC)对外服务的接口,也是行业应用与区块链的沟通桥梁。 JBCC提供创建交易链、创建用户链、插入交易、查询链信息、查询交易信息、获取身份证明、获取交易证明等功能。 有效利用区块链功能。

2.5 应用层

通过区块链接口层JBCC提供的服务,区块链可以快速对接版权登记、金融交易、清算、征信、保险、供应链金融、共享经济等传统应用服务。

3 清算系统技术架构

清算系统采用ABC-TBC双链架构,账户信息与交易信息分离。 该系统在可扩展性和负载均衡方面具有很大的优势。 ABC只维护账户,TBC负责交易处理。 ABC需要向TBC提供账户信息才能执行交易。 因此,ABC 可以由一家机构统一管理,并保持完整的账户历史记录。 TBC将多个ABC连接在一起,通过交易软件进行交易并记录交易历史信息。 TBC跟踪完整的交易记录,ABC的每一次变动都可以追溯到TBC的交易记录[1]。

传统的区块链需要同时维护账户和交易信息,不能轻易拆分。 天德的多链区块链架构可以通过将账户信息和交易信息分离为ABC和TBC进行多方面优化。 具体来说,可以提高系统整体的可扩展性,实现负载均衡,因为ABC可以分片成多个子ABC,每个子ABC负责一组账户,TBC可以根据工作量需要进行扩展。 当一个ABC划分为多个子ABC,账户独立时,由于每个账户只存在于一个子ABC中,任何一个ABC都不处理交易活动,因此子ABC之间不会相互干扰。 在这种情况下,每个子 ABC 可以在不同的处理器上并行运行以加速计算,而无需子 ABC 之间的任何交互。 分为 ABC 和 TBC 模型后,区块链可以拆分和合并,实现横向扩展 [2]。 随着工作负载的增加,可以通过添加更多服务器来维持整体系统性能。

基于前面的讨论,本清算系统提出了一种负载均衡的双链区块链架构,如图2所示。

什么是比特币区块链视频_比特币等于区块链吗_比特币区块链查询详情

图 2 清算系统技术架构

该架构具有以下主要特点。

● 交易所:每个交易所至少有一个ABC,用于存储有关客户账户及其交易历史的信息,可能还有多个处理交易的TBC。 每个交易所都使用ABC存储交易所的所有账户信息和余额,并保持TBC更新。

● 清算中心:有一个大的区块链账本和多个TBC。 一组TBC在交易所与ABC交互接收交易信息,另一组与银行交互更新银行的账户信息。

● 银行:每个银行至少有一个ABC,可能还有几个TBC。 银行使用 ABC 存储账户信息及其余额,使用 TBC 跟踪与账户相关的交易活动。

● 监管机构:监管机构可以访问存储在区块链上的大账本,但需要参与与银行和清算中心相关的区块链基础设施建设。 由于区块链账本包含所有账户的完整交易历史,监管者可以查看每笔交易,包括所有交易详情,如交易金额、交易类型、交易日期和时间等[3]。

什么是比特币区块链视频_比特币区块链查询详情_比特币等于区块链吗

4 双链清算系统的记账流程设计

原始交易按照清算业务定制的数据结构执行。 一个正常的原始交易数据需要包括交易ID、原始交易、原子交易和签名串。 具体过程如图3所示。

比特币区块链查询详情_比特币等于区块链吗_什么是比特币区块链视频

图3 双链清算系统的账务处理流程

下面将举例说明如何将一个原始交易拆解成多个原子交易的集合。

(1) 拆解原始交易

交易双方为A和B,A花费10000元从B处购买10吨铜,从资金、资产和手续费(默认支付5%)来看,将有6笔原子交易,如表1所示。

表1 拆解原始交易

比特币区块链查询详情_什么是比特币区块链视频_比特币等于区块链吗

(2) 原始交易存储

区块链将共识后的原始交易信息以区块为单位写入交易二级索引表(ITX表)和TBC表,其中TBC表为区块ID哈希后行的键值Rowkey,使用所有交易将块中出现的ID作为列名,使块数据均匀分布在多个RegionServer上,解决数据局部热点问题,防止数据倾斜。

(3) 交易记账/分配

ABC 表实现了原子事务的记账功能。 该表提取了账户的量化信息和非量化信息。 如果量化信息中存在同账户操作,则先累加合并,然后对同账户同名操作与原值进行数值计算,最后写入账户二次以科目为单位的索引表(IACT表)和ABC表。 该表还将区块的ID哈希为该行的键值Rowkey,将区块内所有发生交易的账户和平台账户作为列,将同一区块内发生的所有交易按账户进行分组合并,用于持久化存储[4].

(3) 信息查询与检索

通过建立二级索引加速HBase数据检索。 主要针对以下两种业务场景。

● 场景一:用户提出账户余额有问题,想查看交易的完整记录(需要建立用户账户和交易的索引表)。

● 场景二:某笔交易出现问题,需要查看原始区块信息(需要建立交易和区块的索引表)。

针对场景一,引入IACT表为账户建立二级索引表。 该表对帐户 ID 进行哈希处理并将其存储为 Rowkey。 列信息主要包括三部分:非量化信息、可量化信息和块标志信息。 其中,非量化信息主要包括地址、联系方式等无法数值计算的信息; 量化信息主要包括可以数值计算的信息,如人民币、美元等资产账户和资本账户; block flags store 与账户交易相关的区块,以“1”为标志[5]。

针对场景2,引入一张ITX表,将交易ID进行哈希处理,存储为TBC和ABC的Rowkey。 当需要查询原始交易时,可以通过二级索引快速检索到所需的交易信息。

在双链清算系统中,TBC链负责存储原始交易信息; ABC链负责存储实时记账/分配信息; IACT表负责存储账户可量化信息、不可量化信息和关联块的标识位; ITX 表负责存储有关交易和区块的信息 [6]。

区块链应用层通过双写数据解决交易二级索引表和账户二级索引表的数据一致性问题。 在写入交易数据和账户数据的同时,将索引字段与Rowkey的对应关系作为索引数据写入另一张表,即应用数据和索引数据同时写入。 这种双写数据的方式可以做到很好的实时索引。 未来的改进方式是使用HBase协处理器,以对应用程序透明的方式实现交易二级索引表和账户二级索引表的数据更新操作。

在本文清算系统的记账流程设计中,一个非常重要的任务就是对原始交易进行分解。 一次商业交易可能涉及 6 次或更多次账户变更。 如果一起处理,区块链分片将无效。 如果分开处理比特币区块链查询详情,原子交易可以在一个分片上单独处理,解决了一个以太坊无法解决的问题。

5 清算交易数据安全传输设计

在清算系统工作的全过程中,需要保证所有进出数据在传输和存储过程中的安全[7]。 因此,针对清算系统中数据流转的全过程,结合区块链加解密的特点,进行如图4所示的设计。

比特币等于区块链吗_什么是比特币区块链视频_比特币区块链查询详情

比特币区块链查询详情_比特币等于区块链吗_什么是比特币区块链视频

图 4 天德链应用数据安全接入流程

(1) JBCC客户端

● JBCC客户端对交易信息进行哈希处理;

● 使用JBCC服务器的私钥对交易信息进行签名,形成签名串;

● 生成对称密钥;

● 使用对称密钥对交易明文进行加密,形成交易密文;

● 使用JBCC 服务器的公钥对对称密钥进行加密,形成密钥密文;

● 将签名、密钥密文和交易密文发送给JBCC 服务器。

(2) TDBC

● TDBC使用自己的私钥解密密钥密文得到对称密钥;

● 使用对称密钥对交易密文进行解密,得到交易明文;

● 使用TDBC 公钥加密对称密钥,得到密钥密文。

● 使用JBCC 客户端的公钥来验证交易明文的哈希和签名。

需要强调的是,JBCC客户端是区块链客户端的代理,是区块链核心程序对客户端的封装封装,提供写入和查询区块链的接口; JBCC服务器是区块链服务器的代理,主要执行JBCC客户端与区块链核心程序之间的数据传递,是区块链提供分布式存储和交易数据、区块链数据校验等服务的窗口。 ; TDBC终端负责交易数据的解密、签名验证、共识、存储等[8]。

6 清算系统核心数据结构设计

数据结构的设计是整个清算系统中的重中之重。 下面将列出系统中使用的两种通用三方交易的数据结构格式。

6.1 原始交易的数据结构

原始交易的数据结构包括交易ID、资产交易金额、资金交易金额、交易单位、交易单价、发起方账户ID、接收方账户ID、交易平台手续费账户ID、交易平台费率、交易平台方流程手续费金额、交易对方交易平台手续费金额、交易时间戳、交易描述、原始交易中需要保留的非量化信息[9]。 原始交易的数据结构如表2所示。

表2 原始交易的数据结构

什么是比特币区块链视频_比特币等于区块链吗_比特币区块链查询详情

6.2 原子事务的数据结构

原子交易的数据结构包含1条非量化信息和n条量化信息。 原子事务的数据结构如表3所示。

表3 原子事务数据结构

什么是比特币区块链视频_比特币区块链查询详情_比特币等于区块链吗

6.2.1 非量化原子交易的数据结构

什么是比特币区块链视频_比特币等于区块链吗_比特币区块链查询详情

原子交易中的非量化信息用于记录和更新账户的基本信息。 非量化原子交易数据结构如表4所示。

表4 非量化原子交易数据结构

比特币等于区块链吗_比特币区块链查询详情_什么是比特币区块链视频

6.2.2 量化原子交易的数据结构

量化原子交易的数据结构用于积累账户的量化信息。 原子事务中的量化信息描述了原子事务中涉及数值计算的相关操作。

清算系统需要使用量化的原子交易数据结构来描述交易用户操作账户资金或资产的过程。 通常,原子交易中的量化信息应该是一个列表数据结构:列表,列表中的每一项由账户ID、原始交易ID、量化名称、量化类型、量化金额、交易描述和业务时间戳组成,见表5.

表 5 量化原子事务数据结构

比特币等于区块链吗_比特币区块链查询详情_什么是比特币区块链视频

7 清算系统界面及功能设计

清算平台的设计目标是定期将清算所的用户注册、银行存取款、盘中持仓交易记录到区块链系统中,并可进行多维度查询。 功能上可分为用户注册、商品交易及数据查询、批量数据导入等基本用户模块[6]。

(1) 批量数据导入

为方便用户,本模块支持手动或自动批量导入交易所日终交易文件。 其中,手动方式可以通过浏览器http方式访问,也可以在shell终端下用wget执行; 自动方式可以通过在linux环境下设置定时任务来定时导入。

(二)会员资料查询

查询会员基本信息及交易账户信息。 本模块可以根据会员代码和交易账号查询会员的详细信息列表,包括会员编号、会员全称、会员简称、会员类型、会员状态、会员主体类型、会员编号(交易所)、经济会员编号、注册日期和时间等。

(3)基金数据查询

查询会员的资金账号及账户余额信息。 该模块可以根据会员代码和交易账号查询资金账户的详细信息列表,包括资金账号、会员代码、会员名称、交易所、创建时间等信息。

(4)交易数据查询

查询交易记录、银行记录等信息。 该模块可以根据会员代码和交易账号查询交易账户的详细信息列表,包括交易账号、会员代码、会员名称、原始交易账号、原始会员编号、创建时间等信息。

(5)资产数据查询

查询职位汇总、职位详情等信息。 该模块可以根据会员代码和产品代码查询持仓汇总的详细信息列表,包括会员编号、资金账号、产品代码、总持仓数量、持仓成本等信息。

(6) 区块链信息查询

查询区块高度、时间戳、区块内交易大小、区块哈希等信息。 该模块可以查询最近区块的详细信息列表,包括区块高度、时间戳、链长、区块哈希值等信息。

8 清算系统测试与分析

本测试场景区块链节点部署方式采用4×4矩阵部署,即约定4个区块链节点,每个节点需要配置4台服务器作为区块链应用的宿主和大数据的支撑环境数据平台,并增加2台x3850作为加解密服务器,具体配置见表6。

表6 测试环境软硬件配置

比特币区块链查询详情_比特币等于区块链吗_什么是比特币区块链视频

什么是比特币区块链视频_比特币区块链查询详情_比特币等于区块链吗

为了充分验证该架构的可行性,对33.34亿笔历史交易和6201762笔在线实时交易进行了测试。 批量历史交易数据显示,系统每秒处理约5000笔交易数据; 线上实时交易数据稳定测试一个月左右。 通过与现有清算系统对比,本次大数据版区块链清算系统实测正确率达到100%。 如表7所示,主要从六个维度进行对比分析:原始交易数、原子交易数、交易数据量、每秒执行的交易数、最大区块容量、数量的节点。

表7测试结果

比特币区块链查询详情_比特币等于区块链吗_什么是比特币区块链视频

通过以上实验结果分析,33.34亿的历史交易量相当于比特币2008-2017年所有历史交易量的15.5倍(按照比特币目前的交易速度,达到总交易量还需要22年)交易量33.34亿),美国纳斯达克证券交易所16个月的交易量,英国伦敦证券交易所14年的交易量,以及Visa信用卡231小时的全球交易量。

由于区块链系统大数据版本复杂,组件众多,单点资源消耗比较大。 启动区块链大数据版后,通过VisualVM查看线程状态,可以看到系统启动时区块链节点线程的实时峰值约为316,运行一段时间后,达到稳定期,线程数下降到200左右。这里笔者对HBase连接池做了很多优化,优化了SpringBoot核心线程数,调整了最大连接数,核心数连接数,以及过期时间,以达到平衡线程数和区块链最大系统吞吐量的目的。 区块链测试节点线程状态如图5所示。

比特币区块链查询详情_比特币等于区块链吗_什么是比特币区块链视频

图5 区块链测试节点线程状态

天德大数据版清算链系统与其他区块链系统的性能对比如表8所示。

表 8 区块链性能比较

什么是比特币区块链视频_比特币区块链查询详情_比特币等于区块链吗

显然,天德清算链的实际处理速度远超其他区块链。 并行拜占庭共识协议(CBFT)的交易和投票并行执行,投票完成后确定高度,支持高频交易,提高可扩展性。

9清算系统风险决策与风险评估模型展望

清算系统每天处理的交易数据种类繁多、数量巨大,涉及的金额巨大,清算系统风险决策和风险评估模型的重要性不言而喻。 在高速、自动化的交易清算业务流程中,更需要自动化的风险决策机制。 这是将大数据平台融入区块链系统的一大优势,也是天德区块链非常大的创新和尝试。

区块链大数据版与“区块链+大数据”最大的区别在于数据可以直接在区块链平台上进行分析,无需脱链。 比如分析区块链链上3年的数据,如果将区块链的历史数据迁移到大数据平台进行分析,那么数据正在抽取、转换、加载(extract-transform-load, ETL)过程可被篡改,将大数据平台集成到区块链中,可以直接在区块链中进行数据分析操作。

由于区块链与大数据平台的高度集成,区块链上的所有数据都存储在大数据平台中,可以充分利用现有的大数据分析工具,如R、MLlib、统计产品和服务解决方案 统计产品与服务解决方案(SPSS)、统计分析系统(statistical analysis system,SAS)等,对区块链进行大数据分析。 For example, in the clearing system, it is possible to identify and reduce false transactions by analyzing transaction credit, improve transaction clearing efficiency, and prevent fraud risks. At the same time, it also provides a new path for establishing and improving the risk decision-making and credit risk assessment models of the clearing system[10] ].

10 Current status of blockchain-based clearing and settlement solutions

In January 2017, the American Depository Trust and Clearing Corporation (DTCC) teamed up with IBM, Axoni and R3 to develop a blockchain-based clearing and settlement system. DTCC claimed that this was a huge and realistic project and planned to launch the system in 2018. . Clearstream and Eurex, along with the German central bank and other European central banks, have announced that they will work together to develop a blockchain prototype for cross-border secure settlement through the delivery versus payment (DVP) process.

DTCC's Mark Wetjen recently commented on distributed ledger technology (DLT) solutions: “With DLT's potential for further risk reduction, reduced financial transaction processing costs, and potential applications in derivatives data processing, DLT Great attention has been drawn. However, the use of DLT does not necessarily guarantee efficiencies and cost savings in all post-trade processing. For example, the DTCC sees no near-term benefit in using DLT for clearing and settlement in US equities and most fixed income markets.”

In April 2017, Mark Wetjen presented at the Massachusetts Institute of Technology (MIT) Financial Technology Conference on common blockchain designs that prevent blockchains from being used for transaction settlement: "Is there any way to make the net (balance) Is it not so important anymore? In this case, can technology like blockchain work? If not, the system must be settled as a whole, and every transaction that occurs in a day must be settled every day. The workload is huge, And it introduces more risk, so most companies don't want to do it."

This shows that Mark Wetjen has a problem with blockchains that cannot support balance calculations and cannot handle large data. Unless the blockchain can handle big data (huge workload) and balance calculations, using the blockchain will increase the risk in clearing and settlement.

However, these problems did not appear in the Chinese version of the blockchain clearing and settlement scheme. The blockchain clearing and settlement used in China is based on the model of full settlement and net settlement with a multi-level account structure on the big data platform, so that Avoid the difficulties encountered by DTCC.

In April 2017, the Tiande big data version of the blockchain successfully ran on a clearing system for one month, and processed 3.334 billion clearing transactions. The completion of such a large amount of transactions in the blockchain system is the first in the history of the blockchain. of a record. The Tiande Big Data version of the blockchain has attracted more than 100 teams from China, the United States, the United Kingdom, and Japan to discuss together, including local governments, banks, and world-renowned IT and financial technology companies [11].

11 Conclusion

This article introduces the application of Tiande Big Data Edition blockchain technology in the liquidation system. By using the big data platform to store and analyze the data on the blockchain, the information barriers between big data, blockchain and the liquidation system are broken down. At the same time, it is proposed that meaningful block data should be deeply processed and mined to provide information support for risk decision-making, risk assessment and auditing of the clearing system.