区块链:从“性价比”到“信价比”

据路边社统计,全球每天大概都会有2~3场区块链相关的论坛、峰会。

币圈、链圈各自秉承改变世界的理念和梦想,你方唱罢我登场。

纵观目前的区块链项目,几个代表性公链项目(BTC、ETH、EOS等)热度不减,早期的染色币、竞争币已是昨日黄花,剩下的其他项目在经过一轮一轮的Token炒作之后,大概难逃一地鸡毛,沦为“仙股“的命运。

联盟链、私有链是最好的忽悠工具,不用开源,产品经理可以忽悠的天花乱坠,客户也很高兴自己的系统能够贴上区块链这样高大上的标签,一个愿打一个愿挨,表面各取所需,背后大家懂的。

区块链:从“性价比”到“信价比”

种韭菜,割韭菜,永远是人民群众最喜闻乐见的娱乐活动。

暂且不去关注江湖的是是非非,让我们纯粹从技术角度,来讨论下区块链真正适合的应用场景。这里所说的“真正“不是说哪位领导指示或者大V宣称,更不是媒体蹭热点的鼓噪,而是我们从区块链的特征出发,通过合理的假设和推论,得出来的大概率认知。

让区块链不再割韭菜,挖好的坑,改种萝卜,是我最大的愿望。

显而易见,我们首先要做的事,是列出区块链到底有哪些独特特性。

当我们提到特性时,所指不仅仅是某个简单的元技术特性,也包含那种复合性的技术特性;不仅仅包含技术特性,还应该包含以技术特性为基础带来的生态的、应用上的可能性。这里暂时将这些特性简单归纳成三个层次:技术层、生态层和商业层。

区块链:从“性价比”到“信价比”

下面将围绕这三个层次的特征展开讨论。

一、技术层

回到区块链(以比特币为例,下同),从底层技术上看,其独特性有哪些?比特币的元技术有链式结构、PoW、P2P网络、Hash函数、非对称秘钥、Merkle树、UTXO、数字货币、脚本、挖矿、最长链共识等等。

对不起,所有这些元技术都不是新东西,所以也不是区块链独特性所在。

回想我们谈论区块链,有两个目标特性大概是提的最多的:不可篡改、去中心化,下面我们将从这两个角度出发,分析各个元技术是如何组合起来形成一个精致的系统的。

我们可以把时间回溯到2008年,模拟中本聪发明比特币系统的那一天。

首先考察不可篡改性。正常情况下我们讲不可篡改性,一般指的是用户用私钥对信息进行签名,这必须基于一个前提:私钥是保密的。这种机制对于中心化非中心化系统都是有效的。然而在去中心化的前提下,有两个新防篡改问题需要解决,那就是双花与事务丢弃,此时,通过保密私钥签名这个前提是无法满足的。

一个天才的想法诞生了,当我们把PoW、Hash函数结合在一起的时候,我们可以得到的是一种复合技术特性,那就是“算力签名”(个人叫法,另文说明)。这种签名是匿名式的,无需私钥,可以由任意节点实现,签名的效果就是把信息伪造提高了一定的难度。当然,一般情况下,单节点的算力签名实用价值不大(可用于防御DOS攻击,用在特定应用或者高防通信设备中),除非你的算力特别强大。这种无视密码学原理的签名方式,有点类似盲签名,却正是区块链的精髓所在。

为了提升算力签名的价值,可以有两种方式。一是从空间维度提高总算力,二是从时间维度将算力进行累加。

从空间维度提高算力最简单的就是增加节点的数量。假定问题的难度不变,可以将解题时间做到很低。或者我们需要保持解题时间不变(获得一个稳定的时间戳),节点数量增加的话,问题的难度也需要相应增加。

区块链:从“性价比”到“信价比”

此时,需要考虑我们的另外一个设计目标,去中心化系统,该系统需要能够支持对分散于全网的事务(对于比特币而言,就是数字货币交易)的防改防丢保护,以及解决分布式系统的共性问题:时间戳机制与共识机制。

P2P网络是去中心化网络的基础,这是基本常识。系统中节点数量越多算力越强签名效果越好,由于时间戳固定,只能根据全网算力评估动态调整问题难度。通过基于算力的节点选举竞争机制,对去中心化系统中的不断产生的分散交易进行周期性收集与排序,解决共识问题。其中,选择最大算力的链作为共识链用来解决分布式系统中的分区问题,还可以进一步加块算力签名的累加速度。于是,算力签名机制与分布式系统的业务机制就天才的完成了融合。

从时间维度考察,采用链式结构进行累加式算力签名,不能不说是一个非常巧妙的设计。一个区块之后的所有后续区块,都在为该区块贡献一份新的算力签名。就跟搭积木一样,如果你发现某一层弄错了,你只有从上到下,一层层的拆,修改后出错的层之后,再继续往上重新搭,积木越高、要修改的层次越低工作量越大。最差的情况下(完全中心化,伪造成一个低算力网络重新生成区块历史。),攻击者也需要花费与被修改的区块之后所累积的全部出块时长才能够篡改事务历史(仅双花与丢弃交易)成功,然而其他参与者仍然可以通过查看网络总算力的历史来发现这种异常。

一个良好的生态,需要不同身份的人员参与,因此一个去中心化的账户系统是必要的,幸好我们有非对称秘钥机制,通过足够长的本地随机私钥产生,我们解决了去中心化的名字服务问题,同时保证没有人能够伪造我们的事务内容,把区块链的内生安全问题缩小到双花与事务丢弃两种。

当网络的节点数量足够多,时间足够长之后,我们的历史事务就可以受一个去中心化的、防止篡改的区块链系统保护。

但还有一个问题没有解决,既然是去中心化的系统,足够多的节点(算力)哪里来?互联网免费,但可以通过广告流量来变现,对于去中心化系统,当然算力也可以由某个大款来提供,但这样的系统,就是一个大算力的玩具,在某些不差钱的场合或许有用(又称为私有链),但这就背离了我们的设计初衷:去中心化。

既然比特币设计出发点是为了支撑一种去中心化的数字货币,用数字货币本身来作为刺激或者奖励手段就成为当仁不让的选择。将节点选举机制与数字货币的发行结合起来(称为挖矿),很好的解决了算力提供与利益分配的问题。但是,算力用的是电力,电力是要用法币来购买的,因此数字货币必须要有一个与法币兑换的渠道,交易所自然而然产生。

综上,从技术层面看,区块链通过各种元技术特性的组合以及数字货币的刺激,实现了在一个去中心化的系统当中,多节点、历史累加式的算力签名,保证了历史事务不可(难以)篡改,同时提供了大量的冗余服务,仅此而已。

其他元技术,用在中心化还是去中心化的系统,没有本质区别。比如,比特币使用非图灵完备的脚本机制,以太坊实现了图灵完备的智能合约,然而这个对于技术层而言,并不起决定性作用,当然,他们会在生态层当中发挥很大的作用。

那么回到文章的出发点,我们现在可以从技术层推论出有哪些适合的应用场景么?

这个取决于各人的眼光。有些人天生具有非常深刻与敏感的洞察力,能够穿透技术层,直接从生态、商业与应用的角度来进行思考,但对于大多数人而言,并不具备这样的阅历和能力。只能跟我一样一步步,按部就班的对技术进行检视与思考。

IEEE有一张图,从技术层面回答了是否需要使用区块链来解决问题,如下:

区块链:从“性价比”到“信价比”

这张图基本上就是围绕区块链技术层的两大最终特征(防篡改、去中心化)展开,这里我做了一个总结,可能更好理解一些:

当满足如下条件时,可使用区块链:

1、存在多方写入事务数据库;(必选项)

2.1、多方之间互不信任and 没有可信第三方;(可选项1)

2.2、有去中心化或者多副本的需求;(可选项2)

如果有如下两种情况之一,可选择联盟链,否则可选择公链:

1、数据私有;

2、区块链软件受控;

以上选项中,有一点比较特殊,就是2.2项,当所有的参与方之间相互信任时,如果有去中心化或者多副本的需求,也可以使用区块链。传统观念认为,在可信的环境中,没有必要使用区块链。然而随着区块链技术的日益普及,使得原来高大上的分布式系统和技术变得唾手可得,并且比传统的分布式系统具有更高的安全性与开放性等特点,拿区块链来解决数据冗余备份等问题,也是符合理性的做法,能说得过去。

技术层的判断标准往往比较理想化,而现实往往比较复杂,很难找到一种绝对明确的满足判断标准的场景(绝大多数集中在可信第三方问题上),大多数时候条件都比较含糊,这个时候,就需要结合生态或者商业上的一些特性来对场景进行进一步的判断。当然,如果能够很确定需要解决的问题不满足上述的条件,则可以很确定根本不需要使用区块链。

区块链:从“性价比”到“信价比”

二、生态层

与传统的分布式技术(例如分布式数据库、hadoop、BT等)相比,区块链最大的特点,是构建了一个参与者之间可以鲜活的互动的生态系统。

区块链的生态层,与其设计目标直接相关,例如:比特币的设计目标是数字货币,而以太坊的设计目标则是DAO,所以从比特币的技术层往上看,是UTXO,其实就是可切可溶的数字货币,比特币所有的特性,都是围绕着数字货币的切分、溶合、转移展开;从以太坊的技术层往上看,是分布式可信对象,其中包括原生的ETH Token对象、账户对象,并且通过智能合约,可以定义更多的可信对象,通过这些可信对象的相互协作,达到DAO的设计目标。

生态特性是多方面的。比如,大多数公链生态的基础特性是安全、信任等,这些都是技术层的设计目标直接引申来的。但公链还可以带来一些有用副产品,例如:全局性、开放性、透明性、标准化。也有些不太好的副作用,比如:TPS比较低、系统难以升级等。

另外,实际场景中,往往区块链只是解决系统中的某一个或者部分问题,剩下的问题需要采用其他的技术手段来完成,例如对等网络、分布式存储等,甚至可能还需要采用中心化的方式来实现。由此对生态带来的一些影响,也需要在生态特性中考虑(技术特性不是本文覆盖的范畴)。

所以我们谈生态特性,一定要结合具体的项目进行,尤其是基于公链的项目,此处,我们主要以以太坊为例进行分析,下面是大多数区块链项目都会具有的共同特征。

1

安全性

这是在区块链里,很容易被以偏概全的一个概念。安全的概念很大,但正如前一节所讨论的,区块链真正提供的独特安全性,只有算力签名(简单粗暴、无需第三方)和去中心化(冗余/抗审查/服务冗余),其他的安全特性,和中心化的实现方式没有太大的不同。当然,很多新技术正在研究,用于区块链当中,比如:零知识证明等。但这些新技术目前看,并没有为区块链带来比中心化系统更多的新特性。

2

匿名性

根据Zooko三角猜想,区块链可以牺牲名字的可读性,以获取名字的安全性与去中心化。不过在某些卫道士眼里,也仿佛开启了潘多拉之盒,这个世界逐渐失去了控制。

3

微循环机制

比特币为解决去中心化的数字货币问题,引入了区块链。

后来人却把区块链作为主要设计目标,数字货币拿来作为补充甚至被阉割掉。

现在最火爆的模式却是,为了炒币,去引入区块链。

关于数字货币的是是非非已经讨论很多了,不再多说。如同现实世界里的货币一样,区块链的Token也是起一种润滑剂、催化剂的作用。

与传统经济中的低效金融模式比,区块链可以以一种更加高效的方式配资资源。在区块链之上,可以建立多样化的商业生态,哪怕不与现实世界中的法币发生兑换作用,Token也可以在区块链生态中发挥微循环的作用,为生态中各种能力、资源、资产的交换,提供了衡量尺度,促进生态繁荣。这里我们需要跟传统的中心化互联网模式相比,他们是没有这种驱动力和能力的,因为每个互联网商业实体其实都是一个信息孤岛。

4

开放的生态

开放性最大的好处,是可以吸引更大范围的参与者共同进行生态的建设与维护,降低系统的进入门槛,开发更多实用的应用系统,能够更快的把一种新技术的推向大众市场。这里把全局性、透明性、标准化都放在一起讲,因为这些概念本来就是一体多面的事情。

区块链的开放性来自对安全的更大需求。从技术原理上来讲,算力越高,区块链系统越安全,因此,需要以开放的姿态吸引更多的算力节点参与区块链的共识过程,这又自然而言对标准化(代码即标准)、开源提出来要求,只有这样,系统的安全性才能得到足够的审核与验证。另外,参与者相互之间间隔的越远,越没有联系,联合作恶的可能性也越低,这种全局性也进一步提升了区块链系统的安全性。

并且,区块链是来去自由的,这也能够消除很多参与者的摇摆不定,提升参与信心。

5

系统扁平化

系统的扁平化带来效率的提升,传统的基于中介的信任,带来复杂冗余的结构与制度的同时,还需要我们让渡与牺牲自己的各种权利。

人类最早的经济活动,都是面对面直接交换,因为这是最可信最有效率的方式,但缺点也很明显,当交换的范围逐渐扩大时,信用和效率都会急剧降低。区块链则以另外一种方式重新开启了陌生人之间之间直接可信交换的可能性。

6

区块链治理

无他,民主而已。

诸如不能随意升级版本、分叉,其实都是民主机制在区块链世界直接映射。

敏感话题,不宜多说。

7

DAO:分布式自组织机构

一言以蔽之,以太坊提供了一个分布式、可信的面向对象的执行环境,在这个环境里,代码即法律,传统的契约关系不再需要。

从现实角度出发,区块链第一个直接面向公众服务的完全去中心化生态系统,提供了账户、货币、交易、处理能力等大量与现实映射、连接的机制,远远超越了传统分布式系统的概念。一方面,打破传统互联网中心化服务的垄断。另一方面,也给建立更广泛、更公平的新业态提供了可能性。

8

关于信任

信任同样是一个很大的课题,有兴趣的可以自己阅读郑也夫老师的《信任论》一书。

人类的发展史,其实就是一部信任的发展史。从最早的血缘信任,到后来的权威信任、道德信任到后来的宗教、国家等第三方信任,都是为了建立更大规模陌生人之间的协作,降低摩擦成本。其实信任里面还有很重要的一种,就是基于博弈的信任,这种博弈在很多场合存在,但需要的前提是多次交易,对于一次性交易基本无效。

区块链的诞生,则解决了在大规模陌生人之间基于博弈(算力押注:即矿工们把自己的巨大算力与事务记录进行了深度绑定,作恶将导致算力的损失)的信任模型。这是区块链信任的基础,因此内涵也是受限的,仅仅在于我们相信:我们发起的事务只要被区块链确认,就是安全的,不能证明在此之外的任何行为是值得信任的。区块链并没有在加密、隐私保护方面提供更多的独特技术特性。

然而区块链带来信任却不仅仅来自安全特性,其实上面讨论的所有这些生态特征,都是区块链信任的来源。通过这些不同的生态特性反复加成,我们才可以通过互联网,建立一个跨越全球的陌生人之间的信任网络,这是联合国都没有做到的事情。

综上,当我们从技术角度思考是否应该使用区块链来解决问题,却无法作出判断时,我们可以重新审视实际的应用场景,从生态的角度、参与者的角度出发,再次进行分析。如果可以从区块链的各种生态特性中获益的话,则可以为区块链选项增加砝码。

任何事情都是相对的,区块链在某一方面带来新的优势的同时,必然会在其他方面带来一定的劣势。上面都是说的加分项,作为一个死理性派,必然需要提一下减分项。

1、TPS性能

区块链的性能要分成两方面看。由于存在多副本,因此读性能是有很大提升的;但对于写性能是成问题的。由于区块大小固定、出块时间固定,因此实际的TPS最终取决于这两个参数,无论节点的处理能力有多强大,都毫无意义。对于大型网络而言,为提高性能,可以减小出块时间,但容易导致分叉频率上升。像EOS这样的项目,采取了一种相对极端的做法,选举出了21个超级节点负责出块,相当于往中心化方式靠拢,当然也导致了大量争议。

鱼和熊掌不可兼得,性能与去中心化之间的平衡,将会是区块链设计的一个主要考虑因素。

2、系统可维护性

没有系统管理员,没有契约关系,一切都是自组织,进出自由,自然系统的可维护性也是充满挑战。幸好区块链是多节点冗余的,节点的增加与减少,不会对系统带来太大的影响。由于网络的分区带来的分叉可能性,各种共识算法也很好的解决了这个问题。真正具有挑战的是版本的升级,毕竟这么多节点,如何达成一致,在一个适当的时间共同升级,而不会对系统带来比较大的影响,是一个全新的问题。

那种追求用户体验至上,整天需要敏捷开发,更换版本的应用,基本上不用考虑使用区块链了,但不排除在某个关键点上使用区块链作为信任基。

3、复杂业务处理

如果把区块链当作一种自驱动的计算模式,他的输入是TX,输出是区块链,指令集是EVM+共识机制,外部环境变量也主要依赖于区块链自身提供,例如:时间戳、随机数、历史日志等等。区块链的能力完全取决于区块链的数据结构、架构、共识机制设计,与实现的方式无关,与节点的平台与能力无关。

区块链作为一个分布式共识系统,与所有的分布式系统一样,由于只能依赖网络消息进行通信,因此缺乏统一的同步时钟,你也很难为区块链设计一个小于出块时间的定时器,由于区块的gas limit有限,你也无法在一次事务中进行大量的处理工作,另外,区块链需要依赖外部事务来驱动状态机转换,转换过程需要一次性同步完成(共识本来就是排序、同步的过程),因此你也无法在其中设计出异步通信机制。

未来,区块链有可能从外部数据源输入数据,例如:另外一个区块链或者Oracle中。目前的区块链的设计只能处理相对简单的业务,不排除未来有更加强大的区块链设计诞生,支持更加完善的计算环境。

一种复杂性的可能消解方式是,区块链进行明确化分工,每个链完成一类对象的支撑,不同对象之间的协作,通过区块链合作完成,例如:身份链、货币链、交易链等。

另外,也可以采用分层链的模式解决复杂性问题。最底层(L1)一般用于解决激励机制问题,并在L2实现业务链,两者通过侧链等机制完成协同。

目前每个区块链项目都会设计自己的身份系统,这似乎又在重复互联网的老路。既然大家相信区块链有足够的信任,能够解决中心化服务存在的信任问题,那么区块链彼此之间为何缺乏信任?这似乎是一种悖论。

4、隐私保护

由于去中心化的开放性生态,导致数据拷贝分散化,每个节点都有机会掌握整个生态所有的数据,不适合对数据有严格的物理保护需求的场景,哪怕使用了严格的加密技术。

为了在去中心化的生态中构建一个开放的权限系统,类似同态加密、ABE(基于属性的加密)之类的技术将会在未来发挥更大的作用。

5、监管

去中心化天然反对监管与审查,但并非完全不可监管。可以看到的未来,区块链必然跟现实世界还会存在千丝万缕的关系。监管者可以作为区块链生态系统的某个特殊的参与者,在不用建设与维护整个生态系统的前提下,做到最小化监管。

例如:在身份链中,银行可以作为银行账户或者信用信息的权威见证者,运营商可以作为电话号码信息的权威见证者,这两个见证者可以很愉快的在同一个系统中协同工作,而不用纠结谁来主导建造、维护与控制这样一个系统。

6、收费模式

用户长期养成并习惯了互联网的免费模式,接受收费对用户而言是一个很大的心理门槛。另外,目前也缺乏成熟可信的兑换所来支撑法币与Token的兑换,很多应用还处于封闭社区内的自娱自乐阶段,要踏出最后一步尚需时日。

区块链:从“性价比”到“信价比”

三、商业层

商业层主要考虑区块链引入或者落地的具体场景与具体的时机。而就应用场景而言,既包含对传统的应用场景的替代,也包含创造新的应用场景。而时机问题,即技术的生命周期问题。

1

技术生命周期

技术是有生命的,有侵略性的。一项新技术诞生之后,总是试图尽快完成对传统的技术的替代,往往很容易走向偏执,过分夸大传统技术的缺陷,刻意拔高新技术的必要性与普适性,回避现实问题。尤其是随着资本、人才大量进入新技术领域,很容易就会进入非理性炒作阶段。但往往现实却是,传统的技术虽然存在很多问题,却仍然可以解决当前最重要的实际问题,而且具有成本低、风险小、可获得性强等特点。

另外,技术投资也是有周期性的,在旧技术投资的生命周期回报没有完成之前,客户并不太愿意冒着巨大的不确定性为新技术买单。还有一个事实就是,新技术往往掌握在少数人的手里,大多数人(包括掌握决策权的人)出于各种考虑,对于新技术都是采取半信半疑甚至抵制的态度。

实际上,新技术固然能解决传统技术存在的一些问题,但从供给角度看,任何新技术都必然需要时间来进行验证、迭代,以提高成熟性与适应性,从需求角度看,也需要进行大量的用户培育和养成工作。AI、大数据、区块链目前都是如此,总是迫不及待的想把未来的故事拿到今天来买单(圈钱)。

但是,适当的炒作是对新技术而言,却是最快、最好的普及教育,也是任何新技术迈向成熟不可或缺的助推器。对于区块链而言,数字货币作为最好的验证性、炒作性应用,可以说是相当成功。

随着老技术的生命周期完成,新一轮的技术投资来临。经过长时间的培育与炒作,新技术的成熟度与适应性越来越高,产业界对于新技术的理解也更加准确和深入,时过境迁,原来的次要问题可能现在将成为主要问题,新的场景也会陆续出现,此时将会是新技术正式登上主流舞台的最佳时机。对于区块链而言,各种独角兽项目(非企业)将会出现,一大批Token类、边缘化项目将会死去。

区块链:从“性价比”到“信价比”

2

原生应用

虚拟货币交易所是区块链的晴雨表,如果哪天能够形成几个垄断的超千万用户的平台,真正的春天就会到来。

3

数据主权

传统的互联网模式,主要基于流量与入口带来的数据进行盈利,用户将自己的身份信息、行为信息等隐私暴露给互联网服务商,以换取免费的服务,这是无奈的选择。区块链的去中心化带来了数据霸权的消解,扁平化使得数据可以以更高的效率流动,微循环机制使得数据与数据的消费者之间能够通过交易完成数据权利的合法让渡。尤其在最近实施的GDPR压力之下,区块链可能是目前最安全合法(法律总是滞后于技术)的一种选择。

4

传统无人区

生态系统是分层次的。的确存在有些位置,长期缺乏可信的第三方提供中介服务,这种场景往往出现在一个层次化生态的顶端位置,因为顶端往下总可以在上面找到一个第三方作为中介,而顶端继续往上就需要跳出生态之外来寻找可信的中介,而这往往是不可能的。例如:银行之间、电信运营商之间、国家之间等等。物联网也是一个非常切合的场景。

没有第三方作为中介,那就只有开圆桌会议,通过平等协商来达成共识,而区块链正是这种场景下最实用的工具。或者采用一对一谈判、合资协作等方式(目前主流方式)。

无人区的存在还有其他的可能性,比如在有些可以找到可信的第三方中介,但却缺位的情况,这种情况一般中介是政府,但由于责权利等各种关系、部门壁垒等没有理清晰,导致无法成功的胜任可信中介的位置。在这种情况下,政府其实并不关心业务本身,只需提供信用背书与监管,因此比较适合采用最小化监管的方式渗透到系统当中,基本的业务功能则由各方通过区块链进行自治。

基于此,可以开发出很多公共性质的服务,例如:去中心的DNS、去中心化的身份系统等。

区块链:从“性价比”到“信价比”

5

通用信任基

把区块链作为重要关系的信任基,而不是全部,可能是更多应用的最现实选择,未来,区块链将成为互联网新的强大的信任核心而存在。

我们完全可以开发一个中心化系统,但把对第三方的信任都通过区块链来背书。

有时候,区块链跟云计算很类似,都是构建一个平台。只不过使用云计算的目标是性价比,而使用区块链的目标却是“信价比”。

6

一定首先是B2B

消费者天然处于技术弱势,另外消费者总是处于生态的最底层,很容易找到第三方信任,所以区块链早期必然是B与B之间的博弈居多。数字货币是个意外,因为比特币是第一个区块链应用。

尾声:工具即信仰

《人类简史》告诉我们,世间万物都是信仰,货币是信仰、文字是信仰、宗教是信仰、民族是信仰(想象的共同体),甚至道德也是。如果从明天开始我们不再继续信仰这些,那么这些东西将变得毫无价值。所以,人类不过是“悬挂在自己编织的意义之网上的动物”(马克思·韦伯)。通过信仰,我们可以建立起大量的陌生人之间的协作,完成个体无法完成的高度复杂性的工作,这也就是人之所以为人的根本原因。

我们创造的每一种工具都蕴含着超越其自身的意义,区块链可以改变你与这个世界对话的方式。

然而摆脱束缚是一种冒险,有个“主人”反而是“安全”的。

区块链的未来不在技术,在人心。

当所有信任都不复存在时,至少还有区块链。


分享到:


相關文章: