當前位置:
首頁 > 最新 > 區塊鏈底層技術大起底,普通人輕鬆看懂

區塊鏈底層技術大起底,普通人輕鬆看懂

區塊鏈底層技術的三要素:演算法、賬本、網路

1. 共享帳本共享賬本

準確的說應該是分散式賬本技術,這個技術從實質上說就是一個可以在多個站點、不同地理位置或者多個機構組成的網路里進行分享的資產資料庫。在一個網路里的參與者可以獲得一個唯一、真實賬本的副本。賬本里的任何改動都會在所有的副本中被反映出來,反應時間會在幾分鐘甚至是幾秒內。在這個賬本里存儲的資產可以是金融、法律定義上的、實體的或是電子的資產。在這個賬本里存儲的資產的安全性和準確性是通過公私鑰以及簽名的使用去控制賬本的訪問權,從而實現密碼學基礎上的維護。

根據網路中達成共識的規則,賬本中的記錄可以由一個、一些或者是所有參與者共同進行更新。分散式賬本技術使用密碼哈希演算法和數字簽名來確保交易的完整性,同時確保共享賬本是精確副本,並降低了發生交易欺詐的風險,因為篡改需要同時在許多地方同時執行。密碼哈希演算法(比如 SHA256 計算演算法)能確保對交易輸入的任何改動 — 甚至是最細微的改動 — 都會計算出一個不同的哈希值,表明交易輸入可能被損壞。數字簽名則確保交易源自發送方(已使用私鑰簽名)而不是冒名頂替者。

2. 共識演算法

這裡主要講述區塊鏈在發展過程中出現的五種典型共識演算法:PoW、PoS、DPoS、PBFT和聯合共識。早期,比特幣Bitcoin作為區塊鏈技術的第一個成功應用率先引入了工作量證明機制(PoW,Proof of Work),工作量證明機制利用了Hash演算法在隨機性上這個非常重要的特性。PoW機制俗稱挖礦,這裡挖的是比特幣里的每一個區塊。每個區塊用包含的交易、時間、以及一個自定義數值來計算這個區塊的Hash。

一個合格的區塊的Hash必須滿足前N位為零,因此需要不斷的調整剛才那三個參數來尋找滿足條件的Hash。由於Hash演算法足夠隨機,零的個數越多,算出這個Hash的概率越低。此時,要得到合理的Block Hash需要經過大量嘗試計算,計算時間取決於機器的哈希運算速度。當某個節點提供出一個合理的Block Hash值,說明該節點確實經過了大量的嘗試計算,這就是工作量證明。當然,並不能得出計算次數的絕對值,因為尋找合格的Hash是一個概率事件。當節點擁有佔全網n%的算力時,該節點即有n%的概率率先發布一個合格的區塊。隨後,由於PoW這種演算法極其耗費計算資源,截至寫本文時(2017年8月),據測算,比特幣網路消耗的電力就已經高達15TW。

因此,隨後的NXT等新興密碼學貨幣提出了一種新的思路即股權證明(PoS,Proof of Stake)。這種模式會根據你持有數字貨幣的量和時間,決定你可以發布下一個區塊的概率。在PoS模式下,有一個名詞叫幣齡,每個幣每天產生1幣齡,比如你持有100個幣,總共持有了30天,那麼,此時你的幣齡就為3000,然後按照所有人的幣齡根據一個隨機演算法決定誰來發布下一個區塊。這個時候,如果你被選中發布了一個POS區塊,你的幣齡就會被清空為0重新再來。PoS也不是沒有缺點,最大的缺點就是在於效率上。因此,比特股BitShares提出了委託股權證明機制(DPoS,Delegated Proof of Stake)。它的原理是讓每一個持有比特股的人進行投票,由此產生101位代表 , 我們可以將其理解為101個超級節點或者礦池,而這101個超級節點彼此的權利是完全相等的。從某種角度來看,DPoS有點像是議會制度或人民代表大會制度。如果代表不能履行他們的職責(當輪到他們時,沒能生成區塊),他們會被除名,網路會選出新的超級節點來取代他們。以上的這些共識機制都依賴密碼學貨幣,因為不管是PoW還是PoS,驅動尋找區塊的源動力都是發布新區塊的貨幣獎勵。

對於無代幣的系統如HyperLedger Fabric,如何選擇共識機制?這時,我們可以回過頭看看PBFT。BFT(Byzantine Fault Tolerance,拜占庭容錯演算法)是很早就提出的分散式容錯演算法,可以查找拜占庭問題來進一步了解,這裡不做詳述。PBFT作為BFT的一種實現,是一種狀態機副本複製演算法,即服務作為狀態機進行建模,狀態機在分散式系統的不同節點進行副本複製。每個狀態機的副本都保存了服務的狀態,同時也實現了服務的操作。將所有的副本組成的集合使用大寫字母R表示,使用0到|R|-1的整數表示每一個副本。為了描述方便,假設|R|=3f+1,這裡f是有可能失效的副本的最大個數。儘管可以存在多於3f+1個副本,但是額外的副本除了降低性能之外不能提高可靠性。除此之外,還有一種基於投票的聯合共識(Voting),以Ripple為代表。這種共識使網路能夠基於特殊節點列表達成共識。初始特殊節點列表就像一個俱樂部,要接納一個新成員,必須由51%的該俱樂部會員投票通過。共識遵循這核心成員的51%權力,外部人員則沒有影響力。這種共識方式同樣極大的提高了效率,但是卻需要確保特殊節點中惡意節點不能超過51%,犧牲的是整個網路的去中心化。

這是區塊鏈的哈希演算法圖

也是所謂挖礦的玩法,需要猜這個哈希值,第一個猜對的就有機會獲得回報,也就是礦工報酬!

3. P2P網路

P2P為大眾所熟知主要要歸功於BitTorrent及BT的流行,而P2P網路的核心概念即彼此連接的多台計算機之間都處於對等的地位,各台計算機有相同的功能,無主從之分,一台計算機既可作為伺服器,設定共享資源供網路中其他計算機所使用,又可以作為工作站,整個網路一般來說不依賴專用的集中伺服器,也沒有專用的工作站。網路中的每一台計算機既能充當網路服務的請求者,又對其它計算機的請求做出響應,提供資源、服務和內容。

通常這些資源和服務包括:信息的共享和交換、計算資源(如CPU計算能力共享)、存儲共享(如緩存和磁碟空間的使用)、網路共享、印表機共享等。區塊鏈為了實現分散式賬本的能力,同樣也採用了P2P網路。分散式賬本會分發給網路中的所有成員節點,同時可以阻止任何單個或一組參與者控制底層基礎架構或破壞整個系統。網路中的參與者是平等的,都遵守相同的協議。

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

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


請您繼續閱讀更多來自 山楂娛樂黃金甲 的精彩文章:

TAG:山楂娛樂黃金甲 |