我们为什么要上链?| 特写

  • 前哨小兵甲

2018 年 5 月 28 日

话题:语言 & 开发架构区块链

看新闻很累?看技术新闻更累?试试下载 InfoQ 手机客户端,每天上下班路上听新闻,有趣还有料!

区块链具有去中心化、去中介和防篡改等特性,正风头十足。有很多企业或在进行概念性验证,或正积极尝试落地。同样,也有人认为现在的区块链技术并不是那么成熟,没必要在这个时候去“折腾”。

但先驱们的探索,总能给我们以启发。

什么场景靠谱?

风口上的技术,总会有人怀疑它们被应用的目的是不是“跟风”。而作为一名软件工程师,通常思维习惯会是这样:“能用一般软件解决的问题,为什么一定要引进新的‘区块链’这个概念?!”

根据区块链去中心化、不可篡改的特性,已经足够支持很多值得尝试的 POC 场景和落地应用。比如基于去中心化、多方共识的特性,应用多在 P2P、转账、交易,以及复杂的多方协作流程上,比如保险公司的理赔,这些场景下已经能初步体现出优化业务流程、降低运营成本的优势。比如基于不可篡改的特性,可以应用在存证、溯源、审计、版权保护、内容共享等方向,这些实践表明区块链能提高管理的质量和效率。

与传统的集中式系统和中心式系统相比较,区块链产品通常具有多方写入数据的需求和天然的弱中心化的特性。而把注意力放到需要解决的问题上,结合不同公司不同业务,区块链就像一个正合适的解决痛点的工具。QCon 北京会议上,InfoQ 组织了一次区块链闭门会,请了来自不同企业的区块链业务负责人,探讨落地应用的问题,我们整理了会议上的小部分观点。

华为主要以公有云去抓落地。华为今年上线了区块链服务 BCS,基于开源区块链技术和华为在分布式并行计算、数据管理、安全加密等技术积累基础上,推出了企业级区块链云服务产品。“总体来看区块链还是刚刚兴起的阶段,大多数都想普及想创新一下。我碰到的确有很多技术先行者,他们都想用新的技术来颠覆一些原来的东西”,据华为区块链产品专家刘再耀介绍。

讲到业务痛点,他举了个例子:“华为是制造大厂,有很大的物流系统。如存在物流转包以后不知道去向的情况,也曾想用中性的数据库做成庞大的系统去解决,但成本太高。引进区块链之后,各层就能够自证清白,协作方便。”当然区块链并不同于普通数据库,最明显的是对数据的具体约束。如:不能跟数据库中已有的数据冲突;数据只能追加不可修改;数据是锁定到数据所有者的,所有权明确;还有去中心化特性,不需要通过一个中心权威来就数据库处于什么样的状态达成一致。

为推动区块链技术的实际应用,京东成立了“京东品质溯源防伪联盟”,运用区块链技术搭建“京东区块链防伪追溯平台”,携手沃尔玛、IBM、清华大学电子商务交易技术国家工程实验室共同成立中国首个安全食品区块链溯源联盟。作为技术驱动型电商和零售基础设施服务商,京东拥有丰富的区块链应用场景。据京东大数据与智慧供应链事业部区块链研发负责人孙海波介绍,在京东落地场景中,“溯源是用户比较多的场景”。在很多行业中,区块链是撬动 IT 基础设施升级的手段。

“数据共享”也是一个典型的区块链应用场景。大数据整合带来的效果不少人知道,当需要跟外部公司共享数据,需要跟企业的上下游合作打通流程的时候,考虑到数据的安全透明和隐私问题,就正是区块链扮演角色的地方。Oppo 互联网广告技术负责人杨竑谈到,第一互联网广告是一个玩数据的部门,会有个痛点:数据给广告主,广告主总是想把数据透明化、公开化;第二,数据整合带来的效果是非常有价值的,跟外部公司进行数据合作的时候,其实这就是一个区块链非常合适的落地场景。

特别是在涉及多方场景下,超级账本是一个很好的解决方案。比如一次全国的娱乐演出,甲方出设备乙方出场地,丙方来运营,涉及到怎么提升性能,怎么解决他们互相之间账目的不信任问题?又比如在电商中各厂商需要数据隔离,这些时候实现共同的账本就能很好的解决问题了。IBM 从 2014 年开始进军区块链,除了 BaaS 系统,还有一个很著名的项目,就是超级账本。Hyperledger 是面向企业应用的全球最大的分布式账本开源项目,由 Linux 基金会支持,创建于 2015 年底。目前已有 200 多家科技、金融行业领军企业加入成员,包括 IBM、Intel、摩根、甲骨文、万达、百度、腾讯等。大量基于超级账本技术的企业界区块链项目已经成功落地。其中 IBM 的 Hyperledger Fabric 项目自诞生之日起就吸引了全球众多企业的密切关注。

区块链正呈现升温之势。“从刚刚说大多数的人是基于跟风或者感兴趣想赶新潮,但是我也接触特别多的客户的确特别想用区块链解决他们的性能和成本问题。我相信可能再过三五年再来探讨的时候,可能会拿出很好的案例来说”,华为区块链产品专家刘再耀告诉前哨。同样,360 区块链平台负责人梁超也提到,“只要跟区块链相关的,以前一个月挣 25 单,现在至少 50 单”。

刘再耀说:“我是很看好这个技术,我不认为它现在是一个炒作。虽然现在的确有很多炒币的成分,但是我觉得它确确实实是一个发展趋势。”

上链之难

区块链技术的潜力已经引起了人们的关注,而另一方面区块链本身所存在的壁垒也影响到它的应用。

这些技术壁垒包括:

  1. 可扩展性的限制。去中心化共识机制的优势是以扩展性为代价换来的,去中心化限制了区块链里全节点可处理交易的数量。通常的处理方式是:分片、链下交易通道、链下计算、DAG。

  2. 隐私和安全保护的限制。对于企业来说,安全肯定都是非常值得重视的事情。大部分公司都会考虑到底哪些信息可以上传到区块链中,因为为黑客、竞争者和其他非授权组织都可以轻易看到这些信息。一些解决方案如零知识证明和门罗币等就是针对隐私和安全保护的。

  3. 难以证明的共识机制。对于比特币和其他区块链来说,共识协议并不是一个新东西。中本聪共识协议 (Nakamoto Consensus),使用工作量证明和最长链原则解决了成千上万节点达成共识的问题,这在学术界也是开放的新的科研难题。中本聪的工作量证明(PoW)共识机制还有定制化硬件存在优势、矿池中心化、浪费电力的问题。为了可以有效地替代 PoW,人们又提出了 PoS、DPoS 等,但每种算法都有自身的挑战,几次社区分裂和分叉事件也暴露了“共识很难升级”的问题。就目前来看,还没有一个更好的共识方案来解决当下的问题。

  4. 加密安全性问题。量子计算机是密码学和加密货币的潜在威胁之一。

......

实际应用中,大家都会关心性能问题,比如 TPS,除了区块链底层本身,“还有很多设计层的问题,所以区块链架构设计方面还是很重要的,一定要做一些取舍。我个人的建议在现在区块链本身还不是特别成熟的时候,尽量支撑一些相对简单的场景就对了”,IBM 中国开发中心创新技术研究院高级架构师陈剑发表了自己的看法,“所以在发展的早期,很多问题要解决,不光是性能问题,怎么备份、怎么恢复,这些问题太多了。”

“偏应用上,从我们的观察看,区块链是更适合数字化经济的主要技术,首先要考虑什么东西上链。比如物流供应链很多东西是物理的实体,那么它基于什么关键信息上链?怎么解决实体跟区块链信息关联?如果是简单的拿 ID 之类的做跟踪,就有些简单粗暴。另外比如对于数字化资产,提取什么关键信息保证它是非篡改性的?这实际上也是目前在研究的领域”。H3C 技术预研部总经理李飞谈到了他的观点:所以从这个角度来说,第一是要解决物理的关键信息提取;第二,关键信息提取之后怎么保证唯一性和非篡改性; 另外上链之后,这个链怎么管理,怎么形成共识,怎么提高性能。对于性能优化和算法这块怎么考虑,也是很大的命题。如果业务本身数字化程度比较高的话上链可能会更好操作一些更适合落地。

激励机制是区块链设计时要围绕的最重要的因素。巴菲特的得力助手查理·芒格(Charlie Munger)有一句名言很适合区块链项目:“让我看看激励措施,我就能告诉你结果。”我们知道虚拟货币是区块链的一种激励方式,通过发币,不管是联盟连还是公有链都会爆发出勃勃生机。但实际上中国是不鼓励虚拟货币交易的。除 Token 外,还可以通过商业设计解决,比如电商上链的话给予相应的折扣;或溯源场景中,厂商可能并不关心上链,但是如果将参与溯源的商品在购物页面里显示排名靠前,这就是一种变相的激励,比 Token 更有效的激励。

区块链是一个独特的领域,因为你需要任何东西都了解一点。“我最近还在挖人,应该是 100K 起,真正是专家级,确实很贵。第一是团队内部做 分布式,确实有难度,第二跟密码相关,技术好,还有商业化思维,你就发现这样的人现在极度难找”,360 区块链平台负责人梁超谈到区块链人才问题。懂技术懂商业的人才也是区块链发展的一个关键因素。

联盟链和公有链之争

“私有链是个伪命题”,不少人认为。公有链可以派生出联盟链,反之未必。

比特币兴起之后,世界上各大金融机构开始关注区块链技术,在应用到实际业务时,人们发现无论是在隐私保护还是在性能上,使用现存的公有链平台无法满足各自行业场景的需要,于是不同行业的区块链联盟研发了符合各自行业需求的联盟型区块链平台。联盟链中活跃度和认可度较高的有超级账本项目 Hyperledger Fabric 和 R3 开源的分布式账本平台 Corda,公链之中最好的例子是比特币和以太坊。而公有链因为有币圈的掺合,具有一定的风险。

H3C 李飞告诉前哨:“我们的业务更多是在企业市场,我们会更关注私有链和联盟链。公有链会更多的关注纯技术底层。”微软云计算和人工智能事业部,区块链服务技术总监宋青见表示:“微软也认同区块链在跨部门合作,特别是在协作方式上的优势作用。对工作流方面,可以整合微软很多已经有的服务,通过这种方式把它变成一种方便面向企业的联盟链落地服务。”

360 梁超介绍:“我们有跟进供应链和联盟链,同时拥抱公有链。但短期内个人并不看好联盟链,虽然联盟链可以小部分解决一些问题。我个人还是特别看好公链 这个方向,从我们团队来说,还是从公链方向来投入。其实 对公有链来说比特币是解决现金的问题,以太坊是解决应用市场的问题,虽然它有性能问题,但是也还在优化。目前来看主要是三大家,比特币、以太坊、EOS,它们优化的方向,一是从共识方向去做,第二块是类似分片的思路,但是分片之后安全性又有很大挑战。第三块就是链下操作。就目前来看,我认为在垂直特定场景做链,公有链还是具有一定的价值。”

刘再耀表示:“我觉得公有链和私有链都是很好的,公有链适合于公开的面向大众的,但是像供应链,就是几个联盟之内,用不着放到公有链上面去。所以对于公有链和私有链没有什么谁好谁坏。但是性能还是公有链的应用瓶颈。对联盟来说,基本上现有的性能满足了应用的需求,可能几百到一千就行。性能和团队研发也有关系,比如放到特别优化的高性能的计算机,数据就提高很多。目前业务方面,我最担心的还是隐私问题,因为坦率讲一个物流体系里面或者供应链体系里面,可能会有竞争对手能看到的信息。这块我觉得我们后面会花很多精力做这个事儿。”

不管是私有链、联盟链,还是公有链,还是基于一个比较老的底层在做,还是需要关注平台建设,基于平台层面去做一定的创新。

我们用李飞的话总结:“我对区块链前景持乐观态度,它发展到现在有两条线,一条是币线,一条是链线,对现在所谓的数字化转型和数字化经济确实有促进作用,而且 我始终认为,区块链的颠覆性应用,很可能会对之后的行业及整个行业的商业模式造成冲击性的影响!

参考资料:

  1. QCon 北京 2018 区块链闭门会速记

  2. 公有链的本质挑战:

    https://zhuanlan.zhihu.com/p/32264334

  3. 联盟链与公有链的分道扬镳

    http://www.infoq.com/cn/articles/review-and-summary-of-chain-technology-in-2016

  4. Why Blockchain is Hard:https://medium.com/@jimmysong/why-blockchain-is-hard-60416ea4c5c

语言 & 开发架构区块链