首先,我们交待一下问题的背景。
我们知道,区块链是一个分布式账本。一个完整的区块链账本,包含了从创世区块到当前区块的所有区块数据。每当链上达成一笔交易,便会向全网广播,系统内每个节点都要进行数据备份。并且全节点,需要下载并保有完整的区块链数据,即从创世区块开始备份。自然,由于数据全,所以占用的空间也大。
而区块链节点,通常指的是区块链网络中的计算机,也就是说任何连接到区块链网络的计算机(包括手机,矿机等)都称为节点。比如说比特币网络是一个公有链,用户在自己的联网电脑上运行比特币程序时,这个电脑就成为比特币区块链网络中的一个节点。
所以说,作为节点首先要具备一定的存储空间,以将区块数据存储在TF卡、U盘、移动硬盘和计算机等地方;同时还要连接网络,在存储空间上运行区块链相应程序。因此,节点必须拥有足够好的性能,以免一跑就堵塞了。
而现在我们面临的一个问题是随着时间的推移,区块数据会不断累积。
2009 年 1 月至 2021 年 10 月 11 日比特币区块链的规模
根据Statista.com网站的统计,2021年第四季度比特币全节点数据就已经达到360G了,未来,随着区块链应用的不断发展,数据量增幅只会更加惊人。
“区块链”本质就是缓慢、昂贵的数据库
如果没有相应的举措,区块链将变得越发“臃肿”,其后果会十分严重。首先会对节点服务器的硬件要求水涨船高,限制了新节点的加入,并会淘汰一批低性能的节点,导致节点数量下降,区块链的去中心化程度受损。其次,会不断压榨节点服务器的计算能力,导致验证难度上升,同步时间变长,网络延迟增长,tps下降。总之,数据膨胀会让区块链健康状况不断恶化。
其实,很多人将区块链理解为分布式数据库,是不恰当的。因为他本质是一个分布式账本,简单来说主要是做交易的记录、数据的确权等等,而不是大规模数据的存储。因为区块链的链式结构不能记录大量的数据,对于常规的大量数据是无法全部上链的,否则数据会十分臃肿,且改动也会很麻烦。而如果想将数据上链就必须支付高昂的gas费。
不仅如此,由于链上冗余度有限,所以对于数据的检索及下载,效率也相对较低。
针对这种情况,其实已经有专门的数据库项目为区块链服务,但是其本质都是中心化的。虽然这些中心化数据存储解决了速度和带宽的痛点,能以较高的速度增、删、读、写。但随之而来的新痛点就是数据的安全与隐私问题。
举个例子,比如现在知名的网盘,若你上传的文件不符合网盘的规章制度,那么不打招呼就会被删除。这就意味着当你把数据上传到数据中心的那一刻,这个数据就不完全归你所支配了,数据中心完全有能力去窥探你的数据,甚至是修改、删除。毕竟再完备的法律,也杜绝不了数据中心自己的道德风险。这还不谈集中式的存储服务器如若遇到故障、自然灾害等导致的数据损毁或丢失。
但现在我们发现将区块链与数据存储结合起来,即分散式存储,将会是这些痛点的最完美解决方案!
分散式存储将是区块链的“减肥”良药
MEFS(MEmo File System) 就是一个以区块链为基础的分散式文件存储系统,它通过开发与创建一系列加密技术、存储算法证明、数据修复机制、激励机制来保证去中心化,以组织全球海量边缘存储设备为有存储需求者提供安全、可靠、高可用的数据存储服务。
针对链上冗余度有限的情况,MEFS创新了数据分层机制,仅在区块链上记录最为关键的信息,如角色信息、智能合约等,使用管理设备与边缘存储设备存储其他信息与用户数据,以防止总量极大的信息造成大量的额外链上事务和存储压力,缩短了数据上传下载时间,节省了链上响应空间,能够提升整个存储系统的性价比,实现存储数据接近最大量级ZB级。
不仅如此,MEFS还设计了一种公开验证方式,能有效降低验证数据的通信开销和验证证明的计算成本,除去数据读取时间,生成证明可以在几秒内完成,验证证明可以在一秒内完成,这样就能大大降低节点的计算负担,使得存储下载时间达到秒数级。
要知道,目前很多去中心化数据存储系统,虽然解决了安全和隐私的问题,但是却牺牲了速度和效率。因为一旦将文件分散式存储,那么就会涉及到搜寻、分配、重组的问题,需要的冗余也更多,速度自然就降了下来。而MEFS的创新机制,无疑是目前业内最大突破。
至于数据安全问题,MEFS采用多副本与纠删码两种容错方式进行容错,能够降低系统负担与冗余度。在修复机制上,MEFS从修复并行性、修复传输量、修复时机选择这三个方面入手,在纠删码的创新上了独创了RAFI技术,RAFI能够通过快速发现那些具有较高丢失风险的数据而大大缩短数据修复时间,让系统安全性和可靠性都得到进一步提升。
总之,真正的去中心化存储才是区块链能“瘦身”的最安全、最可行性的方案。MEFS分散式数据存储系统将会完美达成“减肥”计划吗?让我们拭目以待!