⑴ 區塊鏈中哈希演算法的特點是什麼
哈希演算法可以作為一個很小的計算機程序來看待,無論輸入數據的大小及類型如何,它都能將輸入數據轉換成固定長度的輸出。哈希演算法在任何時候都只能接受單條數據的輸入,並依靠輸入數據創建哈希值。
根據最終產生的哈希值的長度不同,有不同的哈希演算法。
在區塊鏈中使用的為加密哈希演算法,其特點有:
1、能夠為任何類型的數據快速創建哈希值
2、確定性
3、偽隨機
4、單向函數
5、防碰撞
⑵ 區塊鏈中的哈希值是什麼
區塊鏈通過哈希演算法對一個交易區塊中的交易信息進行加密,並把信息壓縮成由一串數字和字母組成的散列字元串。金窩窩集團分析其哈希演算法的作用如下:區塊鏈的哈希值能夠唯一而精準地標識一個區塊,區塊鏈中任意節點通過簡單的哈希計算都接獲得這個區塊的哈希值,計算出的哈希值沒有變化也就意味著區塊鏈中的信息沒有被篡改。
⑶ 區塊鏈中的哈希值是什麼
區塊鏈中的哈希值是將任意長度的輸入字元串轉換為密碼並進行固定輸出的過程。哈希值不是一個「密碼」,不能通過解密哈希來檢索原始數據,它是一個單向的加密函數。
在區塊鏈中,每個塊都有前一個塊的哈希值。當更改當前塊中的任何數據時,塊的哈希值將被更改,這將影響前一個塊,因為它有前一個塊的地址。例如如果只有兩個塊,一個是當前塊,一個是父塊。當前塊將擁有父塊的地址,如果需要更改當前塊中的數據,還需要更改父塊。
一個加密哈希函數需要具備以下幾個關鍵的特性才能被認為是有用的
1、每個哈希值都是不同的。
2、 對於相同的消息,總是生成相同的哈希值。
3、不可能根據哈希值來決定輸入。
4、即使對輸入的整個哈希值做一個小的更改也會被更改。
⑷ 區塊鏈技術中的哈希演算法是什麼
1.1. 簡介
計算機行業從業者對哈希這個詞應該非常熟悉,哈希能夠實現數據從一個維度向另一個維度的映射,通常使用哈希函數實現這種映射。通常業界使用y = hash(x)的方式進行表示,該哈希函數實現對x進行運算計算出一個哈希值y。
區塊鏈中哈希函數特性:
函數參數為string類型;
固定大小輸出;
計算高效;
collision-free 即沖突概率小:x != y => hash(x) != hash(y)
隱藏原始信息:例如區塊鏈中各個節點之間對交易的驗證只需要驗證交易的信息熵,而不需要對原始信息進行比對,節點間不需要傳輸交易的原始數據只傳輸交易的哈希即可,常見演算法有SHA系列和MD5等演算法
1.2. 哈希的用法
哈希在區塊鏈中用處廣泛,其一我們稱之為哈希指針(Hash Pointer)
哈希指針是指該變數的值是通過實際數據計算出來的且指向實際的數據所在位置,即其既可以表示實際數據內容又可以表示實際數據的存儲位置。下圖為Hash Pointer的示意圖
⑸ 區塊鏈中的哈希值是什麼
哈希值是將任意長度的輸入字元串轉換為密碼並進行固定輸出的過程。哈希值不是一個「密碼」,我們不能通過解密哈希來檢索原始數據,它是一個單向的加密函數。
區塊鏈:
區塊鏈是一個信息技術領域的術語。從本質上講,它是一個共享資料庫,存儲於其中的數據或信息,具有「不可偽造」「全程留痕」「可以追溯」「公開透明」「集體維護」等特徵。基於這些特徵,區塊鏈技術奠定了堅實的「信任」基礎,創造了可靠的「合作」機制,具有廣闊的運用前景。2019年1月10日,國家互聯網信息辦公室發布《區塊鏈信息服務管理規定》 。
⑹ 區塊鏈哈希演算法是什麼
哈希演算法也被稱為「散列」,是區塊鏈的四大核心技術之一。是能計算出一個數字消息所對應的、長度固定的字元串(又稱消息摘要)的演算法。由於一段數據只有一個哈希值,所以哈希演算法可以用於檢驗數據的完整性。在快速查找和加密演算法的應用方面,哈希演算法的使用非常普遍。
在互聯網時代,盡管人與人之間的距離更近了,但是信任問題卻更嚴重了。 現存的第三方中介組織的技術架構都是私密而且中心化的,這種模式永遠都無法從根本上解決互信以及價值轉移的問題。因此,區塊鏈技術將會利用去中心化的資料庫架構完成數據交互信任背書,實現全球互信的一大跨步。在這一過 程中,哈希演算法發揮了重要作用。
散列演算法是區塊鏈中保證交易信息不被篡改的單向密碼機制。區塊鏈通過散列演算法對一個交易區塊中的交易進行加密,並把信息壓縮成由一串數字和字母組成的散列字元串。區塊鏈的散列值能夠唯一而准確地標識一個區塊。在驗證區塊的真實性時,只需要簡單計算出這個區塊的散列值,如果沒有變化就 意味著這個區塊上的信息是沒有被篡改過的。
鏈喬教育在線旗下學碩創新區塊鏈技術工作站是中國教育部學校規劃建設發展中心開展的「智慧學習工場2020-學碩創新工作站 」唯一獲準的「區塊鏈技術專業」試點工作站。專業站立足為學生提供多樣化成長路徑,推進專業學位研究生產學研結合培養模式改革,構建應用型、復合型人才培養體系。
⑺ 什麼是區塊鏈土豆鏈Potato chain又是什麼
關於這個問題,其實建議你去游說社區看一下(網頁鏈接),那裡有大佬大V為你解答。這里我為你分享一篇阮一峰老師的文章,應該能對你的問題作出解答。
一、區塊鏈的本質
區塊鏈是什麼?一句話,它是一種特殊的分布式資料庫。
現在的規則是,新節點總是採用最長的那條區塊鏈。如果區塊鏈有分叉,將看哪個分支在分叉點後面,先達到6個新區塊(稱為"六次確認")。按照10分鍾一個區塊計算,一小時就可以確認。
由於新區塊的生成速度由計算能力決定,所以這條規則就是說,擁有大多數計算能力的那條分支,就是正宗的區塊鏈。
九、總結
區塊鏈作為無人管理的分布式資料庫,從2009年開始已經運行了8年,沒有出現大的問題。這證明它是可行的。
但是,為了保證數據的可靠性,區塊鏈也有自己的代價。一是效率,數據寫入區塊鏈,最少要等待十分鍾,所有節點都同步數據,則需要更多的時間;二是能耗,區塊的生成需要礦工進行無數無意義的計算,這是非常耗費能源的。
因此,區塊鏈的適用場景,其實非常有限。
不存在所有成員都信任的管理當局
寫入的數據不要求實時使用
挖礦的收益能夠彌補本身的成本
如果無法滿足上述的條件,那麼傳統的資料庫是更好的解決方案。
目前,區塊鏈最大的應用場景(可能也是唯一的應用場景),就是以比特幣為代表的加密貨幣。
⑻ 區塊鏈密碼演算法是怎樣的
區塊鏈作為新興技術受到越來越廣泛的關注,是一種傳統技術在互聯網時代下的新的應用,這其中包括分布式數據存儲技術、共識機制和密碼學等。隨著各種區塊鏈研究聯盟的創建,相關研究得到了越來越多的資金和人員支持。區塊鏈使用的Hash演算法、零知識證明、環簽名等密碼演算法:
Hash演算法
哈希演算法作為區塊鏈基礎技術,Hash函數的本質是將任意長度(有限)的一組數據映射到一組已定義長度的數據流中。若此函數同時滿足:
(1)對任意輸入的一組數據Hash值的計算都特別簡單;
(2)想要找到2個不同的擁有相同Hash值的數據是計算困難的。
滿足上述兩條性質的Hash函數也被稱為加密Hash函數,不引起矛盾的情況下,Hash函數通常指的是加密Hash函數。對於Hash函數,找到使得被稱為一次碰撞。當前流行的Hash函數有MD5,SHA1,SHA2,SHA3。
比特幣使用的是SHA256,大多區塊鏈系統使用的都是SHA256演算法。所以這里先介紹一下SHA256。
1、 SHA256演算法步驟
STEP1:附加填充比特。對報文進行填充使報文長度與448模512同餘(長度=448mod512),填充的比特數范圍是1到512,填充比特串的最高位為1,其餘位為0。
STEP2:附加長度值。將用64-bit表示的初始報文(填充前)的位長度附加在步驟1的結果後(低位位元組優先)。
STEP3:初始化緩存。使用一個256-bit的緩存來存放該散列函數的中間及最終結果。
STEP4:處理512-bit(16個字)報文分組序列。該演算法使用了六種基本邏輯函數,由64 步迭代運算組成。每步都以256-bit緩存值為輸入,然後更新緩存內容。每步使用一個32-bit 常數值Kt和一個32-bit Wt。其中Wt是分組之後的報文,t=1,2,...,16 。
STEP5:所有的512-bit分組處理完畢後,對於SHA256演算法最後一個分組產生的輸出便是256-bit的報文。
2、環簽名
2001年,Rivest, shamir和Tauman三位密碼學家首次提出了環簽名。是一種簡化的群簽名,只有環成員沒有管理者,不需要環成員間的合作。環簽名方案中簽名者首先選定一個臨時的簽名者集合,集合中包括簽名者。然後簽名者利用自己的私鑰和簽名集合中其他人的公鑰就可以獨立的產生簽名,而無需他人的幫助。簽名者集合中的成員可能並不知道自己被包含在其中。
環簽名方案由以下幾部分構成:
(1)密鑰生成。為環中每個成員產生一個密鑰對(公鑰PKi,私鑰SKi)。
(2)簽名。簽名者用自己的私鑰和任意n個環成員(包括自己)的公鑰為消息m生成簽名a。
(3)簽名驗證。驗證者根據環簽名和消息m,驗證簽名是否為環中成員所簽,如果有效就接收,否則丟棄。
環簽名滿足的性質:
(1)無條件匿名性:攻擊者無法確定簽名是由環中哪個成員生成,即使在獲得環成員私鑰的情況下,概率也不超過1/n。
(2)正確性:簽名必需能被所有其他人驗證。
(3)不可偽造性:環中其他成員不能偽造真實簽名者簽名,外部攻擊者即使在獲得某個有效環簽名的基礎上,也不能為消息m偽造一個簽名。
3、環簽名和群簽名的比較
(1)匿名性。都是一種個體代表群體簽名的體制,驗證者能驗證簽名為群體中某個成員所簽,但並不能知道為哪個成員,以達到簽名者匿名的作用。
(2)可追蹤性。群簽名中,群管理員的存在保證了簽名的可追蹤性。群管理員可以撤銷簽名,揭露真正的簽名者。環簽名本身無法揭示簽名者,除非簽名者本身想暴露或者在簽名中添加額外的信息。提出了一個可驗證的環簽名方案,方案中真實簽名者希望驗證者知道自己的身份,此時真實簽名者可以通過透露自己掌握的秘密信息來證實自己的身份。
(3)管理系統。群簽名由群管理員管理,環簽名不需要管理,簽名者只有選擇一個可能的簽名者集合,獲得其公鑰,然後公布這個集合即可,所有成員平等。
鏈喬教育在線旗下學碩創新區塊鏈技術工作站是中國教育部學校規劃建設發展中心開展的「智慧學習工場2020-學碩創新工作站 」唯一獲準的「區塊鏈技術專業」試點工作站。專業站立足為學生提供多樣化成長路徑,推進專業學位研究生產學研結合培養模式改革,構建應用型、復合型人才培養體系。
⑼ 三. 區塊鏈系統的核心之一-分布式共識機制
拜占庭將軍問題(Byzantine Generals Problem),是由萊斯利·蘭波特在其同名論文中提出的分布式對等網路通信容錯問題。
在分布式計算中,不同的計算機通過通訊交換信息達成共識而按照同一套協作策略行動。但有時候,系統中的成員計算機可能出錯而發送錯誤的信息,用於傳遞信息的通訊網路也可能導致信息損壞,使得網路中不同的成員關於全體協作的策略得出不同結論,從而破壞系統一致性。這個難題被稱為「拜占庭容錯」,或者「兩軍問題」。
拜占庭假設是對現實世界的模型化。拜占庭將軍問題被認為是容錯性問題中最難的問題類型之一。拜占庭容錯協議要求能夠解決由於硬體錯誤、網路擁塞或斷開以及遭到惡意攻擊,其他計算機和網路可能出現不可預料的行為而帶來的各種問題。並且拜占庭容錯協議還要滿足所要解決的問題要求的規范。
在拜占庭時代有一個牆高壁厚的城邦——拜占庭,高牆之內存放在世人無法想像多的財富。拜占庭被其他10個城邦所環繞,這10個城邦也很富饒,但和拜占庭相比就有天壤之別了。
拜占庭的十個鄰居都覬覦它的財富,並希望侵略並佔領它。但是,拜占庭的防禦非常強大,任何單個城邦的入侵行動都會失敗,而入侵者的軍隊也會被殲滅,使得該城邦自身遭到其他互相覬覦對方的九個城邦的入侵和劫掠。
拜占庭的防禦很強,十個城邦中要有一半以上同時進攻才能攻破它。也就是說,如果有六個或者以上的相鄰城邦一起進攻,他們就會成功並獲得拜占庭的財富。然而,如果其中有一個或者更多城邦背叛了其他城邦,答應一起入侵但在其他城邦進攻的時候又不幹了,也就導致只有五支或者更少的城邦的軍隊在同時進攻,那麼所有的進攻城邦的軍隊都會被殲滅,並隨後被其他的(包括背叛他們的那(幾)個)城邦所入侵和劫掠。
這是一個由許多不互相信任的城邦構成的一個網路。城邦們必須一起努力以完成共同的使命。而且,各個城邦之間通訊和協調的唯一途徑是通過信使騎馬在城邦之間傳遞信息。城邦的決策者們無法聚集在一個地方開個會(所有的城邦的決策者都不互相信任自己的安全會在自己的城堡或者軍隊范圍之外能夠得到保障)。
城邦的決策者可以在任意時間以任意頻率派出任意數量的信使到任意的對方。每條信息都包含如下的內容:「我城邦將在某一天的某個時間發動進攻,你城邦願意加入嗎?」。如果收信城邦同意了,該城邦就會在原信上附上一份簽名了的或蓋了圖章的(以就是驗證了的)回應然送回發信城邦。然後,再把新合並了的信息的拷貝一一發送給其他八個城邦,要求他們也如此這樣做。最後的目標是,通過在原始信息鏈上蓋上他們所有十個城邦的決策者的圖章,讓他們在時間上達成共識。最後的結果是,會有一個蓋有十個同意同一時間發動進攻的圖章信息包,和一些被拋棄了的包含部分但不是全部圖章的信息包。
在這個過程中首先出現了第一個問題,就是如果每個城邦向其他九個城邦派出一名信使,那麼就是十個城邦每個派出了九名信使,也就是在任何一個時間又總計90次的傳輸,並且每個城市分別收到九個信息,可能每一封都寫著不同的進攻時間。
在這個過程中還有第二個問題,就是部分城邦會答應超過一個的攻擊時間,故意背叛進攻發起人,所以他們將重新廣播超過一條(甚至許許多多條)的信息包,由此產生許多甚至無數的足以淹沒一切的雜音。
有了以上兩個問題,整個網路系統可能迅速變質,並演變成不可信的信息和攻擊時間相互矛盾的糾結體。
拜占庭假設是對現實網路世界的一種模型化。在現實網路世界中由於硬體錯誤、網路擁塞或斷開以及遭到惡意攻擊,網路可能出現許許多多不可預料的行為。拜占庭容錯協議必須處理這些失效,並且還要使這些協議滿足所要解決的問題所要求的規范。
對於拜占庭將軍問題中本聰的區塊鏈給出了比較圓滿的解決方案。也就是比較圓滿的解決了上述的兩個問題。
拜占庭將軍問題的第一個問題從本質上來講就是時間和空間的障礙導致信息的不準確和不及時。
區塊鏈對於第一個問題的解決方案是利用分布式存儲技術和比特流技術(BT技術,一種新型的點對點傳輸技術,具有節點同時作為客戶端和伺服器端和沒有中心伺服器等特點),將整個網路系統內的所有交易信息匯總為一個統一的,分布式存儲的,近乎實時同步更新的電子總賬。統一的分布式共同賬本就解決了空間障礙問題;而近乎同步進行的,實時的,持續的對所有賬本備份的更新、對賬則解決了時間障礙問題。
這個過程較具體一點的描述大概是將區塊鏈系統內所有的交易活動的記錄數據統一於一種標准化的總帳上;區塊鏈系統的每一個節點都會保存一份總帳的備份;所有總帳的備份都是在實時的,持續的更新、對賬、以及同步著。區塊鏈系統的每一個節點能在這本總帳里記上添加記錄;每一筆新添加的記錄都會實時的廣播到區塊鏈系統內;所以在每一個節點上的每一份總帳的備份都是幾乎同時更新的,並且所有的總帳的備份保持著同步。
拜占庭將軍問題的第二個問題從本質上來講就是關於信息過量問題和信息干擾問題。信息過量和信息干擾問題導致決策延遲,甚至決策系統崩潰而無法決策。
區塊鏈對於第二個問題的解決方案是區塊鏈系統的任何一個節點在發送每一筆新添加的記錄時需要附帶一條額外的信息。對區塊鏈系統的任何一個節點來說這條額外的信息的獲得都是有成本的,並且只能有一個節點可以獲得。這樣就解決了區塊鏈系統的任何一個節點新添加額外信息時的信息多且亂而無法達成一致的問題。在這里,區塊鏈系統的任何一個節點獲得那條附帶的額外的信息的過程就是著名的工作量證明機制。
共識機制主要解決區塊鏈系統的數據如何記錄和如何保存的問題。工作量證明機制就是要求區塊鏈系統的節點通過做一定難度的工作得出一個結果的過程。
區塊鏈系統中某節點生成了一筆新的交易記錄,並且該節點將這筆新的交易記錄向全網廣播。全網各個節點收到這個交易記錄並與其他所有準備打包進區塊的交易記錄共同組成交易記錄列表。在列表內先對所有交易進行兩兩的哈希計算;再對以獲得的哈希值進行哈希計算獲得Merkle樹和Merkle樹的根值;把Merkle樹的根值及其他相關欄位組裝成區塊頭。
各個節點將區塊頭的80位元組數據加上一個不停的變更的區塊頭隨機數一起進行不停的哈希運算(實際上這是一個雙重哈希運算);不停的將哈希運算結果值與當前網路的目標值做對比,直到哈希運算結果值小於目標值,就獲得了符合要求的哈希值,工作量證明也就完成了。
分布式的區塊鏈系統是一個動態變化的系統(硬體的運算速度的增長,節點參與網路的程度的變化)。系統的不斷變化必然帶來系統的算力的不斷變化。而算力的變化又會導致通過消耗算力(工作)來獲得符合要求的哈希值的速度的不同。最終的結果會是區塊鏈的增長速度會有巨大的不同。這是一個很大的問題。為了解決這個問題,區塊鏈系統自動根據算力的變化對工作難度進行調整。也就是採用移動平均目標的方法來確定,難度控制為每小時生成區塊的速度為某一個預定的平均數。
在區塊鏈系統中一個符合要求的哈希值是由N個前導零構成,零的個數取決於網路的難度值。為了使區塊的形成時間控制在大約十分鍾左右,區塊鏈系統採用了固定工作難度的難度演算法。難度值每2016個區塊調整一次零的個數。
新的難度值是根據前2015個區塊(理論上應該是2016個區塊,由於當初程序編寫時的失誤造成了用2015而不是2016)的出塊時間來計算。
難度 = 目標值 * 前2015個區塊生成所用的時間 / 1209600 (兩周的秒鍾數)
這樣通過規定的演算法,區塊鏈系統就保證所有節點計算出的難度值都一致,區塊的形成時間大約一致在十分鍾左右。
(1)結果不可控制。其依賴機器進行哈希函數的運算來獲得結果;計算結果是一個隨機數;沒有人能直接控制計算的結果。
(2)計算具有對稱性。就是結果的獲得和結果的驗收需要的工作量是不同的。計算出結果所需要的工作量遠遠大於驗收結果所需要的工作量。
(3)計算的難度自動控制。為了使區塊的形成時間控制在大約十分鍾左右,區塊鏈系統自動控制了每一個符合要求的哈希獲得為大約在十分鍾左右。
第一,方法簡單易行。
第二,系統達成共識容易,節點間不需要太多的信息交換。
第三,系統比較牢固可靠,任何破壞系統的企圖都需要投入大到得不償失的成本。
第一,消耗大量的算力,也就是浪費能源和其他資源。
第二,區塊的確認時間比較長,並且難以縮短。
第三,新創立的區塊鏈非常容易受到算力攻擊。
第四,容易產生區塊鏈分叉,穩定的區塊鏈需要多個確認,並且這種狀況可能不斷持續下去。
第五,算力的逐漸集中導致與去中心化的系統設計基礎的沖突日益明顯。
權益證明機制是一種工作量證明機制的替代方法,試圖解決工作量計算浪費的問題.目前其成功的應用是點點幣區塊鏈系統。
權益證明不要求區塊鏈系統的節點完成一定數量的計算工作,而是要求區塊鏈系統的節點對某些數量的錢展示所有權。
權益證明機制首先應用於點點幣區塊鏈系統中。
點點幣區塊鏈系統的區塊生成時,節點需要構造一個「錢幣權益」交易,即把自己的一些錢幣和預先設定的獎勵發給自己。進行哈希計算時,哈希值的計算只同交易輸入、一些附加的固定數據以及當前時間(是一個表示自1970年1月1日距離當前時刻的秒數的正數)有關。然後,根據類似工作量證明的要求來檢查這個哈希值是否正確。
點點幣區塊鏈系統的權益證明機制除了設定了哈希計算難度與交易輸入的「幣齡」成反比外,其與工作量證明機制非常類似。其中,幣齡的定義為交易輸入大小和它存在時間的乘積。權益證明機制中哈希值只和時間和固定的數據有關,因而沒有辦法通過多完成工作來快速獲取它。
每個點點幣區塊鏈系統的交易的輸出都有一定的幾率來產生有效的正比於幣齡和交易貨幣數量的工作。
第一,縮短了共識達成的時間。
第二,不再需要大量消耗能源。
第一,還是需要哈希計算。
第二,所有的確認都只是一個概率上的表達,而不是一個確定性的事情,有可能受到其他攻擊影響。
授權股份證明機制類似於權益證明機制,是比特股BitShares採用的區塊鏈公識演算法。授權股份證明機制是民主選舉和輪流執政相結合方式來確定區塊的產生。
授權股份證明機制是先由節點選舉若干代理人,由代理人驗證和記賬。其他方面和權益證明機制相似。
每個節點按其持股比例擁有相應的影響力,51%節點投票的結果將是不可逆且有約束力的。為達到及時而高效的方法達到51%批準的目標。每個節點可以將其投票權授予一名節點。獲票數最多的前100位節點按既定時間表輪流產生區塊。每名節點分配到一個時間段來生產區塊。
所有的節點將收到等同於一個平均水平的區塊所含交易費的10%作為報酬。
第一,大幅縮小參與驗證和記賬節點的數量,
第二,可以快速實現共識驗證。
主要缺點就是仍然無法擺脫對代幣的依賴。
在分布式計算上,不同的計算機透過訊息交換,嘗試達成共識;但有時候,系統上協調計算或成員計算機可能因系統錯誤並交換錯的訊息,導致影響最終的系統一致性。
拜占庭將軍問題就根據錯誤計算機的數量,尋找可能的解決辦法,這無法找到一個絕對的答案,但只可以用來驗證一個機制的有效程度。
而拜占庭問題的可能解決方法為:
在 N ≥ 3F + 1 的情況下一致性是可能解決。其中,N為計算機總數,F為有問題計算機總數。信息在計算機間互相交換後,各計算機列出所有得到的信息,以大多數的結果作為解決辦法。
第一,系統運轉可以擺脫對代幣的依賴,共識各節點由業務的參與方或者監管方組成,安全性與穩定性由業務相關方保證。
第二,共識的時延大約在2到5秒鍾。
第三,共識效率高,可滿足高頻交易量的需求。
第一,當有1/3或以上記賬人停止工作後,系統將無法提供服務;
第二,當有1/3或以上記賬人聯合作惡,可能系統會出現會留下密碼學證據的分叉。
小蟻改良了實用拜占庭容錯機制。該機制是由權益來選出記賬人,然後記賬人之間通過拜占庭容錯演算法來達成共識。
此演算法在PBFT基礎上進行了以下改進:
第一,將C/S架構的請求響應模式,改進為適合P2P網路的對等節點模式;
第二,將靜態的共識參與節點改進為可動態進入、退出的動態共識參與節點;
第三,為共識參與節點的產生設計了一套基於持有權益比例的投票機制,通過投票決定共識參與節點(記賬節點);
第四,在區塊鏈中引入數字證書,解決了投票中對記賬節點真實身份的認證問題。
第一,專業化的記賬人;
第二,可以容忍任何類型的錯誤;
第三,記賬由多人協同完成,每一個區塊都有最終性,不會分產生區塊鏈分叉;
第四,演算法的可靠性有嚴格的數學證明來保證;
第一,當有1/3或以上記賬人停止工作後,區塊鏈系統將無法提供服務;
第二,當有1/3或以上記賬人聯合作惡,且其它所有的記賬人被恰好分割為兩個網路孤島時,惡意記賬人可以使區塊鏈系統出現分叉,但是會留下密碼學證據;
瑞波共識機制是全體節點選取出特殊節點組成特殊節點列表,由特殊節點列表內的節點達成共識。
初始特殊節點列表就像一個俱樂部,要接納一個新成員,必須由51%的該俱樂部會員投票通過。共識遵循這核心成員的51%權力,外部人員則沒有影響力。波共識機制將股東們與其投票權隔開,並因此比其他系統更中心化。
瑞波共識機制參與共識形成的只有特殊節點,大大的減少了共識形成的時間。在實踐中,瑞波區塊鏈系統達成共識需要3-6秒鍾,遠遠快於比特幣區塊鏈系統的10分鍾。同時瑞波區塊鏈系統對並發交易的處理達到每秒數萬筆,而比特幣區塊鏈系統只有每秒7筆。
瑞波共識機制處理節點意見分歧的方式也是不同的。瑞波的信任節點對於新區塊的創造進行協商的時間是區塊鏈更新前。先協商,達成共識後再對區塊鏈進行更新。
由於瑞波共識機制的共識是由特殊節點達成的,普通節點並不需要維護一個完整的歷史賬本。各個節點可以根據自己的業務需要選擇同步同步完整的歷史賬本或者任意最近幾步的賬本。這也意味著對存儲空間和網路流量需求的減少。
瑞波共識機製取消了挖坑的發行貨幣機制,採用了原生貨幣(1000億枚)的方式發幣,從而大量的避免了挖礦的天量能耗。