#本文僅代表作者觀點(diǎn),不代表IPRdaily立場(chǎng)#
原標(biāo)題:共識(shí)機(jī)制:區(qū)塊鏈技術(shù)的根基
我們驚嘆于區(qū)塊鏈新技術(shù),而共識(shí)機(jī)制是這些革命性技術(shù)的根基,共識(shí)機(jī)制的不同導(dǎo)致不同的區(qū)塊鏈項(xiàng)目的形態(tài),區(qū)塊鏈網(wǎng)絡(luò)使身處不同地域的成千上萬(wàn)的人置于同一空間中,那他們?nèi)绾卧诓桓鷦e人接觸的情況下還能達(dá)成一致呢?
Chapter-1:什么是共識(shí)機(jī)制?
技術(shù)定義是:共識(shí)機(jī)制是一個(gè)群體決策的流程,群體中的個(gè)體會(huì)執(zhí)行和支持對(duì)群體其他個(gè)人最好的決定。這是一個(gè)個(gè)體需要支持大多數(shù)人決定的解決方式,不管他們意愿如何。
簡(jiǎn)單地說(shuō),這僅僅是一個(gè)群體決策的方式,舉例說(shuō)明,10個(gè)人的小團(tuán)體,要決策出對(duì)他們所有人最有利的決定,每一個(gè)人都提出一個(gè)方案,但是大多數(shù)人只會(huì)支持那個(gè)對(duì)他們最有利的方案,而其他人只能服從這個(gè)決定,不管個(gè)人意愿如何。
共識(shí)機(jī)制不僅僅是同意大多數(shù)同意的決定,同時(shí)需要同意那個(gè)對(duì)所有人都最有利的方案,因此,它是一個(gè)網(wǎng)絡(luò)共贏的決定。區(qū)塊鏈共識(shí)模型是在網(wǎng)絡(luò)世界中創(chuàng)造平等和公平,用于達(dá)成共識(shí)的共識(shí)系統(tǒng)叫做共識(shí)理論。
區(qū)塊鏈共識(shí)模型包括以下內(nèi)容:
達(dá)成一致:機(jī)制將收集群體中所有一致意見(jiàn)
合作:群體中每個(gè)人都是為了更好地達(dá)成一致,從而群體利益一致
合作:個(gè)體都考慮群體,而不考慮他們個(gè)人利益
平等的權(quán)利:每一個(gè)個(gè)體參與者都有相同投票的權(quán)利,這意味著每一個(gè)人的投票都非常重要
參與:每個(gè)在網(wǎng)絡(luò)中的個(gè)體都需要參與投票,沒(méi)有人能夠逃避或者僅僅在集體中而不投票
積極性:群體中每個(gè)成員都是相同的活躍度,沒(méi)有人需要承擔(dān)群體中的更多的責(zé)任
不同的共識(shí)機(jī)制:
Chapter-2: 拜占庭容錯(cuò)問(wèn)題
拜占庭容錯(cuò)是一個(gè)特殊錯(cuò)誤事項(xiàng)的系統(tǒng),它叫拜占庭將軍問(wèn)題。你可以在一臺(tái)分布式計(jì)算機(jī)系統(tǒng)中經(jīng)歷這種情形,通常是共識(shí)系統(tǒng)失靈。
系統(tǒng)組件處理更加相互沖突的信息,共識(shí)系統(tǒng)只有在所有因素都正常工作的狀態(tài)下才能正常工作。因此,當(dāng)其中一個(gè)系統(tǒng)組件失靈的時(shí)候,會(huì)導(dǎo)致整個(gè)系統(tǒng)奔潰。
失靈的組件通常是由拜占庭容錯(cuò)系統(tǒng)的不一致導(dǎo)致,這也是為什么這些去中心化網(wǎng)絡(luò)的共識(shí)系統(tǒng)使用感并不理想。
專(zhuān)家稱(chēng)之為“拜占庭將軍問(wèn)題”,是否仍然令人困惑?讓我用一個(gè)共識(shí)的例子來(lái)說(shuō)明。
想象有一群將軍,每個(gè)將軍都有一支他們自己的拜占庭戰(zhàn)士隊(duì)伍。他們將要攻占一座城市,因此他們需要計(jì)劃攻占的戰(zhàn)術(shù)。
你可能會(huì)認(rèn)為這是徒勞的,因?yàn)檫@個(gè)只是一個(gè)小問(wèn)題。將軍們可以通過(guò)一個(gè)信使來(lái)溝通,但是當(dāng)中一些背信棄義的將軍可能試圖破壞整個(gè)攻占計(jì)劃。
他們可以通過(guò)信使傳達(dá)一些不真實(shí)的信息,甚至信使可能是敵人派來(lái)潛伏的臥底。
信使也有可能傳達(dá)錯(cuò)誤的信息蓄意破壞整個(gè)攻占計(jì)劃。
這就是為什么需要小心謹(jǐn)慎。第一,所有將軍們必須達(dá)成了一致的攻占決定;第二,保證不會(huì)出現(xiàn)任何的叛徒,否則整個(gè)任務(wù)都會(huì)失敗。
這看起來(lái)很簡(jiǎn)單,但實(shí)際上,并不是。根據(jù)研究,平均3n+1個(gè)將軍中就會(huì)有n個(gè)叛徒出現(xiàn),4個(gè)將軍對(duì)付一個(gè)叛徒,這也是相當(dāng)棘手了。
Chapter-3:為什么我們需要共識(shí)機(jī)制?
拜占庭問(wèn)題主要就是為了達(dá)成一致。即使出現(xiàn)一個(gè)錯(cuò)誤,節(jié)點(diǎn)們也不能達(dá)成一致,或者將達(dá)成一致的難度系數(shù)提高。
另外,共識(shí)機(jī)制并不是真的解決這類(lèi)型問(wèn)題,它們的初衷是在任何情況下都能夠達(dá)成一個(gè)特殊目標(biāo)。區(qū)塊鏈共識(shí)模型將比拜占庭更加可靠,以及容錯(cuò)性更高。
Chapter-4: 區(qū)塊鏈:去中心化網(wǎng)絡(luò)組織數(shù)據(jù)的架構(gòu)
重新看一下區(qū)塊鏈技術(shù),獲得一個(gè)整體網(wǎng)絡(luò)的全貌 ——組織數(shù)據(jù)庫(kù)的新方式 ——可以存儲(chǔ)網(wǎng)絡(luò)中任何變化的內(nèi)容 ——所有數(shù)據(jù)都將像物質(zhì)一樣被放進(jìn)區(qū)塊中。
因此,在區(qū)塊鏈中你將不會(huì)看到任何去中心化,這是因?yàn)閰^(qū)塊鏈本身不提供去中心化的環(huán)境。這也是為什么我們需要共識(shí)機(jī)制來(lái)保證我們的系統(tǒng)是完全去中心化的。
因此,區(qū)塊鏈技術(shù)僅僅是創(chuàng)造了一個(gè)結(jié)構(gòu)化的數(shù)據(jù)庫(kù),并不會(huì)執(zhí)行去中心化的流程。這就是為什么區(qū)塊鏈技術(shù)被稱(chēng)為去中心化網(wǎng)絡(luò)的架構(gòu)而已。
Chapter-5:共識(shí)機(jī)制:網(wǎng)絡(luò)的靈魂
這個(gè)方式相當(dāng)簡(jiǎn)潔。區(qū)塊鏈共識(shí)模型僅僅是達(dá)成一致的方式,然而任何去中心化系統(tǒng)都離不開(kāi)共識(shí)機(jī)制。
節(jié)點(diǎn)是否相互信任也不重要,網(wǎng)絡(luò)會(huì)遵循一定的原則去達(dá)成集體的一致。因此,你需要了解所有類(lèi)型的共識(shí)機(jī)制。
目前為止我們沒(méi)有發(fā)現(xiàn)有某一種共識(shí)機(jī)制存在所有區(qū)塊鏈技術(shù)項(xiàng)目中的。我們來(lái)看一下不同的共識(shí)機(jī)制。
Chapter-6:不同類(lèi)型的共識(shí)機(jī)制
所有共識(shí)機(jī)制列表
Proof-of-Work 工作量證明
Proof-of-Stake 權(quán)益證明
Delegated Proof-of-Stake 委托權(quán)益證明
Leased Proof-Of-Stake 租用權(quán)益證明
Proof of Elapsed Time 過(guò)去時(shí)間證明
Practical Byzantine Fault Tolerance 實(shí)用拜占庭容錯(cuò)
Simplified Byzantine Fault Tolerance 簡(jiǎn)單拜占庭容錯(cuò)
Delegated Byzantine Fault Tolerance 委托拜占庭容錯(cuò)
Directed Acyclic Graphs 有向非循環(huán)圖
Proof-of-Activity 活動(dòng)量證明
Proof-of-Importance 重要性證明
Proof-of-Capacity 容量證明
Proof-of-Burn 燃燒證明
Proof-of-Weight 重量證明
Proof of Work工作量證明
工作量證明是第一個(gè)區(qū)塊鏈共識(shí)機(jī)制。許多區(qū)塊鏈項(xiàng)目都是用共識(shí)機(jī)制來(lái)驗(yàn)證交易以及產(chǎn)生相關(guān)區(qū)塊的。
去中心化賬本系統(tǒng)收集所有關(guān)于區(qū)塊的信息,然而需要一個(gè)對(duì)所有交易區(qū)塊作特殊貢獻(xiàn)的角色。
承擔(dān)這些任務(wù)的所有個(gè)體節(jié)點(diǎn)叫礦工,它們完成這些任務(wù)的過(guò)程叫“挖礦”。
這項(xiàng)技術(shù)背后最核心的原則是解決復(fù)雜的數(shù)學(xué)問(wèn)題以及很容易得到答案。
這個(gè)數(shù)學(xué)問(wèn)題是什么?這些數(shù)學(xué)問(wèn)題就是,消耗大量計(jì)算機(jī)計(jì)算能力,去解決哈希函數(shù)(Hash Function),或者在不知道輸入值的情況下找到輸出值,另外一個(gè)就是整數(shù)分解(integer factorization),這也包含大量猜謎過(guò)程。
當(dāng)服務(wù)器遭受DDoS攻擊或者去解決共識(shí)系統(tǒng)難題需要消耗大量算力,這時(shí)礦工就派上用場(chǎng)。用數(shù)學(xué)等式解決整個(gè)問(wèn)題的答案就叫哈希。
然而工作量證明有很多缺陷。由于網(wǎng)絡(luò)增長(zhǎng)得過(guò)于龐大,需要消耗大量算力,這個(gè)過(guò)程也增加了系統(tǒng)整體的敏感性。
為什么系統(tǒng)變得如此敏感?
區(qū)塊鏈共識(shí)順序依靠準(zhǔn)確的數(shù)據(jù)和信息。然而系統(tǒng)速度極慢。如果一個(gè)問(wèn)題非常復(fù)雜,將耗費(fèi)大量時(shí)間去產(chǎn)生一個(gè)區(qū)塊。
交易被延遲,然后整個(gè)工作流程將停滯。如果區(qū)塊產(chǎn)生問(wèn)題不能在一定時(shí)間內(nèi)解決,那么區(qū)塊產(chǎn)生將成為一個(gè)幻想。然而如果問(wèn)題被系統(tǒng)很容易解決了,這又可能導(dǎo)致DDoS攻擊。同時(shí),解決方案需要被進(jìn)一步仔細(xì)檢查,因?yàn)椴皇撬泄?jié)點(diǎn)都能夠發(fā)現(xiàn)潛在的錯(cuò)誤。
如果他們能夠做到,網(wǎng)絡(luò)將失去最重要的特性——透明。
工作量證明如何應(yīng)用在一個(gè)區(qū)塊鏈網(wǎng)絡(luò)中?
首先,礦工解決所有猜謎問(wèn)題,然后產(chǎn)生新區(qū)塊,然后驗(yàn)證交易。無(wú)法說(shuō)明一個(gè)猜謎難題有多復(fù)雜,這取決于用戶(hù)數(shù)量最大值,當(dāng)時(shí)算力的最小值,以及網(wǎng)絡(luò)整體容量。
新區(qū)塊在哈希函數(shù)被解決之后產(chǎn)生,以及每一個(gè)新產(chǎn)生區(qū)塊都包含前一個(gè)區(qū)塊的哈希函數(shù)值。通過(guò)這種方式,網(wǎng)絡(luò)增加了保護(hù)性以及可以組織任何暴力攻擊。一旦一個(gè)礦工解決了謎題,一個(gè)新區(qū)塊將產(chǎn)生,然后交易信息被驗(yàn)證。
工作量證明共識(shí)機(jī)制實(shí)際被用于何處?
被應(yīng)用最廣泛的就是比特幣,比特幣是第一個(gè)采用這種共識(shí)機(jī)制的加密數(shù)字貨幣。區(qū)塊鏈共識(shí)模式允許根據(jù)網(wǎng)絡(luò)整體算力,動(dòng)態(tài)改變算力謎題的難度。
產(chǎn)生一個(gè)新區(qū)塊需要10分鐘。其他加密貨幣例如萊特幣,也是采用同樣的共識(shí)機(jī)制。
另外一個(gè)工作量證明的區(qū)塊鏈,以太坊,平臺(tái)上3-4個(gè)大項(xiàng)目都是采用工作量證明。然而,以太坊在逐漸過(guò)渡至權(quán)益證明。
為什么區(qū)塊鏈技術(shù)優(yōu)先采用工作量證明?
為什么其他區(qū)塊鏈項(xiàng)目會(huì)優(yōu)先采用工作量證明?這是因?yàn)楣ぷ髁孔C明提供DDoS攻擊保護(hù),以及降低整體權(quán)益挖礦。
工作量證明給黑客攻擊造成不小的難度,因?yàn)檎麄€(gè)系統(tǒng)有大量算力以及其他要求。這就是為什么雖然黑客能攻擊區(qū)塊鏈共識(shí)模型,但需要耗費(fèi)大量時(shí)間,以及攻擊難度會(huì)使整體成本過(guò)高。
另外,沒(méi)有礦工能夠左右整個(gè)網(wǎng)絡(luò),因?yàn)闆Q策不是根據(jù)金錢(qián)數(shù)量,而是根據(jù)你擁有能夠創(chuàng)造新區(qū)塊的算力決定的。
工作量證明共識(shí)機(jī)制主要受到的批評(píng)?
沒(méi)有一個(gè)共識(shí)機(jī)制是完美的,工作量證明也不例外。它有許多優(yōu)點(diǎn),同時(shí)也帶來(lái)很多缺陷。主要被詬病以下方面:
消耗大量能源
區(qū)塊鏈網(wǎng)絡(luò)包含數(shù)百萬(wàn)計(jì)的用于解決哈希問(wèn)題的定制芯片,這個(gè)過(guò)程要求大量的能源支撐。
目前,比特幣擁有每秒200億哈希算力。網(wǎng)絡(luò)中礦工使用一些特殊設(shè)計(jì)的芯片,這為網(wǎng)絡(luò)增加了一層防止僵尸網(wǎng)絡(luò)攻擊(botnet attack)的保護(hù)。工作量證明的區(qū)塊鏈網(wǎng)絡(luò)的保護(hù)層消耗大量密集型能源。算力的增加逐漸成為全球能耗的一個(gè)問(wèn)題——礦工也面臨增加大量電力成本。
解決這個(gè)問(wèn)題的最好方式是尋找便宜的能源。
礦工的中心化
由于能耗問(wèn)題,工作量證明也轉(zhuǎn)向便宜電力能源作為解決方案。然而,主要的問(wèn)題是比特幣大礦工數(shù)量的增加。在一定時(shí)間內(nèi),大礦工會(huì)因?yàn)閾碛写罅克懔?,而嘗試對(duì)挖礦系統(tǒng)制定新規(guī)則。這樣會(huì)造成一個(gè)去中心化網(wǎng)絡(luò)中逐漸中心化。這也是工作量證明共識(shí)機(jī)制面臨的另外一個(gè)重大問(wèn)題。
什么是51%攻擊?
這是一個(gè)由可以控制大多數(shù)用戶(hù),或者占領(lǐng)多數(shù)挖礦能力的人(或節(jié)點(diǎn)、或群體)發(fā)動(dòng)的攻擊。在這種情形下, 攻擊者有足夠的算力去控制網(wǎng)絡(luò)中的一切。
舉例,想象一個(gè)情形,當(dāng)Alice向Bob通過(guò)區(qū)塊鏈網(wǎng)絡(luò)發(fā)送一些加密貨幣,然而Alice被卷入這場(chǎng)攻擊中,而B(niǎo)ob沒(méi)有。這個(gè)轉(zhuǎn)賬交易雖然發(fā)生了,但是攻擊者通過(guò)區(qū)塊鏈的分叉,阻止了任何加密貨幣的轉(zhuǎn)賬。
另外一個(gè)情形,礦工如果加入了其中一個(gè)陣營(yíng),他們絕對(duì)算力會(huì)繼續(xù)在這些區(qū)塊后產(chǎn)生驗(yàn)證區(qū)塊,這也是為什么更加短的區(qū)塊鏈會(huì)被拒絕驗(yàn)證。同樣,Bob也無(wú)法接收轉(zhuǎn)賬。
Proof of Stake權(quán)益證明
什么是權(quán)益證明?
權(quán)益證明的產(chǎn)生就是為了解決工作量證明的缺陷。在網(wǎng)絡(luò)中加入其它區(qū)塊之前,每一個(gè)區(qū)塊將被驗(yàn)證。鏈如果有任何一點(diǎn)的扭曲,礦工可以用持有的加密貨幣對(duì)挖礦過(guò)程進(jìn)行投票。
權(quán)益證明是一種允許每個(gè)個(gè)體,根據(jù)他們持有的加密貨幣數(shù)量,參與挖礦或者驗(yàn)證區(qū)塊的共識(shí)機(jī)制。因此,在這種情形下,你擁有的加密貨幣數(shù)量越多,意味著你的權(quán)益越大。
這是如何工作的?
這種共識(shí)機(jī)制中,少數(shù)派被優(yōu)先選擇。盡管整個(gè)流程是完全隨機(jī)的,但也不是每一個(gè)少數(shù)派都能參與投票。網(wǎng)絡(luò)中的礦工是隨機(jī)被選擇的。
如果你有一定數(shù)量的加密貨幣存儲(chǔ)在錢(qián)包中,你將有資格成為網(wǎng)絡(luò)中的一個(gè)節(jié)點(diǎn)。當(dāng)成為一個(gè)節(jié)點(diǎn)后,如果你想要成為一個(gè)礦工,你需要抵押一定數(shù)量的加密數(shù)字貨幣,然后投票系統(tǒng)選出驗(yàn)證者,這是礦工必須將按照最少要求數(shù)量的加密貨幣抵押到一個(gè)特殊的錢(qián)包中。
整個(gè)過(guò)程很簡(jiǎn)單。新區(qū)塊將根據(jù)特殊錢(qián)包中的加密貨幣的數(shù)量比例產(chǎn)生。例如,如果你擁有10%的加密貨幣,那么你擁有10%機(jī)會(huì)挖出新區(qū)塊。許多區(qū)塊鏈項(xiàng)目采用不同的權(quán)益共識(shí)機(jī)制。
然而所有的權(quán)益共識(shí)機(jī)制對(duì)于新區(qū)塊產(chǎn)生都是一樣的,每一個(gè)礦工都將獲得區(qū)塊獎(jiǎng)勵(lì)以及一定數(shù)量的交易手續(xù)費(fèi)。
權(quán)益證明池里將會(huì)發(fā)生什么?
還有其他方式參與投票,如果權(quán)益數(shù)量太多,你可以加入一個(gè)池然后從中獲取收益。有以下兩種方式:
你可以將你持有的加密貨幣借給池子里要參與的用戶(hù),然后分享收益。然而,你需要找到一個(gè)可靠的人去將你手中的幣給他。
你可以自己加入一個(gè)池子,參與這個(gè)池子的每個(gè)人將根據(jù)他們權(quán)益的數(shù)量分享收益。
權(quán)益證明:優(yōu)勢(shì)?
這種共識(shí)機(jī)制不需要任何硬件支持。你只需要一個(gè)運(yùn)行正常的計(jì)算機(jī)系統(tǒng),以及一個(gè)穩(wěn)定的網(wǎng)絡(luò)即可。網(wǎng)絡(luò)中擁有足夠加密貨幣的任何人都可以驗(yàn)證交易。
如果一個(gè)人在網(wǎng)絡(luò)中進(jìn)行投資,他的投資不會(huì)貶值或者折舊。能影響收益的唯一因素就是加密貨幣的價(jià)格波動(dòng)。權(quán)益證明共識(shí)機(jī)制的區(qū)塊鏈比工作量證明更加節(jié)能,它不會(huì)消耗大量資源。
能夠減少51%攻擊的威脅。
盡管權(quán)益證明看起來(lái)比工作量證明更加合算,但仍然有一個(gè)很大的缺點(diǎn),就是不是完全去中心化。這是由于只有一部分節(jié)點(diǎn)能夠參與網(wǎng)絡(luò)投票。而擁有最多數(shù)量加密貨幣的人將最終控制大部分系統(tǒng)。
采用權(quán)益證明的主要加密貨幣
PIVX
這是一個(gè)幾乎0交易費(fèi)的匿名幣。PIVX是從DASH分叉出來(lái)的,然而不同于DASH采用工作量證明,PIVX采用權(quán)益證明。他們用分布式區(qū)塊的主節(jié)點(diǎn)來(lái)保證更好的投票效果。如果你想要擁有PIVX,你必須下載官方錢(qián)包,然后同步于區(qū)塊鏈網(wǎng)絡(luò)中,接著,你必須往錢(qián)包中轉(zhuǎn)入一些加密貨幣,然后保持連接。
NavCoin
許多加密貨幣是比特幣的分叉幣,NavCoin也是其中之一,這個(gè)項(xiàng)目是完全開(kāi)源的,他們也轉(zhuǎn)向了權(quán)益證明。為了最大化收益,你的計(jì)算機(jī)需要更長(zhǎng)時(shí)間連接網(wǎng)絡(luò)。由于權(quán)益證明異常輕量級(jí),你可以毫不擔(dān)心地任其運(yùn)行更長(zhǎng)時(shí)間。
Stratis
他們主要提供企業(yè)級(jí)服務(wù),企業(yè)可以使用Stratis去建立自己的dApps,而不用搭建自己底層的區(qū)塊鏈網(wǎng)絡(luò)。Stratis這個(gè)平臺(tái)提供側(cè)鏈進(jìn)行搭建app,從而阻止網(wǎng)絡(luò)滯后。雖然他們以工作量證明開(kāi)始,但是最終將轉(zhuǎn)向權(quán)益證明。 Delegated Proof-of-Stake Consensus委托權(quán)益證明共識(shí)
委托權(quán)益證明是權(quán)益證明的變體。系統(tǒng)具有相當(dāng)?shù)聂敯粜?,然后往整體增加了一個(gè)不同形式的彈性機(jī)制。
如果你想要快速、有效率、去中心化共識(shí)機(jī)制,那么委托權(quán)益證明將會(huì)是最好的選擇。權(quán)益擁有者的事項(xiàng)將通過(guò)一種民主的方式得到完全解決。網(wǎng)絡(luò)中的每一個(gè)組件將成為一個(gè)代理。
不同于礦工或者驗(yàn)證者,這里的節(jié)點(diǎn)被成為代理者。通過(guò)決定區(qū)塊產(chǎn)生,系統(tǒng)可以以秒級(jí)處理交易。而且,系統(tǒng)被設(shè)計(jì)成可以對(duì)所有監(jiān)管問(wèn)題進(jìn)行保護(hù)和對(duì)抗。
見(jiàn)證者驗(yàn)證所有簽名
通常,見(jiàn)證者免于所有監(jiān)管以及其他中性詞。傳統(tǒng)合約中的標(biāo)準(zhǔn)見(jiàn)證者都會(huì)對(duì)一個(gè)特殊的點(diǎn)進(jìn)行見(jiàn)證驗(yàn)證。他們僅僅是保證個(gè)體在一個(gè)特點(diǎn)時(shí)間參與了合約。
在DPOS中,見(jiàn)證者可以產(chǎn)生區(qū)塊信息。頂級(jí)見(jiàn)證者要投票選出。通常只有完全去中心化系統(tǒng)中才會(huì)發(fā)生這種投票。
所有的見(jiàn)證者都會(huì)在產(chǎn)生區(qū)塊后收到報(bào)酬。這個(gè)報(bào)酬的比例由投票系統(tǒng)事先制定。
投票選擇代理者中的特殊參數(shù)改變
跟見(jiàn)證者一樣,代理者也由投票產(chǎn)生。代理者可以改變整個(gè)網(wǎng)絡(luò)的參數(shù)。你可以通過(guò)代理者,去改變手續(xù)費(fèi)、出塊時(shí)間、區(qū)塊大小和見(jiàn)證者報(bào)酬。如果要改變網(wǎng)絡(luò)參數(shù),需要大多數(shù)代理者都參與投票支持。然而,代理者不會(huì)像見(jiàn)證者獲得報(bào)酬。
改變?cè)械囊?guī)則
為了使系統(tǒng)平穩(wěn)運(yùn)行,不時(shí)需要加入一些不同的功能。然而,無(wú)法在缺少潛在相關(guān)者的情況下添加功能。見(jiàn)證者可以聚集起來(lái),改變政策,但是他們被系統(tǒng)限定不能如此。 見(jiàn)證者需要保持中立,以及他們僅僅是作為利益相關(guān)者的雇員。所以,所有事項(xiàng)都由利益相關(guān)者決定。
雙花攻擊風(fēng)險(xiǎn)
在DPOS中,雙花攻擊風(fēng)險(xiǎn)被最大程度降低。雙花攻擊是指區(qū)塊鏈網(wǎng)絡(luò)無(wú)法包含數(shù)據(jù)庫(kù)中之前的交易記錄。網(wǎng)絡(luò)可以在無(wú)人幫助的情況下進(jìn)行自我檢查,然后發(fā)現(xiàn)類(lèi)似的損失。通過(guò)這種方式,來(lái)保證數(shù)據(jù)庫(kù)的100%透明。
權(quán)益證明下的交易完成
盡管這是權(quán)益證明的一個(gè)變體,但核心交易系統(tǒng)仍然是整個(gè)運(yùn)行在權(quán)益證明機(jī)制上的。權(quán)益證明的交易流程增加一個(gè)保護(hù)層對(duì)抗錯(cuò)誤的共識(shí)系統(tǒng)。
誰(shuí)采用委托權(quán)益證明?
LISK,為開(kāi)發(fā)者可以在這個(gè)區(qū)塊鏈平臺(tái)上,便利地開(kāi)發(fā)基于JavaScript的去中心化應(yīng)用。
Lisk跟以太坊有很多相似的地方,然而,它采用委托權(quán)益證明而非權(quán)益證明。這里的投票運(yùn)行機(jī)制不一樣。 Leased Proof-Of-Stake (LPoS) 租用權(quán)益證明
權(quán)益證明的另外一個(gè)變體是租用權(quán)益證明。采用這個(gè)新型共識(shí)機(jī)制的區(qū)塊鏈項(xiàng)目是Waves平臺(tái)。就像其他區(qū)塊鏈平臺(tái)一樣,Waves也是屬于能耗少的。權(quán)益證明對(duì)于投票機(jī)制存在一些限制。擁有少量加密貨幣的個(gè)體可能永遠(yuǎn)也無(wú)法實(shí)際參與投票環(huán)節(jié)。為了維持網(wǎng)絡(luò)運(yùn)行,只有少數(shù)擁有更多加密貨幣的個(gè)體可以參與。這個(gè)流程會(huì)導(dǎo)致在一個(gè)去中心化平臺(tái)中存在中心化團(tuán)體,這顯然不是大家愿意看到的。
在租用權(quán)益證明中,即使擁有少量加密貨幣的持幣者也能有機(jī)會(huì)參與投票。他們可以把手中的幣借給網(wǎng)絡(luò),然后從中獲取收益。引入新型的租用權(quán)益證明后,情況完全變化了。系統(tǒng)之前的缺陷可以毫無(wú)難度地得到解決。Waves平臺(tái)最主要的目的就是顧及少數(shù)的投資者。那些只擁有少量加密貨幣在錢(qián)包中的人可能永遠(yuǎn)都無(wú)法像大戶(hù)一樣有機(jī)會(huì)獲取收益。這也導(dǎo)致了共識(shí)機(jī)制一個(gè)主要命題——透明性。 Proof of Elapsed Time (PoET) 過(guò)去時(shí)間證明。
過(guò)去時(shí)間證明是最好的共識(shí)機(jī)制之一。這個(gè)特殊的機(jī)制被主要用于聯(lián)盟鏈網(wǎng)絡(luò)——即你需要得到許可才能加入這個(gè)網(wǎng)絡(luò)中。這些可允許網(wǎng)絡(luò)需要對(duì)挖礦權(quán)利或投票原則等事項(xiàng)進(jìn)行決策。為了一切順利運(yùn)行,過(guò)去時(shí)間證明采用一個(gè)特殊的手段來(lái)覆蓋整個(gè)網(wǎng)絡(luò)的透明性。這個(gè)共識(shí)機(jī)制同時(shí)能夠保證系統(tǒng)的安全登錄,在成為礦工前網(wǎng)絡(luò)需要進(jìn)行驗(yàn)證。毋庸置疑,在這個(gè)共識(shí)機(jī)制下,挑選出勝者只能依靠公平手段。
這個(gè)牛逼的共識(shí)序列的主要戰(zhàn)略是什么?
網(wǎng)絡(luò)中每一個(gè)個(gè)體必須等待一定量的時(shí)間,然而時(shí)間的限制是完全隨機(jī)的。
參與者必須完成TA的等待時(shí)間后,才能在賬本中創(chuàng)造新的區(qū)塊。
為了證實(shí)這些場(chǎng)景共識(shí)機(jī)制必須考慮以下兩點(diǎn)
勝者是否首先就選擇了隨機(jī)數(shù)?TA能否選擇一個(gè)短時(shí)間的隨機(jī)數(shù)然后就獲勝
個(gè)體是否真的完成TA被分配的等待時(shí)間?
過(guò)去時(shí)間證明依靠一個(gè)特殊的CPU設(shè)備——Intel軟件保護(hù)擴(kuò)展。這個(gè)設(shè)備能夠在網(wǎng)絡(luò)中運(yùn)行特殊的代碼,過(guò)去時(shí)間證明就是采用這個(gè)系統(tǒng)來(lái)保證勝局完全公平。
Intel SGX系統(tǒng)
由于過(guò)去時(shí)間共識(shí)機(jī)制采用SGX系統(tǒng)來(lái)驗(yàn)證公平性。我們來(lái)詳細(xì)說(shuō)一下這個(gè)系統(tǒng)。
首先,一個(gè)特殊的硬件系統(tǒng)創(chuàng)造一個(gè)認(rèn)證來(lái)使用特殊可信任的代碼。代碼是在一個(gè)安全的環(huán)境中產(chǎn)生的。任何外界都可以用這個(gè)認(rèn)證來(lái)驗(yàn)證是否被篡改。
第二,這些代碼是在網(wǎng)絡(luò)中的隔絕區(qū)域中運(yùn)行的,沒(méi)有人可以連接到。
第一個(gè)步驟能夠證明你是在網(wǎng)絡(luò)中真實(shí)地使用可信代碼,而不是隨機(jī)的把戲。如果步驟一不能夠正常運(yùn)行,主網(wǎng)絡(luò)甚至無(wú)法發(fā)現(xiàn)。 第二個(gè)步驟阻止任何用戶(hù)通過(guò)認(rèn)為T(mén)A在運(yùn)行代碼從而操縱系統(tǒng)。步驟二保證了共識(shí)機(jī)制的安全性。
可信任代碼
簡(jiǎn)單地羅列出代碼的要點(diǎn)
加入?yún)^(qū)塊鏈網(wǎng)絡(luò)
一個(gè)新用戶(hù)首先需要下載區(qū)塊鏈中可信任的代碼
開(kāi)啟后,他們會(huì)獲得一個(gè)特殊的鑰匙對(duì)
運(yùn)行這個(gè)鑰匙對(duì),用戶(hù)就可以發(fā)送SGX認(rèn)證到網(wǎng)絡(luò)中,請(qǐng)求通過(guò)
參與樂(lè)透系統(tǒng)
個(gè)體將會(huì)從可信代碼源中得到一個(gè)已經(jīng)簽名的計(jì)時(shí)器。之后,個(gè)體將需要等待,直到時(shí)間完全消耗掉。最后,這個(gè)個(gè)體將會(huì)得到一個(gè)完成任務(wù)的資格。
協(xié)議同時(shí)保證了基于SGX不同層級(jí)的保護(hù)。系統(tǒng)將計(jì)算一個(gè)用戶(hù)需要多少次才能贏得一次樂(lè)透。通過(guò)這樣,他們將得知個(gè)人用戶(hù)的SGX是否被損害了。Practical Byzantine Fault Tolerance (PBFT) 實(shí)用拜占庭容錯(cuò)
PBFT主要用于狀態(tài)機(jī),它復(fù)制系統(tǒng),但是又可以免于拜占庭將軍問(wèn)題。如何做到的?
PBFT一開(kāi)始就假設(shè)網(wǎng)絡(luò)中存在潛在的錯(cuò)誤,以及一些獨(dú)立的節(jié)點(diǎn)將在某些特定時(shí)間失靈。
PBFT就是為異步共識(shí)系統(tǒng)所設(shè)計(jì)的,而且進(jìn)一步優(yōu)化,通過(guò)一種高效的方式去解決所有問(wèn)題。系統(tǒng)中的所有節(jié)點(diǎn)都按照特殊的順序進(jìn)行設(shè)置。其中一個(gè)節(jié)點(diǎn)被選為最初的一個(gè),其他作為備選方案。然而系統(tǒng)中所有的節(jié)點(diǎn)都有序地運(yùn)行,之間也能夠彼此溝通。
溝通層設(shè)置得相當(dāng)高級(jí),因?yàn)楣?jié)點(diǎn)間想要驗(yàn)證系統(tǒng)中的每一個(gè)信息。而這個(gè)設(shè)置可以避免不可靠信息問(wèn)題。
然而,通過(guò)這種方式,甚至一個(gè)節(jié)點(diǎn)被損害了,他們也能夠發(fā)現(xiàn)。所有的節(jié)點(diǎn)將通過(guò)大多數(shù)投票來(lái)達(dá)成一致。
共識(shí)機(jī)制的優(yōu)點(diǎn)
這個(gè)模型最初是為了實(shí)際應(yīng)用所設(shè)計(jì)的,非常容易應(yīng)用。因此PBFT在所有共識(shí)機(jī)制中都占據(jù)優(yōu)勢(shì)。
不需要驗(yàn)證
網(wǎng)絡(luò)中的交易運(yùn)行跟別的系統(tǒng)有點(diǎn)區(qū)別。它可以使一筆交易最后落實(shí),而不需要像POW系統(tǒng)那樣進(jìn)行驗(yàn)證。如果節(jié)點(diǎn)在某個(gè)區(qū)塊上達(dá)成一致,則這筆交易就算最終完成。這是基于所有可信的節(jié)點(diǎn)在同一時(shí)間進(jìn)行了相互溝通后,然后對(duì)某一區(qū)塊都有認(rèn)知這一事實(shí)。
減少能源消耗
PBFT可以比POW減少大量能源消耗。在POW中,每一個(gè)區(qū)塊產(chǎn)生都需要一個(gè)POW解題循環(huán)。然而,PBFT中,不是每一個(gè)礦工都在解決哈希算法。這就是為什么PBFT系統(tǒng)不用耗用如此多的算力。
系統(tǒng)的缺點(diǎn)
溝通的缺口
PBFT中最重要的因素就是節(jié)點(diǎn)間的溝通,系統(tǒng)中的每一個(gè)節(jié)點(diǎn)都必須保證他們收集的信息是可靠的。然而,共識(shí)機(jī)制僅在一小部分節(jié)點(diǎn)中得到有效運(yùn)行。
如果節(jié)點(diǎn)數(shù)量增加到一定程度,系統(tǒng)將難以追蹤所有的節(jié)點(diǎn),也無(wú)法與每一個(gè)節(jié)點(diǎn)都有單獨(dú)聯(lián)系。
有論文提出用MACs以及其他數(shù)字簽名來(lái)證明信息的真實(shí)性。但有說(shuō)法認(rèn)為,MACs無(wú)法處理區(qū)塊鏈網(wǎng)絡(luò)系統(tǒng),使用它最終會(huì)造成重大的損失。
數(shù)字簽名是個(gè)好主意,但是維持所有溝通節(jié)點(diǎn)的安全性,將會(huì)隨著節(jié)點(diǎn)數(shù)量增加,變得越來(lái)越難。
女巫攻擊
PBFT相當(dāng)容易遭受女巫攻擊。在女巫攻擊中,通過(guò)操縱一定數(shù)量的節(jié)點(diǎn),來(lái)?yè)p害整個(gè)網(wǎng)絡(luò)。更龐大的網(wǎng)絡(luò)情形將更加糟糕,同時(shí)系統(tǒng)的擴(kuò)展性也會(huì)降低。
如果可以將PBFT跟其他共識(shí)機(jī)制一起使用,它們可能可會(huì)得到非常穩(wěn)固安全的連擊措施。 Simplified Byzantine Fault Tolerance (SBFT) 簡(jiǎn)易拜占庭容錯(cuò)
SBFT的系統(tǒng)運(yùn)行有點(diǎn)不一樣。
第一,區(qū)塊生成器將一次性收集所有的交易,把他們放進(jìn)一個(gè)新區(qū)塊后,再進(jìn)行驗(yàn)證。簡(jiǎn)單地說(shuō),一個(gè)區(qū)塊將收集所有的交易,按照順序?qū)⑺麄兎胚M(jìn)另外一個(gè)區(qū)塊后,再對(duì)他們進(jìn)行驗(yàn)證。區(qū)塊生成器采用一定的規(guī)則,能夠使所有節(jié)點(diǎn)都驗(yàn)證所有交易。
接著,一個(gè)區(qū)塊授權(quán)節(jié)點(diǎn)(singer)將再驗(yàn)證所有交易后,然后為他們添加屬于他們自己的簽名。這就是為什么如果任何區(qū)塊缺少一個(gè)簽名都將被拒絕。
簡(jiǎn)易拜占庭容錯(cuò)的不同階段
整個(gè)流程從創(chuàng)造階段開(kāi)始,資產(chǎn)的用戶(hù)將生成一定數(shù)量獨(dú)特的資產(chǎn)ID。
接著,在提交階段,用戶(hù)向平臺(tái)提交所有ID。
然后,驗(yàn)證階段,ID將獲得實(shí)際用例的特定條件。
一旦他們獲得簽名,ID將被存儲(chǔ)和發(fā)送至不同賬戶(hù)中。交易將由智能合約開(kāi)啟。
最后,交易被激活。
這個(gè)優(yōu)秀系統(tǒng)另外一個(gè)非常有趣的功能是賬戶(hù)經(jīng)理,這個(gè)賬戶(hù)經(jīng)理將涉及許多階段。最初的目標(biāo)是將所有的資產(chǎn)進(jìn)行安全地存儲(chǔ)。賬戶(hù)經(jīng)理也存儲(chǔ)著所有的交易數(shù)據(jù),這個(gè)經(jīng)理可為不同用戶(hù)覆蓋所有類(lèi)型的組合式數(shù)據(jù)。
你可以把這個(gè)當(dāng)做數(shù)字錢(qián)包。通過(guò)使用數(shù)字錢(qián)包,你可以從錢(qián)包中轉(zhuǎn)移你的資產(chǎn),然后重新獲得他們以及收益。你可以通過(guò)智能合約來(lái)使用賬戶(hù)經(jīng)理,當(dāng)需要滿(mǎn)足某些要求的時(shí)候,他可以釋放資金。
資產(chǎn)的所有權(quán)將流向何方?他們使用了一個(gè)推動(dòng)模型,你可以將賺取的資產(chǎn)發(fā)送至這個(gè)模型包含地址和資產(chǎn)ID。
安全和隱私
SBFT是一個(gè)私人網(wǎng)絡(luò),將保密性作為網(wǎng)絡(luò)最高級(jí)別的任務(wù)。平臺(tái)被設(shè)計(jì)成面向敏感信息,但同時(shí)擁有一些限制。這也是為什么系統(tǒng)有三個(gè)技術(shù)特征:
一次性使用地址
當(dāng)一個(gè)用戶(hù)每次想要用TA的錢(qián)包接收一些資產(chǎn)時(shí),他們將被授予一次性使用地址。每一個(gè)地址都不同,這樣可以防止任何用戶(hù)去攔截交易。
零知識(shí)證明
零知識(shí)證明被用于隱藏交易的所有內(nèi)容。然而,整個(gè)網(wǎng)絡(luò)依舊能夠被驗(yàn)證其真實(shí)性。這個(gè)通過(guò)零知識(shí)證明——只有接收者和發(fā)送者可以看到交易內(nèi)容——可以完成。
元數(shù)據(jù)加密
交易的元數(shù)據(jù)被加密,以進(jìn)一步保證其安全性。網(wǎng)絡(luò)允許通過(guò)密鑰來(lái)驗(yàn)證其真實(shí)性。然而,為了達(dá)到更好地保護(hù)效果,密鑰將2-3天內(nèi)進(jìn)行改變。
同時(shí),所有元數(shù)據(jù)被分隔存放在數(shù)據(jù)網(wǎng)絡(luò)中的不同地方。因此,如果其中一個(gè)數(shù)據(jù)被黑客攻擊,其他可以使用其他密鑰來(lái)生成更多的密鑰。管理和每隔幾天進(jìn)行流轉(zhuǎn)這些密鑰對(duì)于保證共識(shí)機(jī)制的真實(shí)性來(lái)說(shuō),非常有必要。
鏈,一個(gè)用SBFT去驗(yàn)證網(wǎng)絡(luò)中的交易的區(qū)塊鏈平臺(tái)。除此之外,還使用HSM來(lái)提供工業(yè)級(jí)別的安全性,而不需要對(duì)單點(diǎn)失效進(jìn)行處理,就能提供額外的安全保障。 Delegated Byzantine Fault Tolerance (dBFT) 委托拜占庭容錯(cuò)
工作量證明和權(quán)益證明是運(yùn)用最廣泛的共識(shí)機(jī)制。許多區(qū)塊鏈生態(tài)系統(tǒng)都采用者兩種共識(shí)機(jī)制,但有些項(xiàng)目嘗試使用更新型更先進(jìn)的共識(shí)機(jī)制系統(tǒng),NEO就是這樣的代表。
過(guò)去的12個(gè)月里,經(jīng)歷了瘋狂的增長(zhǎng),NEO現(xiàn)在已經(jīng)成為業(yè)務(wù)炙手可熱的項(xiàng)目。中國(guó)品牌顯現(xiàn)出其潛力。為什么這么說(shuō)?因?yàn)樗麄兪沁@個(gè)先進(jìn)的共識(shí)機(jī)制的發(fā)明者——委托拜占庭容錯(cuò)。
一個(gè)熱門(mén)的區(qū)塊鏈項(xiàng)目:NEO
這是目前行業(yè)中熱門(mén)的項(xiàng)目之一,被稱(chēng)為“中國(guó)版以太坊”。NEO主要目標(biāo)是創(chuàng)造一個(gè)智能經(jīng)濟(jì)體系,在那里你可以低成本地進(jìn)行數(shù)字資產(chǎn)交易。
NEO采用委托拜占庭容錯(cuò)來(lái)驗(yàn)證交易。如果你擁有NEO代幣,你將生產(chǎn)GAS——平臺(tái)主要的流通貨幣。你將為你的每一筆交易付出一定量的手續(xù)費(fèi),即GAS。也就是說(shuō),你擁有的NEO越多,你獲得的GAS越多。
然而,這個(gè)份額與POS有點(diǎn)不一樣。許多交易所提供一個(gè)撮合系統(tǒng),然而,最好是使用NEO的官方錢(qián)包,而不是其他的存儲(chǔ)錢(qián)包。
在我們開(kāi)始分析dBFT前,你要知道dBFT的元機(jī)制——拜占庭容錯(cuò)共識(shí)機(jī)制——的主要缺陷。
拜占庭將軍問(wèn)題的缺陷
當(dāng)我們見(jiàn)證任何投票以及結(jié)果的時(shí)候,系統(tǒng)的一個(gè)主要缺陷將出現(xiàn)。以下的例子將幫助你更好地理解。
你已經(jīng)知道遵循dBFT共識(shí)機(jī)制的節(jié)點(diǎn)都像軍隊(duì)的展示一樣。軍隊(duì)中的節(jié)點(diǎn)都有只有一個(gè)將軍,通常他們聽(tīng)從將軍的命令。現(xiàn)在想象一下,拜占庭軍隊(duì)計(jì)劃攻占羅馬,假設(shè)拜占庭軍隊(duì)有9位將軍,他們包圍了羅馬城,準(zhǔn)備攻打。將軍們只有執(zhí)行統(tǒng)一的一個(gè)戰(zhàn)術(shù)——進(jìn)攻或撤退——才能成功拿下羅馬。
這就是問(wèn)題所在。將軍們都各懷心事——只有超過(guò)半數(shù)同意的策略他們才會(huì)遵循。這里有另外一個(gè)假設(shè),將軍們是不會(huì)坐在一張桌子上進(jìn)行商討決策的,他們分布在不同的地點(diǎn),使用信使來(lái)傳遞信息。
4大威脅
4種情況可能幫助羅馬人維持他們的統(tǒng)治:
羅馬人可以賄賂將軍來(lái)獲得他們的支持,接受賄賂的將軍被稱(chēng)為“叛變的將軍”。
其中一位將軍可能采取了錯(cuò)誤的決策,被稱(chēng)為“行動(dòng)錯(cuò)誤的將軍”。
羅馬人可以賄賂信使,讓信使傳達(dá)錯(cuò)誤信息,來(lái)誤導(dǎo)其他將軍的決策。
羅馬人可以殺掉信使,直接破壞將軍們的通信網(wǎng)絡(luò)。
所以拜占庭容錯(cuò)有4個(gè)突出的缺陷,導(dǎo)致不完美的共識(shí)機(jī)制。
委托拜占庭容錯(cuò)如何改變這種局面?
NEO為我們展示了拜占庭容錯(cuò)問(wèn)題的一個(gè)更好的解決方式。我們來(lái)看看令NEO自豪的dBFT。dBFT主要用以下兩種方式解決現(xiàn)有問(wèn)題——更好的擴(kuò)展性,以及更強(qiáng)的性能。
代言人和代理者
我們用另外一個(gè)例子說(shuō)明dBFT。假設(shè)拜占庭軍隊(duì)中有一個(gè)競(jìng)選出的領(lǐng)導(dǎo)者,而不是官僚做派的將軍。這個(gè)被選出的領(lǐng)導(dǎo)者將扮演軍隊(duì)品牌的代理者。
你可能認(rèn)為將軍們可能被這些民選出的代理者所替代。甚至軍隊(duì)的其他成員可以反對(duì)這些代理者,然后再重新選舉。官僚做派的將軍有劣勢(shì),以及沒(méi)有將軍能夠賄賂整個(gè)隊(duì)伍,因此羅馬人無(wú)法直接賄賂將軍來(lái)實(shí)現(xiàn)他們的目的。
在dBFT中,被選出來(lái)的代理者可以追蹤每一個(gè)節(jié)點(diǎn)的決策。一個(gè)去中心化賬本可以標(biāo)記所有節(jié)點(diǎn)的所有決策。
節(jié)點(diǎn)同時(shí)可以選出代言人來(lái)向代理者表達(dá)他們的共識(shí)和統(tǒng)一的想法。為了通過(guò)一項(xiàng)新政策,代言人可以向代理者傳達(dá)節(jié)點(diǎn)的訴求,并且獲得至少2/3的代理者同意。否則,這項(xiàng)提案將不被通過(guò)。
如果一項(xiàng)提案沒(méi)有獲得2/3代理者的支持, 將被拒絕,同時(shí)一項(xiàng)新提案將被提出,直到達(dá)成共識(shí)。這個(gè)過(guò)程保證了整個(gè)軍隊(duì)不受到叛變將軍以及被賄賂將軍的破壞。
不誠(chéng)實(shí)的代言人
還有兩種情況會(huì)損害dBFT共識(shí)機(jī)制的正直——不誠(chéng)實(shí)的代言人,和不誠(chéng)實(shí)的代理者。
dBFT共識(shí)機(jī)制也給出了解決方案。
正如前文所述,賬本將節(jié)點(diǎn)所有的決策都記錄保存在一個(gè)地方。代理者可以驗(yàn)證代言人的說(shuō)法是否代表所有節(jié)點(diǎn)。如果賬本不接受代言人的提案,66%的代理者將拒絕代言人的提案,并且將代言人拉黑。
不誠(chéng)實(shí)的代理者
第二種情況是不誠(chéng)實(shí)的代理者,被賄賂的代理者。在這里,誠(chéng)實(shí)的代理者和誠(chéng)實(shí)的代言人將會(huì)努力獲得2/3大多數(shù),來(lái)消除不誠(chéng)實(shí)代理者的影響。
所以,你能夠看到dBFT是如何克服拜占庭將軍問(wèn)題和BFT共識(shí)機(jī)制的缺陷的。當(dāng)然,NEO值得獲得全世界的贊譽(yù),因?yàn)樗鼈兣Φ貏?chuàng)造出一個(gè)更加優(yōu)秀的共識(shí)機(jī)制。
Directed Acyclic Graphs (DAG) 有向非循環(huán)圖
大家都認(rèn)為比特幣是區(qū)塊鏈1.0的代表,以太坊是區(qū)塊鏈2.0的代表。但我們看到市場(chǎng)中有更加先進(jìn)技術(shù)的出現(xiàn)。
有些人認(rèn)為DAG是區(qū)塊鏈3.0的代表,同時(shí)很多項(xiàng)目也爭(zhēng)做成為區(qū)塊鏈3.0。例如,NXT將是這場(chǎng)DAG應(yīng)用競(jìng)爭(zhēng)中領(lǐng)先的項(xiàng)目,除了NXT,IOTA和 IoT鏈也是采用DAG的。
DAG是如何工作的?
你可能認(rèn)為DAG是一種共識(shí)機(jī)制,但實(shí)際上DAG是一種數(shù)據(jù)結(jié)構(gòu)。當(dāng)大多數(shù)區(qū)塊鏈被認(rèn)為是由包含數(shù)據(jù)的區(qū)塊組成的一條鏈,DAG是數(shù)據(jù)拓?fù)渑判虻臒o(wú)縫隙圖,可以便利地處理數(shù)據(jù)如數(shù)據(jù)傳輸、數(shù)據(jù)路由、數(shù)據(jù)壓縮。
工作量證明機(jī)制需要10分鐘生成新區(qū)塊。是的,POW就是行動(dòng)極其緩慢的人。DAG采用側(cè)鏈而不是僅僅在單鏈上工作。側(cè)鏈允許不同的交易獨(dú)立在多條鏈上發(fā)生。這減少了創(chuàng)造和驗(yàn)證區(qū)塊的時(shí)間。實(shí)際上,它減少了對(duì)區(qū)塊的需要。挖礦需要消耗大量的時(shí)間和能源。
這里,所有的交易都是被安排羅列到一定序列中,系統(tǒng)是非循環(huán)的,意味著找到父節(jié)點(diǎn)的幾率為0,因?yàn)檫@是呈樹(shù)狀的節(jié)點(diǎn),而不是呈回路的節(jié)點(diǎn)。DAG給世界展示了沒(méi)有區(qū)塊的區(qū)塊鏈的可能。
DAG的基本概念
沒(méi)有雙花
傳統(tǒng)的區(qū)塊鏈一次性挖礦一個(gè)區(qū)塊。存在這種可能性:多于一個(gè)礦工去驗(yàn)證節(jié)點(diǎn)。這個(gè)將會(huì)帶來(lái)雙花的可能性。甚至這種情形會(huì)導(dǎo)致軟或者硬分叉。DAG基于之前轉(zhuǎn)賬的數(shù)量,驗(yàn)證一個(gè)特殊的交易。這將會(huì)使區(qū)塊鏈系統(tǒng)更加安全和更具魯棒性。
更小的寬度
在其他共識(shí)機(jī)制下,交易節(jié)點(diǎn)是被加入整個(gè)網(wǎng)絡(luò)中的,這導(dǎo)致系統(tǒng)變得非常龐大。而DAG將新交易與以往的交易圖連接起來(lái),這使得整個(gè)網(wǎng)絡(luò)可以更加直接間接地驗(yàn)證某項(xiàng)交易。
更快以及更智能
由于DAG具有無(wú)區(qū)塊的特性,它可以更快地處理交易。實(shí)際上,它讓POW和POS的處理速度看起來(lái)像祖輩一樣緩慢。
更加支持小額交易
不是每筆交易都會(huì)進(jìn)行數(shù)百萬(wàn)美元的轉(zhuǎn)賬的,實(shí)際上,小額支付更為常見(jiàn)。但是比特幣和以太坊的轉(zhuǎn)賬手續(xù)費(fèi)看起來(lái)對(duì)小額支付轉(zhuǎn)賬并不友好。另外,因?yàn)榉浅5偷慕灰踪M(fèi),讓DAG完美地適應(yīng)小額交易。Chapter-7:其他共識(shí)機(jī)制
Proof-of-Activity 活動(dòng)量證明
當(dāng)人們爭(zhēng)論是POW還是POS更好的時(shí)候,萊特幣的發(fā)明人和另外三位從業(yè)者則在嘗試更為聰明的想法。他們提出一個(gè)簡(jiǎn)單的問(wèn)題:為什么不將POW和POS放在一塊兒,讓他們相互競(jìng)爭(zhēng)呢?
因此,這個(gè)吸引人的混合體誕生了——活動(dòng)量證明。它結(jié)合了兩大最好的特性,能夠更安全地面對(duì)攻擊,同時(shí)也不是一個(gè)消耗大量資源的系統(tǒng)。
活動(dòng)量證明是如何工作的?
在POA區(qū)塊鏈共識(shí)協(xié)議中,挖礦部分就是像POW一樣開(kāi)始,礦工解決一個(gè)難題就能夠獲得獎(jiǎng)勵(lì)。POA跟POW最大的不同?在POW中,礦工會(huì)在一項(xiàng)完整交易后進(jìn)行挖礦。
而在POA中,礦工只是對(duì)區(qū)塊模板進(jìn)行挖礦。區(qū)塊模板包括兩項(xiàng)內(nèi)容:頂端的信息,以及礦工的獎(jiǎng)勵(lì)地址。
一旦礦工開(kāi)始對(duì)區(qū)塊模板進(jìn)行挖礦,系統(tǒng)就轉(zhuǎn)向POS。區(qū)塊中的頂端信息將隨機(jī)發(fā)送給一個(gè)利益相關(guān)者,然后他們將驗(yàn)證這些預(yù)挖的區(qū)塊。越多堆棧(stack)被驗(yàn)證者獲取,他們成為區(qū)塊的可能性就會(huì)增加。經(jīng)過(guò)驗(yàn)證,這個(gè)區(qū)塊進(jìn)入?yún)^(qū)塊鏈。
這就是POA如何運(yùn)用最優(yōu)秀的兩個(gè)共識(shí)機(jī)制來(lái)驗(yàn)證區(qū)塊以及往鏈上添加區(qū)塊。同時(shí),系統(tǒng)將用一定量的手續(xù)費(fèi)對(duì)礦工和驗(yàn)證者進(jìn)行獎(jiǎng)勵(lì)。因此系統(tǒng)能夠?qū)埂肮械乇瘎 ?,以及為區(qū)塊鏈驗(yàn)證創(chuàng)造一個(gè)更好的解決方法。
POA的影響
區(qū)塊鏈面臨最大的威脅之一是51%攻擊。POA將51%攻擊的可能性降到幾乎為0。它使得無(wú)論礦工還是驗(yàn)證者都無(wú)法成為大多數(shù),從而往網(wǎng)絡(luò)中增加區(qū)塊需要雙方平等的努力。
盡管有批評(píng)說(shuō)POA存在一些缺陷,第一是挖礦導(dǎo)致的大量能源消耗,第二是POA沒(méi)有辦法解決驗(yàn)證者雙重簽名問(wèn)題。這兩大問(wèn)題嚴(yán)重地限制POA的使用。
有兩個(gè)采用POA的熱門(mén)區(qū)塊鏈項(xiàng)目——Decred和Espers。但是他們兩者有很多不同,實(shí)際上,Decred被認(rèn)為要比Espers運(yùn)行得更加成功。
Proof-of-Importance 重要性證明
POI最有代表性的項(xiàng)目是NEM,POI是POS的延伸。同時(shí),NEM還采用一個(gè)新機(jī)制——捕獲(harvesting)或等待行權(quán)(vesting)。
捕獲機(jī)制決定一個(gè)節(jié)點(diǎn)是否被加入?yún)^(qū)塊鏈中,你在一個(gè)節(jié)點(diǎn)中捕獲越多,它被加入鏈的幾率越大。捕獲機(jī)制的回報(bào)是,節(jié)點(diǎn)可以在驗(yàn)證者驗(yàn)證后,獲得交易手續(xù)費(fèi)。你的賬戶(hù)需要有至少10,000XEM,才有資格進(jìn)行捕獲。
這解決了POS的主要問(wèn)題,POS中,相比驗(yàn)證只能獲得很少回報(bào),越富有的人獲得的回報(bào)越多。例如,如果你擁有20%的加密貨幣,你可以對(duì)網(wǎng)絡(luò)中20%的區(qū)塊進(jìn)行挖礦。這將導(dǎo)致共識(shí)機(jī)制對(duì)富人更加有利。
POI重要的特征
等待行權(quán)
這個(gè)共識(shí)機(jī)制最令人關(guān)注的特點(diǎn)是「等待行權(quán)」或「捕獲」。如前所述,首先你必須擁有至少10,000加密貨幣,才有資格參與捕獲。你POI的得分將取決于你捕獲的數(shù)量,同時(shí),共識(shí)機(jī)制會(huì)把你擁有加密貨幣的時(shí)間點(diǎn)加以考慮。
交易合作伙伴關(guān)系
在POI中,如果你與其他NEM持幣者進(jìn)行交易,將會(huì)獲得回報(bào)。系統(tǒng)將認(rèn)為你們是合作伙伴關(guān)系,但是如果你們計(jì)劃偽造合作伙伴關(guān)系,系統(tǒng)將識(shí)別出。
得分系統(tǒng)
交易將影響你的POI得分,得分將基于30天內(nèi)你進(jìn)行的交易。交易越頻繁、交易累計(jì)金額越多,你在NEM網(wǎng)絡(luò)中的得分越多。
Proof-of-Capacity 容量證明
POC是POW的升級(jí)版,最重要的特點(diǎn)是“標(biāo)記(plotting)”。在你開(kāi)始挖礦前,你可以貢獻(xiàn)你的算力或者硬盤(pán)存儲(chǔ)資源。
這使得整個(gè)系統(tǒng)比POW更加快速,POC僅需在數(shù)分鐘內(nèi)生成新區(qū)塊,而POW需要10分鐘。而且POC嘗試解決POW的哈希問(wèn)題。你的計(jì)算機(jī)擁有越多解決方案或標(biāo)記,你贏得挖礦競(jìng)爭(zhēng)的幾率越高。
POC是如何工作的?
為了理解POC的本質(zhì),你需要抓住兩個(gè)概念——標(biāo)記(plotting)和挖礦(mining)。
通過(guò)標(biāo)記你計(jì)算機(jī)中的硬盤(pán),你就創(chuàng)造了一個(gè)隨機(jī)數(shù)(nonce)。POC的隨機(jī)數(shù)與比特幣的隨機(jī)數(shù)有點(diǎn)不一樣,你需要將你的ID和數(shù)據(jù)做“哈?!保ㄉ⒘?,或預(yù)映射),直到你接出這些隨機(jī)數(shù)。每一個(gè)隨機(jī)數(shù)都附帶有8,192個(gè)哈希值,這些附帶數(shù)被稱(chēng)為“小鏟”,每一個(gè)ID最多會(huì)有 4,095個(gè)“小鏟”。
另外一個(gè)概念是硬盤(pán)“挖礦”,如前所述,你會(huì)一次性收到0到4,095個(gè)“小鏟”,然后將其存儲(chǔ)在你的硬盤(pán)當(dāng)中。你將被設(shè)定解出隨機(jī)數(shù)的最短時(shí)限,這個(gè)時(shí)限就是創(chuàng)造區(qū)塊的時(shí)間。
如果你能夠比其他礦工更早地解出隨機(jī)數(shù),你將獲得一個(gè)區(qū)塊作為獎(jiǎng)勵(lì)。POC的一個(gè)典型項(xiàng)目就是Burst。
POC的優(yōu)點(diǎn)和缺點(diǎn)
硬盤(pán)挖礦比一般的POW挖礦要節(jié)省能源,你不需要像昂貴的比特幣挖礦一樣投入大量金錢(qián)。你家庭電腦中的硬盤(pán)就足以開(kāi)啟POC挖礦。
但事實(shí)上,POC有一些致命的缺點(diǎn)。首先,這種機(jī)制會(huì)造成大量多余的硬盤(pán)空間,系統(tǒng)會(huì)傾向那些擁有更大存儲(chǔ)量的礦工,這對(duì)去中心化是個(gè)威脅。黑客將開(kāi)發(fā)系統(tǒng),以及令系統(tǒng)感染上惡意挖礦軟件。
Proof-of-Burn 燃燒證明
這個(gè)共識(shí)序列是令人印象深刻的。為了保護(hù)POW加密貨幣,一部分的加密貨幣將被燒毀!當(dāng)?shù)V工將一部分加密貨幣發(fā)送到“食客地址(Eater Address)”的時(shí)候,這個(gè)過(guò)程就會(huì)發(fā)生。
“食客地址”不能以任何理由花費(fèi)上面的加密貨幣,有一個(gè)賬本會(huì)持續(xù)追蹤被燒毀的加密貨幣,來(lái)保證它們確實(shí)沒(méi)有被花費(fèi)。燒毀加密貨幣的用戶(hù)將會(huì)得到一定報(bào)酬。
雖然燃燒是一種損失,但是損失是暫時(shí)的,因?yàn)檫@個(gè)機(jī)制將長(zhǎng)期保護(hù)加密貨幣不受到黑客攻擊。而且,燃燒機(jī)制將增加其余加密貨幣的價(jià)值權(quán)益。
這種機(jī)制增加了礦工開(kāi)挖下一個(gè)區(qū)塊的機(jī)會(huì),同時(shí)增加他們未來(lái)的收益,所以,燃燒被認(rèn)為是挖礦特權(quán)。對(duì)手就是一個(gè)加密貨幣的共識(shí)案例——運(yùn)用這個(gè)區(qū)塊鏈共識(shí)協(xié)議。
食客地址
為了然后加密貨幣,用戶(hù)將其加密貨幣發(fā)送到食客地址。食客地址沒(méi)有任何私鑰,因此沒(méi)有人能夠進(jìn)入這個(gè)地址,去花費(fèi)上面的加密貨幣。同時(shí),這些食客地址是隨機(jī)生成的。
雖然這么加密貨幣無(wú)法追蹤或者“永遠(yuǎn)消失”,但他們?nèi)匀槐灰暈槭呛线m的供給,以及被標(biāo)記成被燒毀。
POB算法的利與弊
燃燒這些加密貨幣的初衷是為了增加穩(wěn)定性。我們知道長(zhǎng)期玩家是傾向長(zhǎng)期持有加密貨幣以獲得收益的。
系統(tǒng)通過(guò)為他們提供更加穩(wěn)定的加密貨幣以及長(zhǎng)期保障來(lái)支持這些長(zhǎng)期投資者。同時(shí),這也會(huì)增強(qiáng)去中心化以及創(chuàng)造一個(gè)更好的分布式網(wǎng)絡(luò)。
但是無(wú)論從哪個(gè)角度看,燃燒意味著浪費(fèi)。即使某些食客地址有超過(guò)價(jià)值100,000美元的比特幣,但是也無(wú)法恢復(fù),因?yàn)樗鼈儽粺龤Я恕?br/>
Proof-of-Weight 重量證明
重量證明是我們最后介紹的共識(shí)機(jī)制,它是POS共識(shí)機(jī)制的一次重大升級(jí)。在POS中,你擁有的代幣越多,你將有機(jī)會(huì)發(fā)現(xiàn)更多,這導(dǎo)致了整個(gè)系統(tǒng)有失偏頗。
重量證明試圖解決POS的偏頗問(wèn)題。Algorand, Filecoin, Chia都采用了重量證明。重量證明考慮其他因素,而不是POS中擁有更多代幣。
這些因素被成為“權(quán)重因素”,例如,F(xiàn)ilecoin認(rèn)為擁有的IPFS數(shù)據(jù)的數(shù)量為權(quán)重因素,其他因素包括但不限于時(shí)空證明和復(fù)制證明。
這種系統(tǒng)核心的優(yōu)勢(shì)包括定制化和擴(kuò)展性,雖然激勵(lì)性可能成為這種共識(shí)機(jī)制的一大挑戰(zhàn)。 共識(shí)機(jī)制的比較
Chapter-8: 結(jié)論
是共識(shí)機(jī)制讓區(qū)塊鏈網(wǎng)絡(luò)變得全面,當(dāng)然,沒(méi)有任何一種共識(shí)機(jī)制堪稱(chēng)完美,但是技術(shù)的美妙之處就是不斷地改變以及完善。
如果沒(méi)有這些其他的共識(shí)機(jī)制,我們可能仍然依賴(lài)POW,不管你喜歡與否,POW一定程度上威脅了去中心化以及區(qū)塊鏈分布式的特性。
區(qū)塊鏈技術(shù)的基礎(chǔ)就是去中心化,是對(duì)抗君主政治的反抗,是普羅大眾對(duì)腐化錯(cuò)誤系統(tǒng)的終結(jié)。我們強(qiáng)烈期待,更好的共識(shí)機(jī)制的出現(xiàn),改變我們的生活,創(chuàng)造更好的未來(lái)。
來(lái)源: 巴比特
作者:Hasib Anwar
編輯:IPRdaily趙珍 校對(duì):IPRdaily縱橫君
“投稿”請(qǐng)投郵箱“iprdaily@163.com”
「關(guān)于IPRdaily」
IPRdaily成立于2014年,是全球影響力的知識(shí)產(chǎn)權(quán)媒體+產(chǎn)業(yè)服務(wù)平臺(tái),致力于連接全球知識(shí)產(chǎn)權(quán)人,用戶(hù)匯聚了中國(guó)、美國(guó)、德國(guó)、俄羅斯、以色列、澳大利亞、新加坡、日本、韓國(guó)等15個(gè)國(guó)家和地區(qū)的高科技公司、成長(zhǎng)型科技企業(yè)IP高管、研發(fā)人員、法務(wù)、政府機(jī)構(gòu)、律所、事務(wù)所、科研院校等全球近50多萬(wàn)產(chǎn)業(yè)用戶(hù)(國(guó)內(nèi)25萬(wàn)+海外30萬(wàn));同時(shí)擁有近百萬(wàn)條高質(zhì)量的技術(shù)資源+專(zhuān)利資源,通過(guò)媒體構(gòu)建全球知識(shí)產(chǎn)權(quán)資產(chǎn)信息第一入口。2016年獲啟賦資本領(lǐng)投和天使匯跟投的Pre-A輪融資。
(英文官網(wǎng):iprdaily.com 中文官網(wǎng):iprdaily.cn)
本文來(lái)自巴比特并經(jīng)IPRdaily.cn中文網(wǎng)編輯。轉(zhuǎn)載此文章須經(jīng)權(quán)利人同意,并附上出處與作者信息。文章不代表IPRdaily.cn立場(chǎng),如若轉(zhuǎn)載,請(qǐng)注明出處:“http://islanderfriend.com/”
聘!成都余行專(zhuān)利代理事務(wù)所招聘多名「專(zhuān)利工程師+流程管理+......」
一次破產(chǎn)、三次改名!通訊巨頭轉(zhuǎn)型專(zhuān)利運(yùn)營(yíng),2500件專(zhuān)利年入2.5億
文章不錯(cuò),犒勞下辛苦的作者吧