以“云”替代“分布式”

区块链技术中,可以确保交易记录不被单独篡改的一项重要前提,即是采用了分布式数据存储方式,使得全网每个节点都存储所有区块链数据,除非得到基于共识机制的简单多数确认,否则无法对记录做出任何修改、即使某一个或某几个节点的数据被篡改,也无法同步至全网、因此也就无法被确认。

但这样的分布式数据存储模式也带来一个严重的问题,因为每个节点都需要随时在确认交易并记入区块后,开始上传或下载相关数据、甚至有时候是海量数据,所以,受到网络传输带宽的限制,可能会造成网络端口输入输出数据量负载过大、进而堵塞现象产生。类似现象可以参考近来广为流传的DDoS(Distributed Denial of Service/分布式拒绝服务)攻击。

为了减少节点网络端口的输入输出数据量负载,现有基于区块链技术搭建的系统、包括比特币和以太坊等都选择了尽可能维持每个区块的“小身材”,但随着区块链越来越长,区块链系统的实时并发交易处理规模还是远低于现有中心化模式(诸如VISA或Master)几个数量级,这样的工作低效率也限制了区块链真正走入市场化应用,不得不停留在成人玩具的范畴。

是不是这样的问题就无解了?答案是否定的,最简单的解决方式,就是不断升级网络端口的输入输出数据负载能力。但是,一方面,网络连接的上传下载速率本身是不匹配的,即下载速率一般会高于上传速率,另一方面,区块链系统的数据量是会随着节点与交易记录的不断增加而随之膨胀,这会导致大量消耗区块链网络中的存储资源,导致全网效率降低。可见,单纯从硬件角度,想突破区块链数据存储与交易并发处理的瓶颈是困难的。

重新回到分布式数据存储机制,区块链系统为什么会选择分布式数据存储机制?是因为分布式数据存储机制,在每个区块链节点上都保存有完整的全部区块链交易信息记录,如果没有基于共识机制的确认,那么任何一个或几个节点都不能篡改被保存的记录。另外,由于每个节点都保存有完整的全部区块链交易信息记录,那么任何一个节点被物理破坏,都不会影响到整个区块链网络的数据完整性和安全性。这就分别体现了区块链数据的不可篡改和去中心化的特性。

所以,区块链采用分布式数据存储机制是为了保证全网数据的不会被物理破坏,以及全网数据的不会被恶意篡改。换句话说,区块链需要的是保证全网数据的不会被物理破坏和不会被恶意篡改,而分布式数据存储机制是实现前述两个要求的技术选择,但如果存在其他可以实现这两个要求的技术方案,那么区块链并不必与分布式数据存储机制捆绑。

云数据存储,恰恰是一个可以替代分布式数据存储机制并解决该机制对区块链数据吞吐能力的瓶颈。首先,云数据存储是基于数据中心集群,而数据中心集群虽然可以标记物理地址,但无法更具体标记出特定云数据存储的物理和虚拟位置,因此除非对数据中心集群进行超大规模的物理破坏,否则不会影响到云数据存储的区块链交易记录网络。

其次,虽然云数据存储取代了分布式的数据存储,但是仍然可以选择通过数据指纹和/或公私密钥方式,以数据量更小的加密传输来实现共识机制确认,即便还是需要对交易记录的确认信息进行下载上传,可是数据量负载及对网络接口带宽的要求大大降低。

这样的确认机制并不会影响区块链系统交易信息记录的完整性和安全性,同样也不会影响去中心化的共识机制来保证数据的不可篡改特性。不过,云数据存储却可以用一份完整数据取代全网每个节点分别存储全部数据,而且随着网络节点或区块链长度的不断增加,能够愈发显示出云数据存储的效率优势。

利用云数据存储替代分布式数据存储,可以节省区块链系统全网的存储资源,也可以在一定程度上改善区块链交易确认的并发效率,但是仍不能彻底解决区块链交易确认并发效率低的问题,还需要在共识确认机制及节点执行确认流程上做更多的技术创新。

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

扫码关注云+社区

领取腾讯云代金券