区块链上大数据、大文件该如何存储?
这是目前困扰区块链应用落地的主要难题之一,对此业内不少技术团队,都在进行各种尝试,以期找出一种能够将大体积文件上链保存的妥善方法。
11月24日,在迅雷链技术沙龙上海站上,迅雷链底层研发工程师张小刚分享了迅雷链对此问题的解决方案,他表示,通过冗余编码和共享计算技术,能够有效解决大数据的上链难题,由此扫平区块链技术商用上的一大障碍。
区块链存储痛点:价格贵,容量小
数据存储在链上并不困难,目前基本所有的区块链主链都可以实现数据存放。真正的问题是,数据的存储成本极其昂贵,比如以太坊上,存放1MB数据需要花费大约3.76ETH,即便按目前市价来算,也接近3000元。EOS上更是如此,曾有人估算,在EOS上开发一个DAPP,光购买内存的费用就要几百万元之巨。显然,如此高的价格,在实际商用中根本无法接受。
此外,现有的主流区块链上可保存的数据量其实并不大,这是由于传统区块链是单机存储架构,而数据存储容量会受到单机存储上限的限制所致。张小刚表示,截止2018年5月,比特币的一个完整节点的数据存储达到了210G,而以太坊的数据存储达到了1T。这种水平已经让很多普通用户,无法运行一个全量的以太坊节点了。
如果放开商业化应用数据上链,数据存储的增长将非常迅猛,远超当前数据体积,以目前的技术架构,基本上不可能满足实际商用的数据上链需求。
成本高,容量小,成为目前区块链数据存储所面临的主要难题,如果要实现商用,解决存储问题首当其冲。
迅雷链的解决方案
据张小刚介绍,迅雷链对数据上链保存的解决方案分3步。首先是打破了传统区块链中,所有节点全部保存同样数据的做法,取而代之以新的分区模式。
迅雷链采用的是独创的同构多链架构,本身可以进行分区,且保证每个分区结构完全相同。分区之后,将不同的分区,交给不同的节点集群来保存,这样单个节点保存的数据量就大大减小,有效降低了单节点的存储压力。
如果分区需要更高的性能或者存储达到了阈值,则可以对分区进行平滑扩链,也就是将一个分区划分出更多的分区,这样既提高性能又减缓存储增长。而迅雷链的节点来自于共享计算所提供的150万+个人节点,如此庞大的数量足以支撑起足够多的分区存储需求。
其次,就是在行业内引起重大反响的迅雷链文件系统,即TCFS。用户将文件存储在TCFS中,TCFS会计算文件的摘要返回一个hash值,hash值进行上链,从而一个大体积的文件数据,也能实现上链的记录。
另一方面TCFS要保证文件存储的安全和可靠。它将文件经过冗余编码分成若干片,分别保存在不同节点上,读取的时候,只要把部分切片组合到一起,就能还原出整个原文件,由此保证了即便在有节点不在线的情况下,仅凭其余在线节点,也能还原出整个文件。同时,任何一个单一节点,看到的都是文件碎片,无法还原出其真实意义,保证了安全性。
此外张小刚还透露,目前迅雷链正在将底层的存储升级为可插拔的插件化存储架构,节点可以根据自身场景选择不同的底层存储架构,除了原生支持的levelDB存储外,后续还会有新的存储解决方案陆续支持。
通过这三步技术上的创新,迅雷链目前已能够较为妥善地处理大数据、大文件上链保存这一难题。分享最后,张小刚表示,迅雷链对所有技术问题的解决,都是本着如何让开发者更好、更方便地开发区块链应用为出发点,存储解决方案也不例外。迅雷链希望能够通过对存储技术的创新,让区块链开发者做出更丰富、优秀的DAPP,并早日实现区块链技术的商用落地。
领取专属 10元无门槛券
私享最新 技术干货