
区块链自身具有的分布式、去中心化、去信任、不可篡改、可编程等特性,区块链涉足的领域如金融行业、供应链/物流、政务服务、存证及版权、能源领域等,区块链的颠覆性价值以及应用趋势都已经有了深入的应用。
实际上区块链的潜力和价值远不止如此,还有很多其他的行业和应用迫切等待我们的挖掘和发现。
区块链面向行业的解决方案,需要多方参与,构建行业联盟,形成事实标准,抢占第一波市场。
区块链适用于多状态、多环节,需要多参与方协同完成,多方相互不信任,无法使用可信第三方(Trusted Third Party, TTP)完美解决的事情。

我们可以采用流程图来判断一个场景是否需要区块链。
上图展示了一个较为严格的区块链应用判断流程,目的是给大家提供一个快速识别区块链应用的方法,但很多场景下这些约束条件可以进一步放宽。
下面将对流程中的每个步骤进行一下简单的阐述,方便大家理解。
1 准则一:是否储存状态
我们可以将区块链通俗地理解为一个分布式的数据库,使用数据库的各方都可以存储交易数据,我们把存储的数据称之为“状态”。
区块链又经常被称为“账本”,既然是账本,那么最重要的用途就是记账,记录每笔交易的重要数据,以便将来以此作为查账和避免纠纷的依据。
根据前面章节介绍的区块链的结构也很好理解,区块结构中最核心的部分就是用来存储交易的信息(状态),因此可以说没有状态存储就不会有区块链。
需要注意的是,这里的交易指的是广义的交易,并不限于货币和金融的交易,一切会产生数据状态变化的事务都称之为交易,例如:账户的创建、商品信息的变化,甚至对于一次查询的审计信息的记录等都可以算作交易。
这里有一个需要注意的问题是:业务需要保存的数据很多,到底什么样的数据适合用区块链来存储?
鉴于应用的多样性以及用户需求的不确定性,这个问题其实并不容易回答,但是我们仍然可以从两个角度来试图缩小考虑问题的范围:什么样的数据不适合上链以及什么样的数据适合上链?
1)首先来看什么样的数据不适合上链。
从业务角度看,不需要共享的数据不适合上链。
例如用户的私钥,是用户绝对不想与其他人分享的信息,如果上链,就意味着私钥会被每一个参与者获取并存储,即便是被加密也会有泄漏的风险,因此没有必要上链。
从性能角度看,过于庞大的数据和更新过于频繁的数据也不适合上链。
例如用户上传的一些二进制的介质、音视频、日志文件等。
因为区块上存储的数据作为链的一部分是会被永久保存并同步到每一个参与节点用来保证完整性的,如果存储的数据过于庞大,则会严重影响同步性能,占用有限的存储空间。
另外由于当前区块链的交易需要通过密码学算法进行哈希和加解密的签名运算,交易的最终数据也需要通过共识算法进行排序才能最终落块,在性能上还有一定的限制,因此过于频繁的写入操作还不太适用区块链。
2)那么什么样的数据适合上链呢?
简单来说就是需要共享的、需要具备可信度、不能被篡改并且需要可追溯的数据。
例如保险行业的保单信息,用户签署了什么样的保险协议,需要被妥善保存,将来出险的时候必须以此为依据进行理赔,因为不可篡改,保险公司无从抵赖,也因为可以共享和追溯,一旦产生纠纷也可以由监管部门追溯取证。
再如能源行业,如果使用区块链来记录电量的交易,那么拥有光伏发电的家庭就可以和需要用电的家庭进行自由交易,每一笔电量的产生和去向都有清晰的历史被区块链记录在案,不能篡改,同时支持发电方和用电方进行查询和追溯,哪家发了电,哪家用了电,交易清晰无法抵赖,避免了纠纷,是使用区块链的合适场景。
此外说到状态存储,就不得不提及信息安全,这也是当前区块链大规模普及的障碍之一。
我们都知道区块链之所以难以篡改,就是因为每一个参与交易的节点都拥有完整的区块链账本数据,可以对任何交易或账户状态进行验证。
但是这样也带来一个严重的安全问题,就是区块链账本数据对所有人公开了,而在很多场景下,这样的做法是难以被接受的。
拿货币转账的交易举例来说:
用户A一开始在系统中存入了一定金额的货币,用户B也存入了一定金额的货币,随后用户A向用户B进行了一定金额的转账,因为用户A和用户B的余额都存储在区块链上,智能合约的逻辑可以验证用户A的余额大于转账金额,并且把交易结果写回到区块链上,对用户A和用户B的余额进行更新,最终这笔交易写入新生成的区块中后,区块会被同步到用户A和用户B相关的节点上,他们都可以查询到这笔交易以及自己当前账户的余额。 |
但是很多情况下,作为用户来说,并不希望自己的余额被其他用户看到,作为交易的双方也不希望交易的详细信息被第三者读取到,那么这个问题如何解决呢?
一般情况下我们可以使用前文提到的同态加密的技术来解决这个问题。
同态加密就是智能合约在存储用户的余额状态到区块链上时,存储的并不是明文,而是使用相应用户非对称密钥的公钥通过同态加密算法加密之后的数据。
在同态加密交易过程中,转账双方的余额都没有经过解密,并且交易记录存储到区块链上之后只能被交易双方解密查看,第三方只能看到密文,无法解密。
这样既达到了区块链无法篡改、可以被追溯和监控的目的,又能保护用户隐私不被泄露。
同态加密技术细节前文已经有详细介绍,就不在此赘述了。
2 准则二:是否多方协同写入
是否存储状态只是判断流程的第一步,其次还要依据是否多方协同写入来进行判断。
前面一直提到区块链一个突出的特点就是去中心化,而多方协同写入才能够将区块链这种特点的优势完美地发挥出来。
有人曾经说,区块链颠覆的核心就在于去中心化,我们现在的世界存在了太多的中心化系统,然而这些中心化的系统却和用户日益增长的去中心化需求产生了矛盾。
中心化系统有如下弊端:
首先是权力过于集中。
中心化系统的一切数据的来源都是数据中心,数据中心拥有至高无上的权力,数据的存储逻辑全部由中心决定。
正如人类社会中权力集中的地方必然存在腐败一样,数据权限集中的地方也容易滋生“腐败”,当然这个腐败指的是对数据的篡改。
由于只有一套中心化的系统,如果没有额外的监督审查机制,数据可以很轻易地被篡改。
但是构建一套监督审查机制也是十分复杂的,到底由谁来监督?
监督的部门有没有公信力,是否被信服?
这些都是问题。
其次是集中的数据难以使用。
数据中心化,意味着任何使用数据的单位或者个人都要从数据中心获取数据,这种数据同步模式有两个问题:
其一,随着使用数据的部门增多,给数据中心带来极大的数据访问压力,数据中心会形成数据访问的性能瓶颈,这对数据中心的性能和扩展性提出了极高的要求。
其二,新的部门想使用数据必须和数据中心进行对接,无形中增加了数据使用的成本,给数据的扩散造成了障碍,极大地影响了数据价值。
前些年我国正处于数字化转型的初期,大量数据由纸质数字化转化而来,但是各地又形成了一个个数字孤岛,各省市之间的数据不能同步,给政府部门的工作造成了极大困扰。
比如,小轿车跨省违章不能及时被追责,因为违章的信息不能及时同步到其他省市。
再比如,有些公民从一个省市移居到另外省市,重新办理了新的身份证,有时候会出现一个实体个人有两个合法身份证号的情况,也是因为各省市身份信息不能及时同步的原因。
其实并不是政府部门不作为,而是进行这样的数据同步需要同时拉通各省市很多部门、调动很多资源、成本过高而已。
最后是集中的系统抗攻击能力差。
数据集中意味着黑客只要攻陷了一个数据中心,就得到了全部的数据权限,可以为所欲为。
而防护部门必定绞尽脑汁花费高额成本进行防范。
这样做不仅提高了成本,还只能在一定程度上降低风险但又不能彻底消除。
以上这些中心化系统的弊端,我们都可以依靠区块链技术来解决,将数据中心化的账本转换为区块链的分布式账本。

从中心化账本到分布式账本的转变
这样每个数据节点是对等的,拥有完整的数据链,黑客除非攻陷了大部分节点,否则不会影响数据的正确性。
另外,各个节点之间也可以相互监督,真正实现数据自治。
以电力系统为例,当前我国的电力系统还是一个中心化的体制,以前购电并不像现在这样简单,只根据一个用户编号就可以使用支付宝之类的互联网应用购买。
因为只有电力部门才拥有对电卡读写的权限,在当时没有智能电表进行网上购电时,必须拿着电卡实物去电力部门排大队购电,并且办理过程十分冗长。后来出现的智能电表可以算是借着互联网将中心化系统进行了一次很好的升级,互联网通过网络将电力系统延伸到各家各户。
但是,互联网只改变了网络连通的现状,将数据传播到各家各户,却没有改变系统的权力中心化状况,将权力转移到用户手中,用户依然需要使用电力系统对电卡进行读写,也就是电力部门垄断了话语权。
而在上面的例子中,用电家庭和发电家庭使用区块链来进行电能交易才算实现了区块链的真正价值。
由此我们不难理解,如果一个区块链只有一个写入者,那么无论拥有多少共识节点都是没有意义的,因为写入者可以随意写入、随意变更数据,本质上又变成了一个集中式的系统。
因此,一个合理的区块链应用是要求参与的各方都可以具备预先规定好的写入权限,并且相互制衡,从而达到去中心化的目的。
3 准则三:多方是否互信
首先我们来谈谈关于信任的问题。
互联网诞生之初,最先解决的核心问题是信息制造和传输。
随着互联网的大规模发展,我们使用TCP/IP协议构建出来一条条网状的信息“高速公路”。
在这个高速公路网上,我们能够将信息快速生成,并复制到全世界每一个网络所能够触及的角落,并且这种信息的传递是极为高效并且越来越廉价的。
从此,我们进入了一个“信息爆炸”的时代,整个互联网上的信息开始以几何级速度增长。
然而,随着互联网进入我们生活的方方面面,我们却发现有些信息是无法传播和复制的,或者说传播无法很容易地进行。
比如说货币支付,我们不能直接把要支付的钱复制到对方的账户上,必须要到银行柜台花个把小时排队进行办理,后来有了ATM机,我们仍然要出门乘坐交通工具花费很长时间办理。
当然后来有了网上银行,有了U盾,但我们仍然离不开中心化的银行系统,依然有诸如转账需要花费不菲的手续费用、转账金额或许不能立即到账等一系列问题。
产生这些问题的根源都是因为我们的互联网非常善于处理信息分享,而不能解决“价值传递”或者说“信任”这个事情。
多方是否互信也是判断应用是否适合区块链的一个重要指标。
区块链的意义在于使得互不信任的各方可以通过区块链传递和获取信任,并且这种信任建立的成本是很低的,具有极高的性价比。
如果参与写块、读块的各方是完全信任的,那么即便各方在物理上分散,在逻辑上也是集中的,这种场景下区块链的信任传递特性就失去了意义,因此并不适合使用区块链技术。
但是我们注意观察就会发现,其实这些所谓各方的完全信任并不是天然具备的,大多数场景下是基于一定的信任机制的,这种机制有可能是基于自建的一套信息系统,也有可能是基于传统的可信任第三方(Trusted Third Party, TTP)。
而这种信任的根基并不牢固,并且都存在一定的弊端,因此,如果我们认真分析,这些应用和场景也都可以转化为区块链应用,并且能够从中获得很多好处。
综上所述,如果说区块链颠覆的核心在于去中心化,那么区块链与生俱来具备的互信特性就是去中心化的基础。
没有互信作为基础,谈去中心化是毫无意义的。区块链利用密码学的哈希算法(Hash)和数字签名(Digital Signature)来保证交易的发起人无法被冒充,而区块的链式哈希结构则保证了历史交易被永久地记录,无法被轻易地篡改。
区块链这一系列的特点给互联网带来了前所未有的互信的特性。
如果说第一代互联网解决的是数据传递的问题,那么以区块链为基础的互联网解决的就是信任传递的问题。
4 准则四:TTP是否能完美解决
可信任第三方(Trusted Third Party, TTP)是在第一代互联网无法解决互信问题的前提下的产物。
当时随着互联网的日益膨胀,人们迫切希望在虚拟和现实世界中建立一种信任的关系,如果缺乏这种纽带,那么虚拟的东西永远是虚拟的,就不会出现今天百花齐放的电商和虚拟业务,也就不会有当今互联网的蓬勃发展。
但是建立这种信任的纽带又是极其复杂和昂贵的,比如银行的在线业务和应用是需要银行以其强大的资金和政府公信力为其背书,提供对业务和纠纷的监管和决断。
很多电商也是依赖于强大的资本来提供公信力和背书。
其他更多中小企业并没有足够的实力和公信力来自建这种公信的系统,它们只能依赖强大的第三方提供信任的服务。
从中我们可以看到,TTP的最大缺点在于昂贵的高门槛、接入运营的复杂度高以及权力过于集中等弊端。
权力集中就意味着腐败,就有被人为渗透的可能,同时集中的系统普遍抗黑客攻击的能力较弱。
而区块链天生的去中心化和可信的特性,恰恰是解决上述问题的最完美手段。
因此,判断应用是否适用区块链一个很重要的标准就是TTP是否能完美解决当前的信任问题。如果TTP能完美解决,那么确实没有上区块链的必要。
需要注意的是,当前很多看似用TTP解决的信任问题其实解决得并不完美,例如电商和用户之间的纠纷,公信部门系统自身故障以及受到攻击产生宕机的事情也时有发生。
因此,我们在判断应用是否适合使用区块链的时候,并不是判断TTP能否完美解决信任问题,而是TTP的缺陷我们能否接受,TTP的成本能否接受。
5 准则五:是否限制参与
判断流程至此其实已经基本确定应该适合使用区块链了,是否限制参与这一指标只是用来判定我们的应用到底适合公链还是联盟链。
公链对用户的准入要求并不高,比如所有的虚拟货币,基本上任何人任何机构只要进行简单的注册,生成私钥和证书即可参与。
而联盟链则不同,比如金融业各银行之间的转账业务,并不希望未经授权的人参与,是建立在一定的信任基础之上的,比如某几家银行形成了一个战略联盟,之间使用区块链同步一些信息。
但是这些银行之间又不是完全信任的,只是因为之间的利益关系联系在了一起。
在这种前提下,联盟链就比较合适。
想加入的银行需要通过一系列流程方可获得参与区块链的资质,同时联盟区块链中的信任各参与方都能通过区块链不可伪造、不可篡改等特性进行相互监督。
因此公链和联盟链并无好与不好之分,各自有适应的场景。
上述流程给出了一个简单易行的审视各类应用是否适用于区块链的基本方法,避免读者在面临陌生领域或全新行业进行区块链应用分析时无从下手。
另外需要特别注意的是,本书中提到的五大判断是作为判断区块链应用的充分不必要条件,也就是说,如果满足五大判断准则就基本可以肯定为区块链应用,但没有全部满足的应用也很可能是区块链应用。
在初次尝试使用这五大准则时,读者常犯的一个错误是将需要分析的场景严格按照这五条准则一一对号入座,必须全部满足准则才判定为适合区块链的应用,这样做是很不灵活的。
在实践中,请读者根据实际需要,结合业务自身的特点以及企业的实际经验进行量身定制、灵活剪裁,方能发挥区块链的最大价值。


