作者|Nature
出品|AI机器思维
没有实践就没有发言权,区块链上的数据存储一直是大家疑惑的,网络拓扑上每个节点加入后数据如何存储,如何更新成为一个人们关心的问题。
疑问是解决问题的开始,每个人处于的网络节点上,加入与离开成为随时的。区块链上节点其存储空间都是有限的,都可能面临着存储空间需求。更多人关心区块链数据随着发展已经使用越来越多,区块链链上如果长期下去个人节点的数据存储会越来越大,区块链如何解决数据存储问题?
区块链的技术世界里所有加入的节点在网络拓扑上而言都是平等的,没有等级也没有特殊的节点或所谓的主节点。它运行在TCP网络上,有一个随意的拓扑结构,每个人的接入区块链网络成为一个节点和其他的随机节点相连。网络大小也决定了集体的靠风险能力,群体的智慧和力量是强大的。
整个区块链网络里随时有新的节点加入也有新的节点离去,区块链网络上节点数在网络上其实一直在变化。一般一个节点在区块链网络上有三个小时没有音讯,就会慢慢地被网络上其他节点忘记,也就算离去了,通过这个方式网络非常缓和地处理节点下线问题。每一个新加入的节点都帮助了维护区块链。正如你加入一个国家,增强了国家力量一样。
节点离去就不会再更新数据,一个节点离去的时间越久,它重新加入区块链网络就需要越多时间来更新所有区块链上的数据信息。完全有效的节点必须永久在线,这样才能接收到所有区块链上发生的信息。
区块链上的节点需要把完整的共识区块链都存储下来,目前存储空间大约要几十GB,一个台式机目前就能满足要求。随着区块链的发展,目前区块链大小在50GB以上了。
区块链上通过轻量节点来解决区块链数据存储问题。在客户端,大部分节点都是轻量节点,这些节点不会存储整个区块链,它们只存储它们关心的、需要进行核验的部分信息。比如你使用比特币交易,客户端使用一个钱包软件,这个客户端节点就是一个轻量节点,这个节点客户只会下载向你的账户付款的交易及区块头部也就是创始区块的信息。
轻量节点依靠那些全区块链网络上的节点去验证网络上的其他所有信息交易。通过轻量节点的处理方式为节点节省很多资源。区块链头部的大小只是整个区块链的千分之一,轻量节点只需要几十MB即可,一部智能手机就能成为区块链网络上的轻量节点加入区块链网络。
区块链上诞生的第一个应用验证了其科技价值,2009年刚问世的时候,它的协议有许多内在的硬性限制,比如每个区块的平均时间、块的大小、每个区块的签名数目、切分性、比特币总量、区块链奖励结构等等,这些为日后发展也带来了一系列问题,如交易时间过长,客户体验就会下降,从而为改造遗留问题出现硬分叉和软分叉。
区块链上密码学的应用以及签名技术值得深入研究,在金融领域密码学和数字签名技术帮助客户维护资金安全防范欺诈,下讲会给大家详细讲解这方面的技术。