當前位置:首頁 » 區塊鏈知識 » 區塊鏈中的共識演算法的作用

區塊鏈中的共識演算法的作用

發布時間: 2024-12-19 01:05:37

『壹』 區塊鏈 --- 共識演算法

PoW演算法是一種防止分布式服務資源被濫用、拒絕服務攻擊的機制。它要求節點進行適量消耗時間和資源的復雜運算,並且其運算結果能被其他節點快速驗算,以耗用時間、能源做擔保,以確保服務與資源被真正的需求所使用。

PoW演算法中最基本的技術原理是使用哈希演算法。假設求哈希值Hash(r),若原始數據為r(raw),則運算結果為R(Result)。

R = Hash(r)

哈希函數Hash()的特性是,對於任意輸入值r,得出結果R,並且無法從R反推回r。當輸入的原始數據r變動1比特時,其結果R值完全改變。在比特幣的PoW演算法中,引入演算法難度d和隨機值n,得到以下公式:

Rd = Hash(r+n)

該公式要求在填入隨機值n的情況下,計算結果Rd的前d位元組必須為0。由於哈希函數結果的未知性,每個礦工都要做大量運算之後,才能得出正確結果,而算出結果廣播給全網之後,其他節點只需要進行一次哈希運算即可校驗。PoW演算法就是採用這種方式讓計算消耗資源,而校驗僅需一次。

 

PoS演算法要求節點驗證者必須質押一定的資金才有挖礦打包資格,並且區域鏈系統在選定打包節點時使用隨機的方式,當節點質押的資金越多時,其被選定打包區塊的概率越大。

POS模式下,每個幣每天產生1幣齡,比如你持有100個幣,總共持有了30天,那麼,此時你的幣齡就為3000。這個時候,如果你驗證了一個POS區塊,你的幣齡就會被清空為0,同時從區塊中獲得相對應的數字貨幣利息。

節點通過PoS演算法出塊的過程如下:普通的節點要成為出塊節點,首先要進行資產的質押,當輪到自己出塊時,打包區塊,然後向全網廣播,其他驗證節點將會校驗區塊的合法性。

 

DPoS演算法和PoS演算法相似,也採用股份和權益質押。

但不同的是,DPoS演算法採用委託質押的方式,類似於用全民選舉代表的方式選出N個超級節點記賬出塊。

選民把自己的選票投給某個節點,如果某個節點當選記賬節點,那麼該記賬節點往往在獲取出塊獎勵後,可以採用任意方式來回報自己的選民。

這N個記賬節點將輪流出塊,並且節點之間相互監督,如果其作惡,那麼會被扣除質押金。

通過信任少量的誠信節點,可以去除區塊簽名過程中不必要的步驟,提高了交易的速度。
 

拜占庭問題:

拜占庭是古代東羅馬帝國的首都,為了防禦在每塊封地都駐扎一支由單個將軍帶領的軍隊,將軍之間只能靠信差傳遞消息。在戰爭時,所有將軍必須達成共識,決定是否共同開戰。

但是,在軍隊內可能有叛徒,這些人將影響將軍們達成共識。拜占庭將軍問題是指在已知有將軍是叛徒的情況下,剩餘的將軍如何達成一致決策的問題。

BFT:

BFT即拜占庭容錯,拜占庭容錯技術是一類分布式計算領域的容錯技術。拜占庭假設是對現實世界的模型化,由於硬體錯誤、網路擁塞或中斷以及遭到惡意攻擊等原因,計算機和網路可能出現不可預料的行為。拜占庭容錯技術被設計用來處理這些異常行為,並滿足所要解決的問題的規范要求。

拜占庭容錯系統

發生故障的節點被稱為 拜占庭節點 ,而正常的節點即為 非拜占庭節點

假設分布式系統擁有n台節點,並假設整個系統拜占庭節點不超過m台(n ≥ 3m + 1),拜占庭容錯系統需要滿足如下兩個條件:

另外,拜占庭容錯系統需要達成如下兩個指標:

PBFT即實用拜占庭容錯演算法,解決了原始拜占庭容錯演算法效率不高的問題,演算法的時間復雜度是O(n^2),使得在實際系統應用中可以解決拜占庭容錯問題
 

PBFT是一種狀態機副本復制演算法,所有的副本在一個視圖(view)輪換的過程中操作,主節點通過視圖編號以及節點數集合來確定,即:主節點 p = v mod |R|。v:視圖編號,|R|節點個數,p:主節點編號。

PBFT演算法的共識過程如下:客戶端(Client)發起消息請求(request),並廣播轉發至每一個副本節點(Replica),由其中一個主節點(Leader)發起提案消息pre-prepare,並廣播。其他節點獲取原始消息,在校驗完成後發送prepare消息。每個節點收到2f+1個prepare消息,即認為已經准備完畢,並發送commit消息。當節點收到2f+1個commit消息,客戶端收到f+1個相同的reply消息時,說明客戶端發起的請求已經達成全網共識。

具體流程如下

客戶端c向主節點p發送<REQUEST, o, t, c>請求。o: 請求的具體操作,t: 請求時客戶端追加的時間戳,c:客戶端標識。REQUEST: 包含消息內容m,以及消息摘要d(m)。客戶端對請求進行簽名。

主節點收到客戶端的請求,需要進行以下交驗:

a. 客戶端請求消息簽名是否正確。

非法請求丟棄。正確請求,分配一個編號n,編號n主要用於對客戶端的請求進行排序。然後廣播一條<<PRE-PREPARE, v, n, d>, m>消息給其他副本節點。v:視圖編號,d客戶端消息摘要,m消息內容。<PRE-PREPARE, v, n, d>進行主節點簽名。n是要在某一個范圍區間內的[h, H],具體原因參見 垃圾回收 章節。

副本節點i收到主節點的PRE-PREPARE消息,需要進行以下交驗:

a. 主節點PRE-PREPARE消息簽名是否正確。

b. 當前副本節點是否已經收到了一條在同一v下並且編號也是n,但是簽名不同的PRE-PREPARE信息。

c. d與m的摘要是否一致。

d. n是否在區間[h, H]內。

非法請求丟棄。正確請求,副本節點i向其他節點包括主節點發送一條<PREPARE, v, n, d, i>消息, v, n, d, m與上述PRE-PREPARE消息內容相同,i是當前副本節點編號。<PREPARE, v, n, d, i>進行副本節點i的簽名。記錄PRE-PREPARE和PREPARE消息到log中,用於View Change過程中恢復未完成的請求操作。

主節點和副本節點收到PREPARE消息,需要進行以下交驗:

a. 副本節點PREPARE消息簽名是否正確。

b. 當前副本節點是否已經收到了同一視圖v下的n。

c. n是否在區間[h, H]內。

d. d是否和當前已收到PRE-PPREPARE中的d相同

非法請求丟棄。如果副本節點i收到了2f+1個驗證通過的PREPARE消息,則向其他節點包括主節點發送一條<COMMIT, v, n, d, i>消息,v, n, d, i與上述PREPARE消息內容相同。<COMMIT, v, n, d, i>進行副本節點i的簽名。記錄COMMIT消息到日誌中,用於View Change過程中恢復未完成的請求操作。記錄其他副本節點發送的PREPARE消息到log中。

主節點和副本節點收到COMMIT消息,需要進行以下交驗:

a. 副本節點COMMIT消息簽名是否正確。

b. 當前副本節點是否已經收到了同一視圖v下的n。

c. d與m的摘要是否一致。

d. n是否在區間[h, H]內。

非法請求丟棄。如果副本節點i收到了2f+1個驗證通過的COMMIT消息,說明當前網路中的大部分節點已經達成共識,運行客戶端的請求操作o,並返回<REPLY, v, t, c, i, r>給客戶端,r:是請求操作結果,客戶端如果收到f+1個相同的REPLY消息,說明客戶端發起的請求已經達成全網共識,否則客戶端需要判斷是否重新發送請求給主節點。記錄其他副本節點發送的COMMIT消息到log中。
 

如果主節點作惡,它可能會給不同的請求編上相同的序號,或者不去分配序號,或者讓相鄰的序號不連續。備份節點應當有職責來主動檢查這些序號的合法性。

如果主節點掉線或者作惡不廣播客戶端的請求,客戶端設置超時機制,超時的話,向所有副本節點廣播請求消息。副本節點檢測出主節點作惡或者下線,發起View Change協議。

View Change協議

副本節點向其他節點廣播<VIEW-CHANGE, v+1, n, C , P , i>消息。n是最新的stable checkpoint的編號, C 2f+1驗證過的CheckPoint消息集合, P 是當前副本節點未完成的請求的PRE-PREPARE和PREPARE消息集合。

當主節點p = v + 1 mod |R|收到 2f 個有效的VIEW-CHANGE消息後,向其他節點廣播<NEW-VIEW, v+1, V , O >消息。 V 是有效的VIEW-CHANGE消息集合。 O 是主節點重新發起的未經完成的PRE-PREPARE消息集合。PRE-PREPARE消息集合的選取規則:

副本節點收到主節點的NEW-VIEW消息,驗證有效性,有效的話,進入v+1狀態,並且開始 O 中的PRE-PREPARE消息處理流程。
 

在上述演算法流程中,為了確保在View Change的過程中,能夠恢復先前的請求,每一個副本節點都記錄一些消息到本地的log中,當執行請求後副本節點需要把之前該請求的記錄消息清除掉。

最簡單的做法是在Reply消息後,再執行一次當前狀態的共識同步,這樣做的成本比較高,因此可以在執行完多條請求K(例如:100條)後執行一次狀態同步。這個狀態同步消息就是CheckPoint消息。

副本節點i發送<CheckPoint, n, d, i>給其他節點,n是當前節點所保留的最後一個視圖請求編號,d是對當前狀態的一個摘要,該CheckPoint消息記錄到log中。如果副本節點i收到了2f+1個驗證過的CheckPoint消息,則清除先前日誌中的消息,並以n作為當前一個stable checkpoint。

這是理想情況,實際上當副本節點i向其他節點發出CheckPoint消息後,其他節點還沒有完成K條請求,所以不會立即對i的請求作出響應,它還會按照自己的節奏,向前行進,但此時發出的CheckPoint並未形成stable。

為了防止i的處理請求過快,設置一個上文提到的 高低水位區間[h, H] 來解決這個問題。低水位h等於上一個stable checkpoint的編號,高水位H = h + L,其中L是我們指定的數值,等於checkpoint周期處理請求數K的整數倍,可以設置為L = 2K。當副本節點i處理請求超過高水位H時,此時就會停止腳步,等待stable checkpoint發生變化,再繼續前進。
 

在區塊鏈場景中,一般適合於對強一致性有要求的私有鏈和聯盟鏈場景。例如,在IBM主導的區塊鏈超級賬本項目中,PBFT是一個可選的共識協議。在Hyperledger的Fabric項目中,共識模塊被設計成可插拔的模塊,支持像PBFT、Raft等共識演算法。
 

 

Raft基於領導者驅動的共識模型,其中將選舉一位傑出的領導者(Leader),而該Leader將完全負責管理集群,Leader負責管理Raft集群的所有節點之間的復制日誌。
 

下圖中,將在啟動過程中選擇集群的Leader(S1),並為來自客戶端的所有命令/請求提供服務。 Raft集群中的所有節點都維護一個分布式日誌(復制日誌)以存儲和提交由客戶端發出的命令(日誌條目)。 Leader接受來自客戶端的日誌條目,並在Raft集群中的所有關注者(S2,S3,S4,S5)之間復制它們。

在Raft集群中,需要滿足最少數量的節點才能提供預期的級別共識保證, 這也稱為法定人數。 在Raft集群中執行操作所需的最少投票數為 (N / 2 +1) ,其中N是組中成員總數,即 投票至少超過一半 ,這也就是為什麼集群節點通常為奇數的原因。 因此,在上面的示例中,我們至少需要3個節點才能具有共識保證。

如果法定仲裁節點由於任何原因不可用,也就是投票沒有超過半數,則此次協商沒有達成一致,並且無法提交新日誌。

 

數據存儲:Tidb/TiKV

日誌:阿里巴巴的 DLedger

服務發現:Consul& etcd

集群調度:HashiCorp Nomad
 

只能容納故障節點(CFT),不容納作惡節點

順序投票,只能串列apply,因此高並發場景下性能差
 

Raft通過解決圍繞Leader選舉的三個主要子問題,管理分布式日誌和演算法的安全性功能來解決分布式共識問題。

當我們啟動一個新的Raft集群或某個領導者不可用時,將通過集群中所有成員節點之間協商來選舉一個新的領導者。 因此,在給定的實例中,Raft集群的節點可以處於以下任何狀態: 追隨者(Follower),候選人(Candidate)或領導者(Leader)。

系統剛開始啟動的時候,所有節點都是follower,在一段時間內如果它們沒有收到Leader的心跳信號,follower就會轉化為Candidate;

如果某個Candidate節點收到大多數節點的票,則這個Candidate就可以轉化為Leader,其餘的Candidate節點都會回到Follower狀態;

一旦一個Leader發現系統中存在一個Leader節點比自己擁有更高的任期(Term),它就會轉換為Follower。

Raft使用基於心跳的RPC機制來檢測何時開始新的選舉。 在正常期間, Leader 會定期向所有可用的 Follower 發送心跳消息(實際中可能把日誌和心跳一起發過去)。 因此,其他節點以 Follower 狀態啟動,只要它從當前 Leader 那裡收到周期性的心跳,就一直保持在 Follower 狀態。

Follower 達到其超時時間時,它將通過以下方式啟動選舉程序:

根據 Candidate 從集群中其他節點收到的響應,可以得出選舉的三個結果。

共識演算法的實現一般是基於復制狀態機(Replicated state machines),何為 復制狀態機

簡單來說: 相同的初識狀態 + 相同的輸入 = 相同的結束狀態 。不同節點要以相同且確定性的函數來處理輸入,而不要引入一下不確定的值,比如本地時間等。使用replicated log是一個很不錯的注意,log具有持久化、保序的特點,是大多數分布式系統的基石。

有了Leader之後,客戶端所有並發的請求可以在Leader這邊形成一個有序的日誌(狀態)序列,以此來表示這些請求的先後處理順序。Leader然後將自己的日誌序列發送Follower,保持整個系統的全局一致性。注意並不是強一致性,而是 最終一致性

日誌由有序編號(log index)的日誌條目組成。每個日誌條目包含它被創建時的任期號(term),和日誌中包含的數據組成,日誌包含的數據可以為任何類型,從簡單類型到區塊鏈的區塊。每個日誌條目可以用[ term, index, data]序列對表示,其中term表示任期, index表示索引號,data表示日誌數據。

Leader 嘗試在集群中的大多數節點上執行復制命令。 如果復製成功,則將命令提交給集群,並將響應發送回客戶端。類似兩階段提交(2PC),不過與2PC的區別在於,leader只需要超過一半節點同意(處於工作狀態)即可。

leader follower 都可能crash,那麼 follower 維護的日誌與 leader 相比可能出現以下情況

當出現了leader與follower不一致的情況,leader強制follower復制自己的log, Leader會從後往前試 ,每次AppendEntries失敗後嘗試前一個日誌條目(遞減nextIndex值), 直到成功找到每個Follower的日誌一致位置點(基於上述的兩條保證),然後向後逐條覆蓋Followers在該位置之後的條目 。所以丟失的或者多出來的條目可能會持續多個任期。
 

要求候選人的日誌至少與其他節點一樣最新。如果不是,則跟隨者節點將不投票給候選者。

意味著每個提交的條目都必須存在於這些伺服器中的至少一個中。如果候選人的日誌至少與該多數日誌中的其他日誌一樣最新,則它將保存所有已提交的條目,避免了日誌回滾事件的發生。

即任一任期內最多一個leader被選出。這一點非常重要,在一個復制集中任何時刻只能有一個leader。系統中同時有多餘一個leader,被稱之為腦裂(brain split),這是非常嚴重的問題,會導致數據的覆蓋丟失。在raft中,兩點保證了這個屬性:

因此, 某一任期內一定只有一個leader
 

當集群中節點的狀態發生變化(集群配置發生變化)時,系統容易受到系統故障。 因此,為防止這種情況,Raft使用了一種稱為兩階段的方法來更改集群成員身份。 因此,在這種方法中,集群在實現新的成員身份配置之前首先更改為中間狀態(稱為聯合共識)。 聯合共識使系統即使在配置之間進行轉換時也可用於響應客戶端請求,它的主要目的是提升分布式系統的可用性。

『貳』 區塊鏈網路共識是什麼,區塊鏈網路共識是什麼意思

區塊鏈技術中的共識機制是什麼?

1.共識機制是什麼

在一個去中心化的結構體系中,由於各個參與方的地位是平等的,當出現分歧的時候,如何達成共識就成了問題。

所以,一個設計精妙、實際操作起來簡單的共識機制是一個分布式的體系能夠順利自運轉下去的關鍵所在。

簡而言之,共識機制就是在一個時間段內對事物的前後順序達成共識的一種演算法,是區塊鏈節點就區塊信息達成全網一致共識的機制。

什麼是區塊鏈共識

在比特幣和其它區塊鏈幣中,也存在如何達成共識的問題。或者說,比特幣或其它區塊鏈幣最核心的問題也是如何在去中心化的環境中達成共識。

區塊鏈是比特幣背後的核心技術,也是支撐比特幣的基礎架構。因此在談區塊鏈共識,就必然要談比特幣的共識。

比特幣最核心的突破是在去中心化的情況下對交易事件達成了共識,即在沒有中心組織的情況下對某個交易的有效性達成了一致。

比特幣實現這個共識的方法主要包括兩個部分:

激勵;即通過每個區塊產生一定量的新比特幣來激勵參與者;

引入外部資源確保安全;即通過大量的外部計算來確保共識的安全性,也就是工作量證明(ProofofPower);

這也是幾乎所有PoW幣種所採用的的方法。例如,DECENT、萊特幣、沙錢幣、狗狗幣等等。

區塊鏈的最大共識是什麼?

區塊鏈的最大共識是賺錢。

人是貪婪的,對於財富的覬覦,幾乎是每個人的基因,掌握的財富越多,就會胃口越大。在貪欲的唆使下,幾乎每個物件都可能會成為斂財的工具,這是人類的宿命,而當下如火如荼的區塊鏈,正在成為貪欲的新代言人。

人們的生活畢竟太單調了,除了賺錢和花錢,幾乎找不到一個安心的信仰,來承載幾十年人生的意義。區塊鏈會成為人類真正信仰的導航嗎?不會,至少從當下的芸芸眾生里,無法感受到,據包括諸多的精英份子。

賺錢成為了區塊鏈的最大共識,這符合區塊鏈的三個屬性:多方協作、價值不對稱和容易數據化。因為,很少人是賺增量的錢,大都是通過多方協作,在一個生態里把存量的錢進行再度流轉,在當下技術未能帶來利潤的情況下,區塊鏈的每個暴富點,無一不是圍繞存量財富的二度收割,尤其是區塊鏈價值認知的不對稱,成了財富收割的利器,更巧妙的是,每個行為、權益、物品等統統變成了顆粒極小的財富度量,以數據的形式呈現在財富簿上。

天下熙熙,皆為利來;天下攘攘,皆為利往。現實一再告訴我們,商業逆襲是一場財富爭奪戰,都在試圖用泡沫和啤酒輪番洗劫用戶的口袋,只是洗劫的姿勢,有的稍顯銷魂,有的太過赤裸。

比照區塊鏈世界模型,目前整個區塊鏈圈層尚處於兩個極端狀態:不明技術真相的,拿著共識鼓吹革命,以謀認知紅利;深諳技術真相的,力爭上游,期待在四萬個項目中拔得頭籌,成為區塊鏈時代的BAT,這個刺激的成就感,正吸引著無數的人加入一戰成名的行列。但尤為可惜的是,遍覽各項目,尤其是在經濟制度上的拙劣表現,就基本可以判斷,真正能稱霸區塊鏈這個圈子的人,尚未出現。

財富的暴漲,固然令人欣喜,但誰人又能像一代帝王那樣運籌帷幄、兼濟天下呢?這需要有經歷淬煉後的肚量和智慧,才能僥幸采擷。當自己張口閉口共識的時候,可曾忖度過自己在日常生活里,是否就有了讓人稱羨的人格?

區塊鏈圍城內的人,兩成人賺了八成人的錢,這里並非歡騰一片,而是充滿了狡黠,只是被吞噬者篤定會有進場者買單,才願意相信傷疤會變成取勝的軍功章。而圍城外的人,也不再慌張,因為這堵城牆其實是一道孱弱的馬奇諾防線,對於精明的高手而言,他可以利用現實世界的便利,繞牆進入圍城的頂層,而弱者則因為認知和籌碼的不足,繼續淪落為食物鏈的末端。

區塊鏈的數據存儲是分布式的,但財富的分布,則永遠是集中式的,這條規律從未改變。財富的共產主義沒錯,但財富的共享主義則是天方夜譚,而「共產+私享」則是無數人的內心映射。另外,財富作為一個聖物,是正義和邪惡的合體,是一把絕大多數人無法玩轉的倚天劍,所以,有的人用金錢毀滅世界,有的人用金錢拯救世界。會賺錢的人太多,而會分錢的人則太少了。

在我的認知里,分錢藝術比區塊鏈技術難多了。技術是一個階段性難題,而分錢則是伴隨了人類歷史的長期話題,這也是經濟學存在的意義。

區塊鏈不是一個能人志士就能搞定的,一如三國時期的群雄並起,人才的流動要比領土的更迭頻繁太多,發幣撒幣的動作,固然催生了賺錢的共識,但在商業疆土上的拓展,必須有一群大德大才之士挺身而出,擔負起技術落地前的信任肉身。這些人必須雄才大略、腹藏良謀、兼濟蒼生、膽識過人,與其說這是一場新技術革命,不如說這是一場秀盡智商和情商的人才拉力賽。真正能擔當時代大任的,鳳毛麟角,哪怕是摧城拔寨、笑傲一方江湖的將軍,都少得可憐。大家更多是在巧立技術名目,藉此斂財。

社區正在成為區塊鏈共識的載體,但當下區塊鏈社區看似浩浩盪盪、威風八面,但真正通曉古今、懂得經濟本質和規律者,寥寥無幾,這樣的社區構成尚且經不起政策和價格的一絲風吹草動,哪怕一點異見,都會讓社區分崩離析。用金錢澆築的房舍,是最脆弱的建築,因為金錢的最本質屬性是流動性,自古「財聚人散」,區塊鏈世界裡的金錢集中流向,必然會讓看似的熱鬧最終變得不歡而散,哪怕是穿著花樣共識的護心服,也難掩一顆銹跡斑斑的賺錢之心。

當下的區塊鏈項目,99%不會死於技術難以落地,而會卒於共識歪曲、人心向背。

區塊鏈共識的進階,會有一個過程,在當下這個洪荒期,基於認知和圈層的賺錢,尚屬於共識1.0階段,幸運的是它的體量尚不足以影響整體世界經濟結構的大局,監管和政策介入的成本偏低,區塊鏈這個大社區里,需要更多方角色的介入,尤其是具有服務職能的政府,更加不能缺位,而社區內的人也不應該表現的像驚弓之鳥,獨立於世外。

一個個熱鬧的區塊鏈社區,還算不上一片片森林,頂多是幾棵樹上的鳥窩,為了搶食而嘰嘰喳喳,哪怕來個三級風,大家也會作鳥獸散。真要夢想著打造一片森林,那就勇敢的下樹,開鑿溝渠,引水入流。

區塊鏈的共識機制

所謂「共識機制」,是通過特殊節點的投票,在很短的時間內完成對交易的驗證和確認;對一筆交易,如果利益不相乾的若干個節點能夠達成共識,我們就可以認為全網對此也能夠達成共識。北京木奇移動技術有限公司,專業的區塊鏈外包開發公司,歡迎洽談合作。下面我們將一下區塊鏈的幾種共識機制,希望對大家了解區塊鏈基礎技術有幫助。

因為區塊鏈技術的發展,大家對共識機制這個詞也不再陌生,隨著技術發展,各種創新的共識機制也在發展。

POW工作量證明

比特幣就是使用PoW工作量證明機制,到後來的以太坊都是PoW的共識機制。Pow相當於算出很難的數學難題,就是計算出新區塊的hash值,而且計算的難度會每一段時間就會調整。PoW雖然是大家比較認可的共識機制,計算會消耗大量的能源,還有可能會污染環境。

POS權益證明

通過持有Token的數量和時長來決定獲得記賬權的機率。相比POW,POS避免了挖礦造成大量的資源浪費,縮短了各個節點之間達成共識的時間,網路環境好的話可實現毫秒級,對節點性能要求低。

但POS的缺點同樣明顯,持有Token多的節點更有機會獲得記賬權,這將導致「馬太效應」,富者越富,破壞了區塊鏈的去中心化。

DPOS權益證明

DPOS委託權益證明與POS原理相同,其主要區別在於,DPOS的Token持有者可以投票選舉代理人作為超級節點,負責在網路上生產區塊並維護共識規則。如果這些節點未能履行職責,將投票選出新的節點。同樣的弊端也是傾向於中心化。

POA權威證明

POA節點之間無需進行通信即可達成共識,因此效率極高。並且它也能很好地對抗算力攻擊,安全性較高。但是POA需要一個集中的權威節點來驗證身份,這就意味著它會損害區塊鏈的去中心化,這也是在去中心化和提高效率之間的妥協。

區塊鏈的共識機制是什麼?

所謂共識,簡單理解就是指大家都達成一致的意思。

在區塊鏈中,其實就是一個規則,每個節點都按照這個規則去確認各自的數據,最後維護整個網路的資料庫保持一致。

如果以生活中的例子來舉例的話,比如今天公司開個會議,但是由於老總不在,需要大家討論決定一個項目做與否。

在這么一個群龍無首的環境中?

如何達成這個一致意見,最後形成一個決策來交給老總呢?這個過程就是需要共識機制發揮作用了。

這時也許就有人提議,大家都發個言,表個態,最後大家進行投票,並且提議人就會把討論發言過程記錄,並且最後把舉手投票結果登記後,將結果交給老總。

最後根據「如果投贊成票的人數多於反對票的,則項目就開干;否則就不幹了」的規則,形成了決定結果。那麼這個投票的規則就是共識機制。

在區塊鏈世界裡面,由於區塊鏈運行的是一個分布式賬本,或者是說分布式資料庫,當一個新區塊產生時,如何核對區塊上面的每一筆賬的准確性,讓每台電腦上登記的賬本都長期保持一致呢?

這就需要一個共識機制的存在了。因此共識機制,就是一套使區塊鏈系統長期保持各個節點的賬目(或者說數據)一致的機制,

區塊鏈里,共識是區塊鏈技術里的信任解決方案。

共識,是大家認可的,認可即生效,反對即出局。

就如你經常違反社區機制,做一些損人利己的事。

那麼你就會變成惡意節點寸步難行,個人信譽度降低。甚至被社區拉入黑名單,或者驅除出境。

『叄』 金窩窩區塊鏈技術中 共識演算法的作用是什麼

金窩窩分析區塊鏈技術中的共識機制如下:
區塊鏈是一種去中心化的分布式賬本系統,由於點對點網路下存在較高的網路延遲,各個節點所觀察到的交易事務先後順序不可能完全一致。
因此區塊鏈系統需要設計一種機制對在一定的時間內發生的事務的先後順序進行共識。這種對一個時間窗口內的事務的先後順序達成共識的演算法被稱為「共識機制」。

熱點內容
iosbtc錢包開發 發布:2025-02-07 21:35:21 瀏覽:293
1050和1060挖礦區別 發布:2025-02-07 21:34:40 瀏覽:933
ps5元宇宙游戲 發布:2025-02-07 21:33:04 瀏覽:335
申請挖礦賬戶 發布:2025-02-07 21:31:28 瀏覽:585
比特幣現在挖出多少 發布:2025-02-07 21:31:24 瀏覽:819
比特幣區域鏈能賺錢嗎 發布:2025-02-07 21:22:24 瀏覽:218
離線節點挖礦 發布:2025-02-07 21:02:53 瀏覽:41
迷你世界半仙挖礦記 發布:2025-02-07 20:43:06 瀏覽:506
怪物獵人挖礦出裝備 發布:2025-02-07 20:18:20 瀏覽:422
私有區塊鏈Concensus 發布:2025-02-07 20:11:55 瀏覽:714