您现在的位置是:首页 > 区块链 > 区块链技术区块链技术

区块链系统与分布式存储系统

2019-07-16来源:作者:经济常识笔记栏目:区块链技术

简介区块链系统与分布式存储系统 提供分布式存储的区块链系统是一种不同于一般公链的区块链系统,它是分布式存储+特殊的区块链系统设计。

当我们谈到数据价值的时候,需要先小小的计算一下数据的体量。如果每一个人一次消费产生80byte的记录(按照信用卡和储蓄卡ETF 80 byte file要求),每人每天按5次消费计算,仅仅计算2亿的中国城市人口,就会发现每天产生的消费记录数据为80GB,按照互联网数据公司3个月左右开始画像的话,则是7.2TB数据。那么在消费次数、消费人数、数据积攒时长增加的时候,这类数据会以很快的速度达到PB级别。

分布式存储

一、实现数据价值的基础设施

这些数据能够被一般意义上的区块链系统存储并处理吗?不能。一般意义上的区块链系统,或者说大多数的公链,它是这样一种分布式系统:系统中的每台计算机都需要存储同样的文件,以保证系统的功能。显而易见,它们是无法提供PB级别的存储空间将数据价值保留在上面的。

所以我们需要将数据存储在分布式存储系统中,再通过区块链的结算功能性实现数据价值。简单来讲就是将存储部署在分布式存储系统中的同时,将状态留在区块链上,以待之后的处理和使用。

这其中,分布式存储是指通过不同的加密方式把数据存储起来,确保数据和链上的账号一一对应,在未来的使用中,利用不同的加密计算工具对数据进行快速的调用和处理,而在数据制造和计算时,都可以做到半匿名的方式。相较于传统互联网的Dropbox,因为结合了区块链来存储数据,在密钥的功能性和本地私密性之外,能够增加额外的处理功能接口,以满足数据分享和计算的需求,从而帮助数据更好地分发和拓展,实现数据的价值。

而「状态」则是指数据来源以及数据的改变,或者数据运算的结果。将这些状态留在区块链上是为了对其运算和改变可以追溯,这样可以更好的知道哪些数据更有价值,并通过即时的结算给出对应的价值。

所以我们说,只有将区块链系统与分布式存储系统这两种分布式系统相结合,而不是单纯的只使用区块链系统,才有可能实现数据的价值,而实现了可以使用分布式存储系统中的数据的区块链系统,是一种从设计到实现上都不同于一般公链系统的区块链系统。

不过,除了区块链系统与分布式存储相结合实现数据价值的方式之外,我们还可以从另一个角度探索数据价值的实现,即只用区块链作为结算账本,把数据放在本地,在完成本地计算后将结果放在区块链上。此时本地计算需要可信计算作为一个媒介,同时需要考虑预言机问题,这部分可以参考现有的可信计算项目的解决方案。

二、详解区块链系统与分布式存储系统

为了更清楚的理解提供分布式存储的区块链系统,我们先剖析一下「区块链系统」和「分布式存储系统」。

区块链是通过分布式节点的存储资源,对全网全节点进行存储同步,并通过相应的共识技术保证内部节点对存储内容更改的有效性,维护一个完整的可查找的数据库。在此系统中,存储的都是链内生成账户之间余额的更改或者总剩余,当然,更完善的一些系统功能也包括存储了多个账户对数据库中子账目的数据状态维护。

因此,该系统的主要功能是记录状态的改变,然后同步。对节点来说,无论是PoW,PoS还是PoX,其核心的要求就是遵循特定的投票规则,将新的变动同步在所有节点的存储中。

如果一个系统使用的是区块链结构,那么它是不支持用户个人数据,或者说不支持我们希望实现价值的数据的,区块链上的数据是账户数据以及结算数据,这些数据是完全相同的存储到每一个节点的。

三、那么什么又是分布式存储系统呢?

分布式存储系统是分享分布式节点的存储资源,通过文件完整性证明和纠删码校验技术对数据存储方的数据进行分布式管理,全网的节点并不维护相同的存储信息得以降低冗余的一种分布式系统(区块链系统中全网的节点维护相同的存储信息)。

回到本文一开始提到的消费数据的例子,现有的互联网公司是通过数据的分布式存储,通过RAFT和多级灾备等方式,做适当备份来保证数据不丢失,建立起一个能储存海量数据,并有效率、低开销的系统。

也就是说在分布式存储系统这个部分,几乎所有的公司都达成一个共识,就是分布式存储是现阶段实现大量数据存储的最好的一种方法。无论区块链存在不存在,分布式存储系统已经是一个相对来说比较完善、并且已经广泛用在实际生活中的系统了。

四、提供分布式存储的区块链系统

1、在厘清区块链系统和分布式存储系统这两种不同的分布式系统后,我们接着讨论提供分布式存储的区块链系统。提供分布式存储的区块链系统是一种不同于一般公链的区块链系统,它是分布式存储+特殊的区块链系统设计。

2、一个普通的区块链系统,其核心逻辑在于覆盖所有与账户有关的交易属性上,比如账户(公私钥)、账户转账(签名系统和共识系统)、以及条件状态下的转账(操作码和其对应的编码方式)。

3、而一个提供数据存储的区块链系统除了需要覆盖以上三个属性之外,由于其提供了存储属性,为了确保存储的状态未来也可以对条件进行制约,需要在其操作码上进行判断逻辑的添加,以保证将存储产生的状态、数据支持的状态都能在链上得到追溯,这就是我们需要对提供存储的区块链系统进行特殊设计的原因。

4、具体而言就是,区块链是需要对特定条件下的数据状态进行维护的,状态被保护起来才能保证交易正确之后状态相应改变了。那么如果分布式存储的状态没有通过相应的设计与区块链系统结合的话,就会出现自动执行的一个空隙,如果状态的空隙被人利用的话,就会出现存储过程状态提前被记录,或者滞后被记录,这会影响到区块链系统中账户余额,也就是产生了系统不安全的空间。

因此,提供分布式存储的区块链系统和一般公链系统不同的部分主要就体现在「状态」这部分,记录某些状态并作出账户上的反馈。

另外,存储相关状态也使得智能合约可以及时获取状态,从而可以设计出一个能够使用外部数据的子账本,这样在工程上能更好的流程化,也会降低用户由于预言机导致的链上资产损失的可能性。

区块链系统   分布式存储

很赞哦! ()

    股票