什么是协议?

什么叫协议呢?怎么理解“ Bitcoin 是个协议”这句话?有怎么理解 Jack Dorsey 说的要把 Twitter 变成一套协议?

定义

什么叫做协议?

协议,又叫通信协议,指的双方或者多方进行通信时候约定的规则。在任何一个通信系统中,两个设备之间通信,数据内容都是有严格的格式的。协议规定了对方机器收到数据后,应该如何理解这些格式又如何给出回应。例如,互联网上两台机器互相通信,靠的是 Internet 协议,或者叫 TCP/IP 协议。

判断一套规则是不是协议要根据两个特征。第一,公开透明。同样的一套通信规则,如果是某个公司的 App 的内部的逻辑,就能不叫协议。协议就是要公开出去,让大家都使用的。第二,点对点,换句话说就是无中介。以前,人们通过邮政系统,两个人之间传信,是要经过第三方,也就是邮局,来完成,这就意味着通信不是点对点的,是基于中介完成的。而现在两台机器之间通过 TCP/IP 协议通信,就不会被任何的中介所控制。以前,转账需要经过支付宝或者银行这样的中介,现在有了 Bitcoin 我给你转账,不需要经过第三方,所以 Bitcoin 是一个价值传递协议。

这就是协议的定义和两个特征。

协议 vs 标准

协议,英文是 Protocol ,和另外一个词“标准”,Standard 是比较容易混淆的。实际上,技术人员对话的时候,互联网协议,跟互联网标准,有时候也不做严格的区分。

但是实际上二者是有区别的。标准指的是大家经过讨论形成了共识的规则。例如,所谓互联网标准,除了包含一些互联网协议,还包含其他的一些规范和约定。要构建一个大系统,例如互联网,需要多方的参与,那么大家需要遵守各种各样的规范和规则,否则 A 厂商的软件和 B 厂商的软件通信就可能出问题。这些规范和规则,都统称为标准。而协议是标准的一个特例,特指两个或者多个节点通信的时候要遵守的规范和约定。

例如,互联网相关的标准大都在 IETF 网站上公开,网站上可以看到各项标准中,就有一部分是关于协议的,例如 FTP 协议

简单来说,标准的一种,叫做协议。

用协议取代平台

协议是开放的,不会被单一组织把持,协议是无中介的,所以也没有各种费用。互联网早期,人们要通信,只需要在自己的机器安装很简单的 Email 客户端,或者直接用浏览器,就可以通过 SMTP 协议来进行通信了。但是为何到了现在,我们每天都是用 Twitter ,Facebook 或者微信这样的平台来通信了呢?有没有可能用协议取代平台呢?

平台之所以能够兴起是有原因的。平台可以提供数据库,来保存大家的数据,不仅仅能让用户不必保存数据到自己的设备上,也起到了一种第三方的角色,对数据的可信性进行信用背书。另外,平台可以对接银行,提供支付功能,Web 当下已经承担起了我们的经济活动,有人说,

服务器现在是经济活动的中心

并不夸张。但是,互联网本身是没有支付功能的,所以对平台的依赖自然就形成了。所以说,互联网可以传递信息,但是不能保存信息,因为没有自己的数据库,同时,互联网本身没有支付层,因为这两个缺陷,平台兴起了。

但是区块链的诞生带来了用协议取代平台的可能。因为区块链提供了互联网原生的存储能力,是一个公共的数据库,同时类似比特币这样的数字货币也实现了无中介的支付能力。所以,理论上原来平台实现的那些功能,现在已经可以用复杂的互联网协议组合去完成了。这也就是为何,Twitter 会宣布开发社交网络协议,未来把 Twitter 这个平台变成一个点对点的协议了。刚刚讨论过来,协议的好处是点对点,无中介。Twitter 平台要开发协议,相当于要缩小自己的权力,不再承载中介角色。底层的原因是,作为中介的 Twitter 会承担各种监管责任,有着各种担忧,不能自由的去构件一个良性的社区。当 Twitter 平台协议化之后,用户为自己的很多行为负责,Twitter 避开了监管压力,用户也获得了更多的权力和自由,所以是双赢的。

可见,用协议取代平台是完全可能的,虽然在实际中考虑到商业模式的问题,可能这个过程会比较漫长。

结论

最后总结一下,协议指的是两方或者多方进行通信的时候约定的规则。协议的特点是公开和点对点。标准是一个比协议更宽泛的概念,协议属于标准的一类。用协议去取代平台,是为了互联网发展的一个趋势,因为这样可以降低成本和提升用户的地位。