美国《展望周报》(The Outlook)总编黎曼·阿博特(Lyman Abbott)在自传里记录了他父亲的一句话:「自古以来,凡哲学上和神学上的争论,十分之九都只是名词上的争论。」后来阿博特评论说:「我父亲的话大抵是不错的。但我年纪越大,越感觉到他老人家的算术还有点小错。其实剩下的那十分之一,也还只是名词上的争论。」
拨开「名词」迷雾,透过现象看本质
今天的区块链行业新名词层出不穷: 「中心化」 vs 「去中心化」,从「公有链」 vs 「私有链」、「联盟链」, 到后来的 「许可链」 vs 「无需许可链」,还有「主链」 vs 「侧链」、「根链」 vs 「子链」,「状态通道」,「闪电网络」,更有「Layer 0」、「Layer 1」、「Layer 2」 这种数字编号的命名,令人有种「黔驴技穷」的感觉 …
其实这些很多都只是无谓的「名词」之争,往往概念越是模棱两可,人们才越会陷入这种名词上我是你非的争论,妨碍对事物本质的认知。我认为,应该把区块链放在互联网乃至电信网发展的历史中去观察,透过现象看本质,理解区块链的本质和去中心化的真义,才是把握行业脉搏的关键。
上图左侧是互联网应用的架构简图(这里只画了 Web 应用,但与其他类型的应用基本类似),而右侧则是区块链网络和去中心化应用的架构简图。
可以看到图中两个技术架构非常相似:左边的互联网,我们非常熟悉了解,以至于觉得「本来就应该这个样子」,但实际上互联网这一架构也是历经将近 20 年的激烈竞争生存下来的;右边的去中心化应用的架构图,虽然这一最新的「链网」架构是我们在设计 ArcBlock 平台和服务的过程中摸索总结出来的,但在 Cosmos 等其他同行推出的产品身上发现原来「英雄所见略同」。
两者相似之处
Web 应用和 DApps 都需要相似的网络、节点到框架三层架构的支持和服务。参照互联网 Web 应用的发展,可以明白围绕着 DApps 的是专业分工、选择多样的基础网络、节点服务器和开发框架。
此外,互联网应用离不开数据库技术,后者诞生时间比前者稍早一些,而两者的发展也相伴相生。在数据库发展的早期,也曾经「百花齐放」,出现无数种数据库技术竞相争夺「王者」地位,最终只有少数存活下来,而 SQL 语言成为统一绝大多数数据库查询的通用语言,而采用例如 ODBC、JDBC 这样的连接中间件、应用开发层的 ORM (Object Relationship Mapper,目标关系映射)等部件已经成为 Web 应用标准的设计模式。
如果我们把互联网 Web 应用的数据库访问部分加上去, 同时也把区块链应用中访问上一代主流区块链更理想的一种方式加进去,我们就看到下面这样的图:
两者何等的相似?结合互联网的架构,相信很多聪明的读者朋友会从这相似性一下子就豁然开朗,理解了区块链网络的架构应该是什么,以及去中心化应用在这个体系内的地位。
其实不必惊讶,类似的相似性在计算机技术的发展过程中是一而再、再而三地重复出现的。今天互联网的架构也和过去的电信网有着很多的相似之处。技术的发展总是螺旋曲折地稳步前进,因此,当我们今天看到一项大肆宣传的新技术凭空搭建了一个彻头彻尾革新的架构时,反而要多加小心,考察其是否「靠谱」。
织链为网:链网成为区块链技术主流
进入 2019 年,区块链网络架构在区块链领域崭露头角,ArcBlock、Cosmos (原 Tendermint)和 Polkadot 是目前支持链网架构姿态最明确的几个团队。
从上图 ArcBlock、Cosmos 和 Polkadot 技术对比图可见,这三家产品的最大特点就是「织链成网」。我们相信,当越来越多人理解了区块链的架构后,大部分团队可能都会采用这样的架构,或者成为架构里的生态一环。目前,ArcBlock 的链网和 Cosmos 主网相继在 2019 年第一季度发布,均已宣布可以支持无限条链的自由组网,Polkadot 迄今发布了几个测试版本,其官方博客宣布今年第三季度将发布第一版能支持高达 100 条链左右的链网(而之前的白皮书表示支持数百条链),并在 2020 年开始第二版发布后才能支持更多的链加入。
演进的启示:从电信网到互联网,再到区块链网络
图:电信网到互联网 , 互联网到链网
直到今天,互联网并没有完全取代电信网,虽然在大众心目中,互联网的价值和重要性已经远远大于电信网。不过,仅仅就在十几、二十年前,互联网在大多数电信运营商眼里不过是一项「增值数据业务」。在很长时间里,电信网一直在演进融合,这中间还有「广电网」这个曾经重要、如今几乎被忽略不计的网络,「三网合一」的「融合通信」曾经是 10 年前业界热议的目标和理想,如今却以互联网融合一切悄然成为了现实。今天的区块链网络,基于 P2P 协议基础,因此在很多人眼中,也只是互联网承载的一块「小业务」,正如过去互联网生长在电信网中一般,但未来,我们坚信区块链网络将大于并包容互联网。