首页
学习
活动
专区
工具
TVP
发布

区块链的冷暖系列之:数据同步技术的鬼畜型图解

(虽然说是图文介绍,然而,小编还是觉得没多少人能看懂!啊哈哈哈)

区块链同步(分布式记账)

所有区块链上的节点,同步存储区块链上的所有数据,相当于,一份数据,有N个备份(N=节点的数量)。

同步带来的积极作用

a) 防篡改

区块链节点连接到网络,从单一角度来说,被入侵修改数据的难度,并不是很大。所以入侵区块链的单一节点,并把其中某一部分数据修改后,是非常有可能的。然而,在区块链中,单一的一个区块数据被修改后,这个区块的地址将被改变。那么将会变成后面的区块的地址连接不上,似乎是游离于区块链之外的存在。那么当这被修改过数据的节点,跟区块链的其它节点通讯时,就会从其它节点上下载正确的数据。

b) 防破坏

相对于修改数据,恶性的数据破坏对于单一服务器来说简直就是地狱。数据的破坏会让整个服务中断,如果连备份数据也遭到破坏或者根本没有备份数据的话,之前的用户信息、数据等将永久丢失。然而,区块链的数据同步,让这一情况不复存在。

c) 防攻击

就拿可恶的拒绝服务攻击(DoS)来举例。单一服务器在无数个链接请求中,很容易就被大量的资源消耗引致瘫痪,无法工作。而区块链的每一个节点具备完整的数据,相当于加持了CDN,除非攻击者同时让所有节点瘫痪,否则,服务依然能读取区块链上的数据。例如,比特币区块链BTC(截至2918年1月,BTC完整节点数量为11703个),想要BTC瘫痪,攻击者需要同时让1万多个服务器停止工作!!!

同步带来的消极作用

a) 信息公开

数据同步到区块链的节点,意味着,每一个节点都有完整的区块链数据备份。那么,不法分子很轻易的就能得到备份。换另一种说法就是,数据就摆在那里,要怎么破解,可以慢慢研究。

b) 数据容量

一个区块链拥有无限个区块数据,而且不断的增长。就目前BTC完整的数据是60多GB的大小,那么1万多个服务器的备份加起来,就是600TB的大小。或许,对于PC、服务器等,60G的数据不算什么。可是对于便携设备来说,60G数据已经是设备容量的一半或以上。因此,区块链的应用范围也同样被限制着。即便BTC提供了修建模式,只保留个人未花费的区块记录,也需要2GB左右的存储容量。

c) 流量跟宽带

区块链的区块在不断的生成,新区块的数据同步,新接入节点的数据同步,离线节点重新接入后的数据同步。每时每刻,数据都在上传和下载,产生的流量和占用的网络宽带是移动设备所承担不起的。同样限制着区块链的发展和应用。

分片式同步

针对上面的区块链同步所带来的消极作用,分片式同步被提及和使用。依然是数据同步,分片式同步却跟完整同步有所不同,从字面上可以知道,这种同步并不需要一份完整的区块链备份。

举个例子说明吧,一个完整的区块链数据分成A~Z的段落数据包,每个节点备份一个数据包,26个节点就能存储一个完整的区块链数据。按照BTC的1万多个节点数量计算,网络上完整的区块链数据备份,只剩下420个左右。单个节点数据容量由60多GB减少至2GB,总体占用存储容量由600TB减少至25TB。

可是这分片式同步就这么看来,好像跟同步带来的积极作用相冲突,似乎是一种退步。

冲突?退步?

完整备份数量的减少

i. CDN效果衰减

这是不可逆转的,完整备份的数量减少,意味着本来只需要在邻居家就能下载到备份,而分片式的话,可能需要到隔壁镇子上才能下载到需要的备份。也就是说,在区块链上的服务,所得到的响应速度,有所变慢。

ii. 抗攻击能力的免疫能力

这是一个双面刃,完整备份的减少,让同一个区块(如A)被访问的时候,负责保存A区块的节点,容易过载。然而,其余的节点B~Z区块均能正常访问,不会引起全网服务中断。

iii. 篡改/破坏的免疫能力

这点或许会比全部同步的效果要来的好。首先,不法分子不容易获得完整的数据备份。其次,如果有针对性的去攻击数据,却因为分片存储后,更难定位目标。所以,需要有正对性的攻击分片式同步的区块链数据,往往会增加难度成本。最后,如果是恶性篡改/破坏,其难度基本上与全部同步相比,并没多少区别。

小编的幻想

想要人人都能用得上区块链的应用,首先其钱包(节点)数据必须足够的便携。在用户普遍使用移动设备体验网络的今天,足够轻便的节点使非常有必要的。试着幻想一下,全国10亿用户是使用手机上网的,如果保留1万份完整的区块链数据,可以把10亿个智能手机分成10万组,把BTC数据平均下来后,每个手机节点只需要存储6MB的数据(相当于一张照片)。

而这6MB的数据优先记录用户自己的数据区块,能快速的得到服务发响应,也方便网络不佳的时候离线查询/使用。这才是理想的区块链应用落地的环境吧。

PS:还是不懂吧!是吧!关注我们吧,说不定哪天就能看懂了。!

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20181113A145Y400?refer=cp_1026
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券