区块链 3.0 长啥样(1):突破 POW 迷局

开篇

网上已有相当丰富的区块链方面文章,我无意搬砖,想入门区块链的童鞋们,请另找入门资料吧。我主要针对区块链从业者,通盘介绍在我眼里,区块链3.0该是什么样子,介绍的内容偏难,因为我不在基础概念上纠结。或许您觉得文章中一些观点偏于武断,请多包容,不过,在新生领域谁又能说了算呢,3.0尚且未知,许多人就喊出4.0、5.0了,未知生焉知死,还是先把1.0、2.0是啥搞明白吧。我事先打声招呼,文章若不合你意,请慢一拍扔砖,把本系列看全先。

我现在还不清楚这个系列会写几篇,大概有十多篇吧,写一步看一步。每一篇我都收缩于某一个主题,篇幅不长,适合大家在碎片时间阅读。

PoW功与过

PoW是区块链共识算法的一种,所谓共识就是如何决定谁来记帐的规则,全体矿工都遵守约定的规则,违反了会受处罚。在几种常见的共识中,PoW是最公平,也貌似最安全的一种,除了有一个缺陷,太耗电力,其它基本是优点。

上图是比特币硬件的演化历史,从09年到2013年几乎一年一个阶段,直接从CPU、GPU、FPGA跳到ASIC,用短短四年时间就走完了整个硬件进化的历程。

据不完全统计,比特币网络的全球活动占用2.55亿千瓦的电能,几乎与爱尔兰的全年用电量相当。如果这种算力消耗出于常规程序计算也就罢了,偏偏PoW是核竞赛的结果,它并非出于真实需要,起初大家用大刀长矛打仗,然发展出枪炮,再发展出飞机坦克,最后到核武器互相催毁,杀人用段无限度提高了,而实现的目的,仍然很初始,对于PoW而言仅仅选一个记帐的代表而已。

产生PoW问题的本质

有人不禁要问,既然如此,能不能设计一种不耗电力的PoW呢?如果不那么严格回答这个问题,答案是有的,业界有抗GPU、抗ASIC的哈希算法,其基本原理是引入浮点运算、加大依赖内存的运算,道理很简单,让哈希运算更依赖CPU最擅长的工作,降低GPU

或ASIC擅长的运算。这在一定程度上能解决问题,像门罗币,他们社区很团结,在很长时间内坚持住了"反矿机"的理念,当有专业矿机冒出来可挖矿时,社区马上达成一致意见:改算法。不过今年他们没最终挺住,分叉了,社区分裂出一个想用矿机的分支。

产生PoW问题的本质是机制,并非算法自身可解!所以,上面我说,若不在严格意义上去说,存在不拼算力的算法,就像人类文明五千年绝大部分时间并未遭受核武威胁一样,是时间尺度的问题。但从严格意义去说,去中心化的PoW必然导致无节制的算力竞争。比如,虽说浮点运算能对抗GPU,人们就不会发明浮点运算也强劲的GPU吗,现在大家看到参与算力竞赛的是GPU、ASIC,谁能肯定今后就不会出现其它形态的东西吗。

所以,问题的焦点是去中心化的机制,而非算法自身。不妨借鉴人类处理核竞赛的智慧,尝试解决这个问题,当缺少中心组织时,各国都为自身利益考虑军备竞赛失去节制,大家都认清了这条道路难以继续下去,于是产生联合国,设立安理会,核裁军也逐渐操作起来了。像安理会这样的组织反映了中心化趋势,尽管他的权力不大,但打破无中心的结构,然后才可能实质性踩一脚刹车。

中本聪用PoW在分布式系统构建时钟

处理一件事情需要确立先后顺序,这在中心化系统中没有困难,而对于分布式系统,非常困难,每个独立的计算机无法提供可信的度量时间的方法,加盖带时间戳的签名并未解决问题,因为伪造机器时间无从验证。比特币对此的解决方案是工作量证明,实施定量工作(哈希碰撞)总会耗用时间,这个时间跨度别人无法伪造。

中本聪在他早期的一封邮件中解释了PoW如何解决了这个问题,另外,比特币白皮书也指出“为了在端到端的基础上实现一个分布式的时间戳服务器,我们将会使用一个工作量证明系统”,也表明了PoW主要解决了时间戳的问题

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

扫码关注云+社区

领取腾讯云代金券