區塊鏈技術的風險!(轉載)

本文轉載自 搜狐財經 作者: 程顯峯 原文鏈接

一、安全隱患
包含三點:

私鑰丟失;
錯誤的實現;
協議被攻擊。
47c1301a29af9da6bc8ad176b8ce5e2435dad6ce

祕鑰安全:區塊鏈技術一大特點就是不可逆,不可僞造,但前提是私鑰是安全的。祕鑰安全問題看似老生常談,其實在區塊鏈世界裏還有特別的意義。
與以往任何體系不同的是,私鑰是每個用戶自己生成並且自己負責保管的,理論上沒有第三方的參與,所以私鑰一旦丟失,便無法對賬戶的資產做任何操作。多重簽名某種程度上能解決一部分問題,但實施起來非常複雜,而且要設計與之相配套的非常複雜的祕鑰管理和使用體系。

對於普通大衆用戶,或者沒有太多技術經驗的企業用戶,天然會覺得補私鑰可能和補身份證或者營業執照差不多,但事實上這根本就不可能,所以私鑰的安全非常重要。但遺憾的是國際通用的多因素認證體系實施得並不好。

多因素體系最常見的維度包括:

知識,知識指的是密碼這類能被記憶的知識。
資產,資產包括門禁卡,令牌,手機,密碼鍵盤,智能卡等。
本徵,本徵包括指紋,虹膜,DNA,聲紋等。
使用一種維度因素的認證方式叫單因素認證,使用兩種的叫做雙因素認證。

目前單因素認證早已經被業界認爲是不安全的,所以國內基本和支付相關的應用除了密碼以外,至少也得發一個驗證碼給手機,這就是對手機這一資產的因素驗證。但進行大部分資產的因素驗證並不具有理論上要求的可信環境,或者稱之爲終端安全,這就大大提高了私鑰暴露的風險。比如,嚴格的說大部分手機都不算可信的計算環境,但是因爲太方便了,所以大家做了很多妥協。這在保護低價資產的時候還可以忍受,但往往大家用區塊鏈都是些重要價值的業務。

那麼本徵因素怎麼樣呢?是不是三因素認證就會解決這個問題呢?

很遺憾,安全業界對使用本徵因素存在非常多的爭議,主要的反對理由就是,本徵類別的特徵,大部分是生物特徵,一旦泄露將很難更改。試想一旦我們的指紋落入不法分子手裏,我們將一生都會受到其困擾,從以往的經驗上來看,這種事情的大規模發生只是早晚的問題。

小結兩點:

私鑰的補發與管理和區塊鏈的分佈式是衝突的;
私鑰的認證需要可信的計算環境在很大程度上是缺失的。
錯誤的實現:即便是理論上很完備的算法,也會有各種實現上的錯誤。由於區塊鏈大量應用了各種密碼學技術,屬於算法高度密集工程,出現錯誤也是在所難免。

歷史上這類事情有很多,比如NSA對RSA算法實現埋入缺陷,使其能夠輕鬆破解別人的加密信息。一旦爆發這種級別的漏洞,可以說區塊鏈整個大廈的基礎將轟然倒塌,不會有一個倖存者。即便我們樂觀一點,假設沒有人或者機構存心搞鬼,也存在工程實現上的非主觀缺陷。比如OpenSSL的心臟滴血漏洞,相信有金融網站的人都經歷過這個事情的這是世界上最優秀的算法工程師做的被最廣泛應用的加密算法庫。

我們如何能相信未來區塊鏈使用這麼多加密算法後還能獨善其身呢?

假設基礎類庫和服務都沒有問題,能將其正確地整合到應用的中技術人員也是鳳毛麟角。比如blockchain.info被爆沒有正確生成隨機數,導致嚴重的安全問題;以太坊DAO合約漏洞致使業務還沒有開展的時候,準備的錢已經不見了。更加可怕的事實是,技術風險已經超過業務風險成爲區塊鏈的主要風險。以往金融機構也是涉及業務風險和技術風險,雖然也重視技術風險,但是整個體系的建設還是圍繞着防範業務風險展開。但是從區塊鏈現在最成熟的應用比特幣來說,目前比特幣交易所遭遇的最大的危機都來自於技術風險而不是業務風險。

曾經世界上最大的交易所Mt.Gox倒閉就是因爲黑客攻擊導致鉅額資產損失。就在最近,世界知名交易所Bitfinex也因爲多重簽名缺陷導致12萬個比特幣(6800萬美元)的損失。所以我們有理由相信,未來在區塊鏈上這種技術風險的防範一定是流程中的重中之重。

協議被攻擊:比特幣成功與它強大的算力基礎分不開。

                                                   fc01a04b31cc32bdabac6e957553013e560399cc

目前其它的區塊鏈應用的算力都還與比特幣無法相比(目前1,600,000,000 Hash/s),其他區塊鏈應用難以有足夠的算力來保證系統的穩定性,理論上也越容易收到比如51%算力攻擊這樣的在基礎協議層面的攻擊。Krypton平臺最近就遭到這種攻擊,而且這種攻擊方法被認爲是一個有效的攻擊以太坊的手段。這種事情並不是偶發,而是接連發生,如果“51%算力攻擊”蔓延下去,那麼區塊鏈所標榜的“不可篡改”將不復存在,任何基於區塊鏈的信任應用都將土崩瓦解。除了這種已知的攻擊方法,我們預測攻擊協議的其他手段也會層出不窮。由於區塊鏈本身的分佈式特性導致其進行整體升級非常困難,所以一旦發現有效的攻擊手段,可能在很長的一段時間內,對區塊鏈系統都會造成持續不斷負面影響,那是一種難以徹底清除的夢魘。

二、生態圈不成熟
區塊鏈技術不能獨立於其他關聯技術而獨立發展,這和雲計算類似。亞馬遜的雲計算大規模商用的時候已經有了數十個服務,區塊鏈目前還沒有完整的生態社區。雖然目前有很多非常強大的公司聯盟、開原組織的支持,但是生態體系的建設不是一朝一夕的事情。

電動汽車再好也得有充電樁,區塊鏈再好也得有一系列爲其服務的基礎設施,比如適用於區塊鏈的數據庫和存儲方案,爲區塊鏈加速的網絡服務,提高安全性的硬件密鑰的廣泛應用等等。互聯網70年代產生,90年代Email作爲其第一個成功的應用被廣泛使用,期間經歷的時間比大部分人預想的都要長。構築完善的生態系統,不但要求技術上的各種突破,也需要人們改變一些思維定式,並不是那麼容易的。

目前的區塊鏈應用,基本上一張A4紙就能寫下所有的名字,當然會有很多大家還在醞釀當中搜索不到的項目,但是也不妨礙說明這個生態還很小。嘗試是當然可行,但是想要形成具有規模的生產力還不太現實。妄圖單點突破不切合工業社會後的社會分工協作的基本發展趨勢。當然我們也看到有少數進展比較快的項目,比如IPFS,BigChainDB等等。這些項目還處於非常早期的階段,能夠達到商用至少需要兩年以上的時間。

三、性能瓶頸
原來大家講區塊鏈是可以低成本快速轉賬,但從比特幣的實際應用來看性能是困擾其發展的最大瓶頸。現在的比特幣交易只能達到每秒7筆交易,相對於VISA公佈的每秒44萬筆交易相差實在太多。雖然也有些新的區塊鏈技術號稱能夠做到每秒幾萬筆交易,但是基本上都是基於實驗室環境或者不能進行大規模應用。

                                                   900df9ac3352e21eca54cf5920e93bc54e643e9c

性能會極大地制約區塊鏈的應用場景

紐交所核心系統要求在每秒百萬級別,上證深證在每秒幾十萬筆級別,物聯網要求在每秒幾千上萬級別,這也就是爲什麼現在國外的區塊鏈創新都圍繞在一些鑑定、存證等要求處理速度不高的場景。目前市面充斥着各種性能評測報告,但多數都沒有具體測試方法和實驗參數導致很難驗證,不得不說這是一個非常遺憾的事實。目前比特幣的交易網絡有大量交易需要等待5-6小時才能被確認,對於提升其性能的方法也存在很大的爭議。其根本原因就是在分佈式、一致性保證的前提下,性能被犧牲掉。“多快好”的方案是不存在的,我們選擇了“多”(分佈式)和“好”(一致性),就必須放棄“快”(性能)。由於性能瓶頸,導致了比特幣轉賬費用持續攀升,不知道其他區塊鏈應用如何來應對這種問題。

四、智能合約困境
智能合約就是潘多拉魔盒,它的出現只是噩夢的開始。

                                                   90e81945c3a77eaedfa7bc56bd5998f18e930699

現在的智能合約是圖靈完備的,也就是理論上它的計算能力和我們用的計算機是完全等價的,所以它會帶來非常大的好處,是區塊鏈質的飛躍,但同時也會帶來與之相對應的災難。比如計算機出現後出現了計算機病毒,智能合約理論上一樣存在智能合約病毒。這種病毒通過感染修改其他合約的方式來實現合約作者意圖之外的功用。(這不是科幻小說,相信這一天不久就會到來,其影響一定會遠遠超過計算機病毒。)

另外智能合約很難與人的真實意圖完美對應,理論上也不存在這樣的系統。智能合約的編寫需要專門的技術,相信短時間內這方面的人才會非常短缺。由於智能合約在編寫上的困難性,會導致一批衍生機會,比如智能合約律師,負責驗證智能合約與法律的銜接問題,智能合約保險,一旦智能合約不能表達產權人的真實目的可以獲得一定的賠償。

正確性驗證與證明(validation and verfication),某種程度上能解決問題,但其缺點是不成熟,實施成本巨大,所以也有待新的技術突破。

現階段的智能合約有非常大的限制,就是升級非常困難。一旦發現合約漏洞,將很難通過升級的方式來解決問題。以太坊因爲DAO事件,無奈採取硬分叉策略是大家都不願意看到的。

現實的合同基本上都有一條“未盡事宜協商解決”,那麼智能合約的協商解決如何定義,如何同步就是問題了,目前開來智能合約在這方面還有很多值得研究和探討的問題。隨着這些問題的深入解決,預計智能合約也會變得非常複雜,甚至一般的程序員都很難理解。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章