67

区块链的三个“天然缺陷”

 5 years ago
source link: http://www.hecaijing.com/article/show/15413345867990298.html?amp%3Butm_medium=referral
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.

BrAfi2V.jpg!web

区块链技术并不完美。

事实上,任何新技术诞生之初都会存在“先天缺陷”。缺陷会随着技术进步而被完善,然后在新的技术背景下,再面临新的“缺陷”。

比如飞机这个航空技术。1903年12月,莱特兄弟进行了人类历史上首次试飞,但是并不受美国政府重视,同时受限于材料,空气动力学,飞机发展也相当缓慢。直到两次世界大战,才推动了飞机在军事领域的应用。

区块链技术发展也不会例外。

时间回到2010年,彼时比特币刚满1周岁,由于核心代码漏洞,有人利用该漏洞凭空造出了1840亿个比特币。

庆幸的是,在社群努力下,迅速修复了这个漏洞。而比特币核心代码组的开发者们,也在夜以继日地为比特币核心代码库做贡献,以修补瑕疵,这才有了区块链行业的今天。

我们总是会把区块链技术“完美化”,殊不知,在经济学家、密码学家、计算机科学家眼中,区块链技术还有很多需要改进的地方。

例如《区块链核心技术开发与应用》就认为目前区块链技术在数学工具、博弈论、密码学、代码存在局限性的情况下,还有很大的改进空间。换言之区块链技术要想被大规模商用,还有很长的路要走。

那么,目前的区块链还存在什么不完美的地方呢?

1

完美代码的错觉

如果将比特币网络系统比作一个大型软件,那么计算机技术与编程则为这项技术的落地提供了载体。

但是目前编程语言却明显存在一些不完美之处。

首先,语言种类繁多,没有哪种语言能够“一统江湖”。不同项目使用完全不同的编程语言,屡见不鲜:

(1)比特币与瑞波币使用了C++;

(2)以太坊则使用了四种专用语言:Serpent(受 Python启发)、 Solidity(受 Javascript启发)、Mutan(受Go启发)和LLL(受Lisp启发),都是为面向合约编程而从底层开始设计的语言。专用语言意味着这种语言只在开发以太坊相关应用时才应用;

(3)很多基于区块链的DApps和Tools都是用的Go语言;

(4)2017年著名的ICO明星项目Teos则使用了极其小众的 Michelson 与 OCaml 作为编程语言,等等。

IZfAzmA.jpg!web

数量众多的开发语言

世界上编程语言多达上五十多种,但尴尬的是,没有哪一种语言能够占据绝对优势。

国内著名经济学家朱嘉明认为,在现实中,很可能发生因为任何一种编程语言自身不足,以及不同的编程语言不足的迭加,对现有区块链造成本源性的伤害。

其次,区块链编程语言主要依赖C++、Java、Go等几种 “高阶语言”,而这些所谓的高阶语言目前还存在诸多不完善之处。

以Go为例,创建时间是2009年,距今只有10年,其“错误处理机制”、“垃圾回收器”与“编译器”等逻辑功能,还需要逐步完善,才能满足未来区块链开发需要。

同时,朱嘉明还认为:现有的计算机语言正在面临与其它新技术的融合,进而影响区块链的技术体系。例如,人工智能技术和计算机语言的融合,很可能引发计算机语言系统的变革。

ANrUria.jpg!web

软件失效的逻辑

最后,由邹均等编写的《区块链核心技术与应用》这本书中还提到了编程人员的自觉和非自觉的错误。

编程人员的错误,会导致软件缺陷,而软件缺陷又会导致软件故障。软件故障是指软件在运行过程中导致不希望出现的错误,如果不加以适当处理,就会导致软件失效。

区块链技术一般运行在相对不可信的公开环境,没有专门的维护人员,更不可能做到像一般软件那样24小时公开维护,因此就要求软件要有高度的稳健性,但是现实情况却往往不是这样的。

人为导致的漏洞,也会让区块链资产化为乌有,这种案例也屡见不鲜。

4月22日中午,有黑客利用以太坊 ERC-20智能合约中BatchOverFlow漏洞攻击BEC(美链的代币“美蜜”)智能合约,成功向两个地址转出了天量级别的 BEC代币,导致市场上海量BEC被抛售。此事使得当日BEC的价值几乎归零。

a6VnMbQ.jpg!web

4月22日当天,BEC价格从0.32美金跌到0.02美金

4月25日,仅仅三天后,另一个智能合约SmartMesh(SMT)曝出漏洞,交易所表示,因SMT出现异常交易,各交易平台暂停SMT的充提和交易。

现实世界里,财物失窃尚能够通过立案侦查追回损失。但是在互联网的世界里,尽管数字货币“钱途”无量,一旦被黑却血本无归。

因此,代码进步十分重要,但是程序员素养,对行业进步更为重要。

2

博弈论的局限

中本聪在白皮书中提到,比特币是一种点对点的电子现金系统。实际上比特币背后的共识机制也是点对点进行的,一台台矿机合作变成矿场,矿场之间通过矿池连接起来,在互相博弈中,形成一种平衡状态。

这种博弈状态的平衡,在朱嘉明看来,建立在“博弈论”基础上的“纳什均衡”最接近反映区块链共识系统的状态。

nau26vq.jpg!web

纳什均衡是博弈论中的一种情况

“纳什均衡”是指,在一个博弈过程中,博弈双方都没有改变自己策略的动力,因为任何单方面改变自己的策略,都会导致自己的收益减少。举个例子,以即将来临的双十一为例,淘宝上两家旗舰店都在打价格战,任何一方在活动期间都不敢随便涨价,因为任何涨价行为都会导致自己一方失去优势。

无论是比特币点对点的支付系统,还是矿工之间的挖矿竞争,都无法摆脱一个问题,在转帐、挖矿过程中每个节点都存在竞争,竞争的结果就是谁付出的矿工费用越高,谁的交易越快完成。

但是实际上,朱嘉明认为,这种“纳什均衡”状态下的博弈,是当年诺伊曼和纳什研究的是有限“节点”下的小规模博弈,早已经不足以面对“由几十亿节点的庞大对象构成的社会、经济等复杂行为”。

当然也无法支持目前比特币、区块链系统节点“几何级数”的发展规模。

6zyiuef.jpg!web

比特币全网算力是47073540.92 TH/s

目前,比特币全网算力是47073540.92 TH/s,市面上最常见的矿机是比特大陆的蚂蚁S9矿机,官方给出的这台矿机的额定算力时14.5TH/s,简单算个除法,结果就是全球比特币网络运行着324.6万台蚂蚁S9。

UbQrimF.jpg!web

蚂蚁S9参数

但是实际上,目前比特币矿场中还运行着很多算力低于S9的矿机,这就意味着全球比特币矿机数量远大于324.9万台。

在数百万的规模上实现矿机、矿场、矿池之间的博弈平衡,绝对不是个简单的算术问题。实际上,比特币全网算力还处于不断增长中,这种指数级别的增长,正面临“失控”着状态。目前比特币矿业消耗电力已经超过整个大英帝国的用电量。

研究机构曾做出过这样的统计:如果按照去年11月份“比特币挖矿耗电量”增长速度来计算,到2019年7月,比特币挖矿耗电量将超过如今美国全国的用电量。

uayq6jZ.jpg!web

2010年以来,比特币全网算力增长趋势

同时随着全球比特币用户增长,比特币转账也正在消耗越来越多的“手续费”,网络拥堵就像悬在每个矿工、用户头上的“达摩克利斯之剑”,随时都有可能造成巨大的负面影响。

显然,“纳什均衡”状态下的博弈论已经无法支撑以比特币为代表的区块链技术的前行。亟待进行一场新的基础科学的变革。

3

哈希算法的掣肘

“区块链技术的核心其实是密码学,密码学的重点则是哈希函数。”《区块链核心应用与开发》这本书提到。

你在区块链上的每一笔转账、挖矿、应用开发等等,只要涉及链上数据处理,都会涉及哈希函数。而素数与数论则与哈希函数联系紧密。

我们经常说的比特币POW算法本质是一个哈希函数。

事实上,已经有很多哈希函数被设计出来并广泛应用,支付宝、微信、银行的加密无不使用哈希函数。不过Hash函数一般安全寿命都不长,被认为安全的算法往往没能使用多久就被成功攻击,新的更安全的算法相继被设计出来,而每一个被公认为安全可靠的算法都有及其严格的审计过程。

IBjUZz6.jpg!web

SHA256对“哈希”加密

加密算法SHA家族的更迭史最能说明这个问题,从1993年SHA0被发明,在不断被破解与重新发明的较量中,目前已经发展到第五代SHA-512。

在币圈中我们经常说某某币发明了某种算法,其实主要都是使用那些被认证过的安全算法,或是单独使用,或是排列组合使用。

而哈希函数与数学问题关系十分紧密,具体是指数论与素数问题。

jyMFJvI.jpg!web

《区块链核心应用于开发》这本书认为,目前数论还处于发展状态,哈希函数当然也处于发展状态,这就决定了区块链技术还存在诸多算法不当,进而导致区块链技术性能不足。

比特币的不可扩展性、效率低下、升级困难,很大程度上就是该逻辑导致。因为扩展性问题,导致了比特币在2017年被迫分叉。总的来说,区块链技术的效率低下问题,在一定程度上还是数学问题。

有人可能会问,数论是什么?素数又是什么?

通俗理解,一切数学问题都可以归结为数论问题,因此素数问题也属于数论问题。

r6Nfueu.jpg!web

早在公元前300年欧几里得就证明了有无穷多个素数,在随后接近2000年的时间内,主要内容是以寻找素数通项公式为主要思想。这方面主要的代表人物有德国数学家高斯,英国著名数论学家哈代、李特伍德、拉马努金等等。

今年9月20日,与证明“黎曼猜想”相关的新闻,在网络上闹得沸沸扬扬。知名数学家迈克尔· 阿蒂亚爵士宣布将会证明黎曼猜想,这引起了区块链行业从业者的关注。为什么?

“一旦黎曼猜想被证实,就意味着素数出现规律就能找到,基于此的加密可能也就不安全了。”从事数学研究的阿岚认为。

因此,博弈论、代码语言进步、数学理论发展,对区块链技术进步都有着不可小觑的影响。

----------------------

比特币诞生至今,10年过去了,期间被死亡200多次,被分叉20多次,但是任何一次危机都没能成功“杀死”比特币。

比特币背后的区块链技术,虽然面临数学问题、博弈论问题、代码漏洞问题,但是这些也没能阻挡区块链行业的从无到有,从落魄到发荣的历史进程。

而成功度过每一次危机,都能让这项技术浴火重生、凤凰涅槃。

虽然目前区块链技术并不成熟、加密货币还没有完全被主流认可,但是时间会对这些问题做最好的注脚。

正如思想家阿卜·法拉兹所言:“暂时的失利,比暂时的胜利好得多。”


About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK