什麼是區塊鏈共識?

想知道更多關於區塊鏈技術知識,請百度【鏈客區塊鏈技術問答社區】
鏈客,有問必答!

在這裏插入圖片描述
共識(Consensus)過程是一個很是有趣的過程。
在咱們的平常生活中,幾乎全部的事情都是達成共識的過程。
達成共識越分散的過程,其效率就越低,但滿意度越高,所以也越穩定;相反,達成共識越集中的過程,效率越高,也越容易出現獨裁和腐敗現象。
達成共識經常使用的一種方法就是經過物質上的激勵以對某個事件達成共識;可是這種共識存在的問題就是容易被外界其它更大的物質激勵所破壞。
還有一種就是羣體中的個體按照符合自身利益或整個羣體利益的方向來對某個事件自發地達成共識;固然造成這種自發式的以維護羣體利益爲核心的共識過程仍是須要時間和環境因素的,可是一旦達成這樣的共識趨勢,其共識結果也越穩定,越不容易被破壞。
在比特幣和其它區塊鏈幣中,也存在如何達成共識的問題。或者說,比特幣或其它區塊鏈幣最核心的問題也是如何在去中心化的環境中達成共識。
區塊鏈是比特幣背後的核心技術,也是支撐比特幣的基礎架構。所以在談區塊鏈共識,就必然要談比特幣的共識。
比特幣最核心的突破是在去中心化的狀況下對交易事件達成了共識,即在沒有中心組織的狀況下對某個交易的有效性達成了一致。
比特幣實現這個共識的方法主要包括兩個部分:
激勵;即經過每一個區塊產生必定量的新比特幣來激勵參與者;
引入外部資源確保安全;即經過大量的外部計算來確保共識的安全性,也就是工做量證實(Proof of Power);
這也是幾乎全部PoW幣種所採用的的方法。
而這套方法要能持續長期運行下去的前提就是:
這種激勵對參與者要有足夠的吸引力;也就是說比特幣要一直漲價,才能吸引參與者持續參與挖礦計算,以維護整個網絡的運行;不然就會致使參與的人減小,破壞網絡安全;
沒有外部攻擊;因爲比特幣引入了外部計算來確保安全,所以只要有足夠的挖礦算力(超過維護系統算力的51%)就能對系統成功進行攻擊,這也是比特幣長期存在的安全隱患之一;由於只要有錢,就能買到設備和算力。
正是因爲比特幣存在的問題,例如消耗大量的資源、外部51%攻擊等,出現了PoS(Proof of Stake)共識機理。
整體上,PoS共識理論和實踐目前仍處在探索階段。
最原始的PoS機理就是用股權代替PoW中的挖礦算力,來模擬比特幣的挖礦過程。請注意,這個過程沒有引入外部資源,而是僅僅依靠自身的幣種股份來維護網絡安全,所以其不須要消耗大量能源來進行計算;並且因爲其沒有引入外部的資源,所以不會擔憂外部攻擊,例如外界的算力攻擊。
看起來PoS是很完美的,可是它存在一個嚴重漏洞。
PoS存在內部的Nothing-at-Stake攻擊。
什麼是Nothing-at-Stake(常寫做N@S)攻擊?
假設系統中出現了兩個分支鏈,那麼對於持有幣的」挖礦者「來說,最佳的操做策略就是同時在兩個分支上進行「挖礦」,這樣,不管哪一個分支勝出,對幣種持有者來說,都會得到本屬於他的利益,即不會有利益損失。並且因爲不須要算力消耗,所以PoS中在兩個分支上挖礦是可行的。
第二個問題是重寫歷史攻擊;即攻擊者能夠經過購買原始持有幣種的帳戶來從頭髮起攻擊,從新分叉一個區塊鏈。由於原始的幣種持有者能夠將幣轉移至其它帳戶,所以他是能夠在沒有損失的狀況下將原始帳戶出售給攻擊者的。攻擊者須要的就是有足夠數量幣的原始帳戶;固然了,這也只是機率問題,由於有可能原始帳戶持有者不會出售他們的帳戶,可是理論上確實存在這種攻擊。
第三個問題是,儘管PoS中的挖礦不用消耗算力,運行成本很低,可是也存在如何激勵礦工的問題。由於通常的PoS系統是沒有新幣產生的,礦工只能賺取交易費,並且在交易費不高的狀況下,對礦工的激勵也是頗有限的。
上述3個問題是PoS要解決的,尤爲是N@S的問題尤其重要,由於若是沒有其它約束機制,這種攻擊是徹底有可能實現的。
以現實爲例,事件的信息越透明、所涉及到的人員參與度越高,最終造成的共識也就越穩定、越持久。這與區塊鏈共識是一致的。
以上是我的的對區塊鏈共識的一些學習心得,指望能看到更多這方面的討論和研究文章,與愛好者一塊兒分享。安全

相關文章
相關標籤/搜索