首页
学习
活动
专区
工具
TVP
发布

公链真的有网络效应吗?

网络效应是一个非常容易被误解的词,和“去中心化”一样。你以为你懂了,其实你完全理解错了。这篇文章试图理清公链的网络效应到底是什么,得出的结论很有趣。更有趣的是,作者后来又推翻了自己的结论,重新审视这个问题之后,得出了更有深意的答案。本文由Orangefans社区的何超华翻译。

在众多智能合约平台中,以太坊诞生最早,技术最纯熟,开发者最多,这些因素使得以太坊成为公链中的翘楚,以太坊社区也是同类社区中最棒的。而且以太坊在V神的带领下吸引了越来越多的开发者和大公司的关注,他们共同为我们描绘了一副区块链世界的宏伟蓝图。

以太坊现在的市值大约是300亿美金(注:2017年8月),如下所示为它的竞争者们的同期市值:NEO – $2BEthereum Classic – $1.5BQTUM – $.9BStratis – $.6BWAVES – $.5BEOS – $.5BLisk – $.25B

所以我们可以发现,现在即使以太坊的所有竞争者们市值加起来,也只有以太坊的10%-15%。

很多人根据这一点得出以太坊有着很强大的网络效应的结论。基于这个结论以太坊社区也为自身的发展描绘了这样一种类似操作系统的场景:随着越来越多的开发者在以太坊上开发智能合约及应用,就会有越来越多的用户需要ETH,这样就会刺激更多的开发者涌入以太坊生态中。但这样的类比并没有切中要害,我认为像以太坊这样的智能合约开发平台不应该被类比为操作系统,而更应该像是一种编程语言。

如果仅仅根据网络效应就判定以太坊的生态模式像是操作系统,那我们一定是把网络效应和供需端关系混淆了。以太坊的网络安全问题确实是存在的,但是这个问题也可以通过跨链锚定的方式来解决掉。接下来我详细梳理下前边提到的一些谬论。

需求端:用户并不关心用的是哪条公链

操作系统上网络效应的产生,是因为用户在选择操作系统时,一定会全方位对比同样类型的多种平台,深思熟虑才会做出决定。如果忽略少部分用户使用虚拟机的需求,我们几乎不会在一台电脑上同时运行Windows和Linux两种操作系统。

既然有很多用户选择在某种操作系统的生态中扎根,那么开发者们就有必要不断地推陈出新,开发出满足各种需求的应用程序,让老用户满意的同时吸引更多的人参与进来。

而在区块链领域,大多数用户并不关心自己到底在使用的哪一条公链,他们需要做的仅仅是输入自己的密码来确认交易。

用户在使用应用程序的时候,不会看到自己的每步操作在链上是如何一步步实现的。用户能看到的,只有一个web3的前端,通过parity或者metamask这类工具,展示了链上交易的进行(本文接下来的部分,我会把这类工具统称为web3客户端,虽然严格来说web3客户端只适用于Eth)。虽然以太坊之外的公链还没有适配的web3客户端,但是很快就会有人做出来,而且会同时支持多条公链。假以时日,浏览器也会原生支持多条公链的web3客户端。

Web3客户端还能把这个问题解决的更漂亮。一旦web3客户端可以支持多种公链,下一步就是整合去中心化交易所比如Shapeshift和0x。假如有用户在使用某个dapp时需要STRAT,但是他只有ETH,在这种情况下他可以通过web3插件实时地将ETH兑换为STRAT,然后再支付所需要的STRAT。在这个过程中我们不需要关心自己的token在链上发生了什么。我们只需要记住自己的密码就好了,其他的关于不同种链的私钥,公钥以及地址都会通过web3客户端导出。

总结一下前边提到的,公链和token无论多么复杂,用户都不会关心的,他们只要求应用程序使用流畅,体验良好。

供应端:token可以跨链,哪条链还重要么?

理论上来说任何俩种平台的token都可以进行跨链转移操作。

举个例子,如果我想把一定数量的ETH转移到ETC链上,首先我需要转出一定数量地ETH来执行确认ETC地址的合约,通过跨链操作(比如cosmos),ETC链上的另外一个合约启动,执行把等价的ETC转移到我地ETC地址上的操作。

(上边这张图并不是严格地从技术角度来描绘智能合约的操作流程,但还是很形象地展示了跨链操作的过程。)

这样的功能会把不同币种的差价拉平,如果在任何一条主链上都可以使用其他公链的token,这就意味着不同token之间的差异消除,我们就丝毫不用关心自己使用的是哪一条主链,哪一种币了。这样的话大量的复杂问题就会迎刃而解。另外有一点需要特别指出的是:在某一条链上进行转账操作所花费的gas费用依旧需要用这条链上自己的token来支付。但是转账的gas费用应该控制在比较低的范围内,如果交易某币种需要花费超过0.1%-0.2%的gas费用,那么这条链一定是失败的。根据我上文提出的框架,关于用户如何支付gas费用这个问题确实是存在的,但是这个问题相对币链分离后的的种种优势而言就显得不值一提了。

通过跨链锚定来降低网络安全风险

任何一种POS机制的公链如果节点数减少,那么它所面临的51%算力攻击的风险就会增加。而对于POW机制的币种而言,矿工会依据自己的具体收益来有选择地去挖矿。所以纵然网络安全风险可以通过跨链锚定的方式来转移,以太坊还是通过把merkle root从子链布局到主链的方式来降低风险,这个机制也应用到了Plasma这个项目中。现在Factom这个项目也在做同样的事情,他们把自己链的merkle root锚定到每一个比特币的区块中来去提高自己的安全性能。

未来我们可以看到越来越多的项目会把自己的链和其他的主链锚定在一起来降低彼此的安全风险,这样如果黑客想要攻击某一条链,那么他们需要把整个网络的算力考虑在内。显而易见,这相比于攻击一条单链要困难许多。

公链更像编程语言

如果用户不关心底层运行的公链是什么,各种代币都可以即时交易,也可以在不同的公链之间自由流通,与此同时网络安全问题也得到解决,那么不同公链之间还有什么区别呢?答案就是开发工具和治理机制的差异。

Stratis项目的一个关注点就是让开发者尽可能简单地用C#语言去开发区块链项目。现在使用C#的开发者大概有数十万人,但是他们并不愿意学习在以太坊上运行的solidity语言或者Tezos上的Ocaml.当然我们也可以指摘C#的开发者们不合时宜,他们应该学习专门为区块链开发设计的语言。这也造成了一些问题,比如由于C#没有设计正式验证功能,所以Stratis也不可能进行正式验证。

另一方面,JavaScript之前是一种前端语言,而现在Node.js现在是最受欢迎的一种后端语言。一些开发者讨厌像JavaScript这类弱型语言,同样也有一部分开发者讨厌像C语言这样的强型语言。

尽管当今所有主流编程语言都提供了图灵完备性,但市场还是需要一些编程语言自己的独特性来满足部分群体的需要,比如可读性,编译与解释,抽象,内存管理,本机性能,并行性等等。

智能合约的开发规则和机制不应该由某个区块链项目来决定,由于不存在网络效应的影响,许多公链将会蓬勃发展。

而对于社区管理方面,Dash在几年前就做到了链上管理,从各个角度考察,这个项目都运行良好。而Tezos在Dash链上管理的基础上做了一些改进。Dash社区现在蓬勃发展,生机勃勃,而在此之前其他区块链项目一直做到链上管理,所以这样的管理模式也许是区块链所必需的。

过去也没有一些反例来进一步证明我提出的观点,近年来比特币社区面临着严重的管理问题,但是有些没有做到链上管理的开源项目也在迅猛发展。linux内核,linux桌面,Firefox,维基百科,Chrome,安卓开源项目,webrRTC,以太坊等等一系列开源项目在没有明确利益相关者的情况下都取得了成功。

总结

根据币价判断,我们基本可以确定以太坊会成为智能合约平台的龙头。以太坊在供应端,需求端和安全方面的优势使它快速商业化。以太坊将来也许不会成为唯一的智能合约平台,但这并不意味着以太坊不再继续迅猛发展下去。但是与此同时,其他的公链也会里迎来不可多得的机会壮大自己,形成在公链生态领域内“一超多强“的局面。

更新——2018年5月9日

自完成这篇文章以来,我逐渐意识到,文章的前提说对了:智能合约平台几乎没有任何网络效应。但是文章的结论完全不对:智能合约平台并不是像编程语言一样。不同公链的开发工具和各种特点很快也会趋同。

在这篇文章的基础上,我完成了另外一篇《关于存储价值的网络效应》:让资产兼具价值储存和交换媒介,才是实现有意义的网络效应的唯一途径。敬请期待。

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20180517G1WYRZ00?refer=cp_1026
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券