如何認識區塊鏈分布式系統

區塊鏈能夠說是對分佈式存儲的一種全新界說,並跟著比特幣的推行而鼓起的一種全新的技能,它其間的加密算法是它的亮點之一。當然,入門區塊鏈技能也不是一朝一夕能夠完結的作業,所以這個也可能變成一個系列了,所以做好入門前的起步作業會事半功倍。學習剛剛起步,守時共享一些心得,只需能前進就行。

簡略看了一下區塊鏈的底層技能,能夠看作是一個分佈式體系,所以一切分佈式體系都避免不了CAP原理,區塊鏈的規劃拋棄了CAP中的一致性,選用終究一致性。這個一致性類似於許多分佈式協調中間件的算法,根本能夠理解為是另一個Paxos算法的變種,卻是沒有什麼稀罕的。

能夠這樣說,區塊鏈的核心是:分佈式,去中心化,不可逆,防篡改。關於海量數據的傳輸與存儲供給和許多好的解決方案。

其實去中心化應該叫弱中心化,尚書院·百戰程序員陳老師指出去中心化在技能底層是一切獨自的節點,沒有master的概念,cassandra,redis cluster都有去中心化的概念,經過流言方式進行數據同步,P2P通訊應該就是一個RPC調用,這兩塊卻是也沒有多少稀罕。

如何認識區塊鏈分佈式系統

可是之所以不是一個完全的去中心化,首要考慮到區塊鏈未來的使用場景不僅僅是技能底層,而是需求有必定的實際生活場景做依託,所以在實際場景中,假如沒有一個強壯的中心化組織做背書,很難得到我們的信賴,所以這個中心化組織起到必定的背書作用。

其實我比較感興趣的是區塊鏈如何做到了,不可逆防篡改。

根本看來仍是結合了數學知識加上計算機密碼學知識,結合Hash方式,加上隨機數到達必定的隨機意圖,加上時刻戳能夠做到防篡改。

比方每隔10分鐘全網會進行一次有必定難度的hash計算力比拼,只有提交自己hash成果並經過網絡驗證的一個節點參加新的鏈中,這個進程叫做作業證明。而驗證進程則經過Merkle樹驗證。假如上升到博弈論動機來說,首要根據篡改的成本遠大於收益的策略,成本是重建一個更長的區塊鏈,一起需求更大的計算力。所以跟著區塊鏈的普及,信任未來的計算機硬件也會有相應的提升。


分享到:


相關文章: