面對信息化時代,稍不注意就會脫軌,所以及時的補充知識才能讓我們與時俱進,今天給大家?guī)淼氖顷P(guān)于點點幣/PPC幣是什么幣和ppb幣是什么的一篇文章,相信會給你帶來較大的幫助!
區(qū)塊鏈是建立在P2P網(wǎng)絡,由節(jié)點參與的分布式賬本系統(tǒng),最大的特點是“去中心化”。也就是說在區(qū)塊鏈系統(tǒng)中,用戶與用戶之間、用戶與機構(gòu)之間、機構(gòu)與機構(gòu)之間,無需建立彼此之間的信任,只需依靠區(qū)塊鏈協(xié)議系統(tǒng)就能實現(xiàn)交易。
可是,要如何保證賬本的準確性,權(quán)威性,以及可靠性?區(qū)塊鏈網(wǎng)絡上的節(jié)點為什么要參與記賬?節(jié)點如果造假怎么辦?如何防止賬本被篡改?如何保證節(jié)點間的數(shù)據(jù)一致性?……這些都是區(qū)塊鏈在建立“去中心化”交易時需要解決的問題,由此產(chǎn)生了共識機制。
所謂“共識機制”,就是通過特殊節(jié)點的投票,在很短的時間內(nèi)完成對交易的驗證和確認;當出現(xiàn)意見不一致時,在沒有中心控制的情況下,若干個節(jié)點參與決策達成共識,即在互相沒有信任基礎(chǔ)的個體之間如何建立信任關(guān)系。
區(qū)塊鏈技術(shù)正是運用一套基于共識的數(shù)學算法,在機器之間建立“信任”網(wǎng)絡,從而通過技術(shù)背書而非中心化信用機構(gòu)來進行全新的信用創(chuàng)造。
不同的區(qū)塊鏈種類需要不同的共識算法來確保區(qū)塊鏈上最后的區(qū)塊能夠在任何時候都反應出全網(wǎng)的狀態(tài)。
目前為止,區(qū)塊鏈共識機制主要有以下幾種:POW工作量證明、POS股權(quán)證明、DPOS授權(quán)股權(quán)證明、Paxos、PBFT(實用拜占庭容錯算法)、dBFT、DAG(有向無環(huán)圖)
接下來我們主要說說常見的POW、POS、DPOS共識機制的原理及應用場景
概念:
工作量證明機制(Proofofwork),最早是一個經(jīng)濟學名詞,指系統(tǒng)為達到某一目標而設(shè)置的度量方法。簡單理解就是一份證明,用來確認你做過一定量的工作,通過對工作的結(jié)果進行認證來證明完成了相應的工作量。
工作量證明機制具有完全去中心化的優(yōu)點,在以工作量證明機制為共識的區(qū)塊鏈中,節(jié)點可以自由進出,并通過計算隨機哈希散列的數(shù)值解爭奪記賬權(quán),求得正確的數(shù)值解以生成區(qū)塊的能力是節(jié)點算力的具體表現(xiàn)。
應用:
POW最著名的應用當屬比特幣。在比特幣網(wǎng)絡中,在Block的生成過程中,礦工需要解決復雜的密碼數(shù)學難題,尋找到一個符合要求的BlockHash由N個前導零構(gòu)成,零的個數(shù)取決于網(wǎng)絡的難度值。這期間需要經(jīng)過大量嘗試計算(工作量),計算時間取決于機器的哈希運算速度。
而尋找合理hash是一個概率事件,當節(jié)點擁有占全網(wǎng)n%的算力時,該節(jié)點即有n/100的概率找到BlockHash。在節(jié)點成功找到滿足的Hash值之后,會馬上對全網(wǎng)進行廣播打包區(qū)塊,網(wǎng)絡的節(jié)點收到廣播打包區(qū)塊,會立刻對其進行驗證。
如果驗證通過,則表明已經(jīng)有節(jié)點成功解迷,自己就不再競爭當前區(qū)塊,而是選擇接受這個區(qū)塊,記錄到自己的賬本中,然后進行下一個區(qū)塊的競爭猜謎。網(wǎng)絡中只有最快解謎的區(qū)塊,才會添加的賬本中,其他的節(jié)點進行復制,以此保證了整個賬本的較早性。
假如節(jié)點有任何的作弊行為,都會導致網(wǎng)絡的節(jié)點驗證不通過,直接丟棄其打包的區(qū)塊,這個區(qū)塊就無法記錄到總賬本中,作弊的節(jié)點耗費的成本就白費了,因此在巨大的挖礦成本下,也使得礦工自覺自愿的遵守比特幣系統(tǒng)的共識協(xié)議,也就確保了整個系統(tǒng)的安全。
優(yōu)缺點
優(yōu)點:結(jié)果能被快速驗證,系統(tǒng)承擔的節(jié)點量大,作惡成本高進而保證礦工的自覺遵守性。
缺點:需要消耗大量的算法,達成共識的周期較長
概念:
權(quán)益證明機制(ProofofStake),要求證明人提供一定數(shù)量加密貨幣的所有權(quán)。
權(quán)益證明機制的運作方式是,當創(chuàng)造一個新區(qū)塊時,礦工需要創(chuàng)建一個“幣權(quán)”交易,交易會按照預先設(shè)定的比例把一些幣發(fā)送給礦工本身。權(quán)益證明機制根據(jù)每個節(jié)點擁有代幣的比例和時間,依據(jù)算法等比例地降低節(jié)點的挖礦難度,從而加快了尋找隨機數(shù)的速度。
應用:
2012年,化名SunnyKing的網(wǎng)友推出了Peercoin(點點幣),是權(quán)益證明機制在加密電子貨幣中的首次應用。PPC最大創(chuàng)新是其采礦方式混合了POW及POS兩種方式,采用工作量證明機制發(fā)行新幣,采用權(quán)益證明機制維護網(wǎng)絡安全。
為了實現(xiàn)POS,SunnyKing借鑒于中本聰?shù)腃oinbase,專門設(shè)計了一種特殊類型交易,叫Coinstake。
上圖為Coinstake工作原理,其中幣齡指的是貨幣的持有時間段,假如你擁有10個幣,并且持有10天,那你就收集到了100天的幣齡。如果你使用了這10個幣,幣齡被消耗(銷毀)了。
優(yōu)缺點:
優(yōu)點:縮短達成共識所需的時間,比工作量證明更加節(jié)約能源。
缺點:本質(zhì)上仍然需要網(wǎng)絡中的節(jié)點進行挖礦運算,轉(zhuǎn)賬真實性較難保證
概念:
授權(quán)股權(quán)證明機制(DelegatedProofofStake),與董事會投票類似,該機制擁有一個內(nèi)置的實時股權(quán)人投票系統(tǒng),就像系統(tǒng)隨時都在召開一個永不散場的股東大會,所有股東都在這里投票決定公司決策。
授權(quán)股權(quán)證明在嘗試解決傳統(tǒng)的PoW機制和PoS機制問題的同時,還能通過實施科技式的民主抵消中心化所帶來的負面效應?;贒PoS機制建立的區(qū)塊鏈的去中心化依賴于一定數(shù)量的代表,而非全體用戶。在這樣的區(qū)塊鏈中,全體節(jié)點投票選舉出一定數(shù)量的節(jié)點代表,由他們來代理全體節(jié)點確認區(qū)塊、維持系統(tǒng)有序運行。
同時,區(qū)塊鏈中的全體節(jié)點具有隨時罷免和任命代表的權(quán)力。如果必要,全體節(jié)點可以通過投票讓現(xiàn)任節(jié)點代表失去代表資格,重新選舉新的代表,實現(xiàn)實時的民主。
應用:
比特股(Bitshare)是一類采用D****制的密碼貨幣。通過引入了見證人這個概念,見證人可以生成區(qū)塊,每一個持有比特股的人都可以投票選舉見證人。得到總同意票數(shù)中的前N個(N通常定義為101)候選者可以當選為見證人,當選見證人的個數(shù)(N)需滿足:至少一半的參與投票者相信N已經(jīng)充分地去中心化。
見證人的候選名單每個維護周期(1天)更新一次。見證人然后隨機排列,每個見證人按序有2秒的權(quán)限時間生成區(qū)塊,若見證人在給定的時間片不能生成區(qū)塊,區(qū)塊生成權(quán)限交給下一個時間片對應的見證人。DPoS的這種設(shè)計使得區(qū)塊的生成更為快速,也更加節(jié)能。
DPOS充分利用了持股人的投票,以公平民主的方式達成共識,他們投票選出的N個見證人,可以視為N個礦池,而這N個礦池彼此的權(quán)利是完全相等的。持股人可以隨時通過投票更換這些見證人(礦池),只要他們提供的算力不穩(wěn)定,計算機宕機,或者試圖利用手中的權(quán)力作惡。
優(yōu)缺點:
優(yōu)點:縮小參與驗證和記賬節(jié)點的數(shù)量,從而達到秒級的共識驗證
缺點:中心程度較弱,安全性相比POW較弱,同時節(jié)點代理是人為選出的,公平性相比POS較低,同時整個共識機制還是依賴于代幣的增發(fā)來維持代理節(jié)點的穩(wěn)定性。
在異步系統(tǒng)中,需要主機之間進行狀態(tài)復制,以保證每個主機達成一致的狀態(tài)共識。而在異步系統(tǒng)中,主機之間可能出現(xiàn)故障,因此需要在默認不可靠的異步網(wǎng)絡中定義容錯協(xié)議,以確保各個主機達到安全可靠的狀態(tài)共識。
共識算法其實就是一組規(guī)則,設(shè)置一組條件,篩選出具有代表性的節(jié)點。在區(qū)塊鏈系統(tǒng)中,存在很多這樣的篩選方案,如在公有鏈中的POW、Pos、DPOS等,而在不需要貨幣體系的許可鏈或私有鏈中,絕對信任的節(jié)點、高效的需求是公有鏈共識算法不能提供的,對于這樣的區(qū)塊鏈,傳統(tǒng)的一致性共識算法成為首選,如PBFT、PAXOS、RAFT等。
目錄
一、BFT(拜占庭容錯技術(shù))
二、PBFT(實用拜占庭容錯算法)
三、PAXOS
四、Raft
五、POW(工作量證明)
六、POS(權(quán)益證明)
七、DPOS(委任權(quán)益證明)
八、Ripple
拜占庭弄錯技術(shù)是一類分布式計算領(lǐng)域的容錯技術(shù)。拜占庭假設(shè)是由于硬件錯誤、網(wǎng)絡擁塞或中斷以及遭到惡意攻擊的原因,計算機和網(wǎng)絡出現(xiàn)不可預測的行為。拜占庭容錯用來處理這種異常行為,并滿足所要解決問題的規(guī)范。
拜占庭容錯系統(tǒng)是一個擁有n臺節(jié)點的系統(tǒng),整個系統(tǒng)對于每一個請求,滿足以下條件:
1)所有非拜占庭節(jié)點使用相同的輸入信息,產(chǎn)生同樣的結(jié)果;
2)如果輸入的信息正確,那么所有非拜占庭節(jié)點必須接收這個信息,并計算相應的結(jié)果。
拜占庭系統(tǒng)普遍采用的假設(shè)條件包括:
1)拜占庭節(jié)點的行為可以是任意的,拜占庭節(jié)點之間可以共謀;
2)節(jié)點之間的錯誤是不相關(guān)的;
3)節(jié)點之間通過異步網(wǎng)絡連接,網(wǎng)絡中的消息可能丟失、亂序并延時到達,但大部分協(xié)議假設(shè)消息在有限的時間里能傳達到目的地;
4)服務器之間傳遞的信息,第三方可以嗅探到,但是不能篡改、偽造信息的內(nèi)容和驗證信息的完整性。
拜占庭容錯由于其理論上的可行性而缺乏實用性,另外還需要額外的時鐘同步機制支持,算法的復雜度也是隨節(jié)點的增加而指數(shù)級增加。
實用拜占庭容錯降低了拜占庭協(xié)議的運行復雜度,從指數(shù)級別降低到多項式級別。
PBFT是一種狀態(tài)機副本復制算法,即服務作為狀態(tài)機進行建模,狀態(tài)機在分布式系統(tǒng)的不同節(jié)點進行副本復制。PBFT要求共同維護一個狀態(tài)。需要運行三類基本協(xié)議,包括一致性協(xié)議、檢查點協(xié)議和視圖更換協(xié)議。
一致性協(xié)議。一致性協(xié)議至少包含若干個階段:請求(request)、序號分配(pre-prepare)和響應(reply),可能包含相互交互(prepare),序號確認(commit)等階段。
PBFT通信模式中,每個客戶端的請求需要經(jīng)過5個階段。由于客戶端不能從服務器端獲得任何服務器運行狀態(tài)的信息,PBFT中主節(jié)點是否發(fā)生錯誤只能由服務器監(jiān)測。如果服務器在一段時間內(nèi)都不能完成客戶端的請求,則會觸發(fā)視圖更換協(xié)議。
整個協(xié)議的基本過程如下:
1)客戶端發(fā)送請求,激活主節(jié)點的服務操作。
2)當主節(jié)點接收請求后,啟動三階段的協(xié)議以向各從節(jié)點廣播請求。
[2.1]序號分配階段,主節(jié)點給請求賦值一個序列號n,廣播序號分配消息和客戶端的請求消息m,并將構(gòu)造PRE-PREPARE消息給各從節(jié)點;
[2.2]交互階段,從節(jié)點接收PRE-PREPARE消息,向其他服務節(jié)點廣播PREPARE消息;
[2.3]序號確認階段,各節(jié)點對視圖內(nèi)的請求和次序進行驗證后,廣播COMMIT消息,執(zhí)行收到的客戶端的請求并給客戶端以響應。
3)客戶端等待來自不同節(jié)點的響應,若有m1個響應相同,則該響應即為運算的結(jié)果。
PBFT一般適合有對強一致性有要求的私有鏈和聯(lián)盟鏈,例如,在IBM主導的區(qū)塊鏈超級賬本項目中,PBFT是一個可選的共識協(xié)議。在Hyperledger的Fabric項目中,共識模塊被設(shè)計成可插拔的模塊,支持像PBFT、Raft等共識算法。
在有些分布式場景下,其假設(shè)條件不需要考慮拜占庭故障,而只是處理一般的死機故障。在這種情況下,采用Paxos等協(xié)議會更加高效。。PAXOS是一種基于消息傳遞且具有高度容錯特性的一致性算法。
PAXOS中有三類角色Proposer、Acceptor及Learner,主要交互過程在Proposer和Acceptor之間。算法流程分為兩個階段:
phase1
a)proposer向網(wǎng)絡內(nèi)超過半數(shù)的acceptor發(fā)送prepare消息
b)acceptor正常情況下回復promise消息
phase2
a)在有足夠多acceptor回復promise消息時,proposer發(fā)送accept消息
b)正常情況下acceptor回復accepted消息
流程圖如圖所示:
PAXOS協(xié)議用于微信PaxosStore中,每分鐘調(diào)用Paxos協(xié)議過程數(shù)十億次量級。
Paxos是Lamport設(shè)計的保持分布式系統(tǒng)一致性的協(xié)議。但由于Paxos非常復雜,比較難以理解,因此后來出現(xiàn)了各種不同的實現(xiàn)和變種。Raft是由Stanford提出的一種更易理解的一致性算法,意在取代目前廣為使用的Paxos算法。
Raft最初是一個用于管理復制日志的共識算法,它是在非拜占庭故障下達成共識的強一致協(xié)議。Raft實現(xiàn)共識過程如下:首先選舉一個leader,leader從客戶端接收記賬請求、完成記賬操作、生成區(qū)塊,并復制到其他記賬節(jié)點。leader有完全的管理記賬權(quán)利,例如,leader能夠決定是否接受新的交易記錄項而無需考慮其他的記賬節(jié)點,leader可能失效或與其他節(jié)點失去聯(lián)系,這時,重新選出新的leader。
在Raft中,每個節(jié)點會處于以下三種狀態(tài)中的一種:
(1)follower:所有結(jié)點都以follower的狀態(tài)開始。如果沒收到leader消息則會變成candidate狀態(tài);
(2)candidate:會向其他結(jié)點“拉選票”,如果得到大部分的票則成為leader。這個過程就叫做Leader選舉(LeaderElection);
(3)leader:所有對系統(tǒng)的修改都會先經(jīng)過leader。每個修改都會寫一條日志(logentry)。leader收到修改請求后的過程如下:此過程叫做日志復制(LogReplication)
1)復制日志到所有follower結(jié)點
2)大部分結(jié)點響應時才提交日志
3)通知所有follower結(jié)點日志已提交
4)所有follower也提交日志
5)現(xiàn)在整個系統(tǒng)處于一致的狀態(tài)
Raft階段主要分為兩個,首先是leader選舉過程,然后在選舉出來的leader基礎(chǔ)上進行正常操作,比如日志復制、記賬等。
(1)leader選舉
當follower在選舉時間內(nèi)未收到leader的消息,則轉(zhuǎn)換為candidate狀態(tài)。在Raft系統(tǒng)中:
1)任何一個服務器都可以成為候選者candidate,只要它向其他服務器follower發(fā)出選舉自己的請求。
2)如果其他服務器同意了,發(fā)出OK。如果在這個過程中,有一個follower宕機,沒有收到請求選舉的要求,此時候選者可以自己選自己,只要達到N/21的大多數(shù)票,候選人還是可以成為leader的。
3)這樣這個候選者就成為了leader領(lǐng)導人,它可以向選民也就是follower發(fā)出指令,比如進行記賬。
4)以后通過心跳消息進行記賬的通知。
5)一旦這個leader崩潰了,那么follower中有一個成為候選者,并發(fā)出邀票選舉。
6)follower同意后,其成為leader,繼續(xù)承擔記賬等指導工作。
(2)日志復制
記賬步驟如下所示:
1)假設(shè)leader已經(jīng)選出,這時客戶端發(fā)出增加一個日志的要求;
2)leader要求follower遵從他的指令,將這個新的日志內(nèi)容追加到各自日志中;
3)大多數(shù)follower服務器將交易記錄寫入賬本后,確認追加成功,發(fā)出確認成功信息;
4)在下一個心跳消息中,leader會通知所有follower更新確認的項目。
對于每個新的交易記錄,重復上述過程。
在這一過程中,若發(fā)生網(wǎng)絡通信故障,使得leader不能訪問大多數(shù)follower了,那么leader只能正常更新它能訪問的那些follower服務器。而大多數(shù)的服務器follower因為沒有了leader,他們將重新選舉一個候選者作為leader,然后這個leader作為代表與外界打交道,如果外界要求其添加新的交易記錄,這個新的leader就按上述步驟通知大多數(shù)follower。當網(wǎng)絡通信恢復,原先的leader就變成follower,在失聯(lián)階段,這個老leader的任何更新都不能算確認,必須全部回滾,接收新的leader的新的更新。
在去中心賬本系統(tǒng)中,每個加入這個系統(tǒng)的節(jié)點都要保存一份完整的賬本,但每個節(jié)點卻不能同時記賬,因為節(jié)點處于不同的環(huán)境,接收不同的信息,如果同時記賬,必然導致賬本的不一致。因此通過同時來決定那個節(jié)點擁有記賬權(quán)。
在比特幣系統(tǒng)中,大約每10分鐘進行一輪算力競賽,競賽的勝利者,就獲得一次記賬的權(quán)力,并向其他節(jié)點同步新增賬本信息。
PoW系統(tǒng)的主要特征是計算的不對稱性。工作端要做一定難度的工作才能得出一個結(jié)果,而驗證方卻很容易通過結(jié)果來檢查工作端是不是做了相應的工作。該工作量的要求是,在某個字符串后面連接一個稱為nonce的整數(shù)值串,對連接后的字符串進行SHA256哈希運算,如果得到的哈希結(jié)果(以十六進制的形式表示)是以若干個0開頭的,則驗證通過。
比特幣網(wǎng)絡中任何一個節(jié)點,如果想生成一個新的區(qū)塊并寫入?yún)^(qū)塊鏈,必須解出比特幣網(wǎng)絡出的PoW問題。關(guān)鍵的3個要素是工作量證明函數(shù)、區(qū)塊及難度值。工作量證明函數(shù)是這道題的計算方法,區(qū)塊決定了這道題的輸入數(shù)據(jù),難度值決定了這道題所需要的計算量。
(1)工作量證明函數(shù)就是ustyle="box-sizing:border-box;"SHA256/u
比特幣的區(qū)塊由區(qū)塊頭及該區(qū)塊所包含的交易列表組成。擁有80字節(jié)固定長度的區(qū)塊頭,就是用于比特幣工作量證明的輸入字符串。
(2)難度的調(diào)整是在每個完整節(jié)點中獨立自動發(fā)生的。每2016個區(qū)塊,所有節(jié)點都會按統(tǒng)一的公式自動調(diào)整難度。如果區(qū)塊產(chǎn)生的速率比10分鐘快則增加難度,比10分鐘慢則降低難度。
公式可以總結(jié)為:新難度值=舊難度值×(過去2016個區(qū)塊花費時長/20160分鐘)
工作量證明需要有一個目標值。比特幣工作量證明的目標值(Target)的計算公式:目標值=最大目標值/難度值
其中最大目標值為一個恒定值:
0x00000000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
目標值的大小與難度值成反比。比特幣工作量證明的達成就是礦工計算出來的區(qū)塊哈希值必須小于目標值。
(3)PoW能否解決拜占庭將軍問題
比特幣的PoW共識算法是一種概率性的拜占庭協(xié)議(ProbabilisticBA)
當不誠實的算力小于網(wǎng)絡總算力的50%時,同時挖礦難度比較高(在大約10分鐘出一個區(qū)塊情況下)比特幣網(wǎng)絡達到一致性的概念會隨確認區(qū)塊的數(shù)目增多而呈指數(shù)型增加。但當不誠實算力具一定規(guī)模,甚至不用接近50%的時候,比特幣的共識算法并不能保證正確性,也就是,不能保證大多數(shù)的區(qū)塊由誠實節(jié)點來提供。
比特幣的共識算法不適合于私有鏈和聯(lián)盟鏈。其原因首先是它是一個最終一致性共識算法,不是一個強一致性共識算法。第二個原因是其共識效率低。
擴展知識:一致性
嚴格一致性,是在系統(tǒng)不發(fā)生任何故障,而且所有節(jié)點之間的通信無需任何時間這種理想的條件下,才能達到。這個時候整個系統(tǒng)就等價于一臺機器了。在現(xiàn)實中,是不可能達到的。
強一致性,當分布式系統(tǒng)中更新操作完成之后,任何多個進程或線程,訪問系統(tǒng)都會獲得最新的值。
弱一致性,是指系統(tǒng)并不保證后續(xù)進程或線程的訪問都會返回最新的更新的值。系統(tǒng)在數(shù)據(jù)成功寫入之后,不承諾立即可以讀到最新寫入的值,也不會具體承諾多久讀到。但是會盡可能保證在某個時間級別(秒級)之后??梢宰寯?shù)據(jù)達到一致性狀態(tài)。
最終一致性是弱一致性的特定形式。系統(tǒng)保證在沒有后續(xù)更新的前提下,系統(tǒng)最終返回上一次更新操作的值。也就是說,如果經(jīng)過一段時間后要求能訪問到更新后的數(shù)據(jù),則是最終一致性。
在股權(quán)證明PoS模式下,有一個名詞叫幣齡,每個幣每天產(chǎn)生1幣齡,比如你持有100個幣,總共持有了30天,那么,此時你的幣齡就為3000,這個時候,如果你發(fā)現(xiàn)了一個PoS區(qū)塊,你的幣齡就會被清空為0。你每被清空365幣齡,你將會從區(qū)塊中獲得0.05個幣的利息(假定利息可理解為年利率5%),那么在這個案例中,利息=3000*5%/365=0.41個幣,這下就很有意思了,持幣有利息。
點點幣(Peercoin)是首先采用權(quán)益證明的貨幣。,點點幣的權(quán)益證明機制結(jié)合了隨機化與幣齡的概念,未使用至少30天的幣可以參與競爭下一區(qū)塊,越久和越大的幣集有更大的可能去簽名下一區(qū)塊。一旦幣的權(quán)益被用于簽名一個區(qū)塊,則幣齡將清為零,這樣必須等待至少30日才能簽署另一區(qū)塊。
PoS機制雖然考慮到了PoW的不足,但依據(jù)權(quán)益結(jié)余來選擇,會導致首富賬戶的權(quán)力更大,有可能支配記賬權(quán)。股份授權(quán)證明機制(DelegatedProofofStake,DPoS)的出現(xiàn)正是基于解決PoW機制和PoS機制的這類不足。
比特股(Bitshare)是一類采用DPoS機制的密碼貨幣。它的原理是,讓每一個持有比特股的人進行投票,由此產(chǎn)生101位代表,我們可以將其理解為101個超級節(jié)點或者礦池,而這101個超級節(jié)點彼此的權(quán)利是完全相等的。如果代表不能履行他們的職責(當輪到他們時,沒能生成區(qū)塊),他們會被除名,網(wǎng)絡會選出新的超級節(jié)點來取代他們。
比特股引入了見證人這個概念,見證人可以生成區(qū)塊,每一個持有比特股的人都可以投票選舉見證人。得到總同意票數(shù)中的前N個(N通常定義為101)候選者可以當選為見證人,當選見證人的個數(shù)(N)需滿足:至少一半的參與投票者相信N已經(jīng)充分地去中心化。
見證人的候選名單每個維護周期(1天)更新一次。見證人然后隨機排列,每個見證人按序有2秒的權(quán)限時間生成區(qū)塊,若見證人在給定的時間片不能生成區(qū)塊,區(qū)塊生成權(quán)限交給下一個時間片對應的見證人。
比特股還設(shè)計了另外一類競選,代表競選。選出的代表擁有提出改變網(wǎng)絡參數(shù)的特權(quán),包括交易費用、區(qū)塊大小、見證人費用和區(qū)塊區(qū)間。若大多數(shù)代表同意所提出的改變,持股人有兩周的審查期,這期間可以罷免代表并廢止所提出的改變。這一設(shè)計確保代表技術(shù)上沒有直接修改參數(shù)的權(quán)利以及所有的網(wǎng)絡參數(shù)的改變最終需得到持股人的同意。
Ripple(瑞波)是一種基于互聯(lián)網(wǎng)的開源支付協(xié)議,在Ripple的網(wǎng)絡中,交易由客戶端(應用)發(fā)起,經(jīng)過追蹤節(jié)點(trackingnode)或驗證節(jié)點(validatingnode)把交易廣播到整個網(wǎng)絡中。
追蹤節(jié)點的主要功能是分發(fā)交易信息以及響應客戶端的賬本請求。驗證節(jié)點除包含追蹤節(jié)點的所有功能外,還能夠通過共識協(xié)議,在賬本中增加新的賬本實例數(shù)據(jù)。
Ripple的共識達成發(fā)生在驗證節(jié)點之間,每個驗證節(jié)點都預先配置了一份可信任節(jié)點名單,稱為UNL(UniqueNodeList)。在名單上的節(jié)點可對交易達成進行投票。每隔幾秒,Ripple網(wǎng)絡將進行如下共識過程:
1)每個驗證節(jié)點會不斷收到從網(wǎng)絡發(fā)送過來的交易,通過與本地賬本數(shù)據(jù)驗證后,不合法的交易直接丟棄,合法的交易將匯總成交易候選集(candidateset)。交易候選集里面還包括之前共識過程無法確認而遺留下來的交易。
2)每個驗證節(jié)點把自己的交易候選集作為提案發(fā)送給其他驗證節(jié)點。
3)驗證節(jié)點在收到其他節(jié)點發(fā)來的提案后,如果不是來自UNL上的節(jié)點,則忽略該提案;如果是來自UNL上的節(jié)點,就會對比提案中的交易和本地的交易候選集,如果有相同的交易,該交易就獲得一票。在一定時間內(nèi),當交易獲得超過50%的票數(shù)時,則該交易進入下一輪。沒有超過50%的交易,將留待下一次共識過程去確認。
4)驗證節(jié)點把超過50%票數(shù)的交易作為提案發(fā)給其他節(jié)點,同時提高所需票數(shù)的閾值到60%,重復步驟3)、步驟4),直到閾值達到80%。
5)驗證節(jié)點把經(jīng)過80%UNL節(jié)點確認的交易正式寫入本地的賬本數(shù)據(jù)中,稱為最后關(guān)閉賬本(LastClosedLedger),即賬本最后(最新)的狀態(tài)。
在Ripple的共識算法中,參與投票節(jié)點的身份是事先知道的。該共識算法只適合于權(quán)限鏈(Permissionedchain)的場景。Ripple共識算法的拜占庭容錯(BFT)能力為(n-1)/5,即可以容忍整個網(wǎng)絡中20%的節(jié)點出現(xiàn)拜占庭錯誤而不影響正確的共識。
在區(qū)塊鏈網(wǎng)絡中,由于應用場景的不同,所設(shè)計的目標各異,不同的區(qū)塊鏈系統(tǒng)采用了不同的共識算法。一般來說,在私有鏈和聯(lián)盟鏈情況下,對一致性、正確性有很強的要求。一般來說要采用強一致性的共識算法。而在公有鏈情況下,對一致性和正確性通常沒法做到百分之百,通常采用最終一致性(EventualConsistency)的共識算法。
共識算法的選擇與應用場景高度相關(guān),可信環(huán)境使用paxos或者raft,帶許可的聯(lián)盟可使用pbft,非許可鏈可以是pow,pos,ripple共識等,根據(jù)對手方信任度分級,自由選擇共識機制。
借用點點幣傳銷的組織好像已經(jīng)死了吧?炒虛擬貨幣不需要什么組織分紅,自己去全球大平臺購買就是了。
點點幣的團隊一直在開發(fā),可以到官網(wǎng)和論壇去關(guān)注,最新發(fā)布了到2020年的開發(fā)路線。團隊實力業(yè)界公認,點點首創(chuàng)的pos鼻祖也一直往前發(fā)展,絕對秒***國內(nèi)各種山寨幣,現(xiàn)在炒點點幣的國人還不多,價格也合適。點點幣值得長期擁有。缺點也就是國人不多,因此在國內(nèi)沒怎么宣傳,都是老外自己在踏踏實實的埋頭苦干,因此要了解點點的最新動態(tài)需要自己去官網(wǎng)看英文。
一、區(qū)塊鏈共識機制的目標
區(qū)塊鏈是什么?簡單而言,區(qū)塊鏈是一種去中心化的數(shù)據(jù)庫,或可以叫作分布式賬本(distributedledger)。傳統(tǒng)上所有的數(shù)據(jù)庫都是中心化的,例如一間銀行的賬本就儲存在銀行的中心服務器里。中心化數(shù)據(jù)庫的弊端是數(shù)據(jù)的安全及正確性全系于數(shù)據(jù)庫運營方(即銀行),因為任何能夠訪問中心化數(shù)據(jù)庫的人(如銀行職員或黑客)都可以破壞或修改其中的數(shù)據(jù)。
而區(qū)塊鏈技術(shù)則容許數(shù)據(jù)庫存放在全球成千上萬的電腦上,每個人的賬本通過點對點網(wǎng)絡進行同步,網(wǎng)絡中任何用戶一旦增加一筆交易,交易信息將通過網(wǎng)絡通知其他用戶驗證,記錄到各自的賬本中。區(qū)塊鏈之所以得其名是因為它是由一個個包含交易信息的區(qū)塊(block)從后向前有序鏈接起來的數(shù)據(jù)結(jié)構(gòu)。
很多人對區(qū)塊鏈的疑問是,如果每一個用戶都擁有一個獨立的賬本,那么是否意味著可以在自己的賬本上添加任意的交易信息,而成千上萬個賬本又如何保證記賬的一致性?解決記賬一致性問題正是區(qū)塊鏈共識機制的目標。區(qū)塊鏈共識機制旨在保證分布式系統(tǒng)里所有節(jié)點中的數(shù)據(jù)完全相同并且能夠?qū)δ硞€提案(proposal)(例如是一項交易紀錄)達成一致。然而分布式系統(tǒng)由于引入了多個節(jié)點,所以系統(tǒng)中會出現(xiàn)各種非常復雜的情況;隨著節(jié)點數(shù)量的增加,節(jié)點失效或故障、節(jié)點之間的網(wǎng)絡通信受到干擾甚至阻斷等就變成了常見的問題,解決分布式系統(tǒng)中的各種邊界條件和意外情況也增加了解決分布式一致性問題的難度。
區(qū)塊鏈又可分為三種:
公有鏈:全世界任何人都可以隨時進入系統(tǒng)中讀取數(shù)據(jù)、發(fā)送可確認交易、競爭記賬的區(qū)塊鏈。公有鏈通常被認為是“完全去中心化“的,因為沒有任何人或機構(gòu)可以控制或篡改其中數(shù)據(jù)的讀寫。公有鏈一般會通過代幣機制鼓勵參與者競爭記賬,來確保數(shù)據(jù)的安全性。
聯(lián)盟鏈:聯(lián)盟鏈是指有若干個機構(gòu)共同參與管理的區(qū)塊鏈。每個機構(gòu)都運行著一個或多個節(jié)點,其中的數(shù)據(jù)只允許系統(tǒng)內(nèi)不同的機構(gòu)進行讀寫和發(fā)送交易,并且共同來記錄交易數(shù)據(jù)。這類區(qū)塊鏈被認為是“部分去中心化”。
私有鏈:指其寫入權(quán)限是由某個組織和機構(gòu)控制的區(qū)塊鏈。參與節(jié)點的資格會被嚴格的限制,由于參與的節(jié)點是有限和可控的,因此私有鏈往往可以有極快的交易速度、更好的隱私保護、更低的交易成本、不容易被惡意攻擊、并且能夠做到身份認證等金融行業(yè)必須的要求。相比中心化數(shù)據(jù)庫,私有鏈能夠防止機構(gòu)內(nèi)單節(jié)點故意隱瞞或篡改數(shù)據(jù)。即使發(fā)生錯誤,也能夠迅速發(fā)現(xiàn)來源,因此許多大型金融機構(gòu)在目前更加傾向于使用私有鏈技術(shù)。
二、區(qū)塊鏈共識機制的分類
解決分布式一致性問題的難度催生了數(shù)種共識機制,它們各有其優(yōu)缺點,亦適用于不同的環(huán)境及問題。被眾人常識的共識機制有:
lPoW(ProofofWork)工作量證明機制
lPoS(ProofofStake)股權(quán)/權(quán)益證明機制
lDPoS(DelegatedProofofStake)股份授權(quán)證明機制
lPBFT(PracticalByzantineFaultTolerance)實用拜占庭容錯算法
lDBFT(DelegatedByzantineFaultTolerance)授權(quán)拜占庭容錯算法
lSCP(StellarConsensusProtocol)恒星共識協(xié)議
lRPCA(RippleProtocolConsensusAlgorithm)Ripple共識算法
lPool驗證池共識機制
(一)PoW(ProofofWork)工作量證明機制
1.基本介紹
在該機制中,網(wǎng)絡上的每一個節(jié)點都在使用SHA256哈希函數(shù)(hashfunction)運算一個不斷變化的區(qū)塊頭的哈希值(hashsum)。共識要求算出的值必須等于或小于某個給定的值。在分布式網(wǎng)絡中,所有的參與者都需要使用不同的隨機數(shù)來持續(xù)計算該哈希值,直至達到目標為止。當一個節(jié)點的算出確切的值,其他所有的節(jié)點必須相互確認該值的正確性。之后新區(qū)塊中的交易將被驗證以防欺詐。
在比特幣中,以上運算哈希值的節(jié)點被稱作“礦工”,而PoW的過程被稱為“挖礦”。挖礦是一個耗時的過程,所以也提出了相應的激勵機制(例如向礦工授予一小部分比特幣)。PoW的優(yōu)點是完全的去中心化,其缺點是消耗大量算力造成了的資源浪費,達成共識的周期也比較長,共識效率低下,因此其不是很適合商業(yè)使用。
2.加密貨幣的應用實例
比特幣(Bitcoin)及萊特幣(Litecoin)。以太坊(Ethereum)的前三個階段(Frontier前沿、Homestead家園、Metropolis大都會)皆采用PoW機制,其第四個階段(Serenity寧靜)將采用權(quán)益證明機制。PoW適用于公有鏈。
PoW機制雖然已經(jīng)成功證明了其長期穩(wěn)定和相對公平,但在現(xiàn)有框架下,采用PoW的“挖礦”形式,將消耗大量的能源。其消耗的能源只是不停的去做SHA256的運算來保證工作量公平,并沒有其他的存在意義。而目前BTC所能達到的交易效率為約5TPS(5筆/秒),以太坊目前受到單區(qū)塊GAS總額的上限,所能達到的交易頻率大約是25TPS,與平均千次每秒、峰值能達到萬次每秒處理效率的VISA和MASTERCARD相差甚遠。
3.簡圖理解模式
(ps:其中A、B、C、D計算哈希值的過程即為“挖礦”,為了犒勞時間成本的付出,機制會以一定數(shù)量的比特幣作為激勵。)
(Ps:PoS模式下,你的“挖礦”收益正比于你的幣齡(幣的數(shù)量*天數(shù)),而與電腦的計算性能無關(guān)。我們可以認為任何具有概率性事件的累計都是工作量證明,如淘金。假設(shè)礦石含金量為p%質(zhì)量,當你得到一定量黃金時,我們可以認為你一定挖掘了1/p質(zhì)量的礦石。而且得到的黃金數(shù)量越多,這個證明越可靠。)
(二)PoS(ProofofStake)股權(quán)/權(quán)益證明機制
1.基本介紹
PoS要求人們證明貨幣數(shù)量的所有權(quán),其相信擁有貨幣數(shù)量多的人攻擊網(wǎng)絡的可能性低。基于賬戶余額的選擇是非常不公平的,因為單一最富有的人勢必在網(wǎng)絡中占主導地位,所以提出了許多解決方案。
在股權(quán)證明機制中,每當創(chuàng)建一個區(qū)塊時,礦工需要創(chuàng)建一個稱為“幣權(quán)”的交易,這個交易會按照一定比例預先將一些幣發(fā)給礦工。然后股權(quán)證明機制根據(jù)每個節(jié)點持有代幣的比例和時間(幣齡),依據(jù)算法等比例地降低節(jié)點的挖礦難度,以加快節(jié)點尋找隨機數(shù)的速度,縮短達成共識所需的時間。
與PoW相比,PoS可以節(jié)省更多的能源,更有效率。但是由于挖礦成本接近于0,因此可能會遭受攻擊。且PoS在本質(zhì)上仍然需要網(wǎng)絡中的節(jié)點進行挖礦運算,所以它同樣難以應用于商業(yè)領(lǐng)域。
2.數(shù)字貨幣的應用實例
PoS機制下較為成熟的數(shù)字貨幣是點點幣(Peercoin)和未來幣(NXT),相比于PoW,PoS機制節(jié)省了能源,引入了"幣天"這個概念來參與隨機運算。PoS機制能夠讓更多的持幣人參與到記賬這個工作中去,而不需要額外購買設(shè)備(礦機、顯卡等)。每個單位代幣的運算能力與其持有的時間長成正相關(guān),即持有人持有的代幣數(shù)量越多、時間越長,其所能簽署、生產(chǎn)下一個區(qū)塊的概率越大。一旦其簽署了下一個區(qū)塊,持幣人持有的幣天即清零,重新進入新的循環(huán)。
PoS適用于公有鏈。
3.區(qū)塊簽署人的產(chǎn)生方式
在PoS機制下,因為區(qū)塊的簽署人由隨機產(chǎn)生,則一些持幣人會長期、大額持有代幣以獲得更大概率地產(chǎn)生區(qū)塊,盡可能多的去清零他的"幣天"。因此整個網(wǎng)絡中的流通代幣會減少,從而不利于代幣在鏈上的流通,價格也更容易受到波動。由于可能會存在少量大戶持有整個網(wǎng)絡中大多數(shù)代幣的情況,整個網(wǎng)絡有可能會隨著運行時間的增長而越來越趨向于中心化。相對于PoW而言,PoS機制下作惡的成本很低,因此對于分叉或是雙重支付的攻擊,需要更多的機制來保證共識。穩(wěn)定情況下,每秒大約能產(chǎn)生12筆交易,但因為網(wǎng)絡延遲及共識問題,需要約60秒才能完整廣播共識區(qū)塊。長期來看,生成區(qū)塊(即清零"幣天")的速度遠低于網(wǎng)絡傳播和廣播的速度,因此在PoS機制下需要對生成區(qū)塊進行"限速",來保證主網(wǎng)的穩(wěn)定運行。
4.簡圖理解模式
(PS:擁有越多“股份”權(quán)益的人越容易獲取賬權(quán)。是指獲得多少貨幣,取決于你挖礦貢獻的工作量,電腦性能越好,分給你的礦就會越多。)
(在純POS體系中,如NXT,沒有挖礦過程,初始的股權(quán)分配已經(jīng)固定,之后只是股權(quán)在交易者之中流轉(zhuǎn),非常類似于現(xiàn)實世界的股票。)
(三)DPoS(DelegatedProofofStake)股份授權(quán)證明機制
1.基本介紹
由于PoS的種種弊端,由此比特股首創(chuàng)的權(quán)益代表證明機制DPoS(DelegatedProofofStake)應運而生。DPoS機制中的核心的要素是選舉,每個系統(tǒng)原生代幣的持有者在區(qū)塊鏈里面都可以參與選舉,所持有的代幣余額即為投票權(quán)重。通過投票,股東可以選舉出理事會成員,也可以就關(guān)系平臺發(fā)展方向的議題表明態(tài)度,這一切構(gòu)成了社區(qū)自治的基礎(chǔ)。股東除了自己投票參與選舉外,還可以通過將自己的選舉票數(shù)授權(quán)給自己信任的其它賬戶來代表自己投票。
具體來說,DPoS由比特股(Bitshares)項目組發(fā)明。股權(quán)擁有著選舉他們的代表來進行區(qū)塊的生成和驗證。DPoS類似于現(xiàn)代企業(yè)董事會制度,比特股系統(tǒng)將代幣持有者稱為股東,由股東投票選出101名代表,然后由這些代表負責生成和驗證區(qū)塊。持幣者若想稱為一名代表,需先用自己的公鑰去區(qū)塊鏈注冊,獲得一個長度為32位的特有身份標識符,股東可以對這個標識符以交易的形式進行投票,得票數(shù)前101位被選為代表。
代表們輪流產(chǎn)生區(qū)塊,收益(交易手續(xù)費)平分。DPoS的優(yōu)點在于大幅減少了參與區(qū)塊驗證和記賬的節(jié)點數(shù)量,從而縮短了共識驗證所需要的時間,大幅提高了交易效率。從某種角度來說,DPoS可以理解為多中心系統(tǒng),兼具去中心化和中心化優(yōu)勢。優(yōu)點:大幅縮小參與驗證和記賬節(jié)點的數(shù)量,可以達到秒級的共識驗證。缺點:投票積極性不高,絕大部分代幣持有者未參與投票;另整個共識機制還是依賴于代幣,很多商業(yè)應用是不需要代幣存在的。
DPoS機制要求在產(chǎn)生下一個區(qū)塊之前,必須驗證上一個區(qū)塊已經(jīng)被受信任節(jié)點所簽署。相比于PoS的"全民挖礦",DPoS則是利用類似"代表大會"的制度來直接選取可信任節(jié)點,由這些可信任節(jié)點(即見證人)來代替其他持幣人行使權(quán)力,見證人節(jié)點要求長期在線,從而解決了因為PoS簽署區(qū)塊人不是經(jīng)常在線而可能導致的產(chǎn)塊延誤等一系列問題。DPoS機制通常能達到萬次每秒的交易速度,在網(wǎng)絡延遲低的情況下可以達到十萬秒級別,非常適合企業(yè)級的應用。因為公信寶數(shù)據(jù)交易所對于數(shù)據(jù)交易頻率要求高,更要求長期穩(wěn)定性,因此DPoS是非常不錯的選擇。
2.股份授權(quán)證明機制下的機構(gòu)與系統(tǒng)
理事會是區(qū)塊鏈網(wǎng)絡的權(quán)力機構(gòu),理事會的人選由系統(tǒng)股東(即持幣人)選舉產(chǎn)生,理事會成員有權(quán)發(fā)起議案和對議案進行投票表決。
理事會的重要職責之一是根據(jù)需要調(diào)整系統(tǒng)的可變參數(shù),這些參數(shù)包括:
l費用相關(guān):各種交易類型的費率。
l授權(quán)相關(guān):對接入網(wǎng)絡的第三方平臺收費及補貼相關(guān)參數(shù)。
l區(qū)塊生產(chǎn)相關(guān):區(qū)塊生產(chǎn)間隔時間,區(qū)塊獎勵。
l身份審核相關(guān):審核驗證異常機構(gòu)賬戶的信息情況。
l同時,關(guān)系到理事會利益的事項將不通過理事會設(shè)定。
在Finchain系統(tǒng)中,見證人負責收集網(wǎng)絡運行時廣播出來的各種交易并打包到區(qū)塊中,其工作類似于比特幣網(wǎng)絡中的礦工,在采用PoW(工作量證明)的比特幣網(wǎng)絡中,由一種獲獎概率取決于哈希算力的抽彩票方式來決定哪個礦工節(jié)點產(chǎn)生下一個區(qū)塊。而在采用DPoS機制的金融鏈網(wǎng)絡中,通過理事會投票決定見證人的數(shù)量,由持幣人投票來決定見證人人選。入選的活躍見證人按順序打包交易并生產(chǎn)區(qū)塊,在每一輪區(qū)塊生產(chǎn)之后,見證人會在隨機洗牌決定新的順序后進入下一輪的區(qū)塊生產(chǎn)。
3.DPoS的應用實例
比特股(bitshares)采用DPoS。DPoS主要適用于聯(lián)盟鏈。
4.簡圖理解模式
(四)PBFT(PracticalByzantineFaultTolerance)實用拜占庭容錯算法
1.基本介紹
PBFT是一種基于嚴格數(shù)學證明的算法,需要經(jīng)過三個階段的信息交互和局部共識來達成最終的一致輸出。三個階段分別為預備(pre-prepare)、準備(prepare)、落實(commit)。PBFT算法證明系統(tǒng)中只要有2/3比例以上的正常節(jié)點,就能保證最終一定可以輸出一致的共識結(jié)果。換言之,在使用PBFT算法的系統(tǒng)中,至多可以容忍不超過系統(tǒng)全部節(jié)點數(shù)量1/3的失效節(jié)點(包括有意誤導、故意破壞系統(tǒng)、超時、重復發(fā)送消息、偽造簽名等的節(jié)點,又稱為”拜占庭”節(jié)點)。
2.PBFT的應用實例
著名聯(lián)盟鏈HyperledgerFabricv0.6采用的是PBFT,v1.0又推出PBFT的改進版本SBFT。PBFT主要適用于私有鏈和聯(lián)盟鏈。
3.簡圖理解模式
上圖顯示了一個簡化的PBFT的協(xié)議通信模式,其中C為客戶端,0–3表示服務節(jié)點,其中0為主節(jié)點,3為故障節(jié)點。整個協(xié)議的基本過程如下:
(1)客戶端發(fā)送請求,激活主節(jié)點的服務操作;
(2)當主節(jié)點接收請求后,啟動三階段的協(xié)議以向各從節(jié)點廣播請求;
(a)序號分配階段,主節(jié)點給請求賦值一個序號n,廣播序號分配消息和客戶端的請求消息m,并將構(gòu)造pre-prepare消息給各從節(jié)點;
(b)交互階段,從節(jié)點接收pre-prepare消息,向其他服務節(jié)點廣播prepare消息;
(c)序號確認階段,各節(jié)點對視圖內(nèi)的請求和次序進行驗證后,廣播commit消息,執(zhí)行收到的客戶端的請求并給客戶端響應。
(3)客戶端等待來自不同節(jié)點的響應,若有m1個響應相同,則該響應即為運算的結(jié)果;
(五)DBFT(DelegatedByzantineFaultTolerance)授權(quán)拜占庭容錯算法
1.基本介紹
DBFT建基于PBFT的基礎(chǔ)上,在這個機制當中,存在兩種參與者,一種是專業(yè)記賬的“超級節(jié)點”,一種是系統(tǒng)當中不參與記賬的普通用戶。普通用戶基于持有權(quán)益的比例來投票選出超級節(jié)點,當需要通過一項共識(記賬)時,在這些超級節(jié)點中隨機推選出一名發(fā)言人擬定方案,然后由其他超級節(jié)點根據(jù)拜占庭容錯算法(見上文),即少數(shù)服從多數(shù)的原則進行表態(tài)。如果超過2/3的超級節(jié)點表示同意發(fā)言人方案,則共識達成。這個提案就成為最終發(fā)布的區(qū)塊,并且該區(qū)塊是不可逆的,所有里面的交易都是百分之百確認的。如果在一定時間內(nèi)還未達成一致的提案,或者發(fā)現(xiàn)有非法交易的話,可以由其他超級節(jié)點重新發(fā)起提案,重復投票過程,直至達成共識。
2.DBFT的應用實例
國內(nèi)加密貨幣及區(qū)塊鏈平臺NEO是DBFT算法的研發(fā)者及采用者。
3.簡圖理解模式
假設(shè)系統(tǒng)中只有四個由普通用戶投票選出的超級節(jié)點,當需要通過一項共識時,系統(tǒng)就會從代表中隨機選出一名發(fā)言人擬定方案。發(fā)言人會將擬好的方案交給每位代表,每位代表先判斷發(fā)言人的計算結(jié)果與它們自身紀錄的是否一致,再與其它代表商討驗證計算結(jié)果是否正確。如果2/3的代表一致表示發(fā)言人方案的計算結(jié)果是正確的,那么方案就此通過。
如果只有不到2/3的代表達成共識,將隨機選出一名新的發(fā)言人,再重復上述流程。這個體系旨在保護系統(tǒng)不受無法行使職能的領(lǐng)袖影響。
上圖假設(shè)全體節(jié)點都是誠實的,達成100%共識,將對方案A(區(qū)塊)進行驗證。
鑒于發(fā)言人是隨機選出的一名代表,因此他可能會不誠實或出現(xiàn)故障。上圖假設(shè)發(fā)言人給3名代表中的2名發(fā)送了惡意信息(方案B),同時給1名代表發(fā)送了正確信息(方案A)。
在這種情況下該惡意信息(方案B)無法通過。中間與右邊的代表自身的計算結(jié)果與發(fā)言人發(fā)送的不一致,因此就不能驗證發(fā)言人擬定的方案,導致2人拒絕通過方案。左邊的代表因接收了正確信息,與自身的計算結(jié)果相符,因此能確認方案,繼而成功完成1次驗證。但本方案仍無法通過,因為不足2/3的代表達成共識。接著將隨機選出一名新發(fā)言人,重新開始共識流程。
上圖假設(shè)發(fā)言人是誠實的,但其中1名代表出現(xiàn)了異常;右邊的代表向其他代表發(fā)送了不正確的信息(B)。
在這種情況下發(fā)言人擬定的正確信息(A)依然可以獲得驗證,因為左邊與中間誠實的代表都可以驗證由誠實的發(fā)言人擬定的方案,達成2/3的共識。代表也可以判斷到底是發(fā)言人向右邊的節(jié)點說謊還是右邊的節(jié)點不誠實。
(六)SCP(StellarConsensusProtocol)恒星共識協(xié)議
1.基本介紹
SCP是Stellar(一種基于互聯(lián)網(wǎng)的去中心化全球支付協(xié)議)研發(fā)及使用的共識算法,其建基于聯(lián)邦拜占庭協(xié)議(FederatedByzantineAgreement)。傳統(tǒng)的非聯(lián)邦拜占庭協(xié)議(如上文的PBFT和DBFT)雖然確??梢酝ㄟ^分布式的方法達成共識,并達到拜占庭容錯(至多可以容忍不超過系統(tǒng)全部節(jié)點數(shù)量1/3的失效節(jié)點),它是一個中心化的系統(tǒng)—網(wǎng)絡中節(jié)點的數(shù)量和身份必須提前知曉且驗證過。而聯(lián)邦拜占庭協(xié)議的不同之處在于它能夠去中心化的同時,又可以做到拜占庭容錯。
[…]
(七)RPCA(RippleProtocolConsensusAlgorithm)Ripple共識算法
1.基本介紹
RPCA是Ripple(一種基于互聯(lián)網(wǎng)的開源支付協(xié)議,可以實現(xiàn)去中心化的貨幣兌換、支付與清算功能)研發(fā)及使用的共識算法。在Ripple的網(wǎng)絡中,交易由客戶端(應用)發(fā)起,經(jīng)過追蹤節(jié)點(trackingnode)或驗證節(jié)點(validatingnode)把交易廣播到整個網(wǎng)絡中。追蹤節(jié)點的主要功能是分發(fā)交易信息以及響應客戶端的賬本請求。驗證節(jié)點除包含追蹤節(jié)點的所有功能外,還能夠通過共識協(xié)議,在賬本中增加新的賬本實例數(shù)據(jù)。
Ripple的共識達成發(fā)生在驗證節(jié)點之間,每個驗證節(jié)點都預先配置了一份可信任節(jié)點名單,稱為UNL(UniqueNodeList)。在名單上的節(jié)點可對交易達成進行投票。共識過程如下:
(1)每個驗證節(jié)點會不斷收到從網(wǎng)絡發(fā)送過來的交易,通過與本地賬本數(shù)據(jù)驗證后,不合法的交易直接丟棄,合法的交易將匯總成交易候選集(candidateset)。交易候選集里面還包括之前共識過程無法確認而遺留下來的交易。
(2)每個驗證節(jié)點把自己的交易候選集作為提案發(fā)送給其他驗證節(jié)點。
(3)驗證節(jié)點在收到其他節(jié)點發(fā)來的提案后,如果不是來自UNL上的節(jié)點,則忽略該提案;如果是來自UNL上的節(jié)點,就會對比提案中的交易和本地的交易候選集,如果有相同的交易,該交易就獲得一票。在一定時間內(nèi),當交易獲得超過50%的票數(shù)時,則該交易進入下一輪。沒有超過50%的交易,將留待下一次共識過程去確認。
(4)驗證節(jié)點把超過50%票數(shù)的交易作為提案發(fā)給其他節(jié)點,同時提高所需票數(shù)的閾值到60%,重復步驟(3)、步驟(4),直到閾值達到80%。
(5)驗證節(jié)點把經(jīng)過80%UNL節(jié)點確認的交易正式寫入本地的賬本數(shù)據(jù)中,稱為最后關(guān)閉賬本(lastclosedledger),即賬本最后(最新)的狀態(tài)。
在Ripple的共識算法中,參與投票節(jié)點的身份是事先知道的,因此,算法的效率比PoW等匿名共識算法要高效,交易的確認時間只需幾秒鐘。這點也決定了該共識算法只適合于聯(lián)盟鏈或私有鏈。Ripple共識算法的拜占庭容錯(BFT)能力為(n-1)/5,即可以容忍整個網(wǎng)絡中20%的節(jié)點出現(xiàn)拜占庭錯誤而不影響正確的共識。
2.簡圖理解模式
共識過程節(jié)點交互示意圖:
共識算法流程:
(八)POOL驗證池共識機制
Pool驗證池共識機制是基于傳統(tǒng)的分布式一致性算法(Paxos和Raft)的基礎(chǔ)上開發(fā)的機制。Paxos算法是1990年提出的一種基于消息傳遞且具有高度容錯特性的一致性算法。過去,Paxos一直是分布式協(xié)議的標準,但是Paxos難于理解,更難以實現(xiàn)。Raft則是在2013年發(fā)布的一個比Paxos簡單又能實現(xiàn)Paxos所解決問題的一致性算法。Paxos和Raft達成共識的過程皆如同選舉一樣,參選者需要說服大多數(shù)選民(服務器)投票給他,一旦選定后就跟隨其操作。Paxos和Raft的區(qū)別在于選舉的具體過程不同。而Pool驗證池共識機制即是在這兩種成熟的分布式一致性算法的基礎(chǔ)上,輔之以數(shù)據(jù)驗證的機制。
1點點幣等于0.1鉆石。
1點點幣等于0.1鉆石。點點幣是《點點開黑》中的虛擬貨幣,可以購買許多道具,1元等于100點點幣等于10鉆石。
《點點開黑》,是一款以游戲組隊為主的綜合社交類app。
數(shù)字貨幣是電子貨幣形式的替代貨幣,是一種法定貨幣,必須由中央銀行來發(fā)行。數(shù)字金幣和密碼貨幣都屬于數(shù)字貨幣,它不是網(wǎng)絡虛擬貨幣,因為它不僅僅局限在虛擬空間中,而是經(jīng)常被用于真實的商品和服務交易,例如比特幣、萊特幣、比特股等,目前全世界發(fā)行有數(shù)千種數(shù)字貨幣。
央行推出的數(shù)字貨幣是國家主權(quán)貨幣,是基于人民幣數(shù)字化的貨幣。這是由復雜算法產(chǎn)生的一段數(shù)據(jù),內(nèi)部包含了區(qū)塊鏈和加密技術(shù),使其具有較早性。而支付寶、微信支付等并非數(shù)字貨幣,只是基于電子賬戶實現(xiàn)的支付,其在線下要有實物貨幣作為對應。相比目前借助第三方支付完成的“付款—轉(zhuǎn)賬—收款”格局,數(shù)字貨幣要實現(xiàn)的就是“去中心化”,即取消轉(zhuǎn)賬環(huán)節(jié),直接把錢從付款者的賬戶里交給收款者,減少貨幣流通中的支付成本。
數(shù)字貨幣類型
根據(jù)發(fā)行或共識機制的不同,可分為4類:
1、工作量證明(PoW)類
ProofofWork。通過算力挖礦獲得系統(tǒng)獎勵,完成貨幣的發(fā)行與分配。多勞多得。比如比特幣、萊特幣(LTC)。
優(yōu)點是挖礦成本能在一定程度上形成貨幣的價格支撐,不足是能耗和環(huán)保問題為人詬病。
2、權(quán)益證明(PoS)類
ProofofStake,又稱股權(quán)證明。根據(jù)你持有加密貨幣的數(shù)量和時間,分配新生成貨幣或利息。比如達世幣(DASH)、小蟻幣(NEO)。
與PoW相比,PoS更節(jié)能,但增加了安全風險。
3、委托權(quán)益證明(DPoS)
DelegatedProofofStake,PoS的進化方案。類似董事會的投票機制,通過選舉代表進行投票和決策,選舉N個記賬節(jié)點來做新區(qū)塊的創(chuàng)建、驗證、簽名和相互監(jiān)督。比如柚子幣(EOS)。
優(yōu)點是高效,問題是呈現(xiàn)出了半中心化的狀態(tài)。
4、PoWPoS混合機制
PoW主要用于發(fā)行貨幣,PoS用于維護系統(tǒng)。比如點點幣(PPC)。
根據(jù)項目類型,也可分為4類:
1、貨幣類
以轉(zhuǎn)賬、支付、價值儲存為目的而發(fā)行的數(shù)字貨幣。比如比特幣、比特幣現(xiàn)金(BCH)、門羅幣(XMR)、Grin。
2、公鏈類
公鏈幣,即公鏈項目發(fā)行的數(shù)字貨幣,一般是應用項目在公鏈上運行所需的“燃料”。比如以太坊(ETH)、柚子幣、波場(TRX)、本體(ONT)。
3、應用類
應用代幣,即去中心化應用項目發(fā)行的數(shù)字貨幣,相當于股權(quán)或積分。比如嫩模幣(OMG,支付應用)、公信寶(GXC,數(shù)據(jù)應用)、1ST(游戲應用)。
4、平臺類
平臺幣,即數(shù)字貨幣交易所發(fā)行的數(shù)字貨幣,相當于股權(quán)、積分或燃料。比如幣安幣(BNB)、火幣全球生態(tài)積分(HT)、OKB。
點點幣/PPC幣是什么幣的介紹就聊到這里吧,感謝你花時間閱讀本站內(nèi)容,更多關(guān)于ppb幣是什么、點點幣/PPC幣是什么幣的信息別忘了在本站進行查找喔。