首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

区块链不是万能的 但不解决完这些问题是万万不能的

很多人都说“2018年是区块链商用化的元年”,但2018年都过去大半年了,真正落地的区块链应用屈指可数。目前排名第一的DApp,其DAU(用户日活跃量)最多也不过一千多人,连早期试用者都很少,更别提什么改变人类生活了。

图:去中心化应用的DAU非常低

如果票选21世纪以来“被炒作、吹捧最多的技术”,区块链绝对榜上有名。区块链是多个计算机科学技术综合应用的产物,其运作逻辑与限制,对普通大众来说,并不是那么容易理解。这就导致很多所谓的媒体和专家学者,都错误地理解了区块链的特性。如果你去听这些人讲区块链,会错认为区块链是“灵丹妙药”,似乎任何难题只要套上“去中心化”、“区块链”就能解决。

区块链应用真正落地,进入寻常百姓生活,其实难度很大,难在何处呢?且看本文梳理的区块链应用落地的六大挑战。

1. 性能与可扩展性

去中心化应用,即DApp,必须运行在支持智能合约的底层公链上。底层公链可以想像成是Android或iOS系统,如果系统有问题,运行在其上的App自然也会有问题。

目前,底层公链最大问题是性能和可扩展性不足。拿以太坊为例,以太坊的TPS(每秒能处理的信息量)在15~30笔之间,而中心化的VISA,TPS是2000~4000笔,峰值可达到25000笔。这两者根本不在同一个量级,这也是为什么去年的加密猫跟今年的FOMO 3D,虽然用户不多,却足以让以太坊网络拥堵、瘫痪的原因。

图:目前区块链的TPS远低于VISA

区块链与传统的中心化系统,为什么在性能方面有如此巨大的差异?主要原因在于,区块链采用的是分布式账本的技术,无论什么DApp,其运算结果都必须同步到每一个节点上才算达成了共识。这就好比一群人做决定,必须经过讨论才能达成共识,和一个人做决定的速度相比,前者一定会比后者慢。

所有的区块链系统,都无可避免地会遇到三个因素的平衡难题——性能、安全性、去中心化。这三者不可能完美兼顾,目前主流公链,如比特币和以太坊,都往安全性和去中心化靠拢,牺牲了性能。

但只要性能问题一天不解决,DApp就无法落地成为大规模应用。很多顶尖的计算机科学家,都在千方百计地优化区块链的共识算法,试图解决性能低下的问题,于是就有了“千链大战”。各种底层公链项目如雨后春笋般不断冒出,很多项目声称其TPS可达数十万甚至百万以上,但或多或少都有所妥协,比如:EOS牺牲了去中心化特性(21个节点),而IOTA牺牲了安全性(没有矿工机制,节点作恶代价低)。

2. 共识算法的更新

众所周知,所有的公链都是开源项目。一般人若想成为节点,必须下载其开源软件才能参与网络并共同维护账本,每个人都运行一样的软件,才能让节点间的账本能够同步。换句话说,如果今天有工程师优化了共识算法,推出了新版本的软件,也必须让其他节点都下载,才能让改版真的成功。

3. 责任归属问题

由于区块链去中心化的特性,出事后的责任归属变得相当困难。举例来说,假设某银行被黑客入侵,受害者可以找银行赔偿,但如果基于PoW的区块链项目遭受51%算力攻击,用户必须自己承受所有的损失。对于已经习惯中心化系统的人来说,这样的特性非常难以接受。

4. 不能保证上链内容的正确性

区块链虽然可以在一定程度上确保账本不可篡改,但却不能保证写入内容的正确性。

其实,光这点就可以打破很多人对区块链应用不切实际的幻想。举个例子,前阵子中国台湾柯文哲表示,想用区块链记录选举的募款金额,以避免媒体的不实报道。但事实上,就算真的把募款金额上链,也不能保证上链的募款金额是正确的,或是真的把每一笔募款都上链了。

同样的问题,也出现在智能合约的触发条件上。

通常这类问题,会通过投票的方式解决。也就是说,只要过半数用户认可“德国队赢球”这个资讯,它就自动会成为触发智能合约的条件。

再深入问一个问题:德国队赢球这个资讯大众容易获取,但智能合约的触发条件普通大众难以知道,如果只有少数人知道呢?这样就不能用投票的方式解决了,势必要找公证人来当资讯的输入者,这样问题又回到了原点。如果要找公证人,那为什么还要做智能合约,干脆写法律合同好了。

所以,看出问题了吗?智能合约的应用范围是有限的,只要智能合约的运作需要输入外部资讯,合约本身怎么设计就会变得比较复杂,智能合约并不能取代所有的传统合约。

5. 智能合约的代码审核

DApp的智能合约代码写在区块链上,这意味着代码是公开的,可供大众审核,但一般人看不懂代码。如果真的要确保代码没有问题,势必得要找一个公正的第三方审核代码的安全性。

不过,区块链本身不就是要“去中介化(trustless)”吗?怎么这时候又要找第三方了?

但对于各种智能合约的应用来说,就不是这么一回事了。所以,现在出现了各种智能合约的审查机构。不过这么一来,只不过是把信任转嫁给这些审查公司而已。从这个角度来看,区块链永远不可能做到实质上的“去中介化”。

再者,代码审核这件事本身难度很大,即便现在没有检测出问题,也难保之后不会出事。

智能合约的核心精神——代码即法律,虽然想法很好,但实际执行中,还要克服很多问题。

小结

总而言之,对普通大众而言,理解区块链有一定的难度,因为不好懂,所以让很多人对区块链的了解非常片面,进而对其应用产生不切实际的幻想。

希望阅读完本文的读者,能理性地认识到:区块链并不是万能的,距离大规模的应用还有很多挑战,还有很长的路要走。

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

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券