“胖协议”并不新鲜:区块链能从P2P文件共享中学到哪些?

区块链2

图片来源图虫:已授站长之家使用

来源:蓝狐笔记(公众号:lanhubiji )

前言:区块链之前,协议是瘦协议。区块链之后,协议是胖协议。也就是说,之前的协议层基本上无法捕获价值,而区块链的到来,通过token 机制,它有了捕获价值的机会。但这还不是终局,如果应用不胖,协议也不会肥。最近,BitTorrent要发行自己的代币,代币机制会让P2P文件共享再次飞跃吗?一年后看结果吧。本文作者John Backus,来源于medium.com,由“蓝狐笔记”公众号社群的“李熙和”翻译。

从 1999 年开始,我们开始看到P2P文件共享技术呈现爆炸式增长。期间诞生了Gnutella(Limewire背后的协议),FastTrack(Kazaa),eDonkey,以及BitTorrent。Limewire,Kazaa以及eDonkey都死掉了,但是因它们而诞生的协议却依然持续!

人们佷早就开始猜测“胖协议”的未来将会如何。文件共享协议并不完全相同的,但是它们有很多共同点值得我们学习。

看看p2p的生态系统,就会发现有一些事情十分清楚:

· 当网络效应不阻止人们创造新的客户端时,胖协议的生态系统通常会拥有多样性和实验

· 不论创造者在不在,协议都会持续和发展

· 应用层似乎无法为其协议创造者捕获多少利润,但基于协议构建的第三方竞争可能是寻找产品/市场匹配度的强大力量

· 当时的人们虽然无法搞清楚如何将Token整合进p2p文件共享技术中,但现在看起来一个经过合适调整的Token市场能够解决不少问题,并能够加速p2p突破瓶颈以获得更多使用者

充满生机和竞争的生态

...通过在开放和去中心化的网络中复制和存储用户数据,而不是通过个人应用来控制对完全不同的孤岛信息的访问。我们降低了新进入者的门槛,并在顶部创建了更具活力和竞争力的产品和服务生态系统

 ——《协议》,来自Union Square Ventures

在BitTorrent之前你使用过哪些文件共享应用?是LimeWire,BearShare,Shareaza,giFT,Morpheus,Phex,或者Acquisition?这些应用虽然由不同的团队制作,但是它们都与Gnutella网络相关!除了这些,还有FrostWire, LimeWire Pirate Edition,以及WireShare,这些是Limewire客户端的分叉。

我接下来不会再继续像之前那样也为FastTrack和eDonkey列举一堆客户端的清单了。当然我完全可以这么做。因为每个协议都有一大堆客户端。事实上,Limewire并不是Gnutella协议的创造者,他们的应用只是因为添加了很多功能而受到欢迎。

功能

人们当然不会开发几乎一样的客户端。不同的公司在Gnutella协议上开发出满足不同用户需求的客户端。BearShare似乎是专注于开发一个好的客户端,比如加上一个简单明了的搜索,一个可以边下载边预览电影和音乐的“剧院”,以及诸如聊天室之类的各种功能。

BearShare 提供了全面功能的体验

质量

eDonkey公司开发了自己的网络(“eDonkey2000”网络)以及相应的客户端。但即使他们是协议的开发者,他们也得和另一个备受欢迎的开源客户端eMule竞争,而很多人认为后者的用户界面更好!

你更愿意用那个?

通用化

有些人试图通过开发更好的用户界面来提升用户体验。另一些则试图通过开发使用多个网络的客户端来提供尽可能多的内容。

Shareaza因为支持所有的文件共享协议而受到欢迎:

Shareaza...支持Gnutella, Gnutella2, eDonkey, BitTorrent, FTP, HTTP和HTTPS网络协议以及磁力链接,ed2k链接,甚至包括现在几乎用的Gnutella和Piolet链接

 Shareaza的搜索引擎可以搜索到所有文件共享协议中的源文件

分开

giFT项目和Shareaza相似,它也试图囊括所有协议,但它的目标是成为文件共享的后端系统,其他人利用它来开发前端界面:

使用giFT作为后端的两个完全不同的前端界面(GiFTcurs和Apollon)

giFT支持大多数协议并能兼容Windows,Linux和Mac。

为“文件共享世界的胖协议”开发第三方应用的公司数不胜数。开源社区和独立的以盈利为目的的公司都有机会向最终用户提供产品和服务。这些应用和Twitter这样的第三方客户端完全不同;这些客户端可以做任何协议支持的事,即使协议创建者也不能阻止他们。

这里潜在的好处是“胖协议”把产品和市场匹配分成了两部分:

1.协议市场匹配

协议是否足够强大和通用,能够让开发者开发出良好的用户体验?

2.应用和消费者匹配

应用是否针对消费者的需求进行了优化?

你不能认为一旦用上了协议就完事了。eDonkey的客户端让自己的网络受到欢迎,而Limewire也使Gnutella协议受到欢迎。然而,一旦协议有了网络效应,任何人都能够基于这些协议开发出更好的用户界面,并抢走最初的前端用户,即使你是协议的创建者也无济于事。

竞争者无须完全重构前端界面,他们只需移除一些恼人元素,如广告;这正是Kazaa Lite, Frostwire, WireShare, 以及其他一些客户端做的。app和消费者的匹配跟协议和市场的匹配,两者在激励上是不同的。

如果协议不能避免囚徒困境中的动机问题,应用就很可能采取不同的行为,以获得自私利益。Kazaa Lite和GreedyTorrent都可以帮助你在上传量上欺骗协议。

在《Y Combinator手册》(一本初创公司手册)中,有一条核心准则:跟你的用户沟通。如果你想基于“胖协议”开发第三方应用,可能了解竞争对手的用户也非常重要,这能帮助你发现有哪些需求还没有得到满足。同样的道理,协议开发者也应该与应用开发者多沟通并了解他们真正想要的。

瘦应用的价值更小?

这种协议与应用之间的关系在区块链应用堆栈发生了反转价值往往集中在共享协议层,而基于协议的应用层反而只获得一小部分价值。

 ——《协议》,来自Union Square Ventures

胖协议的创建者们往往发现:要通过他们的“瘦应用”来获利太难了。Limewire,Kazaa以及eDonkey都试图通过安装工具栏,收集用户数据以及展示广告等方式来实现商业化。虽然这能带来一些收入,但是很快他们会发现竞争性的应用会冒出来,而且它们往往没有这些让用户不爽的商业化功能。如果有人今天使用广告屏蔽插件来访问你的网站,至少你仍然可以要求他们付费。但如果用户开始使用不同的前端界面,你就完全失去了跟他们交流的机会。

人们不关心协议

协议创建者们要通过他们自己的瘦应用来捕获价值是很难的。并非由协议创造者开发的第三方客户端随着时间的流逝开始收获价值。FrostWire最初只是Limewire的分叉应用,但几年后BitTorrent成为明显的p2p的赢家后,他们就直接添加了BitTorrent支持的功能。Morpheus,Acquisition,MLDonkey,以及其他很多应用都是这么做的。

应用开发者只关心如何给用户提供更好的体验,他们并不忠诚于任何胖协议。如果之前大受欢迎的协议被新协议颠覆,第三方应用开发者可能会升级到新协议,同时尽可能减少对最终用户的影响。

并行精益创业

精益创业方法论(Lean Startup Methodology)认为:“每个创业都是一次大型试验,而实验试图回答一个问题。”关键的洞察是:创业都是关于迭代和尝试想法,直到你找到产品和市场匹配的那个东西。Steve Blank则将这一迭代公式化:

精益创业迭代循环

请记住,当初每个受欢迎的p2p胖协议都有几十个应用在尝试自己的方法。不同的团队对人们的真实需求有不同的解读,不断迭代自己的设计,试图找到应用和消费者需求的匹配。对传统公司来说,找到产品和市场的匹配可能是串行的,而找到应用和消费者匹配可能是令人尴尬的平行。

专门

在胖协议将文件共享的概念通用化之后,瘦应用可以按自己的喜好对协议进行精细化。BitTorrent可以被用来分享任何文件,但是Popcorn-Time将其专门化为在线播放电影的应用:

世界上最隐私的torrent社区专门分享受版权保护的内容。eDonkey网络客户端专门围绕视频,因为eDonkey协议十分擅长处理大型文件。

我们不应该只是把瘦应用看作是构建协议最佳前端的恶性竞争。如果胖协议足够通用,应用开发者们可以通过专注于某个特定用例而创造出各种完全不同的用户体验。

协议升级

这些协议的演变将取决于那些现在正使用这些协议的应用在未来的决策。这一特征有潜力创造一个更加民主的协议升级过程,特别是和那些历史上的委员会决策机制相比。

—《加密货币和即将到来的协议创新》Albert Wenger

在p2p领域有许多相互竞争的协议,它们都随着时间的推移而发展。虽然这些协议没有Token持有者,但我认为我们仍然可以从p2p领域的协议演变中学习到很多东西。

eMule vs eDonkey

正如之前提到的,开源的eMule客户端给eDonkey赚钱的机会。eMule事实上走得更远,他们基本上相当于对协议进行了分叉。

为了将eDonkey世界推向更纯粹的去中心化,协议的创造者发布了Overnet。Overnet是一种专有协议,这一协议可以在一个分布式哈希表中储存所有的文件和对等信息,它使用了另一个名为Kademlia的协议。

作为回应,eMule社区发起了Kad Network,一个使用Kademlia的基于分布式哈希表的开源协议!自从eMule变得非常受欢迎之后,Kad Network可能就已经比Overnet更受欢迎了.

除了Kad Network,eMule还加入了信用系统,以鼓励用户分享更多。

社区发展

Gnutella诞生于AOL,这个协议事实上从未真正开源过,AOL在创建者发行协议后不久就扼杀了Gnutella客户端。但是,人们仍然分享Gnutella客户端并对它进行逆向工程。每个成功的基于协议的应用(Limewire,BearShare,Morpheus)都是建立在不是它们自己创建的协议上。

Gnutella协议进化了。如果你看看0. 6 版本的草案,Limewire和BearShare(“Free Peers”)都为协议的新功能做出了很多贡献,而社区正是通过共同协作来创建规范。

当某个开发者创造了新协议,并称其为Gnutella2,并试图向Gnutella开发社区推广时,人们很不爽:

BearShare创建者公开谴责Gnutella2 创建者

BearShare的创建者之一说他会屏蔽Gnutella2 的流量并鼓励其他人也这么做。社区里的大多数人都认为,这个协议应该被称为“Mike的协议”而不是Gnutella2。

看看文件共享胖协议的历史,我看到在共同完成Gnutella的0. 6 版本的开发者之中形成了类似委员会的合作机制。eMule的社区本质上是分叉了eDonkey的协议。人们从未对FastTrack进行完整的逆向工程,所以我不确定是否有第三方将其扩展。BitTorrent也有BitTorrent优化提议(BEP),就像比特币有比特币优化提议(BIP)一样。

Gnutella社区让以下这一点变得十分清晰:当很多开发者基于某个协议开发一项业务或大型开源项目时,他们希望仔细考虑协议的升级,以便向后兼容并增强他们自己的应用。

eDonkey的协议是受产权保护的,这也是为什么eMule没有使用Overnet。

Gnutella2 由Shareaza的创造者开发,它支持所有共享协议。它对同行评审缺乏兴趣,只是一心向所有人推销Gnutella2,这最终导致大家对他的不满。这里的主要教训似乎佷直接:

· 协议倾向于在民间社区中民主地进化(Gnutella0.6,BItTorrent)

· 当关系走向对抗,协议倾向于分叉(Gnutella2,Kad Network)

激励的采用

“...一个开源网络和共享数据层并不足以激励大家来采用。第二个元素,也就是协议内部的token被用来获取网络提供的服务(比特币的交易,以太坊中的算力,Sia和Storj中的文件存储等等),这填补了激励用户采用的空缺。”

—《胖协议》,来自Union Square Ventures

我想将本文讨论的范围限定在p2p协议带给我们什么启示中,所以我不能直接回答“token能促进应用的采用吗?”。因为p2p并没有任何一种主流的token。

但是,我们会回答相似的问题:

· 采用看上去是什么样的?

· Token有存在的必要吗?

· 人们就向系统添加token进行过讨论吗?

· 人们真的试图向p2p协议中添加过token吗?

为了回答与token相关的问题,我们需要理解p2p协议的运行机制,然后我们才能理解token经济是否有意义。

人们爱免费的东西

这一点虽然无聊但很重要。显然,我想我们都知道人们对文件共享胖协议充满了热情。所有网络都见证了巨大的增长量,即使众所周知的游走在法律的边缘。

P2P 从 2003 到 2006 的增长

我称其无聊是因为:谁不爱免费的东西?唯一值得记住的一点是:只要胖协议有价值,人们会很乐意接受。

搭便车

很多文件共享系统都有搭便车问题。大多数人只是下载了他们需要的东西,却不提供任何回报。有一篇被广泛引用的论文《Gnutella中的搭便车行为》称:

“我们发现将近70%的Gnutella用户从不分享任何文件,将近50%的被分享文件来自前1%的分享者。”

换句话说,所有人都想下载但没有人想要分享。这表现在如下几个方面:

· 大多数用户从不在网络里分享他们的文件

· 在那些确实分享的人中,很多人不愿意分享真正被需要的文件

· 大多数用户下载了文件之后就会关掉客户端。而理想的情况是,他们会帮助其他用户下载文件。

恶意文件

文件共享协议有一个很大的问题,就是人们会分享恶意文件。

下面的话是来自被广泛引用的论文《用于p2p网络声誉管理的EigenTrust算法》:

“匿名的恶意对等方发起的攻击在今天的p2p网络中广泛存在。比如:恶意攻击者使用这些网络引入病毒,比如VBS.Gnutella蠕虫病毒,它将自己复制到对等方的Gnutella程序文件目录中进行病毒的传播,然后修改Gnutella.ini文件并允许分享.vbs文件。更常见的攻击还有虚假文件攻击,在这种攻击中恶意对等方会提供篡改过的或者毫无用处的钓鱼文件。”

《p2p系统和应用》一书将这一问题看作是Kazaa使用率下降的原因之一:

“在Kazaa中,由于过时的哈希算法的弱点,难以识别的恶意文件数量明显提升。因此,用户转而使用像Gnutella和eDonkey这些应用,这些应用恶意文件明显少很多。”

FastTrack (Kazaa)用户量的下降

声明:本文转载自第三方媒体,如需转载,请联系版权方授权转载。协助申请

相关文章

相关热点

查看更多