APP下载

区块链数据湖架构研究*

2023-05-12张桂刚毛湘科郝潆婷李雯晴邢春晓

计算机与数字工程 2023年1期
关键词:架构区块交易

张桂刚 李 超 毛湘科 郝潆婷 李雯晴 张 健 蔚 欣 邢春晓,3

(1.清华大学信息国家研究中心 北京 100084)(2.清华大学计算机系 北京 100084)(3.清华大学互联网产业研究院 北京 100084)(4.中国科学院自动化研究所 北京 100190)

1 引言

区块链[1]经过几年的发展,已经初步开始实现从理论研究阶段向具体应用阶段的转变。区块链最早从比特币为代表的交易,逐步在全球各国以及各个行业掀起了应用的热潮。不仅在金融科技[2],在物流[3]、贸易[4]、制造[5]等各个领域均开始了研究和应用。随着各种公链和各种私链以及联盟链的逐渐增加,成千上万的区块链会进行交易的交互。如何实现所有的区块链之间的互联互通,如何实现AML、KYC等分析挖掘越来越成为制约未来区块链发展的障碍。且随着区块链应用范围的逐步推广,越来越多的企业和个人把数据存储在链上,这就使得区块链的隐私保护问题愈发凸显。账本数据在链上公开存储造成的直接隐私泄露以及交易数据分析带来的被动隐私泄露成为限制区块链进一步发展的重要因素,因此有必要研究全面的区块链隐私保护与评估方法。区块链数据湖中存储着多种不同类型的区块链。从所涉及到的领域划分,包含的区块链可能涉及到金融、医疗健康、法律等多个不同的领域;从区块链本身进行划分,可以分为公链、联盟链和私有链。同时,不同的区块链,其存储的交易数据结构和交易模式也存在着较大的差异。为了更好地对区块链数据湖中各区块链存储的信息进行有效的利用,对各种类型的区块链及其交易进行有效管理是区块链数据湖的基础。

本文提出了一种区块链数据湖架构研究,通过该架构可以汇聚成千上万的区块链,并汇聚它们各自的原始数据,供大数据挖掘分析之用。

2 相关工作

根据赛迪全球公有链评估指数,仅作为评估对象的全球主流公链平台已超过30 个。实际上,全球公有链[6]项目远超过这个数目,而且数量上还在不断增加。不同区块链平台之间在设计理念和实现方面不尽相同,在区块链底层架构的标准尚未达成共识之前,区块链平台技术与应用的竞争日趋激烈。公有链方面,以以太坊、EOS 为代表的区块链平台在全球范围内具有极强的影响力,其技术与应用生态正得到市场的认同。国内NEO、公信宝、星云链等公有链项目提出了各自基础架构设计理念并予以实现,同时积极推进开源社区建设和应用生态完善。但相比国外优秀公链项目,国内公有链平台仍处于跟随状态。联盟链平台方面,IBM 的Fab⁃ric 已经成为联盟链技术平台的典范。基于Fabric的行业解决方案已经在金融、供应链、存证、物流等诸多领域得到广泛应用。国内微众银行、万向区块链及矩阵元三方共同开发了BCOS 区块链开源平台,提供企业级应用服务。区块链BaaS(区块链即服务)平台方面,国内互联网巨头纷纷战略布局。2017年4月,腾讯发布区块链白皮书并推出可信区块链Trust SQL;2018 年3 月,京东全面启动了区块链技术在业务场景中的应用探索与研发实践;2018年8 月,阿里云宣布发布企业级BaaS 平台,支持一键快速部署区块链环境,实现跨企业、跨区域的区块链应用。据不完全统计,截止2018年11月,已有9 家大型互联网企业发布BaaS 平台。 2019 年,区块链底层平台发展百花齐放,区块链底层平台研发、应用推广、生态培育的竞争愈发激烈。

微软的BlockchainDB系统采用部分共识(仅参与交易的节点进行共识),目的在于提高效率,但同时也降低了安全性。IBM 区块链数据库实际上是中心化设计,将排序服务放在了中心化的服务器进行交易顺序的排序。针对被动型隐私泄露问题,现有的区块链系主要使用同态加密、零知识证明、安全多方计算等密码学原语来进行隐私信息隐藏;针对主动型隐私泄露问题,主要使用地址混淆机制来防止攻击者对账本交易数据进行关联分析,例如Mixcoin、Blindcoi、CoinShuffle 等。此外,在通信过程中还可使用闪电网络、洋葱路由等技术,实现隐私信息的链下计算和匿名通信。

区块链数据湖的研究尚在起步阶段,目前国内外没有太多的文献。主要有蔡维德教授在他的著作《互联网》中提到了区块链数据湖BDL 的设计理念。图1展示了区块链数据湖BDL的架构。

图1 区块链数据湖BDL架构[7~8]

一种基于区块链的BDL系统,使原本互相隔离的区块链实现了区块链的互联互通,并可支持复杂查询、数据挖掘、数据分析功能,提升了数据利用效率。如图1 所示,BDL 与其他抽象节点的区块链数据可以互相持有,BDL负责利用大数据平台处理从各个区块链汇集而来的数据,同样可以将处理结果存入BDL存证区块链以及其他抽象节点,BDL系统架构,还可以打通各种同构或异构区块链,实现区块链数据相互融合和协同。

3 清华华鼎区块链数据湖架构

3.1 区块链数据湖架构

清华华鼎区块链数据湖架构如图2所示。

图2 清华华鼎区块链数据湖架构

清华华鼎区块链数据湖架构面向可信交易场景。其核心设计思想包括如下几条。

1)清华华鼎区块链数据湖有成千上万甚至未来几十万的大规模的区块链需要在产业互联网(包括互链网)上进行交易或者结算,下面举例说明。

(1)中央银行区块链数据湖监管中心需要对工商银行、农业银行、建设银行、交通银行以及其它所有的股份制银行的区块链数据湖进行交易查询、交易监管、交易溯源、AML 以及KYC 的大数据分析等。

(2)商务部区块链数据湖需要对国内外的所有企业区块链的交易和结算进行交易查询、交易监管、交易溯源、AML以及KYC的大数据分析等。

(3)海关总署区块链数据湖需要对所有跨境贸易区块链数据湖、疫情防控区块链数据湖、象牙等濒危动物走私数据湖进行交易查询、交易监管、交易溯源、AML以及KYC的大数据分析等。

(4)住建部的区块链数据总湖需要对全国各地比如上海的住建委区块链数据分湖、湖南的住建厅的区块链数据分湖、四川的住建厅区块链数据分湖等进行监管和查询,数据的下载和上传等。

2)成千上万的区块链汇聚到数据湖时,需要通过某种协议或者算法(比如双锁定)确保数据湖和各分数据湖以及各分支区块链的数据一致性。

3)清华华鼎区块链数据湖除了存储来自成千上万的区块链的上链数据,还需要提取成千上万的区块链的非上链数据汇聚到区块链数据湖中,以供后面的大数据分析使用。

4)清华华鼎区块链数据湖还引入外部数据库的数据到数据湖中,供未来的可信交易等的大数据分析之用。

5)所有在区块链数据湖的任何动作(包括查询、溯源、交易、结算、清算等)都会单独在区块链数据湖中进行记录并放到区块链数据湖存证区块链(BDL存证区块链)上。

3.2 清华区块链数据湖关键技术

主要研究以密码为核心的新型区块链数据湖自主可控关键技术,满足高性能、高可信、高可用以及高智能。包括五个方面:1)区块链数据湖存储与治理研究;2)事务处理和密态数据查询;3)密态数据智能分析和管理;4)可信智能合约[9~12]机制研究;5)区块链数据湖软件评测体系。总的思路为建立密码为核心的新型区块链数据湖软件基础设施,研究高可信存储体系;建立区块链事务处理和数据处理机制,满足事务和数据处理的高性能、高可信要求;建立智能分析和管理平台,建立智能合约机制,满足管理和分析的高可用和高智能要求,确保底层区块链数据软件体系的可信存储、高效处理、智能管控、安全验证。

图3 清华区块链数据湖研究内容逻辑关系

清华区块链数据湖关键技术主要包括如下七点。

3.2.1 区块链数据总湖与子湖共建共享关键技术

未来的区块链湖会形成分布式的湖,会有总湖和众多的子湖,如何实现总湖和子湖的数据的共建(包括各自分别创立数据上链到各自的湖中)与共享(总湖和子湖之间、子湖和子湖之间的数据共享等),将是一个关键的研究问题。基于数据湖的区块链可信存储技术借助数据湖数据共享的优势,在其上进行多链存储、访问,打造基于数据湖的高效、高可用、可信、智能存储[13]和高效交互的区块链基础设施。具体需要研究如下几个方面:1)易查询存储方式:突破现有的区块链系统不能直接查询交易内数据字段的具体细节。2)存储可信保证:数据湖是一种可以存储任意格式海量数据的共享数据库。在实现数据共享的同时,要求增加和修改数据时保障其安全性。3)多链存储及跨链访问:为了能够实现数据共享,要求数据湖具备多链存储和跨链访问功能。

3.2.2 基于语义的异构区块链融合关键技术

区块链数据湖需要汇聚成千上万甚至上十万百万的区块链,这些区块链各自采用不同的协议和共识算法等,形成了一个巨大的异构现状。如何通过语义计算技术实现这些海量的异构区块链本身的融合以及存储在它们各自链上的数据融合是一个巨大的挑战,也是关系到清华华鼎区块链能否成功的核心关键技术。

3.2.3 区块链数据湖查询关键技术

对区块链数据湖中多条链进行有效管理的基础是能够进行高效的交易数据查询[14~16]。受限于区块链采用链式结构来存储交易数据实现防篡改的设计,现有的许多区块链仅提供一些简单的交易查询方法。在面对溯源、区间等复杂类型的查询时,往往需要通过回放交易的方式进行实现,这样的做法显然是低效的。尤其是考虑到区块链数据湖中区块链的多样性、交易的多样性和查询的复杂性等因素时,目前许多区块链本身的查询算法难以满足区块链数据湖中高效管理交易数据的需求。因此,考虑区块链数据湖中区块链的特点设计高效的查询方法是十分必要的。

考虑到区块链数据湖中多条区块链的复杂性,整个区块链数据湖将从交易索引、区块索引和链索引三个不同层次进行索引构建。根据交易所包含的内容,可以为每条交易赋予一个或多个标签,以实现对具有同类型标签的交易数据进行管理,这也将传统的索引构建转换为对交易标签的生成和管理。交易索引是根据区块链上的每条交易的标签进行构建的。交易标签的生成方法,可以是在用户发起交易时,鼓励用户给出每条交易的标签,或利用类似于众包的方式给予每条交易一个或多个标签。等区块链上的交易数量达到一定规模时,可以根据交易和人工给出的标签信息进行模型的训练,从而为交易推荐标签信息。区块的索引是基于区块内所有的交易进行构建的,根据交易的标签信息,生成对整个区块中的交易信息的总体描述作为区块的标签。链的索引是根据区块的索引构建的,链标签是为了更好地对各链所属的领域,包含的交易类型等进行区分,是对整条链的交易和区块更高层次的抽象,同时,随着区块链上区块数量的增加,链索引也会随之更改。在根据用户的查询条件进行交易信息查询时,可以先根据用户的查询条件在链级别过滤掉一些与查询条件不相关的区块链,缩小查询的范围。然后在余下的链中,根据区块索引确定满足查询条件的区块。最后根据区块内的交易索引获取最终的查询结果。如果在查询中涉及到的链过多,可以采用并行查询的方式增快查询的速度。

区块链经常被用于存证溯源等任务,例如在商品的加工供应、版权更替、物流运输等业务领域。对于溯源类型的查询任务,其查询的交易之间通常具有依赖关系。为了提高溯源的效率,可以采用图数据结构对交易之间的依赖关系进行重构。涉及到具体的查询时,只需要利用在重构的图上执行广度优先搜索或者深度优先搜索算法即可获得溯源的完整路径。由于使用区块链之外的数据结构对交易进行重构,加快了溯源查询的速度。但是,区块链之外的数据结构并不具备防篡改性,因此只有确保图中重构的的交易与区块链上的交易是一致的,才能够确保图上溯源结构的完整性和可信性。为解决图中的数据和链上的数据的一致性,可以采用智能合约将区块链上的交易重构成图,然后将存储图文件的Hash 值重新存储在一条特殊的链上。每当从文件中加载图至内存中时,先验证存储图文件的Hash 值是否与之前链上存储的Hash 值一致,如果一致则可信,否则需要对图进行更新。

对于区间查询,通常是根据区块链中交易本身的属性进行查询,例如查询某段时间内的交易信息,可以根据交易的时间戳属性进行查询。鉴于关系数据库中属性查询的高效性,可以将交易所包含的属性值存储至数据库的表中,将原本区块链上的查询转换成数据库表中的属性查询。同样,外置的数据库表并不具备数据防篡改的机制,为了确保查询结果的可信性和完整性,需要设置跟溯源查询方案中类似的一致性校验机制。

除了上述常见的应用场景,面对不同的业务需求,区块链数据湖可以提供特殊的查询解决方案来支持对交易数据的高效管理。

3.2.4 异构数据湖大图压缩、划分、并行处理关键技术

异构区块链数据湖会形成各种巨大的图数据库,例如AML 的大图数据库、KYC 的大图数据库、智能合约网的大图数据库。这些大图数据库甚至有几千万上亿甚至几十亿个节点,几亿甚至上十亿百亿条关系边,如何处理这些异构的数据湖大图并提高其性能,这些图的压缩、划分、并行处理技术显得尤其重要。

3.2.5 区块链数据湖大数据挖掘分析技术

清华华鼎区块链数据湖不仅汇聚了来自成千上万的区块链上的上链数据,更多包括了这些区块链的全量数据以及来自外部的数据库数据。全量的数据为区块链大数据湖的分析提供了充足的原材料。如何在上链数据和非上链数据进行大数据的挖掘和分析,是未来亟需解决的关键核心技术。尤其需要实现高质量的分区策略,构造适合基于同态加密的加密机器学习算法的协议,实现智能优化、学习型优化器和学习型索引等。未来需要研究:1)基于数据湖的联邦学习和计算。通过技术手段将机构之间的建模过程联系在一起,同时又保持机构之间的数据独立,解决传统手段下数据安全防控的问题。2)基于借助同态加密的加密机器学习的分析与调优。3)数据智能分片,智能组件设计。

3.2.6 区块链数据湖监管、安全、隐私保护等关键技术

区块链数据湖,尤其是面向交易和结算的区块链数据湖,会存在大量的查询、监管、安全、隐私等需求,如何解决它们,是清华华鼎区块链数据湖面临的关键技术。区块链数据湖中存储有大量的交易数据,其中包含用户的隐私信息,且传统的隐私保护技术无法直接适用于区块链数据湖的架构,因此其隐私泄露问题尤为突出。研究适用于区块链的主流隐私保护技术,并结合区块链数据湖的特性和需求加以改进,对区块链数据湖应用得以推广使用有着重要的意义。

3.2.7 可信监管下的智能合约关键技术

清华华鼎区块链数据湖需要实现在可监管的智能合约框架下,设计全新的合约语言,并实现合约的形式化验证工具及合约引擎,构建具有独立性和扩展性的面向监管的智能合约基础设施,并通过同态加密技术保证合约的安全性和隐私性。具体未来需要研究如下内容。1)研究区块链的可监管性。即实现账本与交易分离,数据与算法分离,构建可监管的区块链系统架构;并通过合约模型标准化、合约功能专门化等手段,来保证区块链基础设施的独立性和扩展性。2)构建可监管的区块链架构,重构合约语言框架,包括源语言的文法、编译过程中的词法语法语义分析、目标语言引擎的数学模型等。

4 区块链数据湖应用

数字时代,传统的知识共享服务已向“互联网+”数字知识共享服务转型。一直以来,数字知识共享平台存在“各自为政、条块分割、信息孤岛”等问题。如何利用区块链技术所具有的不可篡改性、可溯源性这些原生特性,对数据知识进行存储、授权、处理、使用和监管,以保证数据知识的真实性和安全性、加工处理和授权可追溯、并支持高效监管。课题组在基于清华华鼎区块链数据架构的基础上,在数据共享和存储上面已经初步研发了一个基于区块链数据湖的文件共享系统。基于区块链的知识共享科技服务平台功能介绍,包括登录、数据上传者、数据标注者/加工者、数据利用者,数据监管者。该系统:1)硬件设施为Ubuntu 服务器;2)操作系统:Ubuntu 18.04;3)开发软件为Visual Stu⁃dio 2017。主要包括如下几个模块。

4.1 登录

用户通过输入用户名和密码,进入服务平台。如图4所示。

图4 登录页

4.2 数据提供者

数据提供者为服务平台提供结构/非结构的数据,并有权利上传数据到服务平台。数据是以json文件的格式上传,可以选择是否加密。上传的数据类型包括金融、政务、电子存证、医疗、物联网、商品防伪溯源等方面。如图5所示。

图5 数据提供者

4.3 数据标注者/加工者

数据标注者/加工者有权利从服务平台读取数据并进行数据加工,数据加工可手动标注,也可通过自动化工具进行标注。如图6所示。

图6 数据标注者/加工者

4.4 数据利用者

数据利用者可以根据各自的需求,从服务平台下载所需的数据,存储到本地。如图7所示。

图7 数据利用者

4.5 数据监管者

数据监管者对服务平台的专家、专家操作记录进行管理,如图8~9所示。

图8 专家列表

图9 专家操作记录

5 结语

本文研究一种区块链数据湖架构,通过该架构成千上万的区块链会汇聚成区块链数据湖,通过区块链数据湖不仅实现成千上万的区块链本身的共享,也实现区块链数据以及区块链的各种原始数据的共享,从而为未来全量区块链大数据的分析提供了一种可行的架构和机制。

猜你喜欢

架构区块交易
基于FPGA的RNN硬件加速架构
功能架构在电子电气架构开发中的应用和实践
区块链:一个改变未来的幽灵
区块链:主要角色和衍生应用
区块链+媒体业的N种可能
读懂区块链
LSN DCI EVPN VxLAN组网架构研究及实现
大宗交易榜中榜
交易流转应有新规
大宗交易