声明:本文不构成任何投资建议。
边肖:记得要集中注意力!
并且成功度过每一次危机,这种技术才能重生,凤凰才能重生。
区块链技术并不完美。
事实上,任何新技术在诞生之初都会有“先天缺陷”。缺陷会随着技术的进步而改进,然后在新的技术背景下面临新的“缺陷”。
例如,飞机的航空技术。1903年12月,莱特兄弟进行了人类历史上的首次试飞,但并未受到美国政府的重视。同时,由于材料和空气动力学的限制,飞机的发展相当缓慢。直到两次世界大战才推动了飞机在军事领域的应用。
区块链技术的发展也不例外。
回到2010年,比特币刚满一岁的时候,由于核心代码漏洞,有人利用这个漏洞凭空创造了1840亿个比特币。
幸运的是,在社区的努力下,这个漏洞很快被修复。而比特币核心代码组的开发人员也在夜以继日地工作,为比特币核心代码库贡献力量,修复漏洞,成就了今天的区块链行业。
我们将永远“完善”区块链技术。众所周知,在经济学家、密码学家和计算机科学家眼里,区块链技术还有很多需要改进的地方。
比如《区块链核心技术开发与应用》认为在数学工具、博弈论、密码学、代码等方面都有限制的情况下,目前的区块链技术还有很大的提升空间。换句话说,区块链技术要大规模商业化还有很长的路要走。
那么,现在的区块链有哪些不完善的地方呢?
1.完美代码的幻觉
如果把比特币网络系统比作一个大型软件,那么计算机技术和编程为这种技术提供了载体。
但是,目前的编程语言显然存在一些不完善的地方。
首先,语言种类繁多,谁也不能“一统江湖”。不同的项目使用完全不同的编程语言并不罕见:
(1)比特币和Ripple使用C;(2)以太坊使用了四种特殊语言:Serpent(受Python启发)、Solidity(受Javascript启发)、Mutan(受Go启发)和LLL(受Lisp启发),都是从底层设计的面向契约编程。特定语言是指该语言只在开发以太坊相关应用时使用;(3)很多基于区块链的DApps和工具都是Go语言;(4) Teos,2017年著名的ICO明星项目,使用了Michelson和OCaml作为编程语言,等等。
大量的开发语言
世界上有50多种编程语言,但很尴尬的是没有一种能占据绝对优势。
国内著名经济学家朱家明认为,在现实中,很可能任何一种编程语言自身的不足,以及不同编程语言的叠加,都会对现有的区块链造成原有的破坏。
其次,区块链编程语言主要依靠C、Java、Go等几种“高级语言”,这些所谓的高级语言还有很多不完善的地方。
以围棋为例。它成立于2009年,仅10年前。其逻辑功能如“错误处理机制”、“垃圾收集器”、“编译器”等仍需逐步完善,以满足未来区块链的发展需要。
同时,朱家明还认为,现有的计算机语言正面临着与其他新技术的融合,从而影响了区块链的技术体系。比如人工智能技术与计算机语言的融合,很可能引发计算机语言体系的变革。
软件故障逻辑
最后,邹军写的《区块链核心技术与应用》这本书也提到了程序员有意识和无意识的错误。
编程错误会导致软件缺陷,进而导致软件故障。软件故障是指软件运行过程中出现的意外错误,如果处理不当会导致软件失败。
区块链技术一般运行在相对不可信的公共环境中,没有专门的维护人员,更不可能像一般软件那样24小时公开维护。因此,它要求软件具有高度的健壮性,但现实往往并非如此。
人为的漏洞也会使区块链的资产消失,这样的案例并不少见。
4月22日中午,一名黑客利用以太坊ERC-20智能合约中的BatchOverFlow漏洞,攻击BEC(美国连锁“美米”的代币)智能合约,成功将天数内的BEC代币转出到两个地址,导致上海BEC在市场上销售。这使得BEC的价值在那一天几乎为零。
4月22日,BEC价格从0.32美元跌至0.02美元。
仅仅三天后的4月25日,又一款智能合约SmartMesh(SMT)曝光。交易所表示,由于SMT出现异常交易,所有交易平台暂停SMT的收费和交易。
在现实世界中,财产盗窃可以通过立案侦查来追回。但在互联网的世界里,虽然数字货币的“钱途”无边无际,但一旦被黑,他就失去了一切。
所以代码进度很重要,但是程序员的素质对行业的进步更重要。
2.博弈论的局限性
根据中本聪的白皮书,比特币是一种点对点的电子现金系统。其实比特币背后的共识机制也是点对点的。一台矿机合作成为一个矿,矿之间通过矿池连接,在相互博弈中形成平衡状态。
在朱家明看来,基于“博弈论”的“纳什均衡”是最接近反映区块链共识体系的状态。
纳什均衡是博弈论中的一种情况。
“纳什均衡”是指在一场博弈的过程中,博弈双方都没有改变策略的动力,因为任何单方面改变自己的策略都会导致自己收益的减少。比如,以即将到来的双十一为例。淘宝上两家旗舰店都在打价格战,双方都不敢在活动期间随便涨价,因为任何涨价都会导致自身优势的丧失。
无论是比特币点对点支付系统,还是矿工之间的挖矿竞争,都存在问题。在转让和开采的过程中,每个节点都存在竞争,竞争的结果是谁支付的矿工费用越高,谁就越快完成交易。
但实际上,朱家明认为,这种“纳什均衡”博弈是当年诺依曼和纳什研究的“节点”有限的小规模博弈,已经不足以面对“由数十亿个节点的巨大物体组成的复杂社会经济行为”。
当然也支撑不了目前比特币和区块链系统节点“几何级数”的发展规模。
比特币的全网计算能力为47073540.92th/s。
目前整个比特币网络的计算能力为47073540.92 TH/s,市面上最常见的矿机是比特大陆的蚂蚁S9矿机。这款矿机的官方额定计算能力为14.5th/s,简单算一下除法,结果是全球比特币网络中有324.6万只蚂蚁S9在运行。
Ant S9参数
但事实上,比特币矿里还有很多运算能力低于S9的矿机,也就是说全球比特币矿机数量远远大于324.9万台。
实现百万级规模的矿机、矿、池之间的博弈平衡,绝对不是一个简单的算术问题。事实上,比特币的全网计算能力还在不断增长,这种指数级的增长正面临着“失控”的状态。目前比特币挖矿的耗电量比整个大英帝国还多。
有研究机构做过这样的统计:如果按照去年11月“比特币挖矿用电量”的增速计算,到2019年7月,比特币挖矿用电量将超过美国目前的用电量。
自2010年以来,比特币的计算能力不断增强。
同时,随着全球比特币用户的增长,比特币转账也在消耗越来越多的“费用”。网络拥塞就像悬在每个矿工和用户头上的“达摩克利斯之剑”,随时可能造成巨大的负面影响。
显然,处于“纳什均衡”状态的博弈论已经无法支撑以比特币为代表的区块链技术的进步。迫切需要一场基础科学的新革命。
3.哈希算法的约束
“区块链技术的核心其实是密码学,而密码学的关键是哈希函数。”055-79000这本书提到。
每一次转让、挖掘、应用开发等。在你的区块链中只要涉及到数据处理链就会涉及到哈希函数。素数和数论与哈希函数密切相关。
我们常说的比特币幂算法本质上是一个哈希函数。
其实很多哈希函数已经被设计出来并被广泛使用,支付宝、微信、银行加密都使用哈希函数。但哈希函数一般安全寿命较短,被认为安全的算法往往在长时间不用后就被攻击成功。新的更安全的算法被相继设计出来,每一个被公认为安全可靠的算法都有其严格的审核流程。
SHA256对哈希进行加密。
加密算法SHA家族的变迁史最能说明这个问题。SHA0发明于1993年,在被破解和再发明的竞赛中,现在已经发展到第五代SHA-512。
在币圈里,我们经常说某某币发明了某种算法,其实主要是用那些经过认证的安全算法,或者单独使用,或者组合使用。
哈希函数与数学问题密切相关,具体来说就是指数理论和素数问题。
055-79000这本书认为数论还处于发展状态,哈希函数也处于发展状态,这就决定了区块链技术还存在很多不当的算法,导致区块链技术性能不足。
比特币的不可扩展性、低效率、难以升级,很大程度上就是这个逻辑造成的。因为扩展性问题,比特币在2017年被迫分叉。总的来说,区块链技术的低效率在某种程度上仍然是一个数学问题。
有人可能会问,什么是数论?质数是多少?
一般理解,所有的数学问题都可以归结为数论问题,所以素数问题也属于数论问题。
早在公元前300年,欧几里德就证明了素数有无穷多个。之后的几年,将近2000年后,主要思路是寻找素数的通式。这方面的主要代表人物有德国数学家高斯、英国著名数论家哈代、李特伍德、拉马努金等。
今年9月20日,与证明“黎曼猜想”相关的新闻在网上闹得沸沸扬扬。著名数学家迈克尔阿蒂亚爵士(Sir Michael Atia)宣布将证明黎曼猜想,引起了区块链从业者的关注。为什么?
“黎曼猜想一旦被证实,就意味着可以找到素数定律,基于此的加密可能并不安全。”从事数学研究的艾伦认为。
因此,博弈论、代码语言的进步和数学理论的发展对区块链技术的进步有着重要的影响。
比特币诞生至今,10年过去了,期间被杀200多次,分叉20多次。然而,任何危机都没能成功“杀死”比特币。
比特币背后的区块链技术,虽然面临着数学问题、博弈论问题、代码漏洞,却未能阻止区块链行业从无到有、从贫穷到繁荣的历史进程。
而成功度过每一次危机,这项技术都能浴火重生,凤凰涅槃。
虽然目前的区块链技术还不成熟,加密货币还没有得到主流的完全认可,但是时间会对这些问题做出最好的注脚。
正如思想家阿布法拉兹所说,“暂时的失败比暂时的胜利好得多。”
本文来源:31QU
原标题:区块链的三大“天然缺陷”