當前位置:
首頁 > 最新 > 區塊鏈安全:真的像表面上看起來那麼簡單么?

區塊鏈安全:真的像表面上看起來那麼簡單么?

關鍵時刻,第一時間送達!

說到區塊鏈,就繞不開數字貨幣的問題,而談到數字貨幣,就無法迴避數字貨幣的安全問題,從以前的幣安受到攻擊,到不久前因為智能合約漏洞導致的巨額經濟損失,直到剛剛才發生的EOS爆發高危漏洞,無一不證明著區塊鏈和數字貨幣安全的問題,絕不是像表面看起來那麼簡單。

而在最近剛剛結束的,由UCloud舉辦的UCan下午茶上海站的活動中,諸多區塊鏈領域的專家就區塊鏈和數字貨幣安全的問題與到場的將近200多名觀眾進行了熱烈的探討,場面火爆,現場幾乎被觀眾擠滿,在此次沙龍上探討的諸多問題,也非常值得區塊鏈從業者認真學習和總結。

區塊鏈安全與多重簽名

簽名的作用和特點

在現實生活中,簽名很好理解,就是由個人來簽字,形成一個筆跡,從而作為一種確認和背書。因為每個人的筆記幾乎都是不同的,因此簽名具有唯一性,可驗證並被法律所認可。當需要進行驗證時,可以進行簽名對比,確保一致性。在現實生活,有很多方法可以驗證簽名的安全性,如筆跡鑒定等,因此,簽名被認為是一種很好的證明個人身份的可靠方法。

數字簽名的誕生

隨著互聯網的誕生,有人想把簽名這種可靠的方法應用到互聯網中,於是,數字簽名應運而生。在數字簽名中,有發送方和接收方,發送方首先利用接收方提供的公鑰加密,然後用Hash演算法對文件內容進行加密,並通過簽名演算法將發送方的私匙通過互聯網發送給接收方。接收方接收到文件後,根據自己的私匙,對文件內容進行解密,並對發送方Hash的簽名進行解謎,接收方接收到文本原始的內容後,自己算一次Hash值,最終兩個Hash值進行比較,確認文件是否完整的,或者是否被篡改,這就是數字簽名的過程。

數字簽名的作用,是可以比較可靠的保證信息傳輸的安全,因為這種加密是難以被篡改或者被黑客破解的,而且接收方明確的知道是誰發送的消息,並能確定信息的完整性。

區塊鏈中的數字簽名

區塊鏈中的數字簽名,首先需要把區塊鏈公匙、私匙與區塊鏈賬戶緊密結合起來,私匙首先算出公匙,公匙通過Ripemd160演算法以及兩次Sha3-256演算法,最後用Base32編碼,算出私匙,並直接控制一個賬戶。這樣的好處是顯而易見的,對區塊鏈來說,一旦擁有私匙,就完全控制了賬戶里所有的信息或是內容。但同時,也存在極大的隱患,一旦私匙丟失,將沒有任何辦法能夠把賬戶再拿回來,因此,私匙的保管是非常非常重要。但儘管大家對私匙的保管都非常重視,私匙泄露或被盜的現象還是經常發生。

為了解決這個問題,人們發明了多重簽名賬戶技術。多重簽名賬戶,實際上就是將區塊鏈上原來的一個簽名對應一個賬戶,變化成多個簽名對應一個賬戶,這樣就可以通過對多個簽名驗證交易來保證賬戶的安全性。多重簽名賬戶最多可支持32個共同簽署人,可以設置1-32中的任意數簽署,交互即生效。例如,如果三個人都有各自的賬戶,各自的私匙,同時還有一個賬戶,在變化之前也有自己的私匙,當這個賬戶變成多中心的賬戶,把三個人加入到多中心賬戶中時,多中心賬戶自己本身的私匙就失效了,同時這三個人的私匙在加入賬戶同時生效。之後,這可以設定該多中心賬號是一個人簽署生效,還是兩個人簽署生效,還是三個人同時簽署才能生效,從而為多中心賬戶提供了相對於單人賬戶2到3倍的安全保障。多重簽名賬戶不但可以創建還可以編輯,只要提供一個新的賬戶地址即可,原來的帳戶如果離開或者丟失,都可以添加新賬戶進來,這隻需要在界面上刪除或變更即可。

多重簽名的應用

多重簽名非常好理解,應用也非常簡單。1-of-2的共同簽名賬戶,只要有一個簽署人同意,賬戶里資金就可以動用。3-of-3的多重簽名賬戶,只有當三個人同時簽署的時候,賬戶資金才可以被動用。而2-of-2的多簽賬戶,主要是應用在安全方面,例如,一個人手裡有手機,一個支付端,手機上操作一下,伺服器發送簡訊到手機,確認後,伺服器再同意,這樣多重簽名賬戶才可以動用,這是2-of-2的多重簽名賬戶,即使黑客或者病毒攻破了賬戶,資金仍然可以保證安全。

多重簽名的NEM的應用,是存證的系統。存證創建者,對文件名用SHA-256演算法進行Hash並用Key進行簽名,形成私匙,生成賬戶。多重簽名賬戶,對文件內容做一個Hash,並把Hash值存儲到存證賬戶里去,最終生成多重簽名賬戶。

多重簽名的發展方向

目前多重簽名都是一層的,將來的發展方向將是是多重簽名支持多層多重簽名,比如在製造商運送藥品的例子中。集裝箱中的感測器每隔5分鐘報告溫度數據,並將其合併成每日報告。藥品只有在其區塊鏈記錄顯示生產日期、安全檢查,並在正確的溫度下裝運時才能收到其質量認可的二維碼。

基於可信區塊鏈的數據流通平台

如今,數據已經成為資產,數據的彙集會產生更大的價值,社會的效率就是來源於數字化,信息化和數據流動,但是安全永遠是最大的問題。

據IDC近兩年的統計,安全依然是雲計算面臨的首要問題。數據加密是一個很好的解決安全問題的方法,但是在日常的工作學習中,並不是所有的數據都需要加密的。比如說個人數據的雲盤的存儲,需要加密,但是涉及到用戶的交易、行為的數據,由於可以被服務提供商用來提供更好的服務,因此,服務的提供者或者說互聯網公司是要在某種程度具有能夠獲取到明文的能力。

這就會涉及到一個非常大的安全問題,雲上的數據安全到底該怎麼辦?實際上,數據安全其實包含兩方面,一方面是數據流通安全,另一方面是數據使用記錄的可信,前者通過可信計算晶元TEE的技術支撐,後者通過區塊鏈技術本身的機製做支撐。

TEE是什麼?

TEE是Tusted Execution Environment可信執行環境,是一個基於CPU硬體安全擴展,且與外部完全隔離的執行環境。它可能作為協處理器出現,也可能是基於ECV的新的硬體技術體系。這個環境中運行的CPU空間完全只被硬體授信,軟體和操作系統都不可見。

TEE、安全屋與區塊鏈

基於TEE優化的產品叫做安全屋,安全屋最大的特點是「數據的所有權和使用權的分離」,也就是說,系統只開放基於可信環境的使用方式,在這個可信環境當中,數據擁有方、演算法提供方、結果使用方、計算提供方、演算法在TEE中完成對數據的訪問與運算,明文不外泄。

通過TEE、安全屋、區塊鏈,完全可以打造一個基於可信區塊鏈的數據流通平台——TBC,這實際上是一種分散式的可信數據運算平台,在這個平台之上,可以運行公有鏈平台的私有智能合約、智能合約通過TEE執行, 從而實現基於硬體保護的合約代碼和數據,並可直接對接以太坊。

這個平台基於Intel SGX,具有計算可擴展、信任去中心、數據強安全、任務可遷移四大特點,所謂計算可擴展是指全球任何計算節點均可接入計算框架,信任去中心是指從單一信任模型進化到分散式信任模型,數據強安全,即計算節點無法泄露計算數據,任務可遷移則是指TEE中運行計算可無縫在線遷移。而基於這個平台,可以給數據帶來更加精細和可靠的保護。

虛擬貨幣安全

數字貨幣安全現狀

近三年來,交易所被盜的損失大概是8.64億美元,一些很著名的交易所都發生過盜竊,盜竊情況越來越猖獗。2016年為1.48億美元,2017年為2.96億美元,2018年才過去一半已達5億美元,超過了前兩年的總和。

攻擊方法也從Botnet、DDoS逐漸向挖礦轉移。UCloud通過安全產品共捕獲到了ddg20xx木馬,而這些木馬控制的三個錢包已經合計挖礦90萬到150萬美元。UCloud目前已經捕捉了30多種類似的樣本,而像星巴克Wifi挖礦,軟體中捆綁挖礦代碼、南方周刊官網挖礦這些熱門攻擊事件說明,以往複雜的攻擊方式變得更加簡單,新的變現方式,更加容易變現,黑客的門檻也顯著降低,而原本由彈窗和廣告構成的PC端惡意軟體,也加入了挖礦產業。這種情況的發生,與數字貨幣火熱關係重大,數字貨幣高回報、匿名性、不可溯源的特性,實際上為黑客提供了一個很好的變現途徑。

數字貨幣面臨的安全風險

數字貨幣行業的安全問題主要分為三大類:

第一類,行業發展迅猛,准入門檻非常低,會帶來大量的安全風險。

第二類,傳統的安全問題依舊存在。

第三類,新興的安全風險。

第一類風險,根據劍橋大學和Viso 2017年報告的數據,是行業發展太快帶來的問題,首先是數字貨幣相關開發商、交易所規模小,69%的錢包開發商的員工不到10個人,交易所員工中位數接近於12。其次,成立時間短,2017年下半年就發行了4000多種代幣,最後,門檻低,全球大概有500多個所有交易所,很多甚至於只有兩、三個人的微小公司都干起了交易所,這樣的公司是沒辦法把事情做好的,也沒有能力和精力把安全做好,但這樣公司佔了69%,這是整個行業發展快速帶來的風險。

第二類風險,就是傳統的安全問題,主要存在:

錢包的漏洞,實際上本質就是軟體的漏洞。比如,Parity多重簽名漏洞,是開發人員在寫代碼的時候沒有實現好設計的協議,導致黑客可以調用不該調用的函數,訪問不該訪問的數據。

Web網站漏洞,例如,Coindash的一個Wordpress博客被上傳Webshell導致損失700萬美元的被盜,這個漏洞是非常低級的,原因僅僅是在於Wordpress版本太老。

假冒網站釣魚,黑客通過偽造網站,冒充正規的交易所,有人在上面交易,導致被盜。

業務安全,比如,網站被黑,打款地址被替換成黑客錢包地址,導致被盜。

病毒木馬,如日本Coincheck事件、韓國Bithumb事件,其實都是傳統病毒木馬惹的禍。

這些其實是屬於傳統安全的範疇,但實際卻佔據了數字貨幣安全體系的很大比重。

這三類風險組成了數字貨幣的主要風險,第一類風險是由於行業發展太快,很多公司規模很小,這樣的公司是不可能做好安全的。第二類新興的安全攻擊,主要是一些大學和研究者提出的論文當中指出的潛在的風險,但在實際中較難實現。第三類傳統的安全問題,才是佔據比例最大的問題。

如何解決數字貨幣安全三類風險

而要解決這三類風險,首先要建立正確的安全意識,因為區塊鏈或者相關技術,雖然號稱非常安全,但實際上只是指傳輸安全。但是往往造成被盜或者損失的,並不是發生在傳輸過程中。可能是某個員工被黑,也可能是某個網站存在漏洞,而區塊鏈及其相關技術是無法解決這些問題的。

其二,要上雲。因為雲上有更完整的安全產品體系和更完善的基礎設施,有專業的安全團隊,有雲上的抗DDoS服務,有雲上的防入侵服務,而這些對中小公司是難以負擔的,所以上雲是解決這個困境的好辦法。

其三,使用成熟的第三方產品。數字貨幣的大量安全事件來源於傳統安全,而在傳統安全方面,國內外都有大量的廠商已經在這些行業深耕十幾年了,包括綠盟、安恆等等,像網站漏洞、電腦被黑這些問題,都有非常成熟的安全產品以及解決方案。

作為一個雲提供商,UCloud雲上有非常完善的安全架構,可以通過部署在UCloud的DDoS設備,主機入侵檢測產品,對主機體系進行安全檢測。可以通過檢測風險掃描器,UHDS兩款入侵檢測商品發現用戶系統業務體系以及架構方面的問題,在黑客入侵之前就解決掉這些問題。此外,針對運維重點的一些安全問題,比如通過堡壘機保護資產,實現操作記錄的可回溯,UCloud也都支持,而普通用戶通過自己買產品,自己建立安全體系是很難做到這樣完善的安全體系的。

如何解決區塊鏈性能瓶頸

區塊鏈行業現狀

雖然區塊鏈在近4年時間裡面呈現爆髮式發展態勢,但區塊鏈還處在比較早期的階段,應用性差、性能低,還沒有出現大規模的區塊鏈商業應用。以比特幣為代表的數字資產交易仍是區塊鏈技術應用最成熟的領域。

這樣的早期發展階段,也明顯的反應到了區塊鏈的TPS(每秒並發速度)上。目前,比特幣的TPS為每秒7筆交易,乙太網為每秒25筆交易,這與商業化的要求相差甚遠。目前,滿足商業化需求的互聯網應用至少要求每秒4.4萬筆交易,淘寶在雙十一的TPS達到每秒35萬筆。

TPS瓶頸分析

區塊鏈的每一筆交易,以太坊大概是144 Bytes大小左右。TPS如果未來要達到35萬,結合淘寶看,需要提升以下指標:

P:需要轉發的交易數,以以太坊為例,為25個。

D:每秒鐘需要處理的數據總量。

Td:每秒的網路接收和數據發送總量。

要達到35萬TPS,每秒需要處理的數據總量,即D,可以通過以下計算公式計算出來:

D = d*TPS = 144*350000 = 50,400,000 B

而這時,每秒的網路接收和數據發送總量,即Td為:

Td = D*P*8 = 10,080,000,000 b

這是一個相當巨大的數據量,所以,總結起來,區塊鏈TPS的瓶頸主要來自於:

第一,P2P的網路帶寬,第二,存儲,第三,共識演算法,第四,簽名驗證。

因此,未來解決區塊鏈性能問題,將主要圍繞這幾點展開。

解決方案

HPB(High-performance Blockchain)是一種全新的區塊鏈軟硬體體系架構,其中包含晶元加速引擎和區塊鏈底層平台,旨在實現分散式應用的性能擴展。定位為易用的高性能區塊鏈平台,跟產業深度結合,滿足現實世界的真實商業需求。

HPB的核心是芯鏈加速引擎的整體架構,DDR Memory的網路存儲。左邊是UA網路介面,右邊是PC,中間ARM整體解決方案,通過ARM A53 CPU,加上存儲和用戶ARM FPGA的晶元,有一個ARM FPGA整體解決方案。其中藍色的部分是中間橋樑,左邊的藍色部分是對外的通道入口,右通道藍色是網卡晶元,通過晶元的設計,提升了網路的連接,擴展,定址的能力。可以充分滿足區塊鏈交易中的網路帶寬需求。通過這樣的設計,HPB可以達到百萬級的TPS。

HPB技術中一個重要的部分是BOE,BOE其實是軟硬體結合的功能演算法,是替代引擎,它通過CPU的功能轉嫁到專用ARM A53架構解決方案,達到高性能的解決方案。

在演算法方面,採用多重機制,大約有100個高性能計賬節點,100個後續節點,通過不斷投票產生每個記賬節點和後面的節點,根據自己的貢獻,不斷獲得鏈上的獎勵,其他的一些節點作為一個同步節點同步數據,從而達到整體的數據的共享公平。

總之,HPB芯鏈是第一個百萬級並發設計的高性能區塊鏈,用戶可以免費使用,採用並行架構,應用程序之間互不影響,同時,它採用了軟硬體一體的體系架構 ,設計了HPB專用的區塊鏈伺服器,通過軟硬體優化支持大量的共識節點,並採用了超高並發BOE引擎,高性能硬體簽名技術,也是業界首個底層區塊鏈開源的項目。

如何打造下一代公有鏈

區塊鏈實質上就是State Machine 和核心資料庫,比特幣其實只干一件事,就是通過整個分布系統,進行交易轉賬,Genaro的初衷是做去中心化化的存儲,但後來發現有非常多的公鏈需要存儲,於是,Genaro就做了一條與存儲相關的公鏈。並逐漸在公鏈上疊加了相應的東西。

提到存儲網路,就不能不說Sentinel,Sentinel在POR系統當中提供了驗證的方式,與整個文件大小無關的,並且經過了加密。而且通過這樣加密之後,還能將文件取回,這是分散式存儲網路的兩個特性,即:1.能夠找回存儲的東西,2.保證其中點對點傳輸。

而Genaro在設計自己的分散式存儲系統時,對Sentinel進行了優化和補充,從而設計出了Genaro自己的分散式存儲。

Genaro在設計公鏈時,實際上也是考慮了區塊鏈先驅,EOS創立者BM對創業者提出的四個問題:1、下一個區塊更新的時候,資料庫是通過誰來產生的。2、下一個區塊什麼時候產生。3、什麼交易數據會被放進區塊。4、怎麼解決交易數據衝突的問題?

通過對這些問題的認真思考,和對市場上各種共識問題,攻擊問題的詳細研究,Genaro採用了混合SPoR/PoS的共識機制,在維持低消耗的同時,保證了高並發以及存儲。

目前,Genaro 的第一個產品是Genaro Eden,它為每個人提供一個可信任的互聯網,通過數據聯通現實世界與區塊鏈世界。Genaro APP,則是Genaro Eden的搖控器,也是Genaro 輕錢包,而Genaro相信區塊鏈和存儲在一起,才是區塊鏈技術未來發展的方向。

GIF


喜歡這篇文章嗎?立刻分享出去讓更多人知道吧!

本站內容充實豐富,博大精深,小編精選每日熱門資訊,隨時更新,點擊「搶先收到最新資訊」瀏覽吧!


請您繼續閱讀更多來自 CSDN 的精彩文章:

為什麼我堅持用Go語言做Web應用開發框架?
動輒年薪 25 萬隻是白菜價的人工智慧黃了?

TAG:CSDN |