區塊鏈和雲計算之間有何關係 帶你十分鐘看透它!
雖然雲計算蓬勃發展了10來年,雲計算是按需供給的理念還不被大部分人理解。人們習慣稱為雲計算技術。如果把雲計算稱為技術,準確的表述應該是雲計算的技術,是為了現實對資源按需分配而應用的技術。這些技術不但包括了計算、網路、存儲、安全等基礎IT技術,還包括了所有涉及信息的技術,這些技術支撐了各種資源的按需分配。
區塊鏈也不是什麼新東西,也有10來年的歷史,只是從今年爆紅。區塊鏈也不是技術,本質上就是一種無權威化的信任體系。同樣,如果還是把區塊鏈稱為技術,也應該是區塊鏈的技術。主要包括各種演算法如哈希演算法和安全演算法、加密技術、P2P網路技術等。
按需分配的理念和無權威化的信任體系,好像並不能直接對比,沒有直接關係,也就不存在誰取代誰的問題。但是區塊鏈本身就是一種資源,有按需供給的需求,是雲計算的一個組成部分。所以,在IaaS、PaaS、SaaS的基礎上後來增加了新的「即服務」比如DaaS(資料庫即服務)等的同時,我們還可以創造出BaaS (區塊鏈即服務)。
但是,沒有直接關係並不是沒有關係,雲計算的技術和區塊鏈的技術之間是可以相互融合的。今天就分析一下這種技術關係。
計算
雲計算主要是以CPU為核心的複雜邏輯計算,而區塊鏈是以GPU或ASIC為核心的簡單線性計算。CPU是一個全能選手,主要實現各種複雜的應用架構。而GPU或ASIC擅長大量簡單並行計算,來競爭獲取工作量證明。區塊鏈內的大量「礦機」是有擅長簡單並行計算的GPU或ASIC組成。GPU並不能取代現有的以CPU為主的應用計算服務。
但是雲計算還可以提供人工智慧(AI)計算服務。和區塊鏈相似,為了實現AI服務,雲計算就需要大量並行簡單計算的資源。如果各種以GPU為主的礦機大量閑置,我們可以通過改造軟體和網路的方式來實現分散式的AI計算服務。但現在就想讓礦機停止挖礦,提供AI的計算服務是不可能的。現在加密貨幣紅的發紫,礦機們都在全力挖礦,挖礦帶來的收益遠遠遠遠高於出租GPU帶來的收益,不會有空餘資源可以被雲計算利用。所以在很長的一段時間內,雲計算內還需要單獨購置AI計算能力,不可能利用區塊鏈里的礦機能力。
網路
雲計算內的網路一般認為是一個在大二層網路基礎上構建複雜的應用網路,而區塊鏈是一個扁平架構的P2P網路。雲計算的網路為了實現應用的複雜網路拓撲,完全採用為應用進行定製的方式,每個計算單元之間是通過「路由」為核心來實現複雜的邏輯關係。而區塊鏈的網路存粹就是一個建立在公共網路的P2P網路。在這個網路里,每個計算單元的網路地位都是平等的。在一個徹底扁平的網路里,是以快速傳播信息為目的的。不可能實現雲計算應用複雜的網路架構。
如果將來礦機資源大量閑置,還可以作為AI的計算單元,也不是一下子就能華麗轉身。從AI應用的網路角度上看,現有的P2P網路完全也是不符合的。到時候需要有新的網路技術把這些東西串接起來,一定不會還是簡單的P2P網路。具體是什麼,只有這一天來臨了,才知道。
存儲
雲計算內的存儲有很多種,有基於文件的、基於對象的、基於塊的。這些存儲作為一種資源,往往是獨立存在的,一般採用共享的方式,由應用來選擇。而區塊鏈里的存儲是作為鏈里各節點的存儲空間,一般就是本機所帶的普通廉價硬碟,獨立存在。區塊鏈里存儲的價值不在於存儲本身,而是在於相互鏈接的不可更改的塊。
最大的區別是區塊鏈的文件系統可以寫和讀數據,但數據一旦寫入就不能修改和刪除。
雲計算內的存儲和區塊鏈內的存儲都是由普通存儲介質組成。只是相應管理物理介質的「文件系統」有所差異。同時還會採用海量的獨立副本來確保數據的不可修改性和數據的完整性。區塊鏈存儲的重點不在是」塊「,而是在於「鏈」。通過鏈來確保記錄內容的不可修改性,是一種特殊的存儲服務。雲計算里確實也需要這樣的存儲服務。如果一定讓我來寫關於區塊鏈應用的白皮書,我覺得這才是真正的應用點。比如結合」平安城市「,將數據放在這種類型的存儲里,利用不可修改性,讓視頻、語音、文件等作為公認有效的法律依據。
雲計算里的區塊鏈的存儲服務實現有2種實現方法,第一種是將數據塊直接記錄在區塊鏈里,第二種是將記錄的數據塊進行哈希,將哈希值記錄在區塊鏈里,但真正的內容還是記錄在普通存儲里或雲端。第一種方法實現起來很容易,直接將內容寫入區塊鏈即可,但需要海量的存儲,每個記錄內容都有海量的副本。如果這樣,將來每個鏈內節點的存儲需求就不是現在的幾百個G,而是大到海量。所以,現實這種方案是不可行的。而第二種方案採用控制和內容分離,就像在第二篇文章《打「假」區塊鏈應用(1)》中介紹的基於區塊鏈的DNS一樣,區塊鏈里只記錄每個內容塊的哈希值,就不需要讓每個鏈內節點擁有海量的存儲,而真正的內容是記錄在傳統的存儲中。一旦存儲內容被修改,所對應的哈希值也發生變化,和區塊鏈內的哈希值就不能匹配,這樣的行為是被禁止的,確保了存儲內容的不可修改性。這才是區塊鏈和雲計算的有效結合。
安全
雲計算里的安全主要是確保應用能夠安全、穩定、可靠的運行。這種安全屬於傳統安全領域範疇。而區塊鏈內的安全是確保每個數據塊不被篡改,數據塊的記錄內容不被沒有私鑰的用戶讀取。利用這一點,如果和上面介紹的基於區塊鏈的安全存儲產品結合,就能設計出的加密存儲設備。
管理和協同
雲計算和區塊鏈里的管理方法和資源協同完全是不一樣的。雲計算實際上是通過集中的控制器進行有中心化的管理。雖然資源可以分散式提供,但管理一定是集中的。所有資源的分配、調度和應用都是被集中管理。而區塊鏈採用無中心的管理方式,所有的節點都是一樣的,就沒有必要進行管理,一切都是自發和自動的。所以當區塊鏈的資源要轉化成為雲計算資源的一部分的時候,除了網路,管理也是必須重構的。


※區塊鏈倉單落地,意味著什麼?意味著「存貨票據化,資產數字化」
TAG:泰瑞孟 |