區塊鏈的三個“天然缺陷”區塊鏈

                  31QU 2018-11-05 10:52
                  分享到:
                  導讀

                  而成功度過每一次危機,都能讓這項技術浴火重生、鳳凰涅槃。

                  區塊鏈技術并不完美。

                  事實上,任何新技術誕生之初都會存在“先天缺陷”。缺陷會隨著技術進步而被完善,然后在新的技術背景下,再面臨新的“缺陷”。

                  比如飛機這個航空技術。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 作為編程語言,等等。

                  數量眾多的開發語言

                  世界上編程語言多達上五十多種,但尷尬的是,沒有哪一種語言能夠占據絕對優勢。

                  國內著名經濟學家朱嘉明認為,在現實中,很可能發生因為任何一種編程語言自身不足,以及不同的編程語言不足的迭加,對現有區塊鏈造成本源性的傷害。

                  其次,區塊鏈編程語言主要依賴C 、Java、Go等幾種 “高階語言”,而這些所謂的高階語言目前還存在諸多不完善之處。

                  以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.92 TH/s

                  目前,比特幣全網算力是47073540.92 TH/s,市面上最常見的礦機是比特大陸的螞蟻S9礦機,官方給出的這臺礦機的額定算力時14.5TH/s,簡單算個除法,結果就是全球比特幣網絡運行著324.6萬臺螞蟻S9。

                  螞蟻S9參數

                  但是實際上,目前比特幣礦場中還運行著很多算力低于S9的礦機,這就意味著全球比特幣礦機數量遠大于324.9萬臺。

                  在數百萬的規模上實現礦機、礦場、礦池之間的博弈平衡,絕對不是個簡單的算術問題。實際上,比特幣全網算力還處于不斷增長中,這種指數級別的增長,正面臨“失控”著狀態。目前比特幣礦業消耗電力已經超過整個大英帝國的用電量。

                  研究機構曾做出過這樣的統計:如果按照去年11月份“比特幣挖礦耗電量”增長速度來計算,到2019年7月,比特幣挖礦耗電量將超過如今美國全國的用電量。

                         

                  2010年以來,比特幣全網算力增長趨勢

                  同時隨著全球比特幣用戶增長,比特幣轉賬也正在消耗越來越多的“手續費”,網絡擁堵就像懸在每個礦工、用戶頭上的“達摩克利斯之劍”,隨時都有可能造成巨大的負面影響。

                  顯然,“納什均衡”狀態下的博弈論已經無法支撐以比特幣為代表的區塊鏈技術的前行。亟待進行一場新的基礎科學的變革。

                  3

                  哈希算法的掣肘

                  “區塊鏈技術的核心其實是密碼學,密碼學的重點則是哈希函數。”《區塊鏈核心應用與開發》這本書提到。

                  你在區塊鏈上的每一筆轉賬、挖礦、應用開發等等,只要涉及鏈上數據處理,都會涉及哈希函數。而素數與數論則與哈希函數聯系緊密。

                  我們經常說的比特幣POW算法本質是一個哈希函數。

                  事實上,已經有很多哈希函數被設計出來并廣泛應用,支付寶、微信、銀行的加密無不使用哈希函數。不過Hash函數一般安全壽命都不長,被認為安全的算法往往沒能使用多久就被成功攻擊,新的更安全的算法相繼被設計出來,而每一個被公認為安全可靠的算法都有及其嚴格的審計過程。 

                  SHA256對“哈希”加密

                  加密算法SHA家族的更迭史最能說明這個問題,從1993年SHA0被發明,在不斷被破解與重新發明的較量中,目前已經發展到第五代SHA-512。

                  在幣圈中我們經常說某某幣發明了某種算法,其實主要都是使用那些被認證過的安全算法,或是單獨使用,或是排列組合使用。

                  而哈希函數與數學問題關系十分緊密,具體是指數論與素數問題。

                  《區塊鏈核心應用于開發》這本書認為,目前數論還處于發展狀態,哈希函數當然也處于發展狀態,這就決定了區塊鏈技術還存在諸多算法不當,進而導致區塊鏈技術性能不足。

                  比特幣的不可擴展性、效率低下、升級困難,很大程度上就是該邏輯導致。因為擴展性問題,導致了比特幣在2017年被迫分叉。總的來說,區塊鏈技術的效率低下問題,在一定程度上還是數學問題。

                  有人可能會問,數論是什么?素數又是什么?

                  通俗理解,一切數學問題都可以歸結為數論問題,因此素數問題也屬于數論問題。

                  早在公元前300年歐幾里得就證明了有無窮多個素數,在隨后接近2000年的時間內,主要內容是以尋找素數通項公式為主要思想。這方面主要的代表人物有德國數學家高斯,英國著名數論學家哈代、李特伍德、拉馬努金等等。

                  今年9月20日,與證明“黎曼猜想”相關的新聞,在網絡上鬧得沸沸揚揚。知名數學家邁克爾· 阿蒂亞爵士宣布將會證明黎曼猜想,這引起了區塊鏈行業從業者的關注。為什么?

                  “一旦黎曼猜想被證實,就意味著素數出現規律就能找到,基于此的加密可能也就不安全了。”從事數學研究的阿嵐認為。

                  因此,博弈論、代碼語言進步、數學理論發展,對區塊鏈技術進步都有著不可小覷的影響。

                  比特幣誕生至今,10年過去了,期間被死亡200多次,被分叉20多次,但是任何一次危機都沒能成功“殺死”比特幣。

                  比特幣背后的區塊鏈技術,雖然面臨數學問題、博弈論問題、代碼漏洞問題,但是這些也沒能阻擋區塊鏈行業的從無到有,從落魄到發榮的歷史進程。

                  而成功度過每一次危機,都能讓這項技術浴火重生、鳳凰涅槃。

                  雖然目前區塊鏈技術并不成熟、加密貨幣還沒有完全被主流認可,但是時間會對這些問題做最好的注腳。

                  正如思想家阿卜·法拉茲所言:“暫時的失利,比暫時的勝利好得多。”

                  區塊 比特幣 技術 問題 目前
                  分享到:

                  1.TMT觀察網遵循行業規范,任何轉載的稿件都會明確標注作者和來源;
                  2.TMT觀察網的原創文章,請轉載時務必注明文章作者和"來源:TMT觀察網",不尊重原創的行為TMT觀察網或將追究責任;
                  3.作者投稿可能會經TMT觀察網編輯修改或補充。