vChain:支持可信数据查询的区块链技术

香港浸会大学徐建良教授团队最新的研究成果“vChain: Enabling Verifiable Boolean Range Queries over Blockchain Databases”近日获ACM顶级会议SIGMOD 2019录用发表。该文提出了一项全新的支持可信数据查询的vChain区块链技术,用以保障区块链数据查询的安全性和完备性。

近年来,由于加密货币和去中心化应用的火爆,其背后的技术——区块链被广泛关注。区块链可以看做是一个基于哈希链和共识机制的分布式数据库。比如,比特币区块链中存储了用户之间的交易信息,支持智能合约的以太坊区块链存储了数据状态的信息。区块链应用的兴起使得区块链数据库的高效查询变得非常重要,同时查询结果的安全性保证也不可忽视。

一个简单的方法是让用户来维护区块链数据库并在本地进行查询处理。基于每个区块的可验证性,这种方法可以保证查询数据的正确性和完整性。但由于维护整个区块链数据库需要耗费大量的存储、带宽和计算资源(例如,维护比特币区块链需要至少200GB的存储空间,50KB/s的上行带宽及每天6小时的在线时间),这种方法对于大部分普通用户来讲并不经济。

论文提出了vChain的框架,它可以减轻用户的存储和计算成本,并采用密码学技术来保证查询结果的正确性和完整性。为了支持可信的布尔查询,文章提出了基于双线性配对累加器的可验证数据结构,其可以对任意的数据属性进行聚合操作从而降低信息验证的复杂度。同时,作者设计了两种新的索引结构,分别将区块内数据和区块间的数据聚合起来,进而实现高效的查询验证。论文还提出了反向前缀树结构,以优化海量订阅查询的并发处理。

上图展示了vChain的系统模型,其中包含了矿工、服务提供商(全节点)、查询用户(轻节点)。矿工和服务提供商在区块链网络中存储完整的区块链数据,矿工还需计算出满足共识机制的结果并打包新的区块到区块链上。查询用户作为轻节点只同步区块头信息。

区块链建立在去中心化的环境中,所有的节点互相不信任,服务提供商作为全节点可能会返回不正确的结果。其中的原因包括程序执行错误、黑客攻击、商业利益等。可信查询旨在解决这一潜在的安全威胁。矿工在打包新区块时,将验证数据结构同时加入到区块中。服务提供商除了需要返回查询结果,同时将一些基于验证数据结构产生的验证对象(Verification Object,VO)一并返回。查询用户可以利用验证对象来检验返回结果的正确性和完整性。

该工作的创新性体现在:(1)针对不可信区块链节点,提出轻量级的可验证查询框架,同时保证查询结果的正确性和完整性;(2)提出基于双线性配对累加器的验证数据结构、数值属性转换等技术,从而降低查询验证的代价;(3)提出针对区块内数据和区块间数据的两种索引,用来进一步提升查询效率。

SIGMOD是国际计算机界数据库领域公认具有最高学术地位的顶级会议,由美国计算机协会(ACM)数据管理专业委员会(SIGMOD)发起,每年一届,至今已举办37届。会议的目的是在全球范围内为数据库领域的研究者、开发者以及用户提供一个探索最新学术思想和研究方法、交流开发技巧、工具以及经验的平台,引导和促进数据库学科的发展。SIGMOD和另外两大数据库会议VLDB、ICDE构成了数据库领域的三个顶级会议(CCF A类)。相对而言,SIGMOD比另外两个会议的含金量更高,被录取的难度更大。ACM SIGMOD的论文录取率很低,平均录取率大约仅为15%-17%。

  • 发表于:
  • 原文链接:https://kuaibao.qq.com/s/20181208G0UJSC00?refer=cp_1026
  • 腾讯「云+社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。

扫码关注云+社区