绑定完请刷新页面
取消
刷新

分享好友

×
取消 复制
扬长避短:区块链赋能未来IT基础架构
2020-06-17 17:39:11

区块链不等于比特币,比特币也不等于区块链;有将它奉为圭臬,也有人将视如敝屣。可能从来没有一种技术能像区块链这样带有如此的大争议。它真的一无是处吗?或者它应用范围有限?你一定想不到区块链技术还可能用在未来的IoT,甚至是自动驾驶汽车上面吧。今天我们就来谈谈区块链技术的那些“奇思妙用”,感谢Dell EMC中国研发中心技术大咖们的倾情贡献。

作者:Dell EMC中国研发中心 吴鹏飞


“There is nothing either good or bad, but thinking makes it so.”Hamlet: Act 2 Scene 2

很少有一项技术能像区块链这般,有着如此显著的优势与缺陷:去中心化、数据永久保存与防篡改,这些难以置信的优点,加上一度火热的比特币,曾让不少人以为技术的乌托邦已经到来;然而,性能低下、对计算、存储及网络资源的海量消耗,又让许多人对它嗤之以鼻。

我们知道,由于CAP原理的存在,人们在设计分布式系统时不得不在多个期望的特性中做出妥协。本文试图以混合云、多云为例,探讨在设计未来IT基础设施架构时,可能面临的艰难抉择;以及如何利用区块链,扬长避短,并使其在基础设施架构中扮演重要角色。以此为基点,展望未来区块链在IoT、车联网、自动驾驶等新兴领域的应用。

现状

在传统的IT基础设施架构下,用户拥有并维护一个私有的数据中心。


如果用户对数据和服务的可靠性、可用性有较高要求,通常的解决方案是建立多个异地数据中心,互为备份。

然而,这种方案的一次性投入较高,且对运维提出了苛刻要求。

云!

云计算的兴起,给用户提供了多一种选择。

用户可以在不对现有数据和业务进行迁移的情况下,把容错和灾备的数据与服务部署在公有云上。


这种做法的好处显而易见:云资源可以按需使用,无需巨大的一次性成本投入。

然而,在此种设置下,用户数据需要在企业私有环境与公有云环境之间进行迁移。

用户对数据的安全性和完整性的担忧也随之产生。

数据校验

一种直观的解决方案是:在用户私有环境下部署数据校验服务,维护一组元数据,据此对公有云上数据进行校验,以便及时发现错误并进行恢复。

不过等一下,我们需要在现有的IT架构中引入公有云,难道不是因为用户私有环境有失效风险吗?如果这里的数据校验服务也失效了怎么办?可能发生的情况包括元数据错误、丢失,甚至机房掉电等。

云:再来一份!

没问题!我们可以在云上部署一个数据校验服务的备份!

一个困境:引入云是为了应对私有数据中心失效的问题,但又带来了对云上数据正确性和完整性的担忧;数据校验服务可以帮助用户验证数据的正确性,却又面临失效风险;虽然我们可以把数据校验服务在云上进行备份,却又再次面临元数据的正确性和完整性问题!

兜兜转转,我们又回到了原点。

不妨看看区块链

区块链具有显著的优点:

  • 数据永久保存
  • 防篡改

这不正是我们数据校验服务需要的特性么!

那我们不妨探索下,尝试把元数据放在区块链上

  • 通过共识算法,私有数据中心可以和公有云达成共识,保证区块链上的数据正确性
  • 虽然共识算法只能保证最新一个区块的正确,但通过哈希链,区块链上所有历史数据的正确性均可以得到保证

看起来还不错,可区块链不还有很多缺点吗?它们会成为我们的绊脚石吗?

区块链的缺点

不妨针对区块链的缺点逐一分析:

☞浪费存储空间,所有节点需要保存完整的历史记录副本

▶私有链需要的节点个数有限,此外,元数据多重备份提高了数据安全性和可用性。

☞共识算法消耗大量计算资源

▶ 私有链的共识算法有多种选择,以应对不同的环境。当所有节点都可信,只是有数据出错、丢失风险时,甚至可以使用Raft作为共识算法(例如,使用zookeeper)。但当我们不信任云节点时,也可以使用PBFT共识算法,或者VMWare的安全专家们提出的SBFT算法。由于私有链节点个数不多,PBFT/SBFT对资源的占用也不会很大。

▶ u SBFT: a Scalable Decentralized Trust Infrastructure for Blockchains, arxiv.org/abs/1804.0162

区块链性能较差。

▶ 我们知道,比特币性能的理论上限在 6-7 TPS(transaction per second)。

▶ 但是区块链在当前场景下只用于记录校验数据,TPS的要求非常低,zookeeper或者PBFT/SBFT作为共识算法完全可以满足要求。

结论:Cool!区块链在当前应用场景下,优点异常突出;同时,有些缺点甚至还能转换为优势!

多云

于是上述结构也可以很轻松的扩展到多云。

在多云环境下,我们甚至能隔离云节点对区块链上云数据的访问。

比如:

  • 针对每一个公有云,我们都部署一个独立的区块链。这些区块链在客户私有环境下设有节点。然而,公有云A数据对应的区块链节点却只部署在公有云B上,从而实现数据隔离。如右图所示。
  • 另一种技术方案是,区块链上不保存任何元数据,而只保留云数据的哈希,以作审计。真正的元数据在链下另作保存,并广播给指定的云节点:相应的,我们可以只把公有云A的云数据广播给公有云B。

展望

IoT

IoT环境下,数据和计算节点可能由相互间缺乏信任的不同组织机构控制,但大家依然有数据交换的需求;和之前的多云场景类似,区块链可以在这样的环境下起到“数据审计”的作用,从而成为黏合IoT数据孤岛的“胶水”!

车联网

  • 在车联网和自动驾驶世界,无障碍的数据交互显得格外重要:你无法决定行驶在你周围的车辆是不是与你的座驾来自同一制造商,因此车辆间通信依然面临缺乏信任的问题。而区块链可以作为一个虚拟的中心服务(虽然它本质上是去中心化的)存在:所有的车辆从区块链获取核心车联网控制策略,无论这些车辆是否属于同一品牌;
  • 车企可以在自身的区块链节点上配置不同的策略审批准则。任何车企均可以尝试发布新的车联网控制策略,这种策略会在全网生效,包括那些不同品牌的车辆。但新策略只有获得所有网内车企批准才会在区块链上生效,从而提供给所有联网的车辆使用;
  • 不同车辆通过从自己信任的区块链节点获取(事实上相同的)车联网控制策略,从而实现车辆间顺畅的点对点交互。

结语

世上之事物本无善恶之分,思想使然(哈姆雷特2.2)。区块链作为天使与恶魔结合的典型,如果能在正确的时间、正确的位置被正确的使用,依然有爆发出巨大能量的潜力,并编织IT基础设施架构的未来。

致谢

本文写作过程中深受与Lyne Lin和Alaric Chen讨论的启发。

分享好友

分享这个小栈给你的朋友们,一起进步吧。

IT基础架构
创建时间:2020-06-17 15:29:51
IT基础架构是相对于IT应用架构而言的,指的是为了各种应用系统能够顺利、可靠地运行,而提供的一系列硬件、软件的集合体。正是因为有了这些IT基础架构的各种设施,IT应用架构才能运行并提供服务。
展开
订阅须知

• 所有用户可根据关注领域订阅专区或所有专区

• 付费订阅:虚拟交易,一经交易不退款;若特殊情况,可3日内客服咨询

• 专区发布评论属默认订阅所评论专区(除付费小栈外)

技术专家

查看更多
  • 栈栈
    专家
戳我,来吐槽~