暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

企业区块链应用从概念到落地Checklist

286

咖啡馆里,年轻的创业者们恭恭敬敬地介绍着精心准备的商业计划书,对面的投资人努力忍住哈欠,泪水却不自觉地涌入眼眶,人生的三大问题不断地拷问着疲惫的内心,晚上吃不吃?跟谁吃?吃啥?“你们为什么不用区块链?这个项目挺好的,要是能结合区块链就更好了,这可是风口,风口懂吗。这样吧,我们回去再商量一下。”投资人终于找准机会起身离场,满足地嘟囔着演练了千百遍的评语,“唉,现在的年轻人,真是浮躁。”

办公室里,焦虑的CIO反复地摩擦着自己的手掌,对面坐着的老板眼神坚毅而严厉。“……人家上个月就上马了区块链的项目,开发区的赵主任昨天找我说,我们下半年要是再搞不出名堂,高新科技企业的专项扶持可就悬了!”关上办公室的门,中年CIO拭了拭头上的汗珠,“新来的那个搞运维的小伙子好像挺爱折腾的,这几天让他研究研究区块链方面的东西。”

曾几何时,衣服的面料一定得是远红外纳米的,烫个头不是离子的怎么也得是数码的,蔬菜必须是绿色有机非转基因的……今天,只有跑在云计算上的智能物联网区块链应用才是满足互联网+和新零售要求的好系统。

区块链概念正如日中天。

本文就一个有价值的区块链应用从提出概念到真正实施落地的过程中大家最关心的几个问题,给出了自己的分析和见解,希望能在乱象中梳理出一些关键点。

所有人都在谈区块链,马上采取行动?

这可能是企业IT负责人问得最多也顾虑最大的问题。

要更好地回答这个问题,我们首先要弄清楚区块链技术究竟能解决哪些痛点,这些痛点,在我们的项目中是不是切实地存在。

1信任问题

任何一项技术从首次提出到被证实可以被(不)成功应用,都需要有一个过程。在今天,我们还不好去评价区块链技术的功过,但是,有一点是可以肯定的。那就是,区块链技术的应用是人类为了解决信任问题而做的一次伟大的社会实验

我们国家近年来一直在鼓励和推动个人信用体系的建设,说到底,就是因为我们在这方面还很落后。由于一些历史原因,我们并不像一些西方发达国家那样具有成熟的信用体系,特别是基于信用卡大规模普及而建立的金融信用体系。而信任是否成立,直接关系到社会运行成本。在信用不健全的环境中,很大一部分资源和时间都被用来建立信任。

建立信任,最重要的是保证在整个过程中尽量减少人的干预。只要是社会活动,就注定有人参与,所以建立和保持信任的关键不是完全排除人的参与,这既没可能也没有意义,而是通过技术和规则,利用人逐利的特性,形成牵制与制衡,进而排除人的不当干预。

举个例子:一群人同食一锅粥,大家首先想到的是推举出德高望重的人来负责分配。但是亲疏有别,再德高望重的人天长日久也很难保证公平。况且人作为一个物种,毕竟寿命有限,“圣人”的传宗和更替也是一个头疼的问题。于是又有人提出这样一种方式,每次都随机选取一个人来分粥,但是有一个要求,负责分粥的人自己只能得到别人都拿完以后剩下的那一碗。这样就通过制定透明公开的规则,巧妙地利用人性,保证了可持续的公平。庄子曰,圣人不死,大盗不止,说的也是类似的道理。

区块链技术,正是这样一种规则。

在您的组织中,或者与其他组织和个体之间,是否也存在类似的信任问题需要借助区块链解决?

2组织间的信息透明性和状态共享问题

企业日常的业务活动,通常伴随着信息的交换和状态的共享。现在主流的交换和共享方式都是基于协商接口的,比如标准文件交换和API调用。制定和适配不同的接口跟格式,规划和保证数据同步的时机和频率,针对各种复杂场景的容错和补救……这些工作内容常常超过了业务本身的复杂度。

其实在很多企业内部,系统之间是通过共享数据库来高效同步信息的。但是在不同的组织中,考虑到数据的安全、隐私、一致性和模型的差异,直接共享数据库的方式是不切实际的,区块链技术通过额外提供一层抽象,屏蔽了这些底层的差异,又在上层加入保证安全和隐私的隔离,以及额外的信任背书,提供了一整套开箱即用的、经过验证的、统一的数据存储方式和读写策略,非常适合在不同的组织间同步共识信息。

您的组织是否迫切地需要一种简单的、通用的、可靠的数据交换和共享方式?这些被交换和共享的信息,是一次性的,还是需要被忠实地记录下来?

3信息流动的实时性问题

组织和组织之间的信息流动,往往伴随着滞后和不一致,部分是因为异构系统导致的信息通路不畅,部分是因为有低效的人工处理环节混杂在流程中。在同一个区块链网络中,各参与方其实同属于一个分布式系统,节点之间以低延迟的网络互连,可以保证亚秒级的实时性。

您的需求是否对信息流动的实时性有较高的要求?

回答上面几个问题,有助于筛选合格的区块链应用,避免买椟还珠的情况。

比如在房产所有权证明这个场景中,由于国家权威机关的公信力保证,并不一定需要通过使用区块链技术来提供信任,所以针对第一个问题,并不是一个肯定的答案;那么房产所有权信息需要共享吗?当申请房屋抵押贷款时,必须向银行提供房屋的所有权信息,所以明显是需要在不同组织间共享信息的;那么对信息流动的实时性有很高的要求吗?我们都知道,向银行证明房产信息的真实性并不是一件容易的事情,如果房屋的所有权正在办理变更,则更是如此。但显然抵押房屋贷款不是一个轻易的决定,也不是普遍和高频的事情,这种由于流程的冗杂而带来的仪式感似乎也不是一件坏事。所以,跟其他所有技术一样,区块链不是解决一切问题的银弹,在这个应用场景中,如果使用区块链诚然可以带来一定的优势,但是如果不采用也完全没有问题。

怎样选择适合自己的区块链技术?

经过慎重的考虑,您终于决定尝试一下区块链技术,但是面对众多的新名词,又再次陷入迷茫。比特币、以太坊、瑞波、Fabric、EOS、还有众多国内厂商和创业公司的专有产品……到底应该怎么选择?

没有最好的,只有最适合的。

区块链网络按照参与节点的归属和数量可以分为公有链、私有链和联盟链。

公有链顾名思义,就是面向公众开放,人人都可以参与其中的全球性区块链网络。由于参与节点数量众多,所以具有更大的影响力和可信度。但也由于参与节点过多,属于巨型的分布式系统,为了达成共识需要消耗更多的资源和时间,因而性能普遍不高。以比特币网络为例,为了达成共识,使用了计算复杂的工作量证明(PoW)方案,整个网络消耗的功率已经超过了一些小国整个国家的用电量,但是吞吐量却只有每秒几笔。这常常被人诟病,认为是毫无意义的浪费。但是我个人认为现在下结论还为时过早,究竟是Waste还是Cost,还是要看行为最终是否产生了对应的价值。如果完全没有产生价值或者产生的价值很低,那毫无疑问就是Waste,但是如果产生了大家公认的价值,那这些就是为了获得价值所必须付出的Cost,毕竟天下没有免费的午餐。所以现在的问题就变成,如果选择使用公链技术,我们需要记录的数据是否具有足够的价值,能够抵消高昂的记录成本。我们已经见过很多伪场景,比如将物联网采集的低价值的温度数据记录到区块链上。温度的跟踪和记录固然重要,但是如果我们提供给用户的信任超过了用户对数据来源本身(温度采集设备)的信任,那么这些多付出的成本就是毫无价值的浪费。物联网和区块链本身是非常不错的组合,但是这种组合并不是简单粗暴地把数据一股脑地全部丢到区块链上,这个问题我会在后续的文章中展开讨论,这里先不做赘述。从另一方面来说,记录动作本身的高成本,也在一定程度上反衬出数据的高价值和可信性。由此观之,那些动辄号称吞吐量数万、数百万TPS的公有链技术,那些违反基本价值规律的事例,其可信任性值得商榷。

私有链通常由单一组织或利益高度共同体来运营,因而无法对外界提供超出组织本身的信任,一般只是内部用来简化审计和增加数据造假成本。

联盟链,作为一种介于公有链和私有链之间的形态,一般由多个组织共同运营。这些组织之间既有共同利益,同时又具有一定的竞争关系,正是这种来自内部的竞争、监督和制衡,避免了既是运动员又是裁判员的情况,保证了联盟的可信性。Hyperledger Fabric作为目前最成熟的企业级联盟链应用方案,几乎是事实上的标准。采用标准的好处就是,当不同的组织和联盟需要打通各自的区块链应用时,任何一方都不需要再做任何额外的工作。

经常有客户和合作伙伴咨询,联盟链的性能到底如何,坊间流传的数万TPS的方案是否可信。其实,几乎所有的企业应用在采用区块链技术时,性能都不应该是首先需要关注的问题。我经常举一个横向的例子,某国内外卖行业的巨头,其核心订单系统的处理能力不过3000TPS。区块链上的智能合约通常都只有非常简单的逻辑,其底层的数据存储也多为本地数据库,所以,影响性能的关键只有节点之间的网络连通性。在网络状况良好的前提下,达到类似量级的处理能力不是很难的事情,反而是我们企业自身的业务远远达不到这个量级。即使达到了这个量级,从IT系统整体来看,瓶颈也不会出现在区块链模块这里。尽管如此,我们还是建议联盟链网络中的大多数节点部署在同一个中立的服务商的网络里,以保证最好的整体性能

综上所述,在做技术选型的时候,请多问自己几遍下面的问题:

  • 我们需要给用户提供什么级别的信任?为了实现目标我们又愿意付出多大的代价?

  • 我们的团队是否已经做好准备来学习一门全新的语言并且运用到产品中?

  • 我们希望面向公众完全公开自己的数据还是只在有限的范围内部分公开?

  • 我们以后是否需要跟其他组织的区块链应用对接和集成?

  • 我们对性能真的有那么高的要求吗?

如何有效地运维和部署区块链应用?

我们的第一个区块链应用终于开发好了!该如何有效地运维和部署?区块链应用最佳的部署方案,应该是一个有影响力的中立服务商加各参与方本地部署的方式,同时,为了保证最大的性能输出,共识策略应该配置成以云上的集群为准,本地的节点作为边缘接入服务器和备份。

这样的配置有诸多好处。首先,以Hyperledger Fabric为例,为了保证网络的正常运行,需要排序服务,鉴权服务,自动备份和升级等多项周边配套服务,而且为了保证性能,还要尽量保证所有的节点处于同一个网络环境,对任何一家普通企业来说,这都不是一件容易的事情。所以,最优的方案应为选择一家联盟各方都能接受且没有直接业务竞争关系的中立云服务提供商,或者合资成立一家独立的公司来运营;其次,在本地部署部分不参与背书的节点,既方便了与本地既有系统的集成,又起到备份的作用。另外,本地节点不参与背书意味着到达节点的数据都是网络共识过的,可以直接采用而不用担心数据一致性问题。

我们还有问题,该向谁去咨询?

从技术上来说,区块链本身是现有成熟技术的创新性组合,虽然没有新的东西,但对博弈论、密码学、分布式系统等领域的知识要求有较高的熟练度。另一方面,从我们上面的讨论也可以看出,区块链应用落地成功的关键,还是在对业务本身的梳理和对行业的思考。我们建议企业在具体落地区块链应用之前,优先跟在技术和业务领域都有深厚积累的服务商、咨询公司、实施方和行业伙伴交流沟通,尽量听取多方意见。

甲骨文PaaS专家团队,作为甲骨文支持前沿技术的专家团体,其成员均具有十数年的从业经历,无论是在技术的深度上还是在行业背景的广度上都有着深厚的积累。区块链作为一项还处于快速发展中的技术,并不存在所谓的权威。我们非常愿意本着开放的态度,分享自己在区块链领域咨询和实施的经验,并与广大来自一线的客户、合作伙伴和爱好者深入沟通和交流。


作者简介

宋晓寒,甲骨文PaaS专家团队高级咨询顾问,负责甲骨文云平台产品和解决方案的咨询和推广。有通信、智能硬件、物联网以及新零售供应链领域多年的从业经历,在加入甲骨文之前是一名连续创业者,目前关注跨平台移动化开发、智能制造和机器学习等方向。您可以通过xiaohan.song@oracle.com与他取得联系。

了解更多,敬请关注甲骨文开发者社区......



文章转载自甲骨文开发者社区,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论