這篇文章主要介紹了200行程式碼實現blockchain 區塊鏈的相關知識,非常不錯,具有參考借鑒價值,需要的朋友參考下吧
近來,區塊鏈這個話題被炒得很熱,懂技術的關注鏈,不懂技術的關心幣價。簡言之區塊鏈是由一系列技術實現的全新去中心化經濟組織模式。其實區塊鏈技術,早在2007年便出現,隨著多年的改進,完善,才有我們現在看到的btc,eth,eos,true。簡言之區塊鏈是由一系列技術實現的全新去中心化經濟組織模式。本文旨在從各個不同時期的區塊鏈的共識演算法這一角度來進行一定探究。
一 以btc為代表的POW:Proof of Work,工作證明。
比特幣在Block的生成過程中使用了POW機制,一個符合要求的Block Hash由N個前導零構成,零的數量取決於網路的難度值。要得到合理的Block Hash需要經過大量嘗試計算,計算時間取決於機器的哈希運算速度。當某個節點提供出一個合理的Block Hash值,說明該節點確實經過了大量的嘗試計算,當然,並不能得出計算次數的絕對值,因為尋找合理hash是一個機率事件。當節點擁有佔全網n%的算力時,該節點即有n/100的機率找到Block Hash。
優點:安全,抗分叉,以比特幣為代表的pow共識的幣,已經存在了9年的時間,它的安全性是受到時間檢驗的。
缺點:浪費電,不節能,大量的電能和算力用來爭奪比特幣的記帳權,沒有給現實社會做一點貢獻。根據不完全統計,現在btc挖礦所需的電力以超過180個國家的平均水準。也因為如此,pos出現了
二 :POS:Proof of Stake,股權證明。
POS:也稱股權證明,類似於財產儲存在銀行,這種模式會根據你持有數位貨幣的量和時間,分配給你相應的利息。
運作機制:網路中節點把節點中的數位貨幣放入pos機制中,身分轉變為驗證者,pos機制在這些驗證者中隨機選擇一個做為區塊的產生者,當然這個隨機和投入的數位貨幣數量有關係,投入多的幣自然比少的被選取的機率要大,根據數量比例基本上成正比。當然在一定的時間內,這個被pos選出來的生成者沒有產生區塊,那就再次選擇下一個驗證者。至於有效鏈,這個遵循區塊鏈的最長鏈原則。由於在POS共識機制中,有代幣作為抵押,當系統發現節點有作惡嫌疑可以銷毀抵押的代幣,所以在POS共識機制中,系統的安全不是靠系統之外的硬體算力競爭提供,而是基於抵押的代幣作為誠實節點的保證。
三 PBFT:Practical Byzantine Fault Tolerance,實用拜占庭容錯演算法。見前文拜占庭容錯演算法介紹。
PBFT是一種狀態機副本複製演算法,即服務作為狀態機進行建模,狀態機在分散式系統的不同節點進行副本複製。每個狀態機的副本都保存了服務的狀態,同時也實現了服務的操作。將所有的副本組成的集合使用大寫字母R表示,使用0到|R|-1的整數表示每一個副本。為了描述方便,假設|R|=3f 1,這裡f是有可能失效的副本的最大個數。儘管可以存在多於3f 1個副本,但額外的副本除了降低效能之外不能提高可靠性。
初鍊是全球最早的混合共識公鏈,其特點在於將pbft和pow共識結合在一起。用前者來保障性能,用後者來確保去中心化。簡單說,就是以POW為基礎,然後再此節點上選舉產生PBFT主幹節點。個人感覺將兩種不同的共識演算法想融合,是一個非常創新的想法。先以pow為基礎選出主幹節點,避免過度中心化,類似eos超級節點,並後期再幾個主節點下,進行運作,雖然看起來有悖於去中心化,不過這也是現階段將效率,性能,去中心性都顧及的較好的解決方法。
近來,區塊鏈這個話題被炒得很熱,懂技術的關注鏈,不懂技術的關心幣價。簡言之區塊鏈是由一系列技術實現的全新去中心化經濟組織模式。其實區塊鏈技術,早在2007年便出現,隨著多年的改進,完善,才有我們現在看到的btc,eth,eos,true。簡言之區塊鏈是由一系列技術實現的全新去中心化經濟組織模式。本文旨在從各個不同時期的區塊鏈的共識演算法這一角度來進行一定探究。
一 以btc為代表的POW:Proof of Work,工作證明。
比特幣在Block的生成過程中使用了POW機制,一個符合要求的Block Hash由N個前導零構成,零的數量取決於網路的難度值。要得到合理的Block Hash需要經過大量嘗試計算,計算時間取決於機器的哈希運算速度。當某個節點提供出一個合理的Block Hash值,說明該節點確實經過了大量的嘗試計算,當然,並不能得出計算次數的絕對值,因為尋找合理hash是一個機率事件。當節點擁有佔全網n%的算力時,該節點即有n/100的機率找到Block Hash。
優點:安全,抗分叉,以比特幣為代表的pow共識的幣,已經存在了9年的時間,它的安全性是受到時間檢驗的。
缺點:浪費電,不節能,大量的電能和算力用來爭奪比特幣的記帳權,沒有給現實社會做一點貢獻。根據不完全統計,現在btc挖礦所需的電力以超過180個國家的平均水準。也因為如此,pos出現了
二 :POS:Proof of Stake,股權證明。
POS:也稱股權證明,類似於財產儲存在銀行,這種模式會根據你持有數位貨幣的量和時間,分配給你相應的利息。
運作機制:網路中節點把節點中的數位貨幣放入pos機制中,身分轉變為驗證者,pos機制在這些驗證者中隨機選擇一個做為區塊的產生者,當然這個隨機和投入的數位貨幣數量有關係,投入多的幣自然比少的被選取的機率要大,根據數量比例基本上成正比。當然在一定的時間內,這個被pos選出來的生成者沒有產生區塊,那就再次選擇下一個驗證者。至於有效鏈,這個遵循區塊鏈的最長鏈原則。由於在POS共識機制中,有代幣作為抵押,當系統發現節點有作惡嫌疑可以銷毀抵押的代幣,所以在POS共識機制中,系統的安全不是靠系統之外的硬體算力競爭提供,而是基於抵押的代幣作為誠實節點的保證。
三 PBFT:Practical Byzantine Fault Tolerance,實用拜占庭容錯演算法。見前文拜占庭容錯演算法介紹。
PBFT是一種狀態機副本複製演算法,即服務作為狀態機進行建模,狀態機在分散式系統的不同節點進行副本複製。每個狀態機的副本都保存了服務的狀態,同時也實現了服務的操作。將所有的副本組成的集合使用大寫字母R表示,使用0到|R|-1的整數表示每一個副本。為了描述方便,假設|R|=3f 1,這裡f是有可能失效的副本的最大個數。儘管可以存在多於3f 1個副本,但額外的副本除了降低效能之外不能提高可靠性。
初鍊是全球最早的混合共識公鏈,其特點在於將pbft和pow共識結合在一起。用前者來保障性能,用後者來確保去中心化。簡單說,就是以POW為基礎,然後再此節點上選舉產生PBFT主幹節點。個人感覺將兩種不同的共識演算法想融合,是一個非常創新的想法。先以pow為基礎選出主幹節點,避免過度中心化,類似eos超級節點,並後期再幾個主節點下,進行運作,雖然看起來有悖於去中心化,不過這也是現階段將效率,性能,去中心性都顧及的較好的解決方法。
相關推薦:
以上是從區塊鏈的發展歷程看初鏈的詳細內容。更多資訊請關注PHP中文網其他相關文章!