http://www.7klian.com

加密区块链数据库详解(第一部门)

对付支持智能合约的区块链,另一种要领大概是将整个数据布局存储为智能合约的状态,并将查询和更新操纵作为智能合约来实现。不幸的是,这种要领有两个主要的范围性。首先它不是通用的,因为(1)很多区块链不支持智能合约(譬喻比特币),以及(2)很多智能合约平台不维护跨生意业务的状态(譬喻Algorand)。第二个限制与利用此类平台的本钱有关。事实上,智能合约平台不只需要付出存储数据和代码的用度,还需要付出执行代码的用度;代码越巨大,本钱就越高。请留意,我们将数据布局叠加在区块链之上的第一种要领不只通用,并且本钱更低,因为我们可以将数据存储在生意业务中而不是智能合约,而且不需要在区块链上执行任何代码 。
1. 将rn发送到区块链以规复值vn和地点rn-1。
如何针对查询和更新巨大性设计高效的区块链EMM?
1. 将每个值vi与存储vi-1的先前事务的地点ri-1毗连起来。
区块链上存储任意数据布局
4. 最后,存储与客户的最后一笔生意业务的地点rn。
要答复这个问题,请首先留意,可以通过将以前事务的“地点”存储在较新的事务中来链接事务。操作这一特性,我们将在区块链顶部叠加一个数据布局,这样我们就可以更新和查询数据布局,而不必对后端(区块链)举办任何修改。在下面,我们提供了一个简朴的示例,演示如何叠加一个链接列表。为了在区块链上存储一个值为V=(v1,…,vn)的列表,我们执行以下操纵(请参阅图1相识此进程的说明):
要读取值,请执行以下操纵:
别的一个简朴的办理方案如下:每次更新时,我们都可以从区块链读取整个EMM,举办须要的变动,然后将其写回一个全新的EMM。这是查询正确性的抱负办理方案,因为每个查询老是从最新的EMM中读取。然而,这种办理方案对付更新操纵效率极低,因为每次更新操纵都必需读取和写回整个布局。因此,我们还需要思量以下第三个挑战:
我们如何将这些事务链接在一起以构建任意数据布局?
大大都区块链(譬喻,Algorand)都答允用户在生意业务中存储任意数据。由于在单个事务中只能存储有限数量的数据,因此必需在多个事务中拆分大型数据布局。然后问题酿成:
3. 对所有值反复此操纵。
NoSQL数据库由于其简朴性、可扩展性和高机能担保,连年来在数据库行业中越来越突出。各类NoSQL数据库,如键值存储(譬喻DynamoDB)和文档数据库(譬喻MongoDB),可以用多映射数据布局实例化。多重映射是将标签映射到值元组的字典的泛化。它们支持get和put操纵,在给定标签的环境下,可以存储或检索与标签相关联的值的元组。加密多映射(EMM)是一种端到端的加密多映射,它支持get和put操纵,但对加密数据举办太过加密。由于多个映射可以用来暗示NoSQL数据库,因此设计区块链加密的NoSQL数据库本质上与设计区块链EMM沟通。
在本系列的下一部门中,我们将描写三种在区块链上存储动态emm的方案,每种方案在查询、添加和删除效率之间实现了差异的衡量。

2. 利用vi || ri-1建设一个新生意业务,并将其发送到区块链。这将生成ri,即新生意业务的地点。

3. 继承此进程,直到已读取所有值。

设计区块链EMM有两种主要要领。首先是设计一个专门支持EMM的新区块链。这种要领的优势在于可以配合设计EMM和区块链以优化机能。第二种要领是设计一种对传统友好的办理方案,因为它可以在已有的区块链之上利用。这种要领的优势在于,,区块链EMM可以成立在多个平台之上,无需成立新的区块链。然而,第二种要领存在一些挑战:
在描写我们的区块链EMM构建之前,让我们先接头一下第一个挑战——第二个和第三个挑战更为棘手,因此我们将在具体描写构建自己时办理它们。
暗码学规模的重点是端到端加密数据库的设计,更遍及地说,是对加密数据的搜索问题,这一规模被称为加密搜索。关于这个规模的先容,请参阅布朗大学加密系统尝试室的这一系列博客文章。出格是第五篇文章,描写了一个尺度的/会合的EMM的结构(在这篇文章中称为加密数据库(EDB))。
2. 由于区块链在设计上是防改动的,我们如何更新EMM,尤其是如何从中添加/删除数据?

雷同地,我们可以在区块链上叠加更巨大的数据布局,譬喻二叉树。这可以通过将两个地点毗连到每个值来完成:一个用于其左子项,一个用于其右子项。如图2所示。

加密多重映射
2. 然后利用rn-1规复vn-1和rn-2。

在本文中,我们接头了我们的新论文《加密的区块链数据库》,个中我们设计了端到端加密的区块链数据库,以支持需要存储和查询敏感数据的去中心化应用措施。出格是我们专注于我们所称的区块链加密多映射(EMM),它可用于实例化各类NoSQL区块链数据库,如键值存储或文档数据库。

数据库是将区块链和数据库的属性团结起来的存储系统,如去中心化、抗改动、低查询延迟和支持巨大查询。跟着它们获得更遍及的回收,人们对它们打点的数据的保密性的担心也会增加。已经有多个项目利用区块链来存储敏感数据,譬喻电子医疗保健和财政记录,法令文件和客户数据。
旧版友好
1. 我们如安在区块链上存储数据布局?出格是,如何存储加密的多映射数据布局?大大都现有区块链旨在存储金融生意业务或智能合约的状态,但不是任意的数据布局。

郑重声明:本文版权归原作者所有,转载文章仅为传播更多信息之目的,如作者信息标记有误,请第一时间联系我们修改或删除,多谢。

相关文章阅读