40年前互联网协议战争,对今天的区块链有什么启示?

藏在海平面下,体积比水上的巨大得多,意味着它们的影响更深远、更辽阔,但因为不直接面向消费者,往往不为人知。我把它称之为协议层的战争。协议层是应用层之所以存在的基础。

就像应用需要获取用户、占领市场一样,底层协议想要成为最终的赢家,也需要占领自己的用户——大部分是开发者——的心智。但协议层的战争又跟应用层很不一样,并不是砸钱做推广就可以搞定,很多时候,协议层需要以开源的形式,去赢得更多的信任,因为它们需要建立的不仅是市场,还有生态。

生态和市场有什么不一样?打个比方,应用层战争就像是两个生意对手在广场上建立一家商店,互相争夺吸引镇上顾客光临自家商店。而协议层战争更像是两个宗教互相竞争,谁能号召更多的人成为信徒,谁能鼓动更多信徒在镇上建造更多的教堂,谁才是最后的赢家。

区块链正处于协议层战争的早期阶段,目前为止还没有产生通吃一切的大赢家。每条公链都在尝试建立自己的生态,比特币和以太坊走在了最前面,身后跟着许许多多中小型的项目;DeFi 成为了智能合约主流的叙事和应用方向,稳定币 Maker 走在了前面,身后还有其他种类繁多的DeFi 协议,它们每个都希望成为去中心化金融的基础拼图,金融乐高中最底层的积木。

这里面每天都在产生大量的创新,也有大量的竞争。橙皮书和这个行业里的其他人一样,我们也在试图思考那个最重要的问题:哪些协议会最终胜出?应该把手中的赌注,押在哪只赛马身上才能笑到最后?越想知道这个问题的答案,思绪好像就越乱成一团。

就像上文所说的,协议层的战争跟我们所熟悉的应用层战争并不一样。好在历史或许能给我们一些帮助,因为协议层战争其实已经发生过一次了。在互联网协议刚诞生的上古时期,如何把全世界的电脑连接成一个网络,同样面临着不同协议的竞争。最终我们知道,TCP/IP 协议获得了胜利。

但互联网的这场协议战争到底是怎么样的?它对今天区块链领域的战争又有什么样的启示?这篇文章尝试着回答下这两个问题。

40年前的协议战争

在互联网的大目标上,所有人都达成了共识:要建立一个全球性的计算机网络。但是具体如何实现这个目标,他们意见各不相同。到20世纪80年代初,有几个不同的协议开始相互竞争。

在欧洲电话垄断巨头和大多数政府的支持下,OSI协议受到了当时更多人的青睐。其他强有力的竞争对手还包括两个企业内部的网络协议,IBM SNA 和 DEC DECNET。我们今天所熟知的互联网协议(TCP/IP协议)是当时这场协议战争中的黑马,它只由一个依靠志愿者的自治社区来支持。

但是互联网协议的这个自治社区动作非常敏捷快速,他们在几个月内的时间里,开发进度就赶上了 OSI 委员会耗费数年取得的进展。不过,互联网协议却吓跑了一些潜在的使用者,因为这里似乎没有人为之“负责”。

——计算机历史纪念馆[1]

协议和标准的不一致,到底会产生都多大的问题?当时的情况类似于,我们已经可以把全世界的电脑都连起来了,就像所有人家里都配备了电话,但是因为协议和标准的不同,每个人接电话讲的却是不同的语言,因此互联互通仍然无法实现。

因为无法统一标准,想把不同协议的电脑连成网络,实操的难度和麻烦非常大。思科公司(专门生产用于连接计算机网络系统的设备和软件)有这样一件文化衫,上面罗列了当时他们能支持的网络协议,而这些网络协议只是当时所有网络协议的一部分。

对区块链的启示

这段历史对今天区块链的格局有什么样的参考意义呢?上一场协议战争能为今天发生在区块链领域里的协议战争带来怎样的启发?

建立正确的组织形式和社区文化

所有人都知道“开放”是最重要的,但具体到社区文化和组织形式上仍然会有差异。OSI 从一开始就定位于跨国的全球性工作组,也融入了许多开放性多样化的社区人员,但最后它却变成了一个不同利益方互相追逐的混乱公地。

IBM 作为 OSI 中非常重要的一股力量,因为对自己已有业务利益的维护,在基于数据报的包交换(Packet switching)日益流行的情况下,依然选择维护仿虚拟电路交换的方案,正是这种不同利益方的弊端。

所以,对于很多区块链项目来说,践行开放开源的理念一定要找对方向。RFC 在 TCP/IP 协议的制定上起到了非常重要的角色,今天,区块链项目在推动技术发展、新协议和新标准上也应该有类似的方案。

以太坊应该是一个很不错的模版,社区文化所赋予的创造力是显而易见的,橙皮书之前写过相关的文章介绍《专访Vitalik:社区远比代码更重要》。而反观 Facebook 主导的 Libra 项目,几乎很难被人看好,在我看来,它类似于 OSI 的组织形式,由一家既得利益者的巨头企业主导,试图拉拢其他行业里的头部力量,我认为在怎样协调各成员的利益上,Libra 需要面临与 OSI 相同的难题。我在心里甚至认为,Libra 注定是要失败的。

不要过分纠结理念,先让代码跑起来

“粗略的共识,可运行的代码”——这句话是 TCP/IP 协议工作组的座右铭。换作在区块链行业里,我觉得类似的道理是,不要太过于纠结原教旨主义的理念,比如去中心化,也不要过早开始考虑怎样把项目过渡给社区接管,或者是在追求通过投票的方式完成项目的升级和进化、追求链上治理的方向上浪费太多力气。

因为这些事情也许都远不如让代码和协议能先跑起来、运行起来,来得更重要。这世界不缺理念正确的人,缺的是跑得足够快的人。其实类似的建议橙皮书之前也写过许多:《区块链应用层需要拿破仑》。

不要追求完美的协议

OSI 与 TCP/IP 的竞争,最直接的一个教训是,世界上并不存在完美的协议。在区块链行业里,我看到不少项目方都在追求这种完美主义,或者不是追求,而是在以这种完美主义作为故事宣传自己的项目。

就公链这种大型基础设施而言,所有人都希望得到一个完美的解决方案,既能扩容、又去中心化、不用浪费电力、还能顺带解决跨链问题,既能跑DeFi,又能玩菠菜。外汇常见问题http://www.fx61.com/faq
想用一条链的技术,一次性解决这些问题是不可能的。要相信有用的协议最终都会逐渐得到补全、成为完整的协议群和协议栈,不要一开始就寄希望于发明一套完美的协议。从这个角度来说,似乎 Cosmos 的策略要比波卡更好。

如果你做了一个协议,这个协议能为开发者解决什么样的实际需求才是最重要的,不同的协议可以组合成协议栈,成为日后不可或缺的积木。而最简单的协议,往往最有可能率先存活下来。比如 Uniswap、0x、Compound。

这方面,同样的,橙皮书之前其实也写过类似的观点:《BTC与ETH:定位的胜利》。

尽早让协议传播开来

最后一点,是让协议尽可能得到传播。

让协议传播有两种方法,一是找到传播的载体,借着某些必要的工具和产品得到推广和普及。

就像 TCP/IP 协议最早是搭载 UNIX 系统而得到传播一样,区块链协议也应该尽可能去寻找这样利于传播的载体,让你的协议尽早可以被开发者使用上。

另一种方法是,让协议产生有影响力的产品和应用,借着应用的普及而使底层协议得到普及。就像万维网建立在 TCP/IP 的基础上一样,万维网吸引了许多圈外的人使用互联网,最终也壮大了 TCP/IP 协议的发展。

以太坊,在我看来,它就率先为开发者提供了一套可编程的智能合约的功能。过去几年我不断听到有人对以太坊的智能合约以及solidity语言的批评,常见的批评观点是,以太坊没有必要提供一个图灵完备的智能合约功能,不是所有代码都需要放到链上,也没必要专门为编写 Dapp 发明一套新的语言。

这些观点当然都是正确的。但现实是,以太坊用智能合约这个最容易理解的概念先占领了开发者的大脑,它可能不是最完美的,但它率先得到了传播,那些掌握正确观点的人反而需要从头开始追赶以太坊领先的步伐。

发布了38 篇原创文章 · 获赞 1 · 访问量 3102

猜你喜欢

转载自blog.csdn.net/snvlongquan/article/details/104559522